mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 22:27:07 +00:00
Float value for input slider (#2607)
* Allow input_slider value to be a float number. * Change input_slider unit test to allow float number.
This commit is contained in:
parent
6a189eb18d
commit
d202929de5
@ -34,7 +34,7 @@ SERVICE_SELECT_VALUE = 'select_value'
|
|||||||
|
|
||||||
SERVICE_SELECT_VALUE_SCHEMA = vol.Schema({
|
SERVICE_SELECT_VALUE_SCHEMA = vol.Schema({
|
||||||
vol.Optional(ATTR_ENTITY_ID): cv.entity_ids,
|
vol.Optional(ATTR_ENTITY_ID): cv.entity_ids,
|
||||||
vol.Required(ATTR_VALUE): vol.Coerce(int),
|
vol.Required(ATTR_VALUE): vol.Coerce(float),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ class InputSlider(Entity):
|
|||||||
|
|
||||||
def select_value(self, value):
|
def select_value(self, value):
|
||||||
"""Select new value."""
|
"""Select new value."""
|
||||||
num_value = int(value)
|
num_value = float(value)
|
||||||
if num_value < self._minimum or num_value > self._maximum:
|
if num_value < self._minimum or num_value > self._maximum:
|
||||||
_LOGGER.warning('Invalid value: %s (range %s - %s)',
|
_LOGGER.warning('Invalid value: %s (range %s - %s)',
|
||||||
num_value, self._minimum, self._maximum)
|
num_value, self._minimum, self._maximum)
|
||||||
|
@ -49,16 +49,22 @@ class TestInputSlider(unittest.TestCase):
|
|||||||
entity_id = 'input_slider.test_1'
|
entity_id = 'input_slider.test_1'
|
||||||
|
|
||||||
state = self.hass.states.get(entity_id)
|
state = self.hass.states.get(entity_id)
|
||||||
self.assertEqual('50', state.state)
|
self.assertEqual(50, float(state.state))
|
||||||
|
|
||||||
|
input_slider.select_value(self.hass, entity_id, '30.4')
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
|
state = self.hass.states.get(entity_id)
|
||||||
|
self.assertEqual(30.4, float(state.state))
|
||||||
|
|
||||||
input_slider.select_value(self.hass, entity_id, '70')
|
input_slider.select_value(self.hass, entity_id, '70')
|
||||||
self.hass.pool.block_till_done()
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
state = self.hass.states.get(entity_id)
|
state = self.hass.states.get(entity_id)
|
||||||
self.assertEqual('70', state.state)
|
self.assertEqual(70, float(state.state))
|
||||||
|
|
||||||
input_slider.select_value(self.hass, entity_id, '110')
|
input_slider.select_value(self.hass, entity_id, '110')
|
||||||
self.hass.pool.block_till_done()
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
state = self.hass.states.get(entity_id)
|
state = self.hass.states.get(entity_id)
|
||||||
self.assertEqual('70', state.state)
|
self.assertEqual(70, float(state.state))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user