Project 2: heat

The heat-controlling device is the second smart-device I’ve added to my house. For the first one, that controls lights to bath and hall, you can read more here.

Under construction...
Under construction…

My central heating system uses gas heating controlled by a remote wireless sensor and a wireless receiver. So wireless control was a default setting in my heating system but…it wasn’t wireless enough for me 🙂

The initial setup: on the left, the wireless sensor, that can be moved where needed; on the right, the wireless receiver, that’s connected to the heating unit. After my changes, the wireless receiver gets connected to the ESP module.

So, for my project, I wanted to keep the existing wireless sensor and update it, so I can turn the heating on/off from my phone.


As the heating is quite close to an outside window, to the ESP module I’ve also added a temperature sensor (DS1820), that’s placed outside.

DS1820 temperature sensor in tests, on the breadboard
DS1820 temperature sensor in tests, on the breadboard

Next, in order to keep existing wireless functionality, I’ve connected the heating wireless receiver to my ESP module, and, when requested, the ESP uses a relay, in order to turn on/off the heat.

So, the wireless sensor works as before, sending signals to the wireless receiver, that sends the signal to the ESP module – which turns the heating on/off. The advantage here is that if, by mistake, I left home and the wireless sensor is in cold room, or a room where the window is left open, I can override it and turn off the heating. Or, if I’m about to get home, I can start the heating in advance.


The device is connected to the Raspberry Pi “hub” (see more here in my intro articles), where I’m using Home Assistant.

The software setup is mostly the same as in the first device, having the same setup and loop, but in this case I didn’t need to process any movement sensor or switches, I had a different temperature sensor and had to process the wireless sensor changes.

All the on/off messages are sent from Home Assistant to a telegram bot – by sending the text message from the ESP module to an MQTT channel, that is used in Home Assistant to forward that message to a telegram notify service, using Home Assistant automations:

- action:
  - alias: notify.telegram
      message: '{{ trigger.payload }}'
    service: notify.telegram
  alias: Telegram logs
  condition: []
  - platform: mqtt
    topic: logs/topic
Telegram bot - messages from the wireless on/off
Telegram bot – messages from the wireless on/off

The default wireless sensor is automatically turning on/off the heating for 1m, every day, at 12pm. I think it’s somehow a protection for the heating system, so it won’t break if unused for a long period of time. I get notifications of that too.

Telegram bot - logs from the 30m automation
Telegram bot – logs from the 30m automation

A problem that I found in this specific case, when the wireless sensor battery is low, it sends the turn on signal, but, because of low battery, the turn off signal doesn’t get send. So, I manually turn it off.

Also, on Home Assistant, I’ve added an automation that turns on the heat, and after 30 minutes it turns it back off, also adding messages to Telegram bot.

What’s next?

After I’ll add a few more sensors, maybe I can automate this a bit more. Or maybe even upgrade the hardware to custom case or pcb.

That was it on the heating device, next on my to write list: the entrance door.

Leave a Reply

Your email address will not be published. Required fields are marked *