Set Fahrenheit reporting precision to tenths for Homekit Controller climate entities (#50415)
This commit is contained in:
parent
3d41a66673
commit
fe75a1bb9d
2 changed files with 19 additions and 1 deletions
|
@ -36,7 +36,7 @@ from homeassistant.components.climate.const import (
|
|||
SWING_OFF,
|
||||
SWING_VERTICAL,
|
||||
)
|
||||
from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS
|
||||
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_TENTHS, TEMP_CELSIUS
|
||||
from homeassistant.core import callback
|
||||
|
||||
from . import KNOWN_DEVICES, HomeKitEntity
|
||||
|
@ -323,6 +323,11 @@ class HomeKitHeaterCoolerEntity(HomeKitEntity, ClimateEntity):
|
|||
"""Return the unit of measurement."""
|
||||
return TEMP_CELSIUS
|
||||
|
||||
@property
|
||||
def precision(self):
|
||||
"""Return the precision of the system."""
|
||||
return PRECISION_TENTHS
|
||||
|
||||
|
||||
class HomeKitClimateEntity(HomeKitEntity, ClimateEntity):
|
||||
"""Representation of a Homekit climate device."""
|
||||
|
@ -536,6 +541,11 @@ class HomeKitClimateEntity(HomeKitEntity, ClimateEntity):
|
|||
"""Return the unit of measurement."""
|
||||
return TEMP_CELSIUS
|
||||
|
||||
@property
|
||||
def precision(self):
|
||||
"""Return the precision of the system."""
|
||||
return PRECISION_TENTHS
|
||||
|
||||
|
||||
ENTITY_TYPES = {
|
||||
ServicesTypes.HEATER_COOLER: HomeKitHeaterCoolerEntity,
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
"""Basic checks for HomeKitclimate."""
|
||||
from unittest.mock import patch
|
||||
|
||||
from aiohomekit.model.characteristics import (
|
||||
ActivationStateValues,
|
||||
CharacteristicsTypes,
|
||||
|
@ -19,6 +21,7 @@ from homeassistant.components.climate.const import (
|
|||
SERVICE_SET_SWING_MODE,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
)
|
||||
from homeassistant.const import TEMP_FAHRENHEIT
|
||||
|
||||
from tests.components.homekit_controller.common import setup_test_component
|
||||
|
||||
|
@ -445,6 +448,11 @@ async def test_climate_read_thermostat_state(hass, utcnow):
|
|||
state = await helper.poll_and_get_state()
|
||||
assert state.state == HVAC_MODE_HEAT_COOL
|
||||
|
||||
# Ensure converted Fahrenheit precision is reported in tenths
|
||||
with patch.object(hass.config.units, "temperature_unit", TEMP_FAHRENHEIT):
|
||||
state = await helper.poll_and_get_state()
|
||||
assert state.attributes["current_temperature"] == 69.8
|
||||
|
||||
|
||||
async def test_hvac_mode_vs_hvac_action(hass, utcnow):
|
||||
"""Check that we haven't conflated hvac_mode and hvac_action."""
|
||||
|
|
Loading…
Add table
Reference in a new issue