From b43b2eb3cb67876d9015cad5913fa93df7bba53e Mon Sep 17 00:00:00 2001 From: Jack Boswell Date: Thu, 16 Mar 2023 08:40:22 +1300 Subject: [PATCH] Avoid rounding Starlink sensor data & instead allow configurable precision (#89486) --- homeassistant/components/starlink/sensor.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/starlink/sensor.py b/homeassistant/components/starlink/sensor.py index bb84f032242..79cd5ca3895 100644 --- a/homeassistant/components/starlink/sensor.py +++ b/homeassistant/components/starlink/sensor.py @@ -66,7 +66,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = ( icon="mdi:speedometer", state_class=SensorStateClass.MEASUREMENT, 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( key="azimuth", @@ -76,7 +77,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, native_unit_of_measurement=DEGREE, 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( key="elevation", @@ -86,7 +88,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, native_unit_of_measurement=DEGREE, 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( key="uplink_throughput", @@ -95,7 +98,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = ( state_class=SensorStateClass.MEASUREMENT, device_class=SensorDeviceClass.DATA_RATE, 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( key="downlink_throughput", @@ -104,7 +108,8 @@ SENSORS: tuple[StarlinkSensorEntityDescription, ...] = ( state_class=SensorStateClass.MEASUREMENT, device_class=SensorDeviceClass.DATA_RATE, 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( key="last_boot_time",