Frage zu SmartHome MQTT

Pendragon
Beiträge: 145
Registriert: Di Jan 30, 2024 5:43 pm

Re: Frage zu SmartHome MQTT

Beitrag 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
openWB series 2 custom 1/3 Umschaltung 22kW & RFID
16kWp mit Huawei Sun2000-12KTL
Opel Corsa-e mit 46kWh
Datenfluss: Datenabfrage via Solaranzeige.de (alle 20s), Verarbeitung mit Edomi und direkte Weiterleitung via MQTT
Gero
Beiträge: 3173
Registriert: Sa Feb 20, 2021 9:55 am
Been thanked: 11 times

Re: Frage zu SmartHome MQTT

Beitrag 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.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
okaegi
Beiträge: 2321
Registriert: Fr Mär 08, 2019 1:57 pm
Been thanked: 1 time

Re: Frage zu SmartHome MQTT

Beitrag 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
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
Antworten