From 6e0ab35f85304dbcbddfd12991707bc0902a6d7f Mon Sep 17 00:00:00 2001 From: Luke Lashley Date: Thu, 21 Sep 2023 09:43:17 -0400 Subject: [PATCH] Add water shortage binary sensor (#100662) --- homeassistant/components/roborock/binary_sensor.py | 8 ++++++++ homeassistant/components/roborock/strings.json | 3 +++ tests/components/roborock/test_binary_sensor.py | 5 ++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/roborock/binary_sensor.py b/homeassistant/components/roborock/binary_sensor.py index d61c1ee14b9..320b0fc7c6d 100644 --- a/homeassistant/components/roborock/binary_sensor.py +++ b/homeassistant/components/roborock/binary_sensor.py @@ -61,6 +61,14 @@ BINARY_SENSOR_DESCRIPTIONS = [ entity_category=EntityCategory.DIAGNOSTIC, value_fn=lambda data: data.status.water_box_status, ), + RoborockBinarySensorDescription( + key="water_shortage", + translation_key="water_shortage", + icon="mdi:water", + device_class=BinarySensorDeviceClass.PROBLEM, + entity_category=EntityCategory.DIAGNOSTIC, + value_fn=lambda data: data.status.water_shortage_status, + ), ] diff --git a/homeassistant/components/roborock/strings.json b/homeassistant/components/roborock/strings.json index 92d53c2e6bd..982aa78518e 100644 --- a/homeassistant/components/roborock/strings.json +++ b/homeassistant/components/roborock/strings.json @@ -36,6 +36,9 @@ }, "water_box_attached": { "name": "Water box attached" + }, + "water_shortage": { + "name": "Water shortage" } }, "number": { diff --git a/tests/components/roborock/test_binary_sensor.py b/tests/components/roborock/test_binary_sensor.py index 310643355b0..4edf8ff4710 100644 --- a/tests/components/roborock/test_binary_sensor.py +++ b/tests/components/roborock/test_binary_sensor.py @@ -9,9 +9,12 @@ async def test_binary_sensors( hass: HomeAssistant, setup_entry: MockConfigEntry ) -> None: """Test binary sensors and check test values are correctly set.""" - assert len(hass.states.async_all("binary_sensor")) == 4 + assert len(hass.states.async_all("binary_sensor")) == 6 assert hass.states.get("binary_sensor.roborock_s7_maxv_mop_attached").state == "on" assert ( hass.states.get("binary_sensor.roborock_s7_maxv_water_box_attached").state == "on" ) + assert ( + hass.states.get("binary_sensor.roborock_s7_maxv_water_shortage").state == "off" + )