FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Matze89 am 12 November 2021, 20:02:59

Titel: WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 12 November 2021, 20:02:59
Servus und hallo,

ich bitte euch um ein sehr seltsames Phänomen. Ich habe mein rpi4 neu aufgesetzt, FHEM sauber neu installiert und meine bestehende FHEM-Konfiguration übertragen. Bis jetzt läuft wieder alles einwandfrei, bis auf das Modul "WeekdayTimer".

Ich steuere über WeekdayTimer meine Rollos für die gesamte Woche. Leider stelle ich verblüfft fest, dass meine Rollos immer in Zwischenpositionen halten, denn wenn ein Befehl: "open open" oder "closed closed" hintereinander versendet werden, fahren sie nicht komplett auf oder zu - sondern in die gespeicherten Positionen...

Anfangs dachte ich, meine Rollos sind falsch eingestellt, bis ich mir die FHEM Logs anschaute und mit Verbose ein Device mit WeekdayTimer ausgelesen habe:


2021.11.12 19:44:20 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.12 19:44:00 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.12 19:44:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.12 19:44:00 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.12 19:44:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|19:44|closed
2021.11.12 19:44:00 5: [timer_rollo_sz] result of condition: 1
2021.11.12 19:44:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.12 19:44:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.12 19:44:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.12 19:44:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.12 19:44:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.12 19:44:00 4: [timer_rollo_sz] time=19:44/1636742640 delay=0, nextDelay=60, nextRetry=1636742700
2021.11.12 19:44:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.12 19:44:00 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.12 19:44:00 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.12 19:44:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|19:44|closed
2021.11.12 19:44:00 5: [timer_rollo_sz] result of condition: 1
2021.11.12 19:44:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.12 19:44:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.12 19:44:00 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.12 19:44:00 5: [timer_rollo_sz] result of condition: 1
2021.11.12 19:44:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.12 19:44:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.12 19:44:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.12 19:44:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.12 19:44:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.12 19:44:00 4: [timer_rollo_sz] time=19:44/1636742640 delay=-1, nextDelay=60, nextRetry=1636742700


Er hat also den Befehl zweimal ausgeführt?
So sieht übrigens mein RAW-Device aus:

defmod timer_rollo_sz WeekdayTimer rollo_sz\
12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open\
06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open \
0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed\
0123456|19:44|closed
attr timer_rollo_sz alias Rollo Schlafzimmer Timer
attr timer_rollo_sz cmdIcon enable:general_an disable:general_aus
attr timer_rollo_sz commandTemplate set $NAME $EVENT
attr timer_rollo_sz disable 0
attr timer_rollo_sz group Zeitschaltungen
attr timer_rollo_sz icon clock
attr timer_rollo_sz room Home
attr timer_rollo_sz stateFormat nextUpdate
attr timer_rollo_sz verbose 5
attr timer_rollo_sz webCmd enable:disable


Dies machte er zuvor wirklich nur mit nur einem Befehl, jetzt werden definitiv immer zwei Befehle gleichzeitig versandt:
2021.11.12 10:03:19 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.12 10:03:00 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.12 07:44:37 1: Rollo Kinderzimmer wurde geöffnet.
2021.11.12 07:44:37 1: Rollo Kinderzimmer wurde geöffnet.
2021.11.12 07:43:56 1: Rollo Wohnzimmer wurde geöffnet.
2021.11.12 07:43:56 1: Rollo Wohnzimmer wurde geöffnet.
2021.11.12 07:42:37 1: Rollo Balkon wurde geöffnet.
2021.11.12 07:42:37 1: Rollo Balkon wurde geöffnet.


Könnt ihr mich da weiterhelfen? Dies habe ich erst nach der Neuinstallation meines Raspberrys. Ich bin etwas ratlos.


PS: Was mir auffällt sind diese zwei Befehle:
2021.11.12 19:44:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.12 19:44:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz

Werden also doppelt ausgeführt aber anders zusammengesetzt???
Gruß Matthias

PS: Ich habe zuvor einige Wochen keine Updates von FHEM und Raspi aus Zeitmangel laufen gelassen. Wurde vielleicht was verändert?
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 13 November 2021, 07:28:32
Wenn "einige Wochen" nicht viele Monate sind, habe ich erst mal keine Erklärung. Aber "version WeekdayTimer" würde für Klarheit sorgen, was konkret am Start ist und "update check" würde anzeigen, ob es was neues gab.

Ansonsten wäre in dem Fall ein "list" aufschlussreicher, und "fhemdebug timerList" würde evtl. helfen rauszufinden, ob die Timer von vornherein angelegt werden oder was da los ist...

Für den Moment würde ich eher auf "viele Monate" tippen.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 13 November 2021, 08:56:03
Hallo Beta-User,

vielen Dank für die Mithilfe. Gerne stelle ich dir die Daten zur Verfügung:

version WeekdayTimer
98_WeekdayTimer.pm 25110 2021-10-24 06:11:37Z Beta-User

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_colorpicker.js     23068 2020-11-01 16:15:57Z justme1968
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


update check
Downloading https://fhem.de/fhemupdate/controls_fhem.txt
List of new / modified files since last update:
UPD FHEM/lib/AttrTemplate/mqtt2.template
UPD www/images/fhemSVG/Abfalltonne-Recycling-Logo.svg
UPD www/images/fhemSVG/Abfalltonne.svg
UPD www/images/fhemSVG/Gartenabfall.svg


list
Type list <name> for detailed info.

Global:
  global               (no definition)

FBAHAHTTP:
  FB                   (connected)

MQTT2_SERVER:
  MQTT2                (Initialized)
  MQTT2_127.0.0.1_56890 (Connected)
  MQTT2_127.0.0.1_56892 (Connected)
  MQTT2_192.168.178.20_52676 (Connected)

SIGNALduino:
  SIGNALduino          (opened)

FHEMWEB:
  WEB                  (Initialized)
  WEB_127.0.0.1_46498  (Connected)
  WEB_192.168.178.201_50608 (Connected)
  WEB_192.168.178.201_50610 (Connected)
  WEB_192.168.178.3_55430 (Connected)
  WEBapi               (Initialized)
  WEBapi_127.0.0.1_59842 (Connected)

FBDECT:
  FB_Heater_BZ         (20.5 °C Zimmertemperatur)
  FB_Heater_KZ         (20.0 °C Zimmertemperatur)
  FB_Heater_SZ         (19.0 °C Zimmertemperatur)
  FB_Heater_WZ         (19.5 °C Zimmertemperatur)
  FB_Heater_WZL        (19.5 C (measured))
  FB_Heater_WZR        (19.0 C (measured))
  FB_Outlet_E          (ein)

IT:
  SIGNAL_Outlet_A      (off)
  SIGNAL_Outlet_B      (off)
  SIGNAL_Outlet_C      (off)
  SIGNAL_Outlet_D      (off)
  SIGNAL_Outlet_E      (off)

MQTT2_DEVICE:
  MQTT2_DVES_029287    (off)
  MQTT2_DVES_02AD16    (???)
  MQTT2_DVES_3344AC    (???)
  MQTT2_DVES_4428A8    (???)
  doorbell_cam1        (Es wurde am 2021-11-11 20:28:48 zuletzt geklingelt.)
  motionsensor_cam1    (closed)
  mqtt_rollo_kz        (up)
  mqtt_rollo_sz        (down)
  mqtt_rollo_wz_b      (up)
  mqtt_rollo_wz_l      (up)
  mqtt_rollo_wz_r      (up)

HUEBridge:
  RaspBee              (connected)

HUEDevice:
  HUESensor16          (nomotion)
  HUESensor17          (0)
  HUE_ASR_LED          (unreachable)
  HUE_Aqara_BZ         (Temperatur: 20.09 °C | Luftfeuchte: 51.92%<br>
Luftdruck 979 hPa | Taupunkt 10.20 °C)
  HUE_Aqara_BZ_Humi    (H: 51.78 %)
  HUE_Aqara_BZ_Press   (P: 979 hPa)
  HUE_Aqara_KZ         (Temperatur: 18.31 °C | Luftfeuchte: 57.16%<br>
Luftdruck 980 hPa | Taupunkt 9.69 °C)
  HUE_Aqara_KZ_Humi    (H: 57.4 %)
  HUE_Aqara_KZ_Press   (P: 980 hPa)
  HUE_Aqara_SZ         (Temperatur: 18.87 °C | Luftfeuchte: 56.22%<br>
Luftdruck 976 hPa | Taupunkt 9.97 °C)
  HUE_Aqara_SZ_Humi    (H: 55.98 %)
  HUE_Aqara_SZ_Press   (P: 976 hPa)
  HUE_Aqara_Vib        (Zuletzt Vibrationen erkannt am 2021-11-13 00:57:40)
  HUE_Aqara_WZ         (Temperatur: 18.54 °C | Luftfeuchte: 55.08%<br>
Luftdruck 986 hPa | Taupunkt 9.36 °C)
  HUE_Aqara_WZ_Humi    (H: 55.08 %)
  HUE_Aqara_WZ_Press   (P: 985 hPa)
  HUE_B_LED            (off)
  HUE_Contact_ASR      (closed)
  HUE_Contact_BL       (closed)
  HUE_Contact_BR       (closed)
  HUE_Contact_Eingang  (closed)
  HUE_Contact_W_BZ     (closed)
  HUE_Contact_W_KZ     (closed)
  HUE_Contact_W_SZ     (closed)
  HUE_Contact_W_WZL    (closed)
  HUE_Contact_W_WZR    (closed)
  HUE_KZ_BL            (off)
  HUE_K_LED            (off)
  HUE_Lux_Bad          (0)
  HUE_Motion_Bad       (nomotion)
  HUE_Osram_1          (off)
  HUE_Osram_2          (off)
  HUE_RaspBee_VS       (160)
  HUE_SZ_MAR_NL        (off)
  HUE_SZ_MAT_NL        (off)
  HUE_Smoke_SZ         (nofire)
  HUE_Smoke_WZ         (nofire)
  HUE_Switch_Ikea      (Mitte-kurz)
  HUE_TS0121_BG        (Strom: off | Aktuell: 0 W <br>Verbrauch: 3.04 kW | Kosten: 0.94 €)
  HUE_TS0121_BG_C      (???)
  HUE_TS0121_BG_M      (???)
  HUE_TS0121_KG        (Strom: on | Aktuell: 0 W <br>Verbrauch: 84.62 kW | Kosten: 26.19 €)
  HUE_TS0121_KG_C      (???)
  HUE_TS0121_KG_M      (???)
  HUE_TS0121_T         (Status: off | Strom: on | Aktuell: 0 W <br>Verbrauch: 201.03 kW | Kosten: 62.22 €)
  HUE_TS0121_TV_SZ     (Strom: on | Aktuell: 0 W <br>Verbrauch: 76.43 kW | Kosten: 23.66 €)
  HUE_TS0121_TV_SZ_C   (???)
  HUE_TS0121_TV_SZ_M   (???)
  HUE_TS0121_TV_WZ     (Strom: on | Aktuell: 30 W <br>Verbrauch: 419.02 kW | Kosten: 129.69 €)
  HUE_TS0121_TV_WZ_C   (???)
  HUE_TS0121_TV_WZ_M   (???)
  HUE_TS0121_T_C       (???)
  HUE_TS0121_T_M       (???)
  HUE_TS0121_WM        (Status: off | Strom: on | Aktuell: 0 W <br>Verbrauch: 118.49 kW | Kosten: 36.67 €)
  HUE_TS0121_WM_C      (???)
  HUE_TS0121_WM_M      (???)
  HUE_WZ_Bar_RGB       (off)
  HUE_WZ_F_RGB         (off)
  HUE_WZ_H_LED         (off)
  HUE_WZ_L_LED         (off)
  HUE_WZ_R_LED         (off)
  RaspBee_ASR          (off)
  RaspBee_BZ           (off)
  RaspBee_Bridge       (on)
  RaspBee_E            (off)
  RaspBee_Groups       (dim31%)
  RaspBee_K            (off)
  RaspBee_KZ           (off)
  RaspBee_Lights       (off)
  RaspBee_Remotes      (unknown)
  RaspBee_SZ           (off)
  RaspBee_WZ           (off)

