Update 2024-11-08-number_selector.md

This commit is contained in:
epenet 2024-11-12 09:51:53 +01:00 committed by GitHub
parent ef680d70b9
commit 9fda1b71a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,18 +4,19 @@ authorURL: https://github.com/epenet
title: "Number selector adds integer return value support"
---
The [Number selector](https://www.home-assistant.io/docs/blueprint/selectors/#number-selector) now includes an `as_int` parameter.
### Summary of changes
Passing an integer step to a [Number selector](https://www.home-assistant.io/docs/blueprint/selectors/#number-selector) will now validate the user input as an integer.
Set this parameter in [config flows](/docs/data_entry_flow_index#show-form) to eliminate the extra schema validation step.
New implementation (using `as_int` parameter):
New implementation (using an integer step):
```python
vol.Schema(
{
vol.Optional(CONF_ADDRESS): NumberSelector(
NumberSelectorConfig(
as_int=True, min=1, max=255, mode=NumberSelectorMode.BOX
min=1, max=255, mode=NumberSelectorMode.BOX, step=1
)
),
}
@ -38,3 +39,29 @@ vol.Schema(
}
)
```
### Backwards compatibility
To improve backwards compatibility, the default value has been adjust from `step=1` to `step=1.0`.
However, integrations that set the step explicitly to an integer value may need to adjust the step to the corresponding float to allow float values.
New implementation (using an float step) to ensure a float is accepted:
```python
NumberSelector(
NumberSelectorConfig(
min=0, max=100, mode=NumberSelectorMode.BOX, step=5.0
)
)
```
Previous implementation:
```python
NumberSelector(
NumberSelectorConfig(
min=0, max=100, mode=NumberSelectorMode.BOX, step=5
)
)
```