GE/Jasco Zigbee dimmers do not switch on at dim levels below 30%

I have a weird issue with the Zigbee Dimmers from GE/Jasco

I am unable to get them start at dim level below 30. For example if I set in RM set dimmer to 5% I see that it changes to 5% in the log and on device page...but it does not switch on at all!
Only when I changed it to 30% it switches the lights on.

When I manually enter set level at 5% on the device page of the dimmer and hit ON. The lights work all fine at 5%. So it is not that the lights themselves are unable to switch on.

And if the lights were on at e.g 70%and I trigger via RM to go to 5%..it dims to 5%.

Am I missing something? Do I need an extra command in RM and Scenemanager to switch the lights on?
Or is this no switching on at dim level below 30% a bug in the Zigbee driver? Using the Hubitat generic Zigbee dimmer driver.

I have this issue on both of my Zigbee dimmers from GE/Jasco and different number of LED lights controlled and different distance from the hub. Same issue still.

I appreciate your help and if you have such dimmer...please let me know if yours does switch on at e.g 5% or 10% dim levels.

Thanks!

I'm seeing some odd behavior with these as well using the motion lighting app. When you set the level to something below 30 and the light is physically off, what does the state say on the device page?

My issue is that on the device page the state says on, but the light is actually off. If I click refresh, the state updates to off. This doesn't seem correlated to any particular dimming level.

Also, are you using the z-wave polling app for this dimmer?

You cannot use the Z-Wave polling app because this is a Zigbee device so there is no selection for it. This is with a generic Zigbee dimmer driver.
I see similar issue using RM for testing. Will play some more later with log.

Ah gotcha, I have the Z-wave GE dimmers, assumed yours were the same.

I am looking forward to the findings. It almost seems that the generic Zigbee driver for the dimmer for this GE dimmer skips some step or something wonky with low dimmer values.

For the z-wave versions I am actually using the poller and that helped a lot.

Let’s hope this can be fixed soon.
:slight_smile:

I have the same issue.

From what I can tell (playing around with the device page) the Hubitat driver sends a dim command to the GE Zigbee dimmer, however, the dimmer only turns on when a dim command is sent when the dim level is greater than the current dim level. If the dimmer is off and is set to say 100% is you send a 100% or lower dim value the dim value will update but the dimmer will not be turned on. However, if the dimmer is off and the dim level is say 40% and a dim level of say 50% is sent then the dim level will change and the dimmer will be turned on.

I would guess that there is a bug in the firmware of the GE dimmers (I have two and they both do the same thing). I think the Hubitat driver could get around the bug by also sending a on command with the dim command if the dim level is equal or lower than the current set dim level is the dimmer is off.

Right now I am getting around the issue by having a simple lighting routine that sets the dim level to 0% when the dimmer is turned off. However, if you physically switch the dimmer on then it is set 0% and you have to manually set it to a higher level. This works fine if you use the dimmer exclusively with automation but if it is not then it is not such a good solution.

1 Like

I'll have a look at the driver in the morning, see if I can shed some light (bada boom) on the subject...

3 Likes

Excellent analysis!
I still have that threshold at 30% where it then will gone all the time..but I agree that have Hubitat sent an on command as well would indeed bypass this issue.

Drumroll
Haha we are looking forward to your shedding a light :-):grinning:

I'm not seeing anything in the driver that would cause this, in fact this driver was written specifically for model: "45857", deviceName: "GE Smart Dimmer", which is in a box someplace around here.
Is this the same model you folks are having issue with?
Did these pair as Generic Zigbee Dimmer?, or as device...

The dimmers I have are 45857 and as I recall they joined as zigbee dimmers.

I assume the driver only sends a dim command when the simple lighting or motion lights app is used to set a dim level?

They are indeed the 45857 GE dimmers.
And I also tested if @oscopeaaron situation occurs by adding a trigger that sets the dimmer to 0 when its switched off in scene or RM. But when dimmer is set to 5% to switch it on nothing happens.

These dimmers seem to require an additional ON command when adjusting dimmer values in the range of 0 to 29. It could be that OR Hubitat does not send an ON command when adjust dimmer values from 0 to x% or that the dimmer firmware is bugged and the dimmer forgets to switch itself ON upon dimmer values reception.

I wouldn't be surprised if the SmartThings peeps just send an ON command to those Zigbee dimmers as extra like they did the secret polling on the z-wave versions.

Thanks for trying to help solving this @mike.maxwell

There's something wanked with GE's implementation as you suspect, this is the first zigbee device I've come across that will not turn on with any level value > 0.
We don't explicitly send an on command, because the spec says it isn't needed.

In any event, I'll drag mine out and see whats up with it.

