DOIF timer wird zweimal getriggered nach update -> neue DOIF-Version

Begonnen von kurtix, 03 April 2018, 18:05:05

Vorheriges Thema - Nächstes Thema

kurtix

Ich habe folgendes DOIF welches mir einen Rolladen steuert:
define Rolladen.UG DOIF ([{sunrise_abs("HORIZON=-1.0",0,"07:00","09:00")}]) (set UG_ROL_Bastel on)  DOELSEIF  ([{sunset_abs("HORIZON=-1.0",0,"16:30","21:45")}]) (set UG_ROL_Bastel off)
attr Rolladen.UG cmdState auf|zu
attr Rolladen.UG disable 0
attr Rolladen.UG do always
attr Rolladen.UG stateFormat timer_02_c02


Am 22.2.2018 habe ich einen FHEM update durchgeführt, jetzt (gestern) habe ich festgestellt, dass der "off" Befehl innerhalb von 92 Sekunden zweimal ausgeführt wird. In der Log Datei steht folgendes:
2018.04.02 19:57:48 3: CUL_HM set UG_ROL_Bastel off
2018.04.02 19:59:20 3: CUL_HM set UG_ROL_Bastel off
An dem DOIF wurde nichts verändert, was läuft da falsch?

Hier noch ein List von Rolladen.UG:
Internals:
   DEF        ([{sunrise_abs("HORIZON=-1.0",0,"07:00","09:00")}]) (set UG_ROL_Bastel on)  DOELSEIF  ([{sunset_abs("HORIZON=-1.0",0,"16:30","21:45")}]) (set UG_ROL_Bastel off)
   MODEL      FHEM
   NAME       Rolladen.UG
   NR         41
   NTFY_ORDER 50-Rolladen.UG
   STATE      03.04.2018 19:59:20
   TYPE       DOIF
   READINGS:
     2018-04-03 07:01:50   cmd             1
     2018-04-03 07:01:50   cmd_event       timer_1
     2018-04-03 07:01:50   cmd_nr          1
     2018-03-19 12:06:49   mode            enabled
     2018-04-03 07:01:50   state           auf
     2018-04-03 07:01:50   timer_01_c01    04.04.2018 07:00:00
     2018-04-02 19:59:20   timer_02_c02    03.04.2018 19:59:20
   Regex:
   condition:
     0          DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday)
   days:
   devices:
   do:
     0:
       0          set UG_ROL_Bastel on
     1:
       0          set UG_ROL_Bastel off
     2:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timereventsState
     triggerDev
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   internals:
   interval:
   itimer:
   localtime:
     0          1522818000
     1          1522778360
   perlblock:
   readings:
   realtime:
     0          07:00:00
     1          19:59:20
   time:
     0          {sunrise_abs("HORIZON=-1.0",0,"07:00","09:00")}
     1          {sunset_abs("HORIZON=-1.0",0,"16:30","21:45")}
   timeCond:
     0          0
     1          1
   timer:
     0          0
     1          0
   timers:
     0           0  0
     1           1  1
   triggertime:
     1522778360:
       localtime  1522778360
       hash:
     1522818000:
       localtime  1522818000
       hash:
   uiState:
   uiTable:
Attributes:
   cmdState   auf|zu
   disable    0
   do         always
   group      Sonstiges
   stateFormat timer_02_c02



amenomade

Kein anderes Ding (notify, doif, at, usw...), das die Rollos auch steuert?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Ellert

Zitat von: kurtix am 03 April 2018, 18:05:05
An dem DOIF wurde nichts verändert, was läuft da falsch?
Wie jedes Jahr nichts, die Tage werden länger, der nächste Sonnenuntergang liegt später als der erste Triggerzeitpunkt.

yersinia

Das Problem kenne ich schon, seitdem ich DOIF mit dem Twilight-Modul nutze. Für die Rolladensteuerung werden am gleichen Tag immer drei Zeiten gebildet:
- die erste Konfiguration vom Vortag
- diese wird dann idR nochmals nach hinten (=später) korrigiert
- und nachdem das DOIF durch ist, wird der Rolladen nochmals getriggert (auch hier wird nochmals eine neue Zeit aus dem Twilight-Modul definiert)

Bisher habe ich mir nichts dabei gedacht. Ist schon kurios, aber grundsätzlich funktioniert es.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Damian

Ich überlege eine Funktion zu programmieren, die den nächsten Schaltzeitpunkt auf den nächsten Tag verschiebt, wenn er am gleichen Tag stattfinden sollte.

z. B. [{next_day(sunrise_abs("HORIZON=-1.0",0,"07:00","09:00"))}]

soweit ich weiß, macht sunrise() das im Gegensatz zu sunrise_abs() schon von alleine.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

yersinia

Hier noch etwas mehr Details. Log von gestern Abend:
2018.04.03 19:48:20 3: CUL_HM set KU_RoLi on
2018.04.03 19:57:01 3: CUL_HM set KU_RoLi on
2018.04.03 20:03:55 3: CUL_HM set KU_RoLi on
2018.04.03 20:05:06 3: CUL_HM set KU_RoLi on
2018.04.03 20:05:13 3: CUL_HM set KU_RoLi on

Und hier noch mein DEF des DOIFs:
([({twilight("TwilightHome","ss_weather","16:00","21:00")}+600+int(rand(600)))]
and [KU_FeLi:state] eq "closed")
(set KU_RoLi on)

(KU_FeLi ist das Fenster)

Möglicherweise hängt dies auch mit meinem +600+int(rand(600)) zusammen. ???
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Damian

Zitat von: yersinia am 04 April 2018, 17:13:36
Hier noch etwas mehr Details. Log von gestern Abend:
2018.04.03 19:48:20 3: CUL_HM set KU_RoLi on
2018.04.03 19:57:01 3: CUL_HM set KU_RoLi on
2018.04.03 20:03:55 3: CUL_HM set KU_RoLi on
2018.04.03 20:05:06 3: CUL_HM set KU_RoLi on
2018.04.03 20:05:13 3: CUL_HM set KU_RoLi on

Und hier noch mein DEF des DOIFs:
([({twilight("TwilightHome","ss_weather","16:00","21:00")}+600+int(rand(600)))]
and [KU_FeLi:state] eq "closed")
(set KU_RoLi on)

(KU_FeLi ist das Fenster)

Möglicherweise hängt dies auch mit meinem +600+int(rand(600)) zusammen. ???

ja, siehe https://forum.fhem.de/index.php/topic,85831.msg790257.html#msg790257
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kurtix

Danke, ich stelle die Funktion mal auf sunrise/sunset um.

Damian

#8
Ich habe eine abwärtskompatible DOIF-Version gebaut, die Timer-Wiederholungen am gleichen Tag verhindert.

Damit schalten Timerdefinitionen z. B. mit  sunset..., sunrise..., twilight oder Berechnungen mit rand nur noch einmal am Tag.

z. B.

([({twilight("TwilightHome","ss_weather","16:00","21:00")}+600+int(rand(600)))]

Das gilt auch für Zeitintervalle.

Relative Zeitangaben mit vorangestelltem Plus-Zeichen funktionieren natürlich weiterhin wie gewohnt.

Bitte testen, damit es nach dem Einchecken keine bösen Überraschungen gibt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

yersinia

Hi Damian,

oh super. Ich teste es mal. Hab jetzt deine DOIF-Version eingebunden und schauen wir mal. :)

Ich frage mich allerdings, ob man das noch optionalisieren sollte. Möglicherweise gibt es Gründe, ein DOIF Zweig mehrfach am Tag auszuführen (allerdings fällt mir derzeit kein Szenario ein).

Eventuell könnte man die Option für die Wochentage dafür missbrauchen - 8 wäre dann nur einmal täglich oder so (0 bis 6 wären die Wochentage).
[({twilight("TwilightHome","ss_weather","16:00","21:00")}+600+int(rand(600)))]|8
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Damian

Zitat von: yersinia am 07 April 2018, 10:40:23
Hi Damian,

oh super. Ich teste es mal. Hab jetzt deine DOIF-Version eingebunden und schauen wir mal. :)

