DS18B20 Pipe Monitoring

Reently I got curious with how the heating temps are and as it’s a heat pump measuting the pipe temps can in theory be done with a connection into the controller

That needs a special device though so i decided that I would make it myself
this is the first post documating that project

as per my other guides I used esphome


Parts List:
1) DS18B20 sensors (I like the metal ones as they are less prone to being damaged and come with the wiring already attached
https://www.amazon.co.uk/dp/B09G2C3JJ9

2) some kind of breakout boards or a 4.7k resistor (I used the little breakout boards that have it already
(I used breakout boards that come with the sensors I linked above)

3) some way to join the sensors correctly (I used some wagos and just soldered the wires together)

4) esp32 module or similar

The Build:

1) first get the sensors and just solder or join the wires in a wago to the breakout or esp (Don’t forgot the 4.7k resistor if you used that method)

this was my first method before I used a wago (those boards only fit 3 wires in a terminal so a wago works better with a short jumper to join between the wagoed bundle and the breakout


DATA goes to the data wire from the ds18b20
VCC goes to the red (or whatever power is on yours)
GND is ground
screw terminal is for the sensor
pins are for the esp side

I wrapped mine in Self-Amalgamating Rubber Tape to keep it a bit of protection from damage or just being moved


before doing that make sure to add a wire to go the esp though
I used three female to female dupont wires (which came with the boards) to connect it

then go to the esphome dashboard in whatever system you use and paste this code in





esphome:
  name: heating-temp-monitor
  friendly_name: heating temp monitor

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:


ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Heating-Temp-Monitor"
    password: !secret wifi_ap_password_backup

captive_portal:
    


one_wire:
  - platform: gpio
    pin: GPIO25

Make sure your data wire from the board is hooked up to GPIO 25 on the dev board though (If it’s not change it in the code to match what pin you want to use)

then flash the esp
watch the logs and you should see the addresses for each sensor show up

this is mine for example

then you need to copy those ids and go into the code and create sensors with each one
add this to your code at the end

sensor:
  - platform: dallas_temp
    address: addresshere
    name: temp1
    update_interval: 120s


  - platform: dallas_temp
    address: addresshere
    name: temp2
    update_interval: 120s


  - platform: dallas_temp
    address: addresshere
    name: temp3
    update_interval: 120s
  
  - platform: dallas_temp
    address: addresshere
    name: temp4
    update_interval: 120s


  - platform: dallas_temp
    address: addresshere
    name: temp5
    update_interval: 120s

under the 1 wire line
replace addresshere with what your probe addresses are

if you have less or more probes that I have just add or subtract sensors in the same way I did them

once you have that reflash the esp and you should see something like this in the logs

if you don’t see it straightaway don’t worry
just leave it sit for a bit and it’ll update

eventually once you have done all those steps and then added it to home assistant you’ll see something like this if you go into devices then esphome

if you want a web server also that you can see from the board ip address then just add this to the end of your code and update /reflash your esp

web_server:
  port: 80
  

this is the entire code you should have ended up with something like

esphome:
  name: heating-temp-monitor
  friendly_name: heating temp monitor

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:


ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Heating-Temp-Monitor"
    password: !secret wifi_ap_password_backup

captive_portal:
    


one_wire:
  - platform: gpio
    pin: GPIO25


sensor:
  - platform: dallas_temp
    address: 0x1400000057048828
    name: temp1
    update_interval: 120s


  - platform: dallas_temp
    address: 0x1300000058e23c28
    name: temp2
    update_interval: 120s


  - platform: dallas_temp
    address: 0x7e00000057c0f228
    name: temp3
    update_interval: 120s
  
  - platform: dallas_temp
    address: 0x7e0000005845c028 
    name: temp4
    update_interval: 120s


  - platform: dallas_temp
    address: 0xf300000056d63e28 
    name: temp5
    update_interval: 120s

    
web_server:
  port: 80
  

the web server is optional


Posted

in

, ,

by

Comments

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

electronenclave