mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 15:57:06 +00:00
parent
275ea5b150
commit
f6517884b1
@ -99,6 +99,13 @@ PAUSED = "paused"
|
|||||||
COLLECTING = "collecting"
|
COLLECTING = "collecting"
|
||||||
|
|
||||||
|
|
||||||
|
def validate_is_number(value):
|
||||||
|
"""Validate value is a number."""
|
||||||
|
if is_number(value):
|
||||||
|
return value
|
||||||
|
raise vol.Invalid("Value is not a number")
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(
|
async def async_setup_entry(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
config_entry: ConfigEntry,
|
config_entry: ConfigEntry,
|
||||||
@ -167,7 +174,7 @@ async def async_setup_entry(
|
|||||||
|
|
||||||
platform.async_register_entity_service(
|
platform.async_register_entity_service(
|
||||||
SERVICE_CALIBRATE_METER,
|
SERVICE_CALIBRATE_METER,
|
||||||
{vol.Required(ATTR_VALUE): vol.Coerce(Decimal)},
|
{vol.Required(ATTR_VALUE): validate_is_number},
|
||||||
"async_calibrate",
|
"async_calibrate",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -244,7 +251,7 @@ async def async_setup_platform(
|
|||||||
|
|
||||||
platform.async_register_entity_service(
|
platform.async_register_entity_service(
|
||||||
SERVICE_CALIBRATE_METER,
|
SERVICE_CALIBRATE_METER,
|
||||||
{vol.Required(ATTR_VALUE): vol.Coerce(Decimal)},
|
{vol.Required(ATTR_VALUE): validate_is_number},
|
||||||
"async_calibrate",
|
"async_calibrate",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -446,8 +453,8 @@ class UtilityMeterSensor(RestoreSensor):
|
|||||||
|
|
||||||
async def async_calibrate(self, value):
|
async def async_calibrate(self, value):
|
||||||
"""Calibrate the Utility Meter with a given value."""
|
"""Calibrate the Utility Meter with a given value."""
|
||||||
_LOGGER.debug("Calibrate %s = %s", self._name, value)
|
_LOGGER.debug("Calibrate %s = %s type(%s)", self._name, value, type(value))
|
||||||
self._state = value
|
self._state = Decimal(str(value))
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
async def async_added_to_hass(self):
|
async def async_added_to_hass(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user