diff --git a/README.md b/README.md index 75194e5..6414254 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ All available devices (Light, Controller, Outlet, ...) consist of the core data ```python id: str +relation_id: Optional[str] = None type: str device_type: str created_at: datetime.datetime @@ -261,6 +262,7 @@ The controller object has the following attributes (additional to the core attri ```python is_on: bool battery_percentage: Optional[int] = None +switch_label: Optional[str] = None ``` Available methods for controller are: diff --git a/src/dirigera/devices/controller.py b/src/dirigera/devices/controller.py index f1ebb70..9519548 100644 --- a/src/dirigera/devices/controller.py +++ b/src/dirigera/devices/controller.py @@ -7,6 +7,7 @@ class ControllerAttributes(Attributes): is_on: bool battery_percentage: Optional[int] = None + switch_label: Optional[str] = None class Controller(Device): diff --git a/src/dirigera/devices/scene.py b/src/dirigera/devices/scene.py index 45c16a9..414a2cd 100644 --- a/src/dirigera/devices/scene.py +++ b/src/dirigera/devices/scene.py @@ -81,6 +81,7 @@ class SceneType(Enum): USER_SCENE = "userScene" CUSTOM_SCENE = "customScene" PLAYLIST_SCENE = "playlistScene" + WAKEUP_SCENE = "wakeUpScene" class Scene(BaseIkeaModel): diff --git a/tests/test_controller.py b/tests/test_controller.py index 0ec3478..22642d4 100644 --- a/tests/test_controller.py +++ b/tests/test_controller.py @@ -165,6 +165,10 @@ def test_dict_to_controller(fake_client: FakeDirigeraHub) -> None: controller = dict_to_controller(somrig_button_1, fake_client) assert controller.relation_id == somrig_button_1["relationId"] + assert ( + controller.attributes.switch_label + == somrig_button_1["attributes"]["switchLabel"] + ) somrig_button_2: Dict[str, Any] = { "id": "1111aaaa-1111-1111-aa11-1a1aa1a111a1_2", @@ -210,3 +214,7 @@ def test_dict_to_controller(fake_client: FakeDirigeraHub) -> None: controller = dict_to_controller(somrig_button_2, fake_client) assert controller.relation_id == somrig_button_2["relationId"] + assert ( + controller.attributes.switch_label + == somrig_button_2["attributes"]["switchLabel"] + )