FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mumpitzstuff am 25 April 2017, 00:14:29

Titel: [gelöst]Einfachstes DOIF funktioniert nicht
Beitrag von: mumpitzstuff am 25 April 2017, 00:14:29
Ich probiere nun schon seit Tagen ein inzwischen völlig abgespecktes DOIF zum laufen zu kriegen und es will einfach nicht klappen. Kann mir jemand bitte einen Hinweis geben?

defmod BLUMEN_GIESSEN_DI DOIF ([09:00-01:00] && [":stateSoilMoisture:"] eq "ok")\
(\
  set PUSHBULLET message Blumen gießen\
)
attr BLUMEN_GIESSEN_DI cmdState send notifications|notifications pending
attr BLUMEN_GIESSEN_DI do always
attr BLUMEN_GIESSEN_DI room FLOWERS

setstate BLUMEN_GIESSEN_DI initialized
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:05:07 Device Yucca
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:04:32 cmd 0
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:05:07 matched_event_c1_1 stateSoilMoisture: ok
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:04:32 state initialized
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:04:32 timer_01_c01 25.04.2017 09:00:00
setstate BLUMEN_GIESSEN_DI 2017-04-25 00:04:32 timer_02_c01 25.04.2017 01:00:00



Das Ding soll mir einfach nur eine Nachricht schicken, wenn eine meiner Blumen gegossen werden muss. Das Reading stateSoilMoisture muss dann eigentlich auf low stehen, zu Testzwecken habe ich aber ok abgefragt. Ein Match gibts auch irgendwie, aber eine Nachricht wird nicht verschickt. Nur wenn ich den Zweig manuell triggere, erhalte ich eine Nachricht.
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: supernova1963 am 25 April 2017, 05:47:01
Auf den ersten laienhaften Blick, würde ich versuchen das Ereignis auszulösen z.B. Batterie des Feuchtigkeitssensors innerhalb des vorgegebenen Zeitraums entfernen und nach 10 sec wieder einsetzen.

Mir haben bei komplexen DOIF's die DOIFTOOLS geholfen. Mittlerweile setze ich für weniger komplexe Steuerungen jedoch NOTIFY ein.

LG

Gernot
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: Thorsten Pferdekaemper am 25 April 2017, 07:55:51
Hi,
ich glaube, Du meinst...

defmod BLUMEN_GIESSEN_DI DOIF ([?09:00-01:00] && ...

Das Fragezeichen ist laut Commandref wichtig.
Gruß,
   Thorsten
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: CoolTux am 25 April 2017, 08:07:14
Ein list vom Device könnte eventuell Aussagekräftiger sein.
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: Damian am 25 April 2017, 08:10:55
[":stateSoilMoisture:"]

ist keine korrekte Readingdefinition der Art: [<devicename>:<readingname>]

siehe: https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung

Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: mumpitzstuff am 25 April 2017, 17:15:25
Zitat von: supernova1963 am 25 April 2017, 05:47:01
Auf den ersten laienhaften Blick, würde ich versuchen das Ereignis auszulösen z.B. Batterie des Feuchtigkeitssensors innerhalb des vorgegebenen Zeitraums entfernen und nach 10 sec wieder einsetzen.

Mir haben bei komplexen DOIF's die DOIFTOOLS geholfen. Mittlerweile setze ich für weniger komplexe Steuerungen jedoch NOTIFY ein.

LG

Gernot

Ich habe ein notify mit watchdog bereits am laufen. Ich wollte mich nur mal mit DOIF beschäftigen und habe deshalb ein vermeintlich einfaches Beispiel gewählt.
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: mumpitzstuff am 25 April 2017, 17:16:21
Zitat von: Thorsten Pferdekaemper am 25 April 2017, 07:55:51
Hi,
ich glaube, Du meinst...

defmod BLUMEN_GIESSEN_DI DOIF ([?09:00-01:00] && ...

Das Fragezeichen ist laut Commandref wichtig.
Gruß,
   Thorsten

Hatte ich auch schon mal probiert, es scheint aber an der anderen Bedingung zu hängen und nicht an der Zeit.
Titel: Antw:Einfachstes DOIF funktioniert nicht
Beitrag von: mumpitzstuff am 25 April 2017, 17:27:40
([09:00-01:00] && [":stateSoilMoisture: ok"])

Mit dieser Bedingung scheint es irgendwie zu gehen. Man findet leider in den Foren, im Wiki usw. verschiedenste Informationen und Varianten und es ist deshalb nicht wirklich einfach das entsprechend Richtige raus zu suchen. Ich habe jetzt zumindest mal einen Startpunkt und kann jetzt schrittweise weiter machen. Die Wiki Seite könnte vielleicht mal aktualisiert werden in diesem Zusammenhang, denn dort habe ich zuerst nachgesehen und man wird am wenigsten schlau daraus (genauso wie aus den x Varianten aus dem Forum). Commandref lesen wäre an dieser Stelle tatsächlich besser gewesen.