Output Component

Each platform of the output domain exposes some output to ESPHome. These are grouped into two categories: binary outputs (that can only be ON/OFF) and float outputs (like PWM, can output any rational value between 0 and 1).

Base Output Configuration

Each output platform extends this configuration schema.

# Example configuration entry
output:
  - platform: ...
    id: my_output_id
    power_supply: power_supply_id
    inverted: false
    min_power: 0.01
    max_power: 0.75

Configuration variables:

  • id (Required, ID): The id to use for this output component.

  • power_supply (Optional, ID): The power supply to connect to this output. When the output is enabled, the power supply will automatically be switched on too.

  • inverted (Optional, boolean): If the output should be treated as inverted. Defaults to false.

Float outputs only:

  • min_power (Optional, float): Sets the minimum output value of this output platform. Must be in range from 0 to max_power. Defaults to 0. If zero_means_zero is false this will be output value when the entity is turned off.

  • max_power (Optional, float): Sets the maximum output value of this output platform. Must be in range from min_power to 1. Defaults to 1.

  • zero_means_zero (Optional, boolean): Sets the output to use actual 0 instead of min_power. Defaults to false.

output.turn_on Action

This action turns the output with the given ID on when executed.

on_...:
  then:
    - output.turn_on: light_1

Note

This action can also be expressed in lambdas:

id(light_1).turn_on();

output.turn_off Action

This action turns the output with the given ID off when executed.

on_...:
  then:
    - output.turn_off: light_1

Note

This action can also be expressed in lambdas:

id(light_1).turn_off();

output.set_level Action

This action sets the float output to the given level when executed. Note: This only works with floating point outputs like ESP8266 Software PWM Output, ESP32 LEDC Output, Sigma-Delta Output, Slow PWM Output.

on_...:
  then:
    - output.set_level:
        id: light_1
        level: 50%

Note

This action can also be expressed in lambdas:

// range is 0.0 (off) to 1.0 (on)
id(light_1).set_level(0.5);

Full Output Index