I have 3 nobo heater panels in my home. They have a touch button thermostat to control the heat, but they are not very smart or useful. I saw that nobo has a wireless version of it, but they require an expensive HUB, and you have to use the APP on your smartphone to control it, which is still not very convinient. I have a Home Assistant based smart home, so I decided to use an ESP32 and ESPHome to integrate the heaters into my system.
For this project
- I reverse-engineered the protocol between the thermostat and heater.
- I designed a PCB that holds an ESP8266 board and a neopixel LED.
- I created a new ESPHome external component (C++ software that controls the heater).
- I designed a new enclosure in OpenSCAD.
The new thermostat can be controlled via Home Assistant as a climate device. I can setup automations to save energy, and to optimize comfort. As an added bonus, it reports current power too, so I can integrate it to the Home Assistant energy dashboard as well.
Material neededI need the new PCB, components for the PCB (resistors, capacitors, LED, pin headers, esp8266 board), the new 3D printed enclosure, screws, and screw inlets for the base. I also need the old Nobo thermostat since the 4x connectors are very special pieces and I was not able to replicate them:
First, I removed the supports from the 3D printed enclosure with a wirecutter:
Then I used the soldering iron to melt in the screw inlets:
First, I disassembled the original thermostat and desoldered the four metal pins that make the connection to the heater panel:
Then I soldered the components to the new PCB in this order:
- resistors, capacitor
- Wemos D1 Mini Lite
- LED
- 4x pins
I checked the connections with a multimeter.
Program the moduleI won't go into details on how to install and use ESPHome, please refer to the getting started guide: https://esphome.io/guides/getting_started_command_line
Download the sources from github:
git clone https://github.com/csabigee/nobo.git
open the file nobo.yaml
change settings like the wifi ssid, wifi password.
Also, change the nominal_power from 2000W to your model's power rating.
Connect the module via USB to your computer while it is NOT connected to the Nobo heater.
esphome run nobo.yaml
The LED on the device should blink blue. It will output error messages, it is not able to communicate with the heater, since it is not connected yet.
Assemble the deviceI simply put the PCB in, then the lid, and then fix them with the screws.
I tested the device with a laboratory PSU, just to see how much current it draws.
The current consumption is 80-90mA from 3.3V. It must be below 120mA, since the Nobo heater is only able to provide this low amount. The device is blinkig blue while there is no wifi connected. After a successful connection, it is glowing continuously. The color changes seamlessly from blue to red based on the current power of the heater:
- 0W => blue
- 1000W => yellow
- 2000W => red
Finally installed and working:
I can control it from Home Assistant, and setup automations:
Comments
Please log in or sign up to comment.