Bosch Thermostat 2

Thanks for that hint. Tried it, unfortunately I receive an unknown error… :frowning:

Failed to call service zha.permit. Unknown error

My logs show two Errors:
homeassistant.components.websocket_api.http.connection:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 646, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1524, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 409, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 453, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1787, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1824, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 756, in admin_handler
    await result
  File "/usr/src/homeassistant/homeassistant/components/zha/api.py", line 1231, in permit
    await application_controller.permit_with_key(
  File "/usr/local/lib/python3.10/site-packages/zigpy_deconz/zigbee/application.py", line 109, in permit_with_key
    raise NotImplementedError()
NotImplementedError

and
homeassistant.helpers.script.websocket_api_script:

raceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1787, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1824, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 756, in admin_handler
    await result
  File "/usr/src/homeassistant/homeassistant/components/zha/api.py", line 1231, in permit
    await application_controller.permit_with_key(
  File "/usr/local/lib/python3.10/site-packages/zigpy_deconz/zigbee/application.py", line 109, in permit_with_key
    raise NotImplementedError()
NotImplementedError

Does anyone have experience with that= I’m running Hassio in a container on a Proxmox hypervisor, the Conbee II is passed through to home assistant and working fine.

Thanks a lot!

I’m using the Sonoff P dongle (TI).
It seems that the code is not implemented for the deconz handler.

If so then should report that as an issue to zigpy-deconz (deconz radio library for zigpy that ZHA depends on for ConBee/RaspBee serial protocol hardware abstraction interface) → https://github.com/zigpy/zigpy-deconz/issues

FYI, went ahead and opened issues at respective deconz repositories for Dresden-Elektronik and zigpy:

and

Thanks a lot @Hedda - but looks like I need to be patient and hope that the functionality will be implemented for ConBee II

FYI, ChrisHae from Dresden Elektronik wrote a reply there that ConBee / RaspBee firmware deconz serial interface does not currently support joining/paring via install code (or QT code) but a firmware update that will add it is on their roadmap for ConBee 2 / RaspBee 2, (though not for the original ConBee / RaspBee which firmware is no longer getting updated features), see ChrisHae’s reply here → Does deCONZ serial protocol for ConBee/RaspBee Zigbee Coordinator adapters not support joining/pairing via install code and qr code? · Issue #20 · dresden-elektronik/deconz-serial-protocol · GitHub

One possible workaround could be to migrate your Zigbee network in ZHA to a newer/modern Silicon Labs EmberZNet (EZSP) or a Texas Instruments Z-Stack (ZNP) based Zigbee Coordinator adapter, (like, for example, a “Sonoff ZBDongle-E” or a “Sonoff ZBDongle-P”), as those support joining/pairing via install code and qr code, and then migrate back (or not), see → https://www.home-assistant.io/integrations/zha#to-migrate-to-a-new-zigbee-coordinator-radio-inside-zha

Another related tip specific to the Bosch Thermostat 2 device is that it might be worth alsy try upgrading the OTA firmware on that Bosch Radiator Thermostat II device (via Zigbee2MQTT), as that was at least mentioned in the Zigbee2MQTT community → https://github.com/Koenkk/zigbee2mqtt/issues/14926

By the way, for manually upgrading firmware in ZHA after a device has already been joined/paired, see ZHA Toolkit → https://github.com/mdeweerd/zha-toolkit#ota_notify

FYI, someone submitted a firmware upgrade image file for Bosch BTH-RA (a.k.a. Smart Thermostat 2) to https://github.com/Koenkk/zigbee-OTA/ as per this PR https://github.com/Koenkk/zigbee-OTA/pull/279https://github.com/Koenkk/zigbee-OTA/tree/master/images/Bosch

If you are using the ZHA integration then a tip is to use ZHA-Toolkit to download and upgrade that Zigbee OTA firmware image on that specific device once you have successfully paired/joined it to ZHA → https://github.com/mdeweerd/zha-toolkit/blob/main/README.md#ota_notify—downloadtrigger-device-fw-update

Hi,

just to make sure there’s currently no way to use the Bosch Thermostat II with ZHA using a Conbee 2, right?

Just trying to confirm before I send the four new thermostats back :confused:

1 Like

That is correct, at least until developers that the Desden Elektronik company employee adds support for the missing/needed “install code” feature via a firmware update, see → Does deCONZ serial protocol for ConBee/RaspBee Zigbee Coordinator adapters not support joining/pairing via install code and qr code? · Issue #20 · dresden-elektronik/deconz-serial-protocol · GitHub

Until then the best workaround is to instead just buy a brand new Texas Instruments or Silicon Labs based Zigbee Coordinator radio adapter/dongle (that has their newer Zigbee radio chips which support newer more modern firmware) and then simply migrate your Zigbee network to that new adapter/dongle.

If you are currently using the Phoscon/deCONZ or Zigbee2MQTT applications as your Zigbee gateway application then it is unfortunately only possible to do partial Zigbee network migration (and even that not fully seamlessly), but it is possible to do a fully seamless migration if you are already using Home Assistant’s own native ZHA integration as long as you first upgrade to latest ConBee/RaspBee firmware. See → https://www.home-assistant.io/integrations/zha#migrating-to-a-new-zigbee-coordinator-adapter-inside-zha

Otherwise you could try performing a two-step partial migration if using Phoscon/deCONZ or Zigbee2MQTT as then you can first migrate to Home Assistant’s own native ZHA integration, but be warned that will only be a partial migration that require repairing some devices and reconfiguring all automations that use any of them, checkout these migration guides → https://skyconnect.home-assistant.io/zigbee-migration-selection/

As for which dongles you should buy I recommend Home Assistant SkyConnect if both want to sponsor Nabu Casa development and like something that is very easy to maintain as long as using Home Assistant’s own native ZHA integration, otherwise recommend that you check out both ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus” (model “ZBDongle-P” which is best for Zigbee2MQTT) as well as their other variant which is “Sonoff Zigbee 3.0 USB Dongle Plus V2” (model “ZBDongle-E” for ZHA). Note that if you plan on using Zigbee2MQTT (Z2M) then currently only Texas Instruments CC2652 or CC1352 based adapters are recommended.

Thanks a lot @Hedda!

As I really like the thermostats I bought a Sonoff dongle with CC2652P and also moved from ZHA to Zigbee2MQTT in the process.

Everything working now :slightly_smiling_face:

1 Like

Just to add to this: I switched to a SkyConnect Dongle, which enabled the use of pairing codes. Pairing works as expected now.

However, there is a slight “problem” when using this thermostat in conjunction with ZHA. The heater modes as well as on/off do not work due to some issues with the ZHA quirk. The fix is already requested with [Device Support Request] Full implementation of BOSCH Radiator Thermostat II (BTH-RA) · Issue #2476 · zigpy/zha-device-handlers (github.com) but for now, only the temperature settings work fine for me. Just keep this in mind.

2 Likes

I use this with z2m which works fine, but there is major setback in my installation: the device (without hub) has a build in schedule that cannot be wiped (as i do not know how, at least). this would be annoying but could be overcome with a simple time based automation. but it calls this scheduled temperature also every time when switched to auto mode… it has nothing to do with zigbee but the firmware itself. i was able to fix this in node red, but it is a real pain…

1 Like

I was able to connect the thermostat using the SkyConnect and ZHA. It took some time until HA saw all the attributes and sensors, but it now is at the state, that others are able to reach, too. I then tried to initiate a firmware update, which tranferred successfully, but did not install, as one night later, I still see the same firmware reported by the device. A restart did not change this.
By now, the device has become fully unresposive to any commands from HA. Neither temperature setting, nor cluster commands about firmware are able to deliver. A full reset and new configuration of the device did not change things. If only I could at least control the temperature, then I could be motivated to wait for the quirk to be implemented…

Someone out there with similar issues and / or a possible solution to at least restore basic functionality for now?

Buy a SHC 2 at Amazon, do the updates and send the SHC 2 back after the update. Thats the way Bosch want it

1 Like

Hi All,

I’m having similar issues, but with a Bosch smart radiator thermostat II, I wrote about it here and was advised to go here.

I upgraded from the cheapest ZigBee dongle I could find to the HA SkyConnect and was able to use the zha.permit method to pair the radiator thermostat. I get several attributes and sensors, including a thermostat. I also get a button “identify”,. When I click it, the radiator thermostat flashes green. Looks perfect, except that the display of the thermostat only shows this:


(the >< flash)

When I press the main button,it shows this:


(It’s also an animation)

After some time this is shown:

I can set the temp in the HA interface, it seems. It’s just that the button itself does not show useful information. The reported temp also seems to be quite high.

What could be going on here? Is there a way to fix this? Does the button need a firmware upgrade? Or maybe it’s reporting that it isn’t hooked up to an actual radiator, could also be. No idea what to expect actually.

1 Like

Ok, never mind, it seems like the thing was just reporting that it needs to be attached to an actual radiator valve, see image:

Reported temp is way too high but, I’ll just let it equilibrate for some time.

This is success everyone! Thanx!

2 Likes

Yea, the E03 means a calibration failure due to not mounting it in your case.
The reported temp is mostly too high for radiator thermostats since it is so close to the radiator itself. I use mine with an automation ( :fire: Advanced Heating Control - Blueprints Exchange - Home Assistant Community (home-assistant.io)) and an external temperature sensor/thermometer somewhere in the room. That way I get consistent temperatures all around the house.

2 Likes

I was able to connect the thermostat using the SkyConnect and ZHA thanks to this thread :slight_smile:
The desired temperature is correctly transmitted, but when I try turn of heating for one thermostat, I always get the following error:


Any idea, how to get that working?
(system is pretty much vanilla, only started the day before yesterday with HA)

1 Like

Update #01: After 8h the device became unavailable. The cause might be range, might be handshake issues, might be something else. I decided to use the Bosch Smart Home Controller (SHC) that came in the same box.
Update: #02: The Bosch SHC is integrated in Home Assistant. The thermostat is available but only reports a value, nothing can be set.

I have a HomeAssistant Yellow. I had troubles adding the Bosch Radiator Thermostat 2 via Zigbee. I have written down the steps that worked for me.

  1. Via HACS install ZHA toolkit
  2. In configuration.yaml add a line zha_toolkit:
  3. On the battery cap or on the radiator behind the batteries note the ZigBee EUI-64 code (‘Source IEEE’) and the Install Code.
  4. Go to Developer tools, services, service: Zigbee Home Automation: Permit
  5. Enter the Source IEEE code and the install code in the UI. INSTALL
  6. YAML looks like this:
    service: zha.permit
    data:
    install_code: 379E-1234-ABCD-E529-1234-E6FE-ABCD-A70F-1234
    source_ieee: 18:fc:26:00:00:dc:ba:ab
  7. After INSTALL, go to Settings, Intergrations, Zigbee Home Automation. Your device should be listed now
  8. Done.

I cannot connect Bosch Thermostat 2 with ZHA, I´m using Sonoff 3.0 TI CC2652
I have tried to connect it with zha.permit but after filling the IEEE and Code I`m receiveing error messages

FYI - the Bosch SHC Bridge is still installed with another Bosch TRV 2 - shall I delete it completely?