Setting temperature on Homematic HM-TC-IT-WM-W-EU

Hi,

I want to set the target temperature on a HM-TC-IT-WM-W-EU wall thermostat. I am using the Homematic binding with Homegear.

This is the item definition:

Number	Wohnzimmer_SET_TEMP "Soll-Temperatur [%.1f °C]" (Grp_Wohnzimmer) { homematic="MEQ1835202, channel=2, parameter=SET_TEMPERATURE"}

and the setpoint definition in the sitemap:

Setpoint item=Wohnzimmer_SET_TEMP label="Soll-Temperatur Wohnzimmer [%.1f °C]" step=0.5 minValue=15 maxValue=30

Problem is, openhab does not even show the current value for the data point. As a result, I cannot change it.

Anyone has a suggestion how to fix this?

What I experienced, when trying to read the value directly with homegear, is that getValue (https://www.homegear.eu/index.php/GetValue) throws an exception when called with requestFromDevice = true. Is it possible the binding is using this parameter?

I can’t help with the homematic part of the problem. But I can say that a setpoint will not work until your Number Item has a value other than NULL.

While trying to figure out the homematic part of the problem I recommend putting the Item on your sitemap as a Text for now and not moving to a setpoint until the - turns to a number.

Which version of homegear are you using and have you tried to show the value inside the homegear console. I’ve got the same device running for 2 years now, with oh1 and oh2.

I am running Homegear 0.6.12. I can read the value using

$hg->getValue(<peer id>, 2, "SET_TEMPERATURE", false) 

When using

$hg->getValue(<peer id>, 2, "SET_TEMPERATURE", true)

instead, homegear throws an exception.

Hmm. I am using 0.6.7 and I can set temperature through openhab without any problem. I will try your PHP commands later. Haven’t used the PHP interface for a while now.

Did you already have the chance to try it?

Please post your item and Setpoint definition, if you were successful.

Thanks,
Philipp

Sorry… two little ones at home and no free time up to now…

I´ve just tried to fire these scripts… but I can actually not find how to execute this. Could you give me a hint?

Here´s my item definition…

Number  lR_Wandthermostat_RSSI         "lR_Wandthermostat RSSI [%d dBm]"                                      <signal>                (lR,W,gRSSI)                                      { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:0#RSSI_DEVICE" }
Switch  lR_Wandthermostat_Unreach      "lR_Wandthermostat unreachable"                                        <siren>                 (lR,W,gUnreach)                                   { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:0#UNREACH" }
Switch  lR_Wandthermostat_Pending      "lR_Wandthermostat config pending"                                     <siren>                 (lR,W,gPending)                                   { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:0#CONFIG_PENDING" }
Number  lR_Wandthermostat_Battery      "lR_Wandthermostat Batteriezustand [%.1f V]"                           <battery>               (lR,W,gBatterie)                                  { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#BATTERY_STATE" }
String  lR_Wandthermostat_Fault        "lR_Wandthermostat Fehlerwert [MAP(HM-CC-RT-DN.map):%s]"               <error>                 (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:4#FAULT_REPORTING" }
Number  lR_Wandthermostat_ActTemp      "lR_Wandthermostat Ist-Temperatur [%.1f °C]"                           <temperature>  (lR,gHeatAct,lR_Heat)  [ "CurrentTemperature" ]            { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:1#TEMPERATURE" }
Number  lR_Wandthermostat_ActHum       "lR_Wandthermostat Luftfeuchtigkeit [%.0f %%]"                                                 (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:1#HUMIDITY" }
Number  lR_Wandthermostat_SetTemp      "lR_Wandthermostat Soll-Temperatur [%.1f °C]"                          <temperature>  (lR,gHeatSet,lR_Heat)  [ "TargetTemperature" ]             { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#SET_TEMPERATURE" }
Switch  lR_Wandthermostat_Auto         "lR_Wandthermostat Auto-Mode"                                          <temperature>           (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#AUTO_MODE" }
Number  lR_Wandthermostat_Manu         "lR_Wandthermostat Manu-Mode [%.1f °C]"                                <temperature>           (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#MANU_MODE" }
Switch  lR_Wandthermostat_BoostMode    "lR_Wandthermostat Boost-Mode"                                         <temperature>           (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#BOOST_MODE" }
Number  lR_Wandthermostat_BoostTime    "lR_Wandthermostat Boost-Restdauer [%d min]"                           <"clock-on">            (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#BOOST_STATE" }
Switch  lR_Wandthermostat_Lowering     "lR_Wandthermostat Spar Modus"                                         <temperature>           (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#LOWERING_MODE" }
Switch  lR_Wandthermostat_Comfort      "lR_Wandthermostat Konfort Modus"                                      <temperature>           (lR)                                              { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#COMFORT_MODE" }
Number  lR_Wandthermostat_Mode         "lR_Wandthermostat Betriebsart [MAP(HM-CC-RT-DN.map):%s]"              <temperature>  (lR,gHeatMode,lR_heat)  [ "homekit:HeatingCoolingMode" ]   { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQXXXXXX:2#CONTROL_MODE" }
Number  lR_Wandthermostat_SetMode      "lR_Wandthermostat Betriebsart Auswahl [MAP(HM-CC-RT-DN.map):%s]"      <"heating-80">          (lR,gInitNone)
Number  lR_Wandthermostat_Preset       "lR_Wandthermostat Soll-Temperatur Schnellauswahl"                     <"heating-40">          (lR,gInitNone)
Number  lR_Wandthermostat_EcoTemp      "lR_Wandthermostat Spar-Temperatur [%.1f °C]"                                                  (lR,value_persist)
Number  lR_Wandthermostat_ComfTemp     "lR_Wandthermostat Komfort-Temperatur [%.1f °C]"                                               (lR,value_persist)
String  lR_Wandthermostat_Summary      "lR_Wandthermostat Übersicht [%s]"                                     <heating>               (lR)

And here´s my sitemap

Setpoint item=lR_Wandthermostat_SetTemp label="Wohnzimmer" icon="temperature"

I´ve used the configs from @ThomDietrich … really good stuff… have a look

https://github.com/ThomDietrich/openhab-config

1 Like

Thanks!
However, just so you know: My heating control was not bug free and overhauling it is on my todo list. Please do not expect the solution there to be perfect. I was planning to switch over to have the thermostat in MANU mode all the time and a schedule in openHAB. Hows your systems state?

It’s exactly what I do. I just use the manu mode and control the temperature by cron based rules and some switches for presence control.

But I really like your clean item scheme. Working good for me.

1 Like