From 10ea5a6c4a00b257361cf35257a0d5e438948c5f Mon Sep 17 00:00:00 2001 From: Dan Trickey Date: Sat, 10 Jul 2021 18:38:31 +0100 Subject: [PATCH] Lights can't have a scene set on them --- hue2mqtt/__init__.py | 2 +- hue2mqtt/hue2mqtt.py | 10 ++++++++-- hue2mqtt/schema.py | 5 +++++ pyproject.toml | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/hue2mqtt/__init__.py b/hue2mqtt/__init__.py index b29afda..e9e6a2b 100644 --- a/hue2mqtt/__init__.py +++ b/hue2mqtt/__init__.py @@ -8,4 +8,4 @@ "__version__", ] -__version__ = "0.2.0" +__version__ = "0.2.1" diff --git a/hue2mqtt/hue2mqtt.py b/hue2mqtt/hue2mqtt.py index d55558f..fd64e7a 100644 --- a/hue2mqtt/hue2mqtt.py +++ b/hue2mqtt/hue2mqtt.py @@ -20,7 +20,13 @@ from hue2mqtt import __version__ from hue2mqtt.messages import BridgeInfo, Hue2MQTTStatus -from hue2mqtt.schema import GroupInfo, LightInfo, LightSetState, SensorInfo +from hue2mqtt.schema import ( + GroupInfo, + GroupSetState, + LightInfo, + LightSetState, + SensorInfo, +) from .config import Hue2MQTTConfig from .mqtt.wrapper import MQTTWrapper @@ -177,7 +183,7 @@ async def handle_set_group(self, match: Match[str], payload: str) -> None: try: group = self._bridge.groups[groupid] - state = LightSetState(**json.loads(payload)) + state = GroupSetState(**json.loads(payload)) LOGGER.info(f"Updating group {group.name}") await group.set_action(**state.dict()) except IndexError: diff --git a/hue2mqtt/schema.py b/hue2mqtt/schema.py index bee1000..5b05710 100644 --- a/hue2mqtt/schema.py +++ b/hue2mqtt/schema.py @@ -28,6 +28,11 @@ class LightSetState(LightBaseState): hue_inc: Optional[int] ct_inc: Optional[int] xy_inc: Optional[int] + + +class GroupSetState(LightSetState): + """The settable states of a group.""" + scene: Optional[str] diff --git a/pyproject.toml b/pyproject.toml index 2d1f63c..3a38588 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "hue2mqtt" -version = "0.2.0" +version = "0.2.1" description = "Python Hue to MQTT Bridge" authors = ["Dan Trickey "] license = "MIT"