Ich frage mich allerdings, ob man das noch optionalisieren sollte. Möglicherweise gibt es Gründe, ein DOIF Zweig mehrfach am Tag auszuführen (allerdings fällt mir derzeit kein Szenario ein).

Eventuell könnte man die Option für die Wochentage dafür missbrauchen - 8 wäre dann nur einmal täglich oder so (0 bis 6 wären die Wochentage).
[({twilight("TwilightHome","ss_weather","16:00","21:00")}+600+int(rand(600)))]|8

Bei mir funktioniert alles wie bisher, eine optionale Angabe sollte überflüssig sein. Das mehrfache Schalten am Tage ist ein unerwünschter Nebeneffekt.

Die einzige Inkompabilität wäre gegeben, wenn jemand eine selbstprogrammierte Zeitfunktion nutzen würde, die periodisch mehrfach am Tag Zeiten berechnen würde. So etwas ist mir aber nicht bekannt, in diesem Fall sollte man relative Zeitangaben nutzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

yersinia

#11
Das kann ich bestätigen. Die Rolladen funktionierten gestern abend und heute morgen wie gewünscht - und nur mit einem Log-eintrag pro Rolladen (daher gehe ich davon aus, dass die DOIFs auch gut funktionieren). Andere DOIFs scheinen auch zu funktionieren. Sieht gut aus. Danke. :)

Ach, edith hat noch folgende Fehlermeldung im Log gefunden (kam nach dem neustart mit der Aktualisierung):
2018.04.07 10:34:54 1: PERL WARNING: "my" variable $align masks earlier declaration in same scope at ./FHEM/98_DOIF.pm line 2650, <$fh> line 673.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Damian

Zitat von: yersinia am 08 April 2018, 09:22:47
Das kann ich bestätigen. Die Rolladen funktionierten gestern abend und heute morgen wie gewünscht - und nur mit einem Log-eintrag pro Rolladen (daher gehe ich davon aus, dass die DOIFs auch gut funktionieren). Andere DOIFs scheinen auch zu funktionieren. Sieht gut aus. Danke. :)

Ach, edith hat noch folgende Fehlermeldung im Log gefunden (kam nach dem neustart mit der Aktualisierung):
2018.04.07 10:34:54 1: PERL WARNING: "my" variable $align masks earlier declaration in same scope at ./FHEM/98_DOIF.pm line 2650, <$fh> line 673.

Danke für die Rückmeldung, die Warnung habe ich eliminiert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

yersinia

viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Ellert

Heute Morgen wurde der Rolladen nicht geöffnet, mit # $Id: 98_DOIF.pm v0.1 Damian $ und nach FHEM Restart..

set cmd_2 hat funktioniert. Events habe ich nicht aufgezeichnet.

Mit diesem DOIF:
(["^sleeping_di$:^cmd_1$"] or [23:15]) (set HM_56F3E3 off)
DOELSEIF ([{sunrise(0,"06:30","08:00")}] or ["^sleeping_di$:^(cmd_2|cmd_3)$"]) (set HM_56F3E3 on)
## RolloFlur_di


Es gibt weitere DOIF mit sunrise/sunset, die nicht funktioniert haben, die sind komplexer.

Hier das Listing
Internals:
   DEF        (["^sleeping_di$:^cmd_1$"] or [23:15]) (set HM_56F3E3 off)
