Hallo Experten,
mein Badezimmer hat eine Fußbodenheizung erhalten, die jetzt per Rücklauftemperaturbegrenzer (RTL) an den Heizkreis angeschlossen ist. Ich habe mich für ein RTL entschieden, welches von Hause aus auch EnOcean funkt: Oventrop Unibox T-RTL R-Tronic. Gemäß Hersteller soll sie mit einem Funk-Raumthermostat ,,R-Tronic" verwendet werden (welches ich auch grundsätzlich habe). Aber EnOcean ist ja ein vergleichsweise flexibles System, also habe ich mir das mal angeschaut. Verbaut ist ein Relaisaktor, der einen elektrischen Stellantrieb ansteuert. Der Relaisaktor scheint eine Auftragsproduktion von Eltako zu sein, aber kein exakter Klon eines Eltako FHK61. Das hat mir aber geholfen ihn in FHEM sichtbar zu machen.
Erstmal mein grundsätzliches Verständnis eines solchen Aktors samt Stellantrieb: Ein Raumthermostat (oder FHEM) sendet die aktuelle Temperatur und optional Setpoint z.B. via A5-10-06 an den Aktor. Der Aktor entscheidet zusammen mit seiner Hysterese-Einstellung, ob der Stellantrieb geschlossen oder geöffnet wird (binär bei 2-Punkt-Regelung).
Zu den FHKs finde ich hier insgesamt aber recht wenige Informationen. Die wenigen Beiträge habe ich durch und auch verstanden wie mittels temperatureRefDev und setCmdTrigger der Aktor mit Infos versorgt wird.
In FHEM bekomme ich zwei custom Readings gefüllt: "controllerMode" und "energyHoldOff". energyHoldOff interpretiere ich als den geschlossen/offen Status des Relais und damit, ob der Stellantrieb öffnet und schließt. Ist das Verständnis richtig?
controllerMode ist bei mir jedoch immer "auto". Die Eltakos scheinen hier verschiedene Modes zu unterstützen:
ZitatPTM200-Telegramm
ORG=0x05
Data_byte3 =
0x70 = Normalbetrieb
0x50 = Nachtabsenkung (-4°K)
0x30 = Absenkbetrieb (-2°K)
0x10 = Aus
Siehe auch dieser 11 Jahre alte Beitrag: https://forum.fhem.de/index.php?msg=129656 :)
Im Code dann so:
} elsif ($model =~ m/FAE14|FHK14|FHK61$/) {
# heating/cooling relay FAE14, FHK14, untested
$event = "controllerMode";
if ($db[0] == 0x30) {
# night reduction 2 K
push @event, "3:energyHoldOff:holdoff";
$msg = "auto";
} elsif ($db[0] == 0x10) {
# off
push @event, "3:energyHoldOff:normal";
$msg = "off";
} elsif ($db[0] == 0x70) {
# on
push @event, "3:energyHoldOff:normal";
$msg = "auto";
} elsif ($db[0] == 0x50) {
# night reduction 4 K
push @event, "3:energyHoldOff:holdoff";
$msg = "auto";
}
push @event, "3:$event:$msg";
Effektiv gibt es also noch "off" für controllerMode. Wann und wie das der Aktor sendet erschließt sich mir aber noch nicht. Wäre jetzt auch nur interessehalber....
Dann habe ich festgestellt, dass setPointTempRefDev nicht implementiert zu sein scheint in roomSensorControl.05 (im Gegensatz zu den hvac-Profilen). @Klaus wäre das möglich, das nachzuholen? Dann könnte ich FHEM als proxy zwischen beliebigen Devices nutzen. Setpoint von dem einen und Temp von dem anderen.
Danke und Gruß
Chris
define FHK_Bad EnOcean 051C6638
attr FHK_Bad IODev TCM_Remote_EG
attr FHK_Bad eep A5-10-06
attr FHK_Bad manufID 00D
attr FHK_Bad model Eltako_FHK61
attr FHK_Bad room Bad
attr FHK_Bad setCmdTrigger refDev
attr FHK_Bad setpointTempRefDev Raumcontroller_Bad
attr FHK_Bad subDef FFA47A52
attr FHK_Bad subType roomSensorControl.05
attr FHK_Bad temperatureRefDev Raumcontroller_Bad
# DEF 051C6638
# FUUID 6876837b-f33f-fd7e-0506-7c01b0828f9fe201
# IODev TCM_Remote_EG
# LASTInputDev TCM_Remote_EG
# MSGCNT 261
# NAME FHK_Bad
# NR 1004
# NTFY_ORDER 50-FHK_Bad
# STATE T: 22.0 SPT: 0.0 NR: 0
# TCM_Remote_DG_DestinationID FFFFFFFF
# TCM_Remote_DG_MSGCNT 121
# TCM_Remote_DG_PacketType 1
# TCM_Remote_DG_RSSI -91
# TCM_Remote_DG_ReceivingQuality bad
# TCM_Remote_DG_RepeatingCounter 0
# TCM_Remote_DG_SubTelNum 0
# TCM_Remote_DG_TIME 2025-07-17 17:55:27
# TCM_Remote_EG_DestinationID FFFFFFFF
# TCM_Remote_EG_MSGCNT 260
# TCM_Remote_EG_PacketType 1
# TCM_Remote_EG_RSSI -73
# TCM_Remote_EG_ReceivingQuality excellent
# TCM_Remote_EG_RepeatingCounter 0
# TCM_Remote_EG_SubTelNum 3
# TCM_Remote_EG_TIME 2025-07-17 18:55:43
# TCM_Remote_Garage_DestinationID FFFFFFFF
# TCM_Remote_Garage_MSGCNT 248
# TCM_Remote_Garage_PacketType 1
# TCM_Remote_Garage_RSSI -91
# TCM_Remote_Garage_ReceivingQuality bad
# TCM_Remote_Garage_RepeatingCounter 0
# TCM_Remote_Garage_SubTelNum 3
# TCM_Remote_Garage_TIME 2025-07-17 18:55:43
# TCM_Remote_KG_DestinationID FFFFFFFF
# TCM_Remote_KG_MSGCNT 193
# TCM_Remote_KG_PacketType 1
# TCM_Remote_KG_RSSI -94
# TCM_Remote_KG_ReceivingQuality bad
# TCM_Remote_KG_RepeatingCounter 0
# TCM_Remote_KG_SubTelNum 3
# TCM_Remote_KG_TIME 2025-07-17 18:55:43
# TYPE EnOcean
# eventCount 755
# Helper:
# DBLOG:
# RORG:
# logdb:
# TIME 1752605614.19024
# VALUE 4BS
# block:
# logdb:
# TIME 1752780078.82373
# VALUE unlock
# buttons:
# logdb:
# TIME 1752768628.21297
# VALUE pressed
# channelB:
# logdb:
# TIME 1752768628.21297
# VALUE BI
# controllerMode:
# logdb:
# TIME 1752771343.64841
# VALUE auto
# dataSent:
# logdb:
# TIME 1752605614.19658
# VALUE 40300D87
# energyHoldOff:
# logdb:
# TIME 1752771343.64841
# VALUE holdoff
# nightReduction:
# logdb:
# TIME 1752780078.81781
# VALUE 0
# setpointTemp:
# logdb:
# TIME 1752780078.81186
# VALUE 0.0
# state:
# logdb:
# TIME 1752780078.82971
# VALUE T: 22.0 SPT: 0.0 NR: 0
# statusSent:
# logdb:
# TIME 1752605614.20251
# VALUE 00
# teach:
# logdb:
# TIME 1752606254.71721
# VALUE 4BS teach-in sent
# temperature:
# logdb:
# TIME 1752780078.80508
# VALUE 22.0
# OLDREADINGS:
# READINGS:
# 2025-07-17 18:50:14 IODev TCM_Remote_EG
# 2025-07-17 21:21:18 block unlock
# 2025-07-17 18:55:43 controllerMode auto
# 2025-07-17 18:55:43 energyHoldOff holdoff
# 2025-07-17 21:21:18 nightReduction 0
# 2025-07-17 21:21:18 setpointTemp 0.0
# 2025-07-17 21:21:18 state T: 22.0 SPT: 0.0 NR: 0
# 2025-07-15 21:04:14 teach 4BS teach-in sent
# 2025-07-17 21:21:18 temperature 22.0
# helper:
#
setstate FHK_Bad T: 22.0 SPT: 0.0 NR: 0
setstate FHK_Bad 2025-07-17 18:50:14 IODev TCM_Remote_EG
setstate FHK_Bad 2025-07-17 21:21:18 block unlock
setstate FHK_Bad 2025-07-17 18:55:43 controllerMode auto
setstate FHK_Bad 2025-07-17 18:55:43 energyHoldOff holdoff
setstate FHK_Bad 2025-07-17 21:21:18 nightReduction 0
setstate FHK_Bad 2025-07-17 21:21:18 setpointTemp 0.0
setstate FHK_Bad 2025-07-17 21:21:18 state T: 22.0 SPT: 0.0 NR: 0
setstate FHK_Bad 2025-07-15 21:04:14 teach 4BS teach-in sent
setstate FHK_Bad 2025-07-17 21:21:18 temperature 22.0