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 :doc:
power supply </components/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 isfalse
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 tofalse
.
output.turn_on
Action

This action turns the output with the given ID on when executed.
on_...:
then:
- output.turn_on: light_1
output.turn_off
Action

This action turns the output with the given ID off when executed.
on_...:
then:
- output.turn_off: light_1
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);