Exoten-Thema: Eltako FHK / FHK61 / Oventrop R-Con FBH

Begonnen von Flachzange, 17 Juli 2025, 21:26:07

Vorheriges Thema - Nächstes Thema

Flachzange

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