en:key Ventilregler MD10-FTL-HE Ansteuerung in fhem

Begonnen von Human, 12 Januar 2016, 14:05:56

Vorheriges Thema - Nächstes Thema

Theo23

Hi, der Unterschied zwischen MD10-FTL und der P Version besteht nur in der Verpackungsform, technisch identisch.

kuwagei

Möchte dieses Thema nochmal aufgreifen, da ich inzwischen auch zwei MD10-FTL-HE erworben habe.

Gemäß FHEM Reference (EEP A5-20-01) ist ja der interne Temperatursensor nicht zur Temperaturvorgabe für den PID-Regler geeignet. Hat jemand inzwischen dafür eine praktikable Lösung mit externem Sensor?

Aus dem K&B Raumsensor RPW301-FTL bekomme ich mittels FHEM offenbar keinen Temperaturwert, da er ein MSC-Profil verwendet:

Internals:
   CHANGED   
   DEF        0188AF55
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     651
   NAME       ENO_0188AF55
   NR         167
   NTFY_ORDER 50-Dz.Raumthermostat
   STATE      60069A9B9C6261605F5E5D5CA4A5
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 651
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -71
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 1
   TCM_ESP3_0_TIME 2018-02-27 11:47:10
   TYPE       EnOcean
   READINGS:
     2018-02-24 17:47:06   state           60069A9B9C6261605F5E5D5CA4A5
     2018-02-18 22:22:06   teach           4BS teach-in accepted EEP A5-10-19 Manufacturer: Kieback + Peter
Attributes:
   IODev      TCM_ESP3_0
   alias      Dachzimmerthermostat
   eep        A5-10-19
   genericDeviceType thermostat
   icon       temp_control
   manufID    00A
   model      other
   room       Dachzimmer,EnOcean,Homekit
   subType    roomSensorControl.19
   teachMethod 4BS


Fritz: Box5590, Rep.1200AX+2400, SmartGW, 2xPL546E, 3xDECT200, 3x302, 3x440, RolloTronDECT,
Raspberrymatic-, FHEM-, deConz-Docker auf Raspi3B, HB-Docker auf Tinkerboard, div. Zigbee-Geräte
3xHM-LC-Sw1-FM,3xHM-LC-Sw1PBU-FM,3xHM-LC-Sw2-FM,2xHM-CC-RT-DN, HM-LC-Sw1PBU-FM,HM-Sec-...
DUOFERN+9x Rollotron

dafex

Zitat von: kuwagei am 27 Februar 2018, 11:56:44
Gemäß FHEM Reference (EEP A5-20-01) ist ja der interne Temperatursensor nicht zur Temperaturvorgabe für den PID-Regler geeignet. Hat jemand inzwischen dafür eine praktikable Lösung mit externem Sensor?
Aus der commandRef: attr temperatureRefDev. Es geht also jeder Temperatur Sensor.

ZitatAttributes:
   IODev      TCM_ESP3_0
   alias      Dachzimmerthermostat
   eep        A5-10-19
   genericDeviceType thermostat
   icon       temp_control
   manufID    00A
   model      other
   room       Dachzimmer,EnOcean,Homekit
   subType    roomSensorControl.19
   teachMethod 4BS
Ist das das List vom RPW301-FTL oder MD10-FTL-HE?

Ich nehme an das ist die zugehörige Raumbedieneinheit (RPW301-FTL) zum Ventilregler. Dann probier das mal:
defmod deineRCU  EnOcean 0188AF55
attr deineRCU IODev TCM_ESP3_0
attr deineRCU comment DB1: Bewegungsmelder\
- 04 Spar\
- 20 Spar Fenster offen\
- 36 Komfort ohne Bewegung\
- 52 Komfort ohne Bewegung\
- 68 Komfort ohne Bewegung\
- 84 Komfort ohne Bewegung Fenster offen\
- 132 Spar mit Bewegung manuell\
- 164 Komfort mit Bewegung\
- 196 Komfort mit Bewegung\
- 228 Komfort mit Bewegung\
\
DB2: Temperatur\
- Invers 255 = 0 °C, 0 = 40 °C\
\
DB3: Heizmodus\
- 114 Spar\
- 140 Komfort
attr deineRCU  devChannel 255
attr deineRCU  eventMap on:Ja off:Nein
attr deineRCU  manufID 00A
attr deineRCU  stateFormat T: temperature ºC, heating, Bewegung: motion
attr deineRCU  subType raw
attr deineRCU  userReadings temperature { sprintf("%.1f", 40-(ReadingsVal($NAME,"DB_2",0)*(40/255))) },\
heating { ReadingsVal($NAME,"DB_3","undef") == 114 ? "Spar" : "Komfort" },\
motion {ReadingsVal($NAME,"DB_1","undef") > 131 ? "on" : "off"}

