Seite 1 von 1

JSONPATH-Fehler?

Verfasst: 23. Nov 2019 18:36
von Chris5020
Hallo beisammen,

ich hab jetzt endlich meine GOSUND SP1 mit der Tasmota geflashed und in Openhab eingebunden.

Das Schalten der Steckdose funktioniert auch, aber das auslesen der Werte liefert eigenartige Fehler, die ich trotz aller Versuche nicht lösen konnte

Hier ein Ausschnitt aus meiner openhab.log

Code: Alles auswählen

2019-11-23 18:24:41.986 [WARN ] [l.generic.ChannelStateTransformation] - Transformation service JSONPATH for pattern $.Time not found!
2019-11-23 18:24:41.987 [WARN ] [l.generic.ChannelStateTransformation] - Transformation service JSONPATH for pattern $.ENERGY.Yesterday not found!
2019-11-23 18:24:41.987 [WARN ] [eneric.internal.generic.ChannelState] - Incoming payload '{"Time":"2019-11-23T18:24:41","ENERGY":{"TotalStartTime":"2019-11-22T21:49:53","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0$
2019-11-23 18:24:41.987 [WARN ] [l.generic.ChannelStateTransformation] - Transformation service JSONPATH for pattern $.ENERGY.Today not found!
2019-11-23 18:24:41.988 [WARN ] [eneric.internal.generic.ChannelState] - Incoming payload '{"Time":"2019-11-23T18:24:41","ENERGY":{"TotalStartTime":"2019-11-22T21:49:53","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0$
2019-11-23 18:24:41.988 [WARN ] [l.generic.ChannelStateTransformation] - Transformation service JSONPATH for pattern $.ENERGY.Total not found!
2019-11-23 18:24:41.988 [WARN ] [eneric.internal.generic.ChannelState] - Incoming payload '{"Time":"2019-11-23T18:24:41","ENERGY":{"TotalStartTime":"2019-11-22T21:49:53","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0$
Einerseits sagt er Payload = JSON empfangen
'{"Time":"2019-11-23T18:24:41","ENERGY":{"TotalStartTime":"2019-11-22T21:49:53","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":0$

und dann aber Transformation service JSONPATH for pattern $.ENERGY.Today not found!
Aber wenn ich den JSON-String richtig lese, dann kommt da aber ENERGY.Today vor?

Hier ein Auszug aus meiner things

Code: Alles auswählen

           Type number : Total             "POW Total"                     [ stateTopic="sonoff/sonoff_3482/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Total" ]
            Type number : Today             "POW Heute"                     [ stateTopic="sonoff/sonoff_3482/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Today" ]
            Type number : Yesterday         "POW Gestern"                   [ stateTopic="sonoff/sonoff_3482/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Yesterday" ]
            Type number : Voltage           "POW Spannung"                  [ stateTopic="sonoff/sonoff_3482/tele/SENSOR", transformationPattern="JSONPATH:$.ENERGY.Voltage" ]
Schalten der Dose geht, aber das Auslesen der Werte liefert Fehler oder Müll.

hat wer einen Tipp wo ich angreifen kann?

lg, Chris

Re: JSONPATH-Fehler?

Verfasst: 23. Nov 2019 20:46
von Chris5020
So, nachdem ich heute Stundenlang alles mögliche probiert habe bin ich zufällig in einem anderen Beitrag darauf gestossen, dass man den JSONPATH-Transformation-Service extra installieren muss.

Siehe da, jetzt geht es

Re: JSONPATH-Fehler?

Verfasst: 23. Nov 2019 21:05
von Chris5020
Doch nur fast, die Auswertung der INFO-Commandos geht irgendwie nicht

