Blockly - Objekt Bausteine - "State value to set for "meinObjekt" has to be stringified but received type "object""
Ich habe jetzt eine längere Zeit daran genagt, aber ich steige nicht ganz dahinter.
Wahrscheinlich zu 99,9% bin ich hier der DAU hinterm Bildschirm.
Mir ist die Meldung im LOG nicht klar.
Warum kommt sie zuerst nicht und dann bei dem unteren Abschnitt, wo ich genauso
die Variable = "objekt" mit einem object-typ Inhalt habe (so stelle ich mir das vor als Nicht-Coder)
in einen Datenpunt = "meinObjekt" schreibe/aktualisiere, der als Zustands-Typ "object" hat,
welcher dann ja eh o.a. object-typ laut Variable beim Schreiben erwartet (oder nicht?).
Als Debug Log bekomme ich die Ausgaben korrekt.
Nur die Meldung bzgl. "has to be stringified..." erscheint für den Trigger-Abschnitt.
Danke für euren Hinweis, wo hier mein Fehler liegt.
_
_
Nachfolgend "Test 2", wo ich den Trigger (unterer Abschnitt mit Fragezeichen" dann ergänzt habe, wo die Meldung im LOG erscheint.
(Im Trigger habe ich ein Bool-DP = einen Lichtschalter zum Triggern / zum testweise Auslösen gemacht, nur als Info)
_
_
Nachfolgend "Test 1", wo ich erst nur den oberen Abschnitt aus "Test 2" versucht hatte, wo alles ohne Meldung durchläuft.
in einen Datenpunt = "meinObjekt" schreibe/aktualisiere, der als Zustands-Typ "object" hat,
Wenn der Typ wirklich object ist, kümmert sich der JavaScript-Adpater darum, dass aus dem Objekt JSON wird (und andersrum). Andernfalls musst Du Dich selbst um die Konvertierung von/nach JSON kümmern.
@haus-automatisierung
Ja, der Zustandstyp ist object, darum bin ich im Unklaren, warum die stringifie LOG Meldung kommt.
Ich dachte ich hätte es korrekt verstanden laut deinen Kurs-Videos.
Jetzt gerade habe ich es nochmal versucht mit dem Blockly, das ich bereits angehängt habe im ersten Post.
Und jetzt ist es witzigerweise so, dass es beim Start des Skripts oder auch beim Refreshen (das ja auch nur ein Stop/Start ist)
die stringifie Meldung im oberen Teil des Blockly entsteht.
Und im unteren Teil nicht, im Trigger Bereich. (wo ich im Start Post gestern meinte, nur dort kommt die Stringifie Meldung).
=> Die Stringifie Meldung kommt aber nicht, wenn ich einen PAUSE Block dazwischenlege ? !
Ich hab Bildschirmaufnahmen gemacht zum besseren Verständnis, was ich meine.
Habe auch beim aktualisieren des DPs mal Objekt nach JSON (variable) dazwischenghängt.
Kommt im LOG verständlicherweise die gelbe Warnung, dass ich einen string damit hinzufügen möcht,
das aber nicht zulässig ist, da der DP einen object Wert verlangt.
Ich glaube ich muss die stringifie Meldung (ist ja kein Warning oder Fehler Loglevel)
im Log ignorieren. Zumindest das Blocklyskript, das ich für meine Anwendung gemacht hatte,
funktioniert einwandfrei. Bis auf die Meldung stringifie Meldung im Log.