Good and simple way to monitor temperature on hot pipes in central wood boiler heating system?

I’m hoping that one of the many kind and helpful souls that frequent this forum could help me in the right direction here. Seems as the more I read, the less I understand :grin:

Goal is to monitor at least nine different temperatures (might be more) in various places of my central heating system, which is powered by wood.

The boiler heats up water tanks at 750l a piece and I want to monitor the temperature at the bottom, middle and top in two of those. I also want to monitor the temperature of the water being pumped to and from the radiators. Finally I want to monitor the temperature of the flue gas, two meters down from the top of the chimney.

Typical temperature range is between 20-96°C in the tanks/pipes and >120°C in the chimney.

When this is achieved, I will try to make some nice graphical meters and graphs in the HA interface, and log statistics in a good and a easy to overlook way. Statistics should be how long the temperature in the tanks stays in the acceptable range, how the temperature corresponds to outdoor temperatures and how often I have to fire up the boiler.

I figured that the DS18B20 sensors should work fine for these applications, but I can’t figure out the best way of integrating them in my HA-setup!

A Sonos TH10/15 should probably work, but it only accepts one sensor. Looks like some guys are using WiFi PCB’s of some sort, but then there is something like Arduino (which I know nothing about) involved, or MQTT, Z-wave or something else that is not compatible with my Zigbee setup (Conbee / Deconz)

I am not yet very skilled in the wonderful world of coding, scripting, YAML and whatnot. More of a practical guy. I could most certainly do some soldering (as long as I know what’s supposed to go to what :slightly_smiling_face: ) and extending cables if necessary.

The communication between sensors and Rbpi should be wireless.

I’m running HA on a Rpi3B+, Conbee 2 for Zigbee network. Pretty solid network around the house. I have HACS installed and have even managed to install some other things from the store :slightly_smiling_face:

I’m not interested in changing zigbee coordinator.

Also, I prefer to keep communication and network local.

Is there anyone that can think of a pretty simple and cost effective way of achieving this goal…?

I would be most grateful to hear your input!

2 Likes

Then ESPHome is what you are looking for. Configured with a simple yaml config. Like this:

esphome:
  name: hot-water-monitor
  platform: ESP32
  board: mhetesp32minikit

wifi:
  ssid: 'WAPRU'
  password: !secret wifi_pwd
  manual_ip:
    static_ip: 10.1.1.197
    gateway: 10.1.1.1
    subnet: 255.255.255.0

api:
  password: !secret api_password
  encryption:
    key: !secret api_encryption_key

logger:

ota:
  password: !secret esp_pwd

dallas:
  - pin: GPIO33
    update_interval: 3s

binary_sensor:
  - platform: status
    name: "Hot Water Monitor Status"

sensor:
  - platform: wifi_signal
    name: "Hot Water Monitor WiFi Signal"
    update_interval: 15s
    filters:
      - sliding_window_moving_average:
          window_size: 15
          send_every: 15
          send_first_at: 1

  - platform: dallas
    address: 0x1a3c01e07605b228
    name: "Tank Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

  - platform: dallas
    address:  0x58000000167d7228
    name: "HP Inlet Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

  - platform: dallas
    address: 0xa23c01e07646d628
    name: "HP Return Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

  - platform: dallas
    address: 0x2000000018fee128
    name: "Hot Water Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

  - platform: dallas
    address: 0xec00000019647a28
    name: "Tempered Water Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

  - platform: dallas
    address: 0x7900000018552628
    name: "Air Temperature"
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
          send_first_at: 1

switch:
  - platform: restart
    name: "Hot Water Monitor Restart"

Load it up to an ESP board from your web browser, then after it is discovered by home assistant you can do whatever you want with the sensors, e.g.

6 Likes

While you need to be cautious of esp clones, they can be ok if you’re not asking too much of them.

I think a 10pack of d1 mini clones would probably be ok for the job if you want to keep costs down. I haven’t had any drama with these ones.

AU $25.93 46%OFF | 10pcs ESP8266 ESP-12F NodeMcu Mini D1 Module WeMos Lua WiFi Internet Development Board for Arduino Compatible with WeMos D1 Mini

I’ve been using these temp sensors a bit. They seem ok. With ESPHOME you can always calibrate if you need.

AU $2.32 60%OFF | SHTC3 high-precision digital temperature and humidity sensor measurement module I2C communication is better than AM2302 DHT22

When you get to configuring them, you might find using the append Mac address option useful so you can use the same config for all devices.

Can you get 5v usb power to the locations you need?
Is the idea the sensors would be taped to the outside of the pipes/tanks etc?

I agree with @tom_l and @Mahko_Mahko . However the inside of flues get bloody hot.You may be better with a thermocouple for that one. Also you’ll need to wire it with wires that will stand the temp.

1 Like

If, for other reasons, you would like to go a more standard device way, then I use these Zigbee devices.

Simply put them between the pipe and the insulation. The battery works for at least 1 year. I use Zigbee2MQTT.

1 Like

They only measure 20~100°C.

However this is required:

