Why are some log events marked [physical] though the event is produced by an automation action?
I’m assuming that an event is tagged as physical when it’s caused by a person or thing outside the system performing an interaction, like pressing a button.
The attached screenshot shows my porch lights turning off as a physical event happening at like 3am and I’m sure that’s not a physical interaction as I assume it to be defined.
Can you help me understand what I’ve got wrong with my assumption of how physical events are defined?
You're right in that 'Physical' should correspond with manual activation of a switch whereas 'digital' should be logged when a command has been received wirelessly. For the most part my devices report correctly and it's just as well as I use the 'physical' event on my dimmers to disable motion lighting. However I have a couple of Fibaro Dimmer 2's with older firmware that sometimes incorrectly report physical when a digital command is received.
Because the device in question is erroneously reporting physical.
There is an exception to this - Lutron dimmers/switches, Hubitat will report changes to these devices as physical if the automation originated from outside of Hubitat (for example, from within the Lutron ecosystem). Changes directed by Hubitat will be reported as digital.
My Sonoff outlets generate "physical" events when they check in. I have other devices behaving this way, so I took "physical" to mean the event is coming from the... physical device, unsollicited, while "digital" is an event originating from the hub.
It sounds like there’s a bug in the system somewhere related to how some of a device’s events are reported as physical or not.
How can I inspect what data the driver for a device is receiving?
As a workaround it looks like I could correlate physical device events and command events that happened in the surrounding second to modify the physical or digital property of the event. Here’s a screenshot of what I mean:
I don't think so. Basically if a device generates an unsolicited event, that is interpreted as a physical change, so physical event. And there are buggy devices that generate unsolicited events.
You can turn on zigbee logging or z-wave logging from the zigbee or z-wave settings page. This is assuming it is a zigbee or z-wave device. For Lutron devices turn on logging for the Lutron telnet device.
The screenshot looks like it’s showing a preceding event that occurred about 3 hours before, so I think we’ve got all the events here unless I have an incomplete assumption about the data or this view.
If a second event/response was logged, would it be shown here?
Did you already mention what type/make/model of device is involved, and which Device Driver you have selected for it (under Devices > device > detail page)?
I used to have those. Not sure if it's a driver or device issue but those do no report physical/digital correctly.
The bottom line is that physical vs. digital is often not very reliable. You must know how each device behaves. Can things be made better? Maybe, sometimes. But not always. The Lutron example is a good one. Hubitat guesses, but it can't know for sure as there is no such designation on the Telnet feed. If my Control4 system does something Hubitat logs a physical.
Correct. If that were a custom / 3rd party / community driver, then you could read its source code under UI > Drivers Code to see how it is dispensing event data. Unfortunately (for you), the built-in drivers are not Open Source and therefore unavailable for review in the same way.
You can submit it as a feature request. Or tag @support_team (which I've done). In the meanwhile, does the generic driver work (as @dennypage indicated)?