I know this has been brought up before, but RM is being held back badly (imo) by the lack of an elegant method to trigger rules based on state transitions.
The classic example is Mode transitions - I have a bunch of rules that I only want to run if the Mode has changed from Night to Home. And others that I only want to run if the mode changes from Away to Home. eg:
Away to Home: Unlock all doors immediately
Night to Home: Unlock all doors only when the Dining Room Sensor detects motion
Home to Away: Lock all doors after 60 seconds
I know this ability to trigger transitions is in Simple Rules, however, they are fairly useless for many automation scenarios. You cant even populate a Global Variable with them. There are workarounds to this, but they are a royal PITA. eg for me to implement the above door lock scenario required the following:
- A Virtual Switch (Night Mode Trigger w/ 5s auto off)
- A Simple rule to Flip the Virtual Switch when Mode Transitions from Night to Home
- A global variable (Previous Mode)
- An RM rule to monitor the Virtual Switch and Mode Changes then Populate the GV with Either Night or Away depending on if the VS had been flipped On or not.
All this just so I can my Lock rule can take the appropriate action based on Mode specific transitions!
To be blunt, it's just daft that we need to jump through burning firey hoops to utilise a basic tenant of automation in HE's most advanced automation builder.
To do this, HE wouldn't even need a new trigger type, just have the "Changes" Trigger capture the before and after states being monitored and make those states available in the rule as a Local Variable.