Does anyone have a good "time to temperature" piston?

temperature
time

#1

1) Give a description of the problem
I’m looking to build a predictive logging piston to calculate the time it will take to heat a room. I have one built and testing, but I’m wondering if there’s a “better” way. this is built into my thermostat scheduler, and will eventually be used to predict when to change the thermostat.

2) What is the expected behavior?
Progressively updating the time to temperature calculations and weighting it as more data comes in

3) What is happening/not happening?
Nothing yet.

4) Post a Green Snapshot of the pistonimage

5) Attach any logs (From ST IDE and by turning logging level to Full)
Not applicable yet…


#2

What you are trying to do is a function within some of the more feature-rich wifi thermostats and is extremely hare to reproduce in this architecture. It requires remembering how long it took the temp at sensors to change give a multitude of different variables, including outside temp. You may find it easier to see if your thermostat already has this function.


#3

collect date, time, temperatures and humidity data every 5 minutes and post to aws. on aws have your favorite regression model running to crunch the data every time it comes in and secondly, call one of your pistons every 15 mins with prediction for the next X hours of temperature.

that would be fun to build.


#4

Thanks. I know it is built into my Nest thermostat, which is what gave me the idea for the feature.

Unfortunately, this model is bare-bones (StelPro line), and you have to create any schedules externally. If I can use a simple timeToTemperature function to predict how long it will take to heat up my room, and I know that I go to bed at the same time and wake-up at the same time most days, it should be easy enough to time perfectly…

I’ll report back once I have enough data points to know this is working. The bug in the code above is that the thermostat reports setpoint temperature changes in increments, so my change in temperature is always 0.5 C.

@bengali
That is a little beyond my skill level. I am collecting and logging temperature data every 15 minutes, so it probably wouldn’t be too hard to add predictions into that function, but it may start to get resource intensive… I do intend to configure ImBrian’s switchBoard machine learning tool, but I’ve run into a few issues, and I’m out of time to get it done this year, unfortunately.


#5

if you try it, it will be well within your skill level afterwards. :smiley:

where are you logging this?

you could make a 3 node pi-cluster and run hadoop/spark on it. plenty of resources for this kind of work. :slight_smile: