From 1aef60c81cfdc73231f9c6ddfed33e62377da6eb Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Thu, 18 Aug 2022 07:33:38 -0400 Subject: [PATCH] Add screen on/off switch to Fully Kiosk Browser integration (#76957) --- homeassistant/components/fully_kiosk/switch.py | 7 +++++++ tests/components/fully_kiosk/test_switch.py | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/homeassistant/components/fully_kiosk/switch.py b/homeassistant/components/fully_kiosk/switch.py index 7dfcc1e71ac..581700c87d6 100644 --- a/homeassistant/components/fully_kiosk/switch.py +++ b/homeassistant/components/fully_kiosk/switch.py @@ -66,6 +66,13 @@ SWITCHES: tuple[FullySwitchEntityDescription, ...] = ( off_action=lambda fully: fully.disableMotionDetection(), is_on_fn=lambda data: data["settings"].get("motionDetection"), ), + FullySwitchEntityDescription( + key="screenOn", + name="Screen", + on_action=lambda fully: fully.screenOn(), + off_action=lambda fully: fully.screenOff(), + is_on_fn=lambda data: data.get("screenOn"), + ), ) diff --git a/tests/components/fully_kiosk/test_switch.py b/tests/components/fully_kiosk/test_switch.py index 6b6d2829790..8da01ff2fe9 100644 --- a/tests/components/fully_kiosk/test_switch.py +++ b/tests/components/fully_kiosk/test_switch.py @@ -61,6 +61,17 @@ async def test_switches( await call_service(hass, "turn_off", "switch.amazon_fire_motion_detection") assert len(mock_fully_kiosk.disableMotionDetection.mock_calls) == 1 + entity = hass.states.get("switch.amazon_fire_screen") + assert entity + assert entity.state == "on" + entry = entity_registry.async_get("switch.amazon_fire_screen") + assert entry + assert entry.unique_id == "abcdef-123456-screenOn" + await call_service(hass, "turn_off", "switch.amazon_fire_screen") + assert len(mock_fully_kiosk.screenOff.mock_calls) == 1 + await call_service(hass, "turn_on", "switch.amazon_fire_screen") + assert len(mock_fully_kiosk.screenOn.mock_calls) == 1 + assert entry.device_id device_entry = device_registry.async_get(entry.device_id) assert device_entry