Need Help Setting Up Water Underfloor Heating System with Home Assistant for a new built house

Hello everyone!

I’m in the process of setting up my water floor heating system and need some advice on integrating it with Home Assistant. The system will be split across 8 zones, 4 on the ground floor and 4 on the 1st floor. Here’s what I have in mind:

  • Ground floor: The groups can be connected into a single group to manage temperature centrally as the Kitchen, Livingroom and guest toilet can have the same temperatures.
  • 1st floor: Each group needs to function independently, as rooms like the bathroom and sleeping rooms will require different temperatures.
  • Controlled via HA via Wall Tablet: Samsung Galaxy A9+ with wall mount on every floor.

I’ve come across some interesting discussions like [this thread] that looks a lot as the same installation as the one in this video, which gave me some good insights. However, I’ve also seen a simpler approach using 230V actuators connected to a Shelly Pro 4PM, which seems like a much easier installation, which was also advised on the Shelly website here. As I’m pretty unknown if it comes to heating systems, I’m unsure if I need an extra temperature sensor that needs to be mounted on the pipe to measure how warm the water in general is (If seen that in the video above that is linked above).

I’m looking for advise/recommendations on the best options, performance being my main concern rather than cost. My goal is to ensure reliable performance and flexibility in controlling each zone’s temperature.

If anyone has experience with similar setups or can suggest the best way to integrate everything, I’d really appreciate your advice!

Thanks in advance!

I’m not so much an expert, but do have some experience. Choosing the right actuator is key. I picked 24V actuators because there were already 10 of them installed and only had to buy 2 more. If you don’t have actuators yet, it’s up to you. The 230V are ‘easy’ because of the Shelly, but Shellys are pretty expensive if you would need more actuators. Every floor pipe needs an actuator. So if in your case all 8 zones are one pipe, you need 8 actuators. In my case, the living is one zone, but has 6 pipes, thus needing 6 actuators for one zone.

Buying and installing an ESP relay module is a bit more complex compared to shellys, but is far less expensive. ESP relay boards are in all different voltages available, but again, it’s up to you.

You don’t NEED temp sensors mounted to pipes, it’s just an extra, a safeguard on which you can turn on and off the pump. I do have these sensors, but I don’t use them for the pump.

What I have done is easier, 1 have 12 relays, when a single get’s switched on, the pump gets turned on. If all relays are off, the pumps turn off after 5 minutes, if longer than 8 hours off, it turns on for 1 hour and turns off again.

Hi Martijn, thanks for your reply and sharing your experience with me. I know a ESP Relay would be the cheaper way, but my concern is that it’s not well covered (its just a board with no case) and I think electrician will not like that :sweat_smile:. Or do you know where to get good covers for that?

In general, I think I can manage the ESP installation tho.

What I have done is easier, 1 have 12 relays, when a single get’s switched on, the pump gets turned on. If all relays are off, the pumps turn off after 5 minutes, if longer than 8 hours off, it turns on for 1 hour and turns off again.

  • What kind of tool did you install there to get that sensor/controller?

Could you maybe share your config with me so I can consider this installation next to my Shelly installation?

Again, thanks!

I have bought Voarge Aansluitdoos, IP65 ABS, waterdichte aansluitdoos, doe-het-zelf, kunststof behuizing, verdeelkast voor binnen en buiten, communicatie, brandblusapparaten (230 x 150 x 85 mm) : Amazon.nl: Klussen & gereedschap to house the ESP board. Drilled a few holes at the bottom to get the actuator cables in and on the right side for the powercord.

This is the esp board Relais Module 16 Kanaals Wifi Afstandsbediening Development Board Dc 24V Voor ESP8266 Secundaire Ontwikkeling Leren Smart Home Draadloze Controle : Amazon.nl: Zakelijk, industrie & wetenschap which works pretty well I guess.

I’ve also added an Aqara temperature sensor inside the box to monitor if it overheats.

Hi Martijn, thanks again for the info. Im really considering your installation as its way cheaper then going for a Shelly installation. Would you maybe mind sharing your ESP config and some pictures of your installation?

1 Like

My current config:

esphome:
  name: vloerverwarming
  friendly_name: vloerverwarming

esp8266:
  board: esp12e

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

ota:
  - platform: esphome
    password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  domain: .local
  manual_ip:
    static_ip: 192.168.xx.xx
    gateway: !secret gateway_ip
    subnet: !secret netmask
    dns1: !secret dns1
  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Vloerverwarming Fallback Hotspot"
    password: "xxx"

