LOL!
I’m laughing because I can give you a very practical example of what happens. I created that scheduled task so I could provide demo screenshots to post here. What I forgot to do was either disable or delete that task!
This morning, at 07:35, we woke up to the sound of our forced-air furnace operating (the windows were open last night so the interior temperature dropped to 21). The scheduled task had started at 07:30. Sleepily, I manually set the thermostat’s mode from heat
to off
. In other words, my actions served to override what the task had done at 07:30.
In Premise’s UI, the task is still highlighted in green (because it’s scheduled to run until 09:30). Rather than let the task complete, I simply disabled it (I didn’t delete it in case I need to use it again as a demo). Upon disabling it, the task behaved like it had finished normally, at 09:30, and automatically restored the thermostat’s heating setpoint (back to its normal value of 17.5) and turned off the lights (because they were off before the task started). It also set hvac_mode
back to off
but that’s less readily confirmable because I had already done that manually at 07:36-ish.
In the following screenshot, you can see the Task is now disabled (in the calendar view the task’s background is now dark gray). You can also see how its associated scene is configured (the one it silently created in the background when I added the three entities). It currently indicates Play is enabled. That means, if the Task was not disabled, the scene would be playing right now because it falls within the scheduled time-range.
It also indicates the scene’s Behavior which is ‘Set-Restore’. In Premise, a scene’s behavior is either ‘Set-Restore’ (restore entity states after finishing) or ‘Set’ (do not restore entity states; leave them in whatever state specified by the scene). As you already know, in Home Assistant, ‘Set’ is the default way scenes behave and there’s a different process involved to restore entity states. This is all just a modal setting (Behavior) in Premise’s scenes and ‘Set-Restore’ is the default.
FWIW, lighting and HVAC continue to be controlled by Premise and the entities (called “objects” in Premise) are exposed to Home Assistant as MQTT HVAC and MQTT Lights. The marriage of the two systems will be celebrating its 2-year anniversary this October.
Historical trivia:
Are you familiar with the Magic Cap device from General Magic? It was a device released in 1994 which was, effectively, the forefather of the modern smartphone. However, it was very expensive to own (~US$1500 in 1994 dollars) and operate and, given the technological landscape of the mid-90’s, a product too far ahead for its time.
That’s how I view Premise. Perhaps not the forefather of home automation, but a product too far ahead for its time. Started in 1998 by Premise Home Systems, the company changed hands twice, and the product was ultimately discontinued by Motorola in 2006. Even the hobbyist version sold for the eye-watering price of US$1000 (in the early 2000’s).
In 2007 it was released for free (but never open-sourced) and that’s when I first started using it. Think about that for a moment. A closed-source product, unchanged for 14 years, yet has an architecture and feature-set sufficiently advanced and flexible (and with only about 2-3 minor bugs that I know of) to continue to be viable in 2020.