Hallo,
ich möchte gerne eine Mail versenden, wenn ein Fenster- oder Türkontakt "on" (=offen) meldet und das ganze in einem bestimmten Zeitraum passiert.
Anbei das DOIF:
define MAILALARM.SENSOR_TERRASSENTUERE DOIF (([00:01-23:59]) and (["^TFK.:on"])) ({DebianMail('jxxxxxxx@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');;;; })
Wenn ich
{DebianMail('jxxxxxxx@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');;;; }
in die FHEM Befehlseingabe kopiere, funktioniert das versenden, also gehe ich davon aus, dass es an der Bedingung liegt.
Meine Fenster- und Türkontakte sind z.B. so definiert:
Internals:
DEF 00000F000F FF F0
IODev CUL1
NAME SENSOR_TFK_TERRASSENTUERE
NR 292
STATE off
TYPE IT
XMIT 00000f000f
XMITdimdown 00
XMITdimup 00
XMIToff f0
XMITon ff
Code:
1 00000f000f
Readings:
2016-02-14 12:50:33 protocol V1
2016-02-14 22:00:44 state off
Attributes:
IODev CUL1
alias Terrassentüre
Kann mir jemand helfen?
Viele Grüße Jens
Gesendet von iPhone mit Tapatalk
Hallo,
Da Du nue eine einzige Bedingung hast, musst Du auf jeden Fall ein doalways mit einbauen.
Sollte das nicht gehen. list auf das DOIF und bitte code Tags verwenden.
Grüße
Hallo CoolTux,
das "doalways" hatte ich bereits definiert.
Anbei die Ausgabe des list:
Internals:
DEF (([00:01-23:59]) and (["^TFK.:on"])) ({DebianMail('jXXXXXXXX@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');; })
NAME MAILALARM.SENSOR_TERRASSENTUERE
NR 289
NTFY_ORDER 50-MAILALARM.SENSOR_TERRASSENTUERE
STATE initialized
TYPE DOIF
Readings:
2016-02-14 21:37:48 state initialized
2016-02-14 23:59:00 timer_1_c1 15.02.2016 00:01:00
2016-02-14 23:59:00 timer_2_c1 15.02.2016 23:59:00
Condition:
0 (DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"")) and (EventDoIf('^TFK.',$hash,'on',0))
Days:
Devices:
Do:
0:
0 {DebianMail('josburg@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');; }
1:
Helper:
event timer_1
globalinit 1
last_timer 2
sleeptimer -1
triggerDev
triggerEvents:
timer_1
Internals:
Interval:
0 -1
1 0
Itimer:
Localtime:
0 1455490860
1 1455577140
Readings:
Realtime:
0 00:01:00
1 23:59:00
Regexp:
0:
0 ^TFK.:on
All:
0 ^TFK.:on
State:
Time:
0 00:01:00
1 23:59:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timers:
0 0 1
Triggertime:
1455577140:
localtime 1455577140
Hash:
Attributes:
do always
room Mailversand
Vielen Dank für die Hilfe...
Viele Grüße
Jens
Zitat von: josburg am 15 Februar 2016, 12:00:07
Hallo CoolTux,
das "doalways" hatte ich bereits definiert.
Anbei die Ausgabe des list:
Internals:
DEF (([00:01-23:59]) and (["^TFK.:on"])) ({DebianMail('jXXXXXXXX@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');; })
NAME MAILALARM.SENSOR_TERRASSENTUERE
NR 289
NTFY_ORDER 50-MAILALARM.SENSOR_TERRASSENTUERE
STATE initialized
TYPE DOIF
Readings:
2016-02-14 21:37:48 state initialized
2016-02-14 23:59:00 timer_1_c1 15.02.2016 00:01:00
2016-02-14 23:59:00 timer_2_c1 15.02.2016 23:59:00
Condition:
0 (DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"")) and (EventDoIf('^TFK.',$hash,'on',0))
Days:
Devices:
Do:
0:
0 {DebianMail('josburg@gmx.de','$DEVICE geöffnet','$DEVICE geöffnet ');; }
1:
Helper:
event timer_1
globalinit 1
last_timer 2
sleeptimer -1
triggerDev
triggerEvents:
timer_1
Internals:
Interval:
0 -1
1 0
Itimer:
Localtime:
0 1455490860
1 1455577140
Readings:
Realtime:
0 00:01:00
1 23:59:00
Regexp:
0:
0 ^TFK.:on
All:
0 ^TFK.:on
State:
Time:
0 00:01:00
1 23:59:00
Timecond:
0 0
1 0
Timer:
0 0
1 0
Timers:
0 0 1
Triggertime:
1455577140:
localtime 1455577140
Hash:
Attributes:
do always
room Mailversand
Vielen Dank für die Hilfe...
Viele Grüße
Jens
Da hat sich wohl ein kleiner Fehler bei Dir eingeschlischen.
So sollte es wohl gehen denke ich
(([00:01-23:59]) and (["^TFK:on"])) .....
Man achte auf den Punkt hinter ^TFK, laut Commandref soll da keiner sein. Ich gehe davon aus das Deine Fensterkontakte alle am Anfang ein TFK im Namen haben.
Grüße
Super, vielen Dank. Ohne "." hat es funktioniert.
Gesendet von iPhone mit Tapatalk
Na dann viel freude weiterhin mit FHEM
Grüße