Homematic IP - Binding

Does anybody knows if there is a way to bind IP devices like heating Thermostat?

Depends on the API offered by the thermostat. There is an HTTP binding for REST HTTP APIs, a TCP/IP binding for socket connections, and some thermostats have their own binding.

Yes, there exist a new version of the Homematic binding which does work with IP devices. I actually use this for my Homematic classic and IP thermostats. You need min. version 1.8.2 from OpenHab otherwise it will not work properly.

Where can we find it?

see this thread

Thanks,
I knew that one but is still not out yet a working version for heater thermostats… :frowning:

Nico, this binding works with both, Homematic classic and IP thermostats. It works in both directions, sending and receiving data. I’m happy to provide more details if that’s required.

Regards, Rainer

Ok this are my items that are not working:

> Number PT_Temp  "PT Temp  [%.1f °C]" <heating>  (PT) {homematic="address=000393C9918XXX,channel=5,parameter=ACTUAL_TEMPERATURE"}
> Number PT_Set "Set  [%.1f °C]" <heating>  (PT) {homematic="address=000393C9918XXX,channel=5,parameter=SET_TEMPERATURE" }
> Number PT_St "St [MAP(tmv.map):%s]" <info>	 (PT) {homematic="address=000393C9918XXX,channel=5,parameter=CONTROL_MODE"}
> Number PT_Po "Valv [%.1f %%]" <heating>  (PT)	{homematic="address=000393C9918XXX,channel=5,parameter=VALVE_STATE" }
> String Bat "Tipo Batteria [%s]" <info> (PT) {homematic="address=000393C9918XXX,channel=5,parameter=BATTERY_TYPE"}

Here are a few examples:

  • Number IstTemp “Actual temp [%.1f °C]” {homematic=“address=000393XXXXXXXX, channel=1, parameter=ACTUAL_TEMPERATURE”}

  • Number SetTemp “Set tem [%.1f °C]” {homematic=“address=000393XXXXXXXX, channel=1, parameter=SET_POINT_TEMPERATURE”}

  • Number ControlMode {homematic=“address=000393XXXXXXXX, channel=1, parameter=CONTROL_MODE”}

  • sendCommand(ControlMode, 0) //set AUTO-mode

  • sendCommand(ControlMode, 1) //set MANUAL-mode

  • sendCommand(SetTemp, 22.0) //set new target temperature

The following list includes all available data points.
Channel 0:

  <datapoint name='CONFIG_PENDING' value='' valueType='2' writeable='false' />
  <datapoint name='DUTY_CYCLE' value='false' valueType='2' writeable='false' />
  <datapoint name='LOW_BAT' value='false' valueType='2' writeable='false' />
  <datapoint name='OPERATING_VOLTAGE' value='3.000000' valueType='4' min='0.000000' max='25.200000' writeable='false' />
  <datapoint name='UNREACH' value='true' valueType='2' writeable='false' />

Channel 1:

  <datapoint name='ACTIVE_PROFILE' value='1' valueType='16' subType='0' valueList='' min='1' max='3' writeable='true' />
  <datapoint name='ACTUAL_TEMPERATURE' value='22.200000' valueType='4' min='-3276.800000' max='3276.700000' writeable='false' />
  <datapoint name='BOOST_MODE' value='false' valueType='2' writeable='true' />
  <datapoint name='CONTROL_DIFFERENTIAL_TEMP' value='' valueType='4' min='-10.000000' max='10.000000' writeable='true' />
  <datapoint name='CONTROL_MODE' value='' valueType='16' subType='0' valueList='' min='0' max='3' writeable='true' />
  <datapoint name='DURATION_UNIT' value='' valueType='20' writeable='true' />
  <datapoint name='DURATION_VALUE' value='' valueType='16' subType='0' valueList='' min='0' max='16343' writeable='true' />
  <datapoint name='FROST_PROTECTION' value='false' valueType='2' writeable='false' />
  <datapoint name='LEVEL' value='0.180000' valueType='4' min='0.000000' max='1.000000' writeable='true' />
  <datapoint name='PARTY_MODE' value='false' valueType='2' writeable='false' />
  <datapoint name='PARTY_SET_POINT_TEMPERATU' value='0.000000' valueType='4' min='4.500000' max='30.500000' writeable='false' />
  <datapoint name='PARTY_TIME_END' value='' valueType='20' writeable='true' />
  <datapoint name='PARTY_TIME_START' value='' valueType='20' writeable='true' />
  <datapoint name='SET_POINT_MODE' value='0' valueType='16' subType='0' valueList='' min='0' max='3' writeable='true' />
  <datapoint name='SET_POINT_TEMPERATURE' value='21.000000' valueType='4' min='4.500000' max='30.500000' writeable='true' />
  <datapoint name='SWITCH_POINT_OCCURED' value='false' valueType='2' writeable='false' />
  <datapoint name='VALVE_ADAPTION' value='' valueType='2' writeable='true' />
  <datapoint name='VALVE_STATE' value='4' valueType='16' subType='29' valueList='STATE_NOT_AVAILABLE;RUN_TO_START;WAIT_FOR_ADAPTION;ADAPTION_IN_PROGRESS;ADAPTION_DONE;TOO_TIGHT;ADJUSTMENT_TOO_BIG;ADJUSTMENT_TOO_SMALL;ERROR_POSITION' min='STATE_NOT_AVAILABLE' max='ERROR_POSITION' writeable='false' />
  <datapoint name='WINDOW_STATE' value='0' valueType='16' subType='29' valueList='CLOSED;OPEN' min='CLOSED' max='OPEN' writeable='true' />

Hope this helps.

Rainer

Thank you Rainer,
This was a great help!! Now I managed to make it work.:blush:

Sorry Rainer one more question,

Do you also have parameters for the wall thermostat?

Thank you

Leider nein.

VG, Rainer