Request:
When a cover entity’s state is change, provide a logbook entry that contains where that state change originated from. This could be from a user interacting directly through the UI, an action that was taken from a script or automation (yes I know there should be logs of the automation or script firing off prior), or the device itself sent the state change.
Current behavior:
When a cover entity’s state changes the logbook entries all look the same regardless of what caused the change.
Use case:
My garage door randomly opened up last night at 2 AM. The ESP device hooked up to it is a simple relay with a hall sensor on the door. The hall sensor provides state to the cover entity. I want to know if the door was opened through HA (maybe I butter-fingered the dashboard while sleepwalking), or from the garage door opener’s button being pressed (or shorted somehow).
When I looked through the logbook entries I only see that the state has changed but not how it was changed. The ways that the door could have opened are:
- A human interacting with HA through the dashboard or messing with the entity
- If an automation or script fired off the action to open it
- Through the ESPHome web UI
- Possibly (though I feel like unlikely) the relay is dying
- Someone pressing the dumb button on my old garage door opener
- The garage door opener is malfunctioning
- One of the remotes to the garage door opener is malfunctioning
They all are logged the same in the logbook. So outside of knowing when it was opened, I don’t have any other clues as to how.
Thanks.
P.s. Yes I have notification alerts setup to let me know if the garage door has been open for a long period of time, however I had that disabled a few months ago when I was doing some work in the garage and I forgot to turn it back on (I’ve corrected that now by using the proper alert integration).
There’s also this feature request with ESPHome to provide a means to give more details to the logbook.
P.p.s Thankfully nothing was amiss in the garage outside a bunch of leaves blowing in.