NEWS
Payload String zerlegen
-
@1984chris Na zum Beispiel WäPu - sonwas ist gefährlich. Dann lieber WaePu - aber keine Umlaut.
Jetzt mach mal zwischen Deine mqtt-In NOde und die Debug Node eine JSON Node und schau was dann raus kommt. Du musst nichts in der JSON Node konfigurieren.
-
hier ein Foto von der Tasmota Console,
da steht nur Tagstrom und sonst nichts ist das Normal?
-
jetzt kommt ein Fehler
-
@1984chris Nein eben nicht - hinter dem Tagstrom ist ein komisches Steuerzeichen und deswegen funktioniert der ganze JSON String nicht.
-
@1984chris sagte in Payload String zerlegen:
jetzt kommt ein Fehler
Ja genau - und das ist die Ursache - dass das Objekt kaputt ist.
Das ist dieses komische Zeichen, was Du auch
{"Time":"2023-05-16T19:45:29","Tagstrom":{"V_L1":233,"V_L3":236,"V_L3":236,"A_L1":0.63,"A_L2":2.33,"A_L3":0.32,"W_IN":590,"W_OUT":0,"kWh_total_IN":19147.756,"kWh_total_OUT":776.383},"WäPu":{"V_L1":232,"V_L3":236,"V_L3":235,"A_L1":0.48,"A_L2":0.00,"A_L3":0.02,"W_IN":112,"W_OUT":0,"kWh_total_IN":21698.535,"kWh_total_OUT":0.000}}
https://forum.iobroker.net/post/992609
gepostet hast. Also irgendwo - wo Du ggf. Tagstrom eingegeben hast - ist ein komisches Sonderzeichen drin.
-
@mickym
Das habe ich im Tasmota Script lese damit 2 Smartmeter Zähler aus.>D >B smlj=0 =>sensor53 r >R smlj=0 >S if upsecs>22 then smlj|=1 endif >M 2 +1,16,r,0,2400,Tagstrom, 1,=so3,512 1,=so4,413F4428472B4B6150645367566B5970 1,020Ex1UUuu@1,Spannung L1,V,V_L1,0 1,020Ex4UUuu@1,Spannung L2,V,V_L3,0 1,020Ex7UUuu@1,Spannung L3,V,V_L3,0 1,020Ex10UUuu@100,Strom L1,A,A_L1,2 1,020Ex13UUuu@100,Strom L2,A,A_L2,2 1,020Ex16UUuu@100,Strom L3,A,A_L3,2 1,020Ex19UUuuUUuu@1,Leistung +P,W,W_IN,0 1,020Ex24UUuuUUuu@1,Leistung -P,W,W_OUT,0 1,020Ex29UUuuUUuu@1000,Zählerstand +P,kWh,kWh_total_IN,3 1,020Ex34UUuuUUuu@1000,Zählerstand -P,kWh,kWh_total_OUT,3 +2,17,r,0,2400,WäPu, 2,=so3,512 2,=so4,6B58703273357638782F413F4428472B 2,020Ex1UUuu@1,Spannung L1,V,V_L1,0 2,020Ex4UUuu@1,Spannung L2,V,V_L3,0 2,020Ex7UUuu@1,Spannung L3,V,V_L3,0 2,020Ex10UUuu@100,Strom L1,A,A_L1,2 2,020Ex13UUuu@100,Strom L2,A,A_L2,2 2,020Ex16UUuu@100,Strom L3,A,A_L3,2 2,020Ex19UUuuUUuu@1,Leistung +P,W,W_IN,0 2,020Ex24UUuuUUuu@1,Leistung -P,W,W_OUT,0 2,020Ex29UUuuUUuu@1000,Zählerstand +P,kWh,kWh_total_IN,3 2,020Ex34UUuuUUuu@1000,Zählerstand -P,kWh,kWh_total_OUT,3 #
-
@mickym Dann mach in Zeile 28 mal den Umlaut raus - und schreib die Zeile 14 neu - und lösch mal die Zeile 27 (oder mach auch ein #) - vielleicht ist das komisch. Du kannst das ja ggf. wieder rückgängig machen.
Jedenfalls muss das Sonderzeichen nach dem Wort Tagstrom raus.
-
Wenn ich statt Tagstrom nur Strom eingebe bekomme ich
so sollte es sein oder? verstehe ich nicht
-
@1984chris Ja so sollte es sein. . Du kannst ja nochmal Tagstrom hinschreiben - vielleicht war da ein komisches Zeichen vorher drin. Ansonsten schreib halt T-Strom - vielleicht liegt es an der Anzahl Zeichen. Und Umlaute solltest Du auch vermeiden. Aber jedenfalls sind wir nun auf der richtigen Spur.
-
Danke. Bin jetzt am probieren das ich einen Wert in die influxDB bekomme.
-
@1984chris Kann Dir schon weiterhelfen. Wie sieht denn das Objekt jetzt aus?
Und warum nutzt Du eine alte Influx- DB Version?
-
@mickym
Ich habs hinbekommen in Grafana Danke.
Da war eine Anleitung mit Docker und wie man die Programme instaliert da war diese influxDB Version verlinkt -
gelöscht
-
ich möchte diesen älteren topic aufgreifen, den ich via gockel gefunden habe
ich will von standard TheThinkNet-nodes die Temperatur (später auch andere Werte) auslesen.
die daten kann ich empfangen und habe mich an das vorgehen von @mickym gehalten und den pfad kopiert
die ergebnisse mit den verschiedenen "to the value" habe ich beschrieben. keines ergibt den temperaturwert.
das json ist hier:
der ganze flow ist hier -
@ursmii Ich kann so auf Anhieb nichts entdecken. Dein Flow lässt sich leider nicht importieren, da Du den Code nicht in CodeTags eingebunden hast.
Achte darauf dass in der ersten und letzten Zeile die
3 Zeichen `
erhalten bleibenAnsonsten den Pfad aus dem Debugfenster kopieren:
Eventuell hast Du auch Deine JSON Node falsch konfiguriert. Wenn Du in einen Objekt schon in deiner Inject Node hast und Du lässt die JSON Node auf automatisch, konvertiert Dir die JSON Node das Objekt wieder in einen String.
-
In deiner Change Node hat payload gefehlt, Du hast den Pfad nicht kopiert. Ausserdem hättest Du gesehen, wenn Du eine Debug Node hinter Deine JSON Node gemacht hättest, dass das was aus Deiner JSON Node rauskommt, ein String ist. Du hast also das Objekt wieder in einen JSON String gewandelt. Das hatte ich ja bereits vermutet, aber wie gesagt, Du hast auch den Pfad nicht aus dem Objekt kopiert, wie ich das im letzten Post gepostet habe.
Das Debug Fenster kann mehr, als vermutet.
-
@mickym danke für deine rasche hilfe
eine anmerkung:- den pfad habe ich natürlich kopiert. "payload" kommt nicht automatisch mit rein und dass das notwendig ist, habe ich oben überlesen
- der grobe fehler war, dass ich noch den json parser eingefügt habe.
aber wieder viel dazu gelernt und nun folgt die einbindung in homeassistant, aber das ist kein topic für hier ...
-
@ursmii sagte in Payload String zerlegen:
den pfad habe ich natürlich kopiert. "payload" kommt nicht automatisch mit rein
Na wenn Du es über Pfad kopieren aus dem Debug Fenster gemacht hättest (wie in dem Screenshot gezeigt), wäre der vollständige Pfad schon mitgekommen
payload.uplink_message.decoded_payload.temperature_5