Benutzer-Werkzeuge

Webseiten-Werkzeuge


mosquitto

MQTT - Mosquitto

Um bei meiner Heim-Automatisierung den Server aus der Shell abzufragen, ob Sprachausgabe erwünscht ist, habe ich eine retained-message abgespeichert. Leider kann ich auf meinem Jessy - Pi nur mosquitto 1.3.4 aus dem repository laden. Da gibt es den Befehl noch nicht. Also gehts wieder los. Aktuell läuft jetzt 1.6.8.

Auf Stackexchange habe ich folgendes gefunden

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/

Je nach Betriebssystem unterschiedlicher Aufruf, also erst schauen

lsb_release -a

und dann entweder oder oder

sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list

Dann installieren

sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients

Jetzt werden keine neuen Nachrichten mehr ausgegeben, wenn ich sage „hey snips: bitte sei leise“ und wieder ausgegeben, wenn ich sage „hey snips: bite sag was“. Abgefragt wird in der Shell folgendes, wobei '-W 1' ein Timeout von 1 Sekunde ist:

a=`mosquitto_sub -h 192.168.178.25 -t "wohnung/leise" -W 1`
if [ $a -eq 1 ]; then
exit
fi

Das oben ist für die Shell und das vorlesen von regelmäßigen News aus dem RSS-Feed. das untere ist der PHP-Aufruf für die Unwetter-Warnungen.

$a=system("mosquitto_sub -h 192.168.178.25 -t 'wohnung/leise' -W 1",$retval);
if ($a == 1) exit;

Persistente Einträge werden nicht automatisch über einen erbot gerettet. Dazu muss man das in der Date konfigurieren

sudo nano /etc/mosquitto/mosquitto.conf
persistence true

Stand Juni 2021

mosquitto.txt · Zuletzt geändert: 2021/06/10 15:32 von varnholt