ZWave groups and associations versus "Basic Rules"

Thanks for the advice, jvm33

I'm already having issues with the assumed switch state causing issues--before I mess with trying to do associations.

Really, I think I'd prefer the hub to be stateless--regardless of whether a device is on or off, just send the message. At least for simple on/off control.

Why would I care if "turn off" command was sent to a device already off (or vice versa) I can't think of why current state would be useful in my use scenario.

For example, I wanted the motion sensor to turn the lights on automatically, but allow the wall switch to turn them off. But, something is filtering the off button push. It won't work unless I first push the on switch.

Maybe the switch itself doesn't send the "off button pushed" unless it thinks it is in the "on state". Or maybe, the driver/app in Hubitat is making that decision.

How could I tell if that's the case, or whether Hubitat is "filtering" based on what it thinks the switch state is?

Could I fix things like this by writing my own drivers?

I

It's a switch, not a dimmer.

However, the lights the switch controls via the Simple Rules app have a transition time. I set to ASAP, but it really didn't change the latency or the slew on/off time.

Gotcha. I don't know then. I have TONS of GE Motion Dimmers and Motion Switches - many of which I run in manual, with what I would call a minimal delay. Certainly not 1s.

Now, if you are controlling other devices based on that motion, what they do would depend on what brand they are and how they are made/configured.

I'm doing manual mode and its controlling other devices (RGBGenie ZWave RGBW led controllers). Latency is never less than 1 second, usually around 2 seconds.

A different device (RGBGenie Zwave RGBW touch panel) that controls the same RGBGenie devices does it what seems instantaneously And works without the hub.

Maybe it's just that the motion detect signal is time integrated in the switch itself. But, maybe some code in Hubitat is doing something to mitigiate false triggers. Is there a way I can review handlers/app code to check for this?

The in-box device drivers are not open source/available.

That said there are user drivers for the GE Motion switch and dimmer you could try and see if it does anything different. That code you can review, too. The guy that wrote them is a definite hack, but maybe they will be useful for you!

Available in Hubitat Package Manager or on my github:

You probably want this one:
https://raw.githubusercontent.com/Botched1/Hubitat/master/Drivers/GE-Jasco%20Z-Wave%20Plus%20Motion%20Switch/GE-Jasco%20Z-Wave%20Plus%20Motion%20Switch.groovy

4 Likes

Well, that “hack” does some fine drivers. I would suggest his other driver for the same device:

The nice thing about it is that it logically splits the motion sensor from the switch, useful for rules if you have the device in Manual mode. I use it on several in our home, works well.

2 Likes

Yeah, I'm kind of fond of the component versions. It is purely a visualization exercise, no real difference in functionality, but I like it.

If I were less of a hack I would combine the 2 into 1 driver, and make the component/not-component part just an option in the driver. Maybe someday.

2 Likes

If Jasco had done things “right”, or if Jasco issued an OTA firmware enhancement (we know that won’t happen), there would be a fourth mode for the switch whereby the motion sensor (instantly) turned the switch on, but turn off happened as it presently does in Manual mode. That would eliminate all latency issues.

Well... I think you kind of can though?

While I haven't tried it, you can set the timeout setting to "disabled". In theory that would do exactly what you are saying.

Not sure that can be done in my driver today, though, I would have to look.

EDIT: If you set this to DISABLED, I think it does what you are saying.

image

And use Occupancy mode? Disabling light timeout disables Auto Off?

I will test to see if it still sends Motion inactive events so that Motion Lighting app works. If so, I could adjust timing in Motion Lighting.

Dunno, but I would think so.... Never tried it before. :slight_smile:

The device seems to barf on this. Repeat by:

  1. On device page, put device in Occupancy mode (was Manual).
  2. Select light timeout selector to Disabled, hit Set Light Timeout (was 1 minute).

Device state briefly shows Disabled, then changes to error.

Got the "JasonJoel" version of the driver working. Thanks!

Quick question about the Sensitivity parameter. The manual for the motion switch says:

"motion sensitivity-amount of motion required to turn off the light"

Which might mean a higher setting would make it LESS sensitive. Also, when configured at the switch, you let it blink 1 time for High, 2 times for Medium, and 3 times for low.

So, what do I set to get the most "sensitive" setting--the one that requires the minimum amount of motion for the trigger?

Ah cool. Was just a thought.

I'll take a look at this sometime soon (and stop derailing this thread. lol), as I don't think it should generate an error. Thanks for letting me know!

1 Like

I can't ever decide on this. If someone confirms which setting in my driver is most and least sensitive I'll be happy to improve the wording though!

I keep meaning to test this, but never get around to it.

Yea, there’s been discussion on that point. I’ve tested the settings, “High” seems to require LOTS of motion (low sensitivity). Seems backwards to me, but that’s how it is.

2 Likes

When configured at the switch, it seemed like "low sensitivity" was actually the most sensitive. But, maybe that was before I figured out the blink count thing.

It's pretty hard to tell a difference, given the latency variability I'm seeing--at least on the original driver. Testing more now.

1 Like

My configuration testing was using @JasonJoel’s driver on the Devices page. Never configured on the device.

Bug in the driver, I'll get it fixed soon. It is setting the parameter correctly in the device though, so you should still be able to test it.

Sorry, confused device name with device label--noob error