Not sure who this is for but in the device driver for Virtual Thermostat - you are able to set the Thermostat hysteresis degrees in the settings.
However, this number is not saved in the device as an attribute so I am unable to use it in a rule in RM (FYI I’m making a virtual thermostat that sets another thermostat based on the actual temperature of the room rather than the incorrect reported temp of the the thermostat being set).
Is it possible that you could update this virtual device so that it is possible to use this number in RM?
Furthermore - there seems to be an issue with this device driver that the cooling set point is always 2deg higher than the heating set point - is there a reason for this?
and lastly (sorry for all the questions!) - in the dashboard, when the thermostat is set to “auto” it shows both controllable set points (cooling and heating) however I would only like one to be visible... how can I achieve this?
When using auto mode, both of my thermostats have a 5 degree minimum difference allowed between those set points. That's to avoid bouncing back and forth between heating and cooling if those 2 points are too close together.
Yep but this is a virtual thermostat... and also - isn't that the point of the hysteresis?
Ideally I'd like to have a thermostat set point where it is not specified whether it is heating or cooling - because that is the point of the RM rule I'm making - to work out firstly whether heating or cooling is needed (taking into consideration the hysteresis), then calculating the difference between the desired temperature and the current real temperature, then to work out dynamically how far off the the actual thermostat is from the real temperature, and then set it with a set point that takes into account it's deviation from the real temperature in the room.
I've got all this working - the only issues are that I have hardcoded the hysteresis because the value in the virtual thermostat is not declared as an attribute. Also the tile in the dashboard shows a set point for cooling and heating and I only want 1 set point to be visible. So it would be good to see what can be done about these things.
I had to Google what hysteresis meant. Sorry. I assume that 2 degree minimum is in the virtual to model real world thermostats.
What you are describing sounds like you are going to be bouncing back and forth from heating and cooling if trying to use a single set point. I think the logic works in a virtual world but not when using actual equipment. In a real world you are going to have overshoot and your system is going to be running constantly and your electrical bill is going to be HUGE. This would ultimately be a question for an HVAC tech, not a home automation person.
Yes, we can add hysteresis as an attribute, and set it when the device is saved.
This is the behavior of real thermostats to avoid cooling/heating vicious cycles.
How is it supposed to know which in auto? This is how real thermostats with auto work.
You're inventing something that is not within the intent of the virtual thermostat driver, or any other aspects of the system. We're not able to bend everything for your custom approach. You don't have to go this way to accomplish your objective.
Hysteresis is not the same as the required separation of heating and cooling setpoints. It has to do with the gap between calling for heat and ending the call for heat (or cooling, as the case may be). A thermostat with both heating and cooling would have both hysteresis and a required separation, and they would not be the same value. Nor would one substitute hysteresis for the required separation.
I was going to do it like this: in months where heating is more important than cooling (October to May in London) it would default to heating, using the hysteresis - however, if the desired temperature was less than the current temperature by more than 2 degrees, then it would use cooling - and visa versa - so in months where cooling is more important (June to September) it would default to cooling with hysteresis and only use heating if the desired temp was more than the current temp by more than 2 degrees.
My objective is to keep it simple for the end user - they should just put in the desired temperature.. and shouldn't have to know whether to specify how the system does it. Ideally they should be able to send send a set point command through alexa (I know Hubitat doesn't currently support this but I am assuming as its pretty important its on the roadmap?) - and shouldnt have to say whether its heating or cooling.
If I am going about it totally wrong - please let me know a better way!