PWM followUpTime Parameter wird ignoriert

Begonnen von ff4f, 20 Februar 2021, 00:29:54

Vorheriges Thema - Nächstes Thema

ff4f

Hallo,

ich habe folgenden minimalen Versuchsaufbau:

  • DS2408 - DS2408 mit LED und Relais am PORT A als OverallHeatingSwitch
  • Gastherme - ein readingsProxy um den PORT A vom DS2408 zu schalten
  • EG.wz.TF - DS2438 als Temperatur- und Feuchtesensor
  • HK_Wohnzimmer - Ein dummy device als Ventil-Stellantrieb (Stellantrieb ist noch nicht vorhanden, soll später per DS2413 gesteuert werden)
  • PWM_hzg - 94_PWM.pm Modul
  • PWM_Wohnzimmer - 93_PWMR.pm Modul fürs Wohnzimmer eben

Ziel ist es, die Gastherme per Relais abzuschalten, wenn kein Heizbedarf besteht. Um zu verhindern, dass die Therme wild ein und ausgeschaltet wird, habe ich testhalber eine followUpTime von 300 Sekunden gesetzt.

Leider schaltet das Relais aber sofort aus, wenn die Solltemperatur erreicht/überschritten wird. Eine Nachlaufzeit gibt es nicht.
Was mache ich falsch?

define DS2408 OWSWITCH DS2408 7C7F35000000
setuuid DS2408 602f5709-f33f-03a0-7c25-a1950de0738f4c99
attr DS2408 IODev OWbus1
attr DS2408 model DS2408
attr DS2408 room OWX
define Gastherme readingsProxy DS2408:latch.A
setuuid Gastherme 602f6343-f33f-03a0-d477-c0bf1f065d2bc978
attr Gastherme icon Heizung_Hauptschalter.on
attr Gastherme room OWX
attr Gastherme setFn {($CMD eq "on")?"output A off":"output A on"}
attr Gastherme setList on off
attr Gastherme valueFn {($VALUE == 0)?"off":"on"}
attr Gastherme webCmd on:off
define hzg PWM 30 60 50 1 99,99 0,0,0 Gastherme,0,300,on
setuuid hzg 602f7c5a-f33f-03a0-14e4-0258238a9b9e981a
attr hzg overallHeatingSwitchRef pulseAvg
define HK_Wohnzimmer dummy
setuuid HK_Wohnzimmer 602f7e26-f33f-03a0-4d3e-b5d4153e8184475f
define PWM_Wohnzimmer PWMR hzg 1,0 EG.wz.TF:temperature HK_Wohnzimmer
setuuid PWM_Wohnzimmer 602f7e2e-f33f-03a0-32b4-f0741e2147a2103b
attr PWM_Wohnzimmer tempDay 22



