Hello,
in this topic I will present a software change via OTA in a Zigbee thermometer. Why am I changing this software over at all? Well, while it is very cool in appearance, has a display and is powered by two AAA batteries, unfortunately the factory software is an example of how softwares should not be written for Zigbee.
So:
- Very short range - the device in practice needs to be a few metres from the Zigbee router. Placing it in another room often results in a loss of connection (changing the firmware here won't help - such is the design).
- Temperature update every 30 minutes - regardless of whether the temperature changes or not.
- Possibility to manually refresh at the press of a button, but... the button simultaneously switches between °C/°F units.
- Rapid battery drain - 800 mAh rechargeable batteries last just over six months.
What is the model, anyway?
Well, take your pick:
- TZ3000_bjawzodf
- TS0201
- RSH-HS03 (printed on board)
- TY0201
Such markings can be found regarding this thermometer, while the manufacturer does not seem to acknowledge this, simply Tuya.
The device comes in two versions, of course it may be sold in some other version in a while.
- the first contains only the Zigbee ZTU module with the TLSR8258 chip - and this can be reprogrammed easily via OTA
- the second one has an additional MRT08S (SO-8) chip, which does not know what it does - if you have this version, you have to solder this chip and make jumpers in place of the missing resistors R2 and R3 (in the version without the additional chip these resistors are there and are 0Ω). This is shown here: https://pvvx.github.io/TY0201_TZ3000_bjawzodf/
I had version one, so I didn't have to do anything.
Only to be safe I made a copy of the original software. This isn't necessary of course, but as the alternative software has only just been released I preferred to be able to revert to the original should the need arise.
To do this I used https://github.com/pvvx/TlsrComSwireWriter and a USB-COM adapter on a CP1202 chip. I made a couple of copies and compared if I was sure the contents matched.
Ok, it's now time to do the update. I'm changing the firmware to the ZigbeeTlc version written by pvvx, just this month this thermometer model started to be supported by them https://pvvx.github.io/TY0201_TZ3000_bjawzodf/
Admittedly the version released is still marked as beta, but it fully supports this model.
Also a couple of weeks ago there was a major change to the OTA support module in Zigbee2MQTT. The ability to manually select the file to be updated has been added. So you don't have to fiddle with creating the relevant configuration files to specify the right file. Simply download it to disk and select it in the browser window.
This is the list of versions of this firmware from pvvx. The relevant file should be downloaded from the bin directory on github: https://github.com/pvvx/ZigbeeTLc/tree/master/bin
There are 3 versions:
- 1141-0203-10923001-ZTY0201z_v0134.zigbee - the first one is the one to use in this case, it is used to perform an OTA update from the original firmware
- 1141-0230-01343001-ZTY0201.zigbee - the second one is the one to use for OTA updates when ZigbeTlc is already installed on the device
- ZTY0201_v0134.bin - the third is a traditional binary for programmer uploads
Ok, so I specified this file, the update seemingly started and an error occurred, timeout. From what I read on github https://github.com/pvvx/ZigbeeTLc/issues/107
It is the case with this thermometer that you have to press the button on the case all the time during the update (for about 15min of the update!), so that this one doesn't go to sleep. Another example of how the factory software is messed up.
Well, nothing, after those several minutes of clicking, the update reached 100% and the thermometer reset. Now we had to click on the Z2M in the device tab "Reconfiguration" to have it redetected.
And here's where another glitch, it turns out that the device is unsupported. Not really surprising, after all this software has only just been released and presumably with one of the next Z2M updates support will be added.
At the moment, however, I don't have any settings available, and there are quite a few in this firmware, such as calibrating the display - both on the display and via Zigbee, setting the update frequency or disabling the display.
Fortunately, the basic Z2M item detected, namely temperature, humidity and battery level.
It remains to test how this firmware will perform. I think it should sensationally because I already use it in the Xiaomi LYWSD03MMC thermometer ( https://pvvx.github.io/ATC_MiThermometer/ ), this tiny model, also with a display is powered by a CR2032 battery and has worked for me on it for over a year!
Below you can see what settings are available for the ZigbeeTlc firmware and a diagram of the CR2032 battery in the thermometer - here the beginning is unfortunately missing because I changed the name of the thermometer, but it has been running since January 2025.
Cool? Ranking DIY