30 Dec 2024, 14:48

@kerschte_de

Die Logik für den Status liegt ausschließlich im Blockly. Nur der Status "active" wird im NSPanel Skript gesetzt.

Das würde gem. der Blockly-Logik aber ebenfalls bedeuten, dass der Timer die "0" nicht erreicht.

Prüfe das bitte mal mit Debug-Blöcken im Blockly.

Ab dem Zeitpunkt, wenn das NSPanel Script den Status "active" setzt, spielt sich alles hier ab:

8cceca27-4a81-465c-9a51-505c153f62aa-image.png

Der Timer dekrementiert bis zur "0" bei Status "active" und geht dann eine Sekunde später in den Else-Zweig und sollte dort den Status auf "idle" umbiegen.

Diese Zeile ist dabei sogar überflüssig:
1e643eac-923a-43c7-a22f-ccf32789bc02-image.png

solange die 0 im oberen Zweig nicht erreicht wird, wird vACTUAL dekrementiert. Auch bis 0...

Hier müsste eigentlich "Intervall" statt vState stehen. Da es keinen Timer "vState" gibt. Das sollte doppelte Ausführungen verhindern. Wird aber in der Regel nur einmal getriggert.
91f635dd-cc4b-4c6d-9485-be407bf247e4-image.png