pi@raspberrypi:~ $ tail -f /opt/fhem/log/fhem-2021-02.log | grep -iE 'pwm|owswitch|desired'
2021.02.20 00:25:18 5: POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_380750602610177&fw_id=93 HTTP/1.1
2021.02.20 00:25:18 4: WEB_192.168.1.78_52176 POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_380750602610177&fw_id=93; BUFLEN:0
2021.02.20 00:25:18 3: FHEMWEB WEB CSRF error: csrf_380750602610177 ne csrf_132469731230563 for client WEB_192.168.1.78_52176 / command set PWM_Wohnzimmer desired-temp 28.5. For details see the csrfToken FHEMWEB attribute.
2021.02.20 00:25:18 4: WEB: /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_380750602610177&fw_id=93 / RL:20 / text/html; charset=UTF-8 / Content-Encoding: gzip
2021.02.20 00:25:18 5: POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93 HTTP/1.1
2021.02.20 00:25:18 4: WEB_192.168.1.78_52176 POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93; BUFLEN:0
2021.02.20 00:25:18 5: Cmd: >set PWM_Wohnzimmer desired-temp 28.5<
2021.02.20 00:25:18 5: Starting notify loop for PWM_Wohnzimmer, 3 event(s), first is desired-temp: 28.5
2021.02.20 00:25:18 4: DbLog logdb -> number of events received: 3 for device: PWM_Wohnzimmer
2021.02.20 00:25:18 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp: 28.5
2021.02.20 00:25:18 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: state: ManualSetUntil 00:25:18
2021.02.20 00:25:18 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-until: 2021-02-20 00:25:18
2021.02.20 00:25:18 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:18 4: WEB: /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2028.5&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2021.02.20 00:25:28 3: PWM_Calculate hzg
2021.02.20 00:25:28 4: PWM_Calculate calc hzg, room PWM_Wohnzimmer
2021.02.20 00:25:28 4: PWM_CalcRoom: hzg (PWM_Wohnzimmer)
2021.02.20 00:25:28 4: PWMR_ReadRoom PWM_Wohnzimmer: desT(28.5), actT(21.6 von(2021-02-20 00:24:35)), state(off)
2021.02.20 00:25:28 4: PWMR_ReadRoom PWM_Wohnzimmer: newpulse(1.00/01:00), oldpulse(0), lastSW(1613777045 = 2021-02-20 00:24:05), window(0)
2021.02.20 00:25:28 5: Starting notify loop for PWM_Wohnzimmer, 4 event(s), first is desired-temp-used: 28.5
2021.02.20 00:25:28 4: DbLog logdb -> number of events received: 4 for device: PWM_Wohnzimmer
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-used: 28.5
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMOnTime: 01:00
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMPulse: 100
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: temperature: 21.6
2021.02.20 00:25:28 5: DbLog logdb -> parsed Event: PWM_Wohnzimmer , Event: temperature: 21.6
2021.02.20 00:25:28 4: DbLog logdb -> added event - Timestamp: 2021-02-20 00:25:28, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.6, Reading: temperature, Value: 21.6, Unit: °C
2021.02.20 00:25:28 4: DbLog logdb -> processing event Timestamp: 2021-02-20 00:25:28, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.6, Reading: temperature, Value: 21.6, Unit: °C
2021.02.20 00:25:28 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:28 3: PWM_CalcRoom PWM_Wohnzimmer: F7 new on
2021.02.20 00:25:28 3: PWM_Calculate PWM_Wohnzimmer: F98 switch on (pulse=1)
2021.02.20 00:25:28 4: PWMR_SetRoom PWM_Wohnzimmer <on>
2021.02.20 00:25:28 2: PWMR_SetRoom PWM_Wohnzimmer: set HK_Wohnzimmer on
2021.02.20 00:25:28 5: Starting notify loop for PWM_Wohnzimmer, 4 event(s), first is energyused: 000000000000000000000000110001
2021.02.20 00:25:28 4: DbLog logdb -> number of events received: 4 for device: PWM_Wohnzimmer
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyused: 000000000000000000000000110001
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyusedp: 10.0
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: actorState: on
2021.02.20 00:25:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: lastswitch: 1613777128
2021.02.20 00:25:28 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:29 4: OWSWITCH: Set DS2408 output A
2021.02.20 00:25:29 4: PWMR_SetRoom: hzg: set Gastherme on
2021.02.20 00:25:29 3: PWM_Calculate hzg done
2021.02.20 00:25:29 5: Starting notify loop for PWM_Wohnzimmer, 1 event(s), first is desired-temp-until: no
2021.02.20 00:25:29 4: DbLog logdb -> number of events received: 1 for device: PWM_Wohnzimmer
2021.02.20 00:25:29 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-until: no
2021.02.20 00:25:29 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:29 4: PWMR_CalcDesiredTemp PWM_Wohnzimmer: calc desired-temp
2021.02.20 00:25:29 4: PWMR_CalcDesiredTemp PWM_Wohnzimmer: wday 6 cmptime 0025
2021.02.20 00:25:29 5: PWMR_CalcDesiredTempFromRule PWM_Wohnzimmer: 6-0 0800,D 2200,N
2021.02.20 00:25:29 5: PWMR_CalcDesiredTempFromRule PWM_Wohnzimmer: i:2 2200,N
2021.02.20 00:25:29 5: PWMR_CalcDesiredTempFromRule PWM_Wohnzimmer: i:1 0800,D
2021.02.20 00:25:29 5: Starting notify loop for PWM_Wohnzimmer, 1 event(s), first is Calculating
2021.02.20 00:25:29 4: DbLog logdb -> number of events received: 1 for device: PWM_Wohnzimmer
2021.02.20 00:25:29 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: state: Calculating
2021.02.20 00:25:29 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:56 5: POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2018.0&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93 HTTP/1.1
2021.02.20 00:25:56 4: WEB_192.168.1.78_52176 POST /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2018.0&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93; BUFLEN:0
2021.02.20 00:25:56 5: Cmd: >set PWM_Wohnzimmer desired-temp 18.0<
2021.02.20 00:25:56 5: Starting notify loop for PWM_Wohnzimmer, 3 event(s), first is desired-temp: 18.0
2021.02.20 00:25:56 4: DbLog logdb -> number of events received: 3 for device: PWM_Wohnzimmer
2021.02.20 00:25:56 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp: 18.0
2021.02.20 00:25:56 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: state: ManualSetUntil 00:25:56
2021.02.20 00:25:56 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-until: 2021-02-20 00:25:56
2021.02.20 00:25:56 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:56 4: WEB: /fhem?cmd=set%20PWM_Wohnzimmer%20desired-temp%2018.0&XHR=1&fwcsrf=csrf_132469731230563&fw_id=93 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
2021.02.20 00:25:58 3: PWM_Calculate hzg
2021.02.20 00:25:58 4: PWM_Calculate calc hzg, room PWM_Wohnzimmer
2021.02.20 00:25:58 4: PWM_CalcRoom: hzg (PWM_Wohnzimmer)
2021.02.20 00:25:58 4: PWMR_ReadRoom PWM_Wohnzimmer: desT(18.0), actT(21.7 von(2021-02-20 00:25:36)), state(on)
2021.02.20 00:25:58 4: PWMR_ReadRoom PWM_Wohnzimmer: newpulse(0.00/00:00), oldpulse(1), lastSW(1613777128 = 2021-02-20 00:25:28), window(0)
2021.02.20 00:25:58 5: Starting notify loop for PWM_Wohnzimmer, 4 event(s), first is desired-temp-used: 18.0
2021.02.20 00:25:58 4: DbLog logdb -> number of events received: 4 for device: PWM_Wohnzimmer
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-used: 18.0
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMOnTime: 00:00
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMPulse: 0
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: temperature: 21.7
2021.02.20 00:25:58 5: DbLog logdb -> parsed Event: PWM_Wohnzimmer , Event: temperature: 21.7
2021.02.20 00:25:58 4: DbLog logdb -> added event - Timestamp: 2021-02-20 00:25:58, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.7, Reading: temperature, Value: 21.7, Unit: °C
2021.02.20 00:25:58 4: DbLog logdb -> processing event Timestamp: 2021-02-20 00:25:58, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.7, Reading: temperature, Value: 21.7, Unit: °C
2021.02.20 00:25:58 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:58 3: PWM_CalcRoom PWM_Wohnzimmer: F1 stay on
2021.02.20 00:25:58 4: PWMR_SetRoom PWM_Wohnzimmer <>
2021.02.20 00:25:58 5: Starting notify loop for PWM_Wohnzimmer, 2 event(s), first is energyused: 000000000000000000000001100011
2021.02.20 00:25:58 4: DbLog logdb -> number of events received: 2 for device: PWM_Wohnzimmer
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyused: 000000000000000000000001100011
2021.02.20 00:25:58 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyusedp: 13.3
2021.02.20 00:25:58 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:25:59 4: OWSWITCH: Set DS2408 output A
2021.02.20 00:25:59 4: PWMR_SetRoom: hzg: set Gastherme on
2021.02.20 00:25:59 3: PWM_Calculate hzg done
2021.02.20 00:26:28 3: PWM_Calculate hzg
2021.02.20 00:26:28 4: PWM_Calculate calc hzg, room PWM_Wohnzimmer
2021.02.20 00:26:28 4: PWM_CalcRoom: hzg (PWM_Wohnzimmer)
2021.02.20 00:26:28 4: PWMR_ReadRoom PWM_Wohnzimmer: desT(18.0), actT(21.7 von(2021-02-20 00:25:36)), state(on)
2021.02.20 00:26:28 4: PWMR_ReadRoom PWM_Wohnzimmer: newpulse(0.00/00:00), oldpulse(0), lastSW(1613777128 = 2021-02-20 00:25:28), window(0)
2021.02.20 00:26:28 5: Starting notify loop for PWM_Wohnzimmer, 4 event(s), first is desired-temp-used: 18.0
2021.02.20 00:26:28 4: DbLog logdb -> number of events received: 4 for device: PWM_Wohnzimmer
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: desired-temp-used: 18.0
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMOnTime: 00:00
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: PWMPulse: 0
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: temperature: 21.7
2021.02.20 00:26:28 5: DbLog logdb -> parsed Event: PWM_Wohnzimmer , Event: temperature: 21.7
2021.02.20 00:26:28 4: DbLog logdb -> added event - Timestamp: 2021-02-20 00:26:28, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.7, Reading: temperature, Value: 21.7, Unit: °C
2021.02.20 00:26:28 4: DbLog logdb -> processing event Timestamp: 2021-02-20 00:26:28, Device: PWM_Wohnzimmer, Type: PWMR, Event: temperature: 21.7, Reading: temperature, Value: 21.7, Unit: °C
2021.02.20 00:26:28 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:26:28 3: PWM_CalcRoom PWM_Wohnzimmer: F4 new off
2021.02.20 00:26:28 3: PWM_Calculate PWM_Wohnzimmer: F99 switch off (pulse=1)
2021.02.20 00:26:28 4: PWMR_SetRoom PWM_Wohnzimmer <off>
2021.02.20 00:26:28 2: PWMR_SetRoom PWM_Wohnzimmer: set HK_Wohnzimmer off
2021.02.20 00:26:28 5: Starting notify loop for PWM_Wohnzimmer, 4 event(s), first is energyused: 000000000000000000000011000110
2021.02.20 00:26:28 4: DbLog logdb -> number of events received: 4 for device: PWM_Wohnzimmer
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyused: 000000000000000000000011000110
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: energyusedp: 13.3
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: actorState: off
2021.02.20 00:26:28 4: DbLog logdb -> check Device: PWM_Wohnzimmer , Event: lastswitch: 1613777188
2021.02.20 00:26:28 5: End notify loop for PWM_Wohnzimmer
2021.02.20 00:26:29 4: OWSWITCH: Set DS2408 output A
2021.02.20 00:26:29 4: PWMR_SetRoom: hzg: set Gastherme off
2021.02.20 00:26:29 3: PWM_Calculate hzg done


Ach ja, 93_PWMR.pm und 94_PWM.pm sind frisch vom GitHub gezogen...

ff4f

#1
Es muss etwas mit dem readingsProxy zu tun haben.
STATE vom readingsProxy Gastherme ändert sich nicht! Aber warum?