FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Gunther am 06 März 2016, 22:32:16

Titel: DOIF löst nicht aus
Beitrag von: Gunther am 06 März 2016, 22:32:16
Nachdem ich mich heute das erste Mal - leider bisher noch erfolglos - mit dem DOIF beschäftigt habe, muss ich doch mal Eure Hilfe in Anspruch nehmen.

Ich möchte eine Warnung per Sprache auf dem Tablet per AMAD ausgeben, wenn Kühlschrank oder Eisfach eine bestimmte Temperatur überschreiten.

Nun habe ich den Code mal auf einen Befehl runtergeschraubt:
define doif_eg_ku_Kuehlschrankauftauwarnung DOIF ( [eg_ku_Kuehlschrank:temperature] > 9 ) ( set eg_fl_Tablet10Zoll ttsMsg Der Kühlschrank in der Küche taut auf )

Leider geht es immer noch nicht.

Ein "list eg_ku_Kuehlschrank:temperature" bringt:
Internals:
   CHANGED
   DEF        3E
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2016-03-06 22:26:09
   MSGCNT     9
   NAME       eg_ku_Kuehlschrank
   NR         1244
   STATE      T: 9.6 H: 66
   TYPE       LaCrosse
   addr       3E
   battery_new 0
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 11
   myJeeLink_RAWMSG OK 9 62 1 4 72 66
   myJeeLink_TIME 2016-03-06 22:26:09
   previousH  66
   previousT  9.6
   sensorType 0=T(H)
   Readings:
     2016-03-06 22:26:09   battery         ok
     2016-01-26 01:18:45   dewpoint        6.3
     2016-03-06 22:26:09   humidity        66
     2016-03-06 22:26:00   state           T: 9.6 H: 66
     2016-03-06 22:26:09   temperature     9.6
Attributes:
   IODev      myJeeLink
   event-on-change-reading 1
   event-on-update-reading 1
   room       Küche


Die Sprachausgabe funktioniert, wenn ich Sie ins Fenster eingebe und bestätige.

Habe ich einen Wurm im Code?
Titel: Antw:DOIF löst nicht aus
Beitrag von: Ellert am 07 März 2016, 09:36:27
Die "event-on-..." Atribute sind falsch gesetzt, Du hast kein Reading angegeben.
Titel: Antw:DOIF löst nicht aus
Beitrag von: Gunther am 07 März 2016, 09:49:28
Danke für Deine Antwort.
Leider verstehe ich noch nicht was Du meinst.

Ich habe mich an folgendem Beispiel aus der commandref orientiert:
define di_heating DOIF ([sens:temperature] < 20) (set heating on)

Bei mir ist "temperature" das Reading. Was muss ich anders angeben?
Titel: Antw:DOIF löst nicht aus
Beitrag von: frank am 07 März 2016, 10:53:42
   event-on-change-reading 1
   event-on-update-reading 1

on-update würde ich löschen und bei on-change ".*" einsetzen.
Titel: Antw:DOIF löst nicht aus
Beitrag von: Gunther am 07 März 2016, 12:56:26
Habe ich so abgeändert. Leider passiert nichts. Kann ich irgendwie debuggen oder zumindest loggen?
Titel: Antw:DOIF löst nicht aus
Beitrag von: Ellert am 07 März 2016, 14:10:50
Was steht im Logfile des Sensors seit der Änderung?
Titel: Antw:DOIF löst nicht aus
Beitrag von: Gunther am 07 März 2016, 14:23:40
Oh, ich habe das für das Device "Eisschrank" gemacht.

Daher:
2016-01-26_01:18:45 eg_ku_Kuehlschrank dewpoint: 6.3

Ich ziehe das mal nach und melde mich.
Ist denn das Log entscheidend oder das Reading?
Titel: Antw:DOIF löst nicht aus
Beitrag von: Gunther am 07 März 2016, 14:28:30
Zumindest hat er eben das erste Mal ausgelöst.

Da wäre ich nie drauf gekommen. Danke!