Alarm löst nicht aus

Hallo,

habe eine Szene für das Zipato RFID, mit dem ich die Alarmanlage scharf schalte.
Das klappt auch, nur wenn der Alarm ausgelöst wird, löst die Sirene nicht aus, obwohl das Alarmpanel anschlägt.
Hier meine Alarm Szene, erkennt jemand den Fehler?

--[[
%% properties
%% globals
--]]

-- Einstellungen für die Sensoren (Zwingend erforderlich)
local sensorID = {12,29,32} -- ID der Sensoren(n)

-- Einstellungen für die Sirene(n) (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt)
local sireneID = {115} -- ID der Sirene(n)

-- Einstellungen für Push-Benachrichtigungen (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt)
local phoneID = {45} -- ID der Handys

-- soll ein stiller Alarm genutzt werden? (true = ja/false = nein; silent_alarm_time: Sekunden wie lang der stille Alarm bestehen soll)
-- hier werden die Sirenen/Licht erst nach einer bestimmten Zeit aktiv. Bild der Kamera, Push und Meldung des Alarmpanels wird VOR dem stillen Alarm ausgeführt
local silent_alarm = true
local silent_alarm_time = 15

-- soll ein Bild der Kamera versendet werden (true = ja/false = nein)
local camera_support = true

-- an welche Mail soll ein Bild der Kamera gesendet werden
local email = 'marco@xxx.org'

-- Einstellungen für RGBW-Notfallbeleuchtung (Wenn keine IDs eingetragen sind, wird die Funktion nicht genutzt)
local rgbwID = {} -- ID RGBW
local mode = 'programm' -- Auswahl: color = Farbwert setzen; programm = Programm starten
local programm = 5 
local color = '255,255,255,255' -- welche Farbe eingestellt werden soll

-- Sollen eigene Aktionen ausgeführt werden? (true = ja/false = nein; Bei true müssen die beiden nächsten Funktionen befüllt werden)
local own_action = true

function ownaction_alarm()
  -- eigene Aktion bei Alarm
  fibaro:debug('Eigene Aktionen bei Alarm ausgeführt')
  	fibaro:setGlobal("SONOS_MUSIC", "192.168.10.10/Fibaro/Sounds/sirene.mp3")
	fibaro:call(46, "pressButton", "2")
	fibaro:call(46, "setSlider", "6", "80")
end

function ownaction_afteralarm()
  -- eigene Aktion nach dem Alarm
  fibaro:debug('Eigene Aktionen nach dem Alarm ausgeführt')
  fibaro:call(46, "pressButton", "4")
end

local countID = 500

-- AB HIER NICHTS MEHR ÄNDERN

Debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"))
end

-- Funktion zum Versenden der Push
function sendPush(text)
 if (phoneID[1] ~= nil) then
  for k=1, countID do
     if phoneID[k] ~= nil then
       fibaro:call(phoneID[k],'sendPush', text, 'alarm')
     end
  end
 end
end

-- Funktion zum Ein-/Ausschalten der Sirene
function onoffSirene(status)
 if (sireneID[1] ~= nil) then 
  if (status) then
   fibaro:debug('Sirenen einschalten')
   for a=1, countID do
     if sireneID[a] ~= nil then
       fibaro:call(sireneID[a],'turnOn')
     end
   end
  else
   if (sireneID[1] ~= nil) then  
    fibaro:debug('Sirenen ausschalten')
    for a=1, countID do
      if sireneID[a] ~= nil then
        fibaro:call(sireneID[a],'turnOff')
      end
    end
   end
  end
 end
end

