Introduction: DS18b20 Temperature Sensor As a Thermostat

This Instructable shows how I built the thermostat for my home-assistant using an ESP8266 and MQTT with a DS18b20 temperature sensor.

Part 1 of this build is to build a temperature senor using a DS18b20 - The video shows how I built the board rather than using the prototype on a breadboard.

Part 2 is to build the relay board that controls the boiler.

Step 1: Hardware That You Will Need

  • ESP8266 on daughter board (
  • 5v to 3.3v regulator (
  • DS18b20 sensor (
  • 4.7k Ohm resistor
  • Connecting wires
  • Pin header sockets (
  • Fan header connectors (if you want to connect power and sensor as I have)
  • Solder
  • Soldering iron
  • Wire cutters
  • Veroboard
  • Veroboard track cutter

Step 2: MQTT - to Send the Temperature to a MQTT Broker

Details on how to use this with a MQTT broker can be found in my Instructable called 'Remote Temperature Monitoring Using MQTT and ESP8266 Modules'

Step 3: Switching the Heating on and Off

I've used another ESP8266 using MQTT which subscribes to a switch in home-assistant which will switch the boiler on and off using a relay. I explain how I setup this in my other Instructable 'Using an esp8266 arduino to control a relay using home-assistant'.

Instead of using a switch though, I used a thermostat in home-assistant. The home-assistant configuration I used was as follows:

platform: heat_control name: Livingroom heater: switch.switch1 target_sensor: sensor.living_room min_temp: 15 max_temp: 30 target_temp: 15

This uses the switch.switch1 as the relay, which is switched on and off depending on the temperature which is taken from the sensor.living_room, which is the DS18b20 connected to another ESP8266 that I covered in the video.

The relay is connected to the control unit for my boiler, it has 2 pins that when shorted the boiler comes on, so I just simply connected the normally open pins of the relay to these 2 pins and when the ESP8266 gets a signal to switch on the relay, it then turns on the boiler.

This happens when the temperature in my Living room is lower than the set point which I can change using home-assistant.