Wie ich den RPW301-FTL eingelernt habe weiß ich nicht mehr. Ich denke wenn du obigen Code in dein bestehendes Gerät eingibst, sollte es funktionieren. Das Gerät deineRCU lauscht dann mit was der RPW301-FTL so von sich gibt. Der RPW301-FTL zeigt dann im Display einen Fehler an, da ja kein Ventilregler eingelernt ist. Was bemerkensert ist, selbst wenn es im Raum über eine Woche Stockdunkel ist, sendet das Teil munter weiter.

Wie du anhand des Kommentars siehst, habe ich versucht die Bewegungs- und Fenster offen Erkennung auszuwerten. Da es so wie es jetzt definiert ist, bei mir läuft wie ich es brauche, habe ich das nicht weiter verfolgt.

Verbesserungsvorschläge wie man die userReadings evtl. eleganter programmieren kann sind gerne genommen.

kuwagei

Hallo dafex,

vielen Dank, konnte bisher mit den enOcean-Telegrammen nicht viel anfangen und an den ,,raw"-Modus hab' ich mich gar nicht rangetraut, aber mit diesen Attributen bekomme ich jetzt endlich eine lesbare Anzeige im FHEM.
Mein List schaut nun folgendermaßen aus:

Internals:
   DEF        0188AF55
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     44
   NAME       ENO_0188AF55
   NR         167
   NTFY_ORDER 50-ENO_0188AF55
   STATE      stateFormat T: 21.0 ºC, heating, Bewegung: motion
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 44
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -71
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 1
   TCM_ESP3_0_TIME 2018-03-03 21:02:37
   TYPE       EnOcean
   READINGS:
     2018-03-03 21:02:37   DB_0            211
     2018-03-03 21:02:37   DB_1            242
     2018-03-03 21:02:37   DB_2            121
     2018-03-03 21:02:37   DB_3            132
     2018-03-03 21:02:37   DB_4            162
     2018-03-03 21:02:37   DB_5            0
     2018-03-03 21:02:37   manufID         00A
     2018-03-03 21:02:37   state           RORG: D1 DATA: 00A28479F2D3 STATUS: 00 ODATA: 01FFFFFFFF4700
     2018-02-18 22:22:06   teach           4BS teach-in accepted EEP A5-10-19 Manufacturer: Kieback + Peter
     2018-03-03 21:02:37   temperature     21.0
   helper:
Attributes:
   IODev      TCM_ESP3_0
   alias      Dachzimmersensor
   comment    DB1: Bewegungsmelder\
- 04 Spar\
- 20 Spar Fenster offen\
- 36 Komfort ohne Bewegung\
- 52 Komfort ohne Bewegung\
- 68 Komfort ohne Bewegung\
- 84 Komfort ohne Bewegung Fenster offen\
- 132 Spar mit Bewegung manuell\
- 164 Komfort mit Bewegung\
- 196 Komfort mit Bewegung\
- 228 Komfort mit Bewegung\
\
DB2: Temperatur\
- Invers 255 = 0 °C, 0 = 40 °C\
\
DB3: Heizmodus\
- 114 Spar\
- 140 Komfort
   devChannel 255
   eep        A5-10-19
   eventMap   on:Ja off:Nein
   genericDeviceType thermostat
   icon       hm-tc-it-wm-w-eu
   manufID    00A
   model      other
   room       Dachzimmer,EnOcean,Homekit
   stateFormat stateFormat T: temperature ºC, heating, Bewegung: motion
   subType    raw
   teachMethod 4BS
   userReadings temperature { sprintf("%.1f", 40-(ReadingsVal($NAME,"DB_2",0)*(40/255))) },\
heating { ReadingsVal($NAME,"DB_3","undef") == 114 ? "Spar" : "Komfort" },\
motion {ReadingsVal($NAME,"DB_1","undef") > 131 ? "on" : "off"}