LightScene:
  HUE_WZ_LED_SCENE     (SzeneAusWZ)

readingsGroup:
  battStatus           (Initialized)

readingsProxy:
  h_AppleTV_wz         (aus)
  h_Fernsehen_sz       (aus)
  h_Fernsehen_wz       (aus)
  h_FireTV_sz          (aus)
  h_Gaming_wz          (aus)
  h_Nintendo_sz        (aus)
  h_Nintendo_wz        (aus)

echodevice:
  Alexa_Bridge         (connected)
  ECHO_ALL             (connected)
  ECHO_DOT_KZ          (connected)
  ECHO_DOT_SZ          (connected)
  ECHO_FIRETV_PL       (connected)
  ECHO_FIRETV_RUE      (connected)
  ECHO_FIRETV_SZ       (connected)
  ECHO_SHOW_WZ         (connected)

fakeRoku:
  roku                 (listening)
  roku:listener        (accepting)
  roku:responder       (listening)

harmony:
  harmony:discovery    (discovering)
  harmony_sz           (Connected)
  harmony_wz           (Connected)

alexa:
  alexa_fhem           (running /usr/bin/alexa-fhem)

siri:
  siri                 (active)

SYSMON:
  sysmon_rpi_maze_1    (2 days, 14 hours, 27 minutes)

ROLLO:
  rollo_kz             (open)
  rollo_sz             (closed)
  rollo_wz             (open)
  rollo_wz_b           (open)

IPCAM:
  wz_cam_1             (last: 2021-11-12 20:12:03)

Weather:
  WETTER_Friedrichsthal (Temperatur: 4 °C | Luftfeuchte: 87%<br>
Luftdruck 1014 hPa | Taupunkt 2.04 °C)

BRAVIA:
  sonytv               (off)

XiaomiDevice:
  ROBOROCKS5           (Modus: balanced | Status: disconnected<br>
Filter: 68% | Seitenbürste 76% | Bürste: 84% | Sensoren: 78%)

at:
  time_midnight        (Next: 00:00:00)
  time_night           (Next: 20:00:00)
  time_roborockwash    (inactive)
  time_sunrise         (Next: 08:15:51)
  time_sunset          (Next: 16:47:08)

eventTypes:
  eventTypes           (active)

notify:
  Bad_bewegung_lux_licht (active)
  FHEMStart            (2021-11-12 13:35:43)
  SIGNAL_notify        (active)
  alexa_notify         (active)
  doorbell_cam1_notify (active)
  fb_dect_notify       (2021-11-13 08:06:27)
  hue_contact_notify   (2021-11-12 18:28:14)
  hue_outlet_notify    (active)
  hue_switch_notify    (2021-11-12 20:15:39)
  initialUsbCheck      (disabled)
  motionsensor_cam1_notify (2021-11-12 20:12:01)
  rollo_k_led          (2021-11-13 08:30:13)
  rollo_notify         (2021-11-13 08:32:18)

FileLog:
  FileLog_FB_Heater    (active)
  FileLog_HUE_Aqara    (active)
  FileLog_HUE_Power    (active)
  FileLog_WETTER       (active)
  Logfile              (active)
  alexaFHEMlog         (active)

DOIF:
  DOIF_FB_IkeaSwitch   (Mitte-kurz)
  DOIF_IT_FF00F_NL_left (???)
  ROBOROCK_S5_Z_BZ     (off)
  ROBOROCK_S5_Z_K      (off)
  ROBOROCK_S5_Z_KZ     (off)
  ROBOROCK_S5_Z_NR     (off)
  ROBOROCK_S5_Z_SZ     (off)
  ROBOROCK_S5_Z_TR     (off)
  ROBOROCK_S5_Z_WZ     (off)
  contact_ASR_E        (???)
  contact_WZ_B         (closed)
  contact_WZ_W         (closed)
  diskokugel           (Off)
  doif_Bad_abfolge     (Abfolge)
  doif_timer_resetwait (???)
  doif_trockner        (off)
  doif_waschmaschine   (off)
  doif_window_heater_bz (Fenster zu - Heizmodus an)
  doif_window_heater_kz (Fenster zu - Heizmodus an)
  doif_window_heater_sz (Fenster zu - Heizmodus an)
  doif_window_heater_wz (Fenster & Balkon zu - Heizmodus an)
  harmony_doif_sz      (Off)
  harmony_doif_wz      (Off)
  hyperionhue          (TV aus LED aus)
  modus_absent         (off)
  roku_befehle         (???)
  security             (Abwesend)
  security_alarm       (cmd_2)
  siro_kueche_resbat   (???)

SVG:
  SVG_Dew              (initialized)
  SVG_FB_Heater_BZ     (initialized)
  SVG_FB_Heater_KZ     (initialized)
  SVG_FB_Heater_SZ     (initialized)
  SVG_FB_Heater_WZ     (initialized)
  SVG_HUE_Power        (initialized)
  TM_Power             (initialized)

Siro:
  rollo_k              (100)

WeekdayTimer:
  timer_rollo_k        (2021-11-13 16:47:08)
  timer_rollo_kz       (2021-11-13 16:48:08)
  timer_rollo_sz       (2021-11-13 10:03:00)
  timer_rollo_wz       (2021-11-13 16:47:08)
  timer_rollo_wz_b     (2021-11-13 22:00:00)

autocreate:
  autocreate           (active)

cmdalias:
  FB_Heater_CMDTemp    (defined)

telnet:
  telnetPort           (Initialized)

weblink:
  iframe_wz_cam_1      (initialized)


und fhemdebug timerList
2021-11-13 08:52:14.33070 HUEDevice_GetUpdate HUE_Contact_W_KZ
2021-11-13 08:52:14.33380 HUEDevice_GetUpdate HUE_Motion_Bad
2021-11-13 08:52:14.33767 HUEDevice_GetUpdate HUE_Lux_Bad
2021-11-13 08:52:14.35151 HUEDevice_GetUpdate HUE_Smoke_WZ
2021-11-13 08:52:14.35568 HUEDevice_GetUpdate HUE_Contact_BL
2021-11-13 08:52:14.36409 HUEDevice_GetUpdate HUE_Contact_ASR
2021-11-13 08:52:14.36771 HUEDevice_GetUpdate HUE_Contact_W_WZL
2021-11-13 08:52:14.37662 HUEDevice_GetUpdate HUE_Aqara_SZ
2021-11-13 08:52:14.38116 HUEDevice_GetUpdate HUE_Aqara_SZ_Humi
2021-11-13 08:52:14.38599 HUEDevice_GetUpdate HUE_Aqara_SZ_Press
2021-11-13 08:52:14.39282 HUEDevice_GetUpdate HUE_Contact_Eingang
2021-11-13 08:52:14.39765 HUEDevice_GetUpdate HUE_Aqara_Vib
2021-11-13 08:52:14.40448 HUEDevice_GetUpdate HUE_Aqara_WZ
2021-11-13 08:52:14.41469 HUEDevice_GetUpdate HUE_Aqara_WZ_Humi
2021-11-13 08:52:14.42299 HUEDevice_GetUpdate HUE_Aqara_WZ_Press
2021-11-13 08:52:14.42986 HUEDevice_GetUpdate HUE_TS0121_WM_C
2021-11-13 08:52:14.43322 HUEDevice_GetUpdate HUE_TS0121_WM_M
2021-11-13 08:52:14.44050 HUEDevice_GetUpdate HUE_TS0121_T_C
2021-11-13 08:52:14.44527 HUEDevice_GetUpdate HUE_TS0121_T_M
2021-11-13 08:52:14.45210 HUEDevice_GetUpdate HUE_Contact_W_BZ
2021-11-13 08:52:14.45690 HUEDevice_GetUpdate HUE_TS0121_TV_WZ_C
2021-11-13 08:52:14.46032 HUEDevice_GetUpdate HUE_TS0121_TV_SZ_C
2021-11-13 08:52:14.46432 HUEDevice_GetUpdate HUE_Aqara_KZ
2021-11-13 08:52:14.47032 HUEDevice_GetUpdate HUE_Aqara_KZ_Humi
2021-11-13 08:52:14.48035 HUEDevice_GetUpdate HUE_Aqara_KZ_Press
2021-11-13 08:52:14.48299 HUEDevice_GetUpdate HUE_Aqara_BZ
2021-11-13 08:52:14.48601 HUEDevice_GetUpdate HUE_Aqara_BZ_Humi
2021-11-13 08:52:14.49396 HUEDevice_GetUpdate HUE_Aqara_BZ_Press
2021-11-13 08:52:14.50024 HUEDevice_GetUpdate HUE_TS0121_BG_C
2021-11-13 08:52:14.50295 HUEDevice_GetUpdate HUE_TS0121_BG_M
2021-11-13 08:52:14.50926 HUEDevice_GetUpdate HUE_TS0121_KG_C
2021-11-13 08:52:14.51158 HUEDevice_GetUpdate HUE_TS0121_KG_M
2021-11-13 08:52:14.51884 HUEDevice_GetUpdate HUE_Smoke_SZ
2021-11-13 08:52:14.52115 HUEDevice_GetUpdate HUE_Contact_W_SZ
2021-11-13 08:52:14.52574 echodevice_NPMWaitForCookie Alexa_Bridge
2021-11-13 08:52:15.67623 GetStatus sonytv
2021-11-13 08:52:20.60317 XiaomiDevice_GetUpdate ROBOROCKS5
2021-11-13 08:52:20.60711 MQTT2_SERVER_keepaliveChecker MQTT2
2021-11-13 08:52:27.01559 FBAHAHTTP_Poll FB
2021-11-13 08:52:41.97291 BlockingKill 
2021-11-13 08:52:46.95908 echodevice_LoginStart Alexa_Bridge
2021-11-13 08:52:46.95947 SYSMON_Update sysmon_rpi_maze_1
2021-11-13 08:52:47.12421 HUEBridge_GetUpdate RaspBee
2021-11-13 08:52:47.32861 echodevice_GetSettings ECHO_FIRETV_RUE
2021-11-13 08:52:47.33234 echodevice_GetSettings ECHO_FIRETV_PL
2021-11-13 08:52:47.33658 echodevice_GetSettings ECHO_FIRETV_SZ
2021-11-13 08:52:47.34782 echodevice_GetSettings ECHO_DOT_SZ
2021-11-13 08:52:47.35052 harmony_ping harmony_sz
2021-11-13 08:52:47.35321 harmony_ping harmony_wz
2021-11-13 08:52:47.36033 echodevice_GetSettings ECHO_DOT_KZ
2021-11-13 08:52:47.37437 echodevice_GetSettings ECHO_ALL
2021-11-13 08:52:47.38301 echodevice_GetSettings ECHO_SHOW_WZ
2021-11-13 08:52:47.38311 SIGNALduino_KeepAlive SIGNALduino
2021-11-13 08:52:50.59740 echodevice_GetSettings Alexa_Bridge
2021-11-13 08:52:50.60994 XiaomiDevice_connectFail ROBOROCKS5
2021-11-13 08:53:09.00000 FW_closeInactiveClients 
2021-11-13 08:53:17.19725 HUEDevice_GetUpdate HUE_TS0121_TV_WZ_M
2021-11-13 08:55:47.19456 HUEDevice_GetUpdate HUE_TS0121_TV_SZ_M
2021-11-13 08:56:45.23474 Weather_GetUpdate WETTER_Friedrichsthal
2021-11-13 09:09:45.99396 XiaomiDevice_GetSettings ROBOROCKS5
2021-11-13 09:57:28.01254 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:00:00.00000 at_Exec time_roborockwash
2021-11-13 10:00:19.02816 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:03:00.00000 WDT_Update timer_rollo_sz_2
2021-11-13 10:03:04.05953 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:05:49.11951 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:08:49.15795 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:11:49.14000 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:14:49.18152 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:17:49.23517 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:20:49.26175 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:23:49.30411 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:26:49.36018 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:29:49.39859 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:32:49.45542 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:35:49.48467 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:38:49.52631 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:41:49.56167 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:44:49.59827 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:47:49.63614 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:50:49.66890 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:53:49.70570 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:56:49.74405 XiaomiDevice_connect ROBOROCKS5
2021-11-13 10:59:49.78597 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:02:49.82192 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:05:49.86108 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:08:49.89816 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:11:49.93622 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:14:49.97981 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:17:50.02134 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:20:50.06257 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:23:50.10261 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:26:50.12677 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:29:50.16831 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:32:50.20454 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:35:50.23875 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:38:50.27904 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:41:50.31767 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:44:50.35990 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:47:50.39313 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:50:50.43828 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:53:50.47566 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:56:50.50559 XiaomiDevice_connect ROBOROCKS5
2021-11-13 11:59:50.55189 XiaomiDevice_connect ROBOROCKS5
2021-11-13 12:02:50.60606 XiaomiDevice_connect ROBOROCKS5
2021-11-13 16:22:08.00000 WDT_Update timer_rollo_sz_3
2021-11-13 16:47:08.00000 at_Exec time_sunset
2021-11-13 16:47:08.00000 WDT_Update timer_rollo_k_3
2021-11-13 16:47:08.00000 WDT_Update timer_rollo_wz_3
2021-11-13 16:48:08.00000 WDT_Update timer_rollo_kz_3
2021-11-13 20:00:00.00000 at_Exec time_night
2021-11-13 20:00:00.00000 DOIF_TimerTrigger 
2021-11-13 22:00:00.00000 WDT_Update timer_rollo_wz_b_4
2021-11-14 00:00:00.00000 at_Exec time_midnight
2021-11-14 00:00:01.00000 FileLog_dailySwitch 
2021-11-14 00:00:05.00000 WDT_SetTimerOfDay timer_rollo_wz_b_midnight
2021-11-14 00:00:05.00000 WDT_SetTimerOfDay timer_rollo_kz_midnight
2021-11-14 00:00:05.00000 WDT_SetTimerOfDay timer_rollo_k_midnight
2021-11-14 00:00:05.00000 WDT_SetTimerOfDay timer_rollo_wz_midnight
2021-11-14 00:00:05.00000 WDT_SetTimerOfDay timer_rollo_sz_midnight
2021-11-14 07:03:45.00000 DOIF_TimerTrigger 
2021-11-14 08:09:42.99360 XiaomiDevice_GetDeviceDetails ROBOROCKS5
2021-11-14 08:15:51.00000 at_Exec time_sunrise


