Buderus Web-Gateway KM200 Support

Fully debugged optional…

/system/holidayModes/hm2

{"id":"/system/holidayModes/hm2","type":"refEnum","references":[{"id":"/system/holidayModes/hm2/startStop","uri":"http://<deviceIP>/system/holidayModes/hm2/startStop"},{"id":"/system/holidayModes/hm2/assignedTo","uri":"http://<deviceIP>/system/holidayModes/hm2/assignedTo"},{"id":"/system/holidayModes/hm2/hcMode","uri":"http://<deviceIP>/system/holidayModes/hm2/hcMode"},{"id":"/system/holidayModes/hm2/dhwMode","uri":"http://<deviceIP>/system/holidayModes/hm2/dhwMode"},{"id":"/system/holidayModes/hm2/delete","uri":"http://<deviceIP>/system/holidayModes/hm2/delete"}]}

/system/holidayModes/hm2/assignedTo

/system/holidayModes/hm2/delete

/system/holidayModes/hm2/dhwMode

{"id":"/system/holidayModes/hm2/dhwMode","type":"stringValue","writeable":1,"recordable":0,"value":"OFF","allowedValues":["OFF","TD_OFF"]}

/system/holidayModes/hm2/hcMode

{"id":"/system/holidayModes/hm2/hcMode","type":"stringValue","writeable":1,"recordable":0,"value":"ECO","allowedValues":["AUTO_SAT","FIX_TEMP","OFF","ECO"]}

/system/holidayModes/hm2/startStop

{"id":"/system/holidayModes/hm2/startStop","type":"stringValue","writeable":1,"recordable":0,"value":"2009-01-01/2009-01-01"}

/system/holidayModes/hm3

{"id":"/system/holidayModes/hm3","type":"refEnum","references":[{"id":"/system/holidayModes/hm3/startStop","uri":"http://<deviceIP>/system/holidayModes/hm3/startStop"},{"id":"/system/holidayModes/hm3/assignedTo","uri":"http://<deviceIP>/system/holidayModes/hm3/assignedTo"},{"id":"/system/holidayModes/hm3/hcMode","uri":"http://<deviceIP>/system/holidayModes/hm3/hcMode"},{"id":"/system/holidayModes/hm3/dhwMode","uri":"http://<deviceIP>/system/holidayModes/hm3/dhwMode"},{"id":"/system/holidayModes/hm3/delete","uri":"http://<deviceIP>/system/holidayModes/hm3/delete"}]}

/system/holidayModes/hm3/assignedTo

/system/holidayModes/hm3/delete

/system/holidayModes/hm3/dhwMode

{"id":"/system/holidayModes/hm3/dhwMode","type":"stringValue","writeable":1,"recordable":0,"value":"OFF","allowedValues":["OFF","TD_OFF"]}

/system/holidayModes/hm3/hcMode

{"id":"/system/holidayModes/hm3/hcMode","type":"stringValue","writeable":1,"recordable":0,"value":"ECO","allowedValues":["AUTO_SAT","FIX_TEMP","OFF","ECO"]}

/system/holidayModes/hm3/startStop

{"id":"/system/holidayModes/hm3/startStop","type":"stringValue","writeable":1,"recordable":0,"value":"2009-01-01/2009-01-01"}

/system/holidayModes/hm4

{"id":"/system/holidayModes/hm4","type":"refEnum","references":[{"id":"/system/holidayModes/hm4/startStop","uri":"http://<deviceIP>/system/holidayModes/hm4/startStop"},{"id":"/system/holidayModes/hm4/assignedTo","uri":"http://<deviceIP>/system/holidayModes/hm4/assignedTo"},{"id":"/system/holidayModes/hm4/hcMode","uri":"http://<deviceIP>/system/holidayModes/hm4/hcMode"},{"id":"/system/holidayModes/hm4/dhwMode","uri":"http://<deviceIP>/system/holidayModes/hm4/dhwMode"},{"id":"/system/holidayModes/hm4/delete","uri":"http://<deviceIP>/system/holidayModes/hm4/delete"}]}

/system/holidayModes/hm4/assignedTo

