Mehrere DOIF schalten parallel DECT 301 Fritzbox

Begonnen von Joerg_L, 23 Juni 2020, 16:28:14

Vorheriges Thema - Nächstes Thema

Joerg_L

Hallo zusammen,

ich habe für 3 Dect 301 Heizkörperregler, jeweils ein DOIF angelegt für verschiedene Schaltzeiten.
In den DOIF steckt bei allen aber auch zusätzlich eine Abfrage drin,
auf einen Aussentemperatursensor, wenn dieser 20 Grad übersteigt,
die Heizkörper aus gestellt werden.

Das einzelne DOIF funktioniert bei allen,
wird die Temperatur von 20 Grad überschritten, regelt es auf aus.

Alle DOIF gehen gleichzeitig auf cmd_1 (abregeln der Temperatur)
Jedoch auf der Fritzbox scheint nur der erste Befehl des ersten DOIFs anzukommen,
die anderen Regler bleiben auf warm, obwohl sie laut cmd_1 ebenfalls aus sein müssten.
Das gleiche Spiel auch beim wieder einschalten.

Wie gesagt, das passiert nur wenn alle drei DOIF gleichzeitig laufen. Deaktiviere ich egal welche zwei davon geht es.
Kann es sein, dass FHEM oder das Fritzbox Modul oder die Fritzbox nicht alle 3 Befehle gleichzeitig annehmen kann?

Wenn das so ist, wie bekomme ich es versetzt hin?

Beim unterschreiten der 20 Grad ist es das gleiche.

Komischerweise, wenn die Wochentagsschaltung zur gleichen Uhrzeit steuert,
passiert das nicht.

Mit DO always, zieht er es dann beim nächsten Mal nach, aber es soll ja nicht dauernd die Befehle hinsenden.

Hier ein DOIF:

([HKRAuto:state] eq "summer" and ([AWState] eq "absent" or [AWState] eq "present"))(set HKRKueche desired-temp 7.5) DOELSEIF ([AWState] eq "absent" and [HKRAuto:state] eq "winter") (set HKRKueche desired-temp 18) DOELSEIF ([08:00-22:00|06] or [06:30-22:00|12345] and [AWState] eq "present" and [HKRAuto:state] eq "winter") (set HKRKueche desired-temp 22) DOELSE (set HKRKueche desired-temp 18)


sehen bei alle 3 gerade gleich aus bis auf die HKR Device natürlich.

[HKRAuto:state]  ist ein Dummy der abhängig von der Aussenteperatur state winter oder summer hat.
[AWState] ist ein Dummy für Anwesenheit über presence Struktur.

Die haben aber vermutlich nichts mit dem Problem des gleichzeitigen schaltens zu tun, weil die DOIF ja alle auch gleichzeitig auf cmd_1 gehen. Also passt das ja.

Vielen Dank im Voraus

amenomade

Hast Du mitberücksichtigt, wie das FBDECT Modul funktioniert? Da es kein "Push" nach Fhem gibt (Rudi hat schon bei AVM nachgefragt, aber ohne Erfolg), geht es so:
- die Kommandos, die Du schickst, werden sofort in der Fritzbox und dann in den Fritz!Dect 301 ausgeführt
- ABER: die entspr. Readings werden erst beim nächsten "poll" des FBAHAHTTP Devices (das I/O Device von den FBDECT Devices) aktualisiert. Default = je 300. Sekunde
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Joerg_L

ja, selbst wenn ich Stunden abwarte, es wird leider nur das erste DOIF mit cmd_1 ausgeführt. Und nur hier desired Temp geändert. Die anderen zwei stehen auch auf cmd_1 aber wurden in der Fritzbox nicht angenommen/angekommen.

Ich kann auch auf der Fritzbox selber nachsehen, was dort dann eingestellt wurde und es ist immer nur eins der drei DOIF cmd_1 angekommen.
Danach wird das cmd_1 ja nicht mehr ausgeführt, weil es ja angeblich schon gesendet wurde.
Schalte ich manuell nochmal bei den nicht funktionierten DOIF auf cmd_1 wird es auch ausgeführt auf der Fritzbox.



Invers

