Mailbenachrichtigung mit dynamischen Inhalten

Begonnen von josburg, 30 Januar 2016, 19:45:41

Vorheriges Thema - Nächstes Thema

josburg

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

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

beSmart

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

josburg

...außer 2 Stunden lesen bin ich leider nicht weiter :-(

Papaloewe

#3
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!

scooty

#4
Ist mit DOIF noch nicht umsetzbar, kommt erst mit der neuen Version.
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.

Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

beSmart

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