Neues Modul für Alarmanlage

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

Vorheriges Thema - Nächstes Thema

Milmi12

Hallo zusammen,

Modulversion 1.4

Ich habe in meinem Testaufbau bislang insgesamt 6 Reedkontakte zur Überwachung der Außenhaut. Ich schalte Level 5 durch einen Taster scharf und durch einen anderen Taster wieder unscharf. Alles klappt soweit sehr gut.
Durch Auslösen des Alarms werden 3 Aktoren getriggert: Alarmierung per eMail, eine Schaltsteckdose und ein Schaltaktor für's Treppenhauslicht.
Beim Canceln des Alarms werden bei allen drei Aktoren auch Unset-Befehle ausgelöst. Alle Befehle stehen brav in der Maske drin, es wird allerdings immer nur einer der Unset-Funktionen auch in das Attribut level5offact übernommen.
Kann das bitte jemand verifizieren. Bei mir ist das reproduzierbar.
Wenn ich die unset-Befehle von Hand in das Attribut einfüge, klapt alles wunderbar - zumindest solange, bis ich das nächste Mal auf den Button 'Set Alarms' drücke. Damit werden die händisch eingetragenen Werte wieder gelöscht und es bleibt wieder nur ein Befehl stehen.

Danke schonmal vorab für eine Rückmeldung.
Viele Grüße,
Michel

Prof. Dr. Peter Henning

#91
Oha, das scheint tatsächlich ein Fehler zu sein !

Wird heute abend noch gefixt und ins SVN geladen.

Wer es von Hand ändern möchte:

String suchen

$cmd2 = $aval[2].';'

und ändern in

$cmd2 .= $aval[2].';'

Es fehlte tatsächlich nur der eine "Punkt".

LG

pah

Spezialtrick

@pah: Könntest du deine Sicherheitsbedenken bzgl. des Scharf und Unscharf Schaltens einer Alarmanlage am selben Schalter erläutern?
FHEM - Debmatic - Zigbee2MQTT - Homekit

Prof. Dr. Peter Henning

Vorlesung am Abend ? Hm. Also gut:

Erstens sollte für eine Alarmanlage das Scharfschalten einfach sein: Ein Tastendruck. Das Ausschalten hingegen sowohl mit Besitz (Schlüssel oder Fernbedienung) als auch mit Kenntnis (Sequenz, Geheimzahl) verbunden sein.

Zweitens ist das ein Sicherheitsproblem: Jemand kann beobachten, was der Hausherr beim Verlassen des Hauses tut. Auch wenn er möglicherweise nicht sofort ahnt, dass dies auch die Anlage wieder unscharf macht, gibt man ihm damit einen Vorteil.

Drittens ist das ein Problem der Ergonomie - jeder wird sich mindestens fünfmal fragen, ob er die Anlage nun scharf, oder unscharf geschaltet hat. Somit auch ein Sicherheitsrisiko.

LG

pah



Tommy82

#94
Zitat von: Prof. Dr. Peter Henning am 17 Oktober 2014, 06:42:29
Es fehlen die Zeitangaben für den START der Periode.

LG

pah

So habs jetzt nochmal neu gesetzt, im List steht jetzt:
Internals:
   NAME       Alarmanlage_1
   NR         129
   STATE       0
   TYPE       Alarm
   VERSION    1.4
   Readings:
     2014-10-13 20:46:42   level0          0
     2014-10-13 20:46:22   lockstate       unlocked
     2014-10-13 20:15:17   short           0
     2014-10-17 21:37:25   state            0
Attributes:
   group      Einbruchalarm
   level0end  21:50
   level0msg  Einbruch
   level0offact set FritzDect_Wohnzimmerschrank off;
   level0onact define alarm0dly1 at +00:00:05 set FritzDect_Wohnzimmerschrank on;
   level0start 21:40
   level0xec  sharp
   level1end  0
   level1msg  0
   level1start 0
   level1xec  unsharp
   level2end  0
   level2msg  0
   level2start 0
   level2xec  unsharp
   level3end  0
   level3msg  0
   level3start 0
   level3xec  unsharp
   level4end  0
   level4msg  0
   level4start 0
   level4xec  unsharp
   level5end  0
   level5msg  0
   level5start 0
   level5xec  unsharp
   level6end  0
   level6msg  0
   level6start 0
   level6xec  unsharp
   level7end  0
   level7msg  0
   level7start 0
   level7xec  unsharp
   room       AlarmRoom


Trotzdem funktioniert es nicht....

im Log erscheint kein Fehler..........

Der status des Fensters welches ich geöffnet hab ist auch open
ZitatFenster_ueber_Heizung open
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Prof. Dr. Peter Henning

Tja, erstens sind das viel zu viele Informationen, und zweitens die falschen.

Bitte nicht immer den gesamten Kram posten, das kostet nämlich Zeit zum Suchen - sondern nur die für diesen Level.

Hier fehlen beispielsweise diejenigen Einträge, die den Alarm starten - also nicht die Attribute, sondern der erzeugte Notifier alarm0.on.N.

pah

Milmi12

Zitat von: Prof. Dr. Peter Henning am 17 Oktober 2014, 20:26:06
Oha, das scheint tatsächlich ein Fehler zu sein !

Wird heute abend noch gefixt und ins SVN geladen.

Wer es von Hand ändern möchte:

String suchen

$cmd2 = $aval[2].';'

und ändern in

$cmd2 .= $aval[2].';'

Es fehlte tatsächlich nur der eine "Punkt".

LG

pah

Vielen Dank für den prompten Fix, Peter! Jetzt geht's.

LG,
Michel

Milmi12

Hallo Peter,
ich habe eben eine ganze Latte von gleichen Fehlermeldungen im Log:
2014.10.18 17:48:06.173 1: PERL WARNING: Use of uninitialized value $sta[2] in concatenation (.) or string at ./FHEM/95_Alarm.pm line 303.
Das Modul hat einen Alarm getriggert und die Alarmaktoren mit den Set Action - Befehlen zugepflastert, bis es zum ...
2014.10.18 17:48:32.936 1: HMLAN_Parse: HMLAN1 new condition ERROR-Overload ... kam.

Hast Du die Zeit zu überprüfen, was da am Modul nicht stimmt?

Vielen Dank und viele Grüße,
Michel

Prof. Dr. Peter Henning

#98
Na, mal die Luft anhalten. >:(

Der Fehler mit dem leeren $sta[2] kann nur auftreten, wenn man manuell in den alarmSettings herumeditiert hat - das ist kein Fehler des Moduls.

Und "zupflastern" kann das Modul irgendwelche Aktoren nur, wenn man eine Endlosschleife eingebaut hat, d.h. seine Aktoren wieder einen Alarm auslösen.

pah

P.S.: Ich werde versuchen, solche fehlerhaften Konfigurationen abzufangen - aber habe weder Zeit noch Lust, die Fehler in den Konfigurationen zu suchen.

Tommy82

So, jetzt hat es geklappt, sieht jetzt wie im Anhang aus.

Frage, ich will ja auch das Fenster_ueber_Heizung abgefragt, also auf Raise steht, kann ich das einfach ändern, da ja im wiki steht
ZitatAchtung: Es ist zwingend notwendig, dass für einen auszulösenden Alarmlevel auch ein Sensor für den Widerruf (=Cancel) des Alarms definiert wird, ansonsten ignoriert das Modul die Definition dieses Levels.
das aufjedenfall ein Sensor auf Cancel stehen muss.!?

Weiterhin würde ich mir gerne beim Auslösen des Alarms eine Email schicken lassen, wie kann ich das realisieren?

Und eine letzte Frage, ich würde das Module gerne auf meinem Floorplan  aktivieren und deaktivieren können, wie kann ich das machen? Mir schwebt da vor, "einfach" ein Button On/Off?

Danke für die Hilfe und das klasse modul

MFG
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

kvo1

Hi Tommy82,

ZitatWeiterhin würde ich mir gerne beim Auslösen des Alarms eine Email schicken lassen, wie kann ich das realisieren?

sendEmail installieren siehe     http://www.fhemwiki.de/wiki/E-Mail_senden

und dann über ein notify bei Aktivierung des Alarm senden !

Gruß
Klaus  ;)

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Milmi12

Zitat von: Prof. Dr. Peter Henning am 19 Oktober 2014, 07:24:38
Na, mal die Luft anhalten. >:(

Der Fehler mit dem leeren $sta[2] kann nur auftreten, wenn man manuell in den alarmSettings herumeditiert hat - das ist kein Fehler des Moduls.

Und "zupflastern" kann das Modul irgendwelche Aktoren nur, wenn man eine Endlosschleife eingebaut hat, d.h. seine Aktoren wieder einen Alarm auslösen.

pah

P.S.: Ich werde versuchen, solche fehlerhaften Konfigurationen abzufangen - aber habe weder Zeit noch Lust, die Fehler in den Konfigurationen zu suchen.


Erst mal Danke für die freundliche Antwort.
Ich bin mir ziemlich sicher, dass es nichts mit irgend einem Edit zu tun hat, sondern ich gehe davon aus, dass es ein Benutzerfehler meinerseits war:
Ich habe einen neuen Bewegungssensor integriert und diesen auch als alarmDevice Sensor definiert. Danach habe ich diesem neuen Sensor Alarmlevel 5 zugewiesen und dabei vergessen, das Feld 'Notify on RegExp' auszufüllen. Es blieb leer. Beim Aktivieren des Alarms triggerte dann dieser Sensor vermutlich einen Alarm nach dem anderen.
Falls das so sein kann, wäre es wohl sinnvoll, diesen Fall abzufangen.

Viele Grüße,
Michel

Puschel74

Hallo,

tja, ein Entwickler wird NIE alle möglichen Fehlerquellen der User auf Anhieb abfangen können.
Rudi hatte doch unlängst erst so einen Fall  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Prof. Dr. Peter Henning

@Puschel74: Wenn ich das als studentische Arbeit korrigieren würde, müsste ich den RTFM-Stempel verwenden.
@Milmi12: Das muss ein Missverständnis sein, die Antwort war gar nicht freundlich gemeint  ;D

LG

pah

Milmi12

Sollte auch zynisch rüber kommen  8)