Naja viele Monate nicht, habe noch eine Absicherung von Mitte Oktober.

Heutemorgen geht das spiel von vorne los ;-)

2021.11.13 08:31:59 1: Rollo Kinderzimmer wurde geöffnet.
2021.11.13 08:31:59 1: Rollo Kinderzimmer wurde geöffnet.
2021.11.13 07:44:14 1: Rollo Balkon wurde geöffnet.
2021.11.13 07:44:14 1: Rollo Balkon wurde geöffnet.


Hier noch zusätzlich meine Logfunktion für die Anzeige:

defmod rollo_notify notify rollo_kz:pct:.*|rollo_sz:pct:.*|rollo_wz:pct:.*|rollo_wz_b:pct:.*|rollo_k:pct:.* {\
if ($EVTPART1 eq "100" )\
       {my $DNAME = AttrVal($NAME,"alias",$NAME);; Log 1, "$DNAME wurde geöffnet."}\
if ($EVTPART1 eq "0" )\
       {my $DNAME = AttrVal($NAME,"alias",$NAME);; Log 1, "$DNAME wurde geschlossen."}\
}
attr rollo_notify room hidden

setstate rollo_notify 2021-11-13 08:32:18
setstate rollo_notify 2021-11-12 13:35:43 state active
setstate rollo_notify 2021-11-13 08:32:18 triggeredByDev rollo_kz
setstate rollo_notify 2021-11-13 08:32:18 triggeredByEvent pct: 100



Und dann noch das Rollo
defmod rollo_sz ROLLO
attr rollo_sz alexaName Rollo Schlafzimmer
attr rollo_sz alias Rollo Schlafzimmer
attr rollo_sz cmdIcon closed:control_centr_arrow_down stop:audio_stop open:control_centr_arrow_up
attr rollo_sz devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_10:open pct-90:fts_shutter_10:closed pct-80:fts_shutter_20:closed pct-70:fts_shutter_30:closed pct-60:fts_shutter_40:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_60:open pct-30:fts_shutter_70:open pct-20:fts_shutter_80:open pct-10:fts_shutter_90:open pct-0:fts_shutter_100:closed
attr rollo_sz genericDeviceType blind
attr rollo_sz group Rolladen
attr rollo_sz homebridgeMapping PositionState=positionstate
attr rollo_sz icon fts_shutter_1w
attr rollo_sz rl_autoStop 1
attr rollo_sz rl_commandDown set mqtt_rollo_sz down
attr rollo_sz rl_commandStop set mqtt_rollo_sz stop
attr rollo_sz rl_commandUp set mqtt_rollo_sz up
attr rollo_sz rl_commandUp2 sleep 10;; set RaspBee_SZ off
attr rollo_sz rl_excessBottom 0
attr rollo_sz rl_excessTop 0
attr rollo_sz rl_forceDrive 1
attr rollo_sz rl_reactionTime 1
attr rollo_sz rl_secondsDown 19
attr rollo_sz rl_secondsUp 18
attr rollo_sz rl_switchTime 2
attr rollo_sz rl_type HomeKit
attr rollo_sz room Home,HomeKit,Räume->Schlafzimmer
attr rollo_sz siriName Rollo Schlafzimmer
attr rollo_sz userReadings positionstate {if (ReadingsVal($NAME,"state","") eq "drive-up") {return "1"} \
elsif (ReadingsVal($NAME,"state","") eq "drive-down") {return "0"} \
else {return "2"}}
attr rollo_sz webCmd open:closed:stop

setstate rollo_sz closed
setstate rollo_sz 2021-11-12 20:24:00 command closed
setstate rollo_sz 2021-11-12 20:24:00 desired_pct 100
setstate rollo_sz 2021-11-12 20:24:00 drive-type modul
setstate rollo_sz 2021-11-12 20:24:00 last_drive drive-down
setstate rollo_sz 2021-11-12 20:24:20 pct 0
setstate rollo_sz 2021-11-12 20:24:20 positionstate 2
setstate rollo_sz 2021-11-12 20:24:20 state closed




und die MQTT-Anbindung an Schellenberg
defmod mqtt_rollo_sz MQTT2_DEVICE
attr mqtt_rollo_sz group Rolladen
attr mqtt_rollo_sz readingList schellenberg/device/value/14700:.* cover_state
attr mqtt_rollo_sz room System
attr mqtt_rollo_sz setList up:noArg    schellenberg/device/value/update/14700 1\
stop:noArg     schellenberg/device/value/update/14700 0\
down:noArg schellenberg/device/value/update/14700 2
attr mqtt_rollo_sz verbose 0

setstate mqtt_rollo_sz down
setstate mqtt_rollo_sz 2021-11-12 13:35:43 IODev MQTT2
setstate mqtt_rollo_sz 2021-11-13 00:00:05 cover_state 2
setstate mqtt_rollo_sz 2021-11-12 20:24:00 state down


Ich möchte allerdings betonen, dass mein Raspberry jetzt auf raspbian debian-bullseye aufsetzt. Gibt es da Probleme mit FHEM etc.?

Zum anderen kann ich die aufgerufenen "set"-Befehle bei den direkten Devices ausführen - und da ist definitiv nur ein Befehl an meine Rollos versandt worden. Es liegt also definitiv am WeekDayTimer (oder eben was dazwischen)

Gruß und Dank
Matthias
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 13 November 2021, 11:42:46
Hmm, also WDT ist aktuell, soweit so gut...

Bullseye/Perl 5.32 ist afaik auch kein Problem, das Ding ist halbwegs modern gecodet und das Testsystem war auch 5.32.

Müßte mal in den Code sehen, aber was mich irritiert ist zum einen "is active today" und das "removing" etc.. Das sieht nach einer Neuinitialisierung aus, und weil WDT sekundenweise "tickt", ist es beim 2. Durchlauf noch nicht "zu spät".

Könnte es sein, dass irgendein Automatismus ein "enable" ausführt?

PS: mit dem "list" war ein List von einem der WeekdayTimer gemeint gewesen. Aber aus der Timerlist ergibt sich bereits, dass keine doppelten Timer gesetzt waren, sondern der 2. irgendwo anders herzukommen scheint.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 13 November 2021, 13:34:52
Hallo Beta-User,

anbei der aktuelle Auszug von heutemorgen im Debugmode:

2021.11.13 10:03:00 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.13 10:03:00 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.13 10:03:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.13 10:03:00 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 10:03:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open
2021.11.13 10:03:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 10:03:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 10:03:00 4: [timer_rollo_sz] condition: - Tage:0,6
2021.11.13 10:03:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 10:03:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.13 10:03:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.13 10:03:00 4: [timer_rollo_sz] time={sunrise_abs('REAL',+180,"10:03","10:30")}/1636794180 delay=0, nextDelay=60, nextRetry=1636794240
2021.11.13 10:03:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>open
2021.11.13 10:03:00 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 10:03:00 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_2
2021.11.13 10:03:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open
2021.11.13 10:03:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 10:03:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 10:03:00 4: [timer_rollo_sz] condition: - Tage:0,6
2021.11.13 10:03:00 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_2
2021.11.13 10:03:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 10:03:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 10:03:00 4: [timer_rollo_sz] condition: - Tage:0,6
2021.11.13 10:03:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 10:03:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.13 10:03:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.13 10:03:00 4: [timer_rollo_sz] time={sunrise_abs('REAL',+180,"10:03","10:30")}/1636794180 delay=-1, nextDelay=60, nextRetry=1636794240


Leider weiß ich nicht, was ich dir noch darüber liefern kann. Es gibt nur eine allerdings manuelle Ausführung für die WeekdayTimer: Bei "Urlaubsmodus" werden die Rollos deaktiviert mit "timer_rollo_kz disable" und aktiviert mit "timer_rollo_kz enable". Mehr hängt daran nicht.

Ich bin ratlos wo ich ansetzen soll.

Aber wieso führt er diesen Befehl nur zweimal aus?
2021.11.13 10:03:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.13 10:03:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>open
und warum das mit der unterschiedlich veränderten EVENT und NAME-Sache. Kann da vielleicht doch ein Fehler im Modul vorliegen?
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 13 November 2021, 13:56:56
Hmm, habe jetzt doch mal in den Code geschaut, und wie immer, wenn man das nach einiger Zeit mal wieder tut, fällt einem was auf...

Ich habe zwar nicht die durchschlagende Idee, wie das entsteht, aber irgendwie ist/war die Behandlung der eigenen Attribute "komisch", wenn nicht gesetzt (da kann man auch die Abkürzung nehmen).

Vielleicht kannst du die angehängte Fassung mal testen, ob das da dann weg ist?

(Werde die jetzt auch mal in meinem Hauptsystem so einspielen, habe aber bisher nicht diesen Effekt gesehen).
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 13 November 2021, 14:09:12
Hallo und wirklich vielen vielen Dank,
leider exakt das gleiche Phänomen.  :-X

Version
File               Rev   Last Change

# $Id: 98_WeekdayTimer.pm 25110 2021-11-13 Test Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


