Neues Modul für Alarmanlage

Begonnen von Prof. Dr. Peter Henning, 08 September 2014, 20:43:06

Vorheriges Thema - Nächstes Thema

gamauf


attr AAA level4xec armed; setreading AAA level4 armed

setzt level 4 scharf
(sehr kurz, weil am Telefon geschrieben)

ChrisW

Sehr geil Danke das funktioniert :)
Raspberry PI3 mit allem möglichen.

mumpitzstuff

Kann ich bei den Aktionen z.B. das Einschalten/Ausschalten einer Sirene mit Sleep machen oder blockiert das irgendwas?

Sirene on;;sleep 60;;Sirene off

Falls das ungünstig ist, wie sollte man das sonst machen?

Prof. Dr. Peter Henning

#888
Ich verwende dazu einen dummy als Alarm Actor, der verzögert eingeschaltet wird - aber beim Einschalten eben Sirenen o.ä. stumm schaltet.

Oder den Alarm insgesamt beendet. indem man z.B. in das Kommandofeld z.B.ein Alarm_Exec('AAA',7,'AutoAus','dummy','off') einträgt.

Hat den Vorteil, dass sich die Nachbarn nicht mit Dreschflegeln und Mistgabeln bewaffnet ums Haus versammeln.

LG

pah

mumpitzstuff

Ahhh das ist eine gute Idee! Danke!

Ricö

moin,

ich wollte gemäß dem wiki die statischen zustandsüberprüfung aktivieren. aber irgendwo klemmt etwas. ist eine tür oder ein fenster geöffnet, so wird ein alarmactor (og_west_Sw) geschaltet und eine email gesendet. bis hierhin alles gut.

der state bei TFOpen.warn zeigt jedoch gleich mehrere auslöser?! ich bin davon ausgegangen, dass nur das tatsächliche auslösende device angezeigt wird. in der email wiederum steht nur das auslösende device.

beim schließen des jeweiligen fensters bzw. der tür, wechselt der state des device auf "closed"(regulärer ausdruck laut dem "event monitor"). trotz das alle fenster-/türkontakte als state "closed" zeigen, wir kein "cancel" im alarmmodul gesetzt und der state in TFOpen.warn zeigt weiterhin mehrere auslöser.

womöglich kann sich das ja mal jemand ansehen. vielen dank.

 
hier die listen:

list TFOpen.check

Internals:
   NAME       TFOpen.check
   NR         282
   STATE      ???
   TYPE       dummy
Attributes:
   alarmDevice Actor
   alarmSettings alarm4,|{HouseOpen()}||02:00
   group      windowDetector
   room       Alarm,Türen/Fenster


list TFClose.warn

Internals:
   NAME       TFClose.warn
   NR         281
   STATE      no
   TYPE       dummy
   READINGS:
     2017-09-25 01:22:51   state           no
Attributes:
   alarmDevice Sensor
   alarmSettings alarm4,|TFClose.warn:yes|Alle zu|off
   group      windowDetector
   room       Alarm,Türen/Fenster


list TFOpen.warn

Internals:
   NAME       TFOpen.warn
   NR         280
   STATE      Te_re/Tuerkontakt_Test T / Ke_Ke2/Ke_Tr F
   TYPE       dummy
   READINGS:
     2017-09-25 01:22:51   state           Te_re/Tuerkontakt_Test T / Ke_Ke2/Ke_Tr F
Attributes:
   alarmDevice Sensor
   alarmSettings alarm4,|TFOpen.warn:.*[TF].*|$EVENT|on
   group      windowDetector
   room       Alarm,Türen/Fenster


eintrag in 99_myUtils.pm
   
