Best way to handle local switch actions vs. programmatic actions


I have been coding for SmartThings for a while and just got my Hubitat and working on moving some devices over for testing. In SmartThings / WebCore there was an option for a say a switch being turned on with the optional element of where the On command came from. Problem was that most Z-Wave devices on SmartThings never differentiated between the actions.

Does Hubitat support in it's rule machine or even WebCore where the action for the device initiates from? Some have stated on the SmartThings site that it's device and DTH implementation that would make or break this function.



Here's some reading that might interest you...


Yes, rm supports this, and yes the accuracy of physical/digital event distinction is very device and driver dependent.
It is not possible with zigbee devices, and only accurate on zwave devices using specific driver and device combinations. Generally any zwave switch or dimmer capable of instant reporting should work.


Thanks, my test Z-Wave devices have been Inovelli and had issues on the SmartThings side with determining if a switch was touched vs. changed via a piston in WebCore or other programmed events. I had to do a lot of code to work around it.


The approach is rather simple for the right zwave devices, unfortunately it doesn't work for all devices the same way, mostly due to the different ways that some of them auto report. So it's not possible to write a universal driver that's capable of accurately determining physical vs digital.
It's a trick really in that zwave supports two different report classes that report the same value.
This is the reason it's not possible to do with zigbee.
This is probably why it's been frustrating to implement, frustrating to use, and largely abandoned on some platforms.


I was just searching for the answer to this. Where in RM can I test a condition for physical on vs digital on? When I select switch I only see on or off.