Make a dumb heatpump smart
Introduction
This project has been run by me and a friend of mine. The idea was born in the summer before the 2022 energy crisis in Europe triggered by the invasion of Ukraine. Already then it had become evident that the electricity cost would swing widely over the course of a day, and it would probably be a ongoing property for the grid. This can however be exploited by steering your power consumption. My house is heated by a heat-pump, which is a device that takes electrical energy and use it to move heat from the outside to a water accumulator in the house. There are also resistive heater packs to enhance the power of the pump for really cold days or if the compressor breaks. This water is then pumped through the radiators to dissipate it's heat into the house. The accumulator, the radiators and the house itself is essentially a heat battery that I can store a not insignificant amount of energy in if I allow the temperature to fluctuate a but. The price spikes are generally 2 - 4 hours long, so it is not a huge amount of time that need to be covered.
There are already pumps on the market that you can control with an app over WiFi or over modbus. Well, mine is a dumb pump that should be good for a few more years so I need to do something to achieve this.
Concept
My heat pump is using temperatures sensors to control how much heat is demanded from the compressor. The sensors are NTCs, that could theoretically be simulated with potentiometers. There are products known as digital potentiometers where you can set the resistance with software instead of turning a knob. Two channels of these should be enough to spoof outside temperature as well as one additional temperature. Experimentation will be need to decide if it should be inner temperature or something like outgoing hot water temperature.
The potentiometer board will be controlled by Homeassistant. Homeassistant can use data from either Tibbr or Europool to get 24 hour ahead spot energy prices. This means that it can plan how the heating system should consume energy in a cost optimal way for the next 24 hours. The optimal way is to use some self learning model for how the house works to optimise indoor temperature increase with cheap electricity and let it sink with expensive electricity. That programming is probably over my head, so most likely it will be a dumber "increase temperature with 2C in the last 4 hours of low prices" and "block heating during spikes until indoor temperature is under XC" as control model. Who knows, maybe Homeassistant will have something like this built in soon.
The device need to also have some kind of safe fallback. Therefore, the device shall give back control to the heat pump at any moment, restoring the old control system in case of hardware failure, power outage or something else. I do not want my heating to depend on my coding skills. This fallback should be "fail safe", and be the passive default.
Goals and objective
This is a less ambitious project than some others I described here. I expect this to be a money saver, so it cannot be delayed with a year simply because I could not find time and energy to fix it. That being said, I do want to learn something from it
- Make an arduino/EPShome library
- Use digital potentiometers
- Make something that others could reuse with some kind of ease.