DOELSEIF ([{sunrise(0,"06:30","08:00")}] or ["^sleeping_di$:^(cmd_2|cmd_3)$"]) (set HM_56F3E3 on)
## RolloFlur_di
   MODEL      FHEM
   NAME       RolloArb_di
   NR         415
   NTFY_ORDER 50-RolloArb_di
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-04-08 23:28:18   Device          sleeping_di
     2018-04-09 07:28:40   cmd             2
     2018-04-09 07:28:40   cmd_event       set_cmd_2
     2018-04-09 07:28:40   cmd_nr          2
     2018-01-11 06:27:36   mode            enabled
     2018-04-09 07:28:40   state           cmd_2
     2018-04-08 23:15:00   timer_01_c01    09.04.2018 23:15:00
     2018-04-08 06:30:00   timer_02_c02    10.04.2018 06:30:00
   Regex:
     cond:
       :
         0:
           "^sleeping_di$:^cmd_1$" ^sleeping_di$:^cmd_1$
         1:
           "^sleeping_di$:^(cmd_2|cmd_3)$" ^sleeping_di$:^(cmd_2|cmd_3)$
   condition:
     0          EventDoIf('^sleeping_di$',$hash,'^cmd_1$',0) or DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday) or EventDoIf('^sleeping_di$',$hash,'^(cmd_2|cmd_3)$',0)
   days:
   devices:
   do:
     0:
       0          set HM_56F3E3 off
     1:
       0          set HM_56F3E3 on
     2:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      cmd_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   sleeping_di
     timerevent cmd_1
     triggerDev sleeping_di
     timerevents:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       cmd_1
     timereventsState:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
     triggerEvents:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       cmd_1
     triggerEventsState:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
   internals:
   interval:
   itimer:
   localtime:
     0          1523308500
     1          1523334600
   perlblock:
   readings:
   realtime:
     0          23:15:00
     1          06:30:00
   time:
     0          23:15:00
     1          {sunrise(0,"06:30","08:00")}
   timeCond:
     0          0
     1          1
   timer:
     0          0
     1          0
   timers:
     0           0
     1           1
   trigger:
   triggertime:
     1523308500:
       localtime  1523308500
       hash:
     1523334600:
       localtime  1523334600
       hash:
   uiState:
   uiTable:
Attributes:
   alias      00_Rolladen_Arbz
   group      Rolladen
   icon       helper_doif
   room       1_Rolladen

Damian

Zitat von: Ellert am 09 April 2018, 07:38:15
Heute Morgen wurde der Rolladen nicht geöffnet, mit # $Id: 98_DOIF.pm v0.1 Damian $ und nach FHEM Restart..

set cmd_2 hat funktioniert. Events habe ich nicht aufgezeichnet.

Mit diesem DOIF:
(["^sleeping_di$:^cmd_1$"] or [23:15]) (set HM_56F3E3 off)
DOELSEIF ([{sunrise(0,"06:30","08:00")}] or ["^sleeping_di$:^(cmd_2|cmd_3)$"]) (set HM_56F3E3 on)
## RolloFlur_di


Es gibt weitere DOIF mit sunrise/sunset, die nicht funktioniert haben, die sind komplexer.

Hier das Listing
Internals:
   DEF        (["^sleeping_di$:^cmd_1$"] or [23:15]) (set HM_56F3E3 off)
DOELSEIF ([{sunrise(0,"06:30","08:00")}] or ["^sleeping_di$:^(cmd_2|cmd_3)$"]) (set HM_56F3E3 on)
## RolloFlur_di
   MODEL      FHEM
   NAME       RolloArb_di
   NR         415
   NTFY_ORDER 50-RolloArb_di
   STATE      cmd_2
   TYPE       DOIF
   READINGS:
     2018-04-08 23:28:18   Device          sleeping_di
     2018-04-09 07:28:40   cmd             2
     2018-04-09 07:28:40   cmd_event       set_cmd_2
     2018-04-09 07:28:40   cmd_nr          2
     2018-01-11 06:27:36   mode            enabled
     2018-04-09 07:28:40   state           cmd_2
     2018-04-08 23:15:00   timer_01_c01    09.04.2018 23:15:00
     2018-04-08 06:30:00   timer_02_c02    10.04.2018 06:30:00
   Regex:
     cond:
       :
         0:
           "^sleeping_di$:^cmd_1$" ^sleeping_di$:^cmd_1$
         1:
           "^sleeping_di$:^(cmd_2|cmd_3)$" ^sleeping_di$:^(cmd_2|cmd_3)$
   condition:
     0          EventDoIf('^sleeping_di$',$hash,'^cmd_1$',0) or DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday) or EventDoIf('^sleeping_di$',$hash,'^(cmd_2|cmd_3)$',0)
   days:
   devices:
   do:
     0:
       0          set HM_56F3E3 off
     1:
       0          set HM_56F3E3 on
     2:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      cmd_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   sleeping_di
     timerevent cmd_1
     triggerDev sleeping_di
     timerevents:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       cmd_1
     timereventsState:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
     triggerEvents:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       cmd_1
     triggerEventsState:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
   internals:
   interval:
   itimer:
   localtime:
     0          1523308500
     1          1523334600
   perlblock:
   readings:
   realtime:
     0          23:15:00
     1          06:30:00
   time:
     0          23:15:00
     1          {sunrise(0,"06:30","08:00")}
   timeCond:
     0          0
     1          1
   timer:
     0          0
     1          0
   timers:
     0           0
     1           1
   trigger:
   triggertime:
     1523308500:
       localtime  1523308500
       hash:
     1523334600:
       localtime  1523334600
       hash:
   uiState:
   uiTable:
