Funktionier! Hier das Skirpt:
--[[
%% properties
%% globals
rfid_alarm
--]]
local startSource = fibaro:getSourceTrigger();
if (
( fibaro:getGlobalValue("rfid_alarm") == "On" )
)
then
fibaro:debug('Überprüfe Sensoren')
if (tonumber(fibaro:getValue(154, 'value')) == 0) then
fibaro:call(154, 'setArmed', '1')
else
local sensorname = fibaro:getName(154)
local sensorroom = fibaro:getRoomNameByDeviceID(154)
fibaro:debug('ACHTUNG: ' .. sensorname .. ' im Raum: ' .. sensorroom .. ' nicht sicher.')
fibaro:setGlobal("SONOS_MUSIC", "192.168.178.36/Fibaro/schlafzimmerfenstergeoeffnet.mp3");
fibaro:call(138, "setSlider", "6", "15");
fibaro:call(138, "pressButton", "2");
end
if (tonumber(fibaro:getValue(54, 'value')) == 0) then
fibaro:call(54, 'setArmed', '1')
else
local sensorname = fibaro:getName(54)
local sensorroom = fibaro:getRoomNameByDeviceID(54)
fibaro:debug('ACHTUNG: ' .. sensorname .. ' im Raum: ' .. sensorroom .. ' nicht sicher.')
fibaro:setGlobal("SONOS_MUSIC", "192.168.178.36/Fibaro/terrassentuergeoeffnet.mp3");
fibaro:call(138, "setSlider", "6", "15");
fibaro:call(138, "pressButton", "2");
end
----Motion Sensoren und Haustür aktivieren----
fibaro:call(65, 'setArmed', '1')
fibaro:call(81, 'setArmed', '1')
fibaro:call(106, 'setArmed', '1')
fibaro:call(122, 'setArmed', '1')
fibaro:call(152, 'setArmed', '1') --Haustür--
if (tonumber(fibaro:getValue(54, 'armed')) == 1 and
tonumber(fibaro:getValue(154, 'armed')) == 1) then
fibaro:debug('Alle Sensoren sicher - Alarm aktiviert')
fibaro:setGlobal("SONOS_MUSIC", "192.168.178.36/Fibaro/arming.mp3");
fibaro:call(138, "setSlider", "6", "15");
fibaro:call(138, "pressButton", "2");
else
if (tonumber(fibaro:getValue(54, 'armed')) == 0 or
tonumber(fibaro:getValue(154, 'armed')) == 0) then
fibaro:setGlobal('rfid_alarm', 'Off')
fibaro:debug('Sensoren nicht sicher - deaktiviere Alarm')
end
end
end
if (
( fibaro:getGlobalValue("rfid_alarm") == "Off" )
)
then
fibaro:call(54, 'setArmed', '0')
fibaro:call(154, 'setArmed', '0')
----Motion Sensoren und Haustür deaktivieren----
fibaro:call(65, 'setArmed', '0')
fibaro:call(81, 'setArmed', '0')
fibaro:call(106, 'setArmed', '0')
fibaro:call(122, 'setArmed', '0')
fibaro:call(152, 'setArmed', '0') --Haustür--
fibaro:debug('Alarm deaktiviert')
end
Funktionsweise: Ich halte den Tag-Reader davor -> Variable wird gesetzt -> Szene startet -> Wenn Fenster/ Tür offen Rückmeldung mit entsprechender mp3 auf der Sonos -> Variable wird zurückgesetzt -> alle Sensoren deaktiviert -> erneutes schärfen -> Fenster/Türen alle zu -> schärfen aller Sensoren und Bestätigung über Sonos, dass Alarm aktiviert
Verbesserung am Skript sind jederzeit willkommen