FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Helmi55 am 17 Mai 2021, 07:49:07

Titel: #gelöst# Tägliches DOIF speichert nicht
Beitrag von: Helmi55 am 17 Mai 2021, 07:49:07
Hallo ich verwende für meine Poolsteuerung zwei DOIFs welche die Zeitabstände (event-min-interval...) bei Tag und Nacht umstellen.
Hat bis zum Ende der Badesaison 2020 funktioniert. Heuer habe ich immer nach dem Ausführen des DOIFs das rote Fragezeichen bei "Save config"
Hier die 2 DOIFs
defmod di_TagSensoren DOIF ([07:01:00-19:00:00] and [PoolMaster] eq "on") (attr PoolSensor event-min-interval temperature:60,save, attr SolarSensor event-min-interval temperature:30,save) DOELSE
attr di_TagSensoren alias di_TagSensoren
attr di_TagSensoren room Steuerung


defmod di_NachtSensoren DOIF ([19:01:00-07:00:00] and [PoolMaster] eq "on") (attr PoolSensor event-min-interval temperature:600,save, attr SolarSensor event-min-interval temperature:600,save) DOELSE
attr di_NachtSensoren alias di_NachtSensoren
attr di_NachtSensoren room Steuerung


Warum wird der "save" Befehl nicht mehr ausgeführt?

Danke für eure Hilfe
Helmut
Titel: Antw:Tägliches DOIF speichert nicht
Beitrag von: MadMax-FHEM am 17 Mai 2021, 08:25:38
Ist bei dir autosave aktiviert?

https://forum.fhem.de/index.php?topic=80480.0

Gruß, Joachim
Titel: Antw:Tägliches DOIF speichert nicht
Beitrag von: Otto123 am 17 Mai 2021, 08:26:17
Hallo Helmut,

ich denke deshalb: https://forum.fhem.de/index.php?topic=92793.0

Edit: zu langsam :)

Gruß Otto
Titel: Antw:Tägliches DOIF speichert nicht
Beitrag von: yersinia am 17 Mai 2021, 08:31:26
Könnte am fehlenden Leerzeichen liegen - dadurch könnte dies als Attribut-Zuordnung mitgezählt werden. Versuche es mal mit Leerzeichen vor save:
defmod di_TagSensoren DOIF ([07:01:00-19:00:00] and [PoolMaster] eq "on") (attr PoolSensor event-min-interval temperature:60, save, attr SolarSensor event-min-interval temperature:30, save) DOELSE
attr di_TagSensoren alias di_TagSensoren
attr di_TagSensoren room Steuerung


defmod di_NachtSensoren DOIF ([19:01:00-07:00:00] and [PoolMaster] eq "on") (attr PoolSensor event-min-interval temperature:600, save, attr SolarSensor event-min-interval temperature:600, save) DOELSE
attr di_NachtSensoren alias di_NachtSensoren
attr di_NachtSensoren room Steuerung