Attributes:
   alias      00_Rolladen_Arbz
   group      Rolladen
   icon       helper_doif
   room       1_Rolladen


ok, sollte jetzt mit Version v0.2 funktionieren
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Mit v0.2 hat sunset/sunrise bisher wieder funktioniert, es kann aber sein, dass der ursprüngliche Fehler erst beim 2. Mal aufgetreten ist, ich werde es weiter beobachten.

Damian

Zitat von: Ellert am 10 April 2018, 12:53:13
Mit v0.2 hat sunset/sunrise bisher wieder funktioniert, es kann aber sein, dass der ursprüngliche Fehler erst beim 2. Mal aufgetreten ist, ich werde es weiter beobachten.
Das wird nicht passieren. Du kannst gerne noch testen, aber der Fehler war eindeutig zu finden, ich habe die falsche Variable abgefragt, damit wurden auch alle Zeiten um einen Tag geschoben, die über 24h haben, wie z. B. sunset und sunrise.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

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

Ellert

Nicht soo schnell ;)

Das folgende DOIF schaltet nicht mehr stündlich 7 Minuten nach, sondern nur noch einmal am Tag um 1 Uhr 7.

([+[1]:07]) ({BenzinPreise})

und das Listing

ZitatInternals:
   DEF        ([+[1]:07]) ({BenzinPreise})
## duBenzin
   MODEL      FHEM
   NAME       Benzin_di
   NR         213
   NTFY_ORDER 50-Benzin_di
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-04-16 00:07:00   cmd             1
     2018-04-16 00:07:00   cmd_event       timer_1
     2018-04-16 00:07:00   cmd_nr          1
     2018-04-16 00:07:00   state           cmd_1
     2018-04-16 00:07:00   timer_01_c01    17.04.2018 01:07:00
   Regex:
   condition:
     0          DOIF_time_once($hash,0,$wday)
   days:
   devices:
   do:
     0:
       0          {BenzinPreise}
     1:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timereventsState
     triggerDev
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   internals:
   interval:
   itimer:
   localtime:
     0          1523920020
   perlblock:
   readings:
   realtime:
     0          01:07:00
   time:
     0          +[1]:07
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1523920020:
       localtime  1523920020
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   group      5_Benzin
   icon       helper_doif
   room       1_Alles

Damian

Zitat von: Ellert am 16 April 2018, 16:05:37
Nicht soo schnell ;)

Das folgende DOIF schaltet nicht mehr stündlich 7 Minuten nach, sondern nur noch einmal am Tag um 1 Uhr 7.

([+[1]:07]) ({BenzinPreise})

und das Listing

Fehler war auch diesmal eindeutig und damit leicht zu finden.

Version v.03

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

Damian

Ich habe noch bei fehlender DOIF-Definition, ## als Definition eingestellt.

damit entspricht

define test DOIF


define test DOIF ##


Damit gibt es jetzt bei fehlenden Definitionen den DEF-Button. ## ist zudem ein harmloser Kommentar, den ich intern nicht abfangen muss, weil er eine erlaubte Definition darstellt.

v.04
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: Damian am 16 April 2018, 18:09:13
Fehler war auch diesmal eindeutig und damit leicht zu finden.

Version v.03

Es funktioniert wieder, bisher sind mir keine weiteren Abweichungen aufgefallen.

Damian

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