---
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 `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 `configuration.yaml` first,
then you can use the UI.
Input booleans can also be configured via `configuration.yaml`:
{% 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: false
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
```
## Services
This integration provides the following {% term services %} to modify the state of the
`input_boolean` and a service to reload the configuration without restarting
Home Assistant itself.
| Service | Data | Description |
| ------- | ---- | ----------- |
| `turn_on` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `on`
| `turn_off` | `entity_id(s)`
`area_id(s)` | Set the value of specific `input_boolean` entities to `off`
| `toggle` | `entity_id(s)`
`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.
## 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"
trigger:
- platform: state
entity_id: binary_sensor.motion_garage
to: "on"
condition:
- condition: state
entity_id: input_boolean.notify_home
state: "on"
action:
- service: 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
service: input_boolean.turn_on
target:
entity_id: input_boolean.notify_home
```