Use total increasing for ecowitt precipitation and lightning count (#90099)

This commit is contained in:
Paul Bottein 2023-06-27 19:32:06 +02:00 committed by GitHub
parent 8d6a711cac
commit 8b25fd8563
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -125,7 +125,7 @@ ECOWITT_SENSORS_MAPPING: Final = {
EcoWittSensorTypes.LIGHTNING_COUNT: SensorEntityDescription(
key="LIGHTNING_COUNT",
native_unit_of_measurement="strikes",
state_class=SensorStateClass.TOTAL,
state_class=SensorStateClass.TOTAL_INCREASING,
),
EcoWittSensorTypes.TEMPERATURE_C: SensorEntityDescription(
key="TEMPERATURE_C",
@ -143,13 +143,13 @@ ECOWITT_SENSORS_MAPPING: Final = {
key="RAIN_COUNT_MM",
native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS,
device_class=SensorDeviceClass.PRECIPITATION,
state_class=SensorStateClass.TOTAL,
state_class=SensorStateClass.TOTAL_INCREASING,
),
EcoWittSensorTypes.RAIN_COUNT_INCHES: SensorEntityDescription(
key="RAIN_COUNT_INCHES",
native_unit_of_measurement=UnitOfPrecipitationDepth.INCHES,
device_class=SensorDeviceClass.PRECIPITATION,
state_class=SensorStateClass.TOTAL,
state_class=SensorStateClass.TOTAL_INCREASING,
),
EcoWittSensorTypes.RAIN_RATE_MM: SensorEntityDescription(
key="RAIN_RATE_MM",
@ -230,6 +230,13 @@ async def async_setup_entry(
name=sensor.name,
)
# Hourly rain doesn't reset to fixed hours, it must be measurement state classes
if sensor.key in ("hrain_piezomm", "hrain_piezo"):
description = dataclasses.replace(
description,
state_class=SensorStateClass.MEASUREMENT,
)
async_add_entities([EcowittSensorEntity(sensor, description)])
ecowitt.new_sensor_cb.append(_new_sensor)