[RELEASE] GE Z-Wave Plus Motion Dimmer Combo Driver

GE/Jasco Z-Wave Plus Motion Dimmer Combo Driver
This is a driver for the GE Motion Dimmer device (26933). It differs from the in-box driver in that it exposes all of the device parameters, and can optionally create child devices for the dimmer and motion sensor.

It has been tested with a GE 26933 motion dimmer.


  • All device parameters exposed
    • Configuration of button inversion variable.
    • Configuration of motion and light parameters.
    • Light Off Time, Motion sensor on/off, Motion sensitivity, Light Sensing for light ON/OFF, Motion Reset time, Dimmer steps/duration, switch mode*
      • NOTE: Switch Mode simply makes the physical buttons work like a switch. And note that when switch mode is enabled the physical buttons do not obey the Default Dimmer Level setting - ON always = 100% level.
  • Commands added for direct access to the following features:
    • Default Dimmer Level - Can use this in rules (via custom commands in RM, for example) to set the default dimmer level. May be useful for mode/time based lighting where you want the light to come on a different level than the level it was at when it was turned off.
    • Manual / Vacancy / Occupancy motion lighting modes. Can be used in rules (via custom commands in RM, for example) to put motion lighting in Manual mode at night for bedroom switches.
  • Has the option to create child devices for the Dimmer and Motion sensor
    • Uses the in-box Dimmer and Motion Sensor component drivers for the child devices - no need to install additional drivers for those.

NOTE: One thing to point out for users of my previous drivers versions, I removed the "(default)" text from options and settings. So you may need to edit any rules/automations that used a command or event that previously had the "(default)" text in it!!!


  • none


  1. Install Driver code in Hubitat
  2. Apply to a GE Motion Dimmer device. Click save.
  3. Edit preferences, save preferences.
  4. Click Configure command button

Driver can be found on my GitHub or Hubitat Package Manager

  • 1.0.0 (06/12/2021) - First version
  • 1.0.1 (06/12/2021) - Removed a (default) text I missed
  • 1.0.2 (06/14/2021) - Modified some of the current value checking, as it would throw errors in some situations.

My plan is to make this my single motion dimmer driver moving forward. Moving to a single combined driver will be easier for me to maintain long term.

That said - If you are using one of my other motion dimmer drivers, you can continue using them - you don't have to switch. Functionally there is no difference (at this time) between this combo driver and the other two drivers.

Thanks for killing (default)

Yeah, that was a well intentioned idea that became very annoying to me after a while... But then I didn't want to remove it and break people's stuff. :confused:

So now was the 1st opportunity I had to get rid of it cleanly.

One of the last platform updates prevented the RM changed trigger from activating when parentheses characters are in the string. I was hacking the driver to remove it from operating mode. Just one less thing to do now :slight_smile:
Thanks for the great driver. Cheers!


@JasonJoel Question about this driver.

I was using your "GE Z-Wave Plus Motion Dimmer Component" driver.

I notice I wasn't seeming to get the "Physical" on/off events for the device (in this case, I'm more interested in physically pressing the on/off buttons to turn it on/off/dim with the buttons vs. from the hub or motion.

So, I tried this newer driver--it seemed to "slip in" without any issues. However, I'm still not seeing events hitting the hub logs (nor physical switch events).



@JasonJoel Issue: I am receiving the following errors with a newly installed sensor when the light it manually turned on. Any Ideas?

app:852021-12-25 12:07:11.809 am errorjava.lang.NullPointerException: Cannot invoke method someOn() on null object on line 215 (method groupHandler)

app:862021-12-25 12:07:11.804 am errorjava.lang.NullPointerException: Cannot get property 'switchState' on null object on line 746 (method checkScene)

app:852021-12-25 12:07:11.793 am errorjava.lang.NullPointerException: Cannot get property 'currentSwitch' on null object on line 238 (method indicatorOffHandler)

dev:402021-12-25 12:07:11.745 am infoBathRmMD was turned on

dev:402021-12-25 12:07:11.742 am infoBathRmMD level was set to 99%

dev:412021-12-25 12:07:11.739 am infoBathRmMDim Dimmer level was set to 99%

dev:412021-12-25 12:07:11.736 am infoBathRmMDim Dimmer was turned on

I don't use groups or scenes, so not sure. I'll try to set some up sometime and see.

First - awesome driver!
Second - I've noted that sometimes my device never registers a "Switch On" event when it fires due to motion in occupancy mode. Instead, I just see a Motion event. Here's what I think is "normal":

And here's an abnormal instance where it never showed a Switch On event:

Here's an excerpt from the logs for the same events. First the normal event:

and the abnormal:

I've got some basic rules that fire based on "switch on" and so they aren't firing when the device fails to register the "on" event. Any theories?


Nope, no thoughts off the top of my head.

Maybe try turning on debug logging on the driver and see if a switch on event is even making it to the hub. If it is, but not making it to an event - that is a driver issue. If no log for a zwave event for switch on is received, then nothing can be done in the driver/hub to work around that as it is a device or zwave mesh issue.

Download the Hubitat app