Debuglog
2021.11.13 14:05:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>open
2021.11.13 14:05:00 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 14:05:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|14:05|open
2021.11.13 14:05:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:05:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:05:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:05:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 14:05:00 4: [timer_rollo_sz] time=14:05/1636808700 delay=0, nextDelay=60, nextRetry=1636808760
2021.11.13 14:05:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.13 14:05:00 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 14:05:00 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.13 14:05:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|14:05|open
2021.11.13 14:05:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:05:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:05:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:05:00 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.13 14:05:00 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:05:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:05:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:05:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 14:05:00 4: [timer_rollo_sz] time=14:05/1636808700 delay=-1, nextDelay=60, nextRetry=1636808760


Logs und Ausführung
2021.11.13 14:05:00 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.13 14:05:00 1: Rollo Schlafzimmer wurde geöffnet.


RAW mit Dump "Probably associated with" too
defmod timer_rollo_sz WeekdayTimer rollo_sz\
12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open\
06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open \
0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed\
0123456|14:05|open
attr timer_rollo_sz alias Rollo Schlafzimmer Timer
attr timer_rollo_sz cmdIcon enable:general_an disable:general_aus
attr timer_rollo_sz commandTemplate set $NAME $EVENT
attr timer_rollo_sz group Zeitschaltungen
attr timer_rollo_sz icon clock
attr timer_rollo_sz room Home
attr timer_rollo_sz stateFormat nextUpdate
attr timer_rollo_sz verbose 5
attr timer_rollo_sz webCmd enable:disable

defmod modus_absent DOIF ([holiday] eq "on")\
(set ECHO_SHOW_WZ speak Abwesenheitsmodus wird in 30 Sekunden gestartet.)\
(set FB template Abwesend;;\
set harmony_wz activity PowerOff;;set harmony_sz activity PowerOff;;\
set SIGNAL_Outlet_A off;;set SIGNAL_Outlet_B off;;set SIGNAL_Outlet_C off;;set SIGNAL_Outlet_D off;;set SIGNAL_Outlet_E off;;\
set MQTT2_DVES_029287 off;;set MQTT2_DVES_02AD16 off;;set MQTT2_DVES_3344AC off;;set MQTT2_DVES_4428A8 off;;\
set HUE_TS0121_BG off;;set HUE_TS0121_KG off;;set HUE_TS0121_TV_SZ off;;set HUE_TS0121_T off;;set HUE_TS0121_WM off;;\
set RaspBee_Lights off;;\
set rollo_k close;;set rollo_wz_b pct 30;;\
set timer_rollo_wz_b disable;;set timer_rollo_kz disable;;set timer_rollo_k disable;;set timer_rollo_sz disable;;set timer_rollo_wz disable;;set time_roborockwash inactive;;set Bad_bewegung_lux_licht inactive;;\
set ECHO_SHOW_WZ speak Abwesenheitsmodus ist jetzt erfolgreich aktiviert.)\
({Log 1, "Abwesenheitsmodus ist jetzt erfolgreich aktiviert."})\
DOELSE\
(set FB template Anwesend-BZ-H;;set FB template Anwesend-KZ-H;;set FB template Anwesend-SZ-H;;set FB template Anwesend-WZ-H;;\
set HUE_TS0121_KG on;;set HUE_TS0121_TV_SZ on;;set HUE_TS0121_T on;;set HUE_TS0121_WM on;;\
set rollo_k open;;set rollo_wz_b open;;\
set timer_rollo_wz_b enable;;set timer_rollo_kz enable;;set timer_rollo_k enable;;set timer_rollo_sz enable;;set timer_rollo_wz enable;;set Bad_bewegung_lux_licht active;;\
set ECHO_SHOW_WZ speak Willkommen zuhause. Abwesenheitsmodus wurde erfolgreich deaktiviert.)\
({Log 1, "Abwesenheitsmodus wurde erfolgreich deaktiviert."})
attr modus_absent alexaName Abwesenheitsmodus
attr modus_absent alias Abwesenheitsmodus
attr modus_absent cmdIcon on:general_an off:general_aus
attr modus_absent cmdState on|off
attr modus_absent comment ([holiday] eq "on")\
(set ECHO_SHOW_WZ speak Abwesenheitsmodus wird in 30 Sekunden gestartet.)\
(set FB template Abwesend;;\
set harmony_wz activity PowerOff;;set harmony_sz activity PowerOff;;\
set SIGNAL_Outlet_A off;;set SIGNAL_Outlet_B off;;set SIGNAL_Outlet_C off;;set SIGNAL_Outlet_D off;;set IT_SIGNAL_Outlet_E off;;\
set MQTT2_DVES_029287 off;;set MQTT2_DVES_02AD16 off;;set MQTT2_DVES_3344AC off;;set MQTT2_DVES_4428A8 off;;\
set HUE_TS0121_BG off;;set HUE_TS0121_KG off;;set HUE_TS0121_T off;;set HUE_TS0121_WM off;;\
set RaspBee_WZ off;;set RaspBee_BZ off;;set RaspBee_SZ off;;set RaspBee_KZ off;;set RaspBee_K off;;\
set rollo_k close;;\
set time_midnight inactive;;set time_night inactive;;set time_sunrise inactive;;set time_sunset inactive;;set time_roborockwash inactive;;\
set ECHO_SHOW_WZ speak Abwesenheitsmodus ist jetzt erfolgreich aktiviert.)\
({Log 1, "Abwesenheitsmodus ist jetzt erfolgreich aktiviert."})\
DOELSE\
(set FB template Anwesend-BZ-H;;set FB template Anwesend-KZ-H;;set FB template Anwesend-SZ-H;;set FB template Anwesend-WZ-H;;\
set HUE_TS0121_BG on;;set HUE_TS0121_KG on;;set HUE_TS0121_T on;;set HUE_TS0121_WM on;;\
set rollo_k open;;\
set time_midnight active;;set time_night active;;set time_sunrise active;;set time_sunset active;;\
set ECHO_SHOW_WZ speak Willkommen zuhause. Abwesenheitsmodus wurde erfolgreich deaktiviert.)\
({Log 1, "Abwesenheitsmodus wurde erfolgreich deaktiviert."})
attr modus_absent devStateIcon on:radio_checked off:radio_unchecked
attr modus_absent event-on-change-reading .*
attr modus_absent genericDeviceType switch
attr modus_absent group Sicherheitssystem
attr modus_absent icon weather_summer
attr modus_absent room Home,HomeKit
attr modus_absent setList on off
attr modus_absent siriName Abwesenheitsmodus
attr modus_absent wait 1,30:1
attr modus_absent webCmd on:off

defmod rollo_sz ROLLO
attr rollo_sz alexaName Rollo Schlafzimmer
attr rollo_sz alias Rollo Schlafzimmer
attr rollo_sz cmdIcon closed:control_centr_arrow_down stop:audio_stop open:control_centr_arrow_up
attr rollo_sz devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_10:open pct-90:fts_shutter_10:closed pct-80:fts_shutter_20:closed pct-70:fts_shutter_30:closed pct-60:fts_shutter_40:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_60:open pct-30:fts_shutter_70:open pct-20:fts_shutter_80:open pct-10:fts_shutter_90:open pct-0:fts_shutter_100:closed
attr rollo_sz genericDeviceType blind
attr rollo_sz group Rolladen
attr rollo_sz homebridgeMapping PositionState=positionstate
attr rollo_sz icon fts_shutter_1w
attr rollo_sz rl_autoStop 1
attr rollo_sz rl_commandDown set mqtt_rollo_sz down
attr rollo_sz rl_commandStop set mqtt_rollo_sz stop
attr rollo_sz rl_commandUp set mqtt_rollo_sz up
attr rollo_sz rl_commandUp2 sleep 10;; set RaspBee_SZ off
attr rollo_sz rl_excessBottom 0
attr rollo_sz rl_excessTop 0
attr rollo_sz rl_forceDrive 1
attr rollo_sz rl_reactionTime 1
attr rollo_sz rl_secondsDown 19
attr rollo_sz rl_secondsUp 18
attr rollo_sz rl_switchTime 2
attr rollo_sz rl_type HomeKit
attr rollo_sz room Home,HomeKit,Räume->Schlafzimmer
attr rollo_sz siriName Rollo Schlafzimmer
attr rollo_sz userReadings positionstate {if (ReadingsVal($NAME,"state","") eq "drive-up") {return "1"} \
elsif (ReadingsVal($NAME,"state","") eq "drive-down") {return "0"} \
else {return "2"}}
attr rollo_sz webCmd open:closed:stop

setstate modus_absent off
setstate modus_absent 2021-11-09 23:40:38 cmd 2.2
setstate modus_absent 2021-11-09 23:40:38 cmd_event set_off_cmd_2
setstate modus_absent 2021-11-09 23:40:38 cmd_nr 2
setstate modus_absent 2021-11-09 23:40:38 cmd_seqnr 2
setstate modus_absent 2021-11-09 23:40:38 state off

setstate rollo_sz open
setstate rollo_sz 2021-11-13 14:05:00 command open
setstate rollo_sz 2021-11-13 14:05:00 desired_pct 0
setstate rollo_sz 2021-11-13 14:05:00 drive-type modul
setstate rollo_sz 2021-11-13 14:05:00 last_drive drive-up
setstate rollo_sz 2021-11-13 14:05:19 pct 100
setstate rollo_sz 2021-11-13 14:05:19 positionstate 2
setstate rollo_sz 2021-11-13 14:05:19 state open

setstate timer_rollo_sz 2021-11-13 16:22:08
setstate timer_rollo_sz 2021-11-13 14:05:00 currValue open
setstate timer_rollo_sz 2021-11-12 20:20:08 disabled 0
setstate timer_rollo_sz 2021-11-13 14:05:00 nextUpdate 2021-11-13 16:22:08
setstate timer_rollo_sz 2021-11-13 14:05:00 nextValue closed
setstate timer_rollo_sz 2021-11-13 14:05:00 state open




:-\
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 13 November 2021, 14:14:34
Überrascht mich leider nicht wirklich, die Attributbehandlung war zwar nicht optimal, aber der fragliche Zweig wird jetzt einfach nur nicht ausgeführt...

Kannst du bitte mal (via global) mseclog kurzzeitig  aktivieren? Sonst geraten Zeilen manchmal etwas "durcheinander".
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 13 November 2021, 14:39:07
Sehr sehr gerne,

attr global mseclog 1
FHEM neu gestartet
Zusätzlich "0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open" eingebunden



