Tasmota Sensordaten an OH3 senden/auslesen

Die alternative Firmware für ESP8266 based devices

Moderatoren: seppy, udo1toni

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29

Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von Stachi »

Hallo zusammen,

ich habe aktuell das Problem, dass ich gerne Sensordaten von einem Tasmota-Device auslesen will, aber diese anscheinend nicht so einfach ins OH3 bekomme...
hat einer von euch eine Idee?

Device: Sonoff Basic mit 2 angelöteten Kontaktschaltern auf Rx und Tx, Firmware ist Tasmota 9.2.0.

Code: Alles auswählen

13:33:10 MQT: tele/Sonoff_Basic/SENSOR = {"Time":"2021-01-11T13:33:10","Switch2":"ON","Switch3":"OFF"}
Danke schonmal :-)
von udo1toni » 11. Jan 2021 15:20
@ymca72 Hast Du den JSONPATH Transformation Service installiert?

@Stachi Punkt 1: Du brauchst einen mqtt Broker. Gewöhnlich nimmt man dafür mosquitto. Falls Du openHABian zum Installieren verwendet hast, kannst Du mosquitto einfach nachinstallieren.
Punkt 2: Der Broker muss im Device genau wie in openHAB eingetragen werden. Im Device machst Du das unter Einstellungen, in openHAB musst Du dazu das mqtt Addon installieren. Weiterhin werden die Werte der Sensoren über ein JSON Objekt geliefert. Damit openHAB das auswerten kann, muss der JSONPATH Transformation Service installiert sein (siehe auch meine Antwort oben)

Nach der Installation der Addons legst Du einen mqtt Broker an (Broker, nicht System Broker!). Dort trägst Du die Kontaktdaten für mosquitto ein.
Danach brauchst Du ein mqtt generic Thing, welches der Bridge (der Broker) zugeordnet ist). In diesem generic Thing legst Du zwei Channel an, in denen Du tele/Sonoff_Basic/SENSOR als Topic einträgst. Anschließend brauchst Du noch das transformationPattern, welches dann JSONPATH:$.Switch2 bzw. $.Switch3 heißen muss. Die IDs beider Channel müssen eindeutig sein :)

Allerdings: tele sendet per default alle 300 Sekunden. Falls Du das Schließen bzw. Öffnen des Schalters unmittelbar auswerten willst, brauchst Du also zwingend ein anderes Topic.
Gehe zur vollständigen Antwort

ymca72
Beiträge: 15
Registriert: 3. Jan 2021 17:16
Wohnort: Südhessen

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von ymca72 »

Hallo,
da häng ich mich mal dran.
Habe auch aktuell das Problem, das ich von einen Tasmota 8.5.0 gerne zum Testen und verstehen die gemessene Betriebsspannung in OH3 (ist relativ neu installiert) reinbekommen möchte. Die Dose ist, soweit ich das verstehe und angelesen habe richtig konfiguriert. Ich kann das Relais der Dose über OH3 ein und ausschalten. Aber der Spannungswert kommt einfach nicht.

Der Code wurde so von OH3 erstellt:

Code: Alles auswählen

UID: mqtt:topic:broker:tasmota
label: tasmotatest
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:broker
channels:
  - id: tasmota
    channelTypeUID: mqtt:switch
    label: Steckdose
    description: ""
    configuration:
      commandTopic: cmnd/tasmota/POWER
      stateTopic: stat/tasmota/POWER
  - id: Voltage
    channelTypeUID: mqtt:number
    label: Netzspannung
    description: ""
    configuration:
      stateTopic: tele/tasmota/SENSOR
      transformationPattern: JSONPATH:$.ENERGY.Voltage
Und das liefert der Tasmota.

Code: Alles auswählen

