NEWS
[Gelöst] Script rechnet nicht (mehr) wie es soll
-
Edit: ich habe die 300ms rausgenommen. Läuft im Augenblick. Mal beobachten. Dann setze ich auf [gelöst].
@ahnungsbefreit ich habe mal die Variable eingebaut. Hat sich nichts geändert. Oder habe ich etwas falsch gemacht? Ich habe da eine Verzögerung von 300ms drin. Vielleicht die mal auf 0 setzen? Aber das kann es doch auch nicht sein.
Es werden wieder 12 dazu addiert. Sollte nur 1 dazu kommen.
Ich habe noch debug eingebaut, um den Wert der Variable zu überprüfen. Wert der Variable passt. Aber DP nicht bzw. der DP wird alle 15min resettet läuft aber zwischendurch nach oben. Warum läuft der DP nach oben. Ich kann es mir nicht erklären. Ein Phantomscript im Hintergrund?
javascript.0 2021-02-03 11:30:02.150 warn (13084) script.js.BM.KG.BM_KG_Waschraum_Badewanne: 0 javascript.0 2021-02-03 11:45:02.109 warn (13084) script.js.BM.KG.BM_KG_Waschraum_Badewanne: 0
DP:
-
@lobomau Sind die beiden Blocklys in einem Script? Wenn ja, kannst Du dir den DP jetzt ganz sparen. Wenn nein, kann es so nicht funktionieren, da Du immer am Anfang erst wieder die Variable auf den Wert des DP setzen musst.
-
@ahnungsbefreit ja, ist alles in einem Script. Den DP brauche ich um es in einem Diagramm darzustellen. Oder geht das auch anders?
So sieht es aus, wenn es funktioniert:
-
@lobomau ich würde noch ein paar Optimierungen sehen aber eigentlich sollte das funktionieren...
-
@ahnungsbefreit das war es alles nicht. Ich komme zurück auf meine Phantomscript-These oder verrückter DP
Ich habe einen zweiten DP2 erstellt "Waschraum-Counter2" und das Script entsprechend angepasst. dieser DP2 verhält sich jetzt richtig (wie meine anderen 20 Script die genauso aufgebaut sind).
Und jetzt wird es spooky: der erste DP1 "Waschraum-Counter" macht fröhlich weiter, obwohl es kein Script mehr gibt! Für mich ist das Thema erstmal gelöst auch wenn ich es nicht verstehe und das Gefühl habe, dass da im Hintergrund etwas parallel weiterläuftDP1:
DP2:
Das Script werde ich nur dahingehend modifizieren, dass nicht mehr auf "wahr" sondern auf Änderung von "wahr" getriggert wird. Der BWM meldet nämlich 2x "wahr" kurz hintereinander.
-
@lobomau sehr komisch, eigentlich sollte man diese Scripte finden können. Aber immerhin geht es jetzt.
-
@ahnungsbefreit ich habe es gefunden! Alles mein Fehler!
Beim copy-paste von diesem Script habe ich irgendwie vergessen den DP anzupassen. Also ein anderes Script hatte auch diesen DP drin.
Der javascript-Adapter hat ja eine tolle Suchfunktion. Ich habe "Waschraum" eingetippt und da kam das andere Script mit dem selben DPSuchfunktion: (nachdem das andere Script angepasst worden ist)
-
@lobomau Sehr gut, also doch keine Gespenster in Deinem ioBroker
Aber habe ich das richtig verstanden, dass Du exakt das gleiche Script zig-fach laufen hast? Das ruft nach Optimierung, redundanter Code ist immer eine Fehlerquelle... -
@ahnungsbefreit ja, bei >99% der Fälle sitzt das Problem vor dem Monitor.
Aber Optimierung sehe ich nicht als nötig an. Die Scripte sind ja nicht identisch, haben unterschiedliche Trigger und DP. Oder übersehe ich etwas? -
@lobomau Wenn nur Trigger und DP unterschiedlich sind, kann man das bestimmt zusammenfassen in einem Script, das auf alle Trigger reagiert und dann den richtigen DP schaltet. Das ist einmal etwas Arbeit aber erspart später Aufwand bei Änderungen im Gerätepark und Script-Änderungen...