Right, only from -20 → 100

If you look for the bbq probe threads you might find some high temp probe ideas.

So they’ll work for the pipes, not the flue.

Wow, thank you very much everyone for this! I’m really happy that so many nice persons replied!

Concidering the number of sensors I need for this project, it will probably be a good thing to look for the cheaper sensors. I really liked the Owon sensor that @khvej8 showed. But sadly it would break the bank a bit with 9 of these + batteries. And you guys know how it works… When you buy some new cool sensor, you will pretty soon thereafter buy some more of those new cool sensors! :smiley:

@tom_l Thank you for the tip about ESPHome, and might I say, really nice graphics for your heat pump! Is that screenshot from your HA UI…? Also, thanks alot for the (in your eyes) simple yaml config! Will probably be of good use when I get to the setup.

@Mahko_Mahko Thank you very much for those links! The idea is as you assumed, the sensors will be taped/striped to the outside of the pipes tanks. The pipes and tanks are insulated, so I figure I will just tuck them in under the insulation and secure them to the pipe to make a good contact.

I can get 5V USB power in the boiler room, I have 230V wall outlets there. As for the chimney, I have a free ventilation duct going from another room in the basement, and I figure I could run power from that room up the duct, and connect a board there. Preferably just a really long USB-cable, but the power drop might be too great concidering the length of the cable (~10 meters).

For sensors I think the DS18B20 would work the best, concidering the flexible cable and the temperature ranges.

Would you (or anyone else) mind elaborating a bit how many wifi modules I really need for say 9 temperature probes to begin with? I can’t seem to figure out if it should be sufficient with just one, and the probes would then be soldered together, in couple with a resistor of some given value, and then soldered to the right pin holes on the wifi module. Or perhaps I will be needing some additional modules because of some possible max number of probes one module could handle?

@nickrout Your right, the flue gas get bloody hot… It cools down quite a bit on it’s way up through the chimney though, and it’s at the top I would like to read the temperature. One reason is that I want to avoid condensation in the chimney as it will damage it over time (happens when flue gas is too cold) and one reason is to see that it doesn’t get too hot. Ideally an alarm should be triggered if the temperature goes over say 300ºC as this would indicate a chimney “soot fire”. Would probably need a different kind of probe for this.

If anyone would like to view this shopping list and tell me if this should be sufficient, I would be really grateful! https://www.amazon.se/hz/wishlist/ls/12NF1VT4MAJLZ?ref_=wl_share

Thanks again everyone, for your replies! I really enjoy the friendliness around this community! :smiley:

1 Like

As you can run multiple DS18B20 off of one pin, in theory you should only need 1 esp if that works wiring wise as far as running long wires.

You may want to research or test for any issues with long wires (perhaps others have experience with this). I’m not sure if they would become a problem at some length both for power supply and between esp and DS18B20.

I would suggest getting an ESP32 not a D1 Mini if you are using many sensors on one device. It has more extra pins to use if required and has more computing resources. Check that other thread for options.

2 Likes

I’m running 6 * DS18B20 off a single pin on a node MCU ESP8266 with ESPHome to monitor my hot water cylinder. It’s been rock solid for over a year

4 Likes

Thank you very much all you nice people who posted in this thread! I got it running yesterday, a total of 9 ds18b20 probes, connected to a single pin (D7) on a NodeMCU ESP8266 Lolin V3. 3V for power and ofc a ground pin also. A resistor of 4.7Ohm between data and power cable.

When trying to add a 10th probe, they all go down though. The 10th probe is the one in the chimney, so the cable is ofc long (prob +20m). I used telephone cable and twisted the copper ends together on several wires (4-5) in an attempt to reduce impedance/resistance in the cable, but this might have done more harm then good idk since I increased mass/weight. I will try to connect it alone to another ESP-board to see if it works there.

Another thing which someone might find helpful, in the (for me) frustrating process of flashing and uploading code to the ESP-board, when specifying board type, I had to type “nodemcuv2” despite this being a V3 board. Refused to work at first and took me a while to figure.

So what remains now is to tidy up the cables in the boiler room and put the board in an enclosure of some sort. And off course creating some nice and informative cards for Lovelace (which I have yet to learn…).

@tom_l Would you mind sharing the code for your, really awesome and good looking, cards with schematics and temperatures that you posted earlier? Would sure help me to get started.

This is what it looks like in the UI just testing out:

[EDIT] Tom, I just saw that you DID share your code for your graphics. What I don’t understand yet though is where you put this code to render the graphics? I will research! :slight_smile:

1 Like

I managed to create a half decent picture element card! Could be improved though!

I would like to add a “Time since last fire” counter and a “Number of fires burnt this year” counter. And also I want the fire-icon to change to the fire-off icon when no power is being pulled from the smart plug that the boiler is connected to.

If anyone feels like helping me along, I started a thread here: Is it possible to add a "Time since ..." to a picture element card?

Thank you all again for your invaluable help! I will make sure to help others that may come across this thread or if I find some other person with similar questions as I had :slight_smile:

2

1 Like