Rauchalarm

Hallo Daniel!

Könntest Du mal bitte, wenn Du Zeit und Lust hast, über die Szene schauen? Irgendwie ist da der Wurm drinnen! :frowning:

--[[
%% properties
703 value
692 value
836 value
832 value
840 value
709 value
937 value
943 value
955 value
965 value
931 value
919 value
923 value
947 value
961 value
951 value
927 value
%% globals
--]]
local sireneID = 809 -- ID der Sirene
local handyID = 1022, 1023, 1086, 1094, 1095 -- ID des Handys
local trigger = fibaro:getSourceTrigger()
local smokeID = tonumber(trigger (703, 692 ,836, 832 ,840 ,709 ,937 ,943 ,955 ,965 ,931 ,919 ,923 ,947, 961 ,951, 927)
local smoke = tonumber(fibaro:getValue(smokeID, "value"))
 
if (smoke == 1) then
  	local room = fibaro:getRoomNameByDeviceID(smokeID)
  	fibaro:debug('Rauch im Raum: ' .. room .. ' erkannt.')
      fibaro:call(sireneID, 'turnOn')
  	fibaro:call(handyID, 'sendPush', 'ACHTUNG! Rauch im Raum: ' .. room .. ' erkannt!', 'smoke')
  else
  	fibaro:debug('Kein Rauch erkannt. Fehlalarm');
end

DEBUG: [DEBUG] 12:25:34: line 26: ‘)’ expected (to close ‘(’ at line 25) near ‘local’

Vielen lieben Dank.

Gruß

Christian

Wie kann man fertigen Code eigentlich so kaputt coden, wenn es im Artikel doch genau beschrieben ist :wink:

So sollte es gehen, die Handys müssen noch hinzugefügt werden. Oder ein Array für die IDs einbauen:

http://www.siio.de/heizenenergiesparen/lua-scripte-luftfeuchtigkeit-im-raum-ueberwachen/

--[[
%% properties
703 value
692 value
836 value
832 value
840 value
709 value
937 value
943 value
955 value
965 value
931 value
919 value
923 value
947 value
961 value
951 value
927 value
%% globals
--]]
local sireneID = 809 -- ID der Sirene
local handyID = 1022 -- ID des Handys
local handyID2 = 1023 -- ID des Handys

local trigger = fibaro:getSourceTrigger()
local smokeID = tonumber(trigger['deviceID'])
local smoke = tonumber(fibaro:getValue(smokeID, "value"))

if (smoke == 1) then
  	local room = fibaro:getRoomNameByDeviceID(smokeID)
  	fibaro:debug('Rauch im Raum: ' .. room .. ' erkannt.')
        fibaro:call(sireneID, 'turnOn')
  	fibaro:call(handyID, 'sendPush', 'ACHTUNG! Rauch im Raum: ' .. room .. ' erkannt!', 'smoke')
        fibaro:call(handyID2, 'sendPush', 'ACHTUNG! Rauch im Raum: ' .. room .. ' erkannt!', 'smoke')
  else
  	fibaro:debug('Kein Rauch erkannt. Fehlalarm');
        end

? ups, sorry…

Bei mir steht im DEBUG immer: [DEBUG] 14:25:17: line 91: attempt to concatenate local ‘deviceId’ (a nil value)

Die Szene kann nicht manuell gestartet werden :wink: Einfach lang auf die Taste eines Rauchmelders drücken, dann löst dieser aus.

Gruß

Hi Leute,
Habe gerade versucht, das Skript in meine Anlage zu integrieren!
Gibt es eine Möglichkeit, dass ich statt PUSH ein Email schicke?
Habe
fibaro:call(handyID, 'sendPush', 'ACHTUNG! Rauch im Raum: ' … room … ' erkannt!', 'smoke')
versucht zu ändern in
fibaro:call(4, "sendEmail", "Rauchmelder "… room …, "ACHTUNG! Rauch im Raum" …room… "erkannt!)

Bekomme immer eine Fehlermeldung: siehe Anhang!
Kann mir jemand bei dem Syntax helfen?

2016-04-17-18.41.13.jpg