Add rising sensor to sun (#93276)

pull/101782/head
Sheldon Ip 2023-10-10 20:12:43 +01:00 committed by GitHub
parent b932c67eb7
commit 6c65db2036
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 1 deletions

View File

@ -108,6 +108,14 @@ SENSOR_TYPES: tuple[SunSensorEntityDescription, ...] = (
native_unit_of_measurement=DEGREE,
signal=SIGNAL_POSITION_CHANGED,
),
SunSensorEntityDescription(
key="solar_rising",
translation_key="solar_rising",
icon="mdi:sun-clock",
value_fn=lambda data: data.rising,
entity_registry_enabled_default=False,
signal=SIGNAL_EVENTS_CHANGED,
),
)

View File

@ -28,7 +28,8 @@
"next_rising": { "name": "Next rising" },
"next_setting": { "name": "Next setting" },
"solar_azimuth": { "name": "Solar azimuth" },
"solar_elevation": { "name": "Solar elevation" }
"solar_elevation": { "name": "Solar elevation" },
"solar_rising": { "name": "Solar rising" }
}
}
}

View File

@ -138,3 +138,43 @@ async def test_setting_rising(
assert (
solar_azimuth_state.state != hass.states.get("sensor.sun_solar_azimuth").state
)
entity = entity_reg.async_get("sensor.sun_next_dusk")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-next_dusk"
entity = entity_reg.async_get("sensor.sun_next_midnight")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-next_midnight"
entity = entity_reg.async_get("sensor.sun_next_noon")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-next_noon"
entity = entity_reg.async_get("sensor.sun_next_rising")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-next_rising"
entity = entity_reg.async_get("sensor.sun_next_setting")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-next_setting"
entity = entity_reg.async_get("sensor.sun_solar_elevation")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-solar_elevation"
entity = entity_reg.async_get("sensor.sun_solar_azimuth")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-solar_azimuth"
entity = entity_reg.async_get("sensor.sun_solar_rising")
assert entity
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == f"{entry_ids[0].entry_id}-solar_rising"