Im Übrigen, würde ein save und ein DOIF nicht reichen?
defmod di_TagSensoren DOIF ([07:01:00-19:00:00]\
and [PoolMaster] eq "on")\
(attr PoolSensor event-min-interval temperature:60,\
attr SolarSensor event-min-interval temperature:30,\
save)\
DOELSEIF ([19:01:00-07:00:00]\
and [PoolMaster] eq "on")\
(attr PoolSensor event-min-interval temperature:600,\
attr SolarSensor event-min-interval temperature:600,\
save)\
DOELSE
attr di_TagSensoren alias di_TagSensoren
attr di_TagSensoren room Steuerung
Titel: Antw:Tägliches DOIF speichert nicht
Beitrag von: Helmi55 am 17 Mai 2021, 08:37:05
Guten Morgen an alle
Ja autosave war nicht auf 1 - Danke
@ yersina DAs ist natürlich die schönere Art. Die werde ich umsetzen
Schönen Tag
Helmut
Titel: Antw:#gelöst# Tägliches DOIF speichert nicht
Beitrag von: Helmi55 am 20 Mai 2021, 07:09:00
Hallo @yersina
Guten Morgen - habe jetzt deine Version eingesetzt.
Sie funktioniert bringt aber eine Fehlermeldung
Internals:
   CFGFN     
   DEF        ([07:01:00-19:00:00]
and [PoolMaster] eq "on")
(attr PoolSensor event-min-interval temperature:60,
attr SolarSensor event-min-interval temperature:30,
save)
DOELSEIF ([19:01:00-07:00:00]
and [PoolMaster] eq "on")
(attr PoolSensor event-min-interval temperature:600,
attr SolarSensor event-min-interval temperature:600,
save)
DOELSE
   FUUID      60a4b093-f33f-b033-6dad-d4019de5338647bd
   MODEL      FHEM
   NAME       di_TagSensoren
   NOTIFYDEV  PoolMaster,global
   NR         8938
   NTFY_ORDER 50-di_TagSensoren
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2021-05-20 07:01:00   cmd             1
     2021-05-20 07:01:00   cmd_event       timer_1
     2021-05-20 07:01:00   cmd_nr          1
     2021-05-20 07:01:00   error            save: Wrote configuration to fhem.cfg
     2021-05-19 08:30:46   mode            enabled
     2021-05-20 07:01:00   state           cmd_1
     2021-05-19 19:00:00   timer_01_c01    20.05.2021 07:01:00
     2021-05-19 19:00:00   timer_02_c01    20.05.2021 19:00:00
     2021-05-20 07:00:00   timer_03_c02    20.05.2021 19:01:00
     2021-05-20 07:00:00   timer_04_c02    21.05.2021 07:00:00
   Regex:
     accu:
     collect:
     cond:
       PoolMaster:
         0:
           &STATE     ^PoolMaster$
         1:
           &STATE     ^PoolMaster$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time($hash,0,1,$wday,$hms) and ::InternalDoIf($hash,'PoolMaster','STATE') eq "on"
     1          ::DOIF_time($hash,2,3,$wday,$hms) and ::InternalDoIf($hash,'PoolMaster','STATE') eq "on"
   days:
   do:
     0:
       0          attr PoolSensor event-min-interval temperature:60, attr SolarSensor event-min-interval temperature:30, save
     1:
       0          attr PoolSensor event-min-interval temperature:600, attr SolarSensor event-min-interval temperature:600, save
     2:
       0         
   helper:
     DEVFILTER  ^global$|^PoolMaster$
     NOTIFYDEV  global|PoolMaster
     event      timer_1
     globalinit 1
     last_timer 4
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     DOIF_eventa:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       error:  save: Wrote configuration to fhem.cfg
       cmd_1
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       error:  save: Wrote configuration to fhem.cfg
       state: cmd_1
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   internals:
     all         PoolMaster:STATE
   interval:
     0          -1
     1          0
     2          -1
     3          2
   intervalfunc:
   intervaltimer:
   localtime:
     0          1621486860
     1          1621530000
     2          1621530060
     3          1621573200
   realtime:
     0          07:01:00
     1          19:00:00
     2          19:01:00
     3          07:00:00
   time:
     0          07:01:00
     1          19:00:00
     2          19:01:00
     3          07:00:00
   timeCond:
     0          0
     1          0
     2          1
     3          1
   timer:
     0          0
     1          0
     2          0
     3          0
   timers:
     0           0  1
     1           2  3
   triggertime:
     1621530000:
       localtime  1621530000
       hash:
     1621530060:
       localtime  1621530060
       hash:
     1621573200:
       localtime  1621573200
       hash:
   uiState:
   uiTable:
Attributes:
   alias      di_TagSensoren
   room       Steuerung


Hab hier das List vom DOIF angehängt.
??
LG
Helmut
Titel: Antw:#gelöst# Tägliches DOIF speichert nicht
Beitrag von: Damian am 20 Mai 2021, 07:44:44
In diesem Fall ist es nur eine Info, weil save etwas zurückmeldet - das kannst du ignorieren.
Titel: Antw:#gelöst# Tägliches DOIF speichert nicht
Beitrag von: Helmi55 am 20 Mai 2021, 07:48:44
Danke - das wusste ich nicht.
Hätte mich auch gewundert denn die Werte im Sensor passen.

Schönen Tag
Helmut
Titel: Antw:#gelöst# Tägliches DOIF speichert nicht
Beitrag von: Damian am 20 Mai 2021, 08:14:44
mit z.B.

{$attr{PoolSensor}{event-min-interval}="temperature:60"}

kann man ein Attribut temporär ändern ohne save, ohne dass ein Fragezeichen erscheint
Titel: Antw:#gelöst# Tägliches DOIF speichert nicht
Beitrag von: Helmi55 am 20 Mai 2021, 09:27:47
Danke
Aber jetzt erscheint kein Fragezeichen mehr. Das war anscheinend durch den fehlenden Abstand nach dem","