Hallo,
kurze Frage weil ich in Lua noch nicht so sattelfest bin. Zusätzlich zu Push will ich im Rauchalarm von boomx auch noch die E-Mail Benachrichtigung einbauen. ich habe den Push-Teil angepasst. Passt das?
Im Header
-- Einstellungen für Email-Benachrichtigungen (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt)
local accountID = {23,79} -- ID der Handys
Zweitert Teil:
-- Funktion zum Versenden der EMAIL
function sendEmail(text)
if (accountID[1] ~= nil) then
for k=1, countID do
if accountID[k] ~= nil then
fibaro:call(accountID[k],'sendEmail', text, 'smoke')
end
end
end
end
Dritter Teil:
if (trigger['type']=='property') then
local smokeID = tonumber(trigger['deviceID'])
local smoke = tonumber(fibaro:getValue(smokeID, "value"))
local room = fibaro:getRoomNameByDeviceID(smokeID)
if (fibaro:getGlobal(var) ~= nil) then
fibaro:debug('Benötigte Variable ' ..var.. ' erkannt.')
else
fibaro:debug('Benötigte Variable ' ..var.. ' NICHT erkannt. Wird erstellt.')
globalVar(var, 'false')
end
if (smoke == 1 and fibaro:getGlobal(var) == 'false') then
fibaro:debug('Rauch im Raum: ' .. room .. ' erkannt.')
fibaro:setGlobal(var, 'true')
onoffSirene(fibaro:getGlobal(var))
emergencyLight(fibaro:getGlobal(var))
openEscapeRoute()
emergencyRGBW(fibaro:getGlobal(var))
sendPush('ACHTUNG! Rauch im Raum: ' .. room .. ' erkannt!')
sendEmail('ACHTUNG! Rauch im Raum: ' .. room .. ' erkannt!')
elseif (smoke == 0 and fibaro:getGlobal(var) == 'true') then
if checkSmoke() then
fibaro:debug('Schalte Rauch-Alarm aus')
fibaro:setGlobal(var, 'false')
onoffSirene(fibaro:getGlobal(var))
emergencyLight(fibaro:getGlobal(var))
emergencyRGBW(fibaro:getGlobal(var))
sendPush('Alle Rauchmelder melden den Status sicher!')
sendEmail('Alle Rauchmelder melden den Status sicher!')
end
elseif (smoke == 1 and fibaro:getGlobal(var) == 'true') then
fibaro:debug('Ein weiterer Rauchmelder im Raum '..room..' hat Rauch erkannt. Alarm bereits ausgelöst.')
sendPush('Weiterer Rauchmelder - '..room..' - ausgelöst!')
sendEmail('Weiterer Rauchmelder - '..room..' - ausgelöst!')
else
fibaro:debug('Szene wurde durch Rauchmelder getriggert. Es wurde kein Rauch erkannt.')
end
else
fibaro:debug('Szene wurde manuell ausgelöst.')
if (fibaro:getGlobal(var) ~= nil) then
fibaro:debug('Benötigte Variable ' ..var.. ' erkannt.')
fibaro:debug('Versende eine Test-Push-Nachricht')
sendPush('Push-Nachricht funktioniert. IDs der Handys korrekt.')
sendEmail('Email-Nachricht funktioniert. IDs der Handys korrekt.')
else
fibaro:debug('Benötigte Variable ' ..var.. ' NICHT erkannt. Wird erstellt.')
globalVar(var, 'false')
sendPush('Push-Nachricht funktioniert. ID des Handy korrekt.')
sendEmail('Email-Nachricht funktioniert. ID des Accounts korrekt.')
fibaro:debug('Versende eine Test-Push-Nachricht')
fibaro:debug('Versende eine Test-Email-Nachricht')
end
end