Ich würde testweise in jedem DOIF für jede Heizung ein unterschiedliches Wait eintagen, damit der Befehl verzögert wird. Vielleicht kann ja die FB nicht alle Befehle gleichzeitig annehmen. So hättest du dann eine kleine Warteschlange erzeugt.
Also 1. Heizung ohne wait, 2. Heizung wait 5, 3. heizung wait 15 usw.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Joerg_L

Hallo Invers,

prima, das ist die Lösung. Es funktioniert damit.

D A N K E

Jörg

amenomade

Da ich in den letzten Zeiten relativ viel mit der Entwicklung vom 10_FBDECT Modul unterwegs war, würde es mich aber interessieren, was genau seitens Fritzbox passiert.

Und zwar mit verbose 5 auf allen FBDECT Devices und auf dem FBAHAHTTP Device, was dann von der Fritzbox geantwortet wird (in der Log), wenn gleichzeitig alle Kommandos geschickt werden. Ich kann mich so ein Verhalten nicht ganz erklären.
Und am besten noch ein "list" von den FBDECT und von den DOIFs.

Wenn Du mal Zeit findest.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Joerg_L

ok, aber ist nicht so einfach genau auf den Schwellwert 20 zu warten..
ich mache schonmal die lists...

Zuerst die Dect Heizkörper:

Internals:
   DEF        fb7490:09995_0212484 actuator,tempSensor
   FUUID      5eda4a93-f33f-8d00-4484-6e69fa6dbfa83cf2
   IODev      fb7490
   LASTInputDev fb7490
   MSGCNT     4862
   NAME       HKRBad
   NR         98
   STATE      desired-temp: 7.5
   TYPE       FBDECT
   fb7490_MSGCNT 4862
   fb7490_TIME 2020-06-24 19:05:43
   id         09995_0212484
   props      actuator,tempSensor
   READINGS:
     2020-06-24 19:05:43   AIN             09995 0212484
     2020-06-24 19:05:43   FBNAME          HKRBad
     2020-06-24 19:05:43   FBPROP          actuator,tempSensor
     2020-06-24 19:05:43   FBTYPE          FRITZ!DECT 301
     2020-06-24 19:05:43   ID              25
     2020-06-24 19:05:43   TempAkt         22.5
     2020-06-24 19:05:43   battery         90 %
     2020-06-24 19:05:43   batteryPercent  90
     2020-06-24 19:05:43   batteryState    ok
     2020-06-24 19:05:43   batterylow      0
     2020-06-24 19:05:43   day-temp        21.0 C
     2020-06-24 19:05:43   desired-temp    7.5
     2020-06-24 19:05:43   devicelock      no
     2020-06-24 19:05:43   errorcode       noError (0)
     2020-06-24 19:05:43   fwversion       04.89
     2020-06-24 19:05:43   holidayactive   no
     2020-06-24 19:05:43   locked          no
     2020-06-24 19:05:43   nextPeriodStart 1970-01-01 01:00:00
     2020-06-24 19:05:43   nextPeriodTemp  21.0 C
     2020-06-24 19:05:43   night-temp      18.0 C
     2020-06-24 19:05:43   present         yes
     2020-06-24 19:05:43   state           desired-temp: 7.5
     2020-06-24 19:05:43   summeractive    no
     2020-06-24 19:05:43   tempadjust      -1.0 C
     2020-06-24 19:05:43   temperature     22.5 C (measured)
     2020-06-24 19:05:43   windowopenactiv no
Attributes:
   IODev      fb7490
   event-min-interval power:120
   room       HKRegelung
   userReadings TempAkt {ReadingsNum("HKRBad","temperature",20)}
   userattr   HKR HKR_map structexclude


