NEWS
Script schreibt Wert nicht in Datenpunkt?!
-
ich mal wieder
Habe ein Script das bisher funktionierte, aber nun bekomme ich im log eine Fehlermeldung
Es geht darum den Wert "4" (also die Differenz der beiden Werte "2+1" ) dieser soll in den Datenpunkt, des Thermostats geschrieben werden, um die OffsetTemperatur einzustellen. Es kommt nun folgende Fehlermeldung:
Wenn ich aber mache:
funktioniert es, ich versteh das nicht?
-
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
Habe ein Script das bisher funktionierte,
Grundsätzlich:
Das Skript hat doch gar keinen Trigger - das läuft nur wenn du es manuell startest.Aktuell:
Hast du evtl. den js-Adapter oder den controller upgedatetDie Meldung - State "0" not found deutet darauf, dass die Zuordnungen der Blockly IDs nicht stimmen.
Den schreibe Block kenne ich nicht. Aber wenn da ID steht sollte da hinter IMHO nicht Wert_von stehen
-
@Homoran sagte in Script schreibt Wert nicht in Datenpunkt?!:
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
Habe ein Script das bisher funktionierte,
Grundsätzlich:
Das Skript hat doch gar keinen Trigger - das läuft nur wenn du es manuell startest.das ist ja der Sinn wenn ich was Teste
Aktuell:
Hast du evtl. den js-Adapter oder den controller upgedatetja den javascript Adapter gestern von 3.6.5 auf 4.1.12
Die Meldung - State "0" not found deutet darauf, dass die Zuordnungen der Blockly IDs nicht stimmen.
Zuordnung, seh ich die wo?
Den schreibe Block kenne ich nicht. Aber wenn da ID steht sollte da hinter IMHO nicht Wert_von stehen
versteh jetzt nicht wie das gemeint ist -
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
Zuordnung, seh ich die wo?
indem du (je)den Block anklickst und siehst ob der dort eingetragene Datenpunkt noch stimmt
Dein EDIT im ersten Post duetet aber eher auf meine Vrmutung zu dem Schreibe block (ID != Wert) hin
-
ich mach es jetzt so , so funktioniert es , wieder !
-
@MyzerAT
Das könnte Probleme geben.Wenn du die Verzögerung eingebaut hast um auf das Ergebnis der Rechnung zu warten, hilft das nichts.
Dann musst du mit einem Timeout arbeiten..
So wird direkt (ggf. mit noch alten Werten) gearbeitet und erst verzögert eingetragen -
er kann ja mit dem alten wert rechnen, soll nur 2x am Tag den wert ermitteln und den dann übergeben, da ist es egal ob 10 Sekunden später
-
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
da ist es egal ob 10 Sekunden später
es geht nicht um die 10 Sekunden,
es geht darum dass er den Wert von vor einem halben Tag nimmt, weil der neue noch nicht fertig ist
-
um 5:50 stellt er den Offset Wert3 auf "0°C" auf das hin driften die Werte2+1 (Küche+Thermostat) auseinander (das ist so gewollt) um 6:00 wird dann diese Differenz berechnet & aufgerundet und wieder in den Wert3 zurück geschrieben und dann 10 Sekunden später in den Wert4 als Offsettemperatur für das Thermostat.
-
@MyzerAT
Wir reden aneinander vorbei.deine Verzögerung von 2000 und 10000 ms KANN zu problemen führen, WENN bis zur Abarbeitung dieser Zeilen die Berechnung aus der Zeile davor NICHT fertig ist und bereits in den Datenpunkt Temp_offset_küche geschrieben wurden
Dann werden die alten Werte aus Temp_offset_küche zur berechnung herangezogen.
Die Verzögerung wirkt NUR auf das Schreiben in die Werte, bewirken jedoch nicht dass die Abarbeitung der jeweiligen Zeile verzögert wird -
so müsst es aber passen ?
-
@MyzerAT
KANN, Muss aber nicht.Die Frage war:
Wofür hast du die Verzögerung angehakt und eingetragen? -
ich hatte schon die Erfahrung gemacht das ohne es zu Probleme kommt bei manchen Scripten und das es hier nicht eilt in dem Script , habe ich diese Verzögerung großzügig ausgelegt !
-
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
ohne es zu Probleme kommt bei manchen Scripten
und dann solltest du mit einem timeout-Block anstelle der Verzögerung arbeiten
-
Beste und sicherste Vorgehnsweise:
Datenpunke in lokale Variablen.
Berechnungen mit den lokalen Variablen durchführen.
Ergebnisse in Datenpunkte schreiben.Auch mit Timern und Verzögerungen kann die asynchrone Abarbeitung zuschlagen.
Bei der 4.1.x schlimmer als vorher. -
pls, hast du mal ein Beispiel Blockly für mich ?
-
@rantanplan sagte in Script schreibt Wert nicht in Datenpunkt?!:
Berechnungen mit den lokalen Variablen durchführen.
und die sind SICHER schon fertig berechnet, wenn man damit weiter rechnen will?
-
@Homoran sagte in Script schreibt Wert nicht in Datenpunkt?!:
@rantanplan sagte in Script schreibt Wert nicht in Datenpunkt?!:
Berechnungen mit den lokalen Variablen durchführen.
und die sind SICHER schon fertig berechnet, wenn man damit weiter rechnen will?
Nun, wenn man da keine Berechnung wie pi bis zur 100. Nachkommastelle berechnen hat, glaub ich schon.
-
@rantanplan
Dann sind wir uns ja einig -
@MyzerAT sagte in Script schreibt Wert nicht in Datenpunkt?!:
pls, hast du mal ein Beispiel Blockly für mich ?