Tasmota Sensordaten an OH3 senden/auslesen
-
- Beiträge: 35
- Registriert: 7. Jan 2021 21:04
Re: Tasmota Sensordaten an OH3 senden/auslesen
Ist JSONPATH Transformation Service ein addon?
-
- Beiträge: 125
- Registriert: 8. Dez 2020 19:29
Re: Tasmota Sensordaten an OH3 senden/auslesen
Jep, findest du unter Transformations
-
- Beiträge: 35
- Registriert: 7. Jan 2021 21:04
Re: Tasmota Sensordaten an OH3 senden/auslesen
Aha! Man muss nur an der richtigen Stelle suchen
Danke
Ich habe ein Generic MQTT Thing angelegt (Bridge Mqt Broker)
Als Channel habe ich bei state Topic "tele/Testsensor/SENSOR" eingetragen (siehe Anhang).
Anzeige ist NULL, also habe ich etwas falsch gemacht, oder aber es fehlt noch eine Eingabe. Am Kanal hängen 2 Temperatursensoren. Ich muss ja irgendwie den einzlnen Sensor abfragen, weiss aber nicht, wie und wo ich dies bei OH einstellen muss.
MQTT.FX liefert beim subscribe von tele/Testsensor/SENSOR:
{"Time":"2021-01-13T19:59:20","DS18B20-1":{"Id":"01204233A1AE","Temperature":23.4},"DS18B20-2":{"Id":"0120424FB577","Temperature":23.4},"TempUnit":"C"}
Danke
Ich habe ein Generic MQTT Thing angelegt (Bridge Mqt Broker)
Als Channel habe ich bei state Topic "tele/Testsensor/SENSOR" eingetragen (siehe Anhang).
Anzeige ist NULL, also habe ich etwas falsch gemacht, oder aber es fehlt noch eine Eingabe. Am Kanal hängen 2 Temperatursensoren. Ich muss ja irgendwie den einzlnen Sensor abfragen, weiss aber nicht, wie und wo ich dies bei OH einstellen muss.
MQTT.FX liefert beim subscribe von tele/Testsensor/SENSOR:
{"Time":"2021-01-13T19:59:20","DS18B20-1":{"Id":"01204233A1AE","Temperature":23.4},"DS18B20-2":{"Id":"0120424FB577","Temperature":23.4},"TempUnit":"C"}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 125
- Registriert: 8. Dez 2020 19:29
Re: Tasmota Sensordaten an OH3 senden/auslesen
Soweit, so gut.
Dann nochmal auf "Show Advanced" klicken und bei "Incoming Transformation Path"
eintragen.
Das gleiche dann als neues Thing für den 2. Sensor und max. 5 min warten (so lange dauerts, bis wieder ein tele/xxx/SENSOR gesendet wird, sagte der Udo1Toni... und Recht hat er damit auch noch
Dann nochmal auf "Show Advanced" klicken und bei "Incoming Transformation Path"
Code: Alles auswählen
JSONPATH:$.DS18B20-1
Das gleiche dann als neues Thing für den 2. Sensor und max. 5 min warten (so lange dauerts, bis wieder ein tele/xxx/SENSOR gesendet wird, sagte der Udo1Toni... und Recht hat er damit auch noch
-
- Beiträge: 35
- Registriert: 7. Jan 2021 21:04
Re: Tasmota Sensordaten an OH3 senden/auslesen
der 1. Sensor zeigt NULL an (auch nachdem Daten gesendet wurden)
Ich habe jetzt zum Test einen 2. Channel für den anderen Sensor erstellt.
Eingetragen bei "Incoming Value Transformations" (Incoming Transformation Path gibt es nicht)
Channel type "Number"
Hier der Code zum Item:
UID: mqtt:topic:8d8a4a54f4
label: Generic MQTT Thing
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:broker
channels:
- id: temp
channelTypeUID: mqtt:number
label: Temperatur
description: ""
configuration:
stateTopic: tele/Testsensor/SENSOR
transformationPattern: JSONPATH:$.DS18B20-1
- id: temoeratursensor2
channelTypeUID: mqtt:number
label: Temperatur 2
description: ""
configuration:
stateTopic: tele/Testsensor/SENSOR
transformationPattern: JSONPATH:$.DS18B20-2
Ich habe jetzt zum Test einen 2. Channel für den anderen Sensor erstellt.
Eingetragen bei "Incoming Value Transformations" (Incoming Transformation Path gibt es nicht)
Channel type "Number"
Hier der Code zum Item:
UID: mqtt:topic:8d8a4a54f4
label: Generic MQTT Thing
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:broker
channels:
- id: temp
channelTypeUID: mqtt:number
label: Temperatur
description: ""
configuration:
stateTopic: tele/Testsensor/SENSOR
transformationPattern: JSONPATH:$.DS18B20-1
- id: temoeratursensor2
channelTypeUID: mqtt:number
label: Temperatur 2
description: ""
configuration:
stateTopic: tele/Testsensor/SENSOR
transformationPattern: JSONPATH:$.DS18B20-2
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: Tasmota Sensordaten an OH3 senden/auslesen
Du kannst auch mit nur einem Channel arbeiten (hab ich gestern erst rausgefunden).
Das heißt, Du legst erst mal den Channel als String Channel an! Dieser Channel hält das gesamte JSON Objekt.
Nun verlinkst Du zwei Number Items, wobei Du jeweils in den Metadaten JSONPATH auswählst und dort nun den korrekten JSONPATH einträgst:
$.DS18B20-1.Temperature bzw. $.DS18B20-2.Temperature
Du kannst auch noch ein drittes Item verlinken (Typ String) und nichts in den Metadaten definieren. damit kannst Du dann prima sehen, ob im JSON die Daten enthalten sind. Es könnte nämlich durchaus passieren, dass das Topic zwischendurch nichts mehr liefert - dann müsste man es doch anders bauen.
Code: Alles auswählen
UID: mqtt:topic:8d8a4a54f4
label: Generic MQTT Thing
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:broker
channels:
- id: temp
channelTypeUID: mqtt:string
label: Sensordaten
description: ""
configuration:
stateTopic: tele/Testsensor/SENSOR
Nun verlinkst Du zwei Number Items, wobei Du jeweils in den Metadaten JSONPATH auswählst und dort nun den korrekten JSONPATH einträgst:
$.DS18B20-1.Temperature bzw. $.DS18B20-2.Temperature
Du kannst auch noch ein drittes Item verlinken (Typ String) und nichts in den Metadaten definieren. damit kannst Du dann prima sehen, ob im JSON die Daten enthalten sind. Es könnte nämlich durchaus passieren, dass das Topic zwischendurch nichts mehr liefert - dann müsste man es doch anders bauen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 35
- Registriert: 7. Jan 2021 21:04
Re: Tasmota Sensordaten an OH3 senden/auslesen
"Das heißt, Du legst erst mal den Channel als String Channel an! Dieser Channel hält das gesamte JSON Objekt.
Nun verlinkst Du zwei Number Items, wobei Du jeweils in den Metadaten JSONPATH auswählst und dort nun den korrekten JSONPATH einträgst:
$.DS18B20-1.Temperature bzw. $.DS18B20-2.Temperature"
So wäre quasi der übesichtliche Aufbau (was von den Machern mit dieser Funktion/Möglichkeit auch so beabsichtigt war): Channel mit allen Sensoren des Items als einzelner String und die jeweiligen Werte dann nur über die Links abgefragt.
Übersichtlicher wäre es auf jeden Fall.
Ich hänge leider immer noch daran, die Temperaturwerte irgendwie per MQTT ausgelesen zu beokommen. Die Lösung oben wäre dann Feintuning, well alles läuft
Leider konnte ich gestern nicht mehr testen, weil mein MQTT Broker nicht mehr online war. Ich hatte aus Versehen den Stecker des Pi gezogen und nach dem Neustart war der Broker Offline (Connection Error). Ich musst mosquitto per Putty neu installieren und dann die Bridge neu einrichten, damit es wieder läuft. Das ist mir jetzt schon zum zweiten Mal passiert - scheint ein Bug zu sein.
Heute Abend werde ich mich wieder mit dem Thema beschäftigen und versuchen, die Sensordaten per mqtt zu integrieren...
Nun verlinkst Du zwei Number Items, wobei Du jeweils in den Metadaten JSONPATH auswählst und dort nun den korrekten JSONPATH einträgst:
$.DS18B20-1.Temperature bzw. $.DS18B20-2.Temperature"
So wäre quasi der übesichtliche Aufbau (was von den Machern mit dieser Funktion/Möglichkeit auch so beabsichtigt war): Channel mit allen Sensoren des Items als einzelner String und die jeweiligen Werte dann nur über die Links abgefragt.
Übersichtlicher wäre es auf jeden Fall.
Ich hänge leider immer noch daran, die Temperaturwerte irgendwie per MQTT ausgelesen zu beokommen. Die Lösung oben wäre dann Feintuning, well alles läuft
Leider konnte ich gestern nicht mehr testen, weil mein MQTT Broker nicht mehr online war. Ich hatte aus Versehen den Stecker des Pi gezogen und nach dem Neustart war der Broker Offline (Connection Error). Ich musst mosquitto per Putty neu installieren und dann die Bridge neu einrichten, damit es wieder läuft. Das ist mir jetzt schon zum zweiten Mal passiert - scheint ein Bug zu sein.
Heute Abend werde ich mich wieder mit dem Thema beschäftigen und versuchen, die Sensordaten per mqtt zu integrieren...
- udo1toni
- Beiträge: 13989
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Tasmota Sensordaten an OH3 senden/auslesen
Ein Zustand, dass mosquitto neu installiert werden muss (nur durch einen „Stromausfall“) ist eher unwahrscheinlich. Da ist dann vermutlich eher das Problem, dass Du nicht weißt, wie Du den Fehler eingrenzen musst.
Ganz grob: Es kann sein, dass der Dienst nicht startet. Du prüfst also die Ausgabe vonwenn dort einfach inactive (dead) steht, ist es immer eine Versuch wert, den Dienst manuell zu starten, mitMan bemerke den feinen Unterschied: den Status darf auch ein normaler Anwender abfragen (ohne sudo).
Es kann auch sein, dass da ein failed steht (meinst mit dem Hinweis, das journalctl -xe weitere Auskunft geben kann). Da muss dann auf jeden Fall noch ein sudo davor, alsowomit dann die letzten Fehler gezeigt werden. Manchmal wird man dadurch nicht schlauer, dann sucht man mittelsnach dem Dienst (ich bin mir gerade nicht sicher ob des -d, kann auch ein anderer Buchstabe sein... journalctl -? gibt Auskunft)
Ein typischer Grund, warum mosquitto den Start verweigert (der auch zum Stromausfall passen würde) ist, wenn der Cache korrupt ist. Mosquitto hat eine eigene „Datenbank“, in der z.B. die retention gesichert wird. Wenn diese Datei kaputt ist, kann das zum Absturz führen. Die Datei wird aber nicht unbedingt gebraucht, nach einem Neu Aufsetzen ist sie leer. Es ist also kein Problem, die Datei händisch zu löschen, denn mosquitto wird sie beim Start neu anlegen.
Gesendet von iPad mit Tapatalk
Ganz grob: Es kann sein, dass der Dienst nicht startet. Du prüfst also die Ausgabe von
Code: Alles auswählen
systemctl status mosquitto.service
Code: Alles auswählen
sudo systemctl start mosquitto.service
Es kann auch sein, dass da ein failed steht (meinst mit dem Hinweis, das journalctl -xe weitere Auskunft geben kann). Da muss dann auf jeden Fall noch ein sudo davor, also
Code: Alles auswählen
sudo journalctl -xe
Code: Alles auswählen
sudo journalctl -d mosquitto
Ein typischer Grund, warum mosquitto den Start verweigert (der auch zum Stromausfall passen würde) ist, wenn der Cache korrupt ist. Mosquitto hat eine eigene „Datenbank“, in der z.B. die retention gesichert wird. Wenn diese Datei kaputt ist, kann das zum Absturz führen. Die Datei wird aber nicht unbedingt gebraucht, nach einem Neu Aufsetzen ist sie leer. Es ist also kein Problem, die Datei händisch zu löschen, denn mosquitto wird sie beim Start neu anlegen.
Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 125
- Registriert: 8. Dez 2020 19:29
Re: Tasmota Sensordaten an OH3 senden/auslesen
Oder der Mosquitto-Server ist nicht auf Autostart nach Raspi-Boot eingestellt
?
Code: Alles auswählen
sudo systemctl enable mosquitto.service
- udo1toni
- Beiträge: 13989
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Tasmota Sensordaten an OH3 senden/auslesen
Ja, das ist eine Möglichkeit. Aber das sähe man dann ja, wenn man mittels den Zustand geprüft hat.
Code: Alles auswählen
systemctl status mosquitto.service
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet