Sonoff TH16 in Openhab mit mqtt einbinden

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

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
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
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
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.

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von udo1toni »

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

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

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ß

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

So, wieder einen Schritt weiter. Mit "Sonoff_TH16/tele/SENSOR" Eintrag als topic im Channel und Channel Type "Text" erhalte ich diese Ausgabe:
4TopicSonoff3.PNG
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.

Dibbler42
Beiträge: 14
Registriert: 21. Sep 2019 11:26
Wohnort: Elmshorn

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von Dibbler42 »

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

Code: Alles auswählen

"JSONPATH:$.Temperature"
heißen. Dann solltest Du auch wieder auf Number umstellen.

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

Hi, Danke.
Ich habe es gefunden und eingetragen. Leider noch immer anstatt Zahl NaN

Gruß

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

MUHAHAHAHAHA Ich habs !!!

Danke, danke, Danke :)

Es war "JSONPATH:$.DS18B20.Temperature"

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

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

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von udo1toni »

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:

Code: Alles auswählen

{"Time":"2019-10-10T17:21:12","DS18B20":{"Temperature":21.7},"TempUnit":"C"}
passt die Konfiguration mit dem Channel:

Code: Alles auswählen

Type number : temp "Temperatur" [ stateTopic="Sonoff_TH16/tele/SENSOR", transformationPattern="JSONPATH:$.DS18B20.Temperature" ] 
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)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

AirMR
Beiträge: 15
Registriert: 28. Aug 2019 14:45

Re: Sonoff TH16 in Openhab mit mqtt einbinden

Beitrag von AirMR »

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 :)

Antworten