Frage zu Alarmszene

Aufgrund der Alarmszene von hier http://www.siio.de/sicherheitalarm/so-nutzt-du-das-fibaro-alarmpanel-des-homecenters/ teste ich gerade mit einer Beispielkonfiguration einen Alarmfall.

Folgende Hardware kommt zum Einsatz:
HC2 (4.070)
6x Philips Hue
Fibaro Motion Sensor
Fibaro Door/Window Sensor
Popp Außensirene

Die Alarmszene sieht folgendermaßen aus:


--[[
%% properties

%% globals
--]]

--------------------------------------------------------------------------
local hues  = {25, 26, 27, 30, 31, 32}; -- Hue IDs
---------------------------------------------------------------------------

for i = 1,#hues do
         fibaro:call(hues[i], "turnOn")
		 fibaro:call(hues[i], "changeSaturation", 255)
		 fibaro:call(hues[i], "changeBrightness", 255)
		 fibaro:call(hues[i], "changeHue", 0)
	     --fibaro:debug("Aktuelle Dev ID: "..hues[i])
end

-- Außensirene aktivieren
fibaro:call(67, "turnOn");
fibaro:call(21, "sendPush", "MÖP! Alarmanlage ausgelöst", "breached");

-- Während der Alarm läuft
	while tonumber(fibaro:getValue(61, "armed")) > 0 do
  --61 ist die ID des Fenster/Türsensors
  		fibaro:debug('Alarm is breached...');
-- Während der Alarm läuft sollen die Hues im Wechseln rot und blau leuchten.
          for i = 1,#hues do
            fibaro:call(hues[i], "changeHue", 40595)
    	  end
            fibaro:sleep(1*700);
  		  for i = 1,#hues do
            fibaro:call(hues[i], "changeHue", 0)
          end
  			fibaro:sleep(1*700);
  	end

-- Wenn der Alarm deaktiviert wurde
fibaro:call(67, "turnOff");

for i = 1,#hues do
fibaro:call(hues[i], "turnOff")
end


Folgendes Szenario:
Ich löse den Alarm durch den Motion Sensor aus. Die Hues beginnen zu blinken und die Sirene pfeift ihr Lied.
Nach dem Deaktivieren über die Fibaro App verstummt die Sirene und die Hues verblassen. Alles bestens.

Problem-Szenario:
Alarm wird durch den Motion Sensor ausgelöst und während der Alarm läuft, wird noch zusätzlich von mir der Fenster/Tür Sensor ausgelöst. Prompt hören die Hues auf zu blinken und bleiben rot. Nach dem Deaktivieren des Alarms gehen diese auch nicht aus und die Sirene läuft weiter.

Nun meine Frage:

  1. Was muss ich an der Szene ändern, dass auch der in der while-Schleife getriggerte Sensor auslösen kann und alles wie gewünscht funktioniert?
  2. Gibt es evtl. eine clevere Möglichkeit die Hues mit Farbwechsel blinken zu lassen?

Danke und Grüße

Vielleicht hilft es die Anzahl der Instanzen auf 1 zu setzen.
Damit läuft das Script nur einmal (Erstauslösung).

Würde auch Vorschlagen die Aussensirene verzögert einzuschalten.
z.B. Hue Farbwechsel für 30 Sekunden und dann Sirene an.
Die Nachbarn werden es dir danken und im Falle eines Irtümmlichen auslösen durch dich hast die Möglichkeit den Alarm ausszuschalten bevor die Sirene losgeht.

… nur aus Interesse, läuft Deine Poppsirene ohne Probleme? Ich habe dieses Solarmodell und damit immer wieder Schwierigkeiten. Dauernd leer, immer wieder fiept es, dementsprechend gerne tot im Nezwerk,…

Hallo Homer,

genau die gleichen Probleme habe ich auch. Manchmal pfeift die Popp Sirene auch. Ich habe schon die zweite die es nicht tut.
Ich werde mir wohl eine andere zulegen.

