APNT-29 - Utökat Fibero HC2 Sunrise / Sunset Möjligheter

Fibaro Home Center 2 har några begränsningar på solnedgången och soluppgångstider du kan använda i dina scener. Till exempel kan du välja 15, 30, 45 och 60 minuter före soluppgången och 15, 30, 45 och 60 minuter efter solnedgången. Men du kan inte välja 60 minuter före solnedgången eller andra värden.

Det är faktiskt väldigt enkelt att byta en enda linje av LUA-kod för att förlänga solnedgången / soluppgångstiden när som helst du vill.

Som ett exempel kommer vi att använda den solnedgångscene som vi använde i ansökan nr 28 -

Solnedgång på scenen

 

Den här scenen slår på ett ljus precis vid solnedgången. Detta fungerar bra för yttre ljus, men om du använde samma scen för ett inomhusljus skulle du förmodligen vilja att den ska aktiveras före solnedgången, eftersom det blir mörkare inuti en byggnad.

Så vi kan ändra det så att scenen är aktiverad 1 timme före solnedgången.

Visa LUA-koden

För att göra detta måste vi ändra en rad i LUA-koden som faktiskt driver den här scenen.

  • I scenens Avancerad fliken Gå till Byt scenredigeringsläge till Lua Base
  • Klick 'Förändra'
  • LUA-koden visas i ett HC2-fönster (visas nedan)

HC2 Lua scenkod

 

  • Linjen av kod vi är intresserade av är på Linje 14.

(((CurrentDate.wday == 2 eller CurrentDate.way == 3 eller CurrentDate.way == 4 eller CurrentDate.way == 5 eller CurrentDate.way == 6) och String.Format ("% 02D", CurrentDate. timme) .. ":" .. sträng.format ("% 02d", currentdate.min) == Fibaro: GetValue (1, "SunSethour"))

 

  • För att ändra detta så att scenen är aktiverad 60 minuter före solnedgången ändrar vi rad 14 till:

(((CurrentDate.wday == 2 eller CurrentDate.way == 3 eller CurrentDate.way == 4 eller CurrentDate.way == 5 eller CurrentDate.way == 6) och OS.Date ("% H:% m" , OS.TIME () + 60 * 60) == Fibaro: GetValue (1, "SunSethour")))

 

  • Koden som styr tid före eller efter solnedgången är markerad med fetstil - OS.TIME () + 60 * 60)
    • Om detta är positivt '+' scenen aktiveras före solnedgången, om negativ '-' Det kommer att aktivera efteråt
    • Tiden före / efter bestäms av siffrorna, "+60*60"I det här exemplet aktiveras 60 minuter före solnedgången, 90 minuter skulle vara '+ 90 * 60'
  • Obs! För att testa den här koden ställer jag in den ursprungliga scenen till 1 timme efter solnedgången. LUA-koden för den här scenen var identisk med ny kod som vi har använt ovan förutom att det är OS.TIME () - 60 * 60). Så genom att helt enkelt ändra sektionen av kod till OS.TIME () + 60 * 60) Vi har nu en scen som kör 1 timme före solnedgången.

Ändra LUA-koden

För att ändra LUA-koden för att använda vår nya kodlinje (rad 14) måste vi slå på LUA-redigeringsläget.

Viktig - Jag föreslår att du gör det när du har resten av scenen fungerar korrekt - du kan inte gå från LUA-baserad redigering tillbaka till grafisk blockredigerare.

När du är klar - Ändra redaktören till LUA baserat.

  • Om du inte redan är i LUA-delen av fliken "Avancerade" gå till Byt scenredigeringsläge till Lua Base, klick 'Förändra'
  • Klick 'Sätta på'

HC2 Lua Editor

 

  • Klick 'OK"I varningsdialogrutan
  • Byt linje 14 till den nya koden
  • Klicka på 'Spara'Knapp på höger meny

HC2 Final LUA-kod


 

Scenen kommer nu att springa 60 minuter före solnedgången.

Med hjälp av den här enkla koden kan vi få våra scener som går före eller efter solnedgången / soluppgången och på vilken tid vi gillar.

Relaterad information