Repository: zigpy/zha-device-handlers

Issue:
[Device Support Request] Philips Hue LivingColors LED Bloom (2014 gen)
**Is your feature request related to a problem? Please describe.**
Similar to #447 
-> I'm currently unable to see the PhilipsOnOffCluster for the Philips Hue LivingColors LED Bloom (2014 on Amazon.de: https://www.amazon.de/dp/B00HZVQ8DA/ in the ZHA gui.
This light only supports RGB (no cold/warm white)

**Describe the solution you'd like**
To be able to change the default power on state of the Philips Hue light.

**Device signature**
(If the log of a repairing process is also required, please let me know)
```
{
  "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4107 maximum_buffer_size=80 maximum_incoming_transfer_size=80 server_mask=0 maximum_outgoing_transfer_size=80 descriptor_capability_field=0>",
  "endpoints": {
    "11": {
      "profile_id": 49246,
      "device_type": "0x0200",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000",
        "0xfc01"
      ],
      "out_clusters": [
        "0x0019"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [
        "0x0021"
      ],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "Philips",
  "model": "LLC011",
  "class": "zigpy.device.Device"
}
```

**Additional context**
The device support request here is like https://github.com/zigpy/zha-device-handlers/issues/447, but this light only supports RGB.
--
In https://github.com/zigpy/zha-device-handlers/issues/399#issuecomment-675149667 there's currently an "issue" that is related to this.
Basically, I'm also unable to set the power_on_state attribute through the PhilipsOnOffCluster for lights like the LCT010 (with the latest firmware).
If this is really a bug in zhaquirks, I can also file an issue.



Discussion:

Resolving patch:
diff --git a/zhaquirks/philips/llc011.py b/zhaquirks/philips/llc011.py
new file mode 100644
--- /dev/null
+++ b/zhaquirks/philips/llc011.py
@@ -0,0 +1,93 @@
+"""Quirk for Phillips Hue LivingColors Bloom."""
+from zigpy.profiles import zll
+from zigpy.quirks import CustomDevice
+from zigpy.zcl.clusters.general import (
+    OnOff,
+    Basic,
+    Identify,
+    LevelControl,
+    Scenes,
+    Groups,
+    Ota,
+    GreenPowerProxy,
+)
+
+from zigpy.zcl.clusters.lighting import Color
+from zigpy.zcl.clusters.lightlink import LightLink
+
+from zhaquirks.const import (
+    ENDPOINTS,
+    OUTPUT_CLUSTERS,
+    INPUT_CLUSTERS,
+    DEVICE_TYPE,
+    PROFILE_ID,
+    MODELS_INFO,
+)
+from zhaquirks.philips import PHILIPS, PhilipsOnOffCluster
+
+
+class PhilipsLLC011(CustomDevice):
+    """Philips LLC device."""
+
+    signature = {
+        MODELS_INFO: [(PHILIPS, "LLC011")],
+        ENDPOINTS: {
+            11: {
+                # <SimpleDescriptor endpoint=11 profile=49246 device_type=512
+                # device_version=2
+                # input_clusters=[0, 3, 4, 5, 6, 8, 4096, 768, 64513]
+                # output_clusters=[25]
+                PROFILE_ID: zll.PROFILE_ID,
+                DEVICE_TYPE: zll.DeviceType.COLOR_LIGHT,
+                INPUT_CLUSTERS: [
+                    Basic.cluster_id,
+                    Identify.cluster_id,
+                    Groups.cluster_id,
+                    Scenes.cluster_id,
+                    OnOff.cluster_id,
+                    LevelControl.cluster_id,
+                    LightLink.cluster_id,
+                    Color.cluster_id,
+                    64513,
+                ],
+                OUTPUT_CLUSTERS: [Ota.cluster_id],
+            },
+            242: {
+                # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
+                # device_version=0
+                # input_clusters=[33]
+                # output_clusters=[33]
+                PROFILE_ID: 41440,
+                DEVICE_TYPE: 97,
+                INPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
+                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
+            },
+        },
+    }
+
+    replacement = {
+        ENDPOINTS: {
+            11: {
+                PROFILE_ID: zll.PROFILE_ID,
+                DEVICE_TYPE: zll.DeviceType.COLOR_LIGHT,
+                INPUT_CLUSTERS: [
+                    Basic.cluster_id,
+                    Identify.cluster_id,
+                    Groups.cluster_id,
+                    Scenes.cluster_id,
+                    PhilipsOnOffCluster,
+                    LevelControl.cluster_id,
+                    LightLink.cluster_id,
+                    Color.cluster_id,
+                    64513,
+                ],
+                OUTPUT_CLUSTERS: [Ota.cluster_id],
+            },
+            242: {
+                PROFILE_ID: 41440,
+                DEVICE_TYPE: 97,
+                INPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
+                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
+            },
+        }
+    }
diff --git a/zhaquirks/philips/lct.py b/zhaquirks/philips/zllextendedcolorlight.py
similarity index 94%
rename from zhaquirks/philips/lct.py
rename to zhaquirks/philips/zllextendedcolorlight.py
--- a/zhaquirks/philips/lct.py
+++ b/zhaquirks/philips/zllextendedcolorlight.py
@@ -1,4 +1,4 @@
-"""Quirk for Phillips LCT bulbs."""
+"""Quirk for Phillips extended color bulbs."""
 from zigpy.profiles import zll
 from zigpy.quirks import CustomDevice
 from zigpy.zcl.clusters.general import (
@@ -26,8 +26,8 @@
 from zhaquirks.philips import PHILIPS, PhilipsOnOffCluster
 
 
-class PhilipsLCT(CustomDevice):
-    """Philips LCT bulb device."""
+class ZLLExtendedColorLight(CustomDevice):
+    """Philips ZigBee LightLink extended color bulb device."""
 
     signature = {
         MODELS_INFO: [
@@ -43,6 +43,7 @@ class PhilipsLCT(CustomDevice):
             (PHILIPS, "LCT016"),
             (PHILIPS, "LCT021"),
             (PHILIPS, "LCT024"),
+            (PHILIPS, "LLC020"),
         ],
         ENDPOINTS: {
             11: {


Test patch: