Neues Modul für Alarmanlage

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

Vorheriges Thema - Nächstes Thema

golem

Hallo,

ich habe das Modul schon seit einiger Zeit am laufen, und möchte jetzt eine Erweiterung machen.
Ich möchte einen Alarm auslösen wenn eine Temperatur eines 1-wire Sensors einen bestimmten Wert überschreitet (-15 C°).
Ist es Möglich mit einer regex auf größer oder kleiner zu Prüfen oder muß ich den Umweg über einen Notify und Dummy gehen?

Gruß Denis 
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820

Lars

#331
Bevor dieser sinnvolle Thread hier auf der zweiten Seite untergeht, pushe ich ihn mal mit ein paar Ideen für Erweiterungen nach oben.  :P

Ich bin mir nicht ganz sicher, inwiefern pah an funktionalen Erweiterungen interessiert ist, ich schreibe einfach mal, was mich begeistern würde.

1. Eingangsverzögerung für Raise Sensoren
Bedeutet, ein Alarm wird erst nach x Sekunden ausgelöst. in der Zwischenzeit hat man Zeit, die Anlagen unscharf zu schalten. Funktioniert heute über ein dynamisch erzeugtes at in einem notify und einem dummy.
Die Nutzung des Delays bei den Aktoren finde ich in diesem Fall nachteilig, da dies dann für jeden Alarm gälte - auch wenn jemand durchs Fenster kommt.

2. Attribut Verzögerung Follow für Sensor
Ist eine Erweiterung von 1. und bedeutet, dass ein weiterer Sensor (genau bei dem, bei dem dieses Attribut gesetzt ist), die Alarmverzögerung übernimmt. Löst der Sensor aus, ohne das die Eingangsverzögerung aktiviert wurde, wird der Alarm direkt ausgelöst.
Beispiel: Bewegungsmelder im Flur, hinter der Eingangstür. Der Kontakt an der Eingangstür it die Eingangsverzögerung, der Bewegungsmelder ist der Follower.

3. Unterscheidung zwischen Alarm und Sabotage (unterschiedliche Regex) in einem Raise Sensor.
Funktioniert heute über einen "Dummy-Clone" des Sensors, einem notify und einem Alarm-Level für Sabotagen.

4. (für mich die interessanteste Funktion) Prüfung der geschlossenen Kontakte bei Scharfschaltung mit separater Fehler-Aktion und Override Funktion.
Gerade bei Tür- / Fensterkontakten macht es Sinn, dass das system prüft, ob die Kontakte geschlossen sind, bevor eine Scharfschaltung erfolgt. Ist dies nicht der Fall, könnte dies über eine dedizierte Fehler-Aktion kenntlich gemacht werden. Schaltet man nun innerhalb von x Sekunden erneut scharf, wird diese Situation ignoriert und trotzdem scharf geschaltet (Override).
man kann das natürlich auch über diverse notifys,  dummies, etc. realisieren.

LG
Lars
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

Prof. Dr. Peter Henning

Oh, interessiert immer. Aber momentan ziemlich in Zeitnot.

Außerdem sehe ich bei diesen Erweiterungen die Einfachheit in de Bedienung des Moduls den Bach herunter gehen.

Muss darüber nachdenken.

LG

pah

tkempken

Hallo,

sehr interessantes Modul, funktioniert einwandfrei und lässt sich auch für nicht-Alarmanlage Zwecke nutzen.
Vielen Dank! @ Prof.

Feature Request:
Mir würde es sehr helfen, wenn der Alias im Alarmroom in der ersten Spalte angezeigt werden würde.

Bspw.:    Objektname (Alias)

Genau so wird es bspw. auch im Floorplan gemacht.
Hintergrund: Bei den Homematic Wired Komponenten habe ich bessere Erfahrungen gemacht, wenn man die Objektnamen nicht ändert, sondern besser mit dem Attr. Alias arbeitet.

Sollte eigentlich nicht viel Arbeit sein.


Viele Grüße

tkempken

Ich habe mal schnell was probiert:

Im Actors Ausgabe Bereich:
           my $alias = "(".AttrVal($d, "alias","").")";
           $ret .= "<td width=\"100\" class=\"col1\"><a href=\"$FW_ME?detail=$d\">$d $alias</a></td>\n";

Geht sicher eleganter (wenn kein Alias, hat man leere Klammern), erfüllt für mich erstmal seinen Zweck.

namor

#335
Wer kann mir helfen?

Habe die Alarmanlage nach Wiki eingerichtet.
Mit einem Bewegungsmelder als Sensor und meine Schreibtisch Beleuchtung als Actor (Testaufbau).
Hat alles wunderbar funktioniert.
Nun habe ich an meinem Gong über die Channels die timings geändert um ihn für die finale Einrichtung der Alarmanlage vorzubereiten.
Nachdem dies erledigt war, wieder zurück zur Alarmanlage. Was soll ich sagen, die funktioniert plötzlich nicht mehr.
Habe nun zwei Abende versucht eine Reaktion hervor zu rufen, nix geht.
3 mal raus geworfen und neu angelegt, nix...
Inzwischen hat er mir die Notifies nicht mehr geschrieben?
Habe jetzt nur noch den:
"alarm7.off.N" auf active

Was ist da los?

Mh.. inzwischen schreibt er zwar beide Notifiers wieder, aber Reaktion auf den Auslöser gibt es keine?

namor

Hat sich erledigt, läuft wieder.
weshalb auch immer???

Danke

holle75

Hallo, ich habe vielleicht ein Verständnisproblem. Nachdem ein Alarm ausgelöst wurde, wird er bei erneutem Eintreffen der Raise-Trigger nicht nochmals ausgeführt bevor ich ihn nicht "gecancelt" und dadurch reaktiviert habe. Ich kenne Alarmanlagen die nach einer bestimmten Zeit das von alleine tun. Habe ich einen Fehler in meiner Konfiguration oder ist das so gewollt?

Falls so gewollt, gibt es einen Workaround?

Danke und Grüße

H.

Lars

Hallo H.
Ich denke es ist gewollt. Workaround: Dummy als Actor definieren und als set action ein at erstellen, welches dann nach einer gewissen Zeit einen cancel dummy triggert. So mache ich es mit einem Gehtest Alarm Level, nur ohne at, ich feuere den cancel direkt.

Gruß
Lars
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

holle75

Hallo Lars, sowas hatte ich auch schon angedacht, wollte nur verifizieren, dass ich nicht irgendeine eigentlich logische Funktion im Modul übersehen habe.

Danke

H.

namor

Hallo Zusammen,

nach vielen Versuchen und anfangs funktionierender Alarmanlage geht nun irgendwas nicht mehr richtig?
Könnte mir jemand erklären wie ich das Modul mit allem was dranhängt aus Fhem entferne.
Ich würde die Anlage gerne komplett neu Aufsetzen!
Einfach eine neue Anlage anlegen geht nicht da er immer wieder alte Teile irgendwoher zieht.

Bin für jede Hilfe dankbar.

SvenJust

Hallo!
Zitat von: namor am 24 September 2015, 07:18:07
Einfach eine neue Anlage anlegen geht nicht da er immer wieder alte Teile irgendwoher zieht.
Mal vorausgesetzt, dass Du die fhem Konfiguration in einer Datei speicherst, würde ich diese Datei 'vorsichtig' von Hand bearbeiten. ZUERST EIN BACKUP DER DATEI ERSTELLEN. Dann nach dem Namen der Alarmanlage suchen (evtl. "AAA") und die entsprechenden Attribute, die auf die Alarmanlage verweisen, in den verschiedenen Devices löschen.

VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Prof. Dr. Peter Henning

Unsinn, aber hoch drei. Man kann doch keinem Anfänger empfehlen, manuell in der Konfiguration herumzueditieren !!!

"Er zieht alte Teile von irgendwoher" - heißt was ? Wann "zieht er" ? Welche "Teile" ?

Natürlich geht es, einfach mit "delete AAA" die Instanz des Alarmanlagen-Devices zu löschen, inklusiver aller Attribute. Das löscht aber nicht die Attribute in den Alarm-Devices, soll es ja auch gar nicht. Danach bitte die Konfigurationsdatei sichern  mit "save".

Und natürlich geht es, danach ein neues Alarmanlagen-Device anzulegen.

LG

pah


namor

Danke pah,

das meinte ich.
Das ich einfach mit delete... die Anlage löschen kann und dies ausreicht wusste ich nicht.
Das ich die Attribute nicht manuell anfassen soll habe ich in diesem Beitrag schon gelesen.

Danke

SvenJust

#344
Ok, mein Fehler.

Ich hatte die Frage so verstanden, dass das Löschen des Devices beim Fragesteller nicht vollständig funktioniert. Das nicht gelöscht wurde, sondern nur eine neue Instanz angelegt wurde, hatte ich nicht für möglich gehalten, zumal unter jedem Device der entsprechende Link zum Löschen ist.

Schön, dass das Problem gelöst ist...

VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)