Hej,
Fick tipset att vända mig till detta forum för experthjälp
Har problem med en scen som är uppbyggd med blockprogrammering där hänsyn skall tas till både en variabel samt tid. Se nedan testscen där hänsyn inte tas till tid utan lampan tänds direkt när den aktiveras.
Programmering i HC2 - fastnat
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
Menar du att lampan tänds direkt når du aktiverar variabeln "Hemma-Borta" till "Borta" oavsett vad klockan är?
Eller tänds lampan 18:00 oavsett om variabeln är satt till "Hemma" eller "Borta". I det senare fallet så har den globala variabeln inte satts riktigt.
Kolla för säkerhets skull i Variabelpanelen vad som står där.
Eller tänds lampan 18:00 oavsett om variabeln är satt till "Hemma" eller "Borta". I det senare fallet så har den globala variabeln inte satts riktigt.
Kolla för säkerhets skull i Variabelpanelen vad som står där.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Tack för svar.
Jag menar att lampan tänds direkt när jag aktiverar variablen "Hemma_Borta" till "Borta" oavsett vad klockan är. Lampan tänds direkt utan hänsyn till tidsangivelserna. Jag har provat att vända på tiderna och variablen så tiderna kommer först men det spelar ingen roll.
Jag menar att lampan tänds direkt när jag aktiverar variablen "Hemma_Borta" till "Borta" oavsett vad klockan är. Lampan tänds direkt utan hänsyn till tidsangivelserna. Jag har provat att vända på tiderna och variablen så tiderna kommer först men det spelar ingen roll.
HC2 - 4.080
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
Jag gjorde en test med en scen och en blockscen som din och det verkar vara en bug här. I annat fall så är det en tankevurpa i huvudet på mig .
Kör jag scenen med setGlobal så tänds som du säger lampan oavsett tid, vilket den inte borde göra.
Om man däremot sätter variabeln "Hemma_Borta" i variabelpanelen manuellt så verkar det fungera.
Testa du också med att manuellt sätta variabeln och kolla vad som händer. Det kanske är ett ärende för http://www.bugzilla.fibaro.com
Kör jag scenen med setGlobal så tänds som du säger lampan oavsett tid, vilket den inte borde göra.
Om man däremot sätter variabeln "Hemma_Borta" i variabelpanelen manuellt så verkar det fungera.
Testa du också med att manuellt sätta variabeln och kolla vad som händer. Det kanske är ett ärende för http://www.bugzilla.fibaro.com
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
Men hade du satt en tid som inföll när lampan skulle tändas? Det kan vara en liten eftersläpning på tiden, kanske en halv minut.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
- RH_Dreambox
- Z-Wave Kung
- Posts: 1203
- Joined: 03 Jan 2015, 16:49
- 9
- Location: Vegby
- Contact:
Nej, det borde ju fungera så som du vill. Jag förstår bara inte varför den beter sig så.
Det kan ju vara något jag förbisett, det är ibland lätt att missa enkla självklara detaljer
Men för mig tändes lampan på utsatt tid då jag i variabelpanelen hade satt variabeln manuellt.
Sedan ändrade jag funktionen till att släcka lampan viss tid då parametern ändrats till Hemma. Och det funkade med.
Jag skall testa igen senare. Nu hinner jag inte eftersom jag har raderat testen.
Det kan ju vara något jag förbisett, det är ibland lätt att missa enkla självklara detaljer
Men för mig tändes lampan på utsatt tid då jag i variabelpanelen hade satt variabeln manuellt.
Sedan ändrade jag funktionen till att släcka lampan viss tid då parametern ändrats till Hemma. Och det funkade med.
Jag skall testa igen senare. Nu hinner jag inte eftersom jag har raderat testen.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Om man ändrar en global variabel i variabelpanelen så skapas aldrig någon trigger för scener. Om man vill få även triggning att ske pga ändrat värde så måste man sätta värdet via en scene eller VD.
Kör Home Assistant efter totalt nederlag för HomeSeer
Lyckades komma en bra bit längre men med hjälp av en virtual device istället för en lua-scen.
La in följande kod i main på virtual device och det fungerade;
Dock undrar jag hur jag kan lägga en timer som stänger av lampan igen efter sju timmar? Skulle också vilja tända den vid 21:00 mån, ons, fre och vid 21:30 tis, tor, lör. Går detta att göra?
La in följande kod i main på virtual device och det fungerade;
Code: Select all
local currentDate = os.date("*t");
if ( currentDate.hour > 21 and currentDate.hour < 05 ) and
( fibaro:getGlobalValue("Hemma_Borta") == "Borta" )
then
fibaro:call(41, "turnOn");
end
delay = 10 -- antal sekunder att vänta till nästa koll, i detta fall tio sekunder
fibaro:sleep(delay*1000) -- väntar i antal millisekunder
HC2 - 4.080
Rent generellt så rekommenderar jag att man INTE har kod av denna typ i main på en VD. Och skälet är att den koden körs i princip varje sekund (eller var tredje för att antagligen vara mera exakt) - dvs några sådana och du har fullt sjå med din HC2 rent prestandamässigt. Nu har du ju lagt en sleep(10*1000) - så det underlättar såklart. Men rent generellt alltså...
Visst kan du skala en LUA scen som fixar allt det du beskriver, du kan testa något i denna stil antar jag (nedanstående är ej testat utan skrivet fritt från minnet, så fel kan finnas):
Sedan vet jag inte om jag skulle testa tiden på det sättet du gör, jag tror du gör det enklare för dig om du gör såhär:
Så nu är det bara å starta hacka
Visst kan du skala en LUA scen som fixar allt det du beskriver, du kan testa något i denna stil antar jag (nedanstående är ej testat utan skrivet fritt från minnet, så fel kan finnas):
Code: Select all
Veckodag = os.date("%A")
if Veckodag == "Monday" or Veckodag == "Wednesday" or Veckodag == "Friday" then
<do stuff>
end
Code: Select all
LCurrentDate = os.date("*t") -- Current Date&Time in table format
if ( string.format("%02d", LCurrentDate.hour) .. ":" .. string.format("%02d", LCurrentDate.min) == "09:05" ) then
fibaro:startScene(16) -- Start a scene.....
end
Kör Home Assistant efter totalt nederlag för HomeSeer
Jag vände lite grann på det. Få se nu om jag tänkt rätt.
Först och främst så kör jag en scen som ändrar min variabel till borta-läge.
Då körs detta, OM tiden är mellan 18-05:
Detta startar i sin tur en scen som är uppbyggd enligt följande och i sin tur tänder en lampa vid ett exakt klockslag och är tänd i för närvarande 300 sekunder;
Först och främst så kör jag en scen som ändrar min variabel till borta-läge.
Då körs detta, OM tiden är mellan 18-05:
Code: Select all
local currentDate = os.date("*t");
if ( currentDate.hour > 18 and currentDate.hour < 05 ) and
( fibaro:getGlobalValue("Hemma_Borta") == "Borta" )
then
fibaro:startScene(80)
end
delay = 10 -- antal sekunder att vänta till nästa koll, i detta fall en timme
fibaro:sleep(delay*1000) -- väntar i antal millisekunder
HC2 - 4.080
Hm, detta funkar ju inte eftersom scenen måste stå som aktiv och då körs den varje dag, inte bara när jag satt mig i borta-läge.
Tanken är att om jag ställer mig i bortaläge så vill jag att en lampa ska tändas kl 21 varannan dag och kl 22 varannan dag och stängas av efter sju timmar. Den ska liksom "loopas" så hela tiden om jag t.ex. är bortrest.
Tanken är att om jag ställer mig i bortaläge så vill jag att en lampa ska tändas kl 21 varannan dag och kl 22 varannan dag och stängas av efter sju timmar. Den ska liksom "loopas" så hela tiden om jag t.ex. är bortrest.
HC2 - 4.080
Kommit vidare i tankarna, vad tros om denna lösningen för att uppnå det jag vill?
Känns enklare på något vis.
Virtual device som ändrar borta eller hemma, och i main loop så kontrollerar den var 47:e minut om jag är;
1. borta
2. tiden är mellan 20-24
Stämmer det så kör den scen 81 med ett sätt på/stäng av schema (sju timmar). Lite fullösning kanske men funkar detta som jag tänkt? Initiala tester visar på det och visst det blir inte bestäma olika klockslag varje veckodag utan här blir det i regel lite random med tanke på att kontrollen körs var 47:e minut.
Virtual device: Och scenen som tänder och släcker en lampa
Känns enklare på något vis.
Virtual device som ändrar borta eller hemma, och i main loop så kontrollerar den var 47:e minut om jag är;
1. borta
2. tiden är mellan 20-24
Stämmer det så kör den scen 81 med ett sätt på/stäng av schema (sju timmar). Lite fullösning kanske men funkar detta som jag tänkt? Initiala tester visar på det och visst det blir inte bestäma olika klockslag varje veckodag utan här blir det i regel lite random med tanke på att kontrollen körs var 47:e minut.
Virtual device: Och scenen som tänder och släcker en lampa
HC2 - 4.080
Kan inte uttala mig om lösningen som sådan, men random inslaget är i alla fall något jag gillar. Om det nu är för att "simulera" att du är hemma, trots att du är bort, så är det enbart till stor fördel att lamporna tänds lite olika - man är som person inte så exakt som klockan om man så säger...
Kör Home Assistant efter totalt nederlag för HomeSeer
Precis, det är för att simulera att jag är hemma.
Men funkar det försöka lägga in allt under min VD med både knappar för "hemma borta läge" samt villkor i main? Egentligen undrar jag nu varför jag hänvisar till en scen och inte lägger in lampans tänd, delay, släck i VD!?
Men funkar det försöka lägga in allt under min VD med både knappar för "hemma borta läge" samt villkor i main? Egentligen undrar jag nu varför jag hänvisar till en scen och inte lägger in lampans tänd, delay, släck i VD!?
HC2 - 4.080
En fråga till dock.
Eftersom den gör en kontroll var 47:e minut kommer scenen att startas flera gånger mellan intervallet 20:00 - 24:00. Kan jag undvika detta på något sätt? Det finns ju någon inställning med scener där man får välja hur många gånger dom ska köras men vet inte exakt vad den scenen innebär?!
Eftersom den gör en kontroll var 47:e minut kommer scenen att startas flera gånger mellan intervallet 20:00 - 24:00. Kan jag undvika detta på något sätt? Det finns ju någon inställning med scener där man får välja hur många gånger dom ska köras men vet inte exakt vad den scenen innebär?!
HC2 - 4.080