Avoid rounding Starlink sensor data & instead allow configurable precision (#89486)

This commit is contained in:
Jack Boswell 2023-03-16 08:40:22 +13:00 committed by GitHub
parent 3aa5629665
commit b43b2eb3cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -66,7 +66,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
icon="mdi:speedometer", icon="mdi:speedometer",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.MILLISECONDS, native_unit_of_measurement=UnitOfTime.MILLISECONDS,
value_fn=lambda data: round(data.status["pop_ping_latency_ms"]), suggested_display_precision=0,
value_fn=lambda data: data.status["pop_ping_latency_ms"],
), ),
StarlinkSensorEntityDescription( StarlinkSensorEntityDescription(
key="azimuth", key="azimuth",
@ -76,7 +77,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
native_unit_of_measurement=DEGREE, native_unit_of_measurement=DEGREE,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda data: round(data.status["direction_azimuth"]), suggested_display_precision=0,
value_fn=lambda data: data.status["direction_azimuth"],
), ),
StarlinkSensorEntityDescription( StarlinkSensorEntityDescription(
key="elevation", key="elevation",
@ -86,7 +88,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
native_unit_of_measurement=DEGREE, native_unit_of_measurement=DEGREE,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda data: round(data.status["direction_elevation"]), suggested_display_precision=0,
value_fn=lambda data: data.status["direction_elevation"],
), ),
StarlinkSensorEntityDescription( StarlinkSensorEntityDescription(
key="uplink_throughput", key="uplink_throughput",
@ -95,7 +98,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.DATA_RATE, device_class=SensorDeviceClass.DATA_RATE,
native_unit_of_measurement=UnitOfDataRate.BITS_PER_SECOND, native_unit_of_measurement=UnitOfDataRate.BITS_PER_SECOND,
value_fn=lambda data: round(data.status["uplink_throughput_bps"]), suggested_display_precision=0,
value_fn=lambda data: data.status["uplink_throughput_bps"],
), ),
StarlinkSensorEntityDescription( StarlinkSensorEntityDescription(
key="downlink_throughput", key="downlink_throughput",
@ -104,7 +108,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.DATA_RATE, device_class=SensorDeviceClass.DATA_RATE,
native_unit_of_measurement=UnitOfDataRate.BITS_PER_SECOND, native_unit_of_measurement=UnitOfDataRate.BITS_PER_SECOND,
value_fn=lambda data: round(data.status["downlink_throughput_bps"]), suggested_display_precision=0,
value_fn=lambda data: data.status["downlink_throughput_bps"],
), ),
StarlinkSensorEntityDescription( StarlinkSensorEntityDescription(
key="last_boot_time", key="last_boot_time",