2021.11.13 14:35:59.104 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.13 14:35:59.094 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.13 14:35:59.079 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>open
2021.11.13 14:35:59.078 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 14:35:59.072 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open
2021.11.13 14:35:59.071 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:59.070 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:59.069 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:35:59.068 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 14:35:59.068 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"14:35","14:36")}/1636810559 delay=0, nextDelay=60, nextRetry=1636810619
2021.11.13 14:35:59.012 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.13 14:35:59.012 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.13 14:35:59.008 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.13 14:35:59.008 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open
2021.11.13 14:35:59.008 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:59.007 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:59.005 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:35:59.004 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.13 14:35:59.003 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:59.002 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:59.002 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:35:59.001 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 14:35:59.001 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"14:35","14:36")}/1636810559 delay=-1, nextDelay=60, nextRetry=1636810619
2021.11.13 14:35:49.440 5: [timer_rollo_sz] setting  Timer: timer_rollo_sz_midnight 2021-11-14 00:00:05
2021.11.13 14:35:49.432 5: [timer_rollo_sz] setting  Timer: timer_rollo_sz_4 2021-11-13 14:35:59
2021.11.13 14:35:49.432 4: [timer_rollo_sz] setTimer - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open
2021.11.13 14:35:49.428 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:49.427 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:49.427 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:35:49.427 5: [timer_rollo_sz] setting  Timer: timer_rollo_sz_3 2021-11-13 16:22:08
2021.11.13 14:35:49.427 4: [timer_rollo_sz] setTimer - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed
2021.11.13 14:35:49.423 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:49.422 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:49.422 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 14:35:49.418 5: [timer_rollo_sz] result of condition: 1
2021.11.13 14:35:49.418 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:49.417 4: [timer_rollo_sz] condition: - Tage:0,6
2021.11.13 14:35:49.417 5: [timer_rollo_sz] result of condition:
2021.11.13 14:35:49.416 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(1,2,3,4,5) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 14:35:49.416 4: [timer_rollo_sz] condition: - Tage:1,2,3,4,5
2021.11.13 14:35:49.412 4: [timer_rollo_sz] no switch in the yesterdays because of the devices type(rollo_sz is not recognized as heating) - use attr switchInThePast
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 6: Samstag)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 5: Freitag)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 4: Donnerstag)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 3: Mittwoch)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 2: Dienstag)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 1: Montag)
2021.11.13 14:35:49.411 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 0: Sonntag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 6: Samstag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 5: Freitag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 4: Donnerstag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 3: Mittwoch)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 2: Dienstag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 1: Montag)
2021.11.13 14:35:49.375 4: [timer_rollo_sz] 10:03:00 open, 14:35:59 open, 16:22:08 closed,  (Profil 0: Sonntag)
2021.11.13 14:35:49.359 4: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open - accepted
2021.11.13 14:35:49.358 5: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"14:35","14:36")}|open  - trying to accept as a switchtime
2021.11.13 14:35:49.358 4: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed - accepted
2021.11.13 14:35:49.358 5: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed  - trying to accept as a switchtime
2021.11.13 14:35:49.358 4: [timer_rollo_sz] 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open - accepted
2021.11.13 14:35:49.357 5: [timer_rollo_sz] 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open  - trying to accept as a switchtime
2021.11.13 14:35:49.357 4: [timer_rollo_sz] 12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open - accepted
2021.11.13 14:35:49.357 5: [timer_rollo_sz] 12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open  - trying to accept as a switchtime
2021.11.13 14:35:49.356 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_3
2021.11.13 14:35:49.355 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_midnight


Ist das was du benötigst? Gerne stelle ich dir noch mehr zur Verfügung.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 13 November 2021, 16:55:22
Danke, das paßt soweit.
Aus irgendeinem Grund erzeugt der WDT nochmal einen Timer. Bin zwar noch nicht dahinter gekommen, warum (bzw. warum in dieser Konstellation), aber als Pflaster müßte es auch gehen, den Timer einfach wieder sicherheitshalber rauszuwerfen.

Anbei nochmal eine Fassung zu testen, bitte...
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 13 November 2021, 17:25:25
Hallo, ich habe zu danken. Leider immer noch das gleiche...

# $Id: 98_WeekdayTimer.pm 25110 2021-11-13 Test Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968



2021.11.13 17:11:00.034 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.13 17:11:00.034 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.13 17:11:00.031 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"17:11","17:12")}|closed
2021.11.13 17:11:00.031 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:11:00.030 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:11:00.030 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:11:00.030 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 17:11:00.030 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"17:11","17:12")}/1636819860 delay=0, nextDelay=60, nextRetry=1636819920
2021.11.13 17:11:00.007 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.13 17:11:00.007 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.13 17:11:00.005 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.13 17:11:00.004 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"17:11","17:12")}|closed
2021.11.13 17:11:00.004 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:11:00.004 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:11:00.003 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:11:00.003 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.13 17:11:00.002 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:11:00.001 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:11:00.001 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:11:00.001 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 17:11:00.000 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"17:11","17:12")}/1636819860 delay=-1, nextDelay=60, nextRetry=1636819920
2021.11.13 17:10:46.946 5: [timer_rollo_sz] setting  Timer: timer_rollo_sz_midnight 2021-11-14 00:00:05
2021.11.13 17:10:46.940 5: [timer_rollo_sz] setting  Timer: timer_rollo_sz_4 2021-11-13 17:11:00
2021.11.13 17:10:46.939 4: [timer_rollo_sz] setTimer - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"17:11","17:12")}|closed
2021.11.13 17:10:46.936 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:10:46.935 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:10:46.935 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:10:46.932 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:10:46.932 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:10:46.931 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:10:46.928 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:10:46.927 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:10:46.927 4: [timer_rollo_sz] condition: - Tage:0,6
2021.11.13 17:10:46.927 5: [timer_rollo_sz] result of condition:
2021.11.13 17:10:46.926 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(1,2,3,4,5) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:10:46.926 4: [timer_rollo_sz] condition: - Tage:1,2,3,4,5
2021.11.13 17:10:46.918 4: [timer_rollo_sz] no switch in the yesterdays because of the devices type(rollo_sz is not recognized as heating) - use attr switchInThePast
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 6: Samstag)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 5: Freitag)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 4: Donnerstag)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 3: Mittwoch)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 2: Dienstag)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 1: Montag)
2021.11.13 17:10:46.917 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 0: Sonntag)
2021.11.13 17:10:46.893 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 6: Samstag)
2021.11.13 17:10:46.893 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 5: Freitag)
2021.11.13 17:10:46.893 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 4: Donnerstag)
2021.11.13 17:10:46.892 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 3: Mittwoch)
2021.11.13 17:10:46.892 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 2: Dienstag)
2021.11.13 17:10:46.892 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 1: Montag)
2021.11.13 17:10:46.892 4: [timer_rollo_sz] 10:03:00 open, 16:22:08 closed, 17:11:00 closed,  (Profil 0: Sonntag)
2021.11.13 17:10:46.871 4: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"17:11","17:12")}|closed - accepted
2021.11.13 17:10:46.871 5: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"17:11","17:12")}|closed  - trying to accept as a switchtime
2021.11.13 17:10:46.871 4: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed - accepted
2021.11.13 17:10:46.871 5: [timer_rollo_sz] 0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed  - trying to accept as a switchtime
2021.11.13 17:10:46.871 4: [timer_rollo_sz] 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open - accepted
2021.11.13 17:10:46.871 5: [timer_rollo_sz] 06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open  - trying to accept as a switchtime
2021.11.13 17:10:46.871 4: [timer_rollo_sz] 12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open - accepted
2021.11.13 17:10:46.870 5: [timer_rollo_sz] 12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open  - trying to accept as a switchtime
2021.11.13 17:10:46.866 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_midnight


leider immer noch doppelt und in Zwischenlage gefahren...

Ich hole jetzt zusätzlich mal in den Debug das Modul ROLLO mit dem Device rollo_sz, damit man auch dort die kommende Befehle sieht

Befehl:
0123456|{sunset_abs('REAL',-1500,"17:20","17:21")}|closed


2021.11.13 17:20:19.011 4: ROLLO (rollo_sz) updating state to closed
2021.11.13 17:20:19.011 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.13 17:20:19.011 4: ROLLO (rollo_sz) stops from drive-down at pct 100
2021.11.13 17:20:19.010 5: ROLLO (rollo_sz) >> Stop
2021.11.13 17:20:19.000 5: ROLLO (rollo_sz) >> Timer
2021.11.13 17:19:59.071 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.13 17:19:59.061 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.13 17:19:59.050 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.13 17:19:59.050 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.13 17:19:59.050 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 0 to 100
2021.11.13 17:19:59.050 4: ROLLO (rollo_sz) pct: 0 -> 100 / direction: down
2021.11.13 17:19:59.050 4: ROLLO (rollo_sz) drive from 0 to 100. command: closed. state: drive-down
2021.11.13 17:19:59.049 5: ROLLO (rollo_sz) >> Start
2021.11.13 17:19:59.034 4: ROLLO (rollo_sz) calculated pct is 100; rest drivetime is 19
2021.11.13 17:19:59.034 5: ROLLO (rollo_sz) >> calculatepct
2021.11.13 17:19:59.034 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.13 17:19:59.034 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.13 17:19:59.034 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.13 17:19:59.033 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.13 17:19:59.033 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.13 17:19:59.031 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"17:20","17:21")}|closed
2021.11.13 17:19:59.031 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:19:59.030 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:19:59.030 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:19:59.030 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 17:19:59.029 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"17:20","17:21")}/1636820399 delay=0, nextDelay=60, nextRetry=1636820459
2021.11.13 17:19:59.025 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.13 17:19:59.017 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.13 17:19:59.012 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=100,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.13 17:19:59.012 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.13 17:19:59.012 4: ROLLO (rollo_sz): forceDrive set, driving down
2021.11.13 17:19:59.012 4: ROLLO (rollo_sz) already at position!
2021.11.13 17:19:59.012 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 100 to 100
2021.11.13 17:19:59.011 4: ROLLO (rollo_sz) pct: 100 -> 100 / direction: down
2021.11.13 17:19:59.011 4: ROLLO (rollo_sz) drive from 100 to 100. command: closed. state: closed
2021.11.13 17:19:59.011 5: ROLLO (rollo_sz) >> Start
2021.11.13 17:19:59.006 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.13 17:19:59.006 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.13 17:19:59.006 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.13 17:19:59.006 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.13 17:19:59.005 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.13 17:19:59.003 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.13 17:19:59.003 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"17:20","17:21")}|closed
2021.11.13 17:19:59.003 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:19:59.002 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:19:59.002 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:19:59.001 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.13 17:19:59.001 5: [timer_rollo_sz] result of condition: 1
2021.11.13 17:19:59.001 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.13 17:19:59.001 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.13 17:19:59.000 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.13 17:19:59.000 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"17:20","17:21")}/1636820399 delay=-1, nextDelay=60, nextRetry=1636820459
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 14 November 2021, 09:11:32
Da werde ich vermutlich etwas länger hirnen müssen, sorry erst mal.
Aus irgendeinem mir nach wie vor unklaren Grund wird der Timer-reset ausgeführt, obwohl das keinen Sinn macht und eigentlich auch die Bedingungen nicht gegeben sind.

Hast du zufällig noch die Info, von welcher Version von WDT du kamst, in der das noch funktioniert hat?
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 14 November 2021, 10:20:38
Hallo Beta-User,
ich habe noch eine Idee! - Ich habe bei meinen Eltern ein Raspberry mit Fhem laufen in einer früheren Version. Soeben habe ich folgende Daten dort importiert: - (Sofern du dir auch noch eine Umgebung damit aufbauen willst)


defmod timer_rollo_sz WeekdayTimer rollo_sz\
12345|{sunrise_abs('REAL',+180,"10:03","10:30")}|open\
06|{sunrise_abs('REAL',+180,"10:03","10:30")}|open \
0123456|{sunset_abs('REAL',-1500,"16:00","22:00")}|closed\
0123456|{sunset_abs('REAL',-1500,"10:15","10:16")}|closed
attr timer_rollo_sz alias Rollo Schlafzimmer Timer
attr timer_rollo_sz cmdIcon enable:general_an disable:general_aus
attr timer_rollo_sz commandTemplate set $NAME $EVENT
attr timer_rollo_sz group Zeitschaltungen
attr timer_rollo_sz icon clock
attr timer_rollo_sz room Home
attr timer_rollo_sz stateFormat nextUpdate
attr timer_rollo_sz verbose 5
attr timer_rollo_sz webCmd enable:disable