Code: Alles auswählen

            Type string : version           "Std 3482 Vers"                 [ stateTopic="sonoff/sonoff_3482/tele/INFO1", transformationPattern="JSONPATH:$.Version"]
            Type string : fallback          "Std 3482 Fallback"             [ stateTopic="sonoff/sonoff_3482/tele/INFO1", transformationPattern="JSONPATH:$.Hostname"]
            Type string : IP                "Std 3482 IP "                  [ stateTopic="sonoff/sonoff_3482/tele/INFO2", transformationPattern="JSONPATH:$.IPAddress"]
lt. Console sollte der JSON so aussehen

Code: Alles auswählen

20:33:08 MQT: sonoff/sonoff_3482/tele/INFO1 = {"Module":"Gosund SP1 v23","Version":"7.0.0.3(tasmota)","FallbackTopic":"cmnd/DVES_6FAD9A_fb/","GroupTopic":"sonoff/tasmotas/cmnd/"}
20:33:08 MQT: sonoff/sonoff_3482/tele/INFO2 = {"WebServerMode":"Admin","Hostname":"sonoff_3482-3482","IPAddress":"10.1.1.38"}
in der UI schreibt er aber den JSON direkt hin
{"WebServerMode":"Admin","Hostname":"sonoff_3482-3482","I

Im Log diesmal kein Konvertierungsfehler

alle anderen Werte gehen jetzt

Re: JSONPATH-Fehler?

Verfasst: 24. Nov 2019 00:25
von udo1toni
Was steht im Payload? Was in der Sonoff Konsole steht, ist nur ein Anhaltspunkt, sagt aber nichts darüber aus, was in openHAB ankommt.

Re: JSONPATH-Fehler?

Verfasst: 25. Nov 2019 21:54
von Chris5020
Danke für's Feedback, aber ich hab keine Ahnung wo ich mir die payload ansehen kann.
weder im openhab.log noch event.log steht was, auch nicht bei mosquitto.

Nur am Anfang, als noch Fehler waren, habe ich Einträge im openhab.log

Auch mit dem mosquitto_sub-Client konnte ich hier nicht viel rausfinden.

Hast du eine Idee wo ich die Payload sehen kann? Karaf?

lg, Chris

Re: JSONPATH-Fehler?

Verfasst: 25. Nov 2019 22:19
von udo1toni
Du kannst einfach einen Mqtt Browser verwenden, z.B. mqtt.fx oder mqtt spy.
Es gibt auch Apps für's Handy, auch eine nette Option.
Allen gemein ist, dass Du sie mit dem Broker verbindest und anschließend ein oder mehrere Topic(s) abonnierst.
Selbstverständlich kannst Du auch ein Topic publishen.

# ist die Abkürzung für "Alles", Du kannst aber auch Einschränkungen vornehmen wie meingerät/# um alles von diesem einen Gerät zu Gesicht zu bekommen. Ab dem # wird einfach alles ignoriert (also der gesamte darunter befindliche Baum dargestellt) Das funktioniert bei Tasmota natürlich nur, wenn der prefix nach hinten geschoben wird - aber das hast Du schon so konfiguriert...

Die Zugangsdaten sind die gleichen wie in openHAB bzw. Tasmota, bis auf die Client ID natürlich, die muss eindeutig sein.

Ach so... Du hast da einen channel fallback, be idem Du aus INFO1 den Hostname ausliest. Hostname ist in INFO2 enthalten, nicht in INFO1 (abgesehen davon deutet der Channel Name auf einen anderen Inhalt hin).

Re: JSONPATH-Fehler?

Verfasst: 25. Nov 2019 22:23
von Chris5020
Danke, mqtt-spy hab ich auch gefunden installiert und das Topic subscribed

Spannenderweise kommen die INFO-Topics nicht, oder nicht so oft?
Hab gerade gesehen, dass jetzt plötzlich die Werte auch im OpenHab richtig angezeigt werden.

Sichtlich wird das nur sporadisch abgefragt.

Danke wie immer für deine Tipps!

Re: JSONPATH-Fehler?

Verfasst: 25. Nov 2019 22:45
von udo1toni
Immer gerne :)