←back to thread

1901 points l2silver | 1 comments | | HN request time: 0.219s | source

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
Show context
altered_state ◴[] No.35751748[source]
In my new house with underfloor heating, an air source heat pump was installed that turned out to have a controller that switches it on and off over 80 times per day which reduces its lifespan significantly. I decided to see if I could improve on this so I started reading lots of papers regarding temperature control.

Since this is a tricky problem to solve, I built a quick fix solution while I work on the "real" version. The quick fix measures the average indoor temperature in the house using zigbee sensors and uses a number of weather forecast APIs to calculate the amount of heat lost from the house in a day based on the difference of outdoor / indoor temperature and the amount of solar irradiation. It runs at midnight and creates a 24h schedule based on the forecast energy price and expected COP. The heat pump is controlled with a relay from an ESP32. The algorithm/app runs on a raspberry pi and is written in Rust.

It worked surprisingly well last winter with some tweaking needed during very cold periods. And the heat pump only switches a few times per day now and makes very long efficient runs, theoretically greatly increasing its lifespan and simultaneously reducing my energy bill.

I'm still planning on building the better version I had planned based on a thermal model of my house, but that will require more studying and now that the quick&dirty version works so well the pressure is off a bit.

replies(3): >>35752158 #>>35764323 #>>35770867 #
aftbit ◴[] No.35764323[source]
I noticed the same problem with my heat pump. It was cycling every 5 minutes when we first moved in. I replaced the thermostat with one that supports Zigbee, with plans to drive the setpoint up and down using a second level controller in order to reduce this behavior.

Actually, the new thermostat entirely solved the problem, by allowing a 2°F deadband instead of the 0.5° that the previous thermostat used. Now it will run roughly once an hour instead of ~12 times. This is not as good as your solution, but considerably better than it was.

I still use the Zigbee control to ramp the thermostat up and down at morning and night less aggressively than a native schedule on the thermostat, but it isn't truly necessary.

replies(1): >>35764384 #
1. altered_state ◴[] No.35764384[source]
Yep that is a good solution that is popular as far as I've read. I've tried this as well initially but in my case this didn't work out due to the fact that the heat pump is too powerful for the house (about a factor of 2). And due to how slow the underfloor heating responds, I get huge overshoots when I use a controller like that.

So I had to figure out a way to switch it off earlier than reaching the setpoint, which lead to my poor man's solution of just calculating the house's heat loss.