NEWS
JSONATA lässt sich nicht mehr in Datenpunkt speichern
-
Hi,
ich hatte ein fertiges Blockly, welches mir ein JSONATA Element in deinen Array-Datenpunkt geschrieben hat. Inzwischen kommt aber nur noch "[object Object],[object Object]" im Datenpunkt an.
Ich habe es auf verschiedene Arten versucht per Debugging genauer zu verstehen, bin dabei aber auf das Problem gestoßen, dass ich mir im Log zwar die Ausgabe korrekt anschauen kann, wenn ich aber genau das gleiche in den Datenpunkt setze, nur dass [object Object],[object Object] ankommt.
Beim Versuch das Ganze vorher zu konvertieren scheitert Blockly.

Hat jemand einen Tipp wie ich den Fehler eingrenzen kann, ist hier evtl. eines der Module kaputt?
Beste Grüße
-
Hi,
ich hatte ein fertiges Blockly, welches mir ein JSONATA Element in deinen Array-Datenpunkt geschrieben hat. Inzwischen kommt aber nur noch "[object Object],[object Object]" im Datenpunkt an.
Ich habe es auf verschiedene Arten versucht per Debugging genauer zu verstehen, bin dabei aber auf das Problem gestoßen, dass ich mir im Log zwar die Ausgabe korrekt anschauen kann, wenn ich aber genau das gleiche in den Datenpunkt setze, nur dass [object Object],[object Object] ankommt.
Beim Versuch das Ganze vorher zu konvertieren scheitert Blockly.

Hat jemand einen Tipp wie ich den Fehler eingrenzen kann, ist hier evtl. eines der Module kaputt?
Beste Grüße
-
Hi,
ich hatte ein fertiges Blockly, welches mir ein JSONATA Element in deinen Array-Datenpunkt geschrieben hat. Inzwischen kommt aber nur noch "[object Object],[object Object]" im Datenpunkt an.
Ich habe es auf verschiedene Arten versucht per Debugging genauer zu verstehen, bin dabei aber auf das Problem gestoßen, dass ich mir im Log zwar die Ausgabe korrekt anschauen kann, wenn ich aber genau das gleiche in den Datenpunkt setze, nur dass [object Object],[object Object] ankommt.
Beim Versuch das Ganze vorher zu konvertieren scheitert Blockly.

Hat jemand einen Tipp wie ich den Fehler eingrenzen kann, ist hier evtl. eines der Module kaputt?
Beste Grüße
-
@gutgut30 sagte in JSONATA lässt sich nicht mehr in Datenpunkt speichern:
Klar. Ich habe es auch als String-Datenpunkt versucht.
wie?
mal zeigen.Und wie @paul53 schon geschrieben hat, ist es ein json. Und dieser lässt sich selbstverständlich als string speichen.
Was willst du dann machen?
Willst du den kompletten json speichern; oder brauchst du einzelne Werte daraus ?Ein bisschen mehr Infos wären gut.
-
Hi,
ich hatte ein fertiges Blockly, welches mir ein JSONATA Element in deinen Array-Datenpunkt geschrieben hat. Inzwischen kommt aber nur noch "[object Object],[object Object]" im Datenpunkt an.
Ich habe es auf verschiedene Arten versucht per Debugging genauer zu verstehen, bin dabei aber auf das Problem gestoßen, dass ich mir im Log zwar die Ausgabe korrekt anschauen kann, wenn ich aber genau das gleiche in den Datenpunkt setze, nur dass [object Object],[object Object] ankommt.
Beim Versuch das Ganze vorher zu konvertieren scheitert Blockly.

