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
-
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.
-
@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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden