Forum użytkowników automatyki budynkowej
Z-wave => Fibaro - sceny => Wątek zaczęty przez: virgojavier w Lipiec 02, 2015, 07:43:17 pm
-
Witam wszystkich
Probowalem pytac na forum F, ale postanowilem zaatakowac tutaj liczac na to ze kolega Sztywniak pomoze:D
Powoli zwiekszam ilosc urzadzen w swoim domu, no i przeszedl czas na oswietlenie. Zaczalem od zewnetrzengo, no i mam brame garazowa i zewnetrzne kinkiety.
Myslalem ze bedzie to mega proste no i zrobilem cos takiego:
Utworzyłem sobie zmienna predefiniowaną Daypart - After Sunrise i After Sunset.
Następnie utworzyłem 2 proste blokowe sceny, które w zależności od wschodu/zachodu słońca, powinny ustawiać zmienną na After sunrise albo After Sunset.
(http://i15.photobucket.com/albums/a368/Virgojavier/sun1_zpstpkhh4ta.jpg)
oraz
(http://i15.photobucket.com/albums/a368/Virgojavier/sun2_zpsfwu4rbdu.jpg)
Następnie utworzyłem scenę Nocne Oświetlenie, która O zachodzie słońca załącza urządzenie 86 i 89 a następnie wyłącza po godzinie.
(http://i15.photobucket.com/albums/a368/Virgojavier/sun3_zpsvstqjjsy.jpg)
No i nie dziala. Tzn zmienna caly czas siedzi jako After Sunrise... O co come on?
-
Sceny mają ustawione "Uruchamiaj przy starcie centrali"?
-
Tak. Te 2 pierwsze ustawiajace zmienna tak.
Ta ostatnia co zalacza swiatla, nie ma takiej opcji nawet.
-
zmień typ zmiennej na zwykłą i ustawiaj 0 lub 1. Coś mi się kojarzy że ze zmiennymi był jakiś błąd.
-
Obawiam się ze sceny blokowe nie będą ustawiać ci zmiennych. Na forum Fibaro są proste sceny ustawiania ciemno/jasno które dobrze działały. Niestety musisz ich poszukać bo nie mam ich pod ręką. Ja miałem scenę bardzo rozbudowaną do uruchamiania różnych scen zależnie od pory dnia. Znajdziesz ją na tym forumowiczów sekcji scen Fibaro jeżeli będziesz chciał mieć coś więcej niż tylko zmienną jasno/ ciemno.
Sent using Tapatalk
-
Zmienna globalna isNight
scena Lua z możliwością ustawienia opóźnienia dla własnych potrzeb
--[[
%% properties
%% autostart
%% globals
--]]
-- Initial parameters -------------------------------------------------------
sunriseDelay = 0
sunsetDelay = 0
-- Functions -----------------------------------------------------------------
-- funkcja zamienia czas w formacie tekstowym "HH:MM" lub os.date("*t")
-- na liczbę minut od północy
function toMinutes(czasHHMM)
local a
if type(czasHHMM) == "string" then
a = tonumber(string.sub(czasHHMM, 1, 2)) * 60 + tonumber(string.sub(czasHHMM, 4, 5))
else
a = tonumber(czasHHMM.hour) * 60 + tonumber(czasHHMM.min)
end
return a
end
-- funkcja zamienia liczbę minut od północy na format tekstowy godziny "HH:MM"
function toHHMM(minutes)
local b = string.format("%02d",((minutes/60*100) - ((minutes/60*100) % 100))/100)
local c = string.format("%02d",minutes - (tonumber(b)*60))
local d = b..":"..c
return d
end
-- end of Functions-----------------------------------------------------------
while true do
-- ustalenie ilości minut od północy do godziny wschodu i zachodu słońca
local sunriseMinutes = toMinutes(fibaro:getValue(1, 'sunriseHour'))
local sunsetMinutes = toMinutes(fibaro:getValue(1, 'sunsetHour'))
-- ustalenie ilości minut od północy do teraz
local nowMinutes = toMinutes(os.date("*t"))
-- ustawienie zmiennej globalnej isNight
if nowMinutes > (sunriseMinutes + sunriseDelay)
and nowMinutes < (sunsetMinutes + sunsetDelay)
then
fibaro:setGlobal("isNight", "0")
else
fibaro:setGlobal("isNight", "1")
end
-- debug --------------------------------------------------------------------
fibaro:debug("Teraz jest: "..toHHMM(nowMinutes))
fibaro:debug("Wschód słońca: "..fibaro:getValue(1, 'sunriseHour'))
fibaro:debug("Zachód słońca: "..fibaro:getValue(1, 'sunsetHour'))
fibaro:debug("isNight = "..fibaro:getGlobalValue("isNight"))
fibaro:debug("-----------------------------------------")
-----------------------------------------------------------------------------
fibaro:sleep(60*1000)
end -- end while
-
Utworzyłem sobie zmienna predefiniowaną Daypart - After Sunrise i After Sunset.
No i nie dziala. Tzn zmienna caly czas siedzi jako After Sunrise... O co come on?
Mam identyczną scenę tylko u mnie zmienna przybiera wartości Jasno lub Ciemno. Raczej działa.
Może spróbuj nadać zmiennej parametry jednowyrazowe, żeby nie było spacji?