captive_portal:

# Enable Web server
web_server:
  port: 80

substitutions:
  pin_status: GPIO02        # Internal
  pin_onboard_button: GPIO0 # Internal

# Status LED
light:
  - platform: status_led
    name: "RelayBoard LED"
    restore_mode: ALWAYS_ON
    pin:
      number: ${pin_status}
      inverted: True

sn74hc595:
  - id: 'sn74hc595_hub_0'
    data_pin: GPIO14
    clock_pin: GPIO13
    latch_pin: GPIO12
    oe_pin: GPIO5
    sr_count: 2

# Individual outputs
switch:
  - platform: template
    optimistic: True
    name: "Vloerverwarming - Woonkamer"
    turn_on_action:
      - switch.turn_on: relay_woonkamer_1
      - switch.turn_on: relay_woonkamer_2
      - switch.turn_on: relay_woonkamer_3
      - switch.turn_on: relay_woonkamer_4
      - switch.turn_on: relay_woonkamer_5
      - switch.turn_on: relay_woonkamer_6
    turn_off_action:
      - switch.turn_off: relay_woonkamer_1
      - switch.turn_off: relay_woonkamer_2
      - switch.turn_off: relay_woonkamer_3
      - switch.turn_off: relay_woonkamer_4
      - switch.turn_off: relay_woonkamer_5
      - switch.turn_off: relay_woonkamer_6
  - platform: gpio
    name: "Relay Woonkamer #1"
    id: relay_woonkamer_1
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 0
      number: 0
      inverted: false
  - platform: gpio
    name: "Relay Woonkamer #2"
    id: relay_woonkamer_2
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 1
      number: 1
      inverted: false
  - platform: gpio
    name: "Relay Woonkamer #3"
    id: relay_woonkamer_3    
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 2
      number: 2
      inverted: false
  - platform: gpio
    name: "Relay Woonkamer #4"
    id: relay_woonkamer_4    
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 3
      number: 3
      inverted: false
  - platform: gpio
    name: "Relay Woonkamer #5"
    id: relay_woonkamer_5    
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 4
      number: 4
      inverted: false
  - platform: gpio
    name: "Relay Woonkamer #6"
    id: relay_woonkamer_6    
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 5
      number: 5
      inverted: false
  - platform: gpio
    name: "Relay Badkamers"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 6
      number: 6
      inverted: false
  - platform: gpio
    name: "Relay Hal 0"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 7
      number: 7
      inverted: false
  - platform: gpio
    name: "Relay Slaapkamer Ouders"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 8
      number: 8
      inverted: false
  - platform: gpio
    name: "Relay Slaapkamer Fynn"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 9
      number: 9
      inverted: false
  - platform: gpio
    name: "Relay Berging"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 10
      number: 10
      inverted: false
  - platform: gpio
    name: "Relay #12"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 11
      number: 11
      inverted: false
  - platform: gpio
    name: "Relay #13"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 12
      number: 12
      inverted: false
  - platform: gpio
    name: "Relay #14"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 13
      number: 13
      inverted: false
  - platform: gpio
    name: "Relay #15"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 14
      number: 14
      inverted: false
  - platform: gpio
    name: "Relay #16"
    pin:
      sn74hc595: sn74hc595_hub_0
      # Use pin number 15
      number: 15
      inverted: false

Pictures are a bit hard to make right now, maybe I can manage that tomorrow when there is more light.

That would be wonderful. Again, thanks for helping me out. Appreciated! :slightly_smiling_face:

I still have mine on a temp beer crate. It’s running now for two weeks like this, and I think it is stable so hopefully I have some time to hook it up to the wall, after sorting the wires for a bit. But for now:

I think there are lot’s and lot’s of people who can do this much better and more clean, but this works great.

Hi Martijn, thanks again. Big fan of Hertog Jan so I will definitely consider this as a nice back up plan haha.

Maybe a dumb question, but can I also install 230v actuators to this ESP8266 24v board or just 24v ones?

1 Like

I don’t think that’ll work. There are 230V boards too, they surely do work with 230V actuators, but I don’t think the 230V will work because they need a much higher load than the 24V board provides.

As mentioned, I choose 24V because I already had a couple of them because of the previous owner of this house. If you start new and have to replace you are free to decide your own. I’d however would decide 24V because it’s less dangerous when there is an error.

And YES, Hertog Jan is always a good choice.

1 Like