Neues Modul für Alarmanlage

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

Vorheriges Thema - Nächstes Thema

mp

#270
Nabend allerseits,

auch wenn´s Euch lächerlich vorkommt, ich weiß nicht wie ich
define alarm0.on.N alarm0.on.N notify (alarm_set on) {main::Alarm_Exec("Alarmanlage",0,"$NAME","$EVENT","on")}: Bad regexp: Unmatched ( in regex; marked by <-- HERE in m/^( <-- HERE alarm_set$/ at ./FHEM/91_notify.pm line 43.

Please define alarm0.off.N first und
Please define alarm0.on.N first
bewerkstelligen soll. Wahrscheinlich habe ich ein "Verstehproblem" oder bin einfach zu doof dafür. Ich habe zum Testen jeweils einen Dummy Alarm_set, Alarm_reset und Alarm angelegt und will einfach nur schauen, ob bei Alarm_set on der Dummy Alarm auf on geht und bei Alarm_reset on wieder auf off.
Bei den Sensoren habe ich als Notify on Regexp Alarm_reset on bzw. Alarm_set on eingetragen, beim Aktor Alarm on. Level Alarm 0 ist von 0:00 bis 23:59 und scharf.
Das Setzen der Dummies kriege ich hin, dann hört´s aber auch schon auf.

MP

stenny73

Hallo

Habe mir diese Tage mal das Modul angesehen. Hört sich soweit gut an.
Jedoch verstehe ich gerade nicht wie ich einen türkontakt zur Meldung bewegen kann....
Im log habe ich.....


2015-04-25_21:17:32 test_sc Activity: alive
2015-04-25_21:23:57 test_sc battery: ok
2015-04-25_21:23:57 test_sc contact: closed (to vccu)
2015-04-25_21:23:57 test_sc closed
2015-04-25_21:23:57 test_sc trigDst_vccu: noConfig
2015-04-25_21:23:57 test_sc trigger_cnt: 76
2015-04-25_21:24:11 test_sc battery: ok
2015-04-25_21:24:11 test_sc contact: open (to vccu)
2015-04-25_21:24:11 test_sc open
2015-04-25_21:24:11 test_sc trigDst_vccu: noConfig
2015-04-25_21:24:11 test_sc trigger_cnt: 77
2015-04-25_21:24:13 test_sc battery: ok
2015-04-25_21:24:13 test_sc contact: closed (to vccu)
2015-04-25_21:24:13 test_sc closed
2015-04-25_21:24:13 test_sc trigDst_vccu: noConfig
2015-04-25_21:24:13 test_sc trigger_cnt: 78
2015-04-25_21:45:27 test_sc Activity: alive


Bin irgendwie zu blöd dazu......


Stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

A.Harrenberg

Hi,

hab' das Modul auch erst gerade in Betrieb genommen, mit der Anleitung aus dem Wiki geht das aber eigentlich ganz gut...

Zitat von: stenny73 am 25 April 2015, 22:24:40
Hallo

Habe mir diese Tage mal das Modul angesehen. Hört sich soweit gut an.
Jedoch verstehe ich gerade nicht wie ich einen türkontakt zur Meldung bewegen kann....

Wäre nicht schlecht wenn Du Dein Problem näher beschreiben würdest...

Generell würde ich sagen, System nach Anleitung im Wiki aufsetzen, vor allem nicht vergessen die beiden attribute ("alarmDevice" und "alarmSettings") den globalen userattr HINZUZUFÜGEN. Dann dem Türkontakt bei seinem Attribut alarmDevice ein "Sensor" eintragen, dann erscheint der Kontakt in der Liste der Sensoren im Modul.

Dann (bei Deinem Kontakt) "test_sc:open" im Feld "Notify on RegExp" eintragen, Action = Raise und (fast) fertig. Für jeden Level MUSS ein Sensor mit Action = Cancel existieren, sonst werden die Eingaben NICHT übernommen. Dann oben im Modul auf "Set Alarms" klicken und schauen was ganz oben angezeigt wird. Vielleicht noch mal einen Reload der Seite machen um den Status zu sehen.

Falls Fehlermeldungen bzgl. "locked" kommen, Attribute "lockstate" von AAA nach Anleitung auf unlock setzen UND ein "set AAA unlocked" machen (wobei AAA der Name der Alarminstanz ist).

Mehr gibt die Glaskugel nicht her...

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Guten Morgen...

Zitat von: mp am 25 April 2015, 18:49:03
Bei den Sensoren habe ich als Notify on Regexp Alarm_reset on bzw. Alarm_set on eingetragen, beim Aktor Alarm on. Level Alarm 0 ist von 0:00 bis 23:59 und scharf.

Du musst als Regexp "Alarm_set:on" bzw. "Alarm_reset:on" eintragen, also "Doppelpunkt" statt "Leerzeichen".

Dann sollten das Notify schon mal funktionieren. Allerdings wundert mich da etwas das der Name des Notify "alarm0.on.N" in der Definition zwei mal auftaucht, die Syntax wäre ja "define <name> notify <regex> <command>

define alarm0.on.N alarm0.on.N notify (alarm_set on) {main::Alarm_Exec("Alarmanlage",0,"$NAME","$EVENT","on")}

Kann es sein das Du da beim copy/paste der Fehlermeldung was doppelt kopiert hast? Ansonsten wäre das sehr merkwürdig...

Beim Actor muss in das Feld "Set Action" auch das "set" mit rein, also "set Alarm on". So wie Du es beschrieben hast steht bei Dir nur "Alarm on".

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

stenny73

@A.Harrenberg
Hallo, hast vollommen recht, mein Problem war nicht wirklich gut beschrieben........
Zitat von: A.Harrenberg am 26 April 2015, 07:25:19
Hi,

hab' das Modul auch erst gerade in Betrieb genommen, mit der Anleitung aus dem Wiki geht das aber eigentlich ganz gut...

Wäre nicht schlecht wenn Du Dein Problem näher beschreiben würdest...

Generell würde ich sagen, System nach Anleitung im Wiki aufsetzen, vor allem nicht vergessen die beiden attribute ("alarmDevice" und "alarmSettings") den globalen userattr HINZUZUFÜGEN. Dann dem Türkontakt bei seinem Attribut alarmDevice ein "Sensor" eintragen, dann erscheint der Kontakt in der Liste der Sensoren im Modul.

Dann (bei Deinem Kontakt) "test_sc:open" im Feld "Notify on RegExp" eintragen, Action = Raise und (fast) fertig. Für jeden Level MUSS ein Sensor mit Action = Cancel existieren, sonst werden die Eingaben NICHT übernommen. Dann oben im Modul auf "Set Alarms" klicken und schauen was ganz oben angezeigt wird. Vielleicht noch mal einen Reload der Seite machen um den Status zu sehen.

Falls Fehlermeldungen bzgl. "locked" kommen, Attribute "lockstate" von AAA nach Anleitung auf unlock setzen UND ein "set AAA unlocked" machen (wobei AAA der Name der Alarminstanz ist).

Mehr gibt die Glaskugel nicht her...

Gruß,
Andreas.

Aber jetzt....

Hbe das Modul nach der Wiki in Betrieb genommen. Die Batterie Meldung funktioniert auch. Jedoch bekomme ich
einen Türkontakt nicht zu Auslössen des Alarms.
Attribute und alles vergeben, er taucht auch unter der Alarmanlage auf. auch das test_sc:open hatte ich vor meiner
ersten Anfrage versucht. Im Log selber taucht der Türkontakt auch auf, nur das Modul will mir nicht reagieren......

Da ich aber heute leider unterwegs bin kann ich vorerst da nichts testen.


stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

mp

#275
Hallo Andreas,

habe mich bei der Fehlermeldung nicht vertan, die steht so drin. Ich habe jetzt mal das gemacht, was Du geschrieben hast, leider ändert sich nix. Muss ich vielleicht noch irgendwo was ändern, definieren, trallala?

Gruß MP

Edit: Es hat sich was geändert. Geht zwar immer noch nicht, aber die einzige Fehlermeldung ist jetzt 2015.04.26 10:53:59 1: [Alarm 0] not raised, alarmSensor alarm_set has wrong settings

A.Harrenberg

Hi MP,

Zitat von: mp am 26 April 2015, 10:48:06
Hallo Andreas,

habe mich bei der Fehlermeldung nicht vertan, die steht so drin. Ich habe jetzt mal das gemacht, was Du geschrieben hast, leider ändert sich nix. Muss ich vielleicht noch irgendwo was ändern, definieren, trallala?

Gruß MP

welche Version vom Modul nutzt Du? ("get AAA version" falls Du den Namen aus dem Wiki übernommen hast) Aktuell wäre Version 2.5
Vielleicht mal ein "update all" machen?

Die Notifications werden vom Modul ja automatisch angelegt sobald man "SetAlarms" drückt, da dürfte es eigentlich nicht zu so einer verdopplung des Namens kommen...

Kannst Du das ganze noch mal neu in "Alarm 1" eintragen und schauen ob es die gleiche Fehlermeldung dann für alarm1.on.N gibt? Vielleicht auch mal ein "list AAA" (oder wie auch immer die Instanz von dem Alarmmodul heisst) machen und posten. (als code -> "#")

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

stenny73

Hallo

erstmal Danke das du dein Wochenende hier für mich Opferst.....

Natürlich ein Update vorher gemacht, dasist bei Probleme immer das erste..... Ist die 2.5er

Da mir das aber auch keine Ruhe gelassen hat sitze ich an einem PC vom Kollegen..... (Remote ist machmal ein
Fluch und machmal ein Segen......)
Glaube habe den Fehler gefunden, sieht aus als wenn die Delay Zeit aus irgend einm Grund nicht wollte.
Habe gerade alles nochmal angsehen, Habe die Delay Zeit von "10" Sekunden auf "00:10" geändert und
jetzt scheint es zu gehen (kann hier jetzt nur per trigger testen).



stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

mp

#278
Hi Andreas,

Internals:
   NAME       Alarmanlage
   NR         64
   STATE       0
   TYPE       Alarm
   VERSION    2.5
   Readings:
     2015-04-25 18:14:19   level           0
     2015-04-26 07:11:48   level0          off
     2015-04-25 18:11:09   lockstate       unlocked
     2015-04-26 07:11:48   short           0
     2015-04-26 11:21:32   state            0
Attributes:
   armact     set scharf on
   armdelay   0
   armwait    1
   cancelact  1
   disarmact  1
   level0end  23:59
   level0msg  0
   level0offact 1
   level0onact set alarm on;
   level0start 00:01
   level0xec  armed
   level1end  0
   level1msg  0
   level1start 0
   level1xec  disarmed
   level2end  0
   level2msg  0
   level2start 0
   level2xec  disarmed
   level3end  0
   level3msg  0
   level3start 0
   level3xec  disarmed
   level4end  0
   level4msg  0
   level4start 0
   level4xec  disarmed
   level5end  0
   level5msg  0
   level5start 0
   level5xec  disarmed
   level6end  0
   level6msg  0
   level6start 0
   level6xec  disarmed
   level7end  0
   level7msg  0
   level7start 0
   level7xec  disarmed
   room       AlarmRoom

Hier die Zeilen aus der fhem.cfg für alarm_set
define alarm_set dummy
attr alarm_set alarmDevice Sensor
attr alarm_set alarmSettings alarm0,|alarm_set:on||on


Danke Dir, dass du Dich damit beschäftigst.

Matthias

A.Harrenberg

Hi Stenny,

Zitat von: stenny73 am 26 April 2015, 11:22:15
Glaube habe den Fehler gefunden, sieht aus als wenn die Delay Zeit aus irgend einm Grund nicht wollte.
Habe gerade alles nochmal angsehen, Habe die Delay Zeit von "10" Sekunden auf "00:10" geändert und
jetzt scheint es zu gehen (kann hier jetzt nur per trigger testen).

Zahlen von 0 bis 59 werden als Sekunden interpretiert, 10 sollte als Delay also gehen, hatte ja gerade ein paar Posts weiter oben ein kleines Problem mit dem Delay und hatte mir das etwas genauer angesehen. Was momentan (noch) nicht geht ist 00:00, hier muss man (noch) 0 schreiben.

Aber schön wenn es jetzt gehen sollte.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hi Matthias,

Zitat von: mp am 26 April 2015, 11:23:02
define alarm_set dummy
attr alarm_set alarmDevice Sensor
attr alarm_set alarmSettings alarm0,|alarm_set:on||on


Du hast keinen "Message Part I" definiert, und so wie ich das im Code verstehe wird das abgefragt und darf nicht leer sein.

Kannst Du da mal irgendeinen Text (allerdings ohne das "|" Zeichen) eingeben und schauen ob es dann funktioniert?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

mp

#281
Hi Andreas,

jetzt klappt es  :), wäre ich nie drauf gekommen.
Ich schalte scharf (mit dem Häkchen), löse "alarm_set" aus und "alarm" geht auf on. Ich löse "alarm_reset" aus und Alarm Cancelled steht im Log, aber "alarm" ist immer noch on. Schärfen mit Delay 0 oder 1 geht bei mir nicht 00:00 auch nicht. Nur 00:01 oder so schärft wieder.
Was muss ich tun, damit der gesetzte Alarm auch wieder aus geht?
Im Normalfall (ich mach das beruflich) muss ich vorm Reset entschärfen. Hab ich auch versucht, klappt aber nicht, "alarm" bleibt on.

Edit: Hab jetzt alles nochmal rausgeschmissen und neu gemacht, weiß ja ,dank Dir, wie´s geht  :). Jetzt setzt es den Alarm zurück, wie es sein soll. Das Delay habe ich auf 00:01 gelassen, so funktioniert es.