-- Funktion zum Ein-/Ausschalten der RGBW-Notfallbeleuchtung
function emergencyRGBW(status)
 if (rgbwID[1] ~= nil) then 
  if (status) then
   if (mode == 'color') then 
    fibaro:debug('RGBW-Notfallbeleuchtung einschalten - Setze Farbe')
    local RGBWTable = {}
    local i = 1
    for value in string.gmatch(color,"(%d+)") do
     RGBWTable[i] = value
     i = i + 1
    end
    for o=1, countID do
      if rgbwID[o] ~= nil then
        fibaro:call(rgbwID[o], "setColor", RGBWTable[1], RGBWTable[2], RGBWTable[3], RGBWTable[4])
      end
    end
   elseif (mode == 'programm') then
    fibaro:debug('RGBW-Notfallbeleuchtung einschalten - Starte Programm')
    for o=1, countID do
     if rgbwID[o] ~= nil then
       fibaro:call(rgbwID[o], 'startProgram', programm)
     end
    end
   end 
  else
   if (rgbwID[1] ~= nil) then 
    fibaro:debug('RGBW-Notfallbeleuchtung ausschalten')
    for o=1, countID do
      if rgbwID[o] ~= nil then
        fibaro:call(rgbwID[o], "setColor", 255,0,0,0)
      end
    end 
   end
  end
 end
end

function cameracheck(roomID)
  for x=1, countID do
    if (fibaro:getType(x) == 'com.fibaro.ipCamera') then
      if (roomID == fibaro:getRoomID(x)) then
        fibaro:debug('Kamera ' ..x.. ' im betroffenen Raum erkannt. Sende Mail an ' ..email)
        fibaro:call(x, 'sendPhotoToEmail', email)
      else
        fibaro:debug('Keine Kamera im betroffenden Raum gefunden.')
      end
    end
  end
end

function checkSensor()
  for j=1, countID do
    if sensorID[j] ~= nil then
      if (tonumber(fibaro:getValue(sensorID[j], 'value')) == 1) then
         return sensorID[j]
      end
    end
  end
end

function checkSensorArmed()
  local armed_counter = 0 
  for j=1, countID do
    if sensorID[j] ~= nil then
      if (tonumber(fibaro:getValue(sensorID[j], 'armed')) == 1) then
         armed_counter = armed_counter+1
      end
    end
  end
  if (armed_counter == 0) then
   return false
  elseif (armed_counter > 0) then
   fibaro:debug(armed_counter..' Sensoren noch nicht entschärft ...')
   return true
 end
end
Debug( 'red', '___________________________')
Debug( 'red', 'Alarm-Szene 2.0 wurde ausgelöst.')
Debug( 'white', 'Aktionen werden ausgeführt.')
-- Debug( 'white', 'Sensor im Raum ' ..fibaro:getRoomNameByDeviceID(checkSensor()).. ' ausgelöst')
sendPush('ACHTUNG: Alarm ausgelöst!')

if camera_support then
  cameracheck(fibaro:getRoomID(checkSensor()))
else
  Debug( 'red', 'Keine Kameras im Einsatz')
end

if silent_alarm then
  fibaro:debug('Stiller Alarm wurde aktiviert. Dauer: ' ..silent_alarm_time)
  counter = 0
  while (counter <= silent_alarm_time and checkSensorArmed()) do
   counter = counter + 1
   fibaro:sleep(1*1000)
  end
else
  Debug( 'white', 'Stiller Alarm wird nicht genutzt.')
end
if checkSensorArmed() then
  if (own_action) then
    ownaction_alarm()
  end
  onoffSirene(true)
  emergencyRGBW(true)
elseif silent_alarm then
  Debug('green', 'Stiller Alarm beendet, Geräte entschärft.')
end

while checkSensorArmed() do
  Debug( 'red', 'Alarm weiterhin ausgelöst.')
  fibaro:sleep(2*1000)
end
fibaro:debug('Alle Sensoren entschärft.')
Debug('green', 'Alarm wurde beendet.')
  if (own_action) then
    ownaction_afteralarm()
  end
emergencyRGBW(false)
onoffSirene(false)

Danke und Gruß
Marco

Hi,

stimmt die ID? Kannst du die Sirene manuell einschalten? Was kommt im Debug?

Gruß

Hi Daniel,

ich kann die Sirene manuell einschalten, dann löst auch der Alarm aus.
Da ich gerade auf der Arbeit bin kann ich nicht sagen was im Debug steht. Kontrolliere ich heute Abend.

Ohne Debug kann ich dir nicht weiterhelfen.

Gruß