Add mode to ESPHome numbers (#60653)
parent
11b81ef88b
commit
8630022e92
|
@ -3,7 +3,7 @@
|
|||
"name": "ESPHome",
|
||||
"config_flow": true,
|
||||
"documentation": "https://www.home-assistant.io/integrations/esphome",
|
||||
"requirements": ["aioesphomeapi==10.5.0"],
|
||||
"requirements": ["aioesphomeapi==10.6.0"],
|
||||
"zeroconf": ["_esphomelib._tcp.local."],
|
||||
"codeowners": ["@OttoWinter", "@jesserockz"],
|
||||
"after_dependencies": ["zeroconf", "tag"],
|
||||
|
|
|
@ -3,14 +3,19 @@ from __future__ import annotations
|
|||
|
||||
import math
|
||||
|
||||
from aioesphomeapi import NumberInfo, NumberState
|
||||
from aioesphomeapi import NumberInfo, NumberMode as EsphomeNumberMode, NumberState
|
||||
|
||||
from homeassistant.components.number import NumberEntity
|
||||
from homeassistant.components.number import NumberEntity, NumberMode
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import EsphomeEntity, esphome_state_property, platform_async_setup_entry
|
||||
from . import (
|
||||
EsphomeEntity,
|
||||
EsphomeEnumMapper,
|
||||
esphome_state_property,
|
||||
platform_async_setup_entry,
|
||||
)
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
|
@ -30,6 +35,15 @@ async def async_setup_entry(
|
|||
)
|
||||
|
||||
|
||||
NUMBER_MODES: EsphomeEnumMapper[EsphomeNumberMode, NumberMode] = EsphomeEnumMapper(
|
||||
{
|
||||
EsphomeNumberMode.AUTO: NumberMode.AUTO,
|
||||
EsphomeNumberMode.BOX: NumberMode.BOX,
|
||||
EsphomeNumberMode.SLIDER: NumberMode.SLIDER,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
# https://github.com/PyCQA/pylint/issues/3150 for all @esphome_state_property
|
||||
# pylint: disable=invalid-overridden-method
|
||||
|
||||
|
@ -57,6 +71,13 @@ class EsphomeNumber(EsphomeEntity[NumberInfo, NumberState], NumberEntity):
|
|||
"""Return the unit of measurement."""
|
||||
return super()._static_info.unit_of_measurement
|
||||
|
||||
@property
|
||||
def mode(self) -> NumberMode:
|
||||
"""Return the mode of the entity."""
|
||||
if self._static_info.mode:
|
||||
return NUMBER_MODES.from_esphome(self._static_info.mode)
|
||||
return NumberMode.AUTO
|
||||
|
||||
@esphome_state_property
|
||||
def value(self) -> float | None:
|
||||
"""Return the state of the entity."""
|
||||
|
|
|
@ -161,7 +161,7 @@ aioeagle==1.1.0
|
|||
aioemonitor==1.0.5
|
||||
|
||||
# homeassistant.components.esphome
|
||||
aioesphomeapi==10.5.0
|
||||
aioesphomeapi==10.6.0
|
||||
|
||||
# homeassistant.components.flo
|
||||
aioflo==2021.11.0
|
||||
|
|
|
@ -112,7 +112,7 @@ aioeagle==1.1.0
|
|||
aioemonitor==1.0.5
|
||||
|
||||
# homeassistant.components.esphome
|
||||
aioesphomeapi==10.5.0
|
||||
aioesphomeapi==10.6.0
|
||||
|
||||
# homeassistant.components.flo
|
||||
aioflo==2021.11.0
|
||||
|
|
Loading…
Reference in New Issue