/system/holidayModes/hm4/delete

/system/holidayModes/hm4/dhwMode

{"id":"/system/holidayModes/hm4/dhwMode","type":"stringValue","writeable":1,"recordable":0,"value":"OFF","allowedValues":["OFF","TD_OFF"]}

/system/holidayModes/hm4/hcMode

{"id":"/system/holidayModes/hm4/hcMode","type":"stringValue","writeable":1,"recordable":0,"value":"ECO","allowedValues":["AUTO_SAT","FIX_TEMP","OFF","ECO"]}

/system/holidayModes/hm4/startStop

{"id":"/system/holidayModes/hm4/startStop","type":"stringValue","writeable":1,"recordable":0,"value":"2009-01-01/2009-01-01"}

/system/holidayModes/hm5

{"id":"/system/holidayModes/hm5","type":"refEnum","references":[{"id":"/system/holidayModes/hm5/startStop","uri":"http://<deviceIP>/system/holidayModes/hm5/startStop"},{"id":"/system/holidayModes/hm5/assignedTo","uri":"http://<deviceIP>/system/holidayModes/hm5/assignedTo"},{"id":"/system/holidayModes/hm5/hcMode","uri":"http://<deviceIP>/system/holidayModes/hm5/hcMode"},{"id":"/system/holidayModes/hm5/dhwMode","uri":"http://<deviceIP>/system/holidayModes/hm5/dhwMode"},{"id":"/system/holidayModes/hm5/delete","uri":"http://<deviceIP>/system/holidayModes/hm5/delete"}]}

/system/holidayModes/hm5/assignedTo

/system/holidayModes/hm5/delete

/system/holidayModes/hm5/dhwMode

{"id":"/system/holidayModes/hm5/dhwMode","type":"stringValue","writeable":1,"recordable":0,"value":"OFF","allowedValues":["OFF","TD_OFF"]}

/system/holidayModes/hm5/hcMode

{"id":"/system/holidayModes/hm5/hcMode","type":"stringValue","writeable":1,"recordable":0,"value":"ECO","allowedValues":["AUTO_SAT","FIX_TEMP","OFF","ECO"]}

/system/holidayModes/hm5/startStop

{"id":"/system/holidayModes/hm5/startStop","type":"stringValue","writeable":1,"recordable":0,"value":"2009-01-01/2009-01-01"}

1 Like

Fully debugged last…

/system/info

{"id":"/system/info","type":"systeminfo","recordable":0,"writeable":0,"values":[{"Tok":"8","Id":"95","Ver":"23.12","No":"0103020456600017101202000202FFFF"},{"Tok":"16","Id":"158","Ver":"NF33.04","No":"323533303735393530303333363737333831313130373700FFFFFF"},{"Tok":"32","Id":"160","Ver":"NF24.05","No":"383135303735393030303030363737333831313031333900FFFFFF"},{"Tok":"33","Id":"160","Ver":"NF24.03","No":"383135303635383030303033373737333831313031333900FFFFFF"},{"Tok":"9","Id":"95","Ver":"NF23.12","No":"0103020456600017101202000202FFFF"}]}

/system/minOutdoorTemp

{"id":"/system/minOutdoorTemp","type":"floatValue","writeable":1,"recordable":0,"value":-15.0,"unitOfMeasure":"C","minValue":-35.0,"maxValue":10.0}

/system/sensors

{"id":"/system/sensors","type":"refEnum","references":[{"id":"/system/sensors/temperatures","uri":"http://<deviceIP>/system/sensors/temperatures"}]}

/system/sensors/temperatures

{"id":"/system/sensors/temperatures","type":"refEnum","references":[{"id":"/system/sensors/temperatures/outdoor_t1","uri":"http://<deviceIP>/system/sensors/temperatures/outdoor_t1"},{"id":"/system/sensors/temperatures/supply_t1_setpoint","uri":"http://<deviceIP>/system/sensors/temperatures/supply_t1_setpoint"},{"id":"/system/sensors/temperatures/supply_t1","uri":"http://<deviceIP>/system/sensors/temperatures/supply_t1"},{"id":"/system/sensors/temperatures/hotWater_t2","uri":"http://<deviceIP>/system/sensors/temperatures/hotWater_t2"},{"id":"/system/sensors/temperatures/return","uri":"http://<deviceIP>/system/sensors/temperatures/return"},{"id":"/system/sensors/temperatures/switch","uri":"http://<deviceIP>/system/sensors/temperatures/switch"},{"id":"/system/sensors/temperatures/chimney","uri":"http://<deviceIP>/system/sensors/temperatures/chimney"}]}

