FHEM > Codeschnipsel

Fenster Vergessen Mail ( Timer )

(1/2) > >>

ChrisW:
Hallo,

hier mal ein Code für alle die es brauchen können.

Fenster Geräte ( Bei mir Max! Fensterkontakte )müssen den Namen XXXXX_Fenster haben.
Jedes der Fenster braucht ein Dummy für nen Status

also als 1. :

--- Code: ---
define XXXXX_Fenster_vergessen dummy

--- Ende Code ---


Sobald ein Fenster Gerät seinen Status in opened ändert wird ein Alarm erstellt der nach wie hier im Beispiel in 30 Minuten den Status "offen" dem vorher angelegten Dummy gibt.
Wenn das Fenster geschlossen wird wird dieser Alarm gelöscht !

--- Code: ---
define Fenster_Vergessen_Check notify .*._Fenster:.* { \
  if ("%" eq "opened") { \
      fhem ("define @_Alarm at +00:30:00 set @_vergessen offen") if (Value("@_Alarm") eq "");;\
  }\
  else {\
    fhem ("delete @_Alarm") if (Value("@_Alarm") ne "");;\
    fhem ("set @_vergessen geschlosssen") if (Value("@_vergessen") ne "geschlosssen");;\
  }\
}




--- Ende Code ---

Und nun noch die Prüfung zum E-Mail Verschicken erstellt. Wenn der der Status eines der Fenster_vergessen Dummys geändert wird gibs ne Mail.

--- Code: ---
define Fenster_Vergessen_Mail notify .*._Fenster_vergessen:.* {\
  if ("%" eq "offen") {\
fhem (system("wmail !!!!!ACHTUNG!!!!!_@!!!_zu_lange_%"));;\
  }\
}

--- Ende Code ---


Da ich selbst noch absoluter Anfänger bin, können Fehler drin sein aber so funktioniert es bei mir ;) Wenn jemand Verbesserungen hat her damit.

Puschel74:
Hallo,

du kannst den regexp einkürzen auf .*._vergessen ;-)

Rohan:
Hi,


--- Zitat von: Puschel74 schrieb am Mi, 16 Januar 2013 20:53 ---
du kannst den regexp einkürzen auf .*._vergessen ;-)

--- Ende Zitat ---


... aber nur, wenn man später nicht auch noch
- .*._Tuer_vergessen:.*
- .*._Garagentor_vergessen:.*
- ...

einbaut.

Abk. sind zwar machmal ganz reizvoll, aber ausgeschriebene Bezeichner erhöhen die Les- / Wartbarkeit, zumal für Gelegenheitsskripter.

Gruß
Thomas

alexmetz:
Ich hätte eine Idee zur Ergänzung:

Man könnte die Warnung nur dann mailen, wenn die Aussentempeatur niedriger ist als die gewünschte Raumtemperatur.
Oder die Warnzeit vom Temperaturunterschied abhängig machen...

VG
Alex

Puschel74:
Hallo,

dann rein damit ins Programm und testen ;-)

Grüße

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln