Input text

The Input text integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as automation triggers as well. It can also be configured in password mode (obscured text).

The preferred way to configure an input text is via the user interface at Settings > Devices & services > Helpers. Click the add button and then choose the Text option.

To be able to add Helpers via the user interface you should have default_config: in your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more], it should already be there by default unless you removed it. If you removed default_config: from your configuration, you must add input_text: to your configuration.yaml first, then you can use the UI.

It can also be configured via configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more]:

# Example configuration.yaml entries
input_text:
  text1:
    name: Text 1
    initial: Some Text
  text2:
    name: Text 2
    min: 8
    max: 40
  text3:
    name: Text 3
    pattern: "[a-fA-F0-9]*"
  text4:
    name: Text 4
    mode: password

Configuration Variables

input_text map Required

Alias for the input. Multiple entries are allowed.

name string (Optional)

Friendly name of the text input.

min integer (Optional, default: 0)

Minimum length for the text value.

max integer (Optional, default: 100)

Maximum length for the text value. 255 is the maximum number of characters allowed in an entity state.

initial string (Optional)

Initial value when Home Assistant starts.

icon icon (Optional)

Icon to display in front of the input element in the frontend.

pattern string (Optional, default: empty)

Regex pattern for client-side validation.

mode string (Optional, default: text)

Can specify text or password. Elements of type “password” provide a way for the user to securely enter a value.

Actions

This integration provides an action to modify the state of the input_text and an action to reload the input_text configuration without restarting Home Assistant itself.

Action Data Description
set_value value
entity_id(s)
Set the value for specific input_text entities.
reload Reload input_text configuration

Restore state

If you set a valid value for initial this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.

Scenes

To set the state of the input_text in a Scene:

# Example configuration.yaml entry
scene:
  - name: Example1
    entities:
      input_text.example: Hello!

Automation examples

Here’s an example using input_text in an action in an automation.

# Example configuration.yaml entry using 'input_text' in an action in an automation
input_select:
  scene_bedroom:
    name: Scene
    options:
      - Select
      - Concentrate
      - Energize
      - Reading
      - Relax
      - 'OFF'
    initial: "Select"
input_text:
  bedroom:
    name: Brightness
    
automation:
  - alias: "Bedroom Light - Custom"
    triggers:
      - trigger: state
        entity_id: input_select.scene_bedroom
    actions:
      - action: input_text.set_value
        target:
          entity_id: input_text.bedroom
        data:
          value: "{{ states('input_select.scene_bedroom') }}"