Add generator status sensors for Rehlko (#143948)

This commit is contained in:
Pete Sage 2025-04-30 08:55:12 -04:00 committed by GitHub
parent d606e86b47
commit 57a7c26c64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 171 additions and 0 deletions

View File

@ -12,6 +12,12 @@
},
"server_ip_address": {
"default": "mdi:server-network"
},
"generator_status": {
"default": "mdi:home-lightning-bolt"
},
"power_source": {
"default": "mdi:transmission-tower"
}
}
}

View File

@ -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",
),
)

View File

@ -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"
}
}
},

View File

@ -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': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'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': <ANY>,
'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': <ANY>,
'entity_id': 'sensor.generator_1_engine_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'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': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'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': <ANY>,
'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': <ANY>,
'entity_id': 'sensor.generator_1_generator_status',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'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': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'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': <ANY>,
'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': <ANY>,
'entity_id': 'sensor.generator_1_power_source',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'Utility',
})
# ---
# name: test_sensors[sensor.generator_1_runtime_since_last_maintenance-entry]
EntityRegistryEntrySnapshot({
'aliases': set({