Neuer Artikel MQTT (Modul)

Begonnen von Beta-User, 28 März 2018, 14:00:09

Vorheriges Thema - Nächstes Thema

Beta-User

Hallo zusammen,

nachdem ich selbst - trotz der guten Darstellung in der MQTT-Einführung - etwas gebraucht hatte, bis ich halbwegs verstanden zu haben glaubte (die Ankündigung hier habe ich leider erst sehr spät gesehen...), wie die Bausteinchen zusammengehören, habe ich meine Erkenntnisse zu dem Modul (bzw. den dazu gehörenden) mal als Kurzfassung ins Wiki übernommen.

Vielleicht mag ja jemand drübersehen, der das schon länger im Einsatz hat?
Gerne kann das eine oder andere Beispiel ergänzt oder hier gepostet werden, was sich schon im Wiki findet, verlinke ich bei Gelegenheit noch (z.B. Sonoff ist ziemlich gut dargestellt).
Evtl. findet sich auch jemand, der das ähnlich knackig für MQTT_DEVICE machen will? (Da gehören dann wohl eigentlich auch die Beispiele hin)...

Danke vorab,

Beta-User

EDIT: Es geht hier um diesen Artikel: https://wiki.fhem.de/wiki/MQTT
MQTT-Device existiert zwischenzeitlich auch...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

helmut

Vielen Dank dafuer. Zwar habe ich MQTT nicht laenger im Einsatz, aber Dein Wiki-Artikel hat mir die
beiden letzten Tage bei der Inbetriebnahme meiner Sonoff-Switches sehr geholfen.

Ein kleiner Fehler:
attr Sonoff_Switch subscribeReading_Status stat/Sonoff_Switch/STATUS

Zu beachten ist hier, dass subscribeReading_Licht und subscribeReading_state unterschiedliche ...


Aus dem Wiki:
ZitatZunächst kann man erst mal einen Username / Passwort vergeben.

Dafuer habe ich ein bisschen Zeit gebraucht. Nach dem Setzen von "allow_anonymous false" in der Mosquitto
Konfigurationsdatei, dem Anlegen eines Benutzers mit "mosquitto_passwd" und Restart des Mosquitto-Dienstes
habe ich im "mosquitto_sub" (jetzt mit "-u" und "-P") zwar von beiden Seiten die PUBLISH-Meldungen gesehen,
nur es passierte - nichts. Geholfen hat sowohl das Loeschen und Neuanlegen eines MQTT_DEVICE wie auch ein
"shutdown restart".

Vielleicht hilft ein Hinweis darauf dem Naechsten. Ach ja, der mosquitto_sub reicht mir zur Fehlersuche voellig
und der steht mit der Installation von Mosquitto schon zur Verfuegung.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

drhirn

Der Hinweis
ZitatMQTT_BRIDGE ist für den Fall, dass ein FHEM-Device existiert und dieses über MQTT sicht- bzw. steuerbar gemacht werden soll.
ist Gold wert. Wusste gar nicht, dass das geht.

Ich hab aber noch immer kleine Verständnisschwierigkeiten beim Zusammenspiel der verschiedenen Komponenten (Broker, Gateway, Device, etc.). Vielleicht könnte das jemand kurz grafisch aufbereiten? In der Einführung z.B.?

Beta-User

#3
Danke für die Rückmeldungen und @drhirn und baumbuwe auch für's Verbessern!

Dieser kurze und knackige Satz zu MQTT-Bridge ist ein Plagiat - er findet sich so in dem Ankündigungs-Thread, über den ich leider viel zu spät erst selbst gestolpert bin. Das war dann der Anlaß, das in der jetzigen Kurzfassung überhaupt ins Wiki zu bringen... (Es steht auch in der Einführung, habe ich eben gesehen :) ). Aber doppelt genäht hält besser.