Internals:
   DEF        fb7490:09995_0210136 actuator,tempSensor
   FUUID      5eda470f-f33f-8d00-d649-7f14043d0d951867
   IODev      fb7490
   LASTInputDev fb7490
   MSGCNT     4862
   NAME       HKRKueche
   NR         89
   STATE      desired-temp: 7.5
   TYPE       FBDECT
   fb7490_MSGCNT 4862
   fb7490_TIME 2020-06-24 19:05:43
   id         09995_0210136
   props      actuator,tempSensor
   READINGS:
     2020-06-24 19:05:43   AIN             09995 0210136
     2020-06-24 19:05:43   FBNAME          HKRKueche
     2020-06-24 19:05:43   FBPROP          actuator,tempSensor
     2020-06-24 19:05:43   FBTYPE          FRITZ!DECT 301
     2020-06-24 19:05:43   ID              22
     2020-06-24 19:05:43   TempAkt         23.5
     2020-06-24 19:05:43   battery         90 %
     2020-06-24 19:05:43   batteryPercent  90
     2020-06-24 19:05:43   batteryState    ok
     2020-06-24 19:05:43   batterylow      0
     2020-06-24 19:05:43   day-temp        22.0 C
     2020-06-24 19:05:43   desired-temp    7.5
     2020-06-24 19:05:43   devicelock      no
     2020-06-24 19:05:43   errorcode       noError (0)
     2020-06-24 19:05:43   fwversion       04.89
     2020-06-24 19:05:43   holidayactive   no
     2020-06-24 19:05:43   locked          no
     2020-06-24 19:05:43   nextPeriodStart 1970-01-01 01:00:00
     2020-06-24 19:05:43   nextPeriodTemp  22.0 C
     2020-06-24 19:05:43   night-temp      18.0 C
     2020-06-24 19:05:43   present         yes
     2020-06-24 19:05:43   state           desired-temp: 7.5
     2020-06-24 19:05:43   summeractive    no
     2020-06-24 19:05:43   tempadjust      -0.5 C
     2020-06-24 19:05:43   temperature     23.5 C (measured)
     2020-06-24 19:05:43   windowopenactiv no
Attributes:
   IODev      fb7490
   event-min-interval power:120
   room       HKRegelung
   userReadings TempAkt {ReadingsNum("HKRKueche","temperature",20)}
   userattr   HKR HKR_map structexclude


Internals:
   DEF        fb7490:09995_0210581 actuator,tempSensor
   FUUID      5eda483b-f33f-8d00-737a-93a5ebfaac20d550
   IODev      fb7490
   LASTInputDev fb7490
   MSGCNT     4862
   NAME       HKRWZ1
   NR         92
   STATE      desired-temp: 7.5
   TYPE       FBDECT
   fb7490_MSGCNT 4862
   fb7490_TIME 2020-06-24 19:05:43
   id         09995_0210581
   props      actuator,tempSensor
   READINGS:
     2020-06-24 19:05:43   AIN             09995 0210581
     2020-06-24 19:05:43   FBNAME          HKRWZ1
     2020-06-24 19:05:43   FBPROP          actuator,tempSensor
     2020-06-24 19:05:43   FBTYPE          FRITZ!DECT 301
     2020-06-24 19:05:43   ID              23
     2020-06-24 19:05:43   TempAkt         23.0
     2020-06-24 19:05:43   battery         90 %
     2020-06-24 19:05:43   batteryPercent  90
     2020-06-24 19:05:43   batteryState    ok
     2020-06-24 19:05:43   batterylow      0
     2020-06-24 19:05:43   day-temp        21.0 C
     2020-06-24 19:05:43   desired-temp    7.5
     2020-06-24 19:05:43   devicelock      no
     2020-06-24 19:05:43   errorcode       noError (0)
     2020-06-24 19:05:43   fwversion       04.89
     2020-06-24 19:05:43   holidayactive   no
     2020-06-24 19:05:43   locked          no
     2020-06-24 19:05:43   nextPeriodStart 1970-01-01 01:00:00
     2020-06-24 19:05:43   nextPeriodTemp  21.0 C
     2020-06-24 19:05:43   night-temp      18.0 C
     2020-06-24 19:05:43   present         yes
     2020-06-24 19:05:43   state           desired-temp: 7.5
     2020-06-24 19:05:43   summeractive    no
     2020-06-24 19:05:43   tempadjust      -1.0 C
     2020-06-24 19:05:43   temperature     23.0 C (measured)
     2020-06-24 19:05:43   windowopenactiv no
Attributes:
   IODev      fb7490
   event-min-interval power:120
   room       HKRegelung
   userReadings TempAkt {ReadingsNum("HKRWZ1","temperature",20)}
   userattr   HKR HKR_map structexclude


