Bosch Thermostat 2

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


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 →

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 →

By the way, for manually upgrading firmware in ZHA after a device has already been joined/paired, see ZHA Toolkit →

FYI, someone submitted a firmware upgrade image file for Bosch BTH-RA (a.k.a. Smart Thermostat 2) to as per this PR

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 →—downloadtrigger-device-fw-update


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 →

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 →

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 ( but for now, only the temperature settings work fine for me. Just keep this in mind.


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!


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 ( and an external temperature sensor/thermometer somewhere in the room. That way I get consistent temperatures all around the house.


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
    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?

To start my automated life, I wanted to start with 2 of these thermostats and Home Assistant SkyConnect. With the first one it was a cramp, I never got past ‘interview started’. In the end, I took off the cover, went to ‘Developer settings’ → Services → ZHA: Permit and typed everything in, read out the QR code and copied it in. That worked, but it was a horrible start.
Fun fact: I placed the second thermostat next to the device, it was recognized and added fully automatically after a short time.
Strange, but it worked in the end.

@bglnelissen You post of 14 January helped me a lot to connect the Bosch door and window sensor II plus.
I added the ZHA Toolkit via hacs. Are you sure you have to add zha_toolkit: to configuration.yaml?

In Developer tools, Tab: Services I added Zigbee Home Automation: Permit
and then entered the source_ieee and Install_code. Both I found inside the ‘door sensor’ inside the battery compartment.
Don’t forget to press the button: ‘call service’/service aanroepen.

Then the device was not yet found. I added in HA a new zha zigbee device, and removed the battery from the door sensor and kept pressing the button, when replacing the battery, and released the button when lights where flashing.

It took a while before the door sensor was interviewed.
It is working now. Thanks.

Pairing worked for me with ZHA and Conbee 2 using information from QR code and zha.permit service.