In dieser Version sind folgende Ergänzungen, Änderungen und Fehlerbereinigungen enthalten:
1. EEP A5-20-06: Neues Profil hvac.06 für den neuen Heizkörperaktor Micropelt iTRV-005, OPUS Micropelt HOME
2. EEP A5-20-01, A5-20-06: Der von den Heizkörperaktoren detektiere Temperaturabfall bei geöffneten Fenster - reading windowOpen - wird jetzt nicht nur angezeigt, sondern kann sofort das Schließen des Heizkörperventils auslösen. Hierzu ist das Attribut "windowOpenCtrl" auf "enable" zu setzen. Bisher war dies nur über die Funktion "rcvRespAction" des EnOcean-Moduls oder notify bzw. doif abzubilden. Notify und doif haben den Nachteil, dass das Heizkörperventil nur um das Kommunikationsintervall des Aktors verzögert geschlossen werden kann.
ab V18405:
EEP A5-20-06: Anpassungen und Ergänzungen in der Verfahrenslogik
Einzelheiten sind in der commandref zu finden. Ich musste wieder an Änderungen an zentralen Routinen vornehmen. Deshalb bitte ich um gründliche Tests.
Vielen Dank für die wertvolle Arbeit zur Unterstützung des EnOcean-Protokolls in FHEM. Mit zahlreichen unterschiedlichen Modulen habe ich beste Erfahrungen gemacht. Nun bin ich mit einem Modell mal ganz vorne, kaum unterstützt Dein Modul das neue EEP, kann ich es ausprobieren:
Wie empfohlen habe ich einen Micropelt MVA-005 nach dem Update auf diese Version from Scratch neu angelernt und kann für den Betrieb mit FHEM-PID-Controler erwartungsgemäße Funktion bestätigen.
Stelle ich allerdings auf den geräteeigenen Controler um (pidCtrl=off) beobachte ich zwei Dinge:
1. Das reading des temperatureRevDevice wird _nicht_ gelesen. Ich habe mir mit einem DOIF beholfen, dass alle 10 Minuten mit setReading die aktualisierte Temperatur des Raumfühlers schreibt.
2. sowohl mit set setpointTemp wie auch mit set desired-temp gesetzte Sollwerte werden zunächst als setpointTempSet gesetzt (1. Listing) aber mit dem nächsten Funkwechsel wieder überschrieben mit dem Wert in setpointTemp (2. Listing).
Dadurch läuft der Aktor immer im Geöffnet-Zustand.
Listing1 (15° als Vorgabe gesetzt):
Internals:
DEF 0580FF65
FUUID 5c4630f2-f33f-e1df-9d5a-6f50aa16493e8ad9
IODev TCM_ESP3_0
LASTInputDev TCM_ESP3_0
MSGCNT 7
NAME RR_Kueche
NR 260
NTFY_ORDER 50-RR_Kueche
STATE T: 19.8 SPT: 21.0 SP: 100
TCM_ESP3_0_DestinationID FFFFFFFF
TCM_ESP3_0_MSGCNT 7
TCM_ESP3_0_PacketType 1
TCM_ESP3_0_RSSI -82
TCM_ESP3_0_ReceivingQuality good
TCM_ESP3_0_RepeatingCounter 0
TCM_ESP3_0_SubTelNum 3
TCM_ESP3_0_TIME 2019-01-21 23:06:26
TYPE EnOcean
OLDREADINGS:
READINGS:
2019-01-21 23:06:26 actuatorState ok
2019-01-21 22:22:26 battery ok
2019-01-21 23:06:26 energyInput enabled
2019-01-21 23:06:26 energyStorage charged
2019-01-21 23:06:26 maintenanceMode off
2019-01-21 23:06:26 operationMode setpointTemp
2019-01-21 23:13:47 pidState stopped
2019-01-21 23:06:26 radioComErr off
2019-01-21 23:06:26 radioSignalStrength strong
2019-01-21 23:06:26 roomTemp 20.0
2019-01-21 23:06:26 setpoint 100
2019-01-21 23:06:26 setpointTemp 21.0
2019-01-21 23:13:47 setpointTempSet 15.0
2019-01-21 23:06:26 state T: 19.8 SPT: 21.0 SP: 100
2019-01-21 21:52:02 teach 4BS teach-in accepted EEP A5-20-06 Manufacturer: Jaeger Direkt
2019-01-21 23:11:55 temperature 19.8
2019-01-21 23:13:47 waitingCmds setpointTemp
2019-01-21 23:06:26 wakeUpCycle 600
2019-01-21 23:06:26 window closed
helper:
battery ok
stopped 1
calcPID:
undef
HASH(0x5701388)
stop
timer:
alarm:
HASH(0x5701388)
alarm
no_response_from_actuator
1
3
Attributes:
IODev TCM_ESP3_0
comMode biDir
destinationID unicast
eep A5-20-06
manufID 040
pidCtrl off
room EnOcean
signOfLife on
subDef FF973805
subType hvac.06
teachMethod 4BS
temperatureRefDev TF.Kueche
verbose 0
webCmd desired-temp
widgetOverride desired-temp:colorpicker,BRI,15,1,25
windowOpenCtrl enable
Listing 2 (nächster Funkwechsel OHNE manuelle Eingabe):
Internals:
DEF 0580FF65
FUUID 5c4630f2-f33f-e1df-9d5a-6f50aa16493e8ad9
IODev TCM_ESP3_0
LASTInputDev TCM_ESP3_0
MSGCNT 8
NAME RR_Kueche
NR 260
NTFY_ORDER 50-RR_Kueche
STATE T: 19.8 SPT: 21.0 SP: 100
TCM_ESP3_0_DestinationID FFFFFFFF
TCM_ESP3_0_MSGCNT 8
TCM_ESP3_0_PacketType 1
TCM_ESP3_0_RSSI -80
TCM_ESP3_0_ReceivingQuality good
TCM_ESP3_0_RepeatingCounter 0
TCM_ESP3_0_SubTelNum 3
TCM_ESP3_0_TIME 2019-01-21 23:16:26
TYPE EnOcean
OLDREADINGS:
READINGS:
2019-01-21 23:16:26 actuatorState ok
2019-01-21 22:22:26 battery ok
2019-01-21 23:16:26 energyInput enabled
2019-01-21 23:16:26 energyStorage charged
2019-01-21 23:16:26 maintenanceMode off
2019-01-21 23:16:26 operationMode setpointTemp
2019-01-21 23:16:26 pidState stopped
2019-01-21 23:16:26 radioComErr off
2019-01-21 23:16:26 radioSignalStrength weak
2019-01-21 23:16:26 roomTemp 20.0
2019-01-21 23:16:26 setpoint 100
2019-01-21 23:16:26 setpointTemp 21.0
2019-01-21 23:16:26 setpointTempSet 21
2019-01-21 23:16:26 state T: 19.8 SPT: 21.0 SP: 100
2019-01-21 21:52:02 teach 4BS teach-in accepted EEP A5-20-06 Manufacturer: Jaeger Direkt
2019-01-21 23:11:55 temperature 19.8
2019-01-21 23:16:26 wakeUpCycle 600
2019-01-21 23:16:26 window closed
helper:
battery ok
stopped 1
calcPID:
undef
HASH(0x5701388)
stop
timer:
alarm:
HASH(0x5701388)
alarm
no_response_from_actuator
1
3
Attributes:
IODev TCM_ESP3_0
comMode biDir
destinationID unicast
eep A5-20-06
manufID 040
pidCtrl off
room EnOcean
signOfLife on
subDef FF973805
subType hvac.06
teachMethod 4BS
temperatureRefDev TF.Kueche
verbose 0
webCmd desired-temp
widgetOverride desired-temp:colorpicker,BRI,15,1,25
windowOpenCtrl enable
Was habe ich falsch gemacht, was läuft schief?
---------------------------------------------------
Window-Open habe ich simuliert mit einer gezielten Abkühlung des Device. Es hat innerhalb einer Minute reagiert, aber etwas unerwartet:
(Ausschnitt aus dem Listing)
2019-01-21 23:28:24 roomTemp 23.0
2019-01-21 23:28:24 setpoint 100
2019-01-21 23:28:24 setpointSet 0
2019-01-21 23:25:14 setpointTemp 26.0
2019-01-21 23:28:24 setpointTempSet 26
2019-01-21 23:28:24 state T: 20.0 SPT: 26.0 SP: 100
2019-01-21 21:52:02 teach 4BS teach-in accepted EEP A5-20-06 Manufacturer: Jaeger Direkt
2019-01-21 23:21:55 temperature 20.0
2019-01-21 23:28:24 waitingCmds setpointTemp
2019-01-21 23:28:24 wakeUpCycle 600
2019-01-21 23:28:24 window open
SetpointSet 0 wird dann auch mit dem nächsten Funkkontakt korrekt in setpoint 0 umgesetzt.
Wieso wird nun eine Temperatur von 26 Grad als Sollwert angetragen, ich hätte eher das Gegenteil erwartet? Was sagt mir diese Angabe. Vom Wert könnte es eher feedTemp sein (der Vorlauf hatte etwa diesen Wert)
Fenster geschlossen wird auch erkannt.
-------------------
Das im gplot aufgezeigte Reading feedTemp taucht bei mir nicht auf (weder im pidCtr on|off)
-------------------
Ist geplant, die Handverstellung -imho local offset - zu unterstützen?
Christian
Herzliche Grüße
Christian Wagner
Die Inkonsistenzen in der Verfahrenslogik bei den unterschiedlichen Konstellationen sollten jetzt beseitigt sein.
Vom Aktor wird entweder die roomTemp oder feedTemp übermittelt. Sofern roomTemp bei einem vorhandenen externen Sensor für die Steuerung nicht benötigt wird, kann feedTemp über das Attribut "measurementTypeSelect" ausgewählt werden.
Die Solltemperatur kann auch lokal am Aktor verändert werden, sofern dies nicht mit dem Attribut "blockKey" unterbunden wurde. Sollwertvorgaben in Fhem haben aber Priorität.
Funktioniert in allen Punkten - ganz herzlichen Dank für die Anpassungen.
Christian