Hydronic Underfloor Heating – Control

The underfloor heating supply temperature varies between 22 and 40 Celcius (72 – 104 Fahrenheit) the colder it is, the warmer the floor needs to be to heat the house.

We adjust the supply temperature manually, if it is too cold we crank it up a few degrees and vice versa, and we normally do this from the MyController WEB-interface.

Under the hood

An Arduino controls a Honeywell motor valve, mixing the hot water from the boiler with some of the water returned from the house, to deliver the water at a given temperature.

The Arduino program is using the MySensors library mainly because this gives us a standardized way to read and log temperatures and control setpoints from a higher-level Home Automation system. I might go into further details about the Arduino-code in a later post.

For the Home Automation system I have chosen to use MyController Version 1, note that in 2023 a newer version of MyController was released, which is not compatible with Version 1.  When I implemented this years ago, I saw MyController as the easiest way to get a system up and running.  I have not looked into the new version of MyController, and there are other Home Automation frameworks that one might use, next time I think I would look into using Home Assistant, or Domoticz

MyController-v1

MyController is implemented in Java and will run on various systems, including Linux and Windows, I use Linux (ubuntu-22.04), on an older low-power PC and heating as hostname, here is what I did to get this up and running.

  • Download mycontroller-dist-standalone-1.5.0-bundle.zip from   https://v1.mycontroller.org/
  • unpack the download file into  /opt/mycontroller and change to that directory
  • conf/mycontroller.properties is heavily commented, and I made some minor adjustments
  • bin/start.sh, which needs a minor change to Java version checking to make it run under Ubuntu
  • Run the above script to start the server, Ubuntu needs to run this when it boots.
  • The rest of the configuration is done from the WEB-page https://heating:8443
  • the Arduino which controls the Honeywell motor-valve is connected to the Linux PC, and MyController is configured to connect to this MySensors system.

https://heating:8443

The MyController WEB page is provided by a Linux computer on the local network, hence it cannot be reached (nor tampered with) from the outside world – it does not live in the cloud.  Hence to use it from your phone/computer it must be connected to your local network, I believe most Wifi-Routers will enable you to access the system via the hostname (heating), at least that is the case for OpenWrt which I use, otherwise you might have to add a host record in the Routers DNS server, or worst case uses the IP address (this would look like https://192.168.1.123:8443).  Modern-day browsers will warn you that the connection might be unsafe, ignore this and continue to the WEB page.

This entry was posted in Heating, HomeAutomation, MySensors. Bookmark the permalink.