indi_allsky: Refine sensor name (#182932)

This commit is contained in:
Hamish
2026-09-22 19:15:54 +02:00
committed by GitHub
parent 61e75ab87d
commit 67fc612109
4 changed files with 66 additions and 62 deletions
@@ -75,7 +75,8 @@ SENSOR_DESCRIPTIONS: tuple[IndiAllSkySensorEntityDescription, ...] = (
value_fn=lambda data: data.exposure.stars if data.exposure else None,
),
IndiAllSkySensorEntityDescription(
key="temperature",
key="camera_sensor_temp",
translation_key="camera_sensor_temp",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
state_class=SensorStateClass.MEASUREMENT,
@@ -31,6 +31,9 @@
"binmode": {
"name": "Binning mode"
},
"camera_sensor_temp": {
"name": "Camera sensor temperature"
},
"exposure": {
"name": "Exposure time"
},
@@ -49,6 +49,64 @@
'state': 'unknown',
})
# ---
# name: test_sensor_setup_and_states[sensor.indi_allsky_camera_sensor_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
<SensorEntityCapabilityAttribute.STATE_CLASS: 'state_class'>: <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'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.indi_allsky_camera_sensor_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Camera sensor temperature',
'options': dict({
'sensor': dict({
'suggested_display_precision': 1,
}),
}),
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
'original_icon': None,
'original_name': 'Camera sensor temperature',
'platform': 'indi_allsky',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'camera_sensor_temp',
'unique_id': '1234567890abcdef1234567890abcdef_camera_sensor_temp',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
# name: test_sensor_setup_and_states[sensor.indi_allsky_camera_sensor_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'temperature',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'INDI Allsky Camera sensor temperature',
<SensorEntityCapabilityAttribute.STATE_CLASS: 'state_class'>: <SensorStateClass.MEASUREMENT: 'measurement'>,
<EntityStateAttribute.UNIT_OF_MEASUREMENT: 'unit_of_measurement'>: <UnitOfTemperature.CELSIUS: '°C'>,
}),
'context': <ANY>,
'entity_id': 'sensor.indi_allsky_camera_sensor_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensor_setup_and_states[sensor.indi_allsky_exposure_time-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
@@ -313,61 +371,3 @@
'state': 'unknown',
})
# ---
# name: test_sensor_setup_and_states[sensor.indi_allsky_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
<SensorEntityCapabilityAttribute.STATE_CLASS: 'state_class'>: <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'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.indi_allsky_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Temperature',
'options': dict({
'sensor': dict({
'suggested_display_precision': 1,
}),
}),
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
'original_icon': None,
'original_name': 'Temperature',
'platform': 'indi_allsky',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '1234567890abcdef1234567890abcdef_temperature',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
# name: test_sensor_setup_and_states[sensor.indi_allsky_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
<EntityStateAttribute.DEVICE_CLASS: 'device_class'>: 'temperature',
<EntityStateAttribute.FRIENDLY_NAME: 'friendly_name'>: 'INDI Allsky Temperature',
<SensorEntityCapabilityAttribute.STATE_CLASS: 'state_class'>: <SensorStateClass.MEASUREMENT: 'measurement'>,
<EntityStateAttribute.UNIT_OF_MEASUREMENT: 'unit_of_measurement'>: <UnitOfTemperature.CELSIUS: '°C'>,
}),
'context': <ANY>,
'entity_id': 'sensor.indi_allsky_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
+3 -3
View File
@@ -54,9 +54,9 @@ async def test_disabled_sensors(
for entity_id in (
"sensor.indi_allsky_exposure_time",
"sensor.indi_allsky_camera_sensor_temperature",
"sensor.indi_allsky_sky_quality",
"sensor.indi_allsky_stars",
"sensor.indi_allsky_temperature",
):
entry = entity_registry.async_get(entity_id)
assert entry is not None
@@ -105,7 +105,7 @@ async def test_sensor_updates(
assert state is not None
assert state.state == "0.185"
state = hass.states.get("sensor.indi_allsky_temperature")
state = hass.states.get("sensor.indi_allsky_camera_sensor_temperature")
assert state is not None
assert state.state == STATE_UNKNOWN
@@ -133,6 +133,6 @@ async def test_sensor_updates(
callback(replace(mock_exposure_data, temp=12.5))
await hass.async_block_till_done()
state = hass.states.get("sensor.indi_allsky_temperature")
state = hass.states.get("sensor.indi_allsky_camera_sensor_temperature")
assert state is not None
assert state.state == "12.5"