mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Make set_value required in number template (#124917)
* Make set_value required in number template * Make set_value required in number template * Fix tests
This commit is contained in:
parent
c6ff445dd4
commit
b2b69e40fd
@ -70,7 +70,7 @@ NUMBER_CONFIG_SCHEMA = vol.Schema(
|
|||||||
vol.Required(CONF_NAME): cv.template,
|
vol.Required(CONF_NAME): cv.template,
|
||||||
vol.Required(CONF_STATE): cv.template,
|
vol.Required(CONF_STATE): cv.template,
|
||||||
vol.Required(CONF_STEP): cv.template,
|
vol.Required(CONF_STEP): cv.template,
|
||||||
vol.Optional(CONF_SET_VALUE): cv.SCRIPT_SCHEMA,
|
vol.Required(CONF_SET_VALUE): cv.SCRIPT_SCHEMA,
|
||||||
vol.Optional(CONF_MIN): cv.template,
|
vol.Optional(CONF_MIN): cv.template,
|
||||||
vol.Optional(CONF_MAX): cv.template,
|
vol.Optional(CONF_MAX): cv.template,
|
||||||
vol.Optional(CONF_DEVICE_ID): selector.DeviceSelector(),
|
vol.Optional(CONF_DEVICE_ID): selector.DeviceSelector(),
|
||||||
@ -154,11 +154,10 @@ class TemplateNumber(TemplateEntity, NumberEntity):
|
|||||||
super().__init__(hass, config=config, unique_id=unique_id)
|
super().__init__(hass, config=config, unique_id=unique_id)
|
||||||
assert self._attr_name is not None
|
assert self._attr_name is not None
|
||||||
self._value_template = config[CONF_STATE]
|
self._value_template = config[CONF_STATE]
|
||||||
self._command_set_value = (
|
self._command_set_value = Script(
|
||||||
Script(hass, config[CONF_SET_VALUE], self._attr_name, DOMAIN)
|
hass, config[CONF_SET_VALUE], self._attr_name, DOMAIN
|
||||||
if config.get(CONF_SET_VALUE, None) is not None
|
|
||||||
else None
|
|
||||||
)
|
)
|
||||||
|
|
||||||
self._step_template = config[CONF_STEP]
|
self._step_template = config[CONF_STEP]
|
||||||
self._min_value_template = config[CONF_MIN]
|
self._min_value_template = config[CONF_MIN]
|
||||||
self._max_value_template = config[CONF_MAX]
|
self._max_value_template = config[CONF_MAX]
|
||||||
|
@ -101,11 +101,21 @@ from tests.typing import WebSocketGenerator
|
|||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
),
|
),
|
||||||
@ -444,11 +454,21 @@ def get_suggested(schema, key):
|
|||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"state",
|
"state",
|
||||||
),
|
),
|
||||||
|
@ -322,12 +322,22 @@ async def async_yaml_patch_helper(hass: HomeAssistant, filename: str) -> None:
|
|||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"state": "{{ 11 }}",
|
"state": "{{ 11 }}",
|
||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
|
@ -61,6 +61,11 @@ async def test_setup_config_entry(
|
|||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
title="My template",
|
title="My template",
|
||||||
)
|
)
|
||||||
@ -522,6 +527,11 @@ async def test_device_id(
|
|||||||
"min": "{{ 0 }}",
|
"min": "{{ 0 }}",
|
||||||
"max": "{{ 100 }}",
|
"max": "{{ 100 }}",
|
||||||
"step": "{{ 0.1 }}",
|
"step": "{{ 0.1 }}",
|
||||||
|
"set_value": {
|
||||||
|
"action": "input_number.set_value",
|
||||||
|
"target": {"entity_id": "input_number.test"},
|
||||||
|
"data": {"value": "{{ value }}"},
|
||||||
|
},
|
||||||
"device_id": device_entry.id,
|
"device_id": device_entry.id,
|
||||||
},
|
},
|
||||||
title="My template",
|
title="My template",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user