Ich danke Dir, dass Du mir Noob bissel auf die Sprünge geholfen hast.

Schönen Sonntag noch

Matthias

Wolle02

Hallo pah,

in irgendeinem Posting wieder oben hattest du mal geschrieben, dass der öffentliche Raum "Alarm", in dem z.B. die generierten Notifies liegen, im Modulcode je nach Gusto umbenannt werden kann bzw. ein anderer, vorhandener Raum gewählt werden kann. Ich würde das bei mir aus Homogenitätsgründen gerne machen, da ich gerne alle Notifies in einem Raum gesammelt habe.
Wenn ich nun aber im Code den Raum ändere, dann wird diese Änderung ja aller Wahrscheinlichkeit nach beim nächsten Update des Moduls wieder überschrieben. Oder irre ich hier?
Gäbe es in diesem Falle hier eventuell eine Möglichkeit den Raumnamen durch ein Attribut frei wählbar zu machen? Ähnlich dem Attribut "room"?

Gruß
Wolle

A.Harrenberg

Hallo pah!

Ich wollte die Statusmeldungen von dem Alarmmodul in einer "ReadingsHistory" anzeigen lassen, der State taucht dort aber nicht auf... Über den Autor von ReadingsHistory (Justme1986) bin ich dann darauf gekommen das die Statusmeldungen auch nicht im Eventmonitor erscheinen. Dadurch bin ich dann darauf gekommen in Deinem Code nach "state" zu suchen...

Im Code wird der state per readingsSingleUpdate mit einer 0 als letztem Parameter für $dotrigger gesetzt, würde etwas dagegen sprechen hier eine 1 zu verwenden? Dann kommen die Updates auch als Event und können von ReadingsHistory verarbeitet werden.

Ich habe das bei mir testweise mal lokal für die state-updates gemacht und das scheint problemlos zu funktionieren, soweit ich das nach ein paar Stunden beurteilen kann.

Gruß,
Andreas.

FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

Prof. Dr. Peter Henning

@A.Harrenberg: Auch das ist eine sinnvolle Ergänzung, ist im nächsten Update drin.

@Wolle02: No, Sir. Habe ich eigentlich nicht vor, weil das größere Änderungen am Modul nach sich zieht - Attribute sollten nämlich eigentlich auch per Webinterface setzbar sein.

LG

pah