Internals:
   DEF        fb7490:09995_0272096 actuator,tempSensor
   FUUID      5eda4968-f33f-8d00-7fe1-ff2f28ee00b3fcba
   IODev      fb7490
   LASTInputDev fb7490
   MSGCNT     4862
   NAME       HKRWZ2
   NR         95
   STATE      desired-temp: 7.5
   TYPE       FBDECT
   fb7490_MSGCNT 4862
   fb7490_TIME 2020-06-24 19:05:43
   id         09995_0272096
   props      actuator,tempSensor
   READINGS:
     2020-06-24 19:05:43   AIN             09995 0272096
     2020-06-24 19:05:43   FBNAME          HKRWZ2
     2020-06-24 19:05:43   FBPROP          actuator,tempSensor
     2020-06-24 19:05:43   FBTYPE          FRITZ!DECT 301
     2020-06-24 19:05:43   ID              24
     2020-06-24 19:05:43   TempAkt         23.5
     2020-06-24 19:05:43   battery         100 %
     2020-06-24 19:05:43   batteryPercent  100
     2020-06-24 19:05:43   batteryState    ok
     2020-06-24 19:05:43   batterylow      0
     2020-06-24 19:05:43   day-temp        21.0 C
     2020-06-24 19:05:43   desired-temp    7.5
     2020-06-24 19:05:43   devicelock      no
     2020-06-24 19:05:43   errorcode       noError (0)
     2020-06-24 19:05:43   fwversion       04.89
     2020-06-24 19:05:43   holidayactive   no
     2020-06-24 19:05:43   locked          no
     2020-06-24 19:05:43   nextPeriodStart 1970-01-01 01:00:00
     2020-06-24 19:05:43   nextPeriodTemp  21.0 C
     2020-06-24 19:05:43   night-temp      18.0 C
     2020-06-24 19:05:43   present         yes
     2020-06-24 19:05:43   state           desired-temp: 7.5
     2020-06-24 19:05:43   summeractive    no
     2020-06-24 19:05:43   tempadjust      -1.0 C
     2020-06-24 19:05:43   temperature     23.5 C (measured)
     2020-06-24 19:05:43   windowopenactiv no
Attributes:
   IODev      fb7490
   event-min-interval power:120
   room       HKRegelung
   userReadings TempAkt {ReadingsNum("HKRWZ2","temperature",20)}
   userattr   HKR HKR_map structexclude


Nun die DOIF:

