From 528eef9fef0854cd0c22b936b0da8a0266bd23b9 Mon Sep 17 00:00:00 2001 From: BetaRavener Date: Tue, 21 Jan 2025 20:50:01 +0100 Subject: [PATCH 1/2] 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 2/2] 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",