Customize default "ZigBee Dimmer" driver to replace WebCoRE workaround?

I have a couple of no-name LED strip controllers bought from Amazon (link). They identify themselves as TS0501B which I believe is a Tuya device.

These controllers work fine using the default “Zigbee Dimmer” DTH except they only respond to every other dimming command. So…if I want to dim the light I have to send the command twice - device always ignores the first one and dims on the second. I’ve no idea why, but have got round it up to now by having a WebCoRE piston which fires on a dimming level change, and resends the same dim level a second time. While a bit of a fudge, this has worked perfectly up to now…but WebCoRE’s days are numbered, so I’m looking for a replacement. I can’t find any equivalent functionality in Routines or SharpTools since they don’t allow you to use a variable within a command (i.e. I can’t say “set dimming level to lamp.level()” like I do in WebCoRE), so any rule would be very clunky.

The obvious answer would seem to be to take the “Zigbee Dimmer” Edge driver and modify it to send every dimming command twice. Is this even possible, and is the driver source available anywhere? Or is there a much simpler answer that I’m missing (other than buy dimmers than work properly!)?

Try one with the edge equivalent and see if the problem still exists? If so see if someone can write a custom Driver with a refire? (also there may be a few places you can look to see what the quirk is with these bulbs to find the exact fix, maybe a timing issue etc. If you have to go the driver route…

tagging @joshua_lyon

So really they don’t work fine with the 'Zigbee Dimmer DTH.

It sounds a little bit, or perhaps only a teeny tiny bit, like they are in some kind of ‘do not disturb’ mode and they need to have the command twice to prove you meant it.

Do you have to send the two commands within a few seconds of each other?

Does a manufacturer edge driver exist for a generic “Zigbee Dimmer”? I’ve found a few lists of currently available edge drivers but none seem to list it? If it does I’ll give it a try.

If and when a driver is availble, do Samsung make the source available so I could have a go at modifying it?

The “do not disturb” thing occured to me, but then they switch on and off reliably, which made me question that idea.

I haven’t tried leaving a very long gap between dim commands so I don’t know if there’s a timeout between repeats. Will have to try it.

You can do this in SharpTools. When setting up a device command in a rule, tap the </> icon to the right of the argument and it lets you pick a variable to insert.

image

You can even use a Context Variable to pass the value from the device that triggered your rule as a parameter if you’d like. :slight_smile:

I would strongly encourage you to test this with your device. If you are triggering based on the level for the device changing and then setting the level of that same device, you run the risk of an infinite loop. If the device only reports the level upon change, you’re fine. But if the device reports a level event every time the setLevel() command is called, it will repeatedly trigger the rule in an infinite loop.

As others have mentioned, it seems like the device could use some love in the form of a special Edge Driver that takes care of this quirky behavior natively.

If one of Mariano’s zigbee drivers works with the device, I wonder if he would be willing to entertain adding an option/preference to send the command twice.

Hi @hellodave

If you send me the manufacturer that shows the IDE I will add it to the Zigbee Light Multifunction Mc drive

That’s brilliant, thanks. Are these the details you need:

  • zigbeeNodeType: ROUTER
  • application: 59
  • endpointId: 01
  • manufacturer: _TZ3210_dxroobu3
  • model: TS0501B

Added to this driver version

┌─────────────┬──────────────────────────────────────┐
│ Name        │ Zigbee Light Multifunction Mc        │
│ Version     │ 2022-09-23T09:19:40.891681831        │
└─────────────┴──────────────────────────────────────┘
  - id: "TS0501B/_TZ3210_dxroobu3"
    deviceLabel: TS0501B dimmer
    manufacturer: _TZ3210_dxroobu3
    model: TS0501B
    deviceProfileName: switch-level

Thanks for this.
Is it possible to adapt the driver to send dimming commands to this device twice?

Did you try di works with just one?

If it doesn’t work I’ll look at it

I’ll try it and let you know. Thanks.

I’ve tried my TS0501B dimmer with the Zigbee Light Multifunction Mc driver and get the same behaviour - they only respond to every other dimming command. Is it possible to change the driver to send dimming commands twice to this device?

Hi @hellodave

Try with this driver version, send two times the new level command for this manufacturer “_TZ3210_dxroobu3”

───────────────────────────────────────────────────
 Name         Zigbee Light Multifunction Mc               
 Version      2022-09-26T22:17:19.266416469        
───────────────────────────────────────────────────

@Mariano_Colmenarejo - working perfectly. Thanks!

1 Like