Hauptmenü

DOIF nur Tagsüber

Begonnen von dferch, 05 November 2016, 19:16:37

Vorheriges Thema - Nächstes Thema

dferch

Hallo,

ich hab nun schon einiges ausprobiert, komme aber auch nach intensiven Lesen des Forums und des Reference-Guide nicht weiter.

Ich möchte nur zwischen 6:00 und 22:00 Uhr eine Meldung haben, dass der Geschirrspüler fertig ist. Der Geschirrspüler hängt an einem Fritz!Dect200. Das DOIF hab ich so definiert:


define DI_KU_Geschirrspueler_Finished DOIF ([?06:00-22:00] and [FBDECT_FBA_fritz1_08761_0103641:power:d] < 2)\
  ( { df_sendPush("Info", "Geschirrspüler ist fertig - bitte zum Abkühlen öffnen !") } )
attr DI_KU_Geschirrspueler_Finished alias Hinweis Geschirrspüler fertig
attr DI_KU_Geschirrspueler_Finished checkReadingEvent 1
attr DI_KU_Geschirrspueler_Finished devStateStyle style="text-align:right"
attr DI_KU_Geschirrspueler_Finished group Benachrichtigung
attr DI_KU_Geschirrspueler_Finished icon message_ok@green
attr DI_KU_Geschirrspueler_Finished room Intern-Verwaltung
attr DI_KU_Geschirrspueler_Finished wait 300


Im Prinzip klappt das auch:


  • wenn mehr als 5 Minuten der Stromverbrauch unter 2 Watt liegt, ist die Bedingung wahr und die Pushmeldung wird verschickt.
  • es triggert nur eine Änderung des Power-Reading des Fritz!Dect

Aber: ich erhalte jeden Morgen ca. 4-5 Minuten nach 6:00 Uhr eine Pushmeldung, dass der Geschirrspüler fertig ist. Durch das "?" vor der Zeitangabe war ich davon ausgegangen, dass die Zeit-Bedingung nicht als "Trigger" verwendet wird.

Hat jemand einen Tipp ?

Vielen Dank und Gruß,
David

Damian

Zitat von: dferch am 05 November 2016, 19:16:37
Hallo,

ich hab nun schon einiges ausprobiert, komme aber auch nach intensiven Lesen des Forums und des Reference-Guide nicht weiter.

Ich möchte nur zwischen 6:00 und 22:00 Uhr eine Meldung haben, dass der Geschirrspüler fertig ist. Der Geschirrspüler hängt an einem Fritz!Dect200. Das DOIF hab ich so definiert:


define DI_KU_Geschirrspueler_Finished DOIF ([?06:00-22:00] and [FBDECT_FBA_fritz1_08761_0103641:power:d] < 2)\
  ( { df_sendPush("Info", "Geschirrspüler ist fertig - bitte zum Abkühlen öffnen !") } )
attr DI_KU_Geschirrspueler_Finished alias Hinweis Geschirrspüler fertig
attr DI_KU_Geschirrspueler_Finished checkReadingEvent 1
attr DI_KU_Geschirrspueler_Finished devStateStyle style="text-align:right"
attr DI_KU_Geschirrspueler_Finished group Benachrichtigung
attr DI_KU_Geschirrspueler_Finished icon message_ok@green
attr DI_KU_Geschirrspueler_Finished room Intern-Verwaltung
attr DI_KU_Geschirrspueler_Finished wait 300


Im Prinzip klappt das auch:


  • wenn mehr als 5 Minuten der Stromverbrauch unter 2 Watt liegt, ist die Bedingung wahr und die Pushmeldung wird verschickt.
  • es triggert nur eine Änderung des Power-Reading des Fritz!Dect

Aber: ich erhalte jeden Morgen ca. 4-5 Minuten nach 6:00 Uhr eine Pushmeldung, dass der Geschirrspüler fertig ist. Durch das "?" vor der Zeitangabe war ich davon ausgegangen, dass die Zeit-Bedingung nicht als "Trigger" verwendet wird.

Hat jemand einen Tipp ?

Vielen Dank und Gruß,
David

Nach 22:00 Uhr ist deine Bedingung nicht mehr wahr, daher wird beim nächsten Trigger der Steckdose nach 22:00 Uhr in cmd_2 gewechselt und ab 6:00 Uhr ist die Bedingung wieder wahr und cmd_1 schlägt zu. So kannst du den Wechsel verhindern:

define DI_KU_Geschirrspueler_Finished DOIF ([?06:00-22:00] and [FBDECT_FBA_fritz1_08761_0103641:power:d] < 2)\
  ( { df_sendPush("Info", "Geschirrspüler ist fertig - bitte zum Abkühlen öffnen !") } )
DOELSEIF ([FBDECT_FBA_fritz1_08761_0103641:power:d] >= 2)


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

dferch

Hallo Damian,

Vielen Dank ! Das ich da nicht selber draufgekommen bin.

Gruß,
David

tomspatz

@Damian
Du hast das ja toll erklärt aber bei mir hakt es noch. Hätte es nicht gereicht wenn er:
attr DI_KU_Geschirrspueler_Finished checkReadingEvent 1
weggelassen hätte?
Vor allem weil doch auf ein bestimmtes Event "power" doch schon ausgewählt ist
Und vor allem [?06:00-22:00] sollte doch gar nicht Triggern mit dem Fragezeichen.  ??? Dafür ist es doch gedacht.

LG
Tom

Damian

Zitat von: tomspatz am 08 November 2016, 05:44:52
@Damian
Du hast das ja toll erklärt aber bei mir hakt es noch. Hätte es nicht gereicht wenn er:
attr DI_KU_Geschirrspueler_Finished checkReadingEvent 1
weggelassen hätte?
Vor allem weil doch auf ein bestimmtes Event "power" doch schon ausgewählt ist
Und vor allem [?06:00-22:00] sollte doch gar nicht Triggern mit dem Fragezeichen.  ??? Dafür ist es doch gedacht.

LG
Tom
Wenn Power regelmäßig triggert, weil es alle paar Minuten den aktuellen Wert liefert, dann ergibt sich das Problem.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF