NEWS
Merkwürdiges Verhalten 1 Jahr laufender Skripte...
-
@XxJooO sagte:
nur nach 4 Sekunden auf false getriggert und das Rollo stoppt.
Da laufen mehrere Intervalle parallel. Starte mal die Instanz neu.
@XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
hoch oder runter geändert: undefined
Weshalb undefined ? Welcher Wert wird geloggt ?
-
Ich glaube, es kommt von diesem debug
Was sollte "value" denn hier ausgeben?
-
Instanz und ioBroker habe ich unterwegs schon zigfach neu gestartet. Habe auch schon neue Instanzen angelegt und versucht, das in einer weiteren auszuführen. Immer gleiches Verhalten...
-
@XxJooO sagte:
es kommt von diesem debug
Dort gibt es die lokale Variable value nicht. Wenn zwei Datenpunkte triggern, sollte man im Debug den Namen und den Wert ausgeben.
Weshalb Trigger auf "wurde aktualisiert" ?
-
Ok, werde ich versuchen und neu schauen.
aktualisiert hat ja ein Jahr funktioniert. Würde hier aktualisiert und geändert einen Unterschied machen? Ich würde in diesem Fall ja erwarten, dass wenn sich aktualisiert hat, der DP sich auch geändert hat.
-
Ich habe in meinem Test jetzt "Name" und "Wert" unter Variablen angelegt. Offensichtlich ist das nicht richtig, denn die Ausgabe ist
-
@XxJooO sagte:
dass wenn sich aktualisiert hat, der DP sich auch geändert hat.
Der DP (Zeitstempel) schon, aber nicht unbedingt der Wert.
-
@XxJooO sagte:
Offensichtlich ist das nicht richtig, denn die Ausgabe ist
Name und Wert sind unter "Trigger" entnommen ?
-
@paul53 sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
@XxJooO sagte:
dass wenn sich aktualisiert hat, der DP sich auch geändert hat.
Der DP (Zeitstempel) schon, aber nicht unbedingt der Wert.
Das verstehe ich schon soweit. Aber der DP in diesem speziellen Fall würde ja nur aktualisiert, wenn er sich auch geändert hat. Bzw. hilft mir das nicht herauszufinden, was ihn geändert oder aktualisiert hat...
-
@paul53 sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
@XxJooO sagte:
Offensichtlich ist das nicht richtig, denn die Ausgabe ist
Name und Wert sind unter "Trigger" entnommen ?
Nein, aber habe es jetzt gefunden und etwas sehr essenzielles gelernt!
-
Vielen Dank für die Hinweise. Mit diesem debug bin ich einen gehörigen Schritt weiter:
javascript.0 2020-06-14 14:53:58.092 info (2413) script.js.Rolladen.Rollladen_Test2: Rolladen-Jo-vorne.runter: false javascript.0 2020-06-14 14:53:41.944 info (2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false javascript.0 2020-06-14 14:53:40.351 info (2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true javascript.0 2020-06-14 14:53:38.299 info (2413) script.js.Rolladen.Rollladen_Test2: Rolladen-Jo-vorne.runter: false javascript.0 2020-06-14 14:53:38.295 info (2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false javascript.0 2020-06-14 14:53:28.839 info (2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true javascript.0 2020-06-14 14:53:28.791 info (2413) script.js.Rolladen.Rollladen_Test2: Rolladen-Jo-vorne.runter: true javascript.0 2020-06-14 14:53:28.788 info (2413) script.js.Rolladen.Rollladen_Test2: Verzögerung für runter: 29300 javascript.0 2020-06-14 14:53:28.788 info (2413) script.js.Rolladen.Rollladen_Test2: Soll-Position geändert: 100
Soll wird von 0 auf 100 gestellt
Die Laufzeit sind 29300 Hunderstel Sekunden
Rolladen-Jo-vorne.runter wird auf true gesetzt
Fenster vorne.schliessen wird auf true gesetzt, das ist der alias für den Sonoff-Schalter
jetzt!!!
Fenster vorne.schliessen (der alias des Schalters) wird 10 Sekunden später auf false gesetztWas danach kommt ist mir noch nicht ganz klar.
Bei 14:53:58.092 aber, also am Ende der Laufzeit von 29300 Hunderstel Sekunden wird Rolladen-Jo-vorne.runter korrekt auf false gesetzt.Da ich mir die Änderung von "Fenster vorne.schliessen (der alias des Schalters) wird 10 Sekunden später auf false gesetzt" nicht anders erklären kann, da das Skript ja nichts triggert, frage ich mich, ob hier der Schalter nicht den Trigger auslöst. Somit wäre das ein Problem der Tasmota Firmware. Jetzt brauch ich nochmal einige Zeit um das zu loggen...
-
@XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
Die Laufzeit sind 29300 Hunderstel Sekunden
nicht ganz
Das sind Tausendstel = Millisekunden -
hast Recht, das erklärt aber leider nichts vom Verhalten...
-
!!!Ok, ich habe den Fehler endlich gefunden!!!
Es liegt an der Tasmota. Wenn ich Power1 für abwärts auf true setze, dann wird als Rückmeldung der DP 10 Sekunden später auf false gesetzt.
Der Schalter bleibt aber an... Das Skript aber registriert die Änderung des DP auf false und wird in Rückmeldung falsch getriggert.Es hat wahrscheinlich was damit zu tun, dass ich teleperiod von 300 auf 100 gesetzt habe. Der DP wird nämlich exakt 10 Sekunden später auf false gesetzt. Ich werde mal ein issue aufmachen. Vielen dank an Alle, die sich an der Fehlersuche beteiligt haben!!! Ich setze für den Moment mal auf gelöst.
-
@XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
Der DP wird nämlich exakt 10 Sekunden später auf false gesetzt
Damit hatte ich seit 1.01.2020 herum gekämpft. Bis ich herausgefunden hatte, warum meine Lichter nicht mehr Schalten wie sie sollen. Hatte auch hierzu schon im Forum angefragt wegen diesem Problem, jedoch ohne Erfolg.
Beispiel:
Ich schalte ein Licht ein, jedoch wird der state per Teleperiod "überschrieben". und der DP steht auf false, Lampe ist aber weiterhin an.
Habe sämtliche Tasmota Versionen rauf und runter gespielt, sämtliche sonoff Adapter Versionen ausprobiert, allerdings blieb das Problem bestehen.
Als ich jedoch meine VM, (die in Proxmox läuft) von debian stretch auf buster aktualisiert und anschliessend node v10 auf v12 angehoben hatte, funktionierte wieder alles normal. -
Hallo @crunchip,
ich habe jetzt noch mal ein wenig anders experimentiert. Ich erkenne, dass der DP nach Ablauf der teleperiod-Zeit von true auf false geht. Der Schalter bleibt aber an und das wird auch korrekt im Webinterface des T2 angezeigt.
Ich vermute also eher ein Problem im Sonoff-Adapter und mache da mal ein issue auf. Möglicherweise hat sich irgendwas bei Tasmota geändert, das beim Sonoff-Adapter eingepflegt werden muss...
Buster und node 12.18 laufen bei mir schon...
-
@XxJooO der sonoff Adapter läuft aber bereits seit 27.11.2019 mit v2.3.3.
@XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:
Der Schalter bleibt aber an
ist richtig, war bei mir auch so, das meinte ich, deshalb hatte ich ja "überschrieben" oben erwähnt.
-
Leider können wir daraus nicht herleiten, ob der Sonoff-Adapter den übermittelten Wert falsch interpretiert, oder ob Tasmota den falschen Wert als Rückmeldung absetzt. Umso merkwürdiger finde ich, dass Dein Update auf Buster und von node dieses Verhalten eliminiert haben. Ich habe ein issue beim Sonoff-Adapter erstellt. Mal sehen, ob die Jungs was finden. Im Moment denke ich, dass mir ein Hochsetzen der teleperiod als Workaround helfen wird. Das wird dann mein letzter Test für heute.
-
@XxJooO einen Link auf die schnelle, was ich gefunden habe
https://forum.iobroker.net/topic/33225/sonoff-pow-status-im-iobroker-stimmt-nicht-übereinich hatte als workaround damals Teleperiod ausgeschalten und bei allen anderen Geräten, bei denen ich Strom erfasse und permanent eingeschaltet sind, mit Teleperiod 10 laufen