NEWS
Blockly verhindern von zeitgleicher/mehrfacher Ausführung
-
Hallo,
ich habe ein Blockly erstellt, welches meine eingeschalteten Licht zählt und auch die Namen für die Vis anpasst.
Es gibt hier auch irgendwo ein Javascript welches die gleiche Funktion bietet, da ich aber JS nicht kann habe ich es mir zum zusammenklickern in Blockly nachgebaut.
Das läuft auch alles so weit mit einer Ausnahme, werden mehrere Lampen Zeitgleich ein- oder ausgeschaltet (was im Treppenhaus bei 4 Aktoren oft vorkommt) verzählt sich das Blockly da es mehrfach ausgeführt wird.
Mit einen „Entpreller Datenpunkt“ geht es nicht da bei z.B. 4 gleichzeitig geschaltenen Lampen zwar der erste Durchlauf geht aber danach die restlichen 3 Durchläufe auch Zeitgleich ablaufen.
Wie könnte ich jedes auslösen gesondert behandeln?
Hier Das Blockly
-
@xbit
Du machst meiner Meinung nach einen technischen Fehler.
Warum fragst du jedes Mal alle Lampen durch und zählst wie viele an sind ?
Statt dessen konntest du z.bsp. In einer Liste die Lampen merken die an sind. Wenn sich der Status einer Lampe ändert kannst du dann schauen:Ist der neue Status „an“ => teste ob der Name der Lampe in der Liste ist. Wenn nein => Name der Liste hinzufügen
Ist der neue Status „aus“ => bestimme den Index des Namens in der Liste. (0 oder -1 heißt nicht vorhanden) wenn vorhanden, entferne das Element am Index aus der Liste.
Die Anzahl der eingeschalteten Lampen entspricht dann immer der Anzahl der Einträge in der Liste.A.
-
Okay vielen Dank da muss ich mal überlegen wie ich das umsetze und werde es mal so versuchen.