From d65ef41e6bb7c55ba898036bf00450a788a692d6 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Thu, 2 Jan 2025 23:26:24 +0100 Subject: [PATCH 01/16] Expose the 'multicolor' gradient command on compatible Hue devices --- zhaquirks/philips/gradient.py | 41 ++++++++++++++++++++++++++++++++ zhaquirks/philips/lcx0001.py | 15 ++++++++++++ zhaquirks/philips/lcx0002.py | 15 ++++++++++++ zhaquirks/philips/lcx0003.py | 15 ++++++++++++ zhaquirks/philips/lcx0005.py | 15 ++++++++++++ zhaquirks/philips/lcx0006.py | 15 ++++++++++++ zhaquirks/philips/lcx0012.py | 15 ++++++++++++ zhaquirks/philips/lcx0015.py | 15 ++++++++++++ zhaquirks/philips/lcx0016.py | 15 ++++++++++++ zhaquirks/philips/lcx0017.py | 15 ++++++++++++ zhaquirks/philips/signe_floor.py | 24 +++++++++++++++++++ zhaquirks/philips/signe_table.py | 19 +++++++++++++++ 12 files changed, 219 insertions(+) create mode 100644 zhaquirks/philips/gradient.py create mode 100644 zhaquirks/philips/lcx0001.py create mode 100644 zhaquirks/philips/lcx0002.py create mode 100644 zhaquirks/philips/lcx0003.py create mode 100644 zhaquirks/philips/lcx0005.py create mode 100644 zhaquirks/philips/lcx0006.py create mode 100644 zhaquirks/philips/lcx0012.py create mode 100644 zhaquirks/philips/lcx0015.py create mode 100644 zhaquirks/philips/lcx0016.py create mode 100644 zhaquirks/philips/lcx0017.py create mode 100644 zhaquirks/philips/signe_floor.py create mode 100644 zhaquirks/philips/signe_table.py diff --git a/zhaquirks/philips/gradient.py b/zhaquirks/philips/gradient.py new file mode 100644 index 0000000000..3481996fe2 --- /dev/null +++ b/zhaquirks/philips/gradient.py @@ -0,0 +1,41 @@ +"""Common utilities for gradient-compatible devices.""" + +from typing import Final + +from zigpy import types +from zigpy.quirks import CustomCluster +from zigpy.zcl.foundation import ( + BaseAttributeDefs, + DataTypeId, + Direction, + ZCLAttributeDef, + ZCLCommandDef, +) + + +class PhilipsGradientCluster(CustomCluster): + """Philips manufacturer cluster for the gradient.""" + + cluster_id: Final[types.uint16_t] = 0xFC03 + ep_attribute: Final[str] = "philips_gradient_cluster" + name: Final[str] = "PhilipsGradientCluster" + + server_commands = { + 0x0000: ZCLCommandDef( + name="multicolor", + schema={"data": types.SerializableBytes}, + direction=Direction.Client_to_Server, + is_manufacturer_specific=True, + ) + } + + class AttributeDefs(BaseAttributeDefs): + """Manufacturer specific attributes.""" + + state = ZCLAttributeDef( + id=0x0002, + type=types.LongOctetString, + zcl_type=DataTypeId.octstr, + access="r", + is_manufacturer_specific=True, + ) diff --git a/zhaquirks/philips/lcx0001.py b/zhaquirks/philips/lcx0001.py new file mode 100644 index 0000000000..b0a74617bb --- /dev/null +++ b/zhaquirks/philips/lcx0001.py @@ -0,0 +1,15 @@ +"""Signify LCX001 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX001") + .friendly_name( + model="Hue Play Gradient Lightstrip 55", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0002.py b/zhaquirks/philips/lcx0002.py new file mode 100644 index 0000000000..37a677850f --- /dev/null +++ b/zhaquirks/philips/lcx0002.py @@ -0,0 +1,15 @@ +"""Signify LCX002 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX002") + .friendly_name( + model="Hue Play Gradient Lightstrip 65", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0003.py b/zhaquirks/philips/lcx0003.py new file mode 100644 index 0000000000..f5d1b1cb1e --- /dev/null +++ b/zhaquirks/philips/lcx0003.py @@ -0,0 +1,15 @@ +"""Signify LCX003 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX003") + .friendly_name( + model="Hue Play Gradient Lightstrip 75", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0005.py b/zhaquirks/philips/lcx0005.py new file mode 100644 index 0000000000..5b516a9c74 --- /dev/null +++ b/zhaquirks/philips/lcx0005.py @@ -0,0 +1,15 @@ +"""Signify LCX005 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX005") + .friendly_name( + model="Hue Play Gradient Lightstrip for PC (24-27)", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0006.py b/zhaquirks/philips/lcx0006.py new file mode 100644 index 0000000000..c51f653fe0 --- /dev/null +++ b/zhaquirks/philips/lcx0006.py @@ -0,0 +1,15 @@ +"""Signify LCX006 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX006") + .friendly_name( + model="Hue Play Gradient Lightstrip for PC (32-34)", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0012.py b/zhaquirks/philips/lcx0012.py new file mode 100644 index 0000000000..3f72782234 --- /dev/null +++ b/zhaquirks/philips/lcx0012.py @@ -0,0 +1,15 @@ +"""Signify LCX012 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX012") + .friendly_name( + model="Hue Festavia Gradient Light String 250 (1st-gen)", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0015.py b/zhaquirks/philips/lcx0015.py new file mode 100644 index 0000000000..b7a996fa77 --- /dev/null +++ b/zhaquirks/philips/lcx0015.py @@ -0,0 +1,15 @@ +"""Signify LCX015 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX015") + .friendly_name( + model="Hue Festavia Gradient Light String 250", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0016.py b/zhaquirks/philips/lcx0016.py new file mode 100644 index 0000000000..a442b75f5f --- /dev/null +++ b/zhaquirks/philips/lcx0016.py @@ -0,0 +1,15 @@ +"""Signify LCX016 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX016") + .friendly_name( + model="Hue Festavia Gradient Light String 100", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/lcx0017.py b/zhaquirks/philips/lcx0017.py new file mode 100644 index 0000000000..31157e2bcd --- /dev/null +++ b/zhaquirks/philips/lcx0017.py @@ -0,0 +1,15 @@ +"""Signify LCX017 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder("Signify Netherlands B.V.", "LCX017") + .friendly_name( + model="Hue Festavia Gradient Light String 500", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/signe_floor.py b/zhaquirks/philips/signe_floor.py new file mode 100644 index 0000000000..39a13e139a --- /dev/null +++ b/zhaquirks/philips/signe_floor.py @@ -0,0 +1,24 @@ +"""Signify LCX006 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder() + .applies_to("Signify Netherlands B.V.", "4080248U9") + .applies_to("Signify Netherlands B.V.", "915005987101") + .applies_to("Signify Netherlands B.V.", "915005987201") + .applies_to("Signify Netherlands B.V.", "915005987501") + .applies_to("Signify Netherlands B.V.", "915005987601") + .applies_to("Signify Netherlands B.V.", "915005987701") + .applies_to("Signify Netherlands B.V.", "915005987801") + .applies_to("Signify Netherlands B.V.", "929003479601") + .applies_to("Signify Netherlands B.V.", "929003479701") + .friendly_name( + model="Hue Signe Gradient Floor Lamp", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/signe_table.py b/zhaquirks/philips/signe_table.py new file mode 100644 index 0000000000..20df7ff652 --- /dev/null +++ b/zhaquirks/philips/signe_table.py @@ -0,0 +1,19 @@ +"""Signify LCX006 device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder() + .applies_to("Signify Netherlands B.V.", "915005986901") + .applies_to("Signify Netherlands B.V.", "915005987001") + .applies_to("Signify Netherlands B.V.", "915005987401") + .applies_to("Signify Netherlands B.V.", "915005987301") + .friendly_name( + model="Hue Signe Gradient Table Lamp", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) From 115a84fdeb1efec534dca81ae398dfe3911face8 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sat, 4 Jan 2025 19:31:08 +0100 Subject: [PATCH 02/16] Fix docstring on the signe devices --- zhaquirks/philips/signe_floor.py | 2 +- zhaquirks/philips/signe_table.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zhaquirks/philips/signe_floor.py b/zhaquirks/philips/signe_floor.py index 39a13e139a..9ceebcb905 100644 --- a/zhaquirks/philips/signe_floor.py +++ b/zhaquirks/philips/signe_floor.py @@ -1,4 +1,4 @@ -"""Signify LCX006 device.""" +"""Hue Signe Fradient Floor Lamp device.""" from zigpy.quirks.v2 import QuirkBuilder diff --git a/zhaquirks/philips/signe_table.py b/zhaquirks/philips/signe_table.py index 20df7ff652..f617b3fb93 100644 --- a/zhaquirks/philips/signe_table.py +++ b/zhaquirks/philips/signe_table.py @@ -1,4 +1,4 @@ -"""Signify LCX006 device.""" +"""Hue Signe Fradient Table Lamp device.""" from zigpy.quirks.v2 import QuirkBuilder From 52ab3acc90111f19bec6ef5cd8a4ccc23015dd05 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sat, 4 Jan 2025 19:32:05 +0100 Subject: [PATCH 03/16] Add Hue tubes --- zhaquirks/philips/tube.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 zhaquirks/philips/tube.py diff --git a/zhaquirks/philips/tube.py b/zhaquirks/philips/tube.py new file mode 100644 index 0000000000..d3acfbc50e --- /dev/null +++ b/zhaquirks/philips/tube.py @@ -0,0 +1,21 @@ +"""Hue Play Gradient Light Tube device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder() + .applies_to("Signify Netherlands B.V.", "915005987901") + .applies_to("Signify Netherlands B.V.", "915005988001") + .applies_to("Signify Netherlands B.V.", "915005988101") + .applies_to("Signify Netherlands B.V.", "915005988201") + .applies_to("Signify Netherlands B.V.", "915005988401") + .applies_to("Signify Netherlands B.V.", "915005988501") + .friendly_name( + model="Hue Play Gradient Light Tube", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) From 21a94a700ec20af24ad27244caa8b8a3ab821170 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sat, 4 Jan 2025 19:36:00 +0100 Subject: [PATCH 04/16] Add Hue Perifo --- zhaquirks/philips/perifo.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 zhaquirks/philips/perifo.py diff --git a/zhaquirks/philips/perifo.py b/zhaquirks/philips/perifo.py new file mode 100644 index 0000000000..5fa13230df --- /dev/null +++ b/zhaquirks/philips/perifo.py @@ -0,0 +1,19 @@ +"""Hue Perifo device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips.gradient import PhilipsGradientCluster + +( + QuirkBuilder() + .applies_to("Signify Netherlands B.V.", "929003116301") + .applies_to("Signify Netherlands B.V.", "929003116401") + .applies_to("Signify Netherlands B.V.", "929003116501") + .applies_to("Signify Netherlands B.V.", "929003116601") + .friendly_name( + model="Hue Perifo Light Tube", + manufacturer="Philips", + ) + .replaces(PhilipsGradientCluster, endpoint_id=11) + .add_to_registry() +) From 7e7b3dc59cfd06335c4e8ffe6862a7e8d7b91e46 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Mon, 20 Jan 2025 22:05:57 +0100 Subject: [PATCH 05/16] Rename PhilipsGradientCluster to PhilipsHueCluster --- zhaquirks/philips/__init__.py | 19 ++++++++++++++- zhaquirks/philips/gradient.py | 41 -------------------------------- zhaquirks/philips/lcx0001.py | 4 ++-- zhaquirks/philips/lcx0002.py | 4 ++-- zhaquirks/philips/lcx0003.py | 4 ++-- zhaquirks/philips/lcx0005.py | 4 ++-- zhaquirks/philips/lcx0006.py | 4 ++-- zhaquirks/philips/lcx0012.py | 4 ++-- zhaquirks/philips/lcx0015.py | 4 ++-- zhaquirks/philips/lcx0016.py | 4 ++-- zhaquirks/philips/lcx0017.py | 4 ++-- zhaquirks/philips/perifo.py | 4 ++-- zhaquirks/philips/signe_floor.py | 4 ++-- zhaquirks/philips/signe_table.py | 4 ++-- zhaquirks/philips/tube.py | 4 ++-- 15 files changed, 44 insertions(+), 68 deletions(-) delete mode 100644 zhaquirks/philips/gradient.py diff --git a/zhaquirks/philips/__init__.py b/zhaquirks/philips/__init__.py index 6b8b2dfdda..a2a3099a0c 100644 --- a/zhaquirks/philips/__init__.py +++ b/zhaquirks/philips/__init__.py @@ -11,7 +11,7 @@ from zigpy.zcl import foundation from zigpy.zcl.clusters.general import Basic from zigpy.zcl.clusters.measurement import OccupancySensing -from zigpy.zcl.foundation import ZCLAttributeDef +from zigpy.zcl.foundation import Direction, ZCLAttributeDef, ZCLCommandDef from zhaquirks.const import ( ARGS, @@ -340,3 +340,20 @@ class PhilipsRwlRemoteCluster(PhilipsRemoteCluster): 3: Button("down", DIM_DOWN), 4: Button("off", TURN_OFF), } + + +class PhilipsHueCluster(CustomCluster): + """Philips Hue manufacturer cluster.""" + + cluster_id: Final[t.uint16_t] = 0xFC03 + ep_attribute: Final[str] = "philips_hue_cluster" + name: Final[str] = "PhilipsHueCluster" + + server_commands = { + 0x0000: ZCLCommandDef( + name="multicolor", + schema={"data": t.SerializableBytes}, + direction=Direction.Client_to_Server, + is_manufacturer_specific=True, + ) + } diff --git a/zhaquirks/philips/gradient.py b/zhaquirks/philips/gradient.py deleted file mode 100644 index 3481996fe2..0000000000 --- a/zhaquirks/philips/gradient.py +++ /dev/null @@ -1,41 +0,0 @@ -"""Common utilities for gradient-compatible devices.""" - -from typing import Final - -from zigpy import types -from zigpy.quirks import CustomCluster -from zigpy.zcl.foundation import ( - BaseAttributeDefs, - DataTypeId, - Direction, - ZCLAttributeDef, - ZCLCommandDef, -) - - -class PhilipsGradientCluster(CustomCluster): - """Philips manufacturer cluster for the gradient.""" - - cluster_id: Final[types.uint16_t] = 0xFC03 - ep_attribute: Final[str] = "philips_gradient_cluster" - name: Final[str] = "PhilipsGradientCluster" - - server_commands = { - 0x0000: ZCLCommandDef( - name="multicolor", - schema={"data": types.SerializableBytes}, - direction=Direction.Client_to_Server, - is_manufacturer_specific=True, - ) - } - - class AttributeDefs(BaseAttributeDefs): - """Manufacturer specific attributes.""" - - state = ZCLAttributeDef( - id=0x0002, - type=types.LongOctetString, - zcl_type=DataTypeId.octstr, - access="r", - is_manufacturer_specific=True, - ) diff --git a/zhaquirks/philips/lcx0001.py b/zhaquirks/philips/lcx0001.py index b0a74617bb..5252a9752a 100644 --- a/zhaquirks/philips/lcx0001.py +++ b/zhaquirks/philips/lcx0001.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX001") @@ -10,6 +10,6 @@ model="Hue Play Gradient Lightstrip 55", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0002.py b/zhaquirks/philips/lcx0002.py index 37a677850f..1b91cc286b 100644 --- a/zhaquirks/philips/lcx0002.py +++ b/zhaquirks/philips/lcx0002.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX002") @@ -10,6 +10,6 @@ model="Hue Play Gradient Lightstrip 65", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0003.py b/zhaquirks/philips/lcx0003.py index f5d1b1cb1e..00d0e5af16 100644 --- a/zhaquirks/philips/lcx0003.py +++ b/zhaquirks/philips/lcx0003.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX003") @@ -10,6 +10,6 @@ model="Hue Play Gradient Lightstrip 75", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0005.py b/zhaquirks/philips/lcx0005.py index 5b516a9c74..fc33ffb376 100644 --- a/zhaquirks/philips/lcx0005.py +++ b/zhaquirks/philips/lcx0005.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX005") @@ -10,6 +10,6 @@ model="Hue Play Gradient Lightstrip for PC (24-27)", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0006.py b/zhaquirks/philips/lcx0006.py index c51f653fe0..f358353b44 100644 --- a/zhaquirks/philips/lcx0006.py +++ b/zhaquirks/philips/lcx0006.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX006") @@ -10,6 +10,6 @@ model="Hue Play Gradient Lightstrip for PC (32-34)", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0012.py b/zhaquirks/philips/lcx0012.py index 3f72782234..d127134f5b 100644 --- a/zhaquirks/philips/lcx0012.py +++ b/zhaquirks/philips/lcx0012.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX012") @@ -10,6 +10,6 @@ model="Hue Festavia Gradient Light String 250 (1st-gen)", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0015.py b/zhaquirks/philips/lcx0015.py index b7a996fa77..0698dafe27 100644 --- a/zhaquirks/philips/lcx0015.py +++ b/zhaquirks/philips/lcx0015.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX015") @@ -10,6 +10,6 @@ model="Hue Festavia Gradient Light String 250", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0016.py b/zhaquirks/philips/lcx0016.py index a442b75f5f..5392074dc4 100644 --- a/zhaquirks/philips/lcx0016.py +++ b/zhaquirks/philips/lcx0016.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX016") @@ -10,6 +10,6 @@ model="Hue Festavia Gradient Light String 100", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/lcx0017.py b/zhaquirks/philips/lcx0017.py index 31157e2bcd..e76815f4ac 100644 --- a/zhaquirks/philips/lcx0017.py +++ b/zhaquirks/philips/lcx0017.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder("Signify Netherlands B.V.", "LCX017") @@ -10,6 +10,6 @@ model="Hue Festavia Gradient Light String 500", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/perifo.py b/zhaquirks/philips/perifo.py index 5fa13230df..8af5223dca 100644 --- a/zhaquirks/philips/perifo.py +++ b/zhaquirks/philips/perifo.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder() @@ -14,6 +14,6 @@ model="Hue Perifo Light Tube", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/signe_floor.py b/zhaquirks/philips/signe_floor.py index 9ceebcb905..1b8ff59d7e 100644 --- a/zhaquirks/philips/signe_floor.py +++ b/zhaquirks/philips/signe_floor.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder() @@ -19,6 +19,6 @@ model="Hue Signe Gradient Floor Lamp", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/signe_table.py b/zhaquirks/philips/signe_table.py index f617b3fb93..e31961f51f 100644 --- a/zhaquirks/philips/signe_table.py +++ b/zhaquirks/philips/signe_table.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder() @@ -14,6 +14,6 @@ model="Hue Signe Gradient Table Lamp", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) diff --git a/zhaquirks/philips/tube.py b/zhaquirks/philips/tube.py index d3acfbc50e..a54b3dbb3c 100644 --- a/zhaquirks/philips/tube.py +++ b/zhaquirks/philips/tube.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips.gradient import PhilipsGradientCluster +from zhaquirks.philips import PhilipsHueCluster ( QuirkBuilder() @@ -16,6 +16,6 @@ model="Hue Play Gradient Light Tube", manufacturer="Philips", ) - .replaces(PhilipsGradientCluster, endpoint_id=11) + .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) From 528eef9fef0854cd0c22b936b0da8a0266bd23b9 Mon Sep 17 00:00:00 2001 From: BetaRavener Date: Tue, 21 Jan 2025 20:50:01 +0100 Subject: [PATCH 06/16] Change to new server command syntax and add Hue Go. --- zhaquirks/philips/__init__.py | 16 +++++++++++----- zhaquirks/philips/hue_go.py | 12 ++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 zhaquirks/philips/hue_go.py diff --git a/zhaquirks/philips/__init__.py b/zhaquirks/philips/__init__.py index a2a3099a0c..8a014c89e6 100644 --- a/zhaquirks/philips/__init__.py +++ b/zhaquirks/philips/__init__.py @@ -11,7 +11,12 @@ from zigpy.zcl import foundation from zigpy.zcl.clusters.general import Basic from zigpy.zcl.clusters.measurement import OccupancySensing -from zigpy.zcl.foundation import Direction, ZCLAttributeDef, ZCLCommandDef +from zigpy.zcl.foundation import ( + BaseCommandDefs, + Direction, + ZCLAttributeDef, + ZCLCommandDef, +) from zhaquirks.const import ( ARGS, @@ -349,11 +354,12 @@ class PhilipsHueCluster(CustomCluster): ep_attribute: Final[str] = "philips_hue_cluster" name: Final[str] = "PhilipsHueCluster" - server_commands = { - 0x0000: ZCLCommandDef( - name="multicolor", + class ServerCommandDefs(BaseCommandDefs): + """Server command definitions.""" + + multicolor: Final = ZCLCommandDef( + id=0x00, schema={"data": t.SerializableBytes}, direction=Direction.Client_to_Server, is_manufacturer_specific=True, ) - } diff --git a/zhaquirks/philips/hue_go.py b/zhaquirks/philips/hue_go.py new file mode 100644 index 0000000000..a9607f910c --- /dev/null +++ b/zhaquirks/philips/hue_go.py @@ -0,0 +1,12 @@ +"""Philips Hue Go device.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips import PHILIPS, PhilipsHueCluster + +( + QuirkBuilder(PHILIPS, "7602031P7") + .also_applies_to(PHILIPS, "7602031U7") + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) From c4585ce14eda49f8c762bebc00c6a4c32dbd7ea9 Mon Sep 17 00:00:00 2001 From: BetaRavener Date: Tue, 21 Jan 2025 20:55:31 +0100 Subject: [PATCH 07/16] Reuse SIGNIFY constant. --- zhaquirks/philips/lcx0001.py | 4 ++-- zhaquirks/philips/lcx0002.py | 4 ++-- zhaquirks/philips/lcx0003.py | 4 ++-- zhaquirks/philips/lcx0005.py | 4 ++-- zhaquirks/philips/lcx0006.py | 4 ++-- zhaquirks/philips/lcx0015.py | 4 ++-- zhaquirks/philips/lcx0016.py | 4 ++-- zhaquirks/philips/lcx0017.py | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/zhaquirks/philips/lcx0001.py b/zhaquirks/philips/lcx0001.py index 5252a9752a..d2dfb714d3 100644 --- a/zhaquirks/philips/lcx0001.py +++ b/zhaquirks/philips/lcx0001.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX001") + QuirkBuilder(SIGNIFY, "LCX001") .friendly_name( model="Hue Play Gradient Lightstrip 55", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0002.py b/zhaquirks/philips/lcx0002.py index 1b91cc286b..6f9121d1d1 100644 --- a/zhaquirks/philips/lcx0002.py +++ b/zhaquirks/philips/lcx0002.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX002") + QuirkBuilder(SIGNIFY, "LCX002") .friendly_name( model="Hue Play Gradient Lightstrip 65", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0003.py b/zhaquirks/philips/lcx0003.py index 00d0e5af16..cd5e74b969 100644 --- a/zhaquirks/philips/lcx0003.py +++ b/zhaquirks/philips/lcx0003.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX003") + QuirkBuilder(SIGNIFY, "LCX003") .friendly_name( model="Hue Play Gradient Lightstrip 75", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0005.py b/zhaquirks/philips/lcx0005.py index fc33ffb376..d0b73dec8a 100644 --- a/zhaquirks/philips/lcx0005.py +++ b/zhaquirks/philips/lcx0005.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX005") + QuirkBuilder(SIGNIFY, "LCX005") .friendly_name( model="Hue Play Gradient Lightstrip for PC (24-27)", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0006.py b/zhaquirks/philips/lcx0006.py index f358353b44..9500fa8adf 100644 --- a/zhaquirks/philips/lcx0006.py +++ b/zhaquirks/philips/lcx0006.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX006") + QuirkBuilder(SIGNIFY, "LCX006") .friendly_name( model="Hue Play Gradient Lightstrip for PC (32-34)", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0015.py b/zhaquirks/philips/lcx0015.py index 0698dafe27..f1869d43c4 100644 --- a/zhaquirks/philips/lcx0015.py +++ b/zhaquirks/philips/lcx0015.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX015") + QuirkBuilder(SIGNIFY, "LCX015") .friendly_name( model="Hue Festavia Gradient Light String 250", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0016.py b/zhaquirks/philips/lcx0016.py index 5392074dc4..cf722adbd3 100644 --- a/zhaquirks/philips/lcx0016.py +++ b/zhaquirks/philips/lcx0016.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX016") + QuirkBuilder(SIGNIFY, "LCX016") .friendly_name( model="Hue Festavia Gradient Light String 100", manufacturer="Philips", diff --git a/zhaquirks/philips/lcx0017.py b/zhaquirks/philips/lcx0017.py index e76815f4ac..071890dc95 100644 --- a/zhaquirks/philips/lcx0017.py +++ b/zhaquirks/philips/lcx0017.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import PhilipsHueCluster, SIGNIFY ( - QuirkBuilder("Signify Netherlands B.V.", "LCX017") + QuirkBuilder(SIGNIFY, "LCX017") .friendly_name( model="Hue Festavia Gradient Light String 500", manufacturer="Philips", From a61ab56dc3892430b5f891afc20f0ee5ceb4a4b1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:12:01 +0000 Subject: [PATCH 08/16] Apply pre-commit auto fixes --- zhaquirks/philips/lcx0001.py | 2 +- zhaquirks/philips/lcx0002.py | 2 +- zhaquirks/philips/lcx0003.py | 2 +- zhaquirks/philips/lcx0005.py | 2 +- zhaquirks/philips/lcx0006.py | 2 +- zhaquirks/philips/lcx0015.py | 2 +- zhaquirks/philips/lcx0016.py | 2 +- zhaquirks/philips/lcx0017.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zhaquirks/philips/lcx0001.py b/zhaquirks/philips/lcx0001.py index d2dfb714d3..a6bb98a98f 100644 --- a/zhaquirks/philips/lcx0001.py +++ b/zhaquirks/philips/lcx0001.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX001") diff --git a/zhaquirks/philips/lcx0002.py b/zhaquirks/philips/lcx0002.py index 6f9121d1d1..bfa63bdfd8 100644 --- a/zhaquirks/philips/lcx0002.py +++ b/zhaquirks/philips/lcx0002.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX002") diff --git a/zhaquirks/philips/lcx0003.py b/zhaquirks/philips/lcx0003.py index cd5e74b969..7ea0c32285 100644 --- a/zhaquirks/philips/lcx0003.py +++ b/zhaquirks/philips/lcx0003.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX003") diff --git a/zhaquirks/philips/lcx0005.py b/zhaquirks/philips/lcx0005.py index d0b73dec8a..625d11a606 100644 --- a/zhaquirks/philips/lcx0005.py +++ b/zhaquirks/philips/lcx0005.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX005") diff --git a/zhaquirks/philips/lcx0006.py b/zhaquirks/philips/lcx0006.py index 9500fa8adf..0c09b12c7b 100644 --- a/zhaquirks/philips/lcx0006.py +++ b/zhaquirks/philips/lcx0006.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX006") diff --git a/zhaquirks/philips/lcx0015.py b/zhaquirks/philips/lcx0015.py index f1869d43c4..c9f6c3f303 100644 --- a/zhaquirks/philips/lcx0015.py +++ b/zhaquirks/philips/lcx0015.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX015") diff --git a/zhaquirks/philips/lcx0016.py b/zhaquirks/philips/lcx0016.py index cf722adbd3..fe8e73368b 100644 --- a/zhaquirks/philips/lcx0016.py +++ b/zhaquirks/philips/lcx0016.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX016") diff --git a/zhaquirks/philips/lcx0017.py b/zhaquirks/philips/lcx0017.py index 071890dc95..1650356c42 100644 --- a/zhaquirks/philips/lcx0017.py +++ b/zhaquirks/philips/lcx0017.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster, SIGNIFY +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder(SIGNIFY, "LCX017") From 1bf015f758dd49832a77f979d9dec4418febc000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Jagie=C5=82=C5=82o?= Date: Tue, 21 Jan 2025 21:33:20 +0100 Subject: [PATCH 09/16] Update zhaquirks/philips/hue_go.py Co-authored-by: BetaRavener --- zhaquirks/philips/hue_go.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zhaquirks/philips/hue_go.py b/zhaquirks/philips/hue_go.py index a9607f910c..5a56ce8b2e 100644 --- a/zhaquirks/philips/hue_go.py +++ b/zhaquirks/philips/hue_go.py @@ -6,7 +6,7 @@ ( QuirkBuilder(PHILIPS, "7602031P7") - .also_applies_to(PHILIPS, "7602031U7") + .applies_to(PHILIPS, "7602031U7") .replaces(PhilipsHueCluster, endpoint_id=11) .add_to_registry() ) From 7f2e4617488dd70c6d6479f79cf8fc2c3741c5a8 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Tue, 21 Jan 2025 21:36:47 +0100 Subject: [PATCH 10/16] Utilize the SIGNIFY constant everywhere --- zhaquirks/philips/lcx0012.py | 4 ++-- zhaquirks/philips/perifo.py | 10 +++++----- zhaquirks/philips/signe_floor.py | 20 ++++++++++---------- zhaquirks/philips/signe_table.py | 10 +++++----- zhaquirks/philips/soc001.py | 4 +++- zhaquirks/philips/tube.py | 14 +++++++------- 6 files changed, 32 insertions(+), 30 deletions(-) diff --git a/zhaquirks/philips/lcx0012.py b/zhaquirks/philips/lcx0012.py index d127134f5b..78d7389ce6 100644 --- a/zhaquirks/philips/lcx0012.py +++ b/zhaquirks/philips/lcx0012.py @@ -2,10 +2,10 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( - QuirkBuilder("Signify Netherlands B.V.", "LCX012") + QuirkBuilder(SIGNIFY, "LCX012") .friendly_name( model="Hue Festavia Gradient Light String 250 (1st-gen)", manufacturer="Philips", diff --git a/zhaquirks/philips/perifo.py b/zhaquirks/philips/perifo.py index 8af5223dca..448df83a7c 100644 --- a/zhaquirks/philips/perifo.py +++ b/zhaquirks/philips/perifo.py @@ -2,14 +2,14 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder() - .applies_to("Signify Netherlands B.V.", "929003116301") - .applies_to("Signify Netherlands B.V.", "929003116401") - .applies_to("Signify Netherlands B.V.", "929003116501") - .applies_to("Signify Netherlands B.V.", "929003116601") + .applies_to(SIGNIFY, "929003116301") + .applies_to(SIGNIFY, "929003116401") + .applies_to(SIGNIFY, "929003116501") + .applies_to(SIGNIFY, "929003116601") .friendly_name( model="Hue Perifo Light Tube", manufacturer="Philips", diff --git a/zhaquirks/philips/signe_floor.py b/zhaquirks/philips/signe_floor.py index 1b8ff59d7e..aa588596d5 100644 --- a/zhaquirks/philips/signe_floor.py +++ b/zhaquirks/philips/signe_floor.py @@ -2,19 +2,19 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder() - .applies_to("Signify Netherlands B.V.", "4080248U9") - .applies_to("Signify Netherlands B.V.", "915005987101") - .applies_to("Signify Netherlands B.V.", "915005987201") - .applies_to("Signify Netherlands B.V.", "915005987501") - .applies_to("Signify Netherlands B.V.", "915005987601") - .applies_to("Signify Netherlands B.V.", "915005987701") - .applies_to("Signify Netherlands B.V.", "915005987801") - .applies_to("Signify Netherlands B.V.", "929003479601") - .applies_to("Signify Netherlands B.V.", "929003479701") + .applies_to(SIGNIFY, "4080248U9") + .applies_to(SIGNIFY, "915005987101") + .applies_to(SIGNIFY, "915005987201") + .applies_to(SIGNIFY, "915005987501") + .applies_to(SIGNIFY, "915005987601") + .applies_to(SIGNIFY, "915005987701") + .applies_to(SIGNIFY, "915005987801") + .applies_to(SIGNIFY, "929003479601") + .applies_to(SIGNIFY, "929003479701") .friendly_name( model="Hue Signe Gradient Floor Lamp", manufacturer="Philips", diff --git a/zhaquirks/philips/signe_table.py b/zhaquirks/philips/signe_table.py index e31961f51f..6a5f1c76e5 100644 --- a/zhaquirks/philips/signe_table.py +++ b/zhaquirks/philips/signe_table.py @@ -2,14 +2,14 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder() - .applies_to("Signify Netherlands B.V.", "915005986901") - .applies_to("Signify Netherlands B.V.", "915005987001") - .applies_to("Signify Netherlands B.V.", "915005987401") - .applies_to("Signify Netherlands B.V.", "915005987301") + .applies_to(SIGNIFY, "915005986901") + .applies_to(SIGNIFY, "915005987001") + .applies_to(SIGNIFY, "915005987401") + .applies_to(SIGNIFY, "915005987301") .friendly_name( model="Hue Signe Gradient Table Lamp", manufacturer="Philips", diff --git a/zhaquirks/philips/soc001.py b/zhaquirks/philips/soc001.py index 3a7bd8444f..87cf58e6ea 100644 --- a/zhaquirks/philips/soc001.py +++ b/zhaquirks/philips/soc001.py @@ -6,6 +6,8 @@ from zigpy.zcl.clusters.general import OnOff from zigpy.zcl.foundation import BaseAttributeDefs, ZCLAttributeDef +from zhaquirks.philips import SIGNIFY + class PhilipsContactCluster(CustomCluster): """Philips manufacturer specific cluster for contact sensor.""" @@ -60,7 +62,7 @@ def _update_attribute(self, attrid, value): # device_version=0 # input_clusters=[0, 1, 3, 64518] # output_clusters=[0, 3, 6, 25]> - QuirkBuilder("Signify Netherlands B.V.", "SOC001") + QuirkBuilder(SIGNIFY, "SOC001") .replaces(PhilipsContactCluster, endpoint_id=2) .binary_sensor( "tamper", diff --git a/zhaquirks/philips/tube.py b/zhaquirks/philips/tube.py index a54b3dbb3c..a929e496d3 100644 --- a/zhaquirks/philips/tube.py +++ b/zhaquirks/philips/tube.py @@ -2,16 +2,16 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PhilipsHueCluster +from zhaquirks.philips import SIGNIFY, PhilipsHueCluster ( QuirkBuilder() - .applies_to("Signify Netherlands B.V.", "915005987901") - .applies_to("Signify Netherlands B.V.", "915005988001") - .applies_to("Signify Netherlands B.V.", "915005988101") - .applies_to("Signify Netherlands B.V.", "915005988201") - .applies_to("Signify Netherlands B.V.", "915005988401") - .applies_to("Signify Netherlands B.V.", "915005988501") + .applies_to(SIGNIFY, "915005987901") + .applies_to(SIGNIFY, "915005988001") + .applies_to(SIGNIFY, "915005988101") + .applies_to(SIGNIFY, "915005988201") + .applies_to(SIGNIFY, "915005988401") + .applies_to(SIGNIFY, "915005988501") .friendly_name( model="Hue Play Gradient Light Tube", manufacturer="Philips", From 627274722d2a681bde6e9c207c47e362f07ff6a3 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Wed, 22 Jan 2025 08:51:22 +0100 Subject: [PATCH 11/16] Gather the different Hue lights under a single module --- zhaquirks/philips/hue.py | 109 +++++++++++++++++++++++++++++++ zhaquirks/philips/hue_go.py | 12 ---- zhaquirks/philips/lcx0001.py | 15 ----- zhaquirks/philips/lcx0002.py | 15 ----- zhaquirks/philips/lcx0003.py | 15 ----- zhaquirks/philips/lcx0005.py | 15 ----- zhaquirks/philips/lcx0006.py | 15 ----- zhaquirks/philips/lcx0012.py | 15 ----- zhaquirks/philips/lcx0015.py | 15 ----- zhaquirks/philips/lcx0016.py | 15 ----- zhaquirks/philips/lcx0017.py | 15 ----- zhaquirks/philips/signe_floor.py | 24 ------- zhaquirks/philips/signe_table.py | 19 ------ zhaquirks/philips/tube.py | 21 ------ 14 files changed, 109 insertions(+), 211 deletions(-) create mode 100644 zhaquirks/philips/hue.py delete mode 100644 zhaquirks/philips/hue_go.py delete mode 100644 zhaquirks/philips/lcx0001.py delete mode 100644 zhaquirks/philips/lcx0002.py delete mode 100644 zhaquirks/philips/lcx0003.py delete mode 100644 zhaquirks/philips/lcx0005.py delete mode 100644 zhaquirks/philips/lcx0006.py delete mode 100644 zhaquirks/philips/lcx0012.py delete mode 100644 zhaquirks/philips/lcx0015.py delete mode 100644 zhaquirks/philips/lcx0016.py delete mode 100644 zhaquirks/philips/lcx0017.py delete mode 100644 zhaquirks/philips/signe_floor.py delete mode 100644 zhaquirks/philips/signe_table.py delete mode 100644 zhaquirks/philips/tube.py diff --git a/zhaquirks/philips/hue.py b/zhaquirks/philips/hue.py new file mode 100644 index 0000000000..42dd13e071 --- /dev/null +++ b/zhaquirks/philips/hue.py @@ -0,0 +1,109 @@ +"""Philips Hue devices.""" + +from zigpy.quirks.v2 import QuirkBuilder + +from zhaquirks.philips import PHILIPS, SIGNIFY, PhilipsHueCluster + +( + QuirkBuilder() + .applies_to(SIGNIFY, "LCX001") + .applies_to(SIGNIFY, "LCX002") + .applies_to(SIGNIFY, "LCX003") + .applies_to(SIGNIFY, "LCX005") + .applies_to(SIGNIFY, "LCX006") + .friendly_name( + model="Hue Play Gradient Lightstrip", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(SIGNIFY, "LCX012") + .applies_to(SIGNIFY, "LCX015") + .applies_to(SIGNIFY, "LCX016") + .applies_to(SIGNIFY, "LCX017") + .friendly_name( + model="Hue Festavia Gradient Light String", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(SIGNIFY, "929003116301") + .applies_to(SIGNIFY, "929003116401") + .applies_to(SIGNIFY, "929003116501") + .applies_to(SIGNIFY, "929003116601") + .friendly_name( + model="Hue Perifo Light Tube", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(SIGNIFY, "4080248U9") + .applies_to(SIGNIFY, "915005987101") + .applies_to(SIGNIFY, "915005987201") + .applies_to(SIGNIFY, "915005987501") + .applies_to(SIGNIFY, "915005987601") + .applies_to(SIGNIFY, "915005987701") + .applies_to(SIGNIFY, "915005987801") + .applies_to(SIGNIFY, "929003479601") + .applies_to(SIGNIFY, "929003479701") + .friendly_name( + model="Hue Signe Gradient Floor Lamp", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(SIGNIFY, "915005986901") + .applies_to(SIGNIFY, "915005987001") + .applies_to(SIGNIFY, "915005987401") + .applies_to(SIGNIFY, "915005987301") + .friendly_name( + model="Hue Signe Gradient Table Lamp", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(SIGNIFY, "915005987901") + .applies_to(SIGNIFY, "915005988001") + .applies_to(SIGNIFY, "915005988101") + .applies_to(SIGNIFY, "915005988201") + .applies_to(SIGNIFY, "915005988401") + .applies_to(SIGNIFY, "915005988501") + .friendly_name( + model="Hue Play Gradient Light Tube", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + +( + QuirkBuilder() + .applies_to(PHILIPS, "7602031P7") + .applies_to(PHILIPS, "7602031U7") + .friendly_name( + model="Hue Go", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) diff --git a/zhaquirks/philips/hue_go.py b/zhaquirks/philips/hue_go.py deleted file mode 100644 index 5a56ce8b2e..0000000000 --- a/zhaquirks/philips/hue_go.py +++ /dev/null @@ -1,12 +0,0 @@ -"""Philips Hue Go device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import PHILIPS, PhilipsHueCluster - -( - QuirkBuilder(PHILIPS, "7602031P7") - .applies_to(PHILIPS, "7602031U7") - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0001.py b/zhaquirks/philips/lcx0001.py deleted file mode 100644 index a6bb98a98f..0000000000 --- a/zhaquirks/philips/lcx0001.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX001 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX001") - .friendly_name( - model="Hue Play Gradient Lightstrip 55", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0002.py b/zhaquirks/philips/lcx0002.py deleted file mode 100644 index bfa63bdfd8..0000000000 --- a/zhaquirks/philips/lcx0002.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX002 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX002") - .friendly_name( - model="Hue Play Gradient Lightstrip 65", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0003.py b/zhaquirks/philips/lcx0003.py deleted file mode 100644 index 7ea0c32285..0000000000 --- a/zhaquirks/philips/lcx0003.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX003 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX003") - .friendly_name( - model="Hue Play Gradient Lightstrip 75", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0005.py b/zhaquirks/philips/lcx0005.py deleted file mode 100644 index 625d11a606..0000000000 --- a/zhaquirks/philips/lcx0005.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX005 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX005") - .friendly_name( - model="Hue Play Gradient Lightstrip for PC (24-27)", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0006.py b/zhaquirks/philips/lcx0006.py deleted file mode 100644 index 0c09b12c7b..0000000000 --- a/zhaquirks/philips/lcx0006.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX006 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX006") - .friendly_name( - model="Hue Play Gradient Lightstrip for PC (32-34)", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0012.py b/zhaquirks/philips/lcx0012.py deleted file mode 100644 index 78d7389ce6..0000000000 --- a/zhaquirks/philips/lcx0012.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX012 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX012") - .friendly_name( - model="Hue Festavia Gradient Light String 250 (1st-gen)", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0015.py b/zhaquirks/philips/lcx0015.py deleted file mode 100644 index c9f6c3f303..0000000000 --- a/zhaquirks/philips/lcx0015.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX015 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX015") - .friendly_name( - model="Hue Festavia Gradient Light String 250", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0016.py b/zhaquirks/philips/lcx0016.py deleted file mode 100644 index fe8e73368b..0000000000 --- a/zhaquirks/philips/lcx0016.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX016 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX016") - .friendly_name( - model="Hue Festavia Gradient Light String 100", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/lcx0017.py b/zhaquirks/philips/lcx0017.py deleted file mode 100644 index 1650356c42..0000000000 --- a/zhaquirks/philips/lcx0017.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Signify LCX017 device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder(SIGNIFY, "LCX017") - .friendly_name( - model="Hue Festavia Gradient Light String 500", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/signe_floor.py b/zhaquirks/philips/signe_floor.py deleted file mode 100644 index aa588596d5..0000000000 --- a/zhaquirks/philips/signe_floor.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Hue Signe Fradient Floor Lamp device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder() - .applies_to(SIGNIFY, "4080248U9") - .applies_to(SIGNIFY, "915005987101") - .applies_to(SIGNIFY, "915005987201") - .applies_to(SIGNIFY, "915005987501") - .applies_to(SIGNIFY, "915005987601") - .applies_to(SIGNIFY, "915005987701") - .applies_to(SIGNIFY, "915005987801") - .applies_to(SIGNIFY, "929003479601") - .applies_to(SIGNIFY, "929003479701") - .friendly_name( - model="Hue Signe Gradient Floor Lamp", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/signe_table.py b/zhaquirks/philips/signe_table.py deleted file mode 100644 index 6a5f1c76e5..0000000000 --- a/zhaquirks/philips/signe_table.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Hue Signe Fradient Table Lamp device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder() - .applies_to(SIGNIFY, "915005986901") - .applies_to(SIGNIFY, "915005987001") - .applies_to(SIGNIFY, "915005987401") - .applies_to(SIGNIFY, "915005987301") - .friendly_name( - model="Hue Signe Gradient Table Lamp", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) diff --git a/zhaquirks/philips/tube.py b/zhaquirks/philips/tube.py deleted file mode 100644 index a929e496d3..0000000000 --- a/zhaquirks/philips/tube.py +++ /dev/null @@ -1,21 +0,0 @@ -"""Hue Play Gradient Light Tube device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder() - .applies_to(SIGNIFY, "915005987901") - .applies_to(SIGNIFY, "915005988001") - .applies_to(SIGNIFY, "915005988101") - .applies_to(SIGNIFY, "915005988201") - .applies_to(SIGNIFY, "915005988401") - .applies_to(SIGNIFY, "915005988501") - .friendly_name( - model="Hue Play Gradient Light Tube", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) From 088c14e7c1021bf222d9ef678b8cd4d7a8c83b33 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Wed, 22 Jan 2025 08:52:37 +0100 Subject: [PATCH 12/16] Move in Perifo as well --- zhaquirks/philips/hue.py | 14 ++++++++++++++ zhaquirks/philips/perifo.py | 19 ------------------- 2 files changed, 14 insertions(+), 19 deletions(-) delete mode 100644 zhaquirks/philips/perifo.py diff --git a/zhaquirks/philips/hue.py b/zhaquirks/philips/hue.py index 42dd13e071..c6d5ec9ad2 100644 --- a/zhaquirks/philips/hue.py +++ b/zhaquirks/philips/hue.py @@ -96,6 +96,20 @@ .add_to_registry() ) +( + QuirkBuilder() + .applies_to(SIGNIFY, "929003116301") + .applies_to(SIGNIFY, "929003116401") + .applies_to(SIGNIFY, "929003116501") + .applies_to(SIGNIFY, "929003116601") + .friendly_name( + model="Hue Perifo Light Tube", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + ( QuirkBuilder() .applies_to(PHILIPS, "7602031P7") diff --git a/zhaquirks/philips/perifo.py b/zhaquirks/philips/perifo.py deleted file mode 100644 index 448df83a7c..0000000000 --- a/zhaquirks/philips/perifo.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Hue Perifo device.""" - -from zigpy.quirks.v2 import QuirkBuilder - -from zhaquirks.philips import SIGNIFY, PhilipsHueCluster - -( - QuirkBuilder() - .applies_to(SIGNIFY, "929003116301") - .applies_to(SIGNIFY, "929003116401") - .applies_to(SIGNIFY, "929003116501") - .applies_to(SIGNIFY, "929003116601") - .friendly_name( - model="Hue Perifo Light Tube", - manufacturer="Philips", - ) - .replaces(PhilipsHueCluster, endpoint_id=11) - .add_to_registry() -) From df2cdf5bbd2f53802b7b43f5f860ed2ae8f7ecd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Jagie=C5=82=C5=82o?= Date: Thu, 23 Jan 2025 08:30:30 +0100 Subject: [PATCH 13/16] Update zhaquirks/philips/hue.py Co-authored-by: Jacob Bandes-Storch --- zhaquirks/philips/hue.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/zhaquirks/philips/hue.py b/zhaquirks/philips/hue.py index c6d5ec9ad2..7657b64850 100644 --- a/zhaquirks/philips/hue.py +++ b/zhaquirks/philips/hue.py @@ -33,6 +33,17 @@ .add_to_registry() ) +( + QuirkBuilder() + .applies_to(SIGNIFY, "LTB003") + .friendly_name( + model="Hue White Ambiance BR30 E26", + manufacturer="Philips", + ) + .replaces(PhilipsHueCluster, endpoint_id=11) + .add_to_registry() +) + ( QuirkBuilder() .applies_to(SIGNIFY, "929003116301") From fdf5f81193daf558b567bdc002b6ca2ebfa941c4 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sun, 26 Jan 2025 10:11:03 +0100 Subject: [PATCH 14/16] Normalize the friendly names --- zhaquirks/philips/hue.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/zhaquirks/philips/hue.py b/zhaquirks/philips/hue.py index 7657b64850..4e53e3f427 100644 --- a/zhaquirks/philips/hue.py +++ b/zhaquirks/philips/hue.py @@ -12,7 +12,7 @@ .applies_to(SIGNIFY, "LCX005") .applies_to(SIGNIFY, "LCX006") .friendly_name( - model="Hue Play Gradient Lightstrip", + model="Hue Play gradient lightstrip", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -26,7 +26,7 @@ .applies_to(SIGNIFY, "LCX016") .applies_to(SIGNIFY, "LCX017") .friendly_name( - model="Hue Festavia Gradient Light String", + model="Hue Festavia gradient light string", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -51,7 +51,7 @@ .applies_to(SIGNIFY, "929003116501") .applies_to(SIGNIFY, "929003116601") .friendly_name( - model="Hue Perifo Light Tube", + model="Hue Perifo light tube", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -70,7 +70,7 @@ .applies_to(SIGNIFY, "929003479601") .applies_to(SIGNIFY, "929003479701") .friendly_name( - model="Hue Signe Gradient Floor Lamp", + model="Hue Signe gradient floor lamp", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -84,7 +84,7 @@ .applies_to(SIGNIFY, "915005987401") .applies_to(SIGNIFY, "915005987301") .friendly_name( - model="Hue Signe Gradient Table Lamp", + model="Hue Signe gradient table lamp", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -100,7 +100,7 @@ .applies_to(SIGNIFY, "915005988401") .applies_to(SIGNIFY, "915005988501") .friendly_name( - model="Hue Play Gradient Light Tube", + model="Hue Play gradient light tube", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) @@ -114,7 +114,7 @@ .applies_to(SIGNIFY, "929003116501") .applies_to(SIGNIFY, "929003116601") .friendly_name( - model="Hue Perifo Light Tube", + model="Hue Perifo light tube", manufacturer="Philips", ) .replaces(PhilipsHueCluster, endpoint_id=11) From 601d0ad815f54d20ed52e2d1697b9421109f6938 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sun, 26 Jan 2025 20:48:29 +0100 Subject: [PATCH 15/16] Rename everything 'hue' to 'hue light' --- zhaquirks/philips/__init__.py | 6 +++--- zhaquirks/philips/{hue.py => hue_light.py} | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) rename zhaquirks/philips/{hue.py => hue_light.py} (84%) diff --git a/zhaquirks/philips/__init__.py b/zhaquirks/philips/__init__.py index 8a014c89e6..9bad0f0ee7 100644 --- a/zhaquirks/philips/__init__.py +++ b/zhaquirks/philips/__init__.py @@ -347,12 +347,12 @@ class PhilipsRwlRemoteCluster(PhilipsRemoteCluster): } -class PhilipsHueCluster(CustomCluster): +class PhilipsHueLightCluster(CustomCluster): """Philips Hue manufacturer cluster.""" cluster_id: Final[t.uint16_t] = 0xFC03 - ep_attribute: Final[str] = "philips_hue_cluster" - name: Final[str] = "PhilipsHueCluster" + ep_attribute: Final[str] = "philips_hue_light_cluster" + name: Final[str] = "PhilipsHueLightCluster" class ServerCommandDefs(BaseCommandDefs): """Server command definitions.""" diff --git a/zhaquirks/philips/hue.py b/zhaquirks/philips/hue_light.py similarity index 84% rename from zhaquirks/philips/hue.py rename to zhaquirks/philips/hue_light.py index 4e53e3f427..2b1e07dea8 100644 --- a/zhaquirks/philips/hue.py +++ b/zhaquirks/philips/hue_light.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PHILIPS, SIGNIFY, PhilipsHueCluster +from zhaquirks.philips import PHILIPS, SIGNIFY, PhilipsHueLightClust ( QuirkBuilder() @@ -15,7 +15,7 @@ model="Hue Play gradient lightstrip", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -29,7 +29,7 @@ model="Hue Festavia gradient light string", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -40,7 +40,7 @@ model="Hue White Ambiance BR30 E26", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -54,7 +54,7 @@ model="Hue Perifo light tube", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -73,7 +73,7 @@ model="Hue Signe gradient floor lamp", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -87,7 +87,7 @@ model="Hue Signe gradient table lamp", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -103,7 +103,7 @@ model="Hue Play gradient light tube", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -117,7 +117,7 @@ model="Hue Perifo light tube", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) @@ -129,6 +129,6 @@ model="Hue Go", manufacturer="Philips", ) - .replaces(PhilipsHueCluster, endpoint_id=11) + .replaces(PhilipsHueLightClust, endpoint_id=11) .add_to_registry() ) From 7a02e38351984edc7f400b811c66af6c6a59bb38 Mon Sep 17 00:00:00 2001 From: Krzysztof Jagiello Date: Sun, 26 Jan 2025 20:50:49 +0100 Subject: [PATCH 16/16] fixup! Rename everything 'hue' to 'hue light' --- zhaquirks/philips/hue_light.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/zhaquirks/philips/hue_light.py b/zhaquirks/philips/hue_light.py index 2b1e07dea8..8e4b01605d 100644 --- a/zhaquirks/philips/hue_light.py +++ b/zhaquirks/philips/hue_light.py @@ -2,7 +2,7 @@ from zigpy.quirks.v2 import QuirkBuilder -from zhaquirks.philips import PHILIPS, SIGNIFY, PhilipsHueLightClust +from zhaquirks.philips import PHILIPS, SIGNIFY, PhilipsHueLightCluster ( QuirkBuilder() @@ -15,7 +15,7 @@ model="Hue Play gradient lightstrip", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -29,7 +29,7 @@ model="Hue Festavia gradient light string", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -40,7 +40,7 @@ model="Hue White Ambiance BR30 E26", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -54,7 +54,7 @@ model="Hue Perifo light tube", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -73,7 +73,7 @@ model="Hue Signe gradient floor lamp", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -87,7 +87,7 @@ model="Hue Signe gradient table lamp", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -103,7 +103,7 @@ model="Hue Play gradient light tube", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -117,7 +117,7 @@ model="Hue Perifo light tube", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() ) @@ -129,6 +129,6 @@ model="Hue Go", manufacturer="Philips", ) - .replaces(PhilipsHueLightClust, endpoint_id=11) + .replaces(PhilipsHueLightCluster, endpoint_id=11) .add_to_registry() )