/system/sensors/temperatures/chimney

{"id":"/system/sensors/temperatures/chimney","type":"floatValue","writeable":0,"recordable":0,"value":-3276.8,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/sensors/temperatures/hotWater_t2

{"id":"/system/sensors/temperatures/hotWater_t2","type":"floatValue","writeable":0,"recordable":0,"value":-3276.8,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/sensors/temperatures/outdoor_t1

{"id":"/system/sensors/temperatures/outdoor_t1","type":"floatValue","writeable":0,"recordable":1,"value":9.3,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/sensors/temperatures/return

{"id":"/system/sensors/temperatures/return","type":"floatValue","writeable":0,"recordable":0,"value":-3276.8,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/sensors/temperatures/supply_t1

{"id":"/system/sensors/temperatures/supply_t1","type":"floatValue","writeable":0,"recordable":0,"value":43.4,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/sensors/temperatures/supply_t1_setpoint

{"id":"/system/sensors/temperatures/supply_t1_setpoint","type":"floatValue","writeable":0,"recordable":0,"value":48.0,"unitOfMeasure":"C"}

/system/sensors/temperatures/switch

{"id":"/system/sensors/temperatures/switch","type":"floatValue","writeable":0,"recordable":0,"value":-3276.8,"unitOfMeasure":"C","state":[{"open":-3276.8},{"short":3276.7}]}

/system/systemType

{"id":"/system/systemType","type":"stringValue","writeable":0,"recordable":0,"value":"NSC_ICOM_GATEWAY","allowedValues":["NSC_ICOM_GATEWAY"]}

1 Like

I wrote a first library to handle connection to the buderus gateway.
nothing fancy yet, but I’m making progress to have buderus supported within home-assistant.

library is here : https://github.com/moustic999/buderus-client-python

this weekend I will work on heatingcircuits and hot water

2 Likes

@moustic999, there hasn’t been activity on this thread recently but I saw that you are working on a very nice library over at https://github.com/moustic999/bosch-thermostat-http-client-python. I recently got a heating with KM200 as well and I was wondering what the status of the HA integration is and if I can contributing anything to it.

Hello,
I’m working with Pszafer on integrating the support of KM200. The work is ongoing but not yet finished.
GitHub - moustic999/bosch-thermostat-http-client-python: Python3 asyncio package to talk to Buderus KM200 → is the lib needed to communicate to the KM200
GitHub - moustic999/netdisco: 🔎 Python library to scan local network for services and devices. → hold the changes to get KM200 auto-discovered
and https://github.com/pszafer/home-assistant contains the integrations and all sensors needed for a proper use.
You can certainly help us, either by testing the integration and lib or if you have python knowledge by writting enhancements/unit tests or doc.
feel free to ask question.

Pzsafer made a huge job to build the HA Integration for Bosch / Buderus gateway ( KM50/100/200).
Have a try with his custom component and reports bugs, feature request …
here is the link https://github.com/pszafer/home-assistant-bosch-custom-component

1 Like

Thanks @moustic999. Wanted to give the new Bosch component a try but unfortunately seem to be unable to set it up :slight_smile: . Can you please provide some help concerning the requirements? The access information seems crucial :slight_smile:

bosch:
  address: <IP ADDRESS>
  password: "YOUR GATEWAY PASSWORD"
  access_token: "Access key to your gateway" 

What information has to be put in “password” and “access_token” field? Have a device password (print on the backside of the device), a user password (set inside the app) and can create an AES key with both.

Thanks and regards

Jakob

Hello Jakob!

Did you manage it? You have to use your app-password in “password” and the printed gateway-password on your km-device in “access_token”. That should work. I also had to try it out for the first time and took a while. :slight_smile:

It should look like:
address: ip-adress of your km-device
password: “app-password”
access_token: “aaaabbbbccccdddd”

Best regards
Bernd

1 Like

Thanks to @BeO for sharing correct access information. Enabled debugging and got a lot back from the gateway. Unfortunately something seems to go wrong:

 2019-06-17 12:20:58 DEBUG (MainThread) [bosch_thermostat_http.gateway] Retrieved data for path /gateway/uuid from gateway: {"id":"/gateway/uuid","type":"stringValue","writeable":0,"recordable":0,"value":"618201073"}
 2019-06-17 12:22:22 DEBUG (MainThread) [bosch_thermostat_http.gateway] Retrieved data for path /dhwCircuits/dhw1/actualTemp from gateway: {"id":"/dhwCircuits/dhw1/actualTemp","type":"floatValue","writeable":0,"recordable":1,"valu
 2019-06-17 12:22:22 DEBUG (MainThread) [bosch_thermostat_http.http_connector] Sending request to /dhwCircuits/dhw1/status
 2019-06-17 12:22:23 DEBUG (MainThread) [bosch_thermostat_http.gateway] Retrieved data for path /dhwCircuits/dhw1/status from gateway: {"id":"/dhwCircuits/dhw1/status","type":"stringValue","writeable":0,"recordable":0,"value":"ACT
 2019-06-17 12:22:23 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry 618201073 for bosch
 Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 273, in async_setup
    hass, self)
  File "/config/custom_components/bosch/__init__.py", line 80, in async_setup_entry
    "sensors", uuid, bosch_sensors(current_firmware), gateway))
  File "/config/custom_components/bosch/__init__.py", line 138, in initialize_component
    components[FIRMWARE_VERSION])
 TypeError: 'NoneType' object is not subscriptable

Maybe I´ve done something incorrectly?

Thanks

Jakob

Hi,

thanks for your great work so far! Do I understand correctly that using the custom component as-is does not work yet? I get the error “Config flow is not supported for custom integration bosch”. So one has run it on a modified version of HA itself?

Oh, possibly I found the answer to this myself. There is a commit from @balloob from 10 days ago that apparently prevents custom integrations from using the config flow and issues exactly this error. I guess this is due to security concerns, but probably means that this component cannot be tested as a custom component any longer.

… but there is also a helpful comment in the associated PR:

The longterm fix will be to allow custom integrations to add config flows. It means we need to scan all custom integrations at startup etc.

Hi, I think you are doing a great job. But I can´t integrate it.
I´m trying to integrate my bosch gateway, however, I can´t. When I try it HA send me “Aborted”. Does someones have idea because it is happening? Thanks.

Hey manureja,

think the initial configuration may be impossible due to security related changes to ha (custom components). Please see post above.
Maybe there is a workaround?

Regards

Jakob

Thank you for the info :grinning:. I couldn´t understand why it didn´t work. Perhaps, the best solution is to wait. Again! :sweat_smile:

Have any of you updated HA over 0.95.4? With the climate modifications in 0.96 the Gateway access stopped.

I updated to HA 0.97.2 (the latest release). No problems so far. I am using a Buderus GB192i and KM100-Gateway. Yesterday i also updated the integration to version 0.4 and it also works well for me. Now i can see the hot water temperatures as well.

Bosch updated their app recently and added the pressure of the heating curcuit. It would be nice to have that as a sensor in HA. Would be happy if this could be integrated.

Hello all,

No trace of the Bosch component in the integration part of HACS. Do we need to install the integration manually?

Best

Yes, you have to install it manually…

BR
BeO

Thank you Bernd,

According to the Github page the installation should be as follows:

Integration.

Go to integration page, add Bosch component and follow on going screens.

PS. Autodiscovery not available for custom components.

However, when I try to add the repository manually I get following error message:

Could not add ‘pszafer/home-assistant-bosch-custom-component’ with type ‘integration’ at this time.
If you used the correct type, check the log for more details.

Is this the correct way to onstall this integration?

Thanks and kind regards