Fritz!Dect 301 offset

In my fritzbox it is possible to set an offset for every thermostat because the temperature at the heating is different than in the room.

I use the avmfritz binding to get and set the values in the ui.
I look for a possibility to set the offset value with a rule so that i can use the fritzbox for setting the temperature by time and only set the offset value to correct the tempature.

Hi René,

I am afraid that is not possible. The AVM interface returns the offset for F!D301 as read only value. But of course you could persist the temperature and observe it over time to find out the fitting offset value.

Maybe you are interested in using the Offset Profile provided by the framework.

Hi Christoph,

thank you for your answer. You write that the offset is a readonly value. How can I get the value in the avm fritzbinding. Is there a special Channel/Parameter (temperature, actual_temp)? I only get the same temperature for both channels.

temperature channel, configuration parameter

I don’t find this configuration. I have only these options.

Which OH version do you use?

openHAB 2.3.0 Release Build

Ah, I see. Then you will have to wait for it. ;-). You need snapshot or milestone build for seeing it.

Hi,
as René, i’m trying to test with the hints above, but it seems not to work for me.

I’m running OH 2.4. M8

avm.items looks like:

.........
//Thermostat im Arbeitszimmer (Comet Dect)
Group                         gRFritz_01                        "Thermostat Fritz RF01 Büro"                                          <dect301>         (gFritz)                                          // RF stands for Radiator-Fritz
Number:Temperature            radiator_valve_01                 "Temp. Büro aktuell[%.1f %unit%]"                                     <heating1>        (EG_Buro,gRFritz_01,gRtIstI,gHeating)             { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:actual_temp" }
Number:Temperature            radiator_valve_01_Set             "Thermostat Büro Richtwert [%.1f %unit%]"                             <heating1>        (EG_Buro,gRFritz_01,gRtSoll)                      { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:set_temp" }
Number:Temperature            radiator_valve_01_Eco             "Thermostat Büro Richtwert Eco [%.1f %unit%]"                         <dect301>         (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:eco_temp" }
Number:Temperature            radiator_valve_01_Comfort         "Thermostat Büro Richtwert Komfort [%.1f %unit%]"                     <dect301>         (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:comfort_temp" }
String                        radiator_valve_01_ModeX           "Heizkörper Büro Modus 01 [%s]"                                       <temperature>     (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:mode" }
String                        radiator_valve_01_Mode            "Heizkörper Büro Modus [%s]"                                          <heating>         (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:radiator_mode" }
Switch                        radiator_valve_01_Battery         "Batterie Büro Zustand [MAP(battery.map):%s]"                         <lowbattery>      (EG_Buro,gRFritz_01,gWart)                        { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:battery_low" }
Number                        radiator_valve_01_Battery_Level   "Batterie Büro Level [%d %%]"                                         <batterylevel>    (EG_Buro,gRFritz_01,gBattLevel)                   { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:battery_level" }
Contact                       radiator_valve_01_locked          "Thermostat Büro Sperre extern [MAP(fritz.map):%s]"                   <lock>            (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:locked" }
Contact                       radiator_valve_01_dev_locked      "Thermostat Büro Sperre intern [MAP(fritz.map):%s]"                   <lock>            (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:device_locked" }
DateTime                      radiator_valve_01_next_change     "Umschalt-Zeitpunkt Büro [%1$tH:%1$tM]"                               <time>            (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:next_change" }
Number:Temperature            radiator_valve_01_next_temp       "Umschalt-Temperatur Büro [%.1f %unit%]"                              <temperature>     (EG_Buro,gRFritz_01)                              { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:next_temp" }
Number:Temperature            radiator_valve_01_Temp            "Thermostat Büro Temperatur [%.1f %unit%]"                            <temperature>     (EG_Buro,gRtSoll,gRFritz_01)                      { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature" }
//Number:Temperature            radiator_valve_01_Offset          "Thermostat Büro Temperatur Offset[%.1f %unit%]"                      <temperature>     (EG_Buro,gRtSoll,gRFritz_01)                      { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:offset" }
..........

avm.things

Bridge avmfritz:fritzbox:Fritz-Box-7490 @ "Office" [ ipAddress="fritz.box", user="dontKnow", password="topSecret" ] {
  //up to ten switchable outlets
  Thing FRITZ_DECT_210  116570136076 "FRITZ!DECT 210 #1"            [ ain="116570136076" ]
  Thing FRITZ_DECT_200  087610467933 "FRITZ!DECT 200 #2"            [ ain="087610467933" ]
  Thing FRITZ_DECT_210  116570075282 "FRITZ!DECT 210 #3"            [ ain="116570075282" ]
  Thing FRITZ_DECT_200  087610494097 "FRITZ!DECT 200 #2"            [ ain="087610494097" ]
  
  
  //up to twelve heating thermostats
  Thing Comet_DECT      119601003400 "Comet DECT #1"        @"Office"       [ ain="119601003400" ]
  Thing Comet_DECT      119600949320 "Comet DECT #2"        @"Office"       [ ain="119600949320" ]
  Thing FRITZ_DECT_301  099950077350 "FRITZ!DECT 301 #3"    @"Office"       [ ain="099950077350" ]
  Thing FRITZ_DECT_301  099950074210 "FRITZ!DECT 301 #4"    @"Office"       [ ain="099950074210" ]
  Thing Comet_DECT      117950357048 "Comet DECT #5"        @"Office"       [ ain="117950357048" ]
  Thing Comet_DECT      119600710200 "Comet DECT #6"        @"Office"       [ ain="119600710200" ]
  }

When trying to change(save) the channel i get an error 409

When trying to change(save) the linked item i get an error 405

thx, for this link:

but it’s a bit “abstract” for me.:cry:

Do you have a working example(item/rule), where i can profit ?
thx in advance.

Hi Peter,

The errors occurring in Paper UI while editing Channels or Items are valid because you set up your stuff in a textual configuration. It is not possible to do both at the same time.

Yes, I understand. The link is for the ESH framework which is a little bit more technical than the OH2 documentation. We are working on a OH2 specific part for the profiles. You can find a preview here.

Let’s try to apply the offset profile in your setup. I think an Item should look like this:

Number:Temperature radiator_valve_01_Temp "Thermostat Büro Temperatur [%.1f %unit%]" <temperature> (EG_Buro,gRtSoll,gRFritz_01) { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset",offset="<VALUE>"] }

The part <VALUE> has to be replaced with your preferred offset.

Hi Christoph,
thx for reply and help. Sorry for late answer,i was a bit x-mas-shopping :evergreen_tree:

I made the following tests with items 1 to 8 and that’s the result:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 1

Number:Temperature radiator_valve_01_Temp1  "Thermostat Büro Temperatur 1[%.1f %unit%]"  <temperature>     (EG_Buro,gRtSoll,gRFritz_01) { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset",offset="-2 °C"]} 


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-12 23:39:44.648 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'avm_fritz.items'


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 2

Number:Temperature radiator_valve_01_Temp2  "Thermostat Büro Temperatur 2[%.1f %unit%]"  <temperature>     (EG_Buro,gRtSoll,gRFritz_01) { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset",offset="-2 %.1f"]} 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-12 23:42:57.136 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'avm_fritz.items'
2018-12-12 23:42:58.403 [ERROR] [nternal.profiles.SystemOffsetProfile] - Cannot convert value '-2 %.1f' of parameter 'offset' into a valid offset of type QuantityType.
2018-12-12 23:42:58.412 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
2018-12-12 23:42:58.415 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '22.0 °C' with unit, but the offset is defined as a plain number without unit (null), please consider adding a unit to the profile offset.
2018-12-12 23:43:07.232 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
2018-12-12 23:43:07.238 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '22.0 °C' with unit, but the offset is defined as a plain number without unit (null), please consider adding a unit to the profile offset.
2018-12-12 23:43:22.305 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
2018-12-12 23:43:22.311 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '22.0 °C' with unit, but the offset is defined as a plain number without unit (null), please consider adding a unit to the profile offset.
2018-12-12 23:43:37.297 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
.........endless


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 3

Number:Temperature  radiator_valve_01_Temp3  "Thermostat Büro Temperatur 3[%.1f %unit%]"  <temperature>     (EG_Buro,gRtSoll,gRFritz_01)  { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset",offset="-2.0"]}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-12 23:56:19.773 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'avm_fritz.items'
2018-12-12 23:56:20.671 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '21.5 °C' with unit, but the offset is defined as a plain number without unit (-2.0), please consider adding a unit to the profile offset.
2018-12-12 23:56:22.373 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '21.5 °C' with unit, but the offset is defined as a plain number without unit (-2.0), please consider adding a unit to the profile offset.
2018-12-12 23:56:37.413 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '21.5 °C' with unit, but the offset is defined as a plain number without unit (-2.0), please consider adding a unit to the profile offset.
.........endless


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 4

Number:Temperature            radiator_valve_01_Temp4           "Thermostat Büro Temperatur 4[%.1f %unit%]"                           <temperature>     (EG_Buro,gRtSoll,gRFritz_01)                      { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset",offset=-2]}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-13 00:00:10.213 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'avm_fritz.items' has errors, therefore ignoring it: [73,299]: no viable alternative at input '-'
......... Basic UI crashes


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 5

Number:Temperature radiator_valve_01_Temp5 "Thermostat Büro Temperatur 5[%.1f %unit%]" <temperature>     (EG_Buro,gRtSoll,gRFritz_01) { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[profile="offset"]}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-13 00:05:16.983 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'avm_fritz.items'
2018-12-13 00:05:18.224 [ERROR] [nternal.profiles.SystemOffsetProfile] - Parameter 'offset' is not of type String or BigDecimal
2018-12-13 00:05:18.229 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
2018-12-13 00:05:18.232 [WARN ] [nternal.profiles.SystemOffsetProfile] - Received a QuantityType state '21.5 °C' with unit, but the offset is defined as a plain number without unit (null), please consider adding a unit to the profile offset.
2018-12-13 00:05:18.694 [WARN ] [nternal.profiles.SystemOffsetProfile] - Offset not configured correctly, please make sure it is of type QuantityType, e.g. "3", "-1.4", "3.2°C". Using offset 0 now.
.........endless


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    :Item 6 - 7 - 8

Number:Temperature radiator_valve_01_Temp6  "Thermostat Büro Temperatur 6[%.1f %unit%]" <temperature>  (EG_Buro,gRtSoll,gRFritz_01)  { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[offset]}
Number:Temperature radiator_valve_01_Temp7  "Thermostat Büro Temperatur 7[%.1f %unit%]" <temperature>  (EG_Buro,gRtSoll,gRFritz_01)  { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature"[=offset]}
Number:Temperature radiator_valve_01_Temp8  "Thermostat Büro Temperatur 8[%.1f %unit%]" <temperature>  (EG_Buro,gRtSoll,gRFritz_01)  { channel="avmfritz:Comet_DECT:Fritz-Box-7490:119601003400:temperature:offset"}


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>    Log:

2018-12-13 00:08:45.279 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'avm_fritz.items' has errors, therefore ignoring it: [75,281]: mismatched input ']' expecting '='

2018-12-13 00:12:32.272 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'avm_fritz.items' has errors, therefore ignoring it: [76,275]: mismatched input '=' expecting ']'



Basic-UI:

Fritz-Box:
grafik

But it was not quite the result i expected. I thougt i get the delta as in paper ui shown:
grafik

Anyway, but what i’m noticed is that the temperature channel always shows the offset-temperature. When using the offset-profile i have something like a “twin-offset”, as in the screenshot of the basic-ui.

What do you think ?

rgds, Peter

Looks like Item 1 is the way to go. :+1:

True. The FRITZ!OS interface returns the offset value for the temperature whereas in FRITZ!OS the modified temperature is shown.

True again. We have two different offset values. First one is FRITZ! offset, editable in FRITZ!OS, but not modifiable via FRITZ!OS interface. Thus a read-only value and for information only in the channel configuration. The second one is the OH2 (or more the ESH) framework profile value. Adjustable via UIs - except when you are using textual configuration. So, yes we have multiple options available how to handle offsets. Now you have to decide which one you prefer :wink:.

thx again for help.:+1:
Cheers, Peter

I use AVM!FritzBox Binding 2.3.0, Fritz OS 7.02 and OH 2.3.0.005 to control DECT Comet thermostates. I have two issues:
1.) In my channel list there is no channel “battery_level”. What can be the reason?
2.) The channel “low_battery” is configured as switch. IMHO it should be rather a contact, because the switch symbol which occurs in the basic UI makes no sense. When I try to change it in the Paper UI, the item disappears from the item list. Any idea?

Hi Ulrich,

The battery_level has been introduced in OH 2.4.0. It is not available in OH 2.3.0.
I understand your objection on the battery_low channel, but Item type Contact with its state OPEN and CLOSED does imho not fit better. If you like to use a Contact Item I suggest to introduce a dummy item and a rule to set the state accordingly.

Hi Christoph,

thanks for the quick reply. I will upgrade my OH to 2.4. Is it neccessary to re-install the binding, channels etc. or will the new items appear automatically?
The dummy items you proposed was my first idea for a workaround, too. I hope that they will be set properly with a restoreonstartup

No it is not. The items should remain as they are. But I recommend to make a backup before you start the update.