AVM FRITZ!DECT 301 Thermostate to Alexa and HomeKit

Hello, I had problems with the integration of my AVM FRITZ!DECT 301 thermostats to Alexa and Apple HomeKit. I use openHAB 3.4. First an example of my item definition, made in files:

Number:Temperature          dg_zimmer_1_dect301_messwert_temperatur                     "Aktuelle Messtemperatur [%.1f %unit%]"          <temperature>       (gThermostat_Zimmer_1, gZimmer_1_Temperatur)              ["Measurement", "Temperature"]    {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:temperature", alexa="CurrentTemperature" [scale="Celsius"], homekit="CurrentTemperature"}
Number:Temperature          dg_zimmer_1_dect301_regler_solltemperatur                   "Thermostat-Temperatursollwert [%.1f %unit%]"    <temperature>       (gThermostat_Zimmer_1)                                    ["Setpoint", "Temperature"]       {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:set_temp", alexa="TargetTemperature" [scale="Celsius"], homekit="TargetTemperature"}
Number:Temperature          dg_zimmer_1_dect301_regler_absenktemperatur                 "Thermostat-Absenktemperatur [%.1f %unit%]"      <temperature>       (gThermostat_Zimmer_1)                                    ["Setpoint", "Temperature"]       {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:eco_temp"}
Number:Temperature          dg_zimmer_1_dect301_regler_komforttemperatur                "Thermostat-Komfortemperetur [%.1f %unit%]"      <temperature>       (gThermostat_Zimmer_1)                                    ["Setpoint", "Temperature"]       {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:comfort_temp"}
String                      dg_zimmer_1_dect301_regler_modus                            "Thermostat Modus [%s]"                          <heating>           (gThermostat_Zimmer_1)                                    ["Status"]                        {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:radiator_mode", homekit="CurrentHeatingCoolingMode"}
String                      dg_zimmer_1_dect301_status_modus                            "Thermostat Modus [%s]"                          <heating>           (gThermostat_Zimmer_1)                                    ["Status"]                        {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:mode"}
Number                      dg_zimmer_1_dect301_messwert_batterie                       "Batteriestand"                                  <battery>           (gBatterie_Thermostat_Zimmer_1)                           ["Status", "Energy"]              {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:battery_level"}
Switch                      dg_zimmer_1_dect301_status_batterie                         "Batterie schwach"                               <lowbattery>        (gBatterie_Thermostat_Zimmer_1)                           ["LowBattery"]                    {channel="avmfritz:FRITZ_DECT_301:192_168_178_1:avm_fb_thermostat_zimmer_1:battery_low"}

Alle channel are working and I get values. The first problem is Alexa. I own also FRITZ!DECT 200 outlet

Switch                      eg_kueche_dect200_schalter_steckdose                        "Steckdose Küche"                                <poweroutlet_eu>    (gSteckdose_Kueche_1)                                     ["Switch", "Voltage"]             {channel="avmfritz:FRITZ_DECT_200:192_168_178_1:avm_fb_dect200_kueche:outlet", alexa="Outlet", homekit="Outlet"}

and this device is found by Alexa and could be switched per voice. But my thermostats are not found. But why? I mean that this worked in the past.

The second problem is Apple HomeKit. Actual I use the thermostats over homebridge but I want to make things easier and give openHAB a second chance for HomeKit. I don’t understand, which item I should give

homekit = "TargetHeatingCoolingMode"

Because this mode is missing, I got only a dummy device. In my understanding, I had only one item for the mode and to give two HomeKit definition in the way

homekit = "CurrentHeatingCoolingMode", homekit = "TargetHeatingCoolingMode"

seems not to work.

At least for Alexa you should create a group for the thermostat and present this together with the individual items to Alexa.

Please have a look into the documentation where also am example thermostat definition is included

Hi Matthias,

first I thought “Oh,have I actually overlooked this?”, but in my groups I have defined for the example thermostat:

Group                       gThermostat_Zimmer_1                      "Thermostat Zimmer 1"                             <radiator>          (gThermostate, gMesswerte_Thermostate, gZimmer_1)         ["RadiatorControl"]    {alexa="Thermostat", homekit="Thermostat"}

As I said, I imagine that it has worked before. In the last few days, I have only completely reset my openHAB (new Installation with Ubuntu Server 22.04 LTS) and also reset the connection to myopenHAB and Alexa. Now the thermostats are no longer found.

Worked before?
Also with oh3.4 or with an older version?

I had a openHAB installation since version 3 and updated every half year. But I can’t remember when I could stopped.

With oh3.4 the handling of %unit% seems to have changed (actually it has not changed but per my understanding of the issue it was a bug before and some things within OH only worked because of the bug and stopped working now)

Please see this issue

Maybe for a test change your item definition

Hi got Alexa working again, not sure how, but now the Thermostat are again found. Stays the HomeKit Problem.

I found something here. So there are

org.openhab.homekit:thermostatCurrentModeHeating=COMFORT
org.openhab.homekit:thermostatCurrentModeCooling=ECO
org.openhab.homekit:thermostatCurrentModeOff=OFF

possible to define as an advanced mode. But this is missing in the documentation to HomeKit. But in the end I run also into the problems which is the correct mode and Heating Mode. Is there anybody, which has an working example of AVM thermostats?

I cannot help with homekit but would be interesting to know (also for others) how you fixed your issue?

As I wrote, I am not sure. In the last days, I had to restart the complete OS because of a kernel update. And I removed all HomeKit things from the thermostat channel definition. I only had now the group for each thermostat with

alexa="Thermostat"

assigned and two channels:

...:temperature", alexa="CurrentTemperature"}
...:set_temp", alexa="TargetTemperature"}
1 Like