Klimaanlage mittels Thermostat in Homekit integrieren?

Begonnen von Dracolein, 19 Oktober 2025, 07:48:32

Vorheriges Thema - Nächstes Thema

Dracolein

Hallo zusammen,

trotz intensiver Recherche und etlichen Trial&Error Versuchen komme ich nicht zum Ziel und hoffe auf Eure Expertise:
Gern möchte ich die Innengeräte meiner Splitklimageräte auch in Homekit einbinden (dort sind schon etliche Geräte via FHEM erfolgreich aktiv) und möchte dazu das
genericDeviceType=thermostatverwenden.

Problem:
Das FHEM-Device des Innengerätes wird über folgende zwei Readings gesteuert/angesprochen:
ZitatoperationMode:fanOnly,heating,cooling,auto,dry
onOffMode:on,off
setpoint: [gewünschte Zieltemperatur]
roomTemperature: [Ist-Temperatur]

Folgende Elemente funktionieren bereits in Homekit:
  • Ziel-Temperatur: TargetTemperature=setpoint::setpoint,minValue=18,maxValue=30,minStep=0.5
  • Ist-Temperatur: CurrentTemperature=roomTemperature
  • Modus-Darstellung (solala): CurrentHeatingCoolingState=HeatingState,values=HEAT:HEAT;COOL:COOL;AUTO:AUTO;OFF:OFF
  • Ein- & Aus: TargetHeatingCoolingState=operationMode::operationMode,cmds=OFF:onOffMode+off;COOL:onOffMode+on+;;+operationMode+cooling;HEAT:onOffMode+on;;+operationMode+heating;AUTO:onOffMode+on;;+operationMode+auto

Dazu habe ich ein userReadings HeatingState gebastelt:
HeatingState {
  my $onoff = ReadingsVal("DaikinCloud_Wohnzimmer","onOffMode","off");
  my $mode  = ReadingsVal("DaikinCloud_Wohnzimmer","operationMode","off");
  return "OFF" if($onoff eq "off");
  return "HEAT" if($onoff eq "on" && $mode eq "heating");
  return "COOL" if($onoff eq "on" && $mode eq "cooling");
  return "AUTO" if($onoff eq "on" && $mode eq "auto");
  return "AUTO" if($onoff eq "on" && $mode eq "fanOnly");
  return "AUTO" if($onoff eq "on" && $mode eq "dry");
  return "OFF";
}

Zwischenfazit:
Ich kann die Ist-Temperatur ablesen, die Soll-Temperatur erfolgreich ändern(Änderung kommt in FHEM auch fein an) und den Betriebsmodus beschränkt auf Ein/Aus erfolgreich ändern. So sieht es derzeit aus: Du darfst diesen Dateianhang nicht ansehen.

Ich schaffe es jedoch nicht, den Betriebsmodus aus Homekit heraus vollständig zu ändern (Cool/Heat/Auto). Wie kann ich das realisieren, damit Homekit einen Befehl an FHEM versendet, welcher dort in zwei verschiedene Befehle (Ein- bzw. Ausschalten UND Modus=Heat/Cool/Auto) umgewandelt wird?
TargetHeatingCoolingState= ?
Folgenden Codeschnipsel fand ich im Forum und habe ihn versucht anzupassen. Es macht mir immerhin möglich, die Anlage Ein- und Auszuschalten, jedoch wird der Modus Heizen/Kühlen/Auto nicht übernommen. Kann ich die Befehle doppelt mappen?

TargetHeatingCoolingState=operationMode::operationMode,cmds=OFF:onOffMode+off;COOL:onOffMode+on+;;+operationMode+cooling;HEAT:onOffMode+on;;+operationMode+heating;AUTO:onOffMode+on;;+operationMode+auto

Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;