defmod rollo_sz ROLLO
attr rollo_sz alexaName Rollo Schlafzimmer
attr rollo_sz alias Rollo Schlafzimmer
attr rollo_sz cmdIcon closed:control_centr_arrow_down stop:audio_stop open:control_centr_arrow_up
attr rollo_sz devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100:open half:fts_shutter_50:closed drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop pct-100:fts_shutter_10:open pct-90:fts_shutter_10:closed pct-80:fts_shutter_20:closed pct-70:fts_shutter_30:closed pct-60:fts_shutter_40:closed pct-50:fts_shutter_50:closed pct-40:fts_shutter_60:open pct-30:fts_shutter_70:open pct-20:fts_shutter_80:open pct-10:fts_shutter_90:open pct-0:fts_shutter_100:closed
attr rollo_sz genericDeviceType blind
attr rollo_sz group Rolladen
attr rollo_sz homebridgeMapping PositionState=positionstate
attr rollo_sz icon fts_shutter_1w
attr rollo_sz rl_autoStop 1
attr rollo_sz rl_commandDown set mqtt_rollo_sz down
attr rollo_sz rl_commandStop set mqtt_rollo_sz stop
attr rollo_sz rl_commandUp set mqtt_rollo_sz up
attr rollo_sz rl_commandUp2 sleep 10;; set RaspBee_SZ off
attr rollo_sz rl_excessBottom 0
attr rollo_sz rl_excessTop 0
attr rollo_sz rl_forceDrive 1
attr rollo_sz rl_reactionTime 1
attr rollo_sz rl_secondsDown 19
attr rollo_sz rl_secondsUp 18
attr rollo_sz rl_switchTime 2
attr rollo_sz rl_type HomeKit
attr rollo_sz room Home,HomeKit,Räume->Schlafzimmer
attr rollo_sz siriName Rollo Schlafzimmer
attr rollo_sz userReadings positionstate {if (ReadingsVal($NAME,"state","") eq "drive-up") {return "1"} \
elsif (ReadingsVal($NAME,"state","") eq "drive-down") {return "0"} \
else {return "2"}}
attr rollo_sz verbose 5
attr rollo_sz webCmd open:closed:stop

defmod rollo_notify notify rollo_kz:pct:.*|rollo_sz:pct:.*|rollo_wz:pct:.*|rollo_wz_b:pct:.*|rollo_k:pct:.* {\
if ($EVTPART1 eq "100" )\
       {my $DNAME = AttrVal($NAME,"alias",$NAME);; Log 1, "$DNAME wurde geöffnet."}\
if ($EVTPART1 eq "0" )\
       {my $DNAME = AttrVal($NAME,"alias",$NAME);; Log 1, "$DNAME wurde geschlossen."}\
}

defmod mqtt_rollo_sz MQTT2_DEVICE
attr mqtt_rollo_sz group Rolladen
attr mqtt_rollo_sz readingList schellenberg/device/value/14700:.* cover_state
attr mqtt_rollo_sz setList up:noArg    schellenberg/device/value/update/14700 1\
stop:noArg     schellenberg/device/value/update/14700 0\
down:noArg schellenberg/device/value/update/14700 2
attr mqtt_rollo_sz verbose 5



Meine Testumgebung: - Version WeekdayTimer
File               Rev   Last Change

98_WeekdayTimer.pm 24826 2021-08-04 16:51:56Z Beta-User

f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 24939 2021-09-09 17:10:37Z rudolfkoenig/code]


version Allgemein
Latest Revision: 24940

File               Rev   Last Change

fhem.pl            24810 2021-07-29 21:25:03Z rudolfkoenig
39_alexa.pm        23820 2021-02-24 19:29:15Z justme1968
98_autocreate.pm   23727 2021-02-12 20:31:37Z rudolfkoenig
91_eventTypes.pm   23471 2021-01-04 19:24:21Z rudolfkoenig
01_FHEMWEB.pm      24822 2021-08-02 14:23:06Z rudolfkoenig
92_FileLog.pm      24849 2021-08-14 09:49:09Z rudolfkoenig
98_help.pm         24900 2021-08-31 01:30:54Z betateilchen
88_HMCCU.pm        21747 2020-04-22 13:42:49Z zap
88_HMCCUDEV.pm     21452 2020-03-19 13:16:06Z zap
98_JsonList2.pm    23727 2021-02-12 20:31:37Z rudolfkoenig
82_LGTV_WebOS.pm   22008 2020-05-22 19:47:25Z CoolTux
10_MQTT2_DEVICE.pm 24861 2021-08-20 09:04:35Z rudolfkoenig
91_notify.pm       24129 2021-04-02 16:56:29Z rudolfkoenig
44_ROLLO.pm        18436 2019-01-27 20:46:04Z KernSani
99_SUNRISE_EL.pm   24249 2021-04-14 05:45:49Z rudolfkoenig
99_Utils.pm        24128 2021-04-02 16:29:11Z rudolfkoenig
98_version.pm      15140 2017-09-26 09:20:09Z markusbloch
98_WeekdayTimer.pm 24826 2021-08-04 16:51:56Z Beta-User

AttrTemplate.pm    22985 2020-10-18 09:04:19Z rudolfkoenig
Blocking.pm        23268 2020-12-01 11:48:48Z rudolfkoenig
CoProcess.pm       24043 2021-03-21 16:21:46Z justme1968
DevIo.pm           24800 2021-07-26 11:42:33Z rudolfkoenig
GPUtils.pm         19666 2019-06-20 11:17:29Z CoolTux
HMCCUConf.pm       20134 2019-09-08 12:19:00Z zap
HttpUtils.pm       24750 2021-07-15 06:22:47Z rudolfkoenig
Meta.pm            21008 2020-01-18 10:22:10Z loredo
RTypes.pm          10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm   23300 2020-12-06 11:36:24Z rudolfkoenig
SubProcess.pm      14334 2017-05-20 23:11:06Z neubert
TcpServerUtils.pm  23472 2021-01-04 19:56:38Z rudolfkoenig

f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 24939 2021-09-09 17:10:37Z rudolfkoenig



In der Testumgebung funktioniert es. ;D ;D ;D Dies ist auch älter. Welche Daten benötigst du?
2021.11.14 10:16:20 4: ROLLO (rollo_sz) updating state to closed
2021.11.14 10:16:20 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.14 10:16:20 4: ROLLO (rollo_sz) stops from drive-down at pct 100
2021.11.14 10:16:20 5: ROLLO (rollo_sz) >> Stop
2021.11.14 10:16:20 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.14 10:16:20 5: ROLLO (rollo_sz) >> Timer
2021.11.14 10:16:00 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.14 10:16:00 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.14 10:16:00 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.14 10:16:00 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.14 10:16:00 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.14 10:16:00 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 0 to 100
2021.11.14 10:16:00 4: ROLLO (rollo_sz) pct: 0 -> 100 / direction: down
2021.11.14 10:16:00 4: ROLLO (rollo_sz) drive from 0 to 100. command: closed. state: open
2021.11.14 10:16:00 5: ROLLO (rollo_sz) >> Start
2021.11.14 10:16:00 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.14 10:16:00 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.14 10:16:00 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.14 10:16:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.14 10:16:00 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.14 10:16:00 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.14 10:16:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"10:15","10:16")}|closed
2021.11.14 10:16:00 5: [timer_rollo_sz] result of condition: 1
2021.11.14 10:16:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 10:16:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 10:16:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.14 10:16:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.14 10:16:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.14 10:16:00 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:15","10:16")}/1636881360 delay=0, nextDelay=60, nextRetry=1636881420


-------------

In meiner realen Umgebung: - Funktioniert nicht  :-[ - Version WeekdayTimer

98_WeekdayTimer.pm 25110 2021-10-24 06:11:37Z Beta-User

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


2021.11.14 10:26:20.008 4: ROLLO (rollo_sz) updating state to closed
2021.11.14 10:26:20.008 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.14 10:26:20.008 4: ROLLO (rollo_sz) stops from drive-down at pct 100
2021.11.14 10:26:20.007 5: ROLLO (rollo_sz) >> Stop
2021.11.14 10:26:20.003 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.14 10:26:20.000 5: ROLLO (rollo_sz) >> Timer
2021.11.14 10:26:00.100 4: MQTT2_DEVICE_Parse: mqtt_rollo_sz schellenberg/device/value/14700 => cover_state
2021.11.14 10:26:00.075 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.14 10:26:00.070 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.14 10:26:00.064 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.14 10:26:00.058 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=100,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.14 10:26:00.058 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.14 10:26:00.058 4: ROLLO (rollo_sz): forceDrive set, driving down
2021.11.14 10:26:00.058 4: ROLLO (rollo_sz) already at position!
2021.11.14 10:26:00.058 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 100 to 100
2021.11.14 10:26:00.058 4: ROLLO (rollo_sz) pct: 100 -> 100 / direction: down
2021.11.14 10:26:00.057 4: ROLLO (rollo_sz) drive from 100 to 100. command: closed. state: drive-down
2021.11.14 10:26:00.057 5: ROLLO (rollo_sz) >> Start
2021.11.14 10:26:00.048 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.14 10:26:00.042 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.14 10:26:00.040 4: ROLLO (rollo_sz) calculated pct is 0; rest drivetime is 19
2021.11.14 10:26:00.040 5: ROLLO (rollo_sz) >> calculatepct
2021.11.14 10:26:00.040 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.14 10:26:00.040 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.14 10:26:00.040 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.14 10:26:00.039 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.14 10:26:00.039 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.14 10:26:00.037 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"10:25","10:26")}|closed
2021.11.14 10:26:00.037 5: [timer_rollo_sz] result of condition: 1
2021.11.14 10:26:00.036 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 10:26:00.036 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 10:26:00.036 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.14 10:26:00.035 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.14 10:26:00.035 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.14 10:26:00.035 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:25","10:26")}/1636881960 delay=0, nextDelay=60, nextRetry=1636882020
2021.11.14 10:26:00.032 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.14 10:26:00.028 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.14 10:26:00.022 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.14 10:26:00.012 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.14 10:26:00.012 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.14 10:26:00.012 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 0 to 100
2021.11.14 10:26:00.012 4: ROLLO (rollo_sz) pct: 0 -> 100 / direction: down
2021.11.14 10:26:00.011 4: ROLLO (rollo_sz) drive from 0 to 100. command: closed. state: open
2021.11.14 10:26:00.011 5: ROLLO (rollo_sz) >> Start
2021.11.14 10:26:00.007 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.14 10:26:00.007 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.14 10:26:00.006 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.14 10:26:00.006 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.14 10:26:00.006 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.14 10:26:00.003 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.14 10:26:00.003 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"10:25","10:26")}|closed
2021.11.14 10:26:00.003 5: [timer_rollo_sz] result of condition: 1
2021.11.14 10:26:00.003 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 10:26:00.002 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 10:26:00.002 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.14 10:26:00.002 5: [timer_rollo_sz] result of condition: 1
2021.11.14 10:26:00.001 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 10:26:00.001 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 10:26:00.001 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.14 10:26:00.001 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.14 10:26:00.000 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.14 10:26:00.000 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:25","10:26")}/1636881960 delay=-1, nextDelay=60, nextRetry=1636882020



Ich spiele mal eine veraltete Version von WeekdayTimer ein zur Probe.

Anbei hänge ich die veraltete Version (24826) an
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 14 November 2021, 11:02:37
Das glaube ich jetzt nicht... - Da habe ich schon die alte Version laufen und es klappt trotzdem nicht. Es liegt also gar nicht am Modul...
Habe jetzt die Version
File               Rev   Last Change

98_WeekdayTimer.pm 24826 2021-08-04 16:51:56Z Beta-User

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


Was mich wundert, warum hier in der Version doif.js und fhemweb_readingsGroup.js dabei ist und bei der Testumgebung nicht?
Kann es an den anderen zwei Modulen hängen?

Es wurden bei
0123456|{sunset_abs('REAL',-1500,"10:59","11:00")}|open

zweimal
2021.11.14 11:00:00.085 3: MQTT2_DEVICE set mqtt_rollo_sz up
2021.11.14 11:00:00.031 3: MQTT2_DEVICE set mqtt_rollo_sz up

