NEWS
JSON String mit Blockly auseinandernehmen
-
Ich komme nicht weiter, obwohl dieses Thema hier schon zigmal mit Script und allem möglichem behandelt wurde.
Basis: Wemos D1 Mini, MQTT eingerichtet, der Wemos sendet artig folgenden String an den MQTT Adapter:
{"Time":"2023-12-29T19:05:03","DS18B20-1":{"Id":"012111CB57F3","Temperature":34.3},"DS18B20-2":{"Id":"01211207EE1E","Temperature":35.9},"TempUnit":"C"}Dieser String wird auch artig in den Datenpunkt SENSOR eingetragen und erscheint in meinem Blockly auch im DEBUG.
Hier mein momentanes Blockly:
Die beiden Datenpunkte TEMPERATUR VORLAUF und TEMPERATUR RÜCKLAUF sind als Zahl angelegt.
Wie aber bekomme ich ums Verrecken die beiden Temperaturfühlerdaten in meine Datenpunkte, um sie dann in der VIS oder Grafana zu verarbeiten? Alles scheint sich ja wohl nur um das Feld ATTRIB zu drehen..
-
@joachim-knape wieso wandelst du nach Object?
was kommt denn im debug?das json hat dein Attribut gar nicht
zwischen DS18B20-1.Temperature kommt nichts anderes
-
@homoran schimpf nicht so mit mir, ich bin sensibel..lach..
ich habe mir das weitestgehend aus tutorials und beiträgen zusammengebastelt nach dem motto try and error.das debug sieht so aus:
-
@joachim-knape sagte in JSON String mit Blockly auseinandernehmen:
das debug sieht so aus:
bitte immer als text in code-tags, dann kann ich auch lesen und zitieren
hast du die "Attribute" gekürzt?
-
21:42:38.370 info javascript.0 (270) script.js.common.Heizung.test: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 21:45:03.649 info javascript.0 (270) script.js.common.Heizung.test: {'Time':'2023-12-29T21:45:03','DS18B20-1':{'Id':'012111CB57F3','Temperature':39.1},'DS18B20-2':{'Id':'01211207EE1E','Temperature':31.6},'TempUnit':'C'} 21:50:03.667 info javascript.0 (270) script.js.common.Heizung.test: {'Time':'2023-12-29T21:50:03','DS18B20-1':{'Id':'012111CB57F3','Temperature':38.5},'DS18B20-2':{'Id':'01211207EE1E','Temperature':33.9},'TempUnit':'C'} 21:55:03.675 info javascript.0 (270) script.js.common.Heizung.test: {'Time':'2023-12-29T21:55:03','DS18B20-1':{'Id':'012111CB57F3','Temperature':39},'DS18B20-2':{'Id':'01211207EE1E','Temperature':22.9},'TempUnit':'C'} 22:00:03.703 info javascript.0 (270) script.js.common.Heizung.test: {'Time':'2023-12-29T22:00:03','DS18B20-1':{'Id':'012111CB57F3','Temperature':38.9},'DS18B20-2':{'Id':'01211207EE1E','Temperature':31.4},'TempUnit':'C'}
-
@joachim-knape Danke, aber
@homoran sagte in JSON String mit Blockly auseinandernehmen:
hast du die "Attribute" gekürzt?
??
-
@homoran ganz ehrlich? ich habe keine ahnung, was ich da wie in die attribute eintragen soll.. hab schon viele varianten ausprobiert, kein erfolg. nicht böse sein wegen meiner unwissenheit, irgendwie verstehe ich die gesamte syntax nicht..
-
@joachim-knape sagte in JSON String mit Blockly auseinandernehmen:
was ich da wie in die attribute eintragen soll.
wie ich schrieb
@homoran sagte in JSON String mit Blockly auseinandernehmen:DS18B20-1.Temperature
@joachim-knape sagte in JSON String mit Blockly auseinandernehmen:
nicht böse sein wegen meiner unwissenheit,
Das wäre unfair!
@joachim-knape sagte in JSON String mit Blockly auseinandernehmen:
irgendwie verstehe ich die gesamte syntax nicht..
dafür war der Screenshot von jsonviewer.stack.hu
der zeigt die Strukturund danach willst du die Temperatur des DS18B20-1 UND ....2
-
@joachim-knape Das Problem ist nur der Bindestrich oder das Minus in dem Namen. Der stört.
Probiere es immer so aus mit dem Teil
https://jsonformatter.org/ -
@homoran TEUFEL AUCH, ICH HABS!!!
hier das blockly:
so gehts, und die beiden werte werden in meine datenpunkte eingetragen...
Wie auch immer.. DANKE für deine /eure energie und hilfeangebote..
-
@mickym sagte in JSON String mit Blockly auseinandernehmen:
Das Problem ist nur der Bindestrich
nein, er hat noch die ID dazwischen gezwängt
Das ist aber ein Wert und keine Ebene des Attributs -
"DS18B20-1".Temperature
So gehts einfach. Mit dem Tool halt mal die Struktur sauber anzeigen lassen:
{ "Time": "2023-12-29T19:05:03", "DS18B20-1": { "Id": "012111CB57F3", "Temperature": 34.3 }, "DS18B20-2": { "Id": "01211207EE1E", "Temperature": 35.9 }, "TempUnit": "C" }
-
@joachim-knape sagte: Alles scheint sich ja wohl nur um das Feld ATTRIB zu drehen..
Ja, versuche es so:
EDIT: Ich war diesmal zu langsam.
-
@mickym ja, natürlich, der Fehler lag aber hier
-
Habt ihr mich alle geblockt, dass ihr meine Antworten nicht seht?