diff --git a/homeassistant/components/rehlko/icons.json b/homeassistant/components/rehlko/icons.json index cb409eba14f..309fc2ffd27 100644 --- a/homeassistant/components/rehlko/icons.json +++ b/homeassistant/components/rehlko/icons.json @@ -12,6 +12,12 @@ }, "server_ip_address": { "default": "mdi:server-network" + }, + "generator_status": { + "default": "mdi:home-lightning-bolt" + }, + "power_source": { + "default": "mdi:transmission-tower" } } } diff --git a/homeassistant/components/rehlko/sensor.py b/homeassistant/components/rehlko/sensor.py index c2841e5e435..d19e37d648a 100644 --- a/homeassistant/components/rehlko/sensor.py +++ b/homeassistant/components/rehlko/sensor.py @@ -168,6 +168,20 @@ SENSORS: tuple[RehlkoSensorEntityDescription, ...] = ( state_class=SensorStateClass.MEASUREMENT, entity_category=EntityCategory.DIAGNOSTIC, ), + RehlkoSensorEntityDescription( + key="status", + translation_key="generator_status", + use_device_key=True, + ), + RehlkoSensorEntityDescription( + key="engineState", + translation_key="engine_state", + ), + RehlkoSensorEntityDescription( + key="powerSource", + icon="mdi:home-lightning-bolt", + translation_key="power_source", + ), ) diff --git a/homeassistant/components/rehlko/strings.json b/homeassistant/components/rehlko/strings.json index e37f3e8684e..6b842173558 100644 --- a/homeassistant/components/rehlko/strings.json +++ b/homeassistant/components/rehlko/strings.json @@ -82,6 +82,15 @@ }, "generator_load_percent": { "name": "Generator load percentage" + }, + "engine_state": { + "name": "Engine state" + }, + "power_source": { + "name": "Power source" + }, + "generator_status": { + "name": "Generator status" } } }, diff --git a/tests/components/rehlko/snapshots/test_sensor.ambr b/tests/components/rehlko/snapshots/test_sensor.ambr index 17bb2524b35..c6cab36ba21 100644 --- a/tests/components/rehlko/snapshots/test_sensor.ambr +++ b/tests/components/rehlko/snapshots/test_sensor.ambr @@ -412,6 +412,53 @@ 'state': '0', }) # --- +# name: test_sensors[sensor.generator_1_engine_state-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.generator_1_engine_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Engine state', + 'platform': 'rehlko', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'engine_state', + 'unique_id': 'myemail@email.com_12345_engineState', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.generator_1_engine_state-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Generator 1 Engine state', + }), + 'context': , + 'entity_id': 'sensor.generator_1_engine_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'Standby', + }) +# --- # name: test_sensors[sensor.generator_1_generator_load-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -515,6 +562,53 @@ 'state': '0', }) # --- +# name: test_sensors[sensor.generator_1_generator_status-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.generator_1_generator_status', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Generator status', + 'platform': 'rehlko', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'generator_status', + 'unique_id': 'myemail@email.com_12345_status', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.generator_1_generator_status-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Generator 1 Generator status', + }), + 'context': , + 'entity_id': 'sensor.generator_1_generator_status', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'ReadyToRun', + }) +# --- # name: test_sensors[sensor.generator_1_lube_oil_temperature-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -567,6 +661,54 @@ 'state': '6.0', }) # --- +# name: test_sensors[sensor.generator_1_power_source-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.generator_1_power_source', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:home-lightning-bolt', + 'original_name': 'Power source', + 'platform': 'rehlko', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'power_source', + 'unique_id': 'myemail@email.com_12345_powerSource', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.generator_1_power_source-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Generator 1 Power source', + 'icon': 'mdi:home-lightning-bolt', + }), + 'context': , + 'entity_id': 'sensor.generator_1_power_source', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'Utility', + }) +# --- # name: test_sensors[sensor.generator_1_runtime_since_last_maintenance-entry] EntityRegistryEntrySnapshot({ 'aliases': set({