Internals:
   DEF        ([HKRAuto:state] eq "summer" and ([AWState] eq "absent" or [AWState] eq "present"))(set HKRBad desired-temp 7.5) DOELSEIF ([AWState] eq "absent" and [HKRAuto:state] eq "winter") (set HKRBad desired-temp 18) DOELSEIF ([08:00-22:00|06] or [06:30-22:00|12345] and [AWState] eq "present" and [HKRAuto:state] eq "winter") (set HKRBad desired-temp 22) DOELSE (set HKRBad desired-temp 18)
   FUUID      5edc005e-f33f-8d00-f55d-6f4e5e5e2098c9f7
   MODEL      FHEM
   NAME       Heizung_Bad
   NOTIFYDEV  HKRAuto,AWState,global
   NR         104
   NTFY_ORDER 50-Heizung_Bad
   STATE      cmd_1
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   READINGS:
     2020-06-24 19:09:50   Device          AWState
     2020-06-24 10:20:42   cmd             1
     2020-06-24 10:20:42   cmd_event       HKRAuto
     2020-06-24 10:20:42   cmd_nr          1
     2020-06-24 19:09:50   e_AWState_STATE present
     2020-06-24 10:20:42   e_HKRAuto_state summer
     2020-06-21 16:15:51   mode            enabled
     2020-06-24 10:20:42   state           cmd_1
     2020-06-23 22:00:00   timer_01_c03    24.06.2020 08:00:00|06
     2020-06-23 22:00:00   timer_02_c03    24.06.2020 22:00:00|06
     2020-06-23 22:00:00   timer_03_c03    24.06.2020 06:30:00|12345
     2020-06-23 22:00:00   timer_04_c03    24.06.2020 22:00:00|12345
     2020-06-23 22:06:00   wait_timer      no timer
   Regex:
     accu:
     cond:
       AWState:
         0:
           &STATE     ^AWState$
         1:
           &STATE     ^AWState$
         2:
           &STATE     ^AWState$
       HKRAuto:
         0:
           state      ^HKRAuto$:^state:
         1:
           state      ^HKRAuto$:^state:
         2:
           state      ^HKRAuto$:^state:
   attr:
     cmdState:
     repeatcmd:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'HKRAuto','state') eq "summer" and (::InternalDoIf($hash,'AWState','STATE') eq "absent" or ::InternalDoIf($hash,'AWState','STATE') eq "present")
     1          ::InternalDoIf($hash,'AWState','STATE') eq "absent" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
     2          ::DOIF_time($hash,0,1,$wday,$hms,"06") or ::DOIF_time($hash,2,3,$wday,$hms,"12345") and ::InternalDoIf($hash,'AWState','STATE') eq "present" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
   days:
     0          06
     1          06
     2          12345
     3          12345
   do:
     0:
       0          set HKRBad desired-temp 7.5
     1:
       0          set HKRBad desired-temp 18
     2:
       0          set HKRBad desired-temp 22
     3:
       0          set HKRBad desired-temp 18
   helper:
     DEVFILTER  ^global$|^HKRAuto$|^AWState$
     NOTIFYDEV  global|HKRAuto|AWState
     event      state: present
     globalinit 1
     last_timer 4
     sleepdevice timer_4
     sleepsubtimer -1
     sleeptimer -1
     timerdev   AWState
     timerevent state: present
     triggerDev AWState
     timerevents:
       state: present
     timereventsState:
       state: present
     triggerEvents:
       state: present
     triggerEventsState:
       state: present
   internals:
     all         AWState:STATE
   interval:
     0          -1
     1          0
     2          -1
     3          2
   intervalfunc:
   intervaltimer:
   localtime:
     0          1592978400
     1          1593028800
     2          1592973000
     3          1593028800
   readings:
     all         HKRAuto:state
   realtime:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   time:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   timeCond:
     0          2
     1          2
     2          2
     3          2
   timer:
     0          0
     1          0
     2          0
     3          0
   timers:
     2           0  1  2  3
   trigger:
   triggertime:
     1593028800:
       localtime  1593028800
       hash:
   uiState:
   uiTable:
Attributes:
   addStateEvent 1
   room       HKRegelung


