Anfängerfrage zu subscribeSet

Begonnen von Torsten_MG, 01 September 2018, 23:16:07

Vorheriges Thema - Nächstes Thema

hexenmeister

define und defmod unterscheiden sich unabhängig von dem jeweiligen Modul. Daher sind wir hier sehr off topic ;)
Kurz: Beides legt zwar eine neue Instanz eines gegebenen Gerätestyps (hier also MQTT_GENERC_BRIDGE). Der Unterschied zeigt sich dann, wenn das Gerät mit diesem Namen bereits existiert. Define wirft hier ein Fehler, defmod redefiniert das Gerät neu (modifiziert die bestehende Instanz). Früher kannte FHEM nur define und modify. Später kam defmod dazu und hat Eigenschaften beider Befehle quasi vereint.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: Torsten_MG am 02 September 2018, 18:31:24
Das mit dem Retain versteh ich nicht. Oder es funktioniert bei meinem Modul nicht.
Ich habe attr retain 1 und attr retain 0. Bei beiden Varianten werden die Daten im Mqtt Dash im Handy nicht aktualisiert wenn ich es starte.
Habe mir eine Testkonfiguration gebaut und getestet. Funktioniert. Nach dem Subscribe kommt der letzte mit retain-Flag gesendete Wert (getestet in MQTT.fx und mqtt-spy). Daher vermute ich eher einen Fehler in Deiner Konfiguration. Da Du uns diese jedoch nicht verrätst, kann ich da nicht weiterhelfen ;)

So ungefähr klappt es:
defmod mqGenTest2 dummy
attr mqGenTest2 mqttPublish bla:topic="test/bla/bla"} bla:retain=1
attr mqGenTest2 readingList bla
attr mqGenTest2 setList bla
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Torsten_MG

Funktioniert jetzt bei mir. War nur zu blöd zu verstehen, wie das genau geschrieben wird. Als ich dein Beispiel übernommen habe hat alles geklappt.  Danke!