ausgeführt...  :-[

2021.11.14 11:00:19.022 4: ROLLO (rollo_sz) updating state to open
2021.11.14 11:00:19.022 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.14 11:00:19.022 4: ROLLO (rollo_sz) stops from drive-up at pct 0
2021.11.14 11:00:19.020 5: ROLLO (rollo_sz) >> Stop
2021.11.14 11:00:19.003 5: ROLLO (rollo_sz) >> Timer
2021.11.14 11:00:00.116 4: MQTT2_DEVICE_Parse: mqtt_rollo_sz schellenberg/device/value/14700 => cover_state
2021.11.14 11:00:00.090 4: ROLLO (rollo_sz) stop in 19 seconds.
2021.11.14 11:00:00.085 3: MQTT2_DEVICE set mqtt_rollo_sz up
2021.11.14 11:00:00.079 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz up; sleep 10; set RaspBee_SZ off;
2021.11.14 11:00:00.072 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=0,direction=up,time=18,steps=100,drivetime=19
2021.11.14 11:00:00.071 5: ROLLO (rollo_sz) netto drive time = 18
2021.11.14 11:00:00.071 4: ROLLO (rollo_sz): forceDrive set, driving up
2021.11.14 11:00:00.071 4: ROLLO (rollo_sz) already at position!
2021.11.14 11:00:00.071 5: ROLLO (rollo_sz) >> calculateDriveTime | going up: from 0 to 0
2021.11.14 11:00:00.071 4: ROLLO (rollo_sz) pct: 0 -> 0 / direction: up
2021.11.14 11:00:00.070 4: ROLLO (rollo_sz) drive from 0 to 0. command: open. state: drive-up
2021.11.14 11:00:00.070 5: ROLLO (rollo_sz) >> Start
2021.11.14 11:00:00.046 4: ROLLO (rollo_sz) calculated pct is 100; rest drivetime is 18
2021.11.14 11:00:00.046 5: ROLLO (rollo_sz) >> calculatepct
2021.11.14 11:00:00.045 5: ROLLO (rollo_sz) DesiredPos now 0, open
2021.11.14 11:00:00.045 5: ROLLO (rollo_sz) DesiredPos set to open, ()
2021.11.14 11:00:00.045 5: ROLLO (rollo_sz) >> Set (open,)
2021.11.14 11:00:00.045 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.14 11:00:00.045 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.14 11:00:00.042 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"10:59","11:00")}|open
2021.11.14 11:00:00.042 5: [timer_rollo_sz] result of condition: 1
2021.11.14 11:00:00.042 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 11:00:00.042 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 11:00:00.041 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.14 11:00:00.041 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.14 11:00:00.041 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.14 11:00:00.041 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:59","11:00")}/1636884000 delay=0, nextDelay=60, nextRetry=1636884060
2021.11.14 11:00:00.036 4: ROLLO (rollo_sz) stop in 19 seconds.
2021.11.14 11:00:00.031 3: MQTT2_DEVICE set mqtt_rollo_sz up
2021.11.14 11:00:00.025 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz up; sleep 10; set RaspBee_SZ off;
2021.11.14 11:00:00.018 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=100,newpos=0,direction=up,time=18,steps=100,drivetime=19
2021.11.14 11:00:00.018 5: ROLLO (rollo_sz) netto drive time = 18
2021.11.14 11:00:00.018 5: ROLLO (rollo_sz) >> calculateDriveTime | going up: from 100 to 0
2021.11.14 11:00:00.017 4: ROLLO (rollo_sz) pct: 100 -> 0 / direction: up
2021.11.14 11:00:00.017 4: ROLLO (rollo_sz) drive from 100 to 0. command: open. state: closed
2021.11.14 11:00:00.017 5: ROLLO (rollo_sz) >> Start
2021.11.14 11:00:00.010 5: ROLLO (rollo_sz) DesiredPos now 0, open
2021.11.14 11:00:00.010 5: ROLLO (rollo_sz) DesiredPos set to open, ()
2021.11.14 11:00:00.010 5: ROLLO (rollo_sz) >> Set (open,)
2021.11.14 11:00:00.010 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>open
2021.11.14 11:00:00.009 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.14 11:00:00.007 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.14 11:00:00.007 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"10:59","11:00")}|open
2021.11.14 11:00:00.007 5: [timer_rollo_sz] result of condition: 1
2021.11.14 11:00:00.006 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 11:00:00.006 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 11:00:00.006 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.14 11:00:00.005 5: [timer_rollo_sz] result of condition: 1
2021.11.14 11:00:00.005 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.14 11:00:00.005 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.14 11:00:00.004 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.14 11:00:00.004 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.14 11:00:00.004 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.14 11:00:00.003 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:59","11:00")}/1636884000 delay=-1, nextDelay=60, nextRetry=1636884060


Ich bin echt ratlos... -
Raspberry 4 - neu aufgesetzt mit
Raspberry Pi OS with desktop and recommended software - Release date: October 30th 2021 - Kernel version: 5.10
Danach Language auf deutsch und update - dist-upgrade ausgeführt.
Danach nach https://debian.fhem.de vorgegangen und fhem.cfg importiert....

Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 14 November 2021, 14:46:35
Es liegt schon am Modul, aber man sieht die Auswirkungen dieser Konstellation eben nur, wenn man ein "spezielles Device" hat, das auf doppelte Anweisungen "unpassend" reagiert.

Das Codeing ist eh' insgesamt etwas speziell, vermutlich werde ich das nochmal an den betreffenden Stellen komplett überarbeiten "dürfen". Es beruhigt mich aber, dass das anscheinend nichts ist, was ich bei den letzten Überarbeitungen versehentlich kaputt gemacht habe... (Nach sowas schaue ich in der Regel als erstes.)
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 14 November 2021, 14:50:22
Aber ich bin wirklich etwas verunsichert, wo ich ansetzen soll. Aktuelles FHEM, aktuelles BS.
Wo kann ich da jetzt selber ansetzen? Also du siehst schon den Fehler? Ich sehe nicht, wo ich selber noch - auch rein persönlich für die Rollos, ansetzen kann. Womöglich ganz auf Weekdaytimer verzichten?

Sorry bin ratlos. ;)
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 14 November 2021, 15:00:29
Falls du warten kannst: ich werde das wohl fixen können, es wird aber vermutlich ein paar Tage dauern, weil der Code an einer zentralen Stelle umstrukturiert werden muss.
Tester sind dann willkommen :) .
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 14 November 2021, 15:49:29
Okay, werde ich machen und warten. :-)
Vielen Dank.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 15 November 2021, 16:31:39
So, dann hier mal eine erste Iteration.
Damit konnte ich zumindest dieses seltsame delay nicht reproduzieren:
Zitat2021.11.14 11:00:00.003 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"10:59","11:00")}/1636884000 delay=-1, nextDelay=60, nextRetry=1636884060
Die Codestruktur gefällt mir jetzt insgesamt besser, allerdings besteht bei solchen größeren Eingriffen immer das Risiko, dass was in die Hose geht... Test im Hauptsystem steht auch noch aus, auf dem Testsystem hatte ich jedenfalls bis dato keine Crashes => Testen auf eigene Gefahr.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 15 November 2021, 20:59:13
ok, auf gehts:

# $Id: 98_WeekdayTimer.pm 25110 2021-11-15 restructured Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


2021.11.15 20:56:20.009 4: ROLLO (rollo_sz) updating state to closed
2021.11.15 20:56:20.009 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.15 20:56:20.009 4: ROLLO (rollo_sz) stops from drive-down at pct 100
2021.11.15 20:56:20.009 5: ROLLO (rollo_sz) >> Stop
2021.11.15 20:56:20.000 5: ROLLO (rollo_sz) >> Timer
2021.11.15 20:56:00.141 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>closed,%NAME=>rollo_sz
2021.11.15 20:56:00.140 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.15 20:56:00.135 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.15 20:56:00.126 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.15 20:56:00.114 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.15 20:56:00.113 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.15 20:56:00.113 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 0 to 100
2021.11.15 20:56:00.112 4: ROLLO (rollo_sz) pct: 0 -> 100 / direction: down
2021.11.15 20:56:00.112 4: ROLLO (rollo_sz) drive from 0 to 100. command: closed. state: drive-down
2021.11.15 20:56:00.112 5: ROLLO (rollo_sz) >> Start
2021.11.15 20:56:00.074 4: ROLLO (rollo_sz) calculated pct is 100; rest drivetime is 19
2021.11.15 20:56:00.074 5: ROLLO (rollo_sz) >> calculatepct
2021.11.15 20:56:00.074 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.15 20:56:00.074 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.15 20:56:00.074 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.15 20:56:00.073 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.15 20:56:00.069 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"20:56","20:57")}|closed
2021.11.15 20:56:00.069 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.15 20:56:00.068 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"20:56","20:57")}/1637006160 delay=0, nextDelay=60, nextRetry=1637006220
2021.11.15 20:56:00.062 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.15 20:56:00.062 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.15 20:56:00.055 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.15 20:56:00.040 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.15 20:56:00.027 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=100,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.15 20:56:00.027 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.15 20:56:00.027 4: ROLLO (rollo_sz): forceDrive set, driving down
2021.11.15 20:56:00.027 4: ROLLO (rollo_sz) already at position!
2021.11.15 20:56:00.027 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 100 to 100
2021.11.15 20:56:00.026 4: ROLLO (rollo_sz) pct: 100 -> 100 / direction: down
2021.11.15 20:56:00.026 4: ROLLO (rollo_sz) drive from 100 to 100. command: closed. state: closed
2021.11.15 20:56:00.025 5: ROLLO (rollo_sz) >> Start
2021.11.15 20:56:00.012 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.15 20:56:00.012 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.15 20:56:00.012 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.15 20:56:00.011 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.15 20:56:00.005 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.15 20:56:00.005 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"20:56","20:57")}|closed
2021.11.15 20:56:00.004 5: [timer_rollo_sz] resetting Timer: timer_rollo_sz_4
2021.11.15 20:56:00.003 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.15 20:56:00.001 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"20:56","20:57")}/1637006160 delay=-1, nextDelay=60, nextRetry=1637006220


2021.11.15 20:56:00.135 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.15 20:56:00.055 3: MQTT2_DEVICE set mqtt_rollo_sz down

und die letzte Zeile beinhaltet deine delay=-1 darin. Kann es wirklich nicht am aktuellen Raspbian liegen?
Ich update jetzt das System bei meinen Eltern auf die aktuellste FHEM Version. Darauf läuft das vorherige Raspbian. Ansonsten ist vieles identisch, natürlich nur andere Module/Aufgaben im Einsatz. Ich bastle dort die gleichen Befehle wie hier ein. Ich poste daraufhin die Werte vom Raspbian Bulleye und dem Raspbian Buster.