Der RPW301-FTL zeigt übrigens im Display keinen Fehler an, ich hatte ihn vorher per Knopfdruck mit dem MD-10-FTL gekoppelt.
Kann ich den Raumsensor nun einfach als ,,setpointRefDev" beim MD-10-FTL-HE eintragen?
Am STATE hat sich dadurch nichts verändert:
list EnO_01886737
Internals:
   DEF        01886737
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     11
   NAME       EnO_01886737
   NR         194
   NTFY_ORDER 50-EnO_01886737
   STATE      T: 33.1 SPT: 15.0 SP: 100
   TCM_ESP3_0_DestinationID 0188AF55
   TCM_ESP3_0_MSGCNT 11
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -85
   TCM_ESP3_0_ReceivingQuality good
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 3
   TCM_ESP3_0_TIME 2018-03-03 21:12:43
   TYPE       EnOcean
   READINGS:
     2018-02-24 14:41:50   actuatorState   ok
     2018-02-24 15:03:50   alarm           no_response_from_actuator
     2018-02-24 14:41:50   battery         ok
     2018-02-24 14:41:50   cover           closed
     2018-03-03 21:15:37   delta           -13.1
     2018-02-24 14:41:50   energyInput     disabled
     2018-02-24 14:41:50   energyStorage   charged
     2018-02-24 14:41:50   maintenanceMode off
     2018-02-24 14:41:50   operationMode   setpointTemp
     2018-03-03 21:15:37   p_d             0
     2018-03-03 21:15:37   p_i             -29.6666666666667
     2018-03-03 21:15:37   p_p             -452.5
     2018-03-03 21:15:37   pidAlarm        dead_sensor
     2018-03-03 21:15:37   pidState        alarm
     2018-02-24 14:41:50   roomTemp        33.1
     2018-02-24 14:41:50   selfCtrl        on
     2018-02-24 14:41:50   setpoint        100
     2018-03-03 21:15:37   setpointCalc    -482.166666666667
     2018-03-03 21:15:37   setpointSet     0
     2018-02-24 14:41:50   setpointTemp    15.0
     2018-03-03 16:40:25   setpointTempSet 20.0
     2018-02-24 14:41:50   state           T: 33.1 SPT: 15.0 SP: 100
     2018-02-18 22:42:37   teach           4BS teach-in accepted EEP A5-20-01 Manufacturer: Kieback + Peter
     2018-02-24 14:41:50   temperature     33.1
     2018-03-03 16:40:25   waitingCmds     setpointTemp
     2018-02-24 14:41:50   wakeUpCycle     1200
     2018-02-24 14:41:50   window          closed
   helper:
     actorErrorAction freeze
     actorErrorPos 0
     actorInterval 10
     actorKeepAlive 400
     actorLimitLower 0
     actorLimitUpper 100
     actorThreshold 0
     actorTimestamp 2018-03-03 21:15:37
     actorValueDecPlaces 0
     adjust     100
     calcInterval 400
     deltaTreshold 0
     factor_D   0
     factor_I   0.25
     factor_P   25
     reverseAction 0
     sensorTimeout 4800
     stopped    0
     updateInterval 400
     calcPID:
       undef
       HASH(0x30ab2e8)
       periodic
Attributes:
   IODev      TCM_ESP3_0
   alias      Dachzimmerheizung
   comMode    biDir
   destinationID unicast
   genericDeviceType thermostat
   icon       sani_heating
   manufID    00A
   room       Dachzimmer,EnOcean,Homekit
   setpointRefDev ENO_0188AF55
   subType    hvac.01
   teachMethod 4BS
   webCmd     setpointTemp
Fritz: Box5590, Rep.1200AX+2400, SmartGW, 2xPL546E, 3xDECT200, 3x302, 3x440, RolloTronDECT,
Raspberrymatic-, FHEM-, deConz-Docker auf Raspi3B, HB-Docker auf Tinkerboard, div. Zigbee-Geräte
3xHM-LC-Sw1-FM,3xHM-LC-Sw1PBU-FM,3xHM-LC-Sw2-FM,2xHM-CC-RT-DN, HM-LC-Sw1PBU-FM,HM-Sec-...
DUOFERN+9x Rollotron

kuwagei

Leider gehen die UserReadings für Bewegung und Fensteröffnung auch noch nicht, was hab ich da falsch?
(das zuviel kopierte stateFormat bei STATE habe ich noch herausgenommen)
Fritz: Box5590, Rep.1200AX+2400, SmartGW, 2xPL546E, 3xDECT200, 3x302, 3x440, RolloTronDECT,
Raspberrymatic-, FHEM-, deConz-Docker auf Raspi3B, HB-Docker auf Tinkerboard, div. Zigbee-Geräte
3xHM-LC-Sw1-FM,3xHM-LC-Sw1PBU-FM,3xHM-LC-Sw2-FM,2xHM-CC-RT-DN, HM-LC-Sw1PBU-FM,HM-Sec-...
DUOFERN+9x Rollotron

