Buderus Web-Gateway KM200 Support

Hello,
did anybody use this to SET values to the buderus system?
Like day or night program?
BR
Jan

@stratege-0815: Didn’t use this feature yet, but am also highly interested in using the „set program“ feature. Could you please let me know, if you got something on that?

Thanks and regards

Jakob

Hi,

Today I installed “home-assistant-bosch-custom-component” but when I’m traying to connect to my gateway I’m receiving this error message:

2019-10-18 21:01:32 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for bosch which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-10-18 21:01:33 DEBUG (MainThread) [bosch_thermostat_http.http_connector] Sending request to /gateway/uuid
2019-10-18 21:01:34 ERROR (MainThread) [custom_components.bosch.config_flow] Unknown error connecting with Bosch thermostat at 192.168.1.20 False 4ee38bd41aa2e601143bb9456f652439802e983e6eab6114a3b56d4ab578b667
2019-10-18 21:01:34 ERROR (MainThread) [custom_components.bosch.config_flow] Unknown error connecting with Bosch thermostat at 192.168.1.20

Do you think you could help me with this issue?

Thanks,
Marcin

OK, it is working now. I just had to reboot the gateway.

Hi,

You just need to put “bosch” folder with all the files into “custom_components” folder.

Hello,

I am trying to implement this component to HA 0.100.3 (hassio), I have KM200 V2 Gateway.
After intergation sensors does not work for me.
I have this errors:

Exception in update when dispatching 'bosch_dhw_update': ()
Traceback (most recent call last):
  File "/config/custom_components/bosch/water_heater.py", line 195, in update
    self._dhw.target_temperature
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/dhw_circuit.py", line 41, in target_temperature
    temp_levels_high = self.get_property(DHW_HIGHTTEMP_LEVEL)
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/helper.py", line 140, in get_property
    return self._data[property_name]
