FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: josburg am 30 Januar 2016, 19:45:41

Titel: Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: josburg am 30 Januar 2016, 19:45:41
Hallo,

ich habe an diversen Türen und Fenster einen Kontaktsensor
http://www.amazon.de/gp/product/B000W3XIVI/ref=as_li_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B000W3XIVI&linkCode=as2&tag=jensosburaspu-21 (http://www.amazon.de/gp/product/B000W3XIVI/ref=as_li_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B000W3XIVI&linkCode=as2&tag=jensosburaspu-21)

In FHEM habe ich diese erfolgreich angelegt und per DOIF versende ich pro Fenster / Türe eine Mail, wenn diese z.B. in der Zeit zwischen 8:00 - 18 :00 Uhr geöffnet werden.

define MAILALARM.SENSOR_TERRASSENTUERE DOIF (([08:00-18:00]) and ([SENSOR_TERRASSENTUERE] eq "on")) ({DebianMail('jXXXXXXX@gmx.de','Subject-Terrassentuere geoeffnet','Mail-Body-Terrassentuere geoeffnet');;;; })

attr MAILALARM.SENSOR_TERRASSENTUERE do always


Jetzt möchte ich nicht für alle Fenster-/Tür-Sensoren eigene Devices anlegen sondern am liebsten alle in einem integrieren.

In der Commandref bin ich zumindest soweit, dass ich weiß, wie man im Bedingungsteil verschiedene Bedingungen kombiniert, so z.B. für 2 Sensoren:

(([08:00-18:00]) and [b]([/b]([SENSOR_TERRASSENTUERE] eq "on") [b]or[/b] ([SENSOR_FENSTER_KUECHE_I] eq "on")[b])[/b]) ({DebianMail('jXXXXXXX@gmx.de','Terrassentuere geöffnet','Terrassentuere geöffnet ');; })


Jetzt stimmt mein Mailtext natürlich nicht mehr?
Wie kann ich diesen Variabel gestalten, dass bei offener Terrassentüre ein anderer Text kommt als bei offenem Küchen-Fenster?

Vielen Dank für Eure Hilfe bzw. wie löst ihr so etwas?

Grüße
Jens
Titel: Antw:Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: beSmart am 30 Januar 2016, 20:36:29
Hallo.

Das ist jetzt aber echt Zufall... ich sitze gerade vor dem selben Problem.
Bist du schon weiter gekommen?
In der Commandref steht:
Zitatdefine di_pushmsg DOIF ([window] eq "open" and [alarm] eq "armed") (set Pushover msg 'alarm' 'open windows [window:LastDevice]' '' 2 'persistent' 30 3600)
Meiner Meinung nach ist das hier entscheidend:
Zitat[window:LastDevice]
Aber wofür "window"? Das soll doch variabel sein.....?????

Gruß

beSmart
Titel: Antw:Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: josburg am 30 Januar 2016, 22:27:23
...außer 2 Stunden lesen bin ich leider nicht weiter :-(
Titel: Antw:Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: Papaloewe am 30 Januar 2016, 22:27:53
Ich werde euch keine fertige Lösung präsentieren, sondern nur Denkanstöße geben.

Die Bennenung der Devices sollte einem einheitlichem Muster folgen: z.B. EG_WZ_TFK_li, oder OG_SZ_TFK u.s.w. Jeder kann sich etwas Sinnvolles ausdenken.
Das hat dann den Vorteil, dass man sog. regular Expressions (Suchmuster) in den notifies und DOIF Definitionen verwenden kann und dann alle "TFK" (Tür-Fenster-Kontake) mit einer einzigen Anweisung ansprechen kann. Dafür muss man sich aber mit der Syntax von RegEx (rugular Expressions) auseinandersetzen.

Den variablen Meldungsteil kann man durch Verwendung von den FHEM Variablen $DEVICE und/oder $EVENT erreichen.

Wie gesagt das ist keine Lösung "auf dem goldenen Tablet".

Gruß
Thomas

P.S.: Nurnicht so schnell aufgeben!
Titel: Antw:Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: scooty am 31 Januar 2016, 07:35:08
Ist mit DOIF noch nicht umsetzbar, kommt erst mit der neuen Version (http://forum.fhem.de/index.php/topic,46327.0.html).
Also erst einmal auf notify ausweichen oder auf die neuen Version warten, aber auf jeden Fall den Tipps von Papaloewe folgen.
Edit:
Ups, gerade gesehen, die neue DOIF-Version steht ab heute per update zur Verfügung (http://forum.fhem.de/index.php/topic,46327.msg400991.html#msg400991).

Andreas
Titel: Antw:Mailbenachrichtigung mit dynamischen Inhalten
Beitrag von: beSmart am 31 Januar 2016, 12:29:50
Hallo und vielen Dank für die Hinweise.

Ein erster Versuch mit..
Zitat(["^Fk.UG.:open"]) ({DebianMail('123@456.de','Fenster $DEVICE $EVENT' );; })
Liefert ein brauchbares Ergebnis.
Wenn ich jetzt noch den "Alias-Namen" angezeigt bekomme, bin ich zufrieden. Mal schauen was geht....


Dank und Gruß

beSmart