#
# Alarmanlage
#
sub HouseOpen()
{
my $kfo = 0;
my $kfs = "";
my $kto = 0;
my $kts = "";
my $str = "";
if( $main::value{'Ke_Ws.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Ws/";
}
if( $main::value{'Ke_Hz.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Hz/";
}
  if( $main::value{'Ke_Bue.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Bue/";
}
  if( $main::value{'Ke_Fl.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Fl/";
}
  if( $main::value{'Ke_Ke1.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Ke1/";
}
  if( $main::value{'Ke_Ke2.F'} ne "closed" ){
   $kfo++;
   $kfs = "Ke_Ke2/";
}
  if( $main::value{'Ke_Tr.F'} ne "closed" ){
   $kfo++;
   $kfs = $kfs."Ke_Tr/";
}
if( $main::value{'Ha.T'} ne "closed" ){
   $kto++;
   $kts = "Ha/";
}
  if( $main::value{'Ke.T'} ne "closed" ){
   $kto++;
   $kts = "Ke/";
}
  if( $main::value{'Te_li.T'} ne "closed" ){
   $kto++;
   $kts = "Te_li/";
}
  if( $main::value{'Te_re.T'} ne "closed" ){
   $kto++;
   $kts = "Te_re/";
}
if( $main::value{'Tuerkontakt_Test.T'} ne "closed" ){
   $kto++;
   $kts = $kts."Tuerkontakt_Test/";
}
if( ($kfo >= 1) && ($kto == 0) ){
   $kfs = substr($kfs,0,-1);
   fhem("define TFOpen.delay at +00:00:30 set TFOpen.warn $kfs Fenster");
   fhem("define TFClose.delay at +00:00:30 set TFClose.warn no");
}elsif( ($kfo == 0) && ($kto >= 1) ){
   $kts = substr($kts,0,-1);
   fhem("define TFOpen.delay at +00:00:30 set TFOpen.warn $kts Tür");
   fhem("define TFClose.delay at +00:00:30 set TFClose.warn no");
}elsif( ($kfo >= 1) && ($kto >= 1) ){
    $kts = substr($kts,0,-1);
    $kfs = substr($kfs,0,-1);
    $str = "$kts Tür + $kfs Fenster";
    fhem("define TFOpen.delay at +00:00:30 set TFOpen.warn $kts T / $kfs F");
    fhem("define TFClose.delay at +00:00:30 set TFClose.warn no");
}else{
    fhem("set TFOpen.warn none");
    fhem("set TFClose.warn yes");
}
return $str;
}


list der alarmanlage
Internals:
   NAME       Alarmanlage
   NR         274
   STATE      <span style="color:green"> 0 1 2 3 <span style="width:1ex;color:red">4</span> 5 6 7</span> Türtestkontakt offen
   TYPE       Alarm
   VERSION    2.85
   READINGS:
     2017-04-24 20:58:27   level           0
     2017-04-30 13:47:46   level0          disarmed
     2017-04-30 13:47:51   level1          disarmed
     2017-04-24 20:58:17   level2          armed
     2017-05-01 22:27:19   level3          disarmed
     2017-09-25 01:20:21   level4          Tuerkontakt_Test.T
     2017-09-24 21:57:00   level5          disarmed
     2017-09-24 18:43:17   level6          disarmed
     2017-04-30 13:48:01   level7          armed
     2017-04-24 22:26:43   lockstate       unlocked
     2017-09-25 01:20:21   short           Türtestkontakt offen
     2017-09-25 01:38:06   state           <span style="color:green"> 0 1 2 3 <span style="width:1ex;color:red">4</span> 5 6 7</span> Türtestkontakt offen
Attributes:
   armact     set Alarmscharf on
   armdelay   0:05
   armwait    set Alarmteilscharf on
   cancelact  set rm_alarm alarmOff;set AlarmMeldung off
   disarmact  set AlarmAktiv off;set Alarmteilscharf off;set Alarmscharf off;wait 2;set AlarmAus off;set AlarmMeldung off
   group      Alarmanlage 
   level4end  23:59
   level4msg  offen
   level4offact wait 5;set og_west_Sw off;
   level4onact define alarm4dly1 at +00:02:00 {HouseOpen()};define alarm4dly2 at +00:00:02 {DebianMailNoAttach('xxxxxxxxxxxxxxxxxxx','Alarm','$SHORT')};define alarm4dly3 at +00:00:05 set og_west_Sw on;
   level4start 0:00
   level4xec  armed
   room       Alarm
   statedisplay color
RPi2 für Heizungsvisualisierung
RPi3 für fhem 5.8 HM mit HM-MOD-RPI-PCB, HM-LC-BL1-FM, HM-LC-SW1-FM,     
HM-ES-PMSw1-Pl-DN-R1, HM-SEC-SD-2,     
HM-SEC-SCo, HM-PB-2-WM55, CUL433 für Intertechno und düwi, Fritz!Box 7490, Samsung Tab SM-T520 für Tablet-UI

Newbee

Hallo Community,

nach dem heutigen Update auf die aktuelle Version von "95_Alarm.pm" bekomme ich folgende Fehlermeldung bei "Set Alarms"!
alarm.js line 137:
TypeError: undefined is not an object (evaluating 'sarr[k].children[2].children[1].value')


Hat den Fehler noch einer von Euch?

Vielen Dank vorab.

Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

Prof. Dr. Peter Henning

Ist das die angehängte Version von alarm.js ?

LG

pah

Newbee

Zitat von: Prof. Dr. Peter Henning am 09 Oktober 2017, 19:05:47
Ist das die angehängte Version von alarm.js ?

LG

pah

Mit dieser ist der Fehler beseitigt, habe ich wohl irgendwo übersehen und hatte wohl noch eine andere Version.

Danke für die schnelle Hilfe.

Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

ChrisW

hab den selben fehler nach dem Update. Wo muss diese alarm.js genau hin?
Raspberry PI3 mit allem möglichen.

Newbee

Zitat von: ChrisW am 09 Oktober 2017, 20:50:40
hab den selben fehler nach dem Update. Wo muss diese alarm.js genau hin?

Bei mir liegt die unter folgendem Pfad:

/opt/fhem/www/pgm2

Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

ChrisW

Danke. Oha was den da passiert beim Update. Alle verzögerungszeiten sind weg beim Aktoren :(
Raspberry PI3 mit allem möglichen.

Prof. Dr. Peter Henning

Kann sein, dass ich die selbst beim Einchecken nicht in der richtigen Version hatte - ist behoben,

LG

pah

Newbee

Hallo Gemeinde,

Folgender Sachverhalt gibt mir ein Rätsel auf.

Ich bekomme die Meldung [Alarm 4] has undefined save data test, disarming nach shutdown restart im LogFile angezeigt. Dies hängt irgendwie mit der Statedisplay Meldung und dem letzten Sensor der ausgelöst hat zusammen. Kann ich mit allen Sensoren reproduzieren. Konsequenz Alarm Level des Sensors ist danach deaktiviert. --> Möglicherweise auch die richtige Reaktion des Modules.

Mein Verständnis aktuell bis jetzt: Wenn immer ein Sensor in der Zustandsprüfung auslöst darauf im Statedisplay angezeigt wird, ist dieser dann auch der den ich in o.g. Meldung als undefined save data gemeldet bekomme.

Frage: In der Zustandsänderung sollte doch sobald alle Sensoren ein "closed" haben ein "Cancel" für den jeweiligen Level (Bei mir Level 4) gesetzt werden und der Statedisplay Eintrag verschwinden?

Wahrscheinlich sitzt der Fehler ja zwischen Tastatur und Monitor!  ;)

Da ich die Routine und die Einstellungen aus dem Wiki übernommen habe, gehe ich davon aus das es daran nicht liegt.

Vielen Dank vorab.

Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

mumpitzstuff

Wenn man bei Warte-Aktion etwas einträgt, dann wird das Attribut alarmwait erzeugt. Wenn man jetzt die Warte-Aktion wieder löscht und den Button Set Alarms drückt, dann wird das Attribut alarmwait auf 1 gesetzt. Das äußert sich dann im Logfile wie folgt:

2017.10.15 12:45:04 3: 1 : Unknown command 1, try help.
2017.10.15 12:45:04 3: [Alarm 6] will be armed from alarmSensor GROUP_FAMILIE with event absent, delay 1:00


Besteht die Möglichkeit, dass das Modul dieses Attribut entfernt, wenn man die Aktion entfernt hat (das was drin steht löschen), anstatt dann das Attribut auf 1 zu setzen? Außerdem wäre schön gewesen, wenn hier stehen würde, welche Aktion/Attribut zu diesem Fehler geführt hat.