KeyError: 'temperatureLevelshigh'
Exception in update when dispatching 'bosch_climate_update': ()
Traceback (most recent call last):
  File "/config/custom_components/bosch/climate.py", line 167, in update
    self._temperature_unit = (TEMP_FAHRENHEIT if self._hc.temp_units == 'F'
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/heating_circuit.py", line 59, in temp_units
    return self.get_property(HC_ROOMTEMPERATURE).get(UNITS)
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/helper.py", line 140, in get_property
    return self._data[property_name]
KeyError: 'roomtemperature'
Update for climate.hc2 fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 268, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 448, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/bosch/climate.py", line 167, in update
    self._temperature_unit = (TEMP_FAHRENHEIT if self._hc.temp_units == 'F'
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/heating_circuit.py", line 59, in temp_units
    return self.get_property(HC_ROOMTEMPERATURE).get(UNITS)
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/helper.py", line 140, in get_property
    return self._data[property_name]
KeyError: 'roomtemperature'
Update for water_heater.dhw1 fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 268, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 448, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/bosch/water_heater.py", line 195, in update
    self._dhw.target_temperature
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/dhw_circuit.py", line 41, in target_temperature
    temp_levels_high = self.get_property(DHW_HIGHTTEMP_LEVEL)
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/helper.py", line 140, in get_property
    return self._data[property_name]
KeyError: 'temperatureLevelshigh'
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 408, in _async_add_entity
    await entity.async_update_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 273, in async_update_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 314, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 192, in state_attributes
    self.current_temperature,
  File "/config/custom_components/bosch/climate.py", line 106, in current_temperature
    return self._hc.current_temp
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/heating_circuit.py", line 53, in current_temp
    self.get_property(HC_ROOMTEMPERATURE))
  File "/usr/local/lib/python3.7/site-packages/bosch_thermostat_http/helper.py", line 140, in get_property
    return self._data[property_name]
KeyError: 'roomtemperature'

Using bosch_scan.json I see that all parameter from heating pump is received and it is correct. But I can not see this values in STATES.

Any ideas for this case?
If need some help with testing I can provide for info as well.

Thank you in advance.

Hi, could anybody (except @probecar) who has KM200 do bosch.debug_scan or if custom component is not working for you go to the lib https://github.com/moustic999/bosch-thermostat-http-client-python/ and run rawscan.py (you need to create data_file.txt).
I need as many of these files as possible, because currently I’m not sure how to support KM200.

Hello Pawel!

Debug file has been sent to your email address.

Thanks. Is component working for you? Because it should IMO…

If anyone has problems, I created discord channel, so together maybe we can hack all of bosch devices and then finally add this as integration to HA as it is supposed to be… :slight_smile:

1 Like

For reading out values, it works, but it seems to me like it doesnt alter setpoints.

maybe this helps ?

Unable to set temperature or Operation Mode through HA

Hi Guys I don’t if this the right topic but I installed the bosch intergration (its is for a Nefit Monoblock) and that went well but when i try to set the temp or operation mode then an error occurred . Somebody any idea ?


async_set_hvac_mode() got an unexpected keyword argument ‘hvac_mode’
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 130, in handle_call_service
connection.context(msg),
File “/usr/src/homeassistant/homeassistant/core.py”, line 1259, in async_call
task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1294, in _execute_service
await handler.func(service_call)
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 209, in handle_service
self._platforms.values(), func, call, required_features
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 454, in entity_service_call
future.result() # pop exception if have
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 597, in async_request_call
await coro
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 479, in _handle_entity_call
result = hass.async_add_job(partial(getattr(entity, func), **data))
File “/usr/src/homeassistant/homeassistant/core.py”, line 328, in async_add_job
task = self.loop.create_task(target(*args))
TypeError: async_set_hvac_mode() got an unexpected keyword argument ‘hvac_mode’


value is not allowed for dictionary value @ data[‘hvac_mode’]
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 130, in handle_call_service
connection.context(msg),
File “/usr/src/homeassistant/homeassistant/core.py”, line 1221, in async_call
processed_data = handler.schema(service_data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 208, in call
return self._exec((Schema(val) for val in self.validators), v)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 287, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File “/usr/local/lib/python3.7/site-packages/voluptuous/validators.py”, line 283, in _exec
v = func(v)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 817, in validate_callable
return schema(data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 272, in call
return self._compiled([], data)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 594, in validate_dict
return base_validate(path, iteritems(data), out)
File “/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py”, line 432, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: value is not allowed for dictionary value @ data[‘hvac_mode’]

Wouldn’t it be easier to re-use said https://github.com/frankjoke/ioBroker.km200? I had the following approach in mind. I run HA on my raspberry. Why not install ioBroker and the Buderus add-on as a separate docker and have MQTT take care of the information flow between the two systems (seems like an overkill but saves time and effort). Would this be technically possible?

Hello all, can somebody explain me, ho to integrade KM200 into Home Assistant? i really do not know…

Greetings from germany (near Hannover)
Helge

Heyhey @Hero7777,

thanks to @pszafer we got a cool integration for this. I´d recommend, you add the integration via HACS.

HACS installation howto:

Buderus KM200 integration howto:

Regards

Jakob

I have used the file with brings alltogether, i mean only starting the raspberry and HASS runs. Is this what you means with HACS?
With the search in the integrations about “bosch-Therm…”, i cannot find the right.
My hass runs with actually versions…
i think i am a bludy beginner…

Helge

hmmmz…you got hacs working? Next Thing you have to do, is adding a custom
repo in hacs → integrations → top right „…“ → „Custom repositories“. See The second link, I’ve posted for details.

Thanks so far, but i cannot find “Bosch thermostat” in the integrations…

I had the same issue. I could make the “Bosch Thermostat” visible in the integrations list after a browser cache clean. Hope this works for you too.

Do you have experience with integrating it together with heating pomp buderus wlw196i with ip-module and room controller rc100h? Its also using EMS connector on board.

PS. I’m new in home assistant (actually planning to start with it soon) however this integration would be one of those important to me if it does work.

Thanks for any feedback, cheers.