From 36ad9a25e39b46e49a644903ce69cb0745f0faac Mon Sep 17 00:00:00 2001 From: Xiaonan Shen Date: Tue, 12 May 2020 18:10:17 -0700 Subject: [PATCH] Fix synology temperature rounding (#35556) * Fix synology temperature rounding * Remove stale comment --- homeassistant/components/synology_dsm/__init__.py | 2 -- homeassistant/components/synology_dsm/sensor.py | 11 ++++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/synology_dsm/__init__.py b/homeassistant/components/synology_dsm/__init__.py index 39ce1547a2c..b2ff2d2e8ef 100644 --- a/homeassistant/components/synology_dsm/__init__.py +++ b/homeassistant/components/synology_dsm/__init__.py @@ -121,8 +121,6 @@ class SynoApi: self._hass = hass self._entry = entry - self.temp_unit = hass.config.units.temperature_unit - self.dsm: SynologyDSM = None self.information: SynoDSMInformation = None self.utilisation: SynoCoreUtilization = None diff --git a/homeassistant/components/synology_dsm/sensor.py b/homeassistant/components/synology_dsm/sensor.py index e776f5e97e3..81873cad4cd 100644 --- a/homeassistant/components/synology_dsm/sensor.py +++ b/homeassistant/components/synology_dsm/sensor.py @@ -8,12 +8,13 @@ from homeassistant.const import ( DATA_MEGABYTES, DATA_RATE_KILOBYTES_PER_SECOND, DATA_TERABYTES, + PRECISION_TENTHS, TEMP_CELSIUS, ) from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.entity import Entity +from homeassistant.helpers.temperature import display_temp from homeassistant.helpers.typing import HomeAssistantType -from homeassistant.util.temperature import celsius_to_fahrenheit from . import SynoApi from .const import ( @@ -109,7 +110,7 @@ class SynoNasSensor(Entity): def unit_of_measurement(self) -> str: """Return the unit the value is expressed in.""" if self.sensor_type in TEMP_SENSORS_KEYS: - return self._api.temp_unit + return self.hass.config.units.temperature_unit return self._unit @property @@ -186,12 +187,8 @@ class SynoNasStorageSensor(SynoNasSensor): return round(attr / 1024.0 ** 4, 2) # Temperature - if self._api.temp_unit == TEMP_CELSIUS: - # Celsius - return attr if self.sensor_type in TEMP_SENSORS_KEYS: - # Fahrenheit - return celsius_to_fahrenheit(attr) + return display_temp(self.hass, attr, TEMP_CELSIUS, PRECISION_TENTHS) return attr