I recently discovered Zigbee smoke and heat alarms. These are an amazing addition to Home Assistant as compared to regular smoke alarms that they enable:
Knowing which room an alarm is triggered in!
Remote alerting.
Siren triggering.
Remote hush.
Battery monitoring.
In addition some types even allow room temperature monitoring which in my house has tracked very closely (within 0.5°C) with the Xiaomi BLE thermometers.
Two models I recommend are those made by Frient and the Heiman HS1SA-E Plus. Both are EN14604 certified (recognised in many countries including New Zealand) and work out of the box with Home Assistant.
The Frient alarms share many similarities with popular compact alarms made by Cavius, to the point I am convinced they are designed and made by the same people. Unfortunately unlike Cavius, Frient don’t offer a flush mount option so I’ve designed a printable one instead.
I printed mine in white ASA. Unfortunately the roll I used left a slightly yellowish finish, so a gentle sanding and quick spray with Tamiya TS-101 base white (no priming needed) made them match the alarm almost perfectly. It looks much closer than it does in the photo!
Use a 64mm (2 1/2″) hole saw in the ceiling and some thin double-sided foam tape to stick them in place. The alarm should fit and click into place.
Standard surface mount (left) compared to recessed mount (right):
The previous owner of my house installed a solar water heating system that didn’t appear to perform well. After some investigation I discovered that many of the copper heat pipes in the solar collector had ruptured and the lagging had melted off the supply pipes. I fixed replaced of this and it made for an immediate improvement. The problem was I had no real way of monitoring how well it was all working.
The brains of the operation was a SR81Q solar hot water controller, produced by Shuang Ri. This has a simple control panel showing the system state and providing a series of menus for configuring the various parameters. Temperatures are shown rounded to the nearest whole degree.
There appeared to be no official means for external connectivity, although there was a half-duplex serial link between the control panel and the main unit that I briefly started working on decoding. Until I stumbled across the newer SR208C controller. My hot water installation is very simple and consists of three temperature sensors (one collection and two in tank), the solar water pump and electric heater control. The SR208C does all this, plus has a 0.1° precision compared to the 1° precision of the SR81. It also comes with optional WiFi, and is widely available from Ali Express for less than NZ$120 delivered. Problem solved, perhaps!
While creating something from scratch is always an option, I prefer to have a purpose-built controller running the show and not have it dependent on Home Assistant for day to day operation.
I spent some time going through all of the existing SR81 settings and comparing with the default values in the manual, assuming the original installer had taken time to optimise this. It turns out they had done very little aside from setting schedules for the electric backup heating.
SR208C
The SR208C with WiFi turns out to be designed for the Tuya cloud ecosystem. The original WiFi module is a Tuya WBR3 based on a Realtek RTL8720CF. FOSS support for this is patchy at best and not even an option for ESPHome at the moment. Sniffing the serial pins showed standard Tyua serial comms at 115200 baud. There were also log messages from the module being send to the main MCU via the module’s second UART.
I desoldered the WBR3 module and tacked an ESP32 dev board in place for initial testing. I was able to install ESPHome and work on analysing the Tuya data points.
After much investigation I could not find an ESP32 module that was a direct fit without modifying PCB traces. I settled for a WB3S module which is based on a Beken BK7231T. This module is the only one I can find that has an exact pinout match for the SR208C, so was able to be soldered directly in place and keep everything looking factory fresh. Except for the ground pad that lifted off and needed a jumper wire. 😦
I flashed the module using a USB serial adapter before installing it and future updates can be applied via OTA.
After all this we can now do the following via Home Assistant:
Monitoring T1 (collector), T2 (lower tank), T3 (upper tank) temperatures.
Monitoring collector pump (R1).
Monitoring electric heating (H1).
Turning manual backup heating on or off.
Setting the manual heating temperature.
Changing between Celsius and Farenheit units.
Sadly it doesn’t allow:
Controlling holiday mode.
Setting the time.
Overriding the pump control.
Configuring any other options.
If anyone finds a solar controller that does offer these features then please drop a comment below!
From here I’ve been able to log the state and effectiveness of the solar water heater. In the summer months this supplies over 90% of my hot water needs and in the winter it makes very little difference. Through spring and autumn it varies in contribution, averaging around 50%.
One quirk I discovered with the SR208C was that it would sometimes reset when the hot water backup heat was switched off. This was from inductive kickback from the external contactor used to switch the heating element. Installing a snubber across the contactor coil fixed this. A basic snubber can be made using a 100n class X capacitor and 100 ohm resistor in series.