Area Triggers --> Area Actions

Hey Scott,

Did you manage to update the library?

No, but I expanded our garden by about 20x! Looks like rain today, so I’ll be at the computer.

:joy: Sounds like smart irrigation is the next project

Any updated here?

Hey sorry To keep bothering you gut did you manage Top Updates the Files?

I also have another questions. In some modes I would like motion to only trigger the lights if they were off before. If somebody turned them on by a switch item or a wall switch it should override the rule for either some time or until the light is turned off with a switch again.

No, no, no! I appreciate the nudges, so keep at me until I get it done! Thank you!

I’ve been lost in the garden, so I have not gotten these changes in! 20 blueberry bushes, Triumph, Sterling, some Multi-headed neomexicanus hops, and one bed are planted, but I’m still transferring compost to 3 more new beds and a new composting site. I also have three more rain barrels to setup. I can’t wait for harvest time! We’re in a bit of a heat wave though, so I’ll be getting in some time at the computer and I’ll put this at the top of my list!

Currently, you can set dimmers to 100 and they will not turn off. I suppose this could also work for any specific value that you’d like by making a custom action for by modifying light_action.

I’ve also setup a SwitchItem for each room that I want to disable automation in and add it to the Area Trigger group for those rooms. When it is ON, the automation will not run in that room, since the area stays active for as long as the switch is ON, and you can manually adjust the light. I also have it hooked up to Alexa, so I can use voice commands to turn ON/OFF the automations in a room. This is very nice for sick days in bed! There are other things that can be done, but I wanted something that was always going to work.

I love this one

I had another thought about this. Its easy to imagine how this works when the lights are alread on -> switch virtual item on -> turns off automation group cant go to off anymore so light stays on. No change needed in script.

What if I want to turn off automation while the lights are off let us say in a bedroom. Lights are already off and I want to turn off automation. With the standard Script, it would turn on the light if I activate the virtual switch and it would then stay on.

Would that need a custom light action that every time the group changes checks if the override switch is on?

Thanks in advance Thomas

@Tomibeck, I am having similar challenges with overriding automation as you describe. There is the additional challenge that whenever the Area Trigger group is mismatching a manually set switch (even if you check the override switch when the group changes) any (unpredictable) change in lux or mode would also eliminate the mismatch, i.e. undoing the manual switch setting (e.g. turn on override switch, turn off light, mode change, light turns back on to configured brightness).

Area Triggers are very powerful and by being able to combine them in groups/hierarchies with boolean operators a large set of use cases can be elegantly solved as demonstrated by the many Area Triggers and Actions examples. However, I found there are additional use cases where I need more advanced “building blocks” for the Area Triggers group. I found @mjcumming’s OccupancyManager to nicely provide these building blocks. An Occupancy Area in the end is still just an Item that is occupied or not (ON or OFF), but the OccupancyManager helps maintain that occupancy state. Use cases like the one above are easily expressed. OccupancyManager is particularly strong around timers - occupancy can start with delays or expire upon trigger start or end with delay upon trigger end, triggers get extended etc. Note that this timer support is for the Occupancy Area itself, NOT on the resulting actions. That allows you to build up your Area Trigger group out of multiple complex Occupancy Areas each using various timers and other functionality.
Additionally Occupancy Areas support locking. In a locked state they don’t accept triggers. I recently submitted a PR to use an Occupancy Area as the lock for another Occupancy Area. If the Lock Area is occupied it’s owning Occupancy Area is locked. With that you can use any triggers including sensors and switches to set the lock. In your case you simply lock the Area Trigger with the virtual item and everything will stay in the desired state. I am actually setting the lock using the light switch itself as the trigger - turn the light off turns off occupancy and locks for 30min (since the lock is an Occupancy Area itself I simply use an Occupancy Area with an expiration). For 30min all sensors are locked out; no motion will trigger the light back on. After 30min the lock expires and automation kicks back in. Same if I turn the light on - only everything gets locked in in the ON state.
Note that in addition to overriding automation through locks I have a need to override actual brightness. E.g. at night my motion sensors just trigger a low “nightlight” brightness. But when I use the light switch I want full brightness. For that I have implemented a prototype that maintains an optional brightness override as part of the Occupancy Area (which I will submit as a proposal shortly). Together with custom brightness support in Area Actions I then get my brightness override.

Hopefully you find this helpful. Obviously it’s work in progress, but would love to hear your thoughts.

That sounds all very interesting. I probably need a quite weekend to get my head around it.