Zadaniem skryptu jest wykonanie działania w momencie, kiedy domownik przemieszcza się z punktu A, przez punkt B, przez punkt C do punktu D w tej konkretnej kolejności.
Powtórzenia wzbudzania czujki są pomijane.
Przykład:
oznaczmy sobie czujkę w salonie jako A, czujka na korytarzu jako B i na schodach jako C. Czujka D to sypialnia.
Jeśli użytkownik wychodzi z salonu, wzbudzi czujkę A, potem 3x czujkę B w korytarzu i czujkę C a następnie dotrze do sypialni (czujka D) to wykona sie określona akcja.
Osobiście używam skryptu na wychwycenie kiedy należy właczyć scenę SPANIE (scena gasi wszystkie światła i urządzenia).
—
— (C) 2019 https://github.com/marcinprzybysz86
— script to trigger event after reading movement scenario using PIRs in specific order www.vsx.pl
t1 = os.time()
s = otherdevices_lastupdate[’PIR5 salon’]
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
commandArray = {}
local moznagasic
local regextest
if (devicechanged[’PIR5 salon’] == 'On’) then
moznagasic = 0
commandArray[’Variable:motion_fire’] = „a”
end
if (devicechanged[’PIR6 hol’] == 'On’) then
temp = uservariables[’motion_fire’]
commandArray[’Variable:motion_fire’] = temp .. „b”
end
if (devicechanged[’PIR7 korytarz’] == 'On’) then
temp = uservariables[’motion_fire’]
commandArray[’Variable:motion_fire’] = temp .. „c”
end
if (devicechanged[’PIR sypialnia’] == 'On’) then
temp = uservariables[’motion_fire’]
commandArray[’Variable:motion_fire’] = temp .. „d”
end
wartosc = uservariables[’motion_fire’]
print(„motion_fire: ” .. wartosc)
regextest = string.match(wartosc,’a+b+c+d+’)
if (regextest ~= nil) then
moznagasic = 1
print („RUCH Z SALONU DO SYPIALNI. moznagasic = 1”)
commandArray[’Variable:motion_fire’] = „moznagasic”
end
if moznagasic == 1 and difference > 120 and otherdevices[’DEKODER NBOX’] == 'Off’ and otherdevices[’Czujnik zmierzchu’] == 'On’ then
print(„spelniono warunki do wlaczenia sceny spanie: ” .. difference .. ” – ” .. tostring(moznagasic))
commandArray[’Scene:SPANIE’]=’On’
moznagasic = 0
end
return commandArray