mirror of
https://github.com/home-assistant/core.git
synced 2025-07-09 14:27:07 +00:00
Add number entity value property (#43902)
This commit is contained in:
parent
54cb2d42af
commit
8d33c2092f
@ -98,7 +98,7 @@ class DemoNumber(NumberEntity):
|
|||||||
return self._assumed
|
return self._assumed
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def state(self):
|
def value(self):
|
||||||
"""Return the current value."""
|
"""Return the current value."""
|
||||||
return self._state
|
return self._state
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
"""Component to allow numeric input for platforms."""
|
"""Component to allow numeric input for platforms."""
|
||||||
|
from abc import abstractmethod
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import logging
|
import logging
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
@ -93,6 +94,16 @@ class NumberEntity(Entity):
|
|||||||
step /= 10.0
|
step /= 10.0
|
||||||
return step
|
return step
|
||||||
|
|
||||||
|
@property
|
||||||
|
def state(self) -> float:
|
||||||
|
"""Return the entity state."""
|
||||||
|
return self.value
|
||||||
|
|
||||||
|
@property
|
||||||
|
@abstractmethod
|
||||||
|
def value(self) -> float:
|
||||||
|
"""Return the entity value to represent the entity state."""
|
||||||
|
|
||||||
def set_value(self, value: float) -> None:
|
def set_value(self, value: float) -> None:
|
||||||
"""Set new value."""
|
"""Set new value."""
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
"""The tests for the Number component."""
|
"""The tests for the Number component."""
|
||||||
from unittest.mock import MagicMock
|
|
||||||
|
|
||||||
from homeassistant.components.number import NumberEntity
|
from homeassistant.components.number import NumberEntity
|
||||||
|
|
||||||
|
from tests.async_mock import MagicMock
|
||||||
|
|
||||||
|
|
||||||
|
class MockDefaultNumberEntity(NumberEntity):
|
||||||
|
"""Mock NumberEntity device to use in tests."""
|
||||||
|
|
||||||
|
@property
|
||||||
|
def value(self):
|
||||||
|
"""Return the current value."""
|
||||||
|
return 0.5
|
||||||
|
|
||||||
|
|
||||||
class MockNumberEntity(NumberEntity):
|
class MockNumberEntity(NumberEntity):
|
||||||
"""Mock NumberEntity device to use in tests."""
|
"""Mock NumberEntity device to use in tests."""
|
||||||
@ -13,14 +22,14 @@ class MockNumberEntity(NumberEntity):
|
|||||||
return 1.0
|
return 1.0
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def state(self):
|
def value(self):
|
||||||
"""Return the current value."""
|
"""Return the current value."""
|
||||||
return "0.5"
|
return 0.5
|
||||||
|
|
||||||
|
|
||||||
async def test_step(hass):
|
async def test_step(hass):
|
||||||
"""Test the step calculation."""
|
"""Test the step calculation."""
|
||||||
number = NumberEntity()
|
number = MockDefaultNumberEntity()
|
||||||
assert number.step == 1.0
|
assert number.step == 1.0
|
||||||
|
|
||||||
number_2 = MockNumberEntity()
|
number_2 = MockNumberEntity()
|
||||||
@ -29,7 +38,7 @@ async def test_step(hass):
|
|||||||
|
|
||||||
async def test_sync_set_value(hass):
|
async def test_sync_set_value(hass):
|
||||||
"""Test if async set_value calls sync set_value."""
|
"""Test if async set_value calls sync set_value."""
|
||||||
number = NumberEntity()
|
number = MockDefaultNumberEntity()
|
||||||
number.hass = hass
|
number.hass = hass
|
||||||
|
|
||||||
number.set_value = MagicMock()
|
number.set_value = MagicMock()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user