Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion zhaquirks/philips/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 ZCLAttributeDef
from zigpy.zcl.foundation import (
BaseCommandDefs,
Direction,
ZCLAttributeDef,
ZCLCommandDef,
)

from zhaquirks.const import (
ARGS,
Expand Down Expand Up @@ -340,3 +345,21 @@ class PhilipsRwlRemoteCluster(PhilipsRemoteCluster):
3: Button("down", DIM_DOWN),
4: Button("off", TURN_OFF),
}


class PhilipsHueCluster(CustomCluster):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would renaming this to PhilipsLightCluster or PhilipsHueLightCluster make sense?

"""Philips Hue manufacturer cluster."""

cluster_id: Final[t.uint16_t] = 0xFC03
ep_attribute: Final[str] = "philips_hue_cluster"
name: Final[str] = "PhilipsHueCluster"

class ServerCommandDefs(BaseCommandDefs):
"""Server command definitions."""

multicolor: Final = ZCLCommandDef(
id=0x00,
schema={"data": t.SerializableBytes},
direction=Direction.Client_to_Server,
is_manufacturer_specific=True,
)
12 changes: 12 additions & 0 deletions zhaquirks/philips/hue_go.py
Original file line number Diff line number Diff line change
@@ -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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0001.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0002.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0003.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0005.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0006.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0012.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""Signify LCX012 device."""

from zigpy.quirks.v2 import QuirkBuilder

from zhaquirks.philips import PhilipsHueCluster

(
QuirkBuilder("Signify Netherlands B.V.", "LCX012")
.friendly_name(
model="Hue Festavia Gradient Light String 250 (1st-gen)",
manufacturer="Philips",
)
.replaces(PhilipsHueCluster, endpoint_id=11)
.add_to_registry()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0015.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0016.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
15 changes: 15 additions & 0 deletions zhaquirks/philips/lcx0017.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""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()
)
19 changes: 19 additions & 0 deletions zhaquirks/philips/perifo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""Hue Perifo device."""

from zigpy.quirks.v2 import QuirkBuilder

from zhaquirks.philips import 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")
.friendly_name(
model="Hue Perifo Light Tube",
manufacturer="Philips",
)
.replaces(PhilipsHueCluster, endpoint_id=11)
.add_to_registry()
)
24 changes: 24 additions & 0 deletions zhaquirks/philips/signe_floor.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""Hue Signe Fradient Floor Lamp device."""

from zigpy.quirks.v2 import QuirkBuilder

from zhaquirks.philips import 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")
.friendly_name(
model="Hue Signe Gradient Floor Lamp",
manufacturer="Philips",
)
.replaces(PhilipsHueCluster, endpoint_id=11)
.add_to_registry()
)
19 changes: 19 additions & 0 deletions zhaquirks/philips/signe_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""Hue Signe Fradient Table Lamp device."""

from zigpy.quirks.v2 import QuirkBuilder

from zhaquirks.philips import 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")
.friendly_name(
model="Hue Signe Gradient Table Lamp",
manufacturer="Philips",
)
.replaces(PhilipsHueCluster, endpoint_id=11)
.add_to_registry()
)
21 changes: 21 additions & 0 deletions zhaquirks/philips/tube.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""Hue Play Gradient Light Tube device."""

from zigpy.quirks.v2 import QuirkBuilder

from zhaquirks.philips import 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")
.friendly_name(
model="Hue Play Gradient Light Tube",
manufacturer="Philips",
)
.replaces(PhilipsHueCluster, endpoint_id=11)
.add_to_registry()
)
Loading