FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Mellowback am 30 Oktober 2022, 17:32:58

Titel: Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 30 Oktober 2022, 17:32:58
Hallo zusammen,

ich habe folgende Automatisierung welche nur geht wenn ich "state" auf "cmd_2" setze.
Danach springt er wieder auf "cmd1" und die Automatisierung funktioniert nicht mehr am nächsten Tag.
Was ist das Problem ?


([{twilight("TC_TWILIGHT","ss_weather","16:00","22:00")}]) (sleep 2500; set WZ_Fenster pct 0; sleep 300; set Bad_Fenster_rechts pct 0; sleep 2; set Bad_Fenster_links pct 0; set WZ_TerrasseFenster pct 0; sleep 30; set Arbeitszimmer_Fenster pct 0; sleep 40; set Kueche_Fenster pct 0; sleep 2; set SZ_Fenster pct 0)
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: eisman am 30 Oktober 2022, 17:43:36
hi

schau mal (https://forum.fhem.de/index.php?topic=93400.0 (https://forum.fhem.de/index.php?topic=93400.0)) bei wait und nicht sleep....

oder und hier (https://fhem.de/commandref_DE.html#DOIF_wait (https://fhem.de/commandref_DE.html#DOIF_wait))

gruss

Beispiel:


defmod do.RO0301.Zeit DOIF ( [[RA_0300:rollo-time-up]-[RA_0300:rollo-time-down]] and [?RA_0300:rollo-mode] eq "auto") ({sub_Rollo(3,"[RA_0300:rollo-pct-up]")})\
DOELSEIF ([[RA_0300:rollo-time-down]-[RA_0300:rollo-time-up]] and [?RA_0300:rollo-mode] eq "auto") ({sub_Rollo(3,"[RA_0300:rollo-pct-down]")})\
DOELSEIF ([[RA_0300:rollo-time-up]-[RA_0300:rollo-time-down]] and [?RA_0300:rollo-mode] eq "beschattung") (set RA_0300 beschattung on,{sub_Beschattung(3)})\
DOELSEIF ([[RA_0300:rollo-time-down]-[RA_0300:rollo-time-up]] and [?RA_0300:rollo-mode] eq "beschattung") (set RA_0300 beschattung off,{sub_Rollo(3,"[RA_0300:rollo-pct-down]")})\
DOELSEIF ([{twilight("Astro","CustomTwilightMorning","[RA_0300:rollo-time-up]","10:00")}] and [?RA_0300:rollo-mode] eq "sonne")   ({sub_Rollo(3,"[RA_0300:rollo-pct-up]")})\
DOELSEIF ([{twilight("Astro","CustomTwilightEvening","16:00","[RA_0300:rollo-time-down]")}] and [?RA_0300:rollo-mode] eq "sonne") ({sub_Rollo(3,"[RA_0300:rollo-pct-down]")})
attr do.RO0301.Zeit alias Schlafzimmerrollo
attr do.RO0301.Zeit cmdState auf|zu|auf|zu|auf|zu|auf|zu
attr do.RO0301.Zeit devStateStyle style="text-align:right;;"
attr do.RO0301.Zeit do always
attr do.RO0301.Zeit group doif
attr do.RO0301.Zeit room Schlafzimmer,rollladen
attr do.RO0301.Zeit sortby RO_0301
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: rischbiter123 am 30 Oktober 2022, 18:10:50
Moin,
meine Glaskugel sagt mir, ich solle auf ein fehlendes Do always wetten.
LG
Andreas
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 31 Oktober 2022, 10:02:53
habe jetzt mal das erste sleep entfernt und durch wait ersetzt.
Mich wundert das es ja letztes Jahr noch funktioniert hat und jetzt auf einmal nicht mehr.
Bzw. wenn ich auf cmd2 setze oder initalzed das ganze wieder funktioniert (allerdings nur einmal).

Dake euch vorab
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: rabehd am 31 Oktober 2022, 11:50:05
Zitat von: Mellowback am 31 Oktober 2022, 10:02:53
habe jetzt mal das erste sleep entfernt und durch wait ersetzt.

Warum nicht die anderen auch?
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 31 Oktober 2022, 12:43:37
Müsste ja jetzt zumindest der erste Rolladen herunter fahren. Wenn dann die anderen nicht gehen, kann ich immer noch anpassen.
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: eisman am 31 Oktober 2022, 16:03:12
hi,

ich habe auch einige doif, die monatelang gingen und nun nicht,
konnte bisher keine Fehler finden und habe die dann durch notify ersetzt

"Müsste ja jetzt zumindest der erste Rolladen herunter fahren" ja und nein wenn ein Fehler drin ist geht es nicht....
steht aber dann auch im device

mfg
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 01 November 2022, 07:18:58
Was soll ich sagen, es hat alles funktioniert. Bin gespannt was heute passiert oder auch nicht.
Im State steht wieder cmd_1
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Damian am 01 November 2022, 08:17:33
Zitat von: Mellowback am 01 November 2022, 07:18:58
Was soll ich sagen, es hat alles funktioniert. Bin gespannt was heute passiert oder auch nicht.
Im State steht wieder cmd_1

Ein Timer ohne ein DOELSE-Fall braucht immer das Attribut do always, sonst wird es nur einmal ausgeführt, das steht auch so in der Commandref zu DOIF. Für eine sinnvolle Analyse ist ein list deines DOIFs Voraussetzung - das habe ich noch nicht gesehen.
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 01 November 2022, 17:26:22
hier das list zur Automatisierung:


Internals:
   DEF        ([{twilight("TC_TWILIGHT","ss_weather","16:00","22:00")}]) (set WZ_Fenster pct 0; sleep 300; set Bad_Fenster_rechts pct 0; sleep 2; set Bad_Fenster_links pct 0; set WZ_TerrasseFenster pct 0; sleep 30; set Arbeitszimmer_Fenster pct 0; sleep 40; set Kueche_Fenster pct 0; sleep 2; set SZ_Fenster pct 0)
   FUUID      5c601b93-f33f-2b59-1da3-eb9e234697c0255c
   MODEL      FHEM
   NAME       KU_DOIF_ROLLADEN_DOWN
   NOTIFYDEV  global
   NR         371
   NTFY_ORDER 50-KU_DOIF_ROLLADEN_DOWN
   STATE      cmd_1
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   eventCount 4
   READINGS:
     2022-10-31 16:24:23   cmd             1
     2022-10-31 16:24:23   cmd_event       timer_1
     2022-10-31 16:24:23   cmd_nr          1
     2022-10-31 09:48:01   mode            enabled
     2022-10-31 16:24:23   state           cmd_1
     2022-11-01 16:24:24   timer_01_c01    02.11.2022 16:22:32
   Regex:
     accu:
     collect:
   attr:
     cmdState:
     wait:
       0:
         1500
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday)
   days:
   do:
     0:
       0          set WZ_Fenster pct 0; sleep 300; set Bad_Fenster_rechts pct 0; sleep 2; set Bad_Fenster_links pct 0; set WZ_TerrasseFenster pct 0; sleep 30; set Arbeitszimmer_Fenster pct 0; sleep 40; set Kueche_Fenster pct 0; sleep 2; set SZ_Fenster pct 0
     1:
   helper:
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     DOIF_eventa:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       cmd_1
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   interval:
   intervalfunc:
   localtime:
     0          1667402552
   realtime:
     0          16:22:32
   time:
     0          {twilight("TC_TWILIGHT","ss_weather","16:00","22:00")}
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1667402552:
       localtime  1667402552
       hash:
   uiState:
   uiTable:
Attributes:
   room       Automatisierung
   wait       1500
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Damian am 01 November 2022, 17:37:15
Wie schon geschrieben, ohne do always wird es nur einmal ausgeführt.
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: Mellowback am 01 November 2022, 17:53:47
habe do always ergänzt, mal gucken was passiert.

Danke
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: rischbiter123 am 01 November 2022, 19:49:26
Moin,
war das nicht gleich die zweite Antwort?  ::)
Titel: Antw:Automatisierung geht immer nur einen Tag (cmd_1)
Beitrag von: rabehd am 01 November 2022, 21:26:22
Man liest eben nur was man lesen will.