Mosquitto Guides

Benutzer am Broker anlegen

Standardmäßig erfolgt die Anmeldung für MQTT-Accounts über die PureLife Cloud. Unter bestimmten Umständen kann es jedoch notwendig oder gewünscht sein, die Anmeldung teilweise durch den MQTT-Broker durchführen zu lassen.

Dies ist zum Beispiel bei der Verwendung von Sensoren mit einer Version kleiner 0.36 notwendig.

Debian/Linux

# Set variables
MQ_USER="username"
MQ_PASS=`/etc/mosquitto/pw_hasher -p cleartext-password`

# Save password and ACL
echo "$MQ_USER:$MQ_PASS" >> /etc/mosquitto/passwd
printf "$MQ_USER\ntopic #\n\n" >> /etc/mosquitto/acl

# Remove variables
unset MQ_PASS
unset MQ_USER

Docker

# Assuming you are in the purelife-cloud-docker directory.
GEN_HASH="docker run --name mqtt_passwd --rm -i -t iegomez/mosquitto-go-auth:latest-mosquitto_2.0.14 /mosquitto/pw -p"
MQ_USER="username"
MQ_PASS=`$GEN_HASH cleartext-password`

# Save password and ACL
echo "$MQ_USER:$MQ_PASS" >> ./volumes/mosquitto/passwd
printf "user $MQ_USER\ntopic #\n\n" >> ./volumes/mosquitto/acl

# Alternatively as root user
echo "$MQ_USER:$MQ_PASS" | sudo tee -a ./volumes/mosquitto/passwd
printf "user $MQ_USER\ntopic #\n\n" | sudo tee -a ./volumes/mosquitto/acl

# Remove variables
unset MQ_PASS
unset MQ_USER

MQTT-Benutzer mit der PureLife Cloud verwalten

# Add user
{bin_dir}/purelife-cloud mqtt auth-add username password

# Remove user
{bin_dir}/purelife-cloud mqtt auth-remove username