Autor Thema: Neues Modul für Alarmanlage  (Gelesen 247911 mal)

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1005 am: 08 Januar 2018, 18:44:02 »
Habe einen neuen Plan. Im Prinzip bräuchte ich ja nur einen Dummy der immer den gleichen STATE hat wie mein Residenzmodul.

Ich habe das jetzt einmal mit clonedummy versucht, funzt auch bei den readings aber beim STATE leider nicht. Kann mir jemand sagen wie ich ein x-beliebiges STATE einem dummy übergebe? Da das Residenzmodul 4 Zustände hat, möchte ich keine 4 notifys schreiben um es zu übergeben. Da gibt es doch sicher... Achtung jetzt kommts... eine "SAUBERE" variante  ;D

Offline gamauf

  • Full Member
  • ***
  • Beiträge: 275
Antw:Neues Modul für Alarmanlage
« Antwort #1006 am: 08 Januar 2018, 19:05:19 »
..Im Prinzip bräuchte ich ja nur einen Dummy der immer den gleichen STATE hat wie mein Residenzmodul.
..

Nein, brauchst du nicht. Du brauchst nur einen Dummy mit "alarmDevice = Sensor" sonst muß der Dummy gar nichts können. Dadurch bekommst du eine weitere Zeile im Alarmmodul unter "Sensors". In der Spalte "Notify by RegExp" kannst du dann den gewünschten Wert deines Residenzmoduls abfragen.

Der Dummy dient dann nur als Speicherort für das "alarmSettings" Attribut. Zu mehr brauchst du ihn nicht.
« Letzte Änderung: 09 Januar 2018, 11:25:50 von gamauf »

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1007 am: 08 Januar 2018, 22:43:03 »
ahhhhhhhhh. sehr schlau!

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1008 am: 09 Januar 2018, 09:42:07 »
Zwei Fragen noch: a) Zum einen würde ich gerne den "Alarmroom" anders benennen und bei den anderen Räumen und nicht im Feld ganz links oben abbilden. Kann mir wer sagen wie ich das mache?
b) Das "statedisplay" des Moduls zeigt bei mir oft irgendwas. "At-devices" meines Weckers oder ganz andere Dinge die mit der Alarmanlage überhaupt nichts am Hut haben. Habe das Attribut auf "none" gestellt, aber keine Besserung.

Offline gamauf

  • Full Member
  • ***
  • Beiträge: 275
Antw:Neues Modul für Alarmanlage
« Antwort #1009 am: 09 Januar 2018, 11:30:15 »
...
b) Das "statedisplay" des Moduls zeigt bei mir oft irgendwas. "At-devices" meines Weckers oder ganz andere Dinge die mit der Alarmanlage überhaupt nichts am Hut haben. Habe das Attribut auf "none" gestellt, aber keine Besserung.
ist bei mir auch so, bin dem aber noch nicht nachgegangen...

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1010 am: 10 Januar 2018, 00:32:22 »
Okay. Ich habe ein weiteres Problem:

Ich nutze drei Alarmlevel: 0=Fenster links, 1=Fenster rechts, 2=Haustüre. Das mache ich um 3 unterschiedliche Push-Nachrichten an mein Handy senden zu können. Soweit so gut.

Zum scharfstellen verwende ich residenz:absent für Alarmlevel 0,1,2... einen Dummy mit residenz:home zum Abschalten für 0,1,2 und einen weiteren Button für 0,1,2 zum Canceln.

Jetzt habe ich: Arm Action: set push_per00 message Alarmanlage aktiviert!Disarm Action: set push_per00 message Alarmanlage deaktiviert!Cancel Action: set push_per00 message Alarm canceled!
und bekomme jetzt jede Pushnachricht drei Mal, weil er anscheinend pro Alarmlevel meint, einmal die Pushnachricht senden zu müssen.

Bei Message Part II habe ich für alle drei Alarmlevel "0" drinnen stehen.

Wie kann ich das verhindern?
Und noch ne Idee wie ich den Alarmsraum zu meinen anderen Räumen runterbekomme? Verstecken über hiddenroom ist mir bekannt.

Vielen Dank.
« Letzte Änderung: 10 Januar 2018, 00:49:55 von theophilou85 »

Offline gamauf

  • Full Member
  • ***
  • Beiträge: 275
Antw:Neues Modul für Alarmanlage
« Antwort #1011 am: 10 Januar 2018, 13:58:45 »
Wenn du alle diene Sensoren in einen alarm level hast und bei auslösen dieses alarm levels so eine nachricht verschickst:
define A_Mail dummy
attr A_Mail alarmDevice Actor
attr A_Mail alarmSettings alarm2,alarm5,alarm6,alarm7,|{DebianMail('user@domain.net','Alarm',Value('AAA'),'')}|{DebianMail('user@domain.net','Entwarnung',Value('AAA'),'')}|00:00
attr A_Mail group alarmHelperDev
attr A_Mail room Alarm
dann steht im Mail welcher Sensor ausgelöst hat.

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1012 am: 10 Januar 2018, 15:39:17 »
Wäre eine Lösung, lieber wären mir aber individuelle Texte. armact/cancelact/disarmact kann ich nicht irgendwie dazu bringen, ihre Meldung, bei mehreren Alarmen nur einmal abzuschicken?

