diff --git a/homeassistant/components/flexit_bacnet/icons.json b/homeassistant/components/flexit_bacnet/icons.json index a0c5ccd5a6e..d03cffab9ad 100644 --- a/homeassistant/components/flexit_bacnet/icons.json +++ b/homeassistant/components/flexit_bacnet/icons.json @@ -47,6 +47,12 @@ "state": { "off": "mdi:fireplace-off" } + }, + "cooker_hood_mode": { + "default": "mdi:kettle-steam", + "state": { + "off": "mdi:kettle" + } } } } diff --git a/homeassistant/components/flexit_bacnet/strings.json b/homeassistant/components/flexit_bacnet/strings.json index 8888b02a3ef..f7c54c88050 100644 --- a/homeassistant/components/flexit_bacnet/strings.json +++ b/homeassistant/components/flexit_bacnet/strings.json @@ -110,6 +110,9 @@ }, "fireplace_mode": { "name": "Fireplace mode" + }, + "cooker_hood_mode": { + "name": "Cooker hood mode" } } } diff --git a/homeassistant/components/flexit_bacnet/switch.py b/homeassistant/components/flexit_bacnet/switch.py index 1ceb6aefcdd..af6066410a1 100644 --- a/homeassistant/components/flexit_bacnet/switch.py +++ b/homeassistant/components/flexit_bacnet/switch.py @@ -47,6 +47,13 @@ SWITCHES: tuple[FlexitSwitchEntityDescription, ...] = ( turn_on_fn=lambda data: data.trigger_fireplace_mode(), turn_off_fn=lambda data: data.trigger_fireplace_mode(), ), + FlexitSwitchEntityDescription( + key="cooker_hood_mode", + translation_key="cooker_hood_mode", + is_on_fn=lambda data: data.cooker_hood_status, + turn_on_fn=lambda data: data.activate_cooker_hood(), + turn_off_fn=lambda data: data.deactivate_cooker_hood(), + ), ) diff --git a/tests/components/flexit_bacnet/snapshots/test_switch.ambr b/tests/components/flexit_bacnet/snapshots/test_switch.ambr index 3d931dd7753..0e27c2e938a 100644 --- a/tests/components/flexit_bacnet/snapshots/test_switch.ambr +++ b/tests/components/flexit_bacnet/snapshots/test_switch.ambr @@ -1,4 +1,52 @@ # serializer version: 1 +# name: test_switches[switch.device_name_cooker_hood_mode-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': None, + 'entity_id': 'switch.device_name_cooker_hood_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Cooker hood mode', + 'platform': 'flexit_bacnet', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'cooker_hood_mode', + 'unique_id': '0000-0001-cooker_hood_mode', + 'unit_of_measurement': None, + }) +# --- +# name: test_switches[switch.device_name_cooker_hood_mode-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'switch', + 'friendly_name': 'Device Name Cooker hood mode', + }), + 'context': , + 'entity_id': 'switch.device_name_cooker_hood_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_switches[switch.device_name_electric_heater-entry] EntityRegistryEntrySnapshot({ 'aliases': set({