Problem med blockscen och variabler

Post Reply
Perjar
Medlem
Posts: 26
Joined: 30 Oct 2017, 23:18
6
Location: Stockholm

Hej,

Vänder mig till forumet med en fråga om vad jag gör för fel med min blockscen nedan som inte gör det jag tycker den skall göra.

Syftet med scenen är att tända några fönsterlampor vid:
1. Solnedgång. Fast inte om solnedgången är väldigt sent på kvällen/natten som den ju kan vara på sommaren.
2. På morgonen 06:45. Fast bara om det är före soluppgång.

Jag har motsvarande scen som släcker lamporna:
1. På kvällen 23:30
2. Vid soluppgång

Det är tänd-scenen som inte funkar som jag trodde. Den tvingar lamporna att vara på under kvällen ända till 23:30 även om jag släcker dom manuellt i förväg.

Jag vill trigga på soluppgång och solnedgång så jag har gjort scener som sätter variabeln Daylight till Yes eller No:
Daylight - Yes.png
Daylight - Yes.png (10.23 KiB) Viewed 3186 times
Daylight - No.png
Daylight - No.png (10.19 KiB) Viewed 3186 times
Men eftersom solens upp- och nedgång varierar så kraftigt under året så vill jag samtidigt ha koll på mellan vilka timmar som kan anses vara dagtid respektive nattetid. Jag vill ju inte att lampor skall gå på kl 01:45 vilket är efter läggdags bara för att det råkar vara sommar och solen är uppe sent. Under den tid som jag själv definierar som "Natt" då skall det vara släckt, oavsett solens läge mao.

Alltså har jag gjort följande två scener för att bestämma om det är dag eller natt och sätter variabeln Timeofday:
Timeofday - Day.png
Timeofday - Day.png (10.9 KiB) Viewed 3186 times
Timeofday - Night.png
Timeofday - Night.png (10.92 KiB) Viewed 3186 times
Så då tänkte jag att följande blockscen borde tända på morgon och kväll:
Tända belysning.png
Det gör den också.

MEN: Den håller också belysningen tänd hela kvällen till kl 23:30 även om jag manuellt släcker en lampa i förväg. Det är detta som jag inte begriper mig på.
Det verkar som att if-satsen i min scen utvärderas typ var 30:e sekund och om det då är mörkt (Daylight = No) samt dag (Timeodday = Day) så tänds lamporna om de nu skulle varit släckta.

Varför? Om jag gör scenen busenkel genom att ta bort variablerna ur if-satsen så funkar det bra. Alla lampor släcks kl 23:30 och om jag jag skulle få för mig att släcka dom tidigare manuellt så förblir dom släckta, dom hålls inte vid liv fram till 23:30 inte.

Vad missar jag? Är det inte tillståndsförändring hos variablerna som utlöser utvärdering av if-villkoret i scenen?

En annan fråga är ju om jag krånglar till det i onödan. Finns något annat sätt att åstadkomma det jag vill?


Jag har en extrafråga: I villkoret "Days of week" som jag använt ovan kan man välja alternativet "At any time". En sådan if-sats är ju alltid sann så när körs en sådan scen egentligen?
Fibaro HC2 4.600
Ett 60-tal pryttlar, de flesta från Fibaro, några från Qubino och Schneider. Några egenutvecklade baserade på Z-Uno. Integration mot Nibe API och Verisure API
Post Reply