999LV / SmartVirtualThermostat

Smart Virtual Thermostat python plugin for Domoticz home automation system
MIT License
41 stars 31 forks source link

Calculation period not correct when another heat source did the previous heating #24

Closed jakenl closed 4 years ago

jakenl commented 4 years ago

For my floor heating I have a calculation period of 120 minutes. This works fine when the floor heating did the previous heating. The total energy stored in the floor matches the calculation of time and constC/T values.

However, when I have heated the room with the wood stove, the temperature drops much faster than when the floor is cooling down. So, at the moment that a new calculation period starts, the heat calculation gives a negative number and the system waits for another 120 minutes. This is too long, resulting in 'under shoot' of the setpoint and 'overshoot' later on.

I would like to have another parameter: a time period for next heat calculation time, when previous calculation was < 0 %. In my case I would put it on 60 to have an intermediate checkpoint.

I realize that for systems with a short calculation interval, this is less relevant. Nevertheless I believe this will speed up response in all circumstance when, the sun, people, fire places etc heated the room instead of the normal heating source.

999LV commented 4 years ago

@jakenl , Thanks for the detailed explanation of your suggestion. Great idea. I’m on the road for now but will implement this when I return in a couple of weeks (unless you want to take a stab at the code and submit a pull request ?)

jakenl commented 4 years ago

Thanks for the quick reply! No hurry, I can wait. I'm able to more/less read the code, but hacking away at it, is a little outside my comfort zone.

999LV commented 4 years ago

Apologies for the delay. I gave further thoughts to this, but implementing would go against the logic of the plugin in my view, so I am not supportive

jakenl commented 4 years ago

you have a final say in this. I will see if I can use dzVents to trigger an event when the plugin doesn't heat as result of the calculation. If so, I can 'set again' the setpoint after an hour, hopefully trigger the plugin for a new calculation.