Internals:
   DEF        ([HKRAuto:state] eq "summer" and ([AWState] eq "absent" or [AWState] eq "present"))(set HKRKueche desired-temp 7.5) DOELSEIF ([AWState] eq "absent" and [HKRAuto:state] eq "winter") (set HKRKueche desired-temp 18) DOELSEIF ([08:00-22:00|06] or [06:30-22:00|12345] and [AWState] eq "present" and [HKRAuto:state] eq "winter") (set HKRKueche desired-temp 22) DOELSE (set HKRKueche desired-temp 18)
   FUUID      5edc02e4-f33f-8d00-a5d7-16b128b652ef31f1
   MODEL      FHEM
   NAME       Heizung_Kueche
   NOTIFYDEV  HKRAuto,AWState,global
   NR         105
   NTFY_ORDER 50-Heizung_Kueche
   STATE      cmd_1
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   READINGS:
     2020-06-24 19:09:50   Device          AWState
     2020-06-24 10:20:57   cmd             1
     2020-06-24 10:20:57   cmd_event       HKRAuto
     2020-06-24 10:20:57   cmd_nr          1
     2020-06-24 19:09:50   e_AWState_STATE present
     2020-06-24 10:20:42   e_HKRAuto_state summer
     2020-06-21 16:22:24   mode            enabled
     2020-06-24 10:20:57   state           cmd_1
     2020-06-23 22:00:00   timer_01_c03    24.06.2020 08:00:00|06
     2020-06-23 22:00:00   timer_02_c03    24.06.2020 22:00:00|06
     2020-06-23 22:00:00   timer_03_c03    24.06.2020 06:30:00|12345
     2020-06-23 22:00:00   timer_04_c03    24.06.2020 22:00:00|12345
     2020-06-24 10:20:57   wait_timer      no timer
   Regex:
     accu:
     cond:
       AWState:
         0:
           &STATE     ^AWState$
         1:
           &STATE     ^AWState$
         2:
           &STATE     ^AWState$
       HKRAuto:
         0:
           state      ^HKRAuto$:^state:
         1:
           state      ^HKRAuto$:^state:
         2:
           state      ^HKRAuto$:^state:
   attr:
     cmdState:
     repeatcmd:
     wait:
       0:
         15
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'HKRAuto','state') eq "summer" and (::InternalDoIf($hash,'AWState','STATE') eq "absent" or ::InternalDoIf($hash,'AWState','STATE') eq "present")
     1          ::InternalDoIf($hash,'AWState','STATE') eq "absent" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
     2          ::DOIF_time($hash,0,1,$wday,$hms,"06") or ::DOIF_time($hash,2,3,$wday,$hms,"12345") and ::InternalDoIf($hash,'AWState','STATE') eq "present" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
   days:
     0          06
     1          06
     2          12345
     3          12345
   do:
     0:
       0          set HKRKueche desired-temp 7.5
     1:
       0          set HKRKueche desired-temp 18
     2:
       0          set HKRKueche desired-temp 22
     3:
       0          set HKRKueche desired-temp 18
   helper:
     DEVFILTER  ^global$|^HKRAuto$|^AWState$
     NOTIFYDEV  global|HKRAuto|AWState
     event      state: present
     globalinit 1
     last_timer 4
     sleepdevice HKRAuto
     sleepsubtimer -1
     sleeptimer -1
     timerdev   AWState
     timerevent state: present
     triggerDev AWState
     timerevents:
       state: present
     timereventsState:
       state: present
     triggerEvents:
       state: present
     triggerEventsState:
       state: present
   internals:
     all         AWState:STATE
   interval:
     0          -1
     1          0
     2          -1
     3          2
   intervalfunc:
   intervaltimer:
   localtime:
     0          1592978400
     1          1593028800
     2          1592973000
     3          1593028800
   readings:
     all         HKRAuto:state
   realtime:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   time:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   timeCond:
     0          2
     1          2
     2          2
     3          2
   timer:
     0          0
     1          0
     2          0
     3          0
   timers:
     2           0  1  2  3
   trigger:
   triggertime:
     1593028800:
       localtime  1593028800
       hash:
   uiState:
   uiTable:
Attributes:
   addStateEvent 1
   room       HKRegelung
   wait       15


Internals:
   DEF        ([HKRAuto:state] eq "summer" and ([AWState] eq "absent" or [AWState] eq "present"))(set HKRWZ1 desired-temp 7.5,set HKRWZ2 desired-temp 7.5) DOELSEIF ([AWState] eq "absent" and [HKRAuto:state] eq "winter") (set HKRWZ1 desired-temp 18,set HKRWZ2 desired-temp 18) DOELSEIF ([08:00-22:00|06] or [06:30-22:00|12345] and [AWState] eq "present" and [HKRAuto:state] eq "winter") (set HKRWZ1 desired-temp 22,set HKRWZ2 desired-temp 22) DOELSE (set HKRWZ1 desired-temp 18,set HKRWZ2 desired-temp 18)

   FUUID      5edbfd13-f33f-8d00-331c-a56b6c94aff3146b
   MODEL      FHEM
   NAME       Heizung_WZ
   NOTIFYDEV  global,AWState,HKRAuto
   NR         103
   NTFY_ORDER 50-Heizung_WZ
   STATE      cmd_1
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   READINGS:
     2020-06-24 19:10:50   Device          AWState
     2020-06-24 10:21:12   cmd             1
     2020-06-24 10:21:12   cmd_event       HKRAuto
     2020-06-24 10:21:12   cmd_nr          1
     2020-06-24 19:10:50   e_AWState_STATE present
     2020-06-24 10:20:42   e_HKRAuto_state summer
     2020-06-21 16:24:02   mode            enabled
     2020-06-24 10:21:12   state           cmd_1
     2020-06-23 22:00:00   timer_01_c03    24.06.2020 08:00:00|06
     2020-06-23 22:00:00   timer_02_c03    24.06.2020 22:00:00|06
     2020-06-23 22:00:00   timer_03_c03    24.06.2020 06:30:00|12345
     2020-06-23 22:00:00   timer_04_c03    24.06.2020 22:00:00|12345
     2020-06-24 10:21:12   wait_timer      no timer
   Regex:
     accu:
     cond:
       AWState:
         0:
           &STATE     ^AWState$
         1:
           &STATE     ^AWState$
         2:
           &STATE     ^AWState$
       HKRAuto:
         0:
           state      ^HKRAuto$:^state:
         1:
           state      ^HKRAuto$:^state:
         2:
           state      ^HKRAuto$:^state:
   attr:
     cmdState:
     repeatcmd:
     wait:
       0:
         30
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'HKRAuto','state') eq "summer" and (::InternalDoIf($hash,'AWState','STATE') eq "absent" or ::InternalDoIf($hash,'AWState','STATE') eq "present")
     1          ::InternalDoIf($hash,'AWState','STATE') eq "absent" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
     2          ::DOIF_time($hash,0,1,$wday,$hms,"06") or ::DOIF_time($hash,2,3,$wday,$hms,"12345") and ::InternalDoIf($hash,'AWState','STATE') eq "present" and ::ReadingValDoIf($hash,'HKRAuto','state') eq "winter"
   days:
     0          06
     1          06
     2          12345
     3          12345
   do:
     0:
       0          set HKRWZ1 desired-temp 7.5,set HKRWZ2 desired-temp 7.5
     1:
       0          set HKRWZ1 desired-temp 18,set HKRWZ2 desired-temp 18
     2:
       0          set HKRWZ1 desired-temp 22,set HKRWZ2 desired-temp 22
     3:
       0          set HKRWZ1 desired-temp 18,set HKRWZ2 desired-temp 18
   helper:
     DEVFILTER  ^global$|^AWState$|^HKRAuto$
     NOTIFYDEV  global|AWState|HKRAuto
     event      state: present
     globalinit 1
     last_timer 4
     sleepdevice HKRAuto
     sleepsubtimer -1
     sleeptimer -1
     timerdev   AWState
     timerevent state: present
     triggerDev AWState
     timerevents:
       state: present
     timereventsState:
       state: present
     triggerEvents:
       state: present
     triggerEventsState:
       state: present
   internals:
     all         AWState:STATE
   interval:
     0          -1
     1          0
     2          -1
     3          2
   intervalfunc:
   intervaltimer:
   localtime:
     0          1592978400
     1          1593028800
     2          1592973000
     3          1593028800
   readings:
     all         HKRAuto:state
   realtime:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   time:
     0          08:00:00
     1          22:00:00
     2          06:30:00
     3          22:00:00
   timeCond:
     0          2
     1          2
     2          2
     3          2
   timer:
     0          0
     1          0
     2          0
     3          0
   timers:
     2           0  1  2  3
   trigger:
   triggertime:
     1593028800:
       localtime  1593028800
       hash:
   uiState:
   uiTable:
Attributes:
   addStateEvent 1
   room       HKRegelung
   wait       30


Dummys für Anwesenheit und Sommer/Winter

Internals:
   CFGFN     
   FUUID      5ede892e-f33f-8d00-2187-192b84ee56894d3b
   NAME       AWState
   NR         10305
   STATE      present
   TYPE       dummy
   READINGS:
     2020-06-24 19:11:50   state           present
Attributes:
   room       HKRegelung


Internals:
   CFGFN     
   FUUID      5ede8730-f33f-8d00-1e38-d39d78bb40cf58f3
   NAME       HKRAuto
   NR         10205
   STATE      summer
   TYPE       dummy
   READINGS:
     2020-06-24 10:20:42   state           summer
Attributes:
   room       HKRegelung


Die Logging Aktionen kommen dann, wenn ich mal absehen kann bei dem Wechsel summer/winter 20Grad da bin und dann natürlich auch vorher die wait rausmache.

Grüße
Jörg

