Søk i nettsamfunnet
Viser resultater for emneknaggene 'variabler'.
Fant 3 resultater
-
Under "Flows" finnes det en knapp for variabler. Oppretter man variabler der, kan de adresseres som tags i flows. Kjører jeg "example-global-get.js" under "Scripts", hadde jeg forventet å se disse variablene, men de listes ikke. Kan noen kort forklare eller henvise til literatur angående scope på variabler i Homey Scripts? Er objektmodellen den samme under Athom Homey Pro 2019 og 2023?
-
For å kunne lage gode scener for styring av lys, varme og annet, vil jeg tro man må ha en del variabler som kan fortelle systemet hvordan omgivelsene er. Har prøvd å lage en scene som setter følgende variabler: Soltid, med verdiene: Soloppgang, Solnedgang Ukedag, med verdiene: Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag Maaned, med verdiene: Januar, Februar, Mars, April, Mai, Juni... ...Desember Leggetid, med verdiene: Sover, Våken LUA koden for disse 4, er i bunnen av denne posten. (Har ikke fått sjekket om den fungerer enda.) Min neste utfordring er en variabel som heter årstid, med verdiene: Vår, Sommer, Høst, Vinter. Kriteriene for denne variabelen skal være: Årstid vår: Den delen av året da normal døgnmiddeltemperatur for det aktuelle stedet er mellom 0 og 10 °C og stigende. Fra ca. 5. februar til ca. 6. mai. (midtpunkt=vårjevndøgn=ca. 21. mars) Årstid sommer: Den delen av året da døgnmiddeltemperaturen er over 10 ° C Fra ca. 7. mai til ca. 6. august. (midtpunkt=sommersolverv=ca. 21. juni) Årstid høst: Den delen av året da normal døgnmiddeltemperatur for det aktuelle stedet er mellom 0 og 10 °C og synkende. Fra ca. 7. august til ca. 16. november. (midtpunkt=høstjevndøgn=ca. 23. september) Årstid vinter: Den delen av året da døgnmiddeltemperaturen er under 0 ° C Fra ca. 17. november til ca. 5. februar. (midtpunkt=vintersolverv=ca. 22. desember) Noen gode tips for styring av variabelen årstid? ------ Her er koden for de første 4 variablene: --[[ %% autostart %% properties %% globals --]] -- Opprett Variabelen: Soltid -- med verdiene: Soloppgang, Solnedgang -- Opprett variabelen: Ukedag -- med verdiene: Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag -- Opprett variabelen: Maaned -- med verdiene: Januar, Februar, Mars, April, Mai, Juni... ...Desember -- Opprett variabelen: Leggetid -- med verdiene: Sover, Våken local sourceTrigger = fibaro:getSourceTrigger(); -- Hva har startet scenen? if (sourceTrigger["type"] == "autostart") then; -- Hvis scenen er startet med autostart: while true do; -- Så lenge scenen er startet med autostart, kjør: local TidsTabell = os.date("*t"); -- TidsTabell vil genereres og se ut som følger: -- year 2018 -- month 01-12 -- day 01-31 -- hour 00-23 -- min 00-59 -- sec 00-59 -- isdst et boolean, "true" hvis sommertid, ellers "false" local Tid = (string.format("%02d", TidsTabell.hour) .. ":" .. string.format("%02d", TidsTabell.min)); -- "%02d" 0 padding, 2 heltall, d for desimaltall local Dag = tonumber(os.date("%w")); local Mnd = tonumber(os.date("%m")); local Soloppgang = fibaro:getValue(1, "sunriseHour"); -- Henter tidspunkt for soloppgang local Solnedgang = fibaro:getValue(1, "sunsetHour"); -- Henter tidspunkt for solnedgang local startSource = fibaro:getSourceTrigger(); -- Setter variabel Soltid: if (Tid == Soloppgang) then; -- Hvis tid er lik tiden for soloppgang, da fibaro:setGlobal("Soltid","Soloppgang"); -- settes variabelen Soltid til Soloppgang end; if (Tid == Solnedgang) then; -- Hvis tid er lik tiden for solnedgang, da fibaro:setGlobal("Soltid","Solnedgang"); -- settes variabelen Soltid til Solnedgang end; -- Setter variabel Ukedag: if(Dag == 0 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Søndag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); -- Beskjeden "Variabel Ukedag er endret", sendes på epost elseif(Dag == 1 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Mandag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); elseif(Dag == 2 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Tirsdag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); elseif(Dag == 3 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Onsdag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); elseif(Dag == 4 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Torsdag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); elseif(Dag == 5 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Fredag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); elseif(Dag == 6 and Tid == "00:00") then; fibaro:setGlobal("Ukedag", "Lørdag"); fibaro:call(2, "sendDefinedEmailNotification", "15"); end; -- Setter variabel Maaned if(Mnd == 01 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Januar"); fibaro:call(2, "sendDefinedEmailNotification", "123"); -- Beskjeden "Variabel Måned er endret", sendes på epost elseif(Mnd == 02 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Februar"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 03 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Mars"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 04 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "April"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 05 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Mai"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 06 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Juni"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 07 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Juli"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 08 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "August"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 09 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "September"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 10 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Oktober"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 11 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "November"); fibaro:call(2, "sendDefinedEmailNotification", "123"); elseif(Mnd == 12 and string.format("%02d", TidsTabell.day == "01") and Tid == "00:00") then; fibaro:setGlobal("Maaned", "Desember"); fibaro:call(2, "sendDefinedEmailNotification", "123"); end; -- Setter variabel Leggetid: if (Tid == "23:30") then; fibaro:setGlobal("Leggetid","Sover"); -- settes variabelen Leggetid til Sover end; if (Tid == "08:00") then; fibaro:setGlobal("Leggetid","Våken"); -- settes variabelen Leggetid til Våken end; fibaro:sleep(60*1000); -- Vent 60 sekunder før programmet kjører igjen end; else; -- Hvis scenen er startet manuelt: local Soltid = fibaro:getGlobalValue("Soltid"); if (Soltid == "Solnedgang") then; fibaro:setGlobal("Soltid","Soloppgang") else; fibaro:setGlobal("Soltid","Solnedgang") end; end; Mitt første forsøk på et brukende LUA program. Føler det er en del repetisjoner der som burde vært unngått...
-
Prøver å finne ut hvordan jeg skal sette opp scenes i Fibaro Home Center 2. Føler dette er et dumt spørsmål, men kanskje noen kan tipse om hvilken funksjon som skal brukes når? Add Magic scene Tripped Not tripped tripped more than X minutes Armed Disarmed Armed and tripped Add scene using graphic blocks Armed Disarmed Breached Breached and armed Breached and disarmed Safe Safe and armed Safe and disarmed Tamper tripped Tamper not tripped Ønsker i første omgang å styre lys, men er usikker på hvilken av disse som er den riktige å benytte? Eventuelt om noen vet om et nettsted som beskriver disse?