From 6da524b3785b0df47980d70abd6f9f7e43f3c172 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 20 Feb 2023 21:54:40 +1300 Subject: [PATCH] ESPHome: Add additional field for current temperature precision (#88464) --- homeassistant/components/esphome/climate.py | 8 ++++++-- homeassistant/components/esphome/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/esphome/climate.py b/homeassistant/components/esphome/climate.py index 058e557b1a8..991ad9d3b1b 100644 --- a/homeassistant/components/esphome/climate.py +++ b/homeassistant/components/esphome/climate.py @@ -142,8 +142,12 @@ class EsphomeClimateEntity(EsphomeEntity[ClimateInfo, ClimateState], ClimateEnti def precision(self) -> float: """Return the precision of the climate device.""" precicions = [PRECISION_WHOLE, PRECISION_HALVES, PRECISION_TENTHS] + if self._static_info.visual_current_temperature_step != 0: + step = self._static_info.visual_current_temperature_step + else: + step = self._static_info.visual_target_temperature_step for prec in precicions: - if self._static_info.visual_temperature_step >= prec: + if step >= prec: return prec # Fall back to highest precision, tenths return PRECISION_TENTHS @@ -184,7 +188,7 @@ class EsphomeClimateEntity(EsphomeEntity[ClimateInfo, ClimateState], ClimateEnti def target_temperature_step(self) -> float: """Return the supported step of target temperature.""" # Round to one digit because of floating point math - return round(self._static_info.visual_temperature_step, 1) + return round(self._static_info.visual_target_temperature_step, 1) @property def min_temp(self) -> float: diff --git a/homeassistant/components/esphome/manifest.json b/homeassistant/components/esphome/manifest.json index dbb089acba4..94b111ab420 100644 --- a/homeassistant/components/esphome/manifest.json +++ b/homeassistant/components/esphome/manifest.json @@ -14,6 +14,6 @@ "integration_type": "device", "iot_class": "local_push", "loggers": ["aioesphomeapi", "noiseprotocol"], - "requirements": ["aioesphomeapi==13.3.1", "esphome-dashboard-api==1.2.3"], + "requirements": ["aioesphomeapi==13.4.0", "esphome-dashboard-api==1.2.3"], "zeroconf": ["_esphomelib._tcp.local."] } diff --git a/requirements_all.txt b/requirements_all.txt index bbbb5e30ed9..88615181e3d 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -156,7 +156,7 @@ aioecowitt==2023.01.0 aioemonitor==1.0.5 # homeassistant.components.esphome -aioesphomeapi==13.3.1 +aioesphomeapi==13.4.0 # homeassistant.components.flo aioflo==2021.11.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f5bea952a02..57ad98c58b6 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -143,7 +143,7 @@ aioecowitt==2023.01.0 aioemonitor==1.0.5 # homeassistant.components.esphome -aioesphomeapi==13.3.1 +aioesphomeapi==13.4.0 # homeassistant.components.flo aioflo==2021.11.0