NEWS
Script holt falschen Wert vom Objekt
-
@hmanfred
Darf ich fragen, weshalb Du jede Minute nachschaust und weshalb Du nicht als Trigger das Ändern des Datenpunktes "connection" nimmst? -
@BBTown
Das gepostete Script ist nur zum Testen eingerichtet.Im richtigen Leben werden von einem Script viele Datenpunkte abgefragt. Da es verschiedene Typen sind (Boolsch, Wertelisten, Zahl) kann man sie (zumindest in Blockly) nicht so einfach als Trigger verodern.
Deshalb läuft dieses Script im 5-Minuten-Rhythmus und arbeitet alle Datenpunkte ab.Aber auch wenn ich nur diesen einen Datenpunkt als Trigger nehmen würde: wenn JS in meinem Beispiel den DP als false erkennt, obwohl er true ist - wie soll dann getriggert werden wenn er von (eigenlich nicht)false auf (wirklich(false) "wechselt"?
Und zuletzt: das (nachgewiesene) Problem, dass JS einen falschen Wert verarbeitet bleibt und erschüttert ziemlich heftig mein Vertrauen in die Zuverlässigkeit solcher Abfragen.
-
@hmanfred sagte in Script holt falschen Wert vom Objekt:
kann man sie (zumindest in Blockly) nicht so einfach als Trigger verodern.
Hast Du dazu ein Beispiel?
Ich hatte bisher keinen Datenpunkt der nicht als Trigger hätte herangezogen werden können.Wenn Du alle x-Minuten einfach ins blaue hinein Abfragen losschießt, und das ggf. auch noch zig mal, dann erzeugst Du einen Overhead, den Du durch gezieltes Triggern vermeidest.
Die Frage ist nun, ob Du ersatzweise den Trigger "connection" anstelle eines minütlichen Pollings ausprobierst - und wenn es funktioniert, Du den Fehler anderweitig suchst, - oder ob Du den Tipp ignorierst und im "heftigen Misstrauen" verbleibst?!
-
@BBTown sagte in Script holt falschen Wert vom Objekt:
Ich hatte bisher keinen Datenpunkt der nicht als Trigger hätte herangezogen werden können.
Aber bei 50 DPs wird es in Blockly schon zur Fingerakrobatik
-
Letzte Änderung und Zeitstempel haben unterschiedliche Zeiten.
Was ist um 1:34 und um 11:10 passiert?
Mag vielleicht nichts miteinander zu tun haben, aber ist mir halt aufgefallen -
@haselchen
1:34 war die Wartung fertig und der Rechner wurde neu gestartet. Da das Test-Script ja ein Dauerläufer ist und der falsche Wert abgeholt wird, wechselte der Testdatenpunkt von true (so stand er ja vor dem Reboot) auf false.11:10 war der letze Lauf des Scripts vor dem Screenshot.
-
@Homoran sagte in Script holt falschen Wert vom Objekt:
@BBTown sagte in Script holt falschen Wert vom Objekt:
Ich hatte bisher keinen Datenpunkt der nicht als Trigger hätte herangezogen werden können.
Aber bei 50 DPs wird es in Blockly schon zur Fingerakrobatik
Richtig. Ich könnte sie zwar alle auf Aktualisierung oder Änderung verodern - ich frage sie ja im "Dann" explizit nochmal ab. Mit Cron alle 5 Minuten ist's halt einfacher zusammenzuklicken.
Aber nochmal: das ist ja nicht das Problem.
-
@hmanfred sagte in Script holt falschen Wert vom Objekt:
das ist ja nicht das Problem.
Ist das so?
Wenn der Raspi vollkommen überlastet ist, kommen schon mal seltsame Dinge dabei raus
-
@Homoran sagte in Script holt falschen Wert vom Objekt:
@hmanfred sagte in Script holt falschen Wert vom Objekt:
das ist ja nicht das Problem.
Ist das so?
Wenn der Raspi vollkommen überlastet ist, kommen schon mal seltsame Dinge dabei raus
@hmanfred sagte in Script holt falschen Wert vom Objekt:
Nach einer Neuinstallation wegen Umstieg auf eine VM (NUC mit Proxmox) war das Problem weg, ist aber inzwischen schleichend wieder aufgetaucht.
Aber auch ein überlasteter Raspi darf mal verschnaufen - und spätestens dann sollte der richtige Wert abgeholt werden. Das passiert aber erst wieder, wenn einer der beteiligten Adapter neu gestartet wird.
-
Ich muss diesen Thread noch mal hochziehen. Das Problem ist nicht gelöst.
Jetzt möchte ich mal meine Vermutung testen, dass es an der Startreihenfolge der Adapter liegt. Lässt sich die - und möglichst auch ein Delay zwischen den Starts - irgendwo einstellen?