TL;DR: I want device to be temporary excluded from automation when user interacts with it.
I have an automation that control a certain device. This automation takes into account current schedule, settings, presence at home etc.
A the same time user can manually control device from the Home Assistant UI and using control buttons on device itself (state changes are reflected to Home Assistant).
I want device to be excluded from automation for several hours if user interacted with it (both with on-device controls or from HA ui).
My idea is to create a boolean input “User interacted with device” if it is true do not apply automated changes. The only problem - I somehow have to set it to true ONLY if state change was made by user, not from other automations.
Is it possible to detect it? Or maybe I should archive what I need somehow differently?
@yavanosta You ever figure this out? This is EXACTLY what I want/need to do as well. I’ve used some other constraints to limit my automation, but there are still some edge cases I can’t prevent without being able to detect this. Seems like it should be pretty easy since the logs clearly show whether a user or an automation made the last change to a device, but I haven’t figured it out.
Unfortunately, at least in my case, the trigger isn’t the thing that I want to see who or what changed. General simplified automation:
Light sensor sees it’s bright outside and triggers an automation to turn off the lights.
Before turning them off, check whether an automation or a user made the last change to them (e.g. make sure a user didn’t set them the way they want them).
I haven’t previously messed with the database in HA; honestly feels like more effort than I want to put into this. I was just hoping/thinking that there would be a more user-friendly way to pull this data out inside an automation.