Gruß Matthias
:-[
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 16 November 2021, 09:41:20
Raspberry Buster - Da funktioniert es - alles aktuell.


File               Rev   Last Change

98_WeekdayTimer.pm 25110 2021-10-24 06:11:37Z Beta-User

f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig


Version

Latest Revision: 25232

File               Rev   Last Change

fhem.pl            25197 2021-11-07 14:07:23Z rudolfkoenig
39_alexa.pm        23820 2021-02-24 19:29:15Z justme1968
98_autocreate.pm   23727 2021-02-12 20:31:37Z rudolfkoenig
91_eventTypes.pm   23471 2021-01-04 19:24:21Z rudolfkoenig
01_FHEMWEB.pm      25189 2021-11-06 10:25:54Z rudolfkoenig
92_FileLog.pm      24967 2021-09-13 16:09:40Z rudolfkoenig
88_HMCCU.pm        25221 2021-11-13 17:37:14Z zap
88_HMCCUDEV.pm     25221 2021-11-13 17:37:14Z zap
88_HMCCURPCPROC.pm 25221 2021-11-13 17:37:14Z zap
98_JsonList2.pm    23727 2021-02-12 20:31:37Z rudolfkoenig
82_LGTV_WebOS.pm   22008 2020-05-22 19:47:25Z CoolTux
10_MQTT2_DEVICE.pm 24861 2021-08-20 09:04:35Z rudolfkoenig
91_notify.pm       25231 2021-11-15 17:34:18Z rudolfkoenig
44_ROLLO.pm        18436 2019-01-27 20:46:04Z KernSani
99_SUNRISE_EL.pm   24249 2021-04-14 05:45:49Z rudolfkoenig
99_Utils.pm        24128 2021-04-02 16:29:11Z rudolfkoenig
98_version.pm      15140 2017-09-26 09:20:09Z markusbloch
98_WeekdayTimer.pm 25110 2021-10-24 06:11:37Z Beta-User

AttrTemplate.pm    25155 2021-10-30 12:48:21Z rudolfkoenig
Blocking.pm        23268 2020-12-01 11:48:48Z rudolfkoenig
CoProcess.pm       24043 2021-03-21 16:21:46Z justme1968
DevIo.pm           24800 2021-07-26 11:42:33Z rudolfkoenig
GPUtils.pm         19666 2019-06-20 11:17:29Z CoolTux
HMCCUConf.pm       25212 2021-11-10 17:51:58Z zap
HttpUtils.pm       25103 2021-10-22 12:00:39Z rudolfkoenig
Meta.pm            21008 2020-01-18 10:22:10Z loredo
RTypes.pm          10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm   23300 2020-12-06 11:36:24Z rudolfkoenig
TcpServerUtils.pm  23472 2021-01-04 19:56:38Z rudolfkoenig

f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig


[2021.11.16 09:28:20 4: ROLLO (rollo_sz) updating state to closed
2021.11.16 09:28:20 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.16 09:28:20 4: ROLLO (rollo_sz) stops from drive-down at pct 100
2021.11.16 09:28:20 5: ROLLO (rollo_sz) >> Stop
2021.11.16 09:28:20 1: Rollo Schlafzimmer wurde geschlossen.
2021.11.16 09:28:20 5: ROLLO (rollo_sz) >> Timer
2021.11.16 09:28:00 4: ROLLO (rollo_sz) stop in 20 seconds.
2021.11.16 09:28:00 3: MQTT2_DEVICE set mqtt_rollo_sz down
2021.11.16 09:28:00 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz down; ;
2021.11.16 09:28:00 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=100,newpos=100,direction=down,time=19,steps=100,drivetime=20
2021.11.16 09:28:00 5: ROLLO (rollo_sz) netto drive time = 19
2021.11.16 09:28:00 4: ROLLO (rollo_sz): forceDrive set, driving down
2021.11.16 09:28:00 4: ROLLO (rollo_sz) already at position!
2021.11.16 09:28:00 5: ROLLO (rollo_sz) >> calculateDriveTime | going down: from 100 to 100
2021.11.16 09:28:00 4: ROLLO (rollo_sz) pct: 100 -> 100 / direction: down
2021.11.16 09:28:00 4: ROLLO (rollo_sz) drive from 100 to 100. command: closed. state: closed
2021.11.16 09:28:00 5: ROLLO (rollo_sz) >> Start
2021.11.16 09:28:00 5: ROLLO (rollo_sz) DesiredPos now 100, closed
2021.11.16 09:28:00 5: ROLLO (rollo_sz) DesiredPos set to closed, ()
2021.11.16 09:28:00 5: ROLLO (rollo_sz) >> Set (closed,)
2021.11.16 09:28:00 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %NAME=>rollo_sz,%EVENT=>closed
2021.11.16 09:28:00 4: [timer_rollo_sz] aktParam: newParam:closed - is not disabled
2021.11.16 09:28:00 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.16 09:28:00 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"09:27","09:28")}|closed
2021.11.16 09:28:00 5: [timer_rollo_sz] result of condition: 1
2021.11.16 09:28:00 5: [timer_rollo_sz] condition: { my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6) ;;;; ( 1 && (defined $days->{$wday})) }
2021.11.16 09:28:00 4: [timer_rollo_sz] condition: - Tage:0,1,2,3,4,5,6
2021.11.16 09:28:00 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.16 09:28:00 4: [timer_rollo_sz] result of delayedExecutionCond: 0
2021.11.16 09:28:00 4: [timer_rollo_sz] delayedExecutionCond:0
2021.11.16 09:28:00 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"09:27","09:28")}/1637051280 delay=0, nextDelay=60, nextRetry=1637051340
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 16 November 2021, 10:19:47
Hmm, strange...

Hatte es auf Strawberryperl 5.32.1 getestet, und da verhält es sich wie dein Buster (5.28.1). Das komische Verhalten scheint daran zu liegen, dass der Aufruf des "mach jetzt den Check, ob geschaltet werden kann" _zu früh_ erfolgt, delay=-1" ist das Ergebnis von "my $delay = int(time) - $epoch;" wobei $epoch dem Wert entspricht, der für das Setzen des InternalTimer mal verwendet wurde.
Kurz gesagt: eigentlich dürfte es diesen Fall nicht geben...
Ich hatte eben aber auch den Fall, dass der Timer auf (vermutlich) "eine Sekunde zu früh" gesetzt wurde, also (im Profil) "09:22:59 open" für '12345|{sunrise_abs('REAL',+180,"09:23","10:30")}|open', was auch etwas seltsam ist.

Na ja, jedenfalls habe ich jetzt mal noch eine Ausnahme in die Prüfung des Timer-Resets reingeknödelt, von der ich hoffe, dass sie nebenwirkungsfrei ist.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 16 November 2021, 13:17:03
Hallo,
vielen Dank weiterhin für die Mithilfe.

Noch ein paar Daten:
Raspberry mit raspbian Bullseye:

apt show perl
Package: perl
Version: 5.32.1-4+deb11u2

apt show fhem
Package: fhem
Version: 6.0.24833
Status: install ok installed




Raspberry mit raspbian Buster:

apt show perl
Package: perl
Version: 5.28.1-6

apt show fhem
Package: fhem
Version: 6.1.25205
Status: install ok installed


Also Betriebssysteme sind anders, aber auch Perl und FHEM?

---

Soeben deine geänderte WeekdayTimer eingebaut:
File               Rev   Last Change

# $Id: 98_WeekdayTimer.pm 25110 2021-11-16 restructured Beta-User $

doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     24575 2021-06-03 09:52:42Z rudolfkoenig
fhemweb.js                 25022 2021-09-27 07:11:18Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


Ergebnis:

021.11.16 13:10:18.014 4: ROLLO (rollo_sz) updating state to open
2021.11.16 13:10:18.014 4: ROLLO (rollo_sz) drives to end pct and autostop is enabled. No stop command executed
2021.11.16 13:10:18.014 4: ROLLO (rollo_sz) stops from drive-up at pct 0
2021.11.16 13:10:18.013 5: ROLLO (rollo_sz) >> Stop
2021.11.16 13:10:18.006 1: Rollo Schlafzimmer wurde geöffnet.
2021.11.16 13:10:18.000 5: ROLLO (rollo_sz) >> Timer
2021.11.16 13:09:59.035 4: [timer_rollo_sz] command: 'set $NAME $EVENT' executed with %EVENT=>open,%NAME=>rollo_sz
2021.11.16 13:09:59.035 4: ROLLO (rollo_sz) stop in 19 seconds.
2021.11.16 13:09:59.029 3: MQTT2_DEVICE set mqtt_rollo_sz up
2021.11.16 13:09:59.022 4: ROLLO (rollo_sz) execute following commands: set mqtt_rollo_sz up; sleep 10; set RaspBee_SZ off;
2021.11.16 13:09:59.012 4: ROLLO (rollo_sz) calculateDriveTime: oldpos=0,newpos=0,direction=up,time=18,steps=100,drivetime=19
2021.11.16 13:09:59.012 5: ROLLO (rollo_sz) netto drive time = 18
2021.11.16 13:09:59.012 4: ROLLO (rollo_sz): forceDrive set, driving up
2021.11.16 13:09:59.012 4: ROLLO (rollo_sz) already at position!
2021.11.16 13:09:59.012 5: ROLLO (rollo_sz) >> calculateDriveTime | going up: from 0 to 0
2021.11.16 13:09:59.011 4: ROLLO (rollo_sz) pct: 0 -> 0 / direction: up
2021.11.16 13:09:59.011 4: ROLLO (rollo_sz) drive from 0 to 0. command: open. state: open
2021.11.16 13:09:59.011 5: ROLLO (rollo_sz) >> Start
2021.11.16 13:09:59.005 5: ROLLO (rollo_sz) DesiredPos now 0, open
2021.11.16 13:09:59.005 5: ROLLO (rollo_sz) DesiredPos set to open, ()
2021.11.16 13:09:59.005 5: ROLLO (rollo_sz) >> Set (open,)
2021.11.16 13:09:59.005 4: [timer_rollo_sz] aktParam: newParam:open - is not disabled
2021.11.16 13:09:59.002 5: [timer_rollo_sz] removing Timer: timer_rollo_sz_4
2021.11.16 13:09:59.002 4: [timer_rollo_sz] Update   - timer seems to be active today: 0123456|{sunset_abs('REAL',-1500,"13:09","13:10")}|open
2021.11.16 13:09:59.002 4: [timer_rollo_sz] list of window sensors found: 'timer_rollo_sz'
2021.11.16 13:09:59.001 4: [timer_rollo_sz] time={sunset_abs('REAL',-1500,"13:09","13:10")}/1637064599 delay=-1, nextDelay=60, nextRetry=1637064659


Löst nur einmal aus. ;-) Perfekt!
Aber ist das jetzt nur eine Notlösung? Irgendwo wird da der Fehler sein.
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 16 November 2021, 13:41:21
Zitat von: Matze89 am 16 November 2021, 13:17:03
Aber ist das jetzt nur eine Notlösung? Irgendwo wird da der Fehler sein.
Es ist ein Würgaround, weil es einen Fall abfängt, den es eigentlich nicht geben dürfte. Er hat aber einen eher beschränkten Wirkungsbereich, so dass ich - wie schon geschrieben - nicht davon ausgehe, dass das groß Nebenwirkungen hat. Werde es also erst mal selbst testen (mit den paar wenigen WDT, die ich habe), und hoffen, dass hier der eine oder andere mitliest, der auch Mittesten will.

Die neue Version bringt übrigens auch wieder ein etwas anderes Verhalten für CONDITION - die wird nämlich jetzt (wieder?) zur Laufzeit geprüft, der WDT wird nicht mehr für den ganzen Tag deaktiviert. Ich finde dieses Verhalten intuitiver und werde wohl auch noch den einen oder anderen "Perl-oneliner" dahingehend umschreiben.

Zitat
Noch ein paar Daten:
Raspberry mit Buster:

apt show fhem
Package: fhem
Version: 6.0.24833
Status: install ok installed

Diese "Sichtweise" ist bezogen auf FHEM irreführend. Was man im Einsatz hat, zeigt "fheminfo" sehr viel besser, der apt-Stand ist mit dem ersten update innerhalb FHEM "kalter Kaffee".

Wenn überhaupt, spielt allenfalls was FHEM-internes und/oder die Perl-Version mit rein.
Da du aber dasselbe Grundverhalten ("-1") auch auf dem System deiner Eltern hattest mit der alten WDT-Fassung, mag ich nicht so recht an ein Perl-Problem glauben, das sieht eher danach aus, als würden "time" und "gettimeofday()" (leicht) unterschiedliche Ergebnisse liefern (letzteres wird in HandleTimeout() in fhem.pl verwendet).
Stochern im Nebel ginge mit (FHEM-Kommandozeile):
{gettimeofday() . " " . time}

Vielleicht ersetze ich die "time"-Anweisungen bei Gelegenheit mal durch gettimeofday()...?
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Beta-User am 20 November 2021, 07:04:25
Habe hier bisher keine Nebenwirkungen festgestellt, ist daher jetzt eingecheckt...
Titel: Antw:WeekdayTimer - Nach Neuinstallation alles doppelt ausgeführt
Beitrag von: Matze89 am 20 November 2021, 08:23:41
Korrekt. Danke. Funktioniert bei mir auch einwandfrei.  :D