Kann ich irgendwie absent oder gone zum scharfstellen der Anlage verwenden, ohne dafür ein weiteres dummy anlegen zu müssen?

define surve_on dummy
attr surve_on alarmDevice Sensor
attr surve_on alarmSettings alarm0,alarm1,alarm2,|res:absent !!!ODER GONE!!!|Alarmanlage aktiviert!|arm




Offline gamauf

  • Full Member
  • ***
  • Beiträge: 275
Antw:Neues Modul für Alarmanlage
« Antwort #1013 am: 10 Januar 2018, 16:12:47 »
die RegExp würde so aussehen:
res:absent|gone
aber da das AlarmModul das Pipe-Symbol ("|") als Trennzeichen im Attribut verwendet, wird das wahrscheinliich so nicht funktionieren. Möglw. muß man das |-Zeichen irgendwie "escapen" -> Frage @pah

Offline gamauf

  • Full Member
  • ***
  • Beiträge: 275
Antw:Neues Modul für Alarmanlage
« Antwort #1014 am: 10 Januar 2018, 16:26:09 »
ein schmutziger workaround der das Pipe-Symbol vermeidet:
res:[absegone]{4}.*

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1015 am: 10 Januar 2018, 20:58:36 »
Der unsaubere Workaround gefällt mir und klappt. wenn @pah noch irgend ne einstellung vorsehen könnte, dass ich beim armen/canceln/disarmen, mir aussuchen kann nur eine meldung, oder 3 individuelle devices anzulegen (dann lasse ich zwei einfach leer), wäre es perfekt.

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5877
Antw:Neues Modul für Alarmanlage
« Antwort #1016 am: 10 Januar 2018, 21:51:43 »
Zitat
Möglw. muß man das |-Zeichen irgendwie "escapen"

Das ist schon im Testbetrieb.

Zitat
@pah noch irgend ne einstellung vorsehen könnte

Sonst noch Probleme ?

LG

pah

Offline theophilou85

  • Full Member
  • ***
  • Beiträge: 135
Antw:Neues Modul für Alarmanlage
« Antwort #1017 am: 11 Januar 2018, 21:53:17 »
Nö, bisher läuft sonst alles einwandfrei.

Offline jmike

  • Developer
  • Full Member
  • ****
  • Beiträge: 229
Antw:Neues Modul für Alarmanlage
« Antwort #1018 am: 14 Januar 2018, 12:26:45 »
Hallo.

Habe mich seit langem mal wieder an ein umfangreiches FHEM update getraut und strauchel gerade etwas mit dem Alarm Modul v3.12.
Das GUI Update und auch levelX Status als Readings finde ich super, aber ein Verhalten hat sich verändert und ich bekomme nicht raus warum.

In der Vergangenheit hat er die Aktion "Aktor unset" (jetzt, Aktion Rücksetzen) erst ausgeführt, wenn das Alarmlevel vorher auch ausgelöst war.
Konkret, Ich habe ein Level für meine Fenster und eins für Türen die Zeitgleich bedient werden.
Wenn ich nun nach Hause komme (durch die Tür ;) ) und beide Level entschärfe, werden alle unset Aktionen ausgeführt (Lichter aus, Rollladen hoch etc) obwohl das Level für die Fenster gar nicht ausgelöst ist.

Das tritt bei mir sowohl über die Checkboxen in der GUI, als auch per CLI "set AAA armed 3; set AAA disarmed 3" auf.
Verbose 5 brachte mich nicht wirklich weiter, im Eventlog steht dann:
2018-01-14 12:13:33.203 Alarm AAA level3: armed
2018-01-14 12:13:33.205 Alarm AAA  widerrufen durch: program
2018-01-14 12:13:33.208 Alarm AAA level3: disarmed
2018-01-14 12:13:33.210 Alarm AAA 
2018-01-14 12:13:33.213 Alarm AAA savedate: 33

Konnte in den letzten Seiten nichts dazu finden, ist das bei euch auch so? Jemand eine Idee?

Danke & Grüße
Mike


edit: hab mir das nochmal auf meinem playground angesehen. Aktuell kann ich jedoch nur reproduzieren, wenn der disarm vor dem armed kommt, also vor dem arm-delay.
Da läuft das Modul anscheinend in diese if-condition, die als einigste "widerrufen durch program" generiert und dann alle $unsetaction durchführt.

772:  #-- disarming implies canceling as well
773:   }elsif( ($act eq "disarm") &&  ($xec ne "disarmed")) {


...und noch ein edit:
mit folgender Änderung & "#> reload 95_Alarm", funktioniert es für mich. Keine Ahnung ob das die korrekte Stelle ist, aber meine Level werden ohne Alarm raise, mit disarm während arm-wait und natürlich auch nach dem Alarm raise, sauber ausgeführt.
778:       Alarm_Exec($name,$level,"program","disarm","cancel") if $xac ne 'armwait';
« Letzte Änderung: 14 Januar 2018, 14:15:07 von jmike »

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5877
Antw:Neues Modul für Alarmanlage
« Antwort #1019 am: 16 Januar 2018, 16:14:35 »
Äh, mein Fehler, ich habe mich selbst ausgetrickst, alles in Ordnung. Falscher Alarm so wie in Hawaii.

LG

pah
« Letzte Änderung: 16 Januar 2018, 16:54:40 von Prof. Dr. Peter Henning »