Das Problem ist ein ganz anderes... Dein JSONPATH stimmt nicht, denn $.ENERGY.Power liefert tatsächlich keinen Wert mit Komma zurück, sondern ein Tupel mit zwei diskreten Werten! Es handelt sich ja um einen Shelly 2.5, der logischerweise zwei Werte für die beiden Ausgänge liefert. Du musst also für die beiden Ausgänge auch zwei Channel anlegen:
Das Gleiche gilt sinngemäß auch für ApparentPower, ReactivePower, Factor und Current, nicht aber für Voltage und Frequency, da diese beiden Größen für beide Kanäle immer gleich sind (solange beide Kanäle eingeschaltet sind, natürlich)
Erste Frage (weil ich das Problem so nicht kenne): Welche Sprache nutzt Du in Tasmota? Ich habe bei mir die deutsche Tasmota Firmware installiert (12.2, also aktuell) und bekomme die Dezimalstellen der Messungen mit Punkt getrennt angeliefert (Strom, Spannung und Leistung). Ich kann mir irgendwie nicht vorstellen, dass Tasmota das bei den Shellies nicht berücksichtigt.
Lösung auf openHAB-Seite ist möglich, aber nicht straight forward. Die erste Idee dazu: du verkettest die Transformation und pappst ein JS Script hinten dran, das script ersetzt alle Kommata durch Punkte, fertig.
Falls das Probleme bereitet, kannst Du versuchen, diese Transformation im Link vorzunehmen (Stichwort Profile). Allerdings musst Du den Channel in einen String Channel abändern, damit die Zeichenkette im Original erhalten bleibt.
Alternativ könntest Du auch noch ein JS Script schreiben, welches sowohl JSONPATH Transformation als auch die Ersetzung des Kommas enthält. Pferdefuß hierbei: Du müsstest für jeden JSONPATH ein eigenes Script anlegen, die Scripte wären aber abgesehen vom jeweiligen JSONPATH Statement identisch, das ist nicht schön.
Wenn alle Stricke reißen, verwendest Du ein String Item und konvertierst in einer Rule -> Ein String Channel für das Topic tele/Shelly01/SENSOR und ein passendes String Item dazu reicht, die JSONPATH Transformation machst Du in dem Fall besser in der Rule, weil Du dort eh beide Werte rauspicken kannst. Solltest Du mehrere Geräte mit diesem Problem haben, reicht eine Rule für alle aus, wenn die Itemnamen geschickt gewählt werden und sich die Items aller Geräte in einer Gruppe tummeln (damit die Rule sie passend selektieren kann).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Nutze die normale Standardversion 12.2.0 in Englisch, da werden die Dezimalstellen ebenfalls mit einem Punkt dargestellt. Nur die 2 Werte für Power und Co werden mit einem Komma getrennt.
Allerdings musst Du den Channel in einen String Channel abändern, damit die Zeichenkette im Original erhalten bleibt.
Den Channel zu einem String ändern ist mir gestern im Bett auch noch eingefallen
Ich hoffe mal, dass da nicht wirklich eckige Klammern um den wert stehen! Ansosnten müsste man die noch beseitigen, aber eigentlich sollte JSONPATH das schon tun...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Das Problem ist ein ganz anderes... Dein JSONPATH stimmt nicht, denn $.ENERGY.Power liefert tatsächlich keinen Wert mit Komma zurück, sondern ein Tupel mit zwei diskreten Werten! Es handelt sich ja um einen Shelly 2.5, der logischerweise zwei Werte für die beiden Ausgänge liefert. Du musst also für die beiden Ausgänge auch zwei Channel anlegen:
Das Gleiche gilt sinngemäß auch für ApparentPower, ReactivePower, Factor und Current, nicht aber für Voltage und Frequency, da diese beiden Größen für beide Kanäle immer gleich sind (solange beide Kanäle eingeschaltet sind, natürlich)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
udo1toni hat geschrieben: ↑1. Dez 2022 15:39
Das Problem ist ein ganz anderes... Dein JSONPATH stimmt nicht, denn $.ENERGY.Power liefert tatsächlich keinen Wert mit Komma zurück, sondern ein Tupel mit zwei diskreten Werten!
Musste erstmal nach "Tupel" googeln.
Aber ja, das war es.
Mit deinem Code sieht es so aus:
Screenshot 2022-12-02 at 08-38-06 Shelly Laube Steckdose aussen.png
Im Grunde nicht so kompliziert, die Werte lassen sich recht einfach abgreifen... wenn man weiss wie.
Dankeschön für die Hilfe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.