Sonoff TH16 in Openhab mit mqtt einbinden
Moderatoren: Cyrelian, udo1toni
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Sonoff TH16 in Openhab mit mqtt einbinden
Hi,
ich versuche jetzt seit Tagen einen mit Tasmota geflashten Sonoff TH16 über mqtt in mein Openhab 2.4 einzubinden.
Ich benutze den internen Broker. Dieser ist soweit installiert und funktioniert soweit auch. Ich habe mit MQTT.fx eine Verbindung zum broker aufgebaut und erhalte auch 2 Topics die ich subscriben kann. TopicSonoff1.PNG Ich verzweifle an dem Eintrag des generic MQTT Thing im PaperUI......
Sobald ich in dem Generic MQTT Thing einen channel anlege geht das Generic MQTT thing auf offline. Ich weiss nicht was ich in MQTT State Topic und MQTT command topic eintragen muss damit ich den Schalter oder die Temp angezeigt kriege. TopicSonoff2.PNG Ich habe alles was ich mit MQTT.fx ausgelesen habe (Sonoff_TH16/tele/SENSOR) mit stat, ohne, ohne tele, ohne SENSOR... schon eingetragen erhalte aber im PaperUI unter "Control" dann immer nur dieses Bild. TopicSonoff3.PNG und es wird nichts angezeigt.
Was muss ich genau in MQTT State Topic und MQTT command topic beim angelegten channel im Generic MQTT Thing eintragen was in MQTT.fx angezeigt wird?
ich drehe noch durch....
Wahrscheinlich habe ich nur irgendeinen blöden Denkfehler....
Bitte erlöst mich
Danke im Voraus
ich versuche jetzt seit Tagen einen mit Tasmota geflashten Sonoff TH16 über mqtt in mein Openhab 2.4 einzubinden.
Ich benutze den internen Broker. Dieser ist soweit installiert und funktioniert soweit auch. Ich habe mit MQTT.fx eine Verbindung zum broker aufgebaut und erhalte auch 2 Topics die ich subscriben kann. TopicSonoff1.PNG Ich verzweifle an dem Eintrag des generic MQTT Thing im PaperUI......
Sobald ich in dem Generic MQTT Thing einen channel anlege geht das Generic MQTT thing auf offline. Ich weiss nicht was ich in MQTT State Topic und MQTT command topic eintragen muss damit ich den Schalter oder die Temp angezeigt kriege. TopicSonoff2.PNG Ich habe alles was ich mit MQTT.fx ausgelesen habe (Sonoff_TH16/tele/SENSOR) mit stat, ohne, ohne tele, ohne SENSOR... schon eingetragen erhalte aber im PaperUI unter "Control" dann immer nur dieses Bild. TopicSonoff3.PNG und es wird nichts angezeigt.
Was muss ich genau in MQTT State Topic und MQTT command topic beim angelegten channel im Generic MQTT Thing eintragen was in MQTT.fx angezeigt wird?
ich drehe noch durch....
Wahrscheinlich habe ich nur irgendeinen blöden Denkfehler....
Bitte erlöst mich
Danke im Voraus
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- udo1toni
- Beiträge: 13989
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Hast Du denn schon den Broker angelegt? Das Thing muss einem Broker zugeordnet werden, den muss man auch dann anlegen, wenn man den internen Broker verwendet.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Hi,
Ja, das passt alles. ich finde nur nicht den richtigen topic Pfad für den Sensor. Mittlerweile habe ich den Switch zum laufen gekriegt.
Sonoff_TH16/cmnd/POWER
Nur der sensor fehlt mir jetzt noch. Die Frage ist was ich anstatt Power angeben muß. oder ob das sowieso nochmal anders aussieht, da der Sensor ja nichts mit dem schalter zu tun hat.
Gruß
Ja, das passt alles. ich finde nur nicht den richtigen topic Pfad für den Sensor. Mittlerweile habe ich den Switch zum laufen gekriegt.
Sonoff_TH16/cmnd/POWER
Nur der sensor fehlt mir jetzt noch. Die Frage ist was ich anstatt Power angeben muß. oder ob das sowieso nochmal anders aussieht, da der Sensor ja nichts mit dem schalter zu tun hat.
Gruß
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
So, wieder einen Schritt weiter. Mit "Sonoff_TH16/tele/SENSOR" Eintrag als topic im Channel und Channel Type "Text" erhalte ich diese Ausgabe:
/Temperature an das Topic gehängt bringt nix.
Wie kann ich den temperaturwert hier extrahieren?
Danke
Jetzt muß ich nur noch wissen wie ich den teil mit der Temperatur dort quasi separieren kann..../Temperature an das Topic gehängt bringt nix.
Wie kann ich den temperaturwert hier extrahieren?
Danke
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 14
- Registriert: 21. Sep 2019 11:26
- Wohnort: Elmshorn
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Ja das geht. Schau mal unter der Position MORE. Dort müsste es so was wie "Incoming Value Transformation" geben. Dort gibt es eine kleine Beschreibung und du musst das JSONPath transformation Binding noch installieren.
Wenn ich es richtig lese müsste die Transformation
heißen. Dann solltest Du auch wieder auf Number umstellen.
Wenn ich es richtig lese müsste die Transformation
Code: Alles auswählen
"JSONPATH:$.Temperature"
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Hi, Danke.
Ich habe es gefunden und eingetragen. Leider noch immer anstatt Zahl NaN
Gruß
Ich habe es gefunden und eingetragen. Leider noch immer anstatt Zahl NaN
Gruß
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
MUHAHAHAHAHA Ich habs !!!
Danke, danke, Danke
Es war "JSONPATH:$.DS18B20.Temperature"
Danke, danke, Danke
Es war "JSONPATH:$.DS18B20.Temperature"
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
jetzt isses wieder weg....kA warum.....
ich versuche es jetzt nochmal über die .items
Was genau muß ich da eintragen?
Ich habe das hier: mqtt:topic:0d3028e6:Temp:state:JSONPATH($.DS18B20.Temperature)
Dieser Teil: mqtt:topic:0d3028e6:Temp ist aus dem paperUI beim channel rauskopiert. Muß ich das nutzen, oder das Topic mit den /
Und muß nochwas in die Things datei? wie zB der Broker, IP etc.?
Danke
ich versuche es jetzt nochmal über die .items
Was genau muß ich da eintragen?
Ich habe das hier: mqtt:topic:0d3028e6:Temp:state:JSONPATH($.DS18B20.Temperature)
Dieser Teil: mqtt:topic:0d3028e6:Temp ist aus dem paperUI beim channel rauskopiert. Muß ich das nutzen, oder das Topic mit den /
Und muß nochwas in die Things datei? wie zB der Broker, IP etc.?
Danke
- udo1toni
- Beiträge: 13989
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Du solltest nicht, nur weil mal kein Wert angezeigt wird, anfangen, anders zu konfigurieren,schließlich hat's ja funktioniert.
Wenn Du beim Topic Sonoff_TH16/tele/SENSOR diese Ausgabe erhältst:
passt die Konfiguration mit dem Channel:
Du kannst den Type auch erst mal auf string lassen.
Es kommt vor, dass ein Topic unterschiedliche Daten empfängt, es könnnte also sein, dass zeitweise keine gültigen DAten empfangen werden. Dann musst Du das Topic mit einer Rule in ein weiteres Item überführen, aber nur dann, wenn gültige Daten anstehen (die Funktion heißt instanceof Number)
Wenn Du beim Topic Sonoff_TH16/tele/SENSOR diese Ausgabe erhältst:
Code: Alles auswählen
{"Time":"2019-10-10T17:21:12","DS18B20":{"Temperature":21.7},"TempUnit":"C"}
Code: Alles auswählen
Type number : temp "Temperatur" [ stateTopic="Sonoff_TH16/tele/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature" ]
Es kommt vor, dass ein Topic unterschiedliche Daten empfängt, es könnnte also sein, dass zeitweise keine gültigen DAten empfangen werden. Dann musst Du das Topic mit einer Rule in ein weiteres Item überführen, aber nur dann, wenn gültige Daten anstehen (die Funktion heißt instanceof Number)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 15
- Registriert: 28. Aug 2019 14:45
Re: Sonoff TH16 in Openhab mit mqtt einbinden
Hi,
danke nochmal für die Hilfe. Die Anzeige passt jetzt. Ich habe jetzt alles in PaperUI als Things/items angelegt und erhalte die richtige Ausgabe. Ich nutze diese Bezeichnung dann in den Rules.
"Number Temp1_T_TH16 "TH16 Temperatur [%.1f°C]" <temperature> (sonoff) { channel="mqtt:topic:0d3028e6:Temp" }"
wobei der channel= dann aus dem paper UI item kopiert ist.
Was ich noch nicht verstanden habe ist wie ich ohne die Things in PaperUi hinzuzufügen direkt als item in der .item Datei eintragen kann ohne das sie im Paper Ui angelegt sind.
Dasgeht zB nicht:
Number dataTH_1Temp "Temperatur [%.1f °C]" (sonoff)
{ mqtt="<[mqtt:Sonoff_TH16/tele/SENSOR:state:JSONPATH($.DS18B20.Temperature)]" }
das auch nicht:
Number dataTH_1Temp2 "Temperatur [%.1f °C]" (gChartTH_1Temp)
{ mqtt="<[stateTopic="Sonoff_TH16/tele/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature"]" }
Ich habe einfach keine Ahnung was wo eingtragen werden muß mqtt= am Anfang, bedeutet das einfach das Format das es jetzt mqtt daten isnd, egal welcher broker benutzt wird? Oder muss das schon irgendwie mit dem Namen des Brokers zu tun haben? state topic oder mqtt for dem : ? Ist das etwas generelles oder schon mit Bezug auf den Broker? Oft sehe ich da auch mosquitto stehen . Ich weiss nicht genau welcher Eintrag was genau bedeutet und habe durch zig Foren Beiträge auch kein schlüssiges Format das bei mir funktioniert erfahren.
Ich nutze den internen mqtt broker von OH. Ich versuche zu vertehen, kann aber die Matrix noch nicht lesen
danke nochmal für die Hilfe. Die Anzeige passt jetzt. Ich habe jetzt alles in PaperUI als Things/items angelegt und erhalte die richtige Ausgabe. Ich nutze diese Bezeichnung dann in den Rules.
"Number Temp1_T_TH16 "TH16 Temperatur [%.1f°C]" <temperature> (sonoff) { channel="mqtt:topic:0d3028e6:Temp" }"
wobei der channel= dann aus dem paper UI item kopiert ist.
Was ich noch nicht verstanden habe ist wie ich ohne die Things in PaperUi hinzuzufügen direkt als item in der .item Datei eintragen kann ohne das sie im Paper Ui angelegt sind.
Dasgeht zB nicht:
Number dataTH_1Temp "Temperatur [%.1f °C]" (sonoff)
{ mqtt="<[mqtt:Sonoff_TH16/tele/SENSOR:state:JSONPATH($.DS18B20.Temperature)]" }
das auch nicht:
Number dataTH_1Temp2 "Temperatur [%.1f °C]" (gChartTH_1Temp)
{ mqtt="<[stateTopic="Sonoff_TH16/tele/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature"]" }
Ich habe einfach keine Ahnung was wo eingtragen werden muß mqtt= am Anfang, bedeutet das einfach das Format das es jetzt mqtt daten isnd, egal welcher broker benutzt wird? Oder muss das schon irgendwie mit dem Namen des Brokers zu tun haben? state topic oder mqtt for dem : ? Ist das etwas generelles oder schon mit Bezug auf den Broker? Oft sehe ich da auch mosquitto stehen . Ich weiss nicht genau welcher Eintrag was genau bedeutet und habe durch zig Foren Beiträge auch kein schlüssiges Format das bei mir funktioniert erfahren.
Ich nutze den internen mqtt broker von OH. Ich versuche zu vertehen, kann aber die Matrix noch nicht lesen