I appreciate your efforts @mike.maxwell :slight_smile:
I have now created a temp RM trigger for the living room zigbee dimmer that it will switch on when the groups and scene virtual switch is ON, Treating the dimmer as a switch to switch ON and then as dimmer to dim to 5%. To avoid that the last dim value blares on (e.g. 100% by physical adjustment) before the dim command is activated I added a trigger to dim to 5% when the dimmer is switched off. So this works in a round about way that should not be needed if JASCO/GE learned to use the Zigbee standard.

Crazy dimmer... The next release will have a patch for this "feature".

1 Like

I looked at the Smartthings device handler. They indeed issue an on command for all dim commands greater than 0.

Thanks for looking into the issue.

1 Like

I am still having this issue with 2.0. My issue has always been over the whole dim range. If the dim level is set to equal or less than the current setting when the dimmers is off the dimmer is not turned on. I can pull some logs later today if needed.

My issue has been fixed..that is great! Thanks @mike.maxwell !
Good to have it set to 5% and also switching on.

I am not getting this working in groups and scenes, there the command is ignored completely except switching off.

@oscopeaaron, strange that you have this issue. When did you buy those switches? I dont have it..maybe a weird newer or older firmware issue?

I finally gave up on the built in driver and paired back the example RGBW zigbee dimmer.

The log shows this when using the built in driver:
dev:512018-11-17 02:32:20.535 pm infoBathroom Motion is active
dev:502018-11-17 02:32:16.220 pm debugParse: catchall: 0104 0008 01 01 0040 00 173D 00 00 0000 0B 01 0400
app:992018-11-17 02:32:16.089 pm infoBathroom Dimmer Day Turn On & Set Level
dev:512018-11-17 02:32:15.997 pm infoBathroom Motion is active

When I use my driver:
dev:502018-11-17 02:37:42.081 pm infoBathroom Dimmer is 100%
dev:502018-11-17 02:37:42.079 pm debugevt- rawValue:255, value: 100, descT: Bathroom Dimmer is 100%
dev:502018-11-17 02:37:42.065 pm debugparse description: read attr - raw: 173D0100080A000020FF, dni: 173D, endpoint: 01, cluster: 0008, size: 0A, attrId: 0000, encoding: 20, value: FF
dev:502018-11-17 02:37:41.874 pm infoBathroom Dimmer is on
dev:502018-11-17 02:37:41.872 pm debugevt- rawValue:1, value: on, descT: Bathroom Dimmer is on
dev:502018-11-17 02:37:41.868 pm debugparse description: read attr - raw: 173D0100060A00001001, dni: 173D, endpoint: 01, cluster: 0006, size: 0A, attrId: 0000, encoding: 10, value: 01
dev:502018-11-17 02:37:41.682 pm infoBathroom Dimmer was turned on
dev:502018-11-17 02:37:41.680 pm debugevt- rawValue:1, value: on, descT: Bathroom Dimmer was turned on
dev:502018-11-17 02:37:41.677 pm debugparse description: read attr - raw: 173D0100060800001001, dni: 173D, endpoint: 01, cluster: 0006, size: 08, attrId: 0000, encoding: 10, value: 01
dev:502018-11-17 02:37:41.667 pm debugparse description: catchall: 0104 0006 01 01 0040 00 173D 00 00 0000 0B 01 0100
dev:502018-11-17 02:37:41.463 pm debugparse description: catchall: 0104 0008 01 01 0040 00 173D 00 00 0000 0B 01 0400
app:992018-11-17 02:37:41.345 pm infoBathroom Dimmer Day Turn On & Set Level
dev:512018-11-17 02:37:41.250 pm infoBathroom Motion is active

I use this to set the level:

def setLevel(value,rate) {
    rate = rate.toBigDecimal()
    def scaledRate = (rate * 10).toInteger()
    def cmd = []
    def isOn = device.currentValue("switch") == "on"
    value = (value.toInteger() * 2.55).toInteger()
    if (isOn){
        cmd = [
                "he cmd 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0008 4 {0x${intTo8bitUnsignedHex(value)} 0x${intTo16bitUnsignedHex(scaledRate)}}",
                "delay ${(rate * 1000) + 400}",
                "he rattr 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0008 0 {}"
        ]
    } else {
        cmd = [
                "he cmd 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0008 4 {0x${intTo8bitUnsignedHex(value)} 0x0100}", "delay 200",
                "he cmd 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0006 1 {}", "delay 200",
				"he rattr 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0006 0 {}", "delay 200",
                "he rattr 0x${device.deviceNetworkId} 0x${device.endpointId} 0x0008 0 {}"
        ]
    }
    return cmd
}

The above is the Hubitat example code with the added lines to also send an on command when the level is set and the dimmer is off.

@arnoud My dimmers have date codes 1705 and 1829

EDIT: Put the correct code in and added explanation.

1 Like