Erroneous isPhysical() event (Zwave DTH)

I just tested my switches and it looks like the 12727 (non-dimmer) has the physical/digital option where as the 12729 (dimmer) does not. Not sure why the DTH would be so different.

12727 (Non-dimmer)

12729 (Dimmer)

Does CoRE work fine with the physical switch? Talking about the Interaction field, is it working fine? I don’t have any device that can report physical events, so I can’t really test that (I can only assume it does). Thank you

Looks like CoRE is working fine for physical interaction. I did a simple test in which I physically turned on a switch to have another switch come on and it worked.

It’s the DTH of the various devices that may have the issue identifying physical vs digital. I’ll put in a ST support ticket to see where there goes.


When writing a Z-Wave DTH, how can you determine if the event sent from the device is physical?

@jody.albritton, @slagle

1 Like


That’s not what I asked…I’m trying to find out how the device tells the DTH that it’s physical so that that the DTH can include it in the event it creates.

Does the zwave.parse method automatically add it to the command map it generates?

1 Like


The platform knows where he command comes from. If we send it, it’s not physical. If we don’t, it is physical.

1 Like

Thanks for the response, but are you sure about that?

The documentation, that you just posted a link to, says isPhysical is “true if the Event is from the physical actuation of a Device”.

A device reporting its battery level is not a “physical actuation of a device”, but the platform didn’t send it.

Sorry for being difficult, but some DTH seem to report it the way you would expect and others don’t so I’m trying to understand how it’s supposed to work.

1 Like

And some apps take the documentation as the absolute truth and get mixed results. Double Duty anyone? What a great idea, too bad there isn’t consistency among DTH…and the more recent event, ST’s own Smart Lighting…

@krlaframboise this proves your point

UPDATED 10/7/2015 -- "Double Duty" - Use redundant switch presses to control other lights. You paid a lot for those switches, make them work Double Duty! - #73 by SBDOBRESCU

UPDATE: just tried the stock zwave switch DTH and is still not fixed. It is throwing physical without anyone touching it…

1 Like

is it throwing that just randomly or when the switch is programatically turned on?

Is throwing that when is polling. Interesting enough, is that it doesn’t do it for dimmer. I guess not because the physical is handled better, but because it doesn’t report on physical altogether. Ok, we need to take this to a different thread so we don’t clog @ady624 thread. Please reply with new topic if anyone would like to continue this comversation.

I agree. Can a moderator split this into a new thread or does a new thread need to exist so that it can be merged?

I’ve created a new thread. @slagle or @jody.albritton can one of you please move posts 214 to 225 into that thread? Thanks

1 Like

Thanks Tim @slagle

We haven’t really been using isPhysical, because it’s not always possible to tell in the DTH. Z-Wave Switch uses a kind of hackish trick, it send a different kind of get when polling vs when actuating so it can tell if the incoming report was from a poll (whether dth or hub-based) which indicates a physical event. Remember that very few Z-Wave switches actually send us a report when they are toggled – we have to rely on polling and watching for node info broadcasts.

The physical event tracking was taken out of Dimmer Switch in this commit, accidentally I assume:

Personally I think we should drop it all together because it’s not consistent.


Thanks for the update. It’s very nice feature to have, if it could be reliable, otherwise is just frustrating. And it could lead to apps firing unintentionally, like Smart Lighting does.

1 Like

Hey @duncan any updates on this? I see that the zwave switch handler is still throwing on/off physical commands

1 Like

Inquiring minds would like to know :wink:


GE Dimmer 12724-Does not report if it was turned off physically in CoRE

So, has anyone figured out how to get the GE Dimmers to report Physical changes? This works with the GE Switches (12722) but no go with the Dimmers.

I have had the same issue here with the GE dimmers. Does anyone know if GE plans to fix this through a firmware update or is this a SmartThings device handler issue? The isPhysical method is necessary when building custom SmartApps as it allows a developer to control state or more importantly an ability to override motion/lux automations. Anyone?