Hauptmenü

Frage zu DOIF

Begonnen von josburg, 15 Februar 2016, 07:58:03

Vorheriges Thema - Nächstes Thema

josburg

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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

josburg

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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

josburg

Super, vielen Dank. Ohne "." hat es funktioniert.


Gesendet von iPhone mit Tapatalk

CoolTux

Na dann viel freude weiterhin mit FHEM



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net