mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-04-26 06:17:35 +00:00
115 lines
3.9 KiB
Markdown
115 lines
3.9 KiB
Markdown
---
|
|
title: Input boolean
|
|
description: Instructions on how to use the input boolean helper with Home Assistant.
|
|
ha_category:
|
|
- Automation
|
|
- Helper
|
|
ha_release: 0.11
|
|
ha_quality_scale: internal
|
|
ha_codeowners:
|
|
- '@home-assistant/core'
|
|
ha_domain: input_boolean
|
|
ha_integration_type: helper
|
|
---
|
|
|
|
The **Input boolean** helper integration allows you to define boolean values that
|
|
can be controlled via the user interface and can be used within conditions of
|
|
an {% term automation %}. This can for example be used to disable or enable certain
|
|
automations by using them in their {% term conditions %}.
|
|
|
|
## Configuration
|
|
|
|
The preferred way to configure input boolean helpers is via the user interface,
|
|
in which they are known as Toggle Helpers. To add one, go to
|
|
**{% my helpers title="Settings > Devices & services > Helpers" %}** and click the add button;
|
|
next choose the **{% my config_flow_start domain="input_boolean" title="Toggle" %}** option.
|
|
|
|
To be able to add **Helpers** via the user interface you should have
|
|
`default_config:` in your {% term "`configuration.yaml`" %}, it should already be there by
|
|
default unless you removed it. If you removed `default_config:` from your
|
|
configuration, you must add `input_boolean:` to your {% term "`configuration.yaml`" %} first,
|
|
then you can use the UI.
|
|
|
|
Input booleans can also be configured via {% term "`configuration.yaml`" %} file:
|
|
|
|
{% configuration %}
|
|
input_boolean:
|
|
description: Alias for the input. Multiple entries are allowed.
|
|
required: true
|
|
type: map
|
|
keys:
|
|
name:
|
|
description: Friendly name of the input.
|
|
required: false
|
|
type: string
|
|
initial:
|
|
description: Initial value when Home Assistant starts.
|
|
required: false
|
|
type: boolean
|
|
default: a previous value is restored if available
|
|
icon:
|
|
description: Icon to display in front of the input element in the frontend.
|
|
required: false
|
|
type: icon
|
|
{% endconfiguration %}
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
input_boolean:
|
|
notify_home:
|
|
name: Notify when someone arrives home
|
|
icon: mdi:car
|
|
```
|
|
|
|
## Actions
|
|
|
|
This integration provides the following {% term actions %} to modify the state of the
|
|
`input_boolean` and an action to reload the configuration without restarting
|
|
Home Assistant itself.
|
|
|
|
| Action | Data | Description |
|
|
| ---------- | ------------------------------ | ----------------------------------------------------------- |
|
|
| `turn_on` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `on` |
|
|
| `turn_off` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `off` |
|
|
| `toggle` | `entity_id(s)`<br>`area_id(s)` | Toggle the value of specific `input_boolean` entities |
|
|
| `reload` | | Reload `input_boolean` configuration |
|
|
|
|
### Restore state
|
|
|
|
If you set a valid value for `initial` this integration will start with the state
|
|
set to that value. Otherwise, it will restore the state it had prior to
|
|
Home Assistant stopping; if there is no state to restore - an `off` value is set.
|
|
|
|
## Automation examples
|
|
|
|
Here's an example of an automation using the above `input_boolean`. This action
|
|
will only occur if the `input_boolean` is on.
|
|
|
|
```yaml
|
|
automation:
|
|
alias: "Arriving home"
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.motion_garage
|
|
to: "on"
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.notify_home
|
|
state: "on"
|
|
actions:
|
|
- action: notify.pushbullet
|
|
data:
|
|
title: ""
|
|
message: "Honey, I'm home!"
|
|
```
|
|
|
|
You can also set or change the status of an `input_boolean` by using
|
|
`input_boolean.turn_on`, `input_boolean.turn_off` or `input_boolean.toggle` in
|
|
your automation action.
|
|
|
|
```yaml
|
|
action: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.notify_home
|
|
```
|