Seite 3 von 3

Re: Frage zu SmartHome MQTT

Verfasst: Fr Jul 19, 2024 8:32 am
von Pendragon
okaegi hat geschrieben: Do Mai 23, 2024 4:41 pm
shadow18 hat geschrieben: Do Mai 23, 2024 12:08 pm
hhoefling hat geschrieben: Do Mai 23, 2024 10:00 am

1.9 oder 2.x ?
SmartHome oder LegacySmartHome

Und nochmal... in der 2.0:
Wenn openWB/set/LegacySmartHome/... beschrieben wird,
dann reagiert der Smarthome Handler der OpenWB,
prüft den Wert, packt in weg (in andere Topics)
und LÖSCHT das Topic openWB/set/LegacySmartHome/... sofort wieder.
Du wird also im normalfall keine openWB/set/LegacySmartHome/* Topics zu sehen bekommen.
Es ist die Version 2.0, zum loggen nutze ich den MQTT Browser, somit müsste der Topic doch auch stehen bleiben im MQTT Browser.
Ne das ist so,mwenn der Smarthomehandler das set topic (openWB/set/LegacySmartHome/) erkennt, wird es kopiert und grad gelöscht.
Gruss Oliver
Jetzt bin ich maximal verwirrt, da mein vermeitlich erkannter Bug sich hier als Feature herausstellt...
Genau das Verhalten kann ich mit MQTTX loggen:

Code: Alles auswählen

[2024-07-19 10:24:40] [INFO] Message arrived for OpenWB with topic: "openWB/set/LegacySmartHome/Devices/1/Ueberschuss". Message ID: "message_1b9bac72-cff8-4d4a-acf2-605d909e4bc4", payload: "437". MQTT.js onMessageArrived trigger
[2024-07-19 10:24:40] [INFO] Message arrived for OpenWB with topic: "openWB/set/LegacySmartHome/Devices/1/Ueberschuss". Message ID: "message_de9d61e5-73ae-49d7-acf4-d657d7af3558", payload: "". MQTT.js onMessageArrived trigger
ABER, das sind doch genau die Topics die in der In-Software-Hilfe dargestellt werden??
Generisches MQTT modul
Wenn Einschaltbedingung erreicht (Beispiel hier mit Device 2)
openWB/set/LegacySmartHome/Devices/2/ReqRelay = 1
openWB/set/LegacySmartHome/Devices/2/Ueberschuss = in Watt
Wenn Ausschaltbedingung erreicht
openWB/set/LegacySmartHome/Devices/2/ReqRelay = 0
openWB/set/LegacySmartHome/Devices/2/Ueberschuss = in Watt
ReqRelay gibt den Status vom Gerät aus Sicht openWb an (1 = eingeschaltet, 0 = ausgeschaltet)
Auf welche Topics soll ich denn nun mein Gerät hören lassen?? Mit den Nachrichten aus der Hilfe klappt es zumindest durch das sofortige löschen nicht (zuverlässig)...

P.S. Ich verwende die 2.1.4

----------------------------------------------------------------------------------------
Edit:
Nach ein bisschen Suche, scheint dies die richtige Nachricht zu sein und die Doku im Programm fehlerhaft:

Code: Alles auswählen

openWB/LegacySmartHome/Devices/1/ReqRelay
Hiermit scheint es zu funktionieren...
Die Leistung muss aber weiterhin an

Code: Alles auswählen

openWB/set/LegacySmartHome/Devices/1/Aktpower
kommen

Re: Frage zu SmartHome MQTT

Verfasst: Fr Jul 19, 2024 8:54 am
von Gero
Die */set/*-Topics können von draußen beschrieben werden. (Und nur diese) Der dort hinein geschrieben Wert wird abgeholt, gelöscht und auf dem eigentlichen Topic, was von draußen nur lesbar ist, gepublished.

Das verhindert, dass jemand von draußen z.B. den Zählerstand des EVU-Punkts überschreibt und damit große Verwirrung aller, die dieses Topic abonniert haben, (auch der openWB selber) stiftet.

Das mag für clients, die auf dem selben Topic publishen, welches sie auch lesen, ungewohnt sein. Deshalb die Warnung.

Re: Frage zu SmartHome MQTT

Verfasst: Fr Jul 19, 2024 10:41 am
von okaegi
Pendragon hat geschrieben: Fr Jul 19, 2024 8:32 am

Jetzt bin ich maximal verwirrt, da mein vermeitlich erkannter Bug sich hier als Feature herausstellt...
Genau das Verhalten kann ich mit MQTTX loggen:

Code: Alles auswählen

[2024-07-19 10:24:40] [INFO] Message arrived for OpenWB with topic: "openWB/set/LegacySmartHome/Devices/1/Ueberschuss". Message ID: "message_1b9bac72-cff8-4d4a-acf2-605d909e4bc4", payload: "437". MQTT.js onMessageArrived trigger
[2024-07-19 10:24:40] [INFO] Message arrived for OpenWB with topic: "openWB/set/LegacySmartHome/Devices/1/Ueberschuss". Message ID: "message_de9d61e5-73ae-49d7-acf4-d657d7af3558", payload: "". MQTT.js onMessageArrived trigger
ABER, das sind doch genau die Topics die in der In-Software-Hilfe dargestellt werden??
Generisches MQTT modul
Wenn Einschaltbedingung erreicht (Beispiel hier mit Device 2)
openWB/set/LegacySmartHome/Devices/2/ReqRelay = 1
openWB/set/LegacySmartHome/Devices/2/Ueberschuss = in Watt
Wenn Ausschaltbedingung erreicht
openWB/set/LegacySmartHome/Devices/2/ReqRelay = 0
openWB/set/LegacySmartHome/Devices/2/Ueberschuss = in Watt
ReqRelay gibt den Status vom Gerät aus Sicht openWb an (1 = eingeschaltet, 0 = ausgeschaltet)
Auf welche Topics soll ich denn nun mein Gerät hören lassen?? Mit den Nachrichten aus der Hilfe klappt es zumindest durch das sofortige löschen nicht (zuverlässig)...

P.S. Ich verwende die 2.1.4

----------------------------------------------------------------------------------------
Edit:
Nach ein bisschen Suche, scheint dies die richtige Nachricht zu sein und die Doku im Programm fehlerhaft:

Code: Alles auswählen

openWB/LegacySmartHome/Devices/1/ReqRelay
Hiermit scheint es zu funktionieren...
Die Leistung muss aber weiterhin an

Code: Alles auswählen

openWB/set/LegacySmartHome/Devices/1/Aktpower
kommen
Oh, ich passe die Beschteibung an. Dachte das ist schon erledigt:

Code: Alles auswählen

Generisches MQTT modul
Wenn Einschaltbedingung erreicht (Beispiel hier mit Device 2)
openWB/LegacySmartHome/Devices/2/ReqRelay = 1
openWB/LegacySmartHome/Devices/2/Ueberschuss = in Watt
Wenn Ausschaltbedingung erreicht
openWB/LegacySmartHome/Devices/2/ReqRelay = 0
openWB/LegacySmartHome/Devices/2/Ueberschuss = in Watt
ReqRelay gibt den Status vom Gerät aus Sicht openWb an (1 = eingeschaltet, 0 = ausgeschaltet)
Bei der periodischen Abfrage wird die aktuelle Leistung
openWB/set/LegacySmartHome/Devices/2/Aktpower = in Watt erwartet
openWB/set/LegacySmartHome/Devices/2/Tempa = Temperatur in C mit max 2 Nachkommastellen
openWB/set/LegacySmartHome/Devices/2/Tempb = Temperatur in C mit max 2 Nachkommastellen
openWB/set/LegacySmartHome/Devices/2/Tempc = Temperatur in C mit max 2 Nachkommastellen
und der aktuelle Zähler in Wattstunden wird hier erwartet
openWB/set/LegacySmartHome/Devices/2/Powerc
wenn kein Zähler übergeben oder 0 übergeben wird, wird der Zähler selber gerechnet
openWB/LegacySmartHome/Devices/2/Ueberschuss = in Watt
alle Gerät können bezüglich manuell / automatisch von extern gestuert werden. Details hier: https://forum.openwb.de/viewtopic.php?t=8415