amenomade

Du könntest auch einfach in der Kommandozeile
set HKR.* desired-temp 7.5eingeben.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Joerg_L

Hm... also wenn ich manuell summer winter umschalte, und das ist ja das Kriterium, funktioniert es auch ohne die wait.

Ich schaue nochmal wie es ohne manuelles zu tun läuft.

Joerg_L

Also, leider (oder besser Gott sei Dank) tritt das Verhalten nun auch nicht mehr auf.
Die Schaltungen der Heizkörper werden nun immer ausgeführt.

Damit wohl erledigt. Falls es doch noch mal auftritt ergänze ich es hier.

Danke trotzdem,
Grüße
Jörg

Joerg_L

#10
So nun ist es wieder aufgetreten, natürlich habe ich nun nicht mehr verbose 5 drin.
Kann man das länger eingeschaltet lassen? Oder läuft einem dann ruck zuck die sd Karte des Pi voll?

Ich hänge mal screenshots dran, von fhem, wo man sieht dass alle auf cmd_1 =desired Temp 7,5 stehen,
in der Oberfläche und in der Firtzbox ist zu sehen, dass nur der erste Regler gestellt wurde.



Hier ist zum Schaltzeitpunkt folgendes im Log zu finden:
2020.07.02 18:05:19 3: FBDECT set HKRBad desired-temp
2020.07.02 18:05:19 3: FBDECT set HKRKueche desired-temp
2020.07.02 18:05:19 3: FBDECT set HKRWZ1 desired-temp
2020.07.02 18:05:19 3: FBDECT set HKRWZ2 desired-temp
2020.07.02 18:05:22 3: FRITZBOX: get FRITZ7490 tr064Command WANPPPConnection:1 wanpppconn1 GetInfo
2020.07.02 18:05:24 3: FRITZBOX: get FRITZ7490 tr064Command WANPPPConnection:1 wanpppconn1 GetInfo
2020.07.02 18:05:26 3: FRITZBOX: get FRITZ7490 tr064Command WANDSLLinkConfig:1 wandsllinkconfig1 GetInfo
2020.07.02 18:05:28 3: FRITZBOX: get FRITZ7490 tr064Command WANPPPConnection:1 wanpppconn1 GetInfo
2020.07.02 18:05:30 3: FRITZBOX: get FRITZ7490 tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo
2020.07.02 18:05:31 3: fb7490: read from http://192.168.178.1:80 timed out


Vielleicht noch als Ergänzung es ist auch das FRITZBOX Modul eingerichtet:
welches alle 5 Minuten, abfragt, wegen der Anwesenheit über Mac Adressen.

Dann habe ich wohl das Problem, wenn die Abfrage des Fritzbox läuft die DOIFs mit den Kommandos nicht durchkommen?!?

Gibt es denn in dem DOIF nicht die Möglichkeit nach Absetzen des Kommandos zu prüfen, ob es auch "angekommen" ist und wenn nicht, es nochmal auszuführen?

Blöd, das kann ja immer wieder passieren, das zufällig ne Abfrage gerade auf die Fritzbox läuft und dann die DOIFs nicht ankommen-


amenomade

Ich habe auch das FRITZBOX Modul (mit MAC-Presence) am Laufen, und das Problem nicht.

Sind die tr064 Kommandos von dir? Ich verstehe nicht warum 3x nacheinander das gleiche.

Hast Du schon versucht, das attr fb7490 fbTimeout ein bisschen grösser zu setzen (Standard Wert ist 4 Sek)?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Joerg_L

Ja, dir tr064 commands waren von mir, das waren Userreadings, die ich mal hier im Forum gefunden hatte, die Noch die Informationen um die DSL Geschwindigkeit, Uptime DSL etc ergänzt haben, ich habe sie jetzt mal rausgeschmissen, da ich sie eh nicht weiter ausgewertet hatte.

das mit dem Timeout, kann ich auch mal einstellen.

Wie ist das mit dem verbose 5? Wie lange kann ich das mal laufen lassen?

amenomade

Naja... kommt darauf an, wieviele Geräte Du hast, usw. Ich würde es erstmal auf dem FBAHAHTTP Device begrenzen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus