Ok, dann ist sie Situation etwas anders. Das Script reagiert immer, wenn der Wert sich ändert, also auch, wenn er zurückspringt.
Du benötigst eine Variable (Bolean - True oder False), der du den Licht Status zuweist. Bedeutet also folgendes:
Taster gedrückt, Wert wird 0 (onchange)
Wenn (if) Wert = 0 und Licht an = false schalte Licht an und setze Variable Licht auf True
Ansonsten (else)
Schalte Licht aus und setze Variable Licht auf False
Wenn der Schalter den Wert 2 setzt wird zwar auch das Script aufgerufen, aber nicht durchlaufen, wegen der if Abfrage
Bei 0 läuft das Script durch und prüft ob Licht an ist, du schaltest also mit dem ersten Klick ein und mit dem zweiten Klick wieder aus.
Probier das mal umzusetzen. 😉