Hat jemand einen Tipp wie ich den Fehler eingrenzen kann, ist hier evtl. eines der Module kaputt?
Beste Grüße
-
Gerne, hier mehr Details...
Das Script hat bis vor kurzem einwandfrei funktioniert. Ich habe es nicht angepasst, aber den JavaScript und auch Admin Adapter aktualisiert. Bisher war der Ziel-Datenpunkt ein Array. Ich habe es aktuell aber zum Testen mal auf json und auch string geändert. Stellenweise kommt dann wie oben geschrieben "object object" an, teilweise null.
Spannend finde ich im string-Datenpunkt, dass ich in der Preview der Object-Übersicht das JSON sehe und auch herauskopieren kann, bei einem Doppelklick auf den Value dann aber [object Object],[object Object] sehe.
Das passiert ja auch im Debug-Log wenn ich das json zu einen string umwandel.Ich habe mein Blockly mal etwas runtergebrochen und hier angegängt:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</variable> </variables> <block type="schedule" id="c2IzINGN*l2j!Z6itASx" x="-237" y="-487"> <field name="SCHEDULE">*/30 * * * * *</field> <statement name="STATEMENT"> <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y"> <field name="TIMEOUT">3000</field> <field name="UNIT">ms</field> <field name="TYPE">text</field> <value name="URL"> <shadow type="text" id="5j:K6sEa1}$M/k`]70~1"> <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="7sr%3U/QGT_wg8a63$p6"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="http_response" id="9=eJ~d?sci=?6[f$H=NO"> <field name="ATTR">response.data</field> </block> </value> <next> <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF" disabled-reasons="MANUALLY_DISABLED"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6"> <value name="EXPRESSION"> <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705) and ($number(delayTimeValue) > 0 or isBlocked = "true")].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> </value> <value name="TARGET"> <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B"> <value name="VALUE"> <block type="http_response" id="+KJZvgLtv~7tfx2u_x63"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="T)*g2?VYYki#lfG,]ch/"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="e8$@XA?Hd$4hFY[?H#c)"> <value name="EXPRESSION"> <shadow type="text" id="2Du6`Udn,J!5)V{[jzpS"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705)].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> <block type="text_multiline" id="OQ-$Z|aU`$g]:~];%!_C"> <field name="TEXT">$.warning[&#10;&#10; (coordinate.lat > 50.39 and coordinate.lat < 55.71)&#10; and&#10; (&#10; (delayTimeValue != null and delayTimeValue != "") or &#10; (averageSpeed != null and averageSpeed != "")&#10; )&#10;].{&#10; "Strecke": (&#10; $svg := "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg>";&#10; $title := $replace(title, "A7", $svg);&#10; $coords := geometry.coordinates;&#10; $split := $split($title, "|");&#10; $arrow := (&#10; $start := $coords[0];&#10; $end := $coords[$count($coords)-1];&#10; $latStart := ($start[1] and ($type($start[1]) = "number" or $type($start[1]) = "string")) ? $number($start[1]) : null;&#10; $latEnd := ($end[1] and ($type($end[1]) = "number" or $type($end[1]) = "string")) ? $number($end[1]) : null;&#10; $latStart != null and $latEnd != null&#10; ? ($latStart < $latEnd ? "⬆️" : ($latStart > $latEnd ? "⬇️" : "|"))&#10; : "|"&#10; );&#10; $count($split) = 2&#10; ? $trim($split[0]) & " " & $arrow & " " & $trim($split[1])&#10; : $title&#10; ),&#10; "Dauer": delayTimeValue ?&#10; "<b><span style='color:red;'>+" & delayTimeValue & " Min.</span></b>" : "",&#10; "Details": $join(&#10; $filter(&#10; $map(description, function($v, $i) { &#10; $i >= 4 &#10; ? $replace(&#10; $replace(&#10; $replace($v, /Reisezeitverlust: \d+ Minuten/, ""), &#10; "Durchschnittsgeschwindigkeit", "(⌀"&#10; ),&#10; /km\/h/,&#10; "km/h)."&#10; ) &#10; : undefined &#10; }),&#10; function($v) { $v != "" }&#10; ),&#10; " "&#10; )&#10;}[]&#10;</field> </block> </value> <value name="TARGET"> <block type="convert_json2object" id="#8oRR1h`isyvJNCtb^zd"> <value name="VALUE"> <block type="http_response" id="W.S-7|Du7i;@qyBu8FDH"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="i3xVH+mmepD;w4A!_W6e"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="SW-%+5JAiy%DTL(}uN`m"> <field name="TEXT">Starte Debugausgaben - RAW</field> </shadow> </value> <next> <block type="debug" id="jqph)XYEiEQrCJpMaS)#"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="p%#/Cc}YbV:BRcr(|J7,"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="DrJiO=)J`2%:k[[gQP3-"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="@.fwCL}Aup@X;S|tAMWt"> <field name="TEXT">String:</field> </shadow> </value> <next> <block type="debug" id="bV96BKKFm]uUILC#x=hM"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_tostring" id="T]WJqaZ[TFCtJLJR`(]p"> <value name="VALUE"> <block type="variables_get" id="%PXvUQya49^CHdYHCE_Q"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="Ki1WQ!j6Z9HJEBreP48R"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="BO7aN3Y{^QY_hvF1O0l2"> <field name="TEXT">Object 3x</field> </shadow> </value> <next> <block type="debug" id="Eq_q{,$KJzlx$mQ@F_Vd"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="]8E+E,:jvBo)r6dj~Bnw"> <value name="VALUE"> <block type="variables_get" id="`!Zg*JE3w*sH4ZN]/i_c"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="ka=#dgjqJlX_Q3$(8)PL"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="w|ZP/t7([XFT5/a`YBfm"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="RVcLVh7A%NPHrKC,e,O}"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="[oa8Ty][DDGQyYCf?mnK"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="+CNt]EBmjk.l;OTi.Gin"> <field name="PRETTIFY">TRUE</field> <value name="VALUE"> <block type="variables_get" id="WVsa}FWE`]usG4M5[=aO"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="controls_if" id="GeN%T^w?f1{_0w;Vhogn"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="6[K[^keh:wL5hH4x$k_Y"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="MGfJpO#=Oog#a%LsWVS*"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <value name="B"> <block type="logic_null" id="h5aReyjx4Gm.bgH,t:;Z"></block> </value> </block> </value> <statement name="DO0"> <block type="control" id="L=B@/`FE2b*D_5JRNyB]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="|WtiQ]H2BJo{7rU2OL8m"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="5S.[fUf?YVNtSk?^fi;]"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="_`4kv.%qk509{^U:0=x%"> <field name="TEXT">Wert aus Zielfeld nach Schreiben</field> </shadow> </value> <next> <block type="timeouts_wait" id="F6M,M)@kAE1y*X$Z_{k1"> <field name="DELAY">2</field> <field name="UNIT">sec</field> <next> <block type="debug" id="We4O.AYy#(k}lFUKpkhV"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="VxV;C5$ACPvtXV@)0WD:"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="mFo]oH_hkpAExSxfvAY|"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="Y,pqIP!w|?qAr}JdMZ2I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_null" id="f!EPz8g[A/%%a5N6X#=q"></block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>In der AdminGUI:

Das wäre identisch zu dem Verhalten, wenn ich im Blockly das json zu string konvertiere:

Wenn ihr einen Tipp habt, gerne. Wie gesagt, das Script und auch die Datenpunkte liefen bis vor kurzem.
-
Gerne, hier mehr Details...
Das Script hat bis vor kurzem einwandfrei funktioniert. Ich habe es nicht angepasst, aber den JavaScript und auch Admin Adapter aktualisiert. Bisher war der Ziel-Datenpunkt ein Array. Ich habe es aktuell aber zum Testen mal auf json und auch string geändert. Stellenweise kommt dann wie oben geschrieben "object object" an, teilweise null.
Spannend finde ich im string-Datenpunkt, dass ich in der Preview der Object-Übersicht das JSON sehe und auch herauskopieren kann, bei einem Doppelklick auf den Value dann aber [object Object],[object Object] sehe.
Das passiert ja auch im Debug-Log wenn ich das json zu einen string umwandel.Ich habe mein Blockly mal etwas runtergebrochen und hier angegängt:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</variable> </variables> <block type="schedule" id="c2IzINGN*l2j!Z6itASx" x="-237" y="-487"> <field name="SCHEDULE">*/30 * * * * *</field> <statement name="STATEMENT"> <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y"> <field name="TIMEOUT">3000</field> <field name="UNIT">ms</field> <field name="TYPE">text</field> <value name="URL"> <shadow type="text" id="5j:K6sEa1}$M/k`]70~1"> <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="7sr%3U/QGT_wg8a63$p6"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="http_response" id="9=eJ~d?sci=?6[f$H=NO"> <field name="ATTR">response.data</field> </block> </value> <next> <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF" disabled-reasons="MANUALLY_DISABLED"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6"> <value name="EXPRESSION"> <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705) and ($number(delayTimeValue) > 0 or isBlocked = "true")].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> </value> <value name="TARGET"> <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B"> <value name="VALUE"> <block type="http_response" id="+KJZvgLtv~7tfx2u_x63"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="T)*g2?VYYki#lfG,]ch/"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="e8$@XA?Hd$4hFY[?H#c)"> <value name="EXPRESSION"> <shadow type="text" id="2Du6`Udn,J!5)V{[jzpS"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705)].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> <block type="text_multiline" id="OQ-$Z|aU`$g]:~];%!_C"> <field name="TEXT">$.warning[&#10;&#10; (coordinate.lat > 50.39 and coordinate.lat < 55.71)&#10; and&#10; (&#10; (delayTimeValue != null and delayTimeValue != "") or &#10; (averageSpeed != null and averageSpeed != "")&#10; )&#10;].{&#10; "Strecke": (&#10; $svg := "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg>";&#10; $title := $replace(title, "A7", $svg);&#10; $coords := geometry.coordinates;&#10; $split := $split($title, "|");&#10; $arrow := (&#10; $start := $coords[0];&#10; $end := $coords[$count($coords)-1];&#10; $latStart := ($start[1] and ($type($start[1]) = "number" or $type($start[1]) = "string")) ? $number($start[1]) : null;&#10; $latEnd := ($end[1] and ($type($end[1]) = "number" or $type($end[1]) = "string")) ? $number($end[1]) : null;&#10; $latStart != null and $latEnd != null&#10; ? ($latStart < $latEnd ? "⬆️" : ($latStart > $latEnd ? "⬇️" : "|"))&#10; : "|"&#10; );&#10; $count($split) = 2&#10; ? $trim($split[0]) & " " & $arrow & " " & $trim($split[1])&#10; : $title&#10; ),&#10; "Dauer": delayTimeValue ?&#10; "<b><span style='color:red;'>+" & delayTimeValue & " Min.</span></b>" : "",&#10; "Details": $join(&#10; $filter(&#10; $map(description, function($v, $i) { &#10; $i >= 4 &#10; ? $replace(&#10; $replace(&#10; $replace($v, /Reisezeitverlust: \d+ Minuten/, ""), &#10; "Durchschnittsgeschwindigkeit", "(⌀"&#10; ),&#10; /km\/h/,&#10; "km/h)."&#10; ) &#10; : undefined &#10; }),&#10; function($v) { $v != "" }&#10; ),&#10; " "&#10; )&#10;}[]&#10;</field> </block> </value> <value name="TARGET"> <block type="convert_json2object" id="#8oRR1h`isyvJNCtb^zd"> <value name="VALUE"> <block type="http_response" id="W.S-7|Du7i;@qyBu8FDH"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="i3xVH+mmepD;w4A!_W6e"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="SW-%+5JAiy%DTL(}uN`m"> <field name="TEXT">Starte Debugausgaben - RAW</field> </shadow> </value> <next> <block type="debug" id="jqph)XYEiEQrCJpMaS)#"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="p%#/Cc}YbV:BRcr(|J7,"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="DrJiO=)J`2%:k[[gQP3-"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="@.fwCL}Aup@X;S|tAMWt"> <field name="TEXT">String:</field> </shadow> </value> <next> <block type="debug" id="bV96BKKFm]uUILC#x=hM"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_tostring" id="T]WJqaZ[TFCtJLJR`(]p"> <value name="VALUE"> <block type="variables_get" id="%PXvUQya49^CHdYHCE_Q"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="Ki1WQ!j6Z9HJEBreP48R"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="BO7aN3Y{^QY_hvF1O0l2"> <field name="TEXT">Object 3x</field> </shadow> </value> <next> <block type="debug" id="Eq_q{,$KJzlx$mQ@F_Vd"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="]8E+E,:jvBo)r6dj~Bnw"> <value name="VALUE"> <block type="variables_get" id="`!Zg*JE3w*sH4ZN]/i_c"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="ka=#dgjqJlX_Q3$(8)PL"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="w|ZP/t7([XFT5/a`YBfm"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="RVcLVh7A%NPHrKC,e,O}"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="[oa8Ty][DDGQyYCf?mnK"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="+CNt]EBmjk.l;OTi.Gin"> <field name="PRETTIFY">TRUE</field> <value name="VALUE"> <block type="variables_get" id="WVsa}FWE`]usG4M5[=aO"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="controls_if" id="GeN%T^w?f1{_0w;Vhogn"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="6[K[^keh:wL5hH4x$k_Y"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="MGfJpO#=Oog#a%LsWVS*"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <value name="B"> <block type="logic_null" id="h5aReyjx4Gm.bgH,t:;Z"></block> </value> </block> </value> <statement name="DO0"> <block type="control" id="L=B@/`FE2b*D_5JRNyB]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="|WtiQ]H2BJo{7rU2OL8m"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="5S.[fUf?YVNtSk?^fi;]"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="_`4kv.%qk509{^U:0=x%"> <field name="TEXT">Wert aus Zielfeld nach Schreiben</field> </shadow> </value> <next> <block type="timeouts_wait" id="F6M,M)@kAE1y*X$Z_{k1"> <field name="DELAY">2</field> <field name="UNIT">sec</field> <next> <block type="debug" id="We4O.AYy#(k}lFUKpkhV"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="VxV;C5$ACPvtXV@)0WD:"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="mFo]oH_hkpAExSxfvAY|"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="Y,pqIP!w|?qAr}JdMZ2I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_null" id="f!EPz8g[A/%%a5N6X#=q"></block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>In der AdminGUI:

Das wäre identisch zu dem Verhalten, wenn ich im Blockly das json zu string konvertiere:

Wenn ihr einen Tipp habt, gerne. Wie gesagt, das Script und auch die Datenpunkte liefen bis vor kurzem.
eigentlcih gilt immer noch mein Hinweis von oben
@oliverio sagte in JSONATA lässt sich nicht mehr in Datenpunkt speichern:
Wenn im Datenpunkt nur noch object Object steht, musst du vorher das Objekt in JSON umwandeln.
evtl mal mehr zu den Details
blockly wird ja im Hintergrund in javascript umgewandelt.Wenn Objekte zur Ausgabe serialisiert werden sollen. wird die Methode toString() auf gerufen.
Wenn man in javascript einen neuen Objekt prototyperzeugt, dann könnte man diese Methode überschreiben und selbst die Ausgabe bestimmen.
Für die Standard-Objekte in javascript wird immer [object Object] ausgegeben.
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/toStringUm ein Objekt in javascript nun abspeichern zu können, wurde JSON erfunden.
Dazu muss man aber separat ein Objekt in das Format umwandeln.
In javascript erfolgt das mit
JSON.stringify(meinObjekt);
In blockly hast du das in deinem Beispiel bereits aufgeführt

wenn du diesen magentafarbenen block hier bei steuere einfügst

dann wird das auch funktionieren.Zum Thema das das früher funktioniert hat, das die Umwandlung aus Komfortgründen durchgeführt hat.:
evtl gab es Änderungen am javascript-Adapter oder gar am js-controller
Eigentlich kann ich mich auch daran erinnern, das die Umwandlung automatisch erfolgte.
Am besten machst du in github beim js-controller und beim javascript Adapter einen issue auf um das prüfen zu lassen. -
Gerne, hier mehr Details...
Das Script hat bis vor kurzem einwandfrei funktioniert. Ich habe es nicht angepasst, aber den JavaScript und auch Admin Adapter aktualisiert. Bisher war der Ziel-Datenpunkt ein Array. Ich habe es aktuell aber zum Testen mal auf json und auch string geändert. Stellenweise kommt dann wie oben geschrieben "object object" an, teilweise null.
Spannend finde ich im string-Datenpunkt, dass ich in der Preview der Object-Übersicht das JSON sehe und auch herauskopieren kann, bei einem Doppelklick auf den Value dann aber [object Object],[object Object] sehe.
Das passiert ja auch im Debug-Log wenn ich das json zu einen string umwandel.Ich habe mein Blockly mal etwas runtergebrochen und hier angegängt:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</variable> </variables> <block type="schedule" id="c2IzINGN*l2j!Z6itASx" x="-237" y="-487"> <field name="SCHEDULE">*/30 * * * * *</field> <statement name="STATEMENT"> <block type="http_get" id="WNF0PxnI%5I!By$;Sq^y"> <field name="TIMEOUT">3000</field> <field name="UNIT">ms</field> <field name="TYPE">text</field> <value name="URL"> <shadow type="text" id="5j:K6sEa1}$M/k`]70~1"> <field name="TEXT">https://verkehr.autobahn.de/o/autobahn/A7/services/warning</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="7sr%3U/QGT_wg8a63$p6"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="http_response" id="9=eJ~d?sci=?6[f$H=NO"> <field name="ATTR">response.data</field> </block> </value> <next> <block type="variables_set" id="Ab2/(#O*qo4Pj(g,!(xF" disabled-reasons="MANUALLY_DISABLED"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="_jm2wcowL)JLsC/#k=z6"> <value name="EXPRESSION"> <shadow type="text" id="ek?H*3)F@m}ZKAsF[[x4"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705) and ($number(delayTimeValue) > 0 or isBlocked = "true")].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> </value> <value name="TARGET"> <block type="convert_json2object" id="Hm_)^fdB}Tf_/v,oE)(B"> <value name="VALUE"> <block type="http_response" id="+KJZvgLtv~7tfx2u_x63"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="T)*g2?VYYki#lfG,]ch/"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> <value name="VALUE"> <block type="convert_jsonata" id="e8$@XA?Hd$4hFY[?H#c)"> <value name="EXPRESSION"> <shadow type="text" id="2Du6`Udn,J!5)V{[jzpS"> <field name="TEXT">$.warning[(coordinate.lat > 52.4 and coordinate.lat < 52.705)].{"Autobahn":$substringBefore(title, " |"),"Teilstück":$substringAfter(title, " | "),"Verzögerung": "+ " & delayTimeValue & " Min.","Vollsperrung": isBlocked="false" ? undefined : "ja", "Grund": $.description[-3]}[]</field> </shadow> <block type="text_multiline" id="OQ-$Z|aU`$g]:~];%!_C"> <field name="TEXT">$.warning[&#10;&#10; (coordinate.lat > 50.39 and coordinate.lat < 55.71)&#10; and&#10; (&#10; (delayTimeValue != null and delayTimeValue != "") or &#10; (averageSpeed != null and averageSpeed != "")&#10; )&#10;].{&#10; "Strecke": (&#10; $svg := "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg>";&#10; $title := $replace(title, "A7", $svg);&#10; $coords := geometry.coordinates;&#10; $split := $split($title, "|");&#10; $arrow := (&#10; $start := $coords[0];&#10; $end := $coords[$count($coords)-1];&#10; $latStart := ($start[1] and ($type($start[1]) = "number" or $type($start[1]) = "string")) ? $number($start[1]) : null;&#10; $latEnd := ($end[1] and ($type($end[1]) = "number" or $type($end[1]) = "string")) ? $number($end[1]) : null;&#10; $latStart != null and $latEnd != null&#10; ? ($latStart < $latEnd ? "⬆️" : ($latStart > $latEnd ? "⬇️" : "|"))&#10; : "|"&#10; );&#10; $count($split) = 2&#10; ? $trim($split[0]) & " " & $arrow & " " & $trim($split[1])&#10; : $title&#10; ),&#10; "Dauer": delayTimeValue ?&#10; "<b><span style='color:red;'>+" & delayTimeValue & " Min.</span></b>" : "",&#10; "Details": $join(&#10; $filter(&#10; $map(description, function($v, $i) { &#10; $i >= 4 &#10; ? $replace(&#10; $replace(&#10; $replace($v, /Reisezeitverlust: \d+ Minuten/, ""), &#10; "Durchschnittsgeschwindigkeit", "(⌀"&#10; ),&#10; /km\/h/,&#10; "km/h)."&#10; ) &#10; : undefined &#10; }),&#10; function($v) { $v != "" }&#10; ),&#10; " "&#10; )&#10;}[]&#10;</field> </block> </value> <value name="TARGET"> <block type="convert_json2object" id="#8oRR1h`isyvJNCtb^zd"> <value name="VALUE"> <block type="http_response" id="W.S-7|Du7i;@qyBu8FDH"> <field name="ATTR">response.data</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="i3xVH+mmepD;w4A!_W6e"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="SW-%+5JAiy%DTL(}uN`m"> <field name="TEXT">Starte Debugausgaben - RAW</field> </shadow> </value> <next> <block type="debug" id="jqph)XYEiEQrCJpMaS)#"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="p%#/Cc}YbV:BRcr(|J7,"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="DrJiO=)J`2%:k[[gQP3-"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="@.fwCL}Aup@X;S|tAMWt"> <field name="TEXT">String:</field> </shadow> </value> <next> <block type="debug" id="bV96BKKFm]uUILC#x=hM"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_tostring" id="T]WJqaZ[TFCtJLJR`(]p"> <value name="VALUE"> <block type="variables_get" id="%PXvUQya49^CHdYHCE_Q"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="Ki1WQ!j6Z9HJEBreP48R"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="BO7aN3Y{^QY_hvF1O0l2"> <field name="TEXT">Object 3x</field> </shadow> </value> <next> <block type="debug" id="Eq_q{,$KJzlx$mQ@F_Vd"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="]8E+E,:jvBo)r6dj~Bnw"> <value name="VALUE"> <block type="variables_get" id="`!Zg*JE3w*sH4ZN]/i_c"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="ka=#dgjqJlX_Q3$(8)PL"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="w|ZP/t7([XFT5/a`YBfm"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="RVcLVh7A%NPHrKC,e,O}"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="debug" id="[oa8Ty][DDGQyYCf?mnK"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="vmgFXuvhImQOXj)vGJk?"> <field name="TEXT">test</field> </shadow> <block type="convert_object2json" id="+CNt]EBmjk.l;OTi.Gin"> <field name="PRETTIFY">TRUE</field> <value name="VALUE"> <block type="variables_get" id="WVsa}FWE`]usG4M5[=aO"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> </block> </value> <next> <block type="controls_if" id="GeN%T^w?f1{_0w;Vhogn"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="6[K[^keh:wL5hH4x$k_Y"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="MGfJpO#=Oog#a%LsWVS*"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <value name="B"> <block type="logic_null" id="h5aReyjx4Gm.bgH,t:;Z"></block> </value> </block> </value> <statement name="DO0"> <block type="control" id="L=B@/`FE2b*D_5JRNyB]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="|WtiQ]H2BJo{7rU2OL8m"> <field name="VAR" id="TsBWRSFXNh.A;/$0K0mK">warnungenA7</field> </block> </value> <next> <block type="debug" id="5S.[fUf?YVNtSk?^fi;]"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="_`4kv.%qk509{^U:0=x%"> <field name="TEXT">Wert aus Zielfeld nach Schreiben</field> </shadow> </value> <next> <block type="timeouts_wait" id="F6M,M)@kAE1y*X$Z_{k1"> <field name="DELAY">2</field> <field name="UNIT">sec</field> <next> <block type="debug" id="We4O.AYy#(k}lFUKpkhV"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="VxV;C5$ACPvtXV@)0WD:"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="mFo]oH_hkpAExSxfvAY|"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="Y,pqIP!w|?qAr}JdMZ2I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Jarvis.Traffic.stau_single_string</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_null" id="f!EPz8g[A/%%a5N6X#=q"></block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>In der AdminGUI:

Das wäre identisch zu dem Verhalten, wenn ich im Blockly das json zu string konvertiere:

Wenn ihr einen Tipp habt, gerne. Wie gesagt, das Script und auch die Datenpunkte liefen bis vor kurzem.
@gutgut30 sagte: Blockly mal etwas runtergebrochen und hier angegängt:
Die Variable warnungenA7 enthält ein Array, lässt sich also ohne jegliche Wandlung in einen DP vom Typ "array" schreiben.
So funktioniert es bei mir (JS v9.0.11):
[ { Strecke: "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg> ⬆️ Hamburg-Hausbruch - Hamburg-Volkspark", Dauer: "<b><span style='color:red;'>+14 Min.</span></b>", Details: 'Stockender Verkehr (⌀: 29 km/h).' }, { Strecke: "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg> | Hamburg-Waltershof - Hamburg-Waltershof", Dauer: '', Details: 'Stockender Verkehr (⌀: 19 km/h).' }, { Strecke: "<svg width='38' height='24' viewBox='0 0 38 24' style='vertical-align:middle;'><rect width='38' height='24' rx='5' fill='#1976D2'/><text x='19' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='13' fill='white'>A7</text></svg> ⬇️ Hamburg-Nordwest - Hamburg-Waltershof", Dauer: "<b><span style='color:red;'>+4 Min.</span></b>", Details: 'Langsamer Verkehr (⌀: 48 km/h).' }, sequence: true, keepSingleton: true ]DP "Liste" ist vom Typ "array" und der Wert ist als JSON lesbar.
-
Besten Dank für die Unterstützung. Ich schaue mir das noch mal in Ruhe an. Ich nutze übrigens JavaScript 9.0.18, vielleicht gab es zwischen 9.0.11 und 9.0.18 ja auch Anpassungen.
Insg. hat sich die Stau-API aber auch geändert, mein JSONATA passt nicht mehr. Ich muss also eh an dieses Gebastel ran. Vielleicht überführe ich es dabei direkt von Blockly in reines JavaScript.
(Export) und die
.