dafex

Zitat2018-02-24 14:41:50   actuatorState   ok
     2018-02-24 15:03:50   alarm           no_response_from_actuator
Wie du siehst hat Fhem das letzte mal am 24.02. um 14:41:50 mit dem Ventilregler kommuniziert. Kurz darauf gibt Fhem einen Alarm aus. Ich denke so lange der Ventilregler im RPW301-FTL eingelernt ist, wird das auch nicht funktionieren. Lösche doch mal die Attribute eep und model in der Definition vom RPW301-FTL. Ein shutdown restart sollte folgen.

Was möchtest du eigentlich erreichen?

Es gibt zwei Möglichkeiten:
1. Du lernst den Ventilregel in die Raumbedieneinheit ein. Die Regelung erfolgt dann nur durch die Raumbedieneinheit. Fhem kann dann nur den Status der Raumbedieneinheit mitlesen. Wie die Werte aber dann interpretiert werden weiß ich nicht.
2. Du lernst den Ventilregler in Fhem ein. Ein Ventilregler kann immer nur in ein Gerät eingelernt werden! Die Ist-Temperatur übernimmst du dann per attr temperatureRefDev von der Raumbedieneinheit. Die Regelung erfolgt dann durch Fhem.

Ich nutze die 2. Möglichkeit.

kuwagei

OK, nachdem ich den FD10 auf den ESP3 ,,umgelernt" habe, werden auch die userReadings heating und motion vom RPW301 jetzt ausgewertet, hätte nicht gedacht, dass sich das so auswirkt, vielen Dank!

Fritz: Box5590, Rep.1200AX+2400, SmartGW, 2xPL546E, 3xDECT200, 3x302, 3x440, RolloTronDECT,
Raspberrymatic-, FHEM-, deConz-Docker auf Raspi3B, HB-Docker auf Tinkerboard, div. Zigbee-Geräte
3xHM-LC-Sw1-FM,3xHM-LC-Sw1PBU-FM,3xHM-LC-Sw2-FM,2xHM-CC-RT-DN, HM-LC-Sw1PBU-FM,HM-Sec-...
DUOFERN+9x Rollotron

dafex

Danke für die Rückmeldung. Schön das es bei dir auch funktioniert.

Gruaß Josef

seb

Hallo zusammen,

da hier ja der ein oder andere den MD10-FTL nutzt, hoffe ich dass mir jemand meine Verständnisfrage zum Zusammenspiel zwischen der manuellen Sollwertvorgabe am Ventil (Handregler *, 1-5) und der Sollwertvorgabe über FHEM (setpoint 0 - 100, setpointTemp in °C) beantworten kann.

Im Datenblatt steht dazu folgendes:
ZitatDie gewünschte Komforttemperatur wird mit dem Drehkopf am en:key Ventilregler manuell einge-
stellt. Die Raumtemperatur wird dann entsprechend der manuell eingestellten Komforttemperatur
geregelt.

Der Ventilregler senkt bei entsprechender Ansteuerung von einem Funkpartner die zu regelnde
Raumtemperatur automatisch um 4 K, gegenüber der eingestellten Komforttemperatur, ab.

In dieser Konstellation unterscheidet der en:key Ventilregler zwei Temperaturniveaus:
- die vom Nutzer des Raumes gewünschte und eingestellte Temperatur,
  die sogenannte Komforttemperatur
- und die um 4 K abgesenkte Spartemperatur
Demnach kann per FHEM / Automatisierung eigentlich nur eine Absenkung des händisch eingestellten Sollwertes um die 4K realisiert werden, oder ?

Ein Setpoint von 100 (oder setpointTemp > temperature) bewirkt, dass der Sollwert des Handreglers eingestellt wird, ein Setpoint von 0 bewirkt dann einen Sollwert von 4K unterhalb des händischen Wertes.
Der MD10 wäre dann also ein konventionelles Thermostat mit ansteuerbarer "Absenkautomatik". Leider finde ich das nirgends so explizit formuliert.

Eine freie Regelung der Raumtemperatur unabhängig von Handreglerstellung wäre damit dann also nicht möglich. Die Erfassung der Raumtemperatur als Regelgröße an anderer Stelle im Raum ist damit auch nicht darstellbar, da die Komforttemperatur ja direkt am Heizkörper gemessen wird. Ist mein Verständnis dieses Aktors so richtig ?

VG
Sebastian