--- 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)`
`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; 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 ```