Ik loop tegen het volgende aan:
De route die ik 's ochtends door het huis loop is als volgt:
Woonkamer -> Keuken -> Woonkamer -> Voordeur
De PIR in de woonkamer ziet mij als eerste dus gaat de lamp aan in de woonkamer, vervolgens loop ik naar de keuken maar daar gaat de lamp niet aan. Omdat "woonkamerpir == 'On'" gedurende 2 minuten (Xiaomi sensor) valide is stopt het dzvents-script voor 2 minuten bij de eerste "IF", daarna gaat de keukenlamp pas aan:
Dit heb ik nu opgelost door de volgorde van de IF en ELSEIF's aan te passen tegengesteld aan de loop-route door het huis:
Maar dit is niet altijd op deze manier op te lossen. Is er een manier om bij een matchende "IF" het script toch door te laten lopen? Ik ben niet zo'n scripter, dus wellicht is het een wat 'domme' vraag...
De route die ik 's ochtends door het huis loop is als volgt:
Woonkamer -> Keuken -> Woonkamer -> Voordeur
De PIR in de woonkamer ziet mij als eerste dus gaat de lamp aan in de woonkamer, vervolgens loop ik naar de keuken maar daar gaat de lamp niet aan. Omdat "woonkamerpir == 'On'" gedurende 2 minuten (Xiaomi sensor) valide is stopt het dzvents-script voor 2 minuten bij de eerste "IF", daarna gaat de keukenlamp pas aan:
code:
1
2
3
4
5
6
| if woonkamerpir == 'On' then [zet woonkamerlamp aan] elseif keukenpir == 'On' then [zet keukenlamp aan] elseif voordeur == 'Open' then [zet woonkamer en keukenlamp uit] |
Dit heb ik nu opgelost door de volgorde van de IF en ELSEIF's aan te passen tegengesteld aan de loop-route door het huis:
code:
1
2
3
4
5
6
| if voordeur == 'Open' then [zet woonkamer en keukenlamp uit] elseif keukenpir == 'On' then [zet keukenlamp aan] elseif woonkamerpir == 'On' then [zet woonkamerlamp aan] |
Maar dit is niet altijd op deze manier op te lossen. Is er een manier om bij een matchende "IF" het script toch door te laten lopen? Ik ben niet zo'n scripter, dus wellicht is het een wat 'domme' vraag...