I am pretty sure that setting the Venstar thermostat mode was previously working but today I noticed that my T7900 was in ‘Auto’ mode when I had set it to ‘off’. Playing around with it a bit this morning, I see that the state as seen in developer tools/states follows exactly the mode selected but the state will always revert to ‘Auto’ after being set to "off.’
I recreated the Venstar integrations which did not solve this problem. The time that elapses from ‘off’ selection to reverting to ‘Auto’ varies and seems to be related to a refresh of the view happening periodically.
The Venstar T7900 thermostat is reporting v9 as the firmware.
Update:
I have observed the thermostat in question while operating the HA HVAC dashboard and observed that the ‘off’ mode is indeed being set properly. I think this may be a Venstar firmware problem. In order to see the mode menu on the thermostat the ‘schedule menu’ must be set to ‘Off’ from ‘Run.’ When the schedule is off the mode setting does not revert to ‘Auto’ when previously set to ‘off.’ Perhaps Venstar has changed the firmware to automatically change the mode to ‘Auto’ whenever the thermostat checks the clock to determine which segment (morning/day/night) of the schedule should be active. I will pass this along to Venstar.
The Venstar integration does not seem to include support of the ‘Schedule’ function of the thermostat which may be needed to solve this, assuming that Venstar does not alter the firmware to accomplish the fix.
More:
Following more trial and error experiments with this, it appears that this problem has two elements at its root. Firstly, the way some Venstar thermostats are programmed, particularly the T7900, and secondly a mislabeling of a function in the ‘simple-thermostat’ card. In local operation the T7900 mode cannot be directly set to ‘off.’ The schedule function must be set to ‘off’ from ‘run.’ Only then is the mode menu available to select off/heat/cool/auto. The problem in the ‘simple-thermostat’ card is that the ‘preset’ mode selections none/away/temperature do not elicit an understanding of what function they perform. The ‘away’ selection does what it says on the T7900, it selects the away settings in the thermostat. The ‘none’ selection actually operates, in the T7900, to set the thermostat to ‘schedule run’ mode while the ‘temperature’ mode setting sets the thermostat to ‘schedule off’ mode. In ‘schedule off’ mode the thermostat operates according to its local mode setting of off/heat/cool/auto at the temperature set on the thermostat.
Because the simple-thermostat mode setting allows the ‘off’ mode irrespective of the schedule setting, this causes the problem as described in the initial post, i.e. the thermostat will reset the mode to ‘auto’ from ‘off’ when it updates according to the schedule.
The work around from the simple-thermostat card, it seems, is to select ‘temperature’ to turn off the schedule then select ‘off.’ While it would seem that the ‘off/away/temperature’ settings would be mutually exclusive, apparently they are not.
The Venstar T2000 thermostat works differently. The local mode selection is via a single button which cycles through the modes available as set in the setup programming, i.e. off/heat/cool and program, which enables the local schedule. In this case selecting ‘off’ from the ‘preset’ menu actually works as intended. As far as the ‘away’ mode is concerned, I have yet to determine what actually happens since the setup programming does not provide a different temperature setting for away. From what I can discern from the instruction manual the ‘away’ mode operates the output relay which would imply that the thermostat is inoperative. The simple-thermostat indicates a different temperature setting when ‘away’ mode is set but I have no idea where it gets that setting. More investigation is needed on that function. Unfortunately my requests for additional information on the '‘away’ mode from Venstar have not elicited a response. (A response was forthcoming from Venstar. The issue has been advanced to their engineering team.)
Solution (sort of):
Since this is actually an issue with the way the Venstar T7900 operates, a workaround seemed the way to address this. After reviewing the latest simple-thermostat documentation, I found that it was possible to rename the ‘preset’ functions.
The following code was included in my simple-thermostat cards:
control:
hvac:
preset:
none:
name: Sched Run
away: true
temperature:
name: Sched Off