14:07:01 MQT: tele/tasmota/STATE = {"Time":"2021-01-11T14:07:01","Uptime":"7T21:59:06","UptimeSec":683946,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":6,"POWER":"ON","Wifi":{"AP":1,"SSId":"********","BSSId":"************","Channel":8,"RSSI":88,"Signal":-56,"LinkCount":1,"Downtime":"0T00:00:03"}}
14:07:01 MQT: tele/tasmota/SENSOR = {"Time":"2021-01-11T14:07:01","ENERGY":{"TotalStartTime":"2020-12-30T17:36:14","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":236,"Current":0.000}}
Der MQTT-Brooker ist laut MQTT.fx die Version 1.5.7. Diese Version habe ich openhabian-config installiert bekommen. Ich hab mir auch die Daten da angeschaut und wenn ich alles richtig verstehe, sollten auch die Daten kommen, aber OH zeigt mir immer nur den Wert null an.

Ich hänge immer wieder mal Stundenweise dran und versuche den Fehler, den ich offensichtlich mache, zu finden. Finde ich aber nicht. Und ja ich bin in Sachen OH3 newbi und habe meine Tasmotas bisher als Inseln laufen lassen. Aber da die langsam im Haus hier überhand nehmen :roll:, will ich das jetzt mal etwas zentralisieren, weil ich einfach keine Lust mehr habe für irgendwas einzuschalten im Smartphone jedes Mal 10-15 Booksmarks durchzuscrollen.

Über den kleine Stups in die richtige Richtung wäre ich sehr sehr dankbar.

LG
YMCA72

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

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von udo1toni »

@ymca72 Hast Du den JSONPATH Transformation Service installiert?

@Stachi Punkt 1: Du brauchst einen mqtt Broker. Gewöhnlich nimmt man dafür mosquitto. Falls Du openHABian zum Installieren verwendet hast, kannst Du mosquitto einfach nachinstallieren.
Punkt 2: Der Broker muss im Device genau wie in openHAB eingetragen werden. Im Device machst Du das unter Einstellungen, in openHAB musst Du dazu das mqtt Addon installieren. Weiterhin werden die Werte der Sensoren über ein JSON Objekt geliefert. Damit openHAB das auswerten kann, muss der JSONPATH Transformation Service installiert sein (siehe auch meine Antwort oben)

Nach der Installation der Addons legst Du einen mqtt Broker an (Broker, nicht System Broker!). Dort trägst Du die Kontaktdaten für mosquitto ein.
Danach brauchst Du ein mqtt generic Thing, welches der Bridge (der Broker) zugeordnet ist). In diesem generic Thing legst Du zwei Channel an, in denen Du tele/Sonoff_Basic/SENSOR als Topic einträgst. Anschließend brauchst Du noch das transformationPattern, welches dann JSONPATH:$.Switch2 bzw. $.Switch3 heißen muss. Die IDs beider Channel müssen eindeutig sein :)

Allerdings: tele sendet per default alle 300 Sekunden. Falls Du das Schließen bzw. Öffnen des Schalters unmittelbar auswerten willst, brauchst Du also zwingend ein anderes Topic.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

ymca72
Beiträge: 15
Registriert: 3. Jan 2021 17:16
Wohnort: Südhessen

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von ymca72 »

udo1toni hat geschrieben: 11. Jan 2021 15:20 @ymca72 Hast Du den JSONPATH Transformation Service installiert?
ich habe derzeit diese Bindings installiert.
bindings.png
ich denke mal mit dem HTTP binding hab ich das erschlagen, wenn ich mir das richtig ergoggelt habe

Lg
Ymca72

edit: ah das war wohl doch nicht installiert. Ich habe unter Transformations was gefunden und installiert. Ist das das richtige?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von udo1toni »

Genau.


Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

ymca72
Beiträge: 15
Registriert: 3. Jan 2021 17:16
Wohnort: Südhessen

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von ymca72 »

Nochmal Hallo,

also installiert ist es aber es kommt noch nix raus bei. Der Wert steht immer noch bei null.

Hab mir eben mal den Spass gemacht und beim Tasmota die setoption19 1 gesetzt und da war auch gleich was in der Inbox. Aber hier steht dann der Wert auf ERR. Aber das war jetzt nur mal Trial und Error Versuch.

Ich möchte das jetzt ehr jetzt erstmal so lösen, damit ich verstehe um was und wie es geht.

Aber irgendwie stehe ich mit dem ganzen etwas auf Kriegsfuss bzw. das Aha- und Erfolgserlebnis stellt sich nicht ein. Wo liegt hier jetzt der Hund begraben?

LG

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

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von udo1toni »

Also, da es sich um ein tele Topic handelt (nein, kein TeleTubby, scnr), musst Du warten, bis das Topic empfangen wurde. Mehr noch, es kann durchaus sein, dass zwischendurch auch mal das selbe Topic empfangen wird, aber im Payload der entsprechende Abschnitt einfach fehlt. Du müsstest Dich also mit mqtt.fx davon überzeugen, dass das letzte empfangene passende Topic auch den korrekten Inhalt hatte.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von Stachi »

Also MQTT usw. ist alles schon vorhanden und läuft auch.
Danke für den Tip mit JSONPATH :-)

Was meinst du mit einem anderen Topic?
Aktuell läuft das bei mir so, dass jeder Switch ein dazu gehörendes Relais ansteuert.
Sobald ein Kontakt ON sendet, geht auch das korrespondierende Relais auf ON.
Allerdings wollte ich das wieder aus meinem Setup rauswerfen (ich fänds so aufgeräumter auf der Tasmota-Oberfläche).

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

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von udo1toni »

Na, Du hast doch tele/Sonoff_Basic/SENSOR als Topic angegeben. Dieses wird (default) exakt alle 300 Sekunden von Tasmota gesendet. Wenn sich Werte ändern, die in diesem Topic drin stecken, dann spielt das keine Rolle. Das Topic wird stur alle 300 Sekunden gesendet.
Im Gegensatz dazu bringt natürlich stat/Sonoff_Basic/POWER1 bzw. stat/Sonoff_Basic/POWER2 umgehend ein ON oder OFF, sobald sich der Zustand des passenden Relais ändert.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29

Re: Tasmota Sensordaten an OH3 senden/auslesen

Beitrag von Stachi »

Vollkommen korrekt.

Dann werd ich für den anwendungsfall wohl die Relais drin lassen müssen.
In der Generic-Konfiguration von Tasmota ist ja zum Glück viel freier Platz

Antworten