Wo hast du deine gekauft ?
Grüße
Gringo

Moin,

danke für eure Antworten. Komme nur leider immer noch nicht weiter.
Kann man nicht irgendwie an dieser Stelle
while tonumber(fibaro:getValue(61, “armed”)) > 0 do
noch ein “OR” oder sowas einfügen?
So in der Art prüfe ob Status armed ODER breached Ich kenne leider die Syntax nicht. Bin noch blutiger Anfänger.

Die Verzögerung der Sirene kommt auf jedenfall noch. Auch wird diese dann im Alarmfall nicht dauerhaft laufen, sondern nur ca. 30 Sek.
Man kann auch irgendwie mithilfe eines VD das LED Licht gesondert ansprechen. Könnte man dann noch weiterblinken lassen.
Zur Zuverlässigkeit der Popp Sirene kann ich noch nichts sagen, da ich sie erst seit ein paar Tagen teste und noch nicht produktiv einsetze.

Grüße

Hi,

du hast das Prinzip der Szene nicht verstanden. Die while-Schleife prüft nur, ob noch ein Modul geschärft ist und nicht, ob dies breached ist. Deshalb geht der Alarm aus, wenn du die Alarmanlage deaktiviert. Der Status sicher/ausgelöst des Moduls wird nicht geprüft und macht auch keinen Sinn :wink:

Muss mal testen, ob ich das Verhalten nachstellen kann. Hab es so nicht getestet.

Gruß

Hmm… ich denke, ich hab die Szene schon verstanden. :stuck_out_tongue:
Ich habe hier halt nur den “Sonderfall”, dass im ausgelösten Alarmzustand, der, in der while-Schleife überprüfte Sensor, eben nicht mehr den Zustand “armed”, sondern breached hat und damit die Szene irgendwie abbricht.
Es werden wie gesagt auch nach dem Deaktvieren des Alarms, die Befehle nach der while-Schleife nicht mehr ausgeführt.

Erkenntnis:
Breached macht hier, wie du schon gesagt hast, anscheinend wirklich keinen Sinn, da ja selbst nach deaktiviertem Alarm, der Sensor immer noch breached ist.

Über weitere Lösungsvorschläge wäre ich sehr dankbar.
Danke und Grüße

Ok, dann hab ich nichts gesagt :wink:

Teste ich morgen nachmittag und melde mich nochmal.

Gruß

Hallo Gringo,

bei Cyberport. Für stolze 199 Euro.

Gruß

Homer

Horni,

ist ganz einfach.
Lege eine globale Variable an welche Du beim Schärfen auf 1 setzt und beim entschärfen auf 0.
Dein Script würde dann die Variable abfragen und nicht mehr einen einzelnen Melder.

Hier ist mein Script: (Habe eine indoor Sirene welche bei Aulösung kurz Piept und nach 30 Sekunden loslegt)

local start_alarm = 30
local max_alarm = 600
local count = 1 
 
