Hue Who? My $4 Zigbee Lightbulb Deep Dive

October 1, 2025  |  Smart Home  ·  Zigbee  ·  Home Assistant

Intro

So, my first Zigbee bulbs were a bunch of Philips Hues. I snagged a pretty good deal on the bundle, but honestly, they were still pricey even with the discount. I was expecting top-notch quality, but two of them kicked the bucket in under two years, which got me looking for other options.

The first (and only) alternative I’ve tried is this eWeLink model CK-BL702-AL-01(7009_Z102LG03-1). Yeah, the name is a mouthful and sounds kinda scary, but they were only four bucks each on AliExpress! I ordered six of them to swap out the old Philips WiZ WiFi downlights in my kitchen.

The lights showed up surprisingly fast and they were all working perfectly. Pairing them with Home Assistant was a breeze, they just worked with the standard Zigbee 3.0 pairing, no funny business.

Now, let’s take a look at the Zigbee signature for these lights:

{
  "node_descriptor": {
    "logical_type": 1,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "mac_capability_flags": 142,
    "manufacturer_code": 4742,
    "maximum_buffer_size": 127,
    "maximum_incoming_transfer_size": 242,
    "server_mask": 11264,
    "maximum_outgoing_transfer_size": 242,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x010d",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000",
        "0xef00",
        "0xfc11",
        "0xfc57"
      ],
      "output_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "eWeLink",
  "model": "CK-BL702-AL-01(7009_Z102LG03-1)",
  "class": "zigpy.device.Device"
}

Node Descriptor

Logical Type

Logical Type set to 1 means these lights are Zigbee Routers, which is great news. Routers help extend your network’s range and make it more reliable.

Complex Descriptor Available

This device doesn’t have a complex descriptor, which is totally normal. Most devices skip this.

User Descriptor Available

This is different from the complex descriptor, it’s meant for storing a custom label on the device itself. It’s empty here, which is standard if you’ve never set one. I don’t think Home Assistant even lets you edit this field right now anyway.

Honestly, HA’s own labeling system is way more flexible, since it’s not limited to a measly 16 characters like this Zigbee field.

Reserved

This is just an unused field saved for future features, so 0 is exactly what we’d expect.

APS Flags

The Application Support Sub-layer (APS) flags are all zeros, which is pretty common.

Frequency Band

Value 8 means it’s using the 2.4 GHz band, the same crowded-but-universal frequency everything else uses.

Medium Access Control Capability Flags

142 is 1000 1110 in binary (LSB 0111 0001):

Bit Name Value Note
0 Alternate PAN coordinator 0 Can’t become a coordinator
1 Device type 1 Full function, can route
2 Power source 1 Mains-powered (not battery)
3 Receiver ON when idle 1 Always awake and listening
4 Reserved 0 Reserved
5 Reserved 0 Reserved
6 Security capability 0 Doesn’t handle security at this level
7 Allocate address 1 Can help joining new devices

This looks… interesting. The security capability bit being zero seems suspicious, but this is my first time digging this deep into a Zigbee descriptor. Maybe Zigbee 3.0 handles security at a different level and this flag is just legacy stuff?

Manufacturer Code

4742 appears to be Signify Netherlands B.V. (the company behind Philips Hue). This is pretty clever, these bulbs are basically pretending to be Hue bulbs to sneak into a Hue Bridge ecosystem.

Maximum Buffer Size

127 is the most common value and means it can handle the largest standard packet size.

Maximum Incoming Transfer Size

242 is weird here. To actually transfer chunks this big, the device would need to support packet fragmentation… but that capability isn’t advertised in the APS flags. Something’s not adding up.

Server Mask

All the flags set here are “reserved”, meaning the device is using them for some non-standard, manufacturer-specific services. Not unusual for Zigbee devices trying to add (or pretending to have) extra features.

Maximum Outgoing Transfer Size

Same issue as before, 242 suggests it should support large outgoing transfers, but the APS flags don’t back that up. Another inconsistency.

Descriptor Capability Field

0 is standard, just confirms there are no extra descriptors beyond the basics.

Endpoint 1 of 1

Profile ID

0x0104 is Zigbee Light Link (ZLL), the standard profile for smart lights.

Device Type

0x010D means “Extended Color Light.” This is exactly what we’d expect for a tunable white + RGB bulb, so Home Assistant should recognize it without any issues.

Input Clusters

ID Note
0x0000 Basic: Mandatory info like version and manufacturer.
0x0003 Identify: Makes the light blink, useful for finding it in a group.
0x0004 Groups: Lets you control multiple lights together.
0x0005 Scenes: Can save and recall preset colors/brightness.
0x0006 On/Off: The basics.
0x0008 Level Control: Dimming.
0x0300 Color Control: Handles all the colors and white temperatures.
0x1000 Touchlink Commissioning: Lets you pair by holding it close to a bridge.
0xef00 Manufacturer Specific: Who knows? Custom feature.
0xfc11 Manufacturer Specific: Another custom thing.
0xfc57 Manufacturer Specific: Could be for custom firmware updates.

Output Clusters

ID Note
0x0019 OTA Updates: Can receive firmware over-the-air.

Manufacturer

It’s showing as eWeLink, but it’s super easy to spoof this field when compiling firmware, so this doesn’t necessarily mean it’s officially from them.

Model

CK-BL702-AL-01(7009_Z102LG03-1), that’s a model number alright.

Class

zigpy.device.Device means Home Assistant is using a generic driver with no special quirks. It should just work without any fancy custom handling.

Conclusion

Take this with a grain of salt, since it’s the first Zigbee device I’ve really dug into. But I’ll be reviewing a lot more of these soon, I’m going all-in on Zigbee and want to really understand how it works under the hood.