Strange behaviour with ZB-CL01 E14 zigbee bulb

I recently migrated to HA/Z2M from SmartThings. I have a couple of unbranded E14 colour zigbee candle bulbs (marked Shenzen Yuntian Tech Co) which claim to be compatible with Hue. These worked fine in ST on the default device driver, and were detected as: eWeLight ZB-CL01.

All 3 of these lights have started showing the same strange behaviour, and I’m sure they worked OK when I first migrated them to HA a few months ago. They pair and interview fine in Z2M, and are detected as:

Zigbee Model: ZB-CL01, eWeLight
Definition (Zigbee2MQTT) ZB-RGBCW (v0.0.1)
Zigbee 3.0 LED-bulb, RGBW LED Lonsonho
Firmware ID 2.0.1 20211206

However, they have issues with on/off and brightness. This includes:

  • Turning off completely when brightness is reduced a little. They will turn on again if brightness is increased, but not consistently, e.g. set brightness from 100 to 30% - light goes off, set brightness to 70% - light comes on, set brightness to 40% - light goes off, set brightness to 70% - light stays off, set brightness to 85% - light comes on
  • Dimming to ~20% when turning off
  • When HA automation sets them to 100% they flick on for 1 second and then turn off again - this only seems to happen with automations (manual control is slow, but the bulb either works or doesn’t - it won’t flicker on then off)
  • Sometimes the bulbs won’t turn on or off via HA automations at all

I’ve tried resetting and repairing the bulbs, removing them from Z2M/HA and resetting them, and rolling Z2M back from 2.12.1 to 2.12.0 and 2.11.0 but that hasn’t helped.

If I execute commands manually from the Z2M dev console (e.g. turn on/off, set brightness) the bulb responds OK, and I re-paired the bulbs to my old SmartThings hub and they work fine, so the bulbs are OK hardware wise. I assume there’s something not right with the commands being sent from HA/Z2M.

As far as I can work out, the ZB-CL01 is a generic controller used in many unbranded bulbs, all with different firmwares, so just because a bulb is a “ZB-CL01” doesn’t mean it works the same as another ZB-CL01. Perhaps Z2M is targeting the quirks of another ZB-CL01 device, which is not compatible with mine?

Is there any easy way to change the device type in Z2M, for example tell it to treat the device as if it was a Hue bulb (a bit like changing driver in ST)? I’m assuming as my bulb says it’s compatible with Hue on the box and worked perfectly with the default SmartThings driver, it shouldn’t be that quirky control-wise and should work with a fairly generic smart bulb profile?

Any suggestions welcome! Thanks