-- Infinite loop
while true do
  
  if (fibaro:getGlobalValue("rfid_alarm") ~= '1' ) then
    fibaro:debug('Alarm Stop')
      fibaro:call(43, "turnOff")
    if (count > start_alarm) then
      local subject = "ALARM Gelöscht"
	  local message = "Sirene in-aktiv"

	  fibaro:call(204, "sendEmail", subject, message);
	  fibaro:call(205, "sendEmail", subject, message);
	  fibaro:call(234,  "sendPush", message);
      
    end
      fibaro:abort()
  end  
  
  if (fibaro:getGlobalValue("rfid_alarm") == '1' and count == 1) then
    fibaro:debug('Alarm Start')
     fibaro:call(43, "turnOn")
     fibaro:sleep(500)
     fibaro:call(43, "turnOff") 
     
  end
  

  
  if (count == start_alarm) then
      
    fibaro:debug('Sirene Ein')
    	fibaro:call(43, "turnOn")
    local subject = "Einbruchs ALARM !!!!"
	local message = "Alarm wurde ausgelöst, Sirene aktiv"
	  fibaro:call(204, "sendEmail", subject, message);
	  fibaro:call(205, "sendEmail", subject, message);
      fibaro:call(234,  "sendPush", message);
  end
 
  if (count == max_alarm) then
    fibaro:debug('Maximale Alarmzeit, Siren Aus')
      fibaro:call(43, "turnOff")
      local subject = "max ALARM Zeit"
	  local message = "Sirene in-aktiv"
	  fibaro:call(204, "sendEmail", subject, message);
	  fibaro:call(205, "sendEmail", subject, message);
	  fibaro:call(234,  "sendPush", message);
      fibaro:abort()
    
  end
 
  -- Increase the value of a by 1
  count = count + 1
 
  -- Wait 1 second (1000 milliseconds)
  fibaro:sleep(1000)
 
end
<code></code>

Hi,

danke für die Idee. Um das umzusetzen, müsste ich dann aber das Schärfen und Entschärfen jeweils über eine eigene Szene realisieren, richtig?
Weil momentan schärfe/entschärfe ich noch über das Alarmpanel in der App. Das ist praktisch, weil mir dort gleich angezeigt wird, ob noch irgendwo Fenster offen sind, etc.

Hi,

nein, müsstest du nicht. Du kannst einfach eine Szene schreiben, welche die Var auf true setzt, wenn du über das Handy den Alarm aktiviert hast und sich der Status von den Modulen ändert.

Wie bereits oben geschrieben, eigentlich sollte es auch so gehen (damit erspart man sich den Umweg über die Var), wie du es gepostet hast. Kann leider erst heute abend testen.

Gruß

Wäre ideal.
Eine andere Möglickeit ist ein Device in einer Szene als Trigger zu verwenden auf “armed” == 1 oder == 0 prüfen.
Je nach Status setzt DU die Variable.

Trigger müsste so aussehen:

--[[
%% properties
61 armed
%% events
%% globals
--]]

Hey boomx,

hast du mal probiert, ob du das oben beschriebene Verhalten nachvollziehen kannst?
Ansonsten mach ich es mit der Variablen, wie ihr beschrieben habt.

Grüße

Nein, hab ich noch nicht. Noch keine Gelegenheit gehabt. Hau später mal die Sirenen aus dem Skript und teste es. Wollte eh parallel zum Rauchalarm etwas neues coden. Dafür wäre es schon wichtig, ob ich das Verhalten nachstellen kann.

Gruß

Hab es grad getestet. Kann das Verhalten nicht nachvollziehen. Funktioniert ohne Probleme. Hast du in der Szene auch den Haken aktiviert, dass die Szene durch einen auslösenden Alarm nicht gestoppt werden darf?

Wie gesagt, wollte mich mal an ein neues Skript machen. Hab noch ein paar Ideen, welche ich umsetzen möchte.

Gruß

Mein Gott bin ich doof.
Da spiele ich hier halbe Ewigkeiten noch mit ner Variablen rum und wundere mich, dass es die Szene immer noch abbricht, sobald ein zweiter Sensor auslöst.

Ich hab tatsächlich den Haken “Beim Auslösen von Alarm wird diese Szene weiterhin ausgeführt” in der Alarmszene nicht gesetzt.
Auch meine beiden Variablenszenen, welche die Alarmvariable auf 0 oder 1 setzen, müssen mit diesem Haken versehen werden.

Es scheint nun zu funktionieren.
Danke!

Wobei ich wahrscheinlich noch ein Problem mit der Popp Außensirene habe. Obwohl diese schon seit 2 Tagen der prallen Sonne ausgesetzt war, zeigt mir das HC2 seit gestern eine leere Batterie an. Des weiteren fiept die Sirene. Hatten hier in dem Thread bereits 2 Leute bestätigt.