@helmut: Sorry, der link war leider wohl irreführend - dieser Artikel ist nicht von mir, sondern - zumindest in den wesentlichen Teilen - von Rince.
Da ich selbst keine sonoffs habe: wie muß es richtig heißen? Dann korrigiere ich das gerne...

Grafiker bin ich keiner, aber in Worten würde ich das so sagen: der Broker ist ein zentraler Serverdienst, an den alle Geräte ihre Informationen weitergeben (publish), und der dann dafür sorgt, dass diese Information an alle anderen Geräte weitergegeben wird, die sich dafür interessieren (subscribe). MQTT als IO-Modul organisiert die Kommunikation zwischen dem Broker und allen FHEM-Geräten, die MQTT bei diesem Server nutzen wollen. That's all.

Vielleicht kann das jemand noch verschlimmbessern oder (so bestätigen), dann schaue ich mal, ob ich das irgendwie noch in den Artikel reingebastelt bekomme. Wie gesagt, ich bin da eigentlich selbst erst noch am rumexperimentieren und verstehen wollen, wie die Zusammenhänge sind ::) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

helmut

Zitat von: Beta-User am 29 März 2018, 19:35:31
@helmut: Sorry, der link war leider wohl irreführend - dieser Artikel ist nicht von mir, sondern - zumindest in den wesentlichen Teilen - von Rince.
Ich muss mich entschuldigen. Ein Blick in die Versionsgeschichte haette mir gereicht um das zu sehen. Das ist schliesslich ein Wiki.
Also gilt mein Dank allen an diesem Artikel Beteiligten.

Zitat von: Beta-User am 29 März 2018, 19:35:31
Da ich selbst keine sonoffs habe: wie muß es richtig heißen? Dann korrigiere ich das gerne...

Aus dem Wiki:
Zitatattr Sonoff_Switch subscribeReading_Licht stat/Sonoff_Switch/POWER
attr Sonoff_Switch subscribeReading_Status stat/Sonoff_Switch/STATUS

Zu beachten ist hier, dass subscribeReading_Licht und subscribeReading_state ...

"subscribeReading_state" soll sich auf das Attribut "subscribeReading_Status" beziehen und verwirrt hier eher ;-)

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

drhirn

Beta-User, wärst du so nett und könntest nochmal den Link zu dem Ankündigungs-Thread posten, von dem du sprichst? Der Link in deinem ersten Post funktioniert leider nicht.
Danke!

Beta-User

Danke für die Rückmeldungen.

Jetzt sollte der Link auch ein Link sein und es heißt jetzt "....Status" in dem Einführungs-Artikel.

Dann habe ich den Schnellschuß nach den "hilfreich"-Rückmeldungen noch etwas poliert, hier untergebracht und die Baustellenschilder abgebaut.

Heißt nicht, dass das nicht noch weiter verbessert werden darf ;) .

Falls Bedarf für MQTT-Bridge als Artikel besteht: Ich nutze das nicht, mache aber gerne eine ähnliche Kurzversion eines Wiki-Artikels, wenn jemand noch etwas mehr Beispiele liefert, als sich in der commandref eh' schon finden. Ansonsten macht es m.E. wenig Sinn, einfach nur die Commandref zu kopieren (ok, das ist englisch, aber wenn man mal verstanden hat, für was es da ist, ist es eigentlich selbsterklärend). Habe daher vorläufig alle Links zu -Device auf die commandref umgebogen.

Gruß und schöne Ostern,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

#7
Nachdem mein IR-Gateway jetzt auch MQTT spricht, habe ich auch eine MQTT-BRIDGE im Einsatz. Allerdings reicht es nicht so recht zu einem eigenständigen Artikel betr. dieses Modul, aber das gesamte Thema habe ich hier mal für die Code-Snippets aufbereitet.

Es darf auch hier gerne Korrektur gelesen werden ;) .

Gruß, Beta-User

EDIT: Die Bridge habe ich eben mit publishSet_<Reading> überflüssig gemacht, Artikel ist entsprechend geändert.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files