6.2 KiB
title, description, ha_category, ha_release, ha_iot_class, ha_config_flow, ha_quality_scale, ha_codeowners, ha_domain, ha_zeroconf, ha_platforms, ha_integration_type
title | description | ha_category | ha_release | ha_iot_class | ha_config_flow | ha_quality_scale | ha_codeowners | ha_domain | ha_zeroconf | ha_platforms | ha_integration_type | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WLED | Instructions on how to integrate WLED with Home Assistant. |
|
0.102 | Local Push | true | platinum |
|
wled | true |
|
device |
WLED is a fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel LEDs (like WS2812B, WS2811, SK6812, and similar) and SPI based chipsets (like WS2801 and APA102).
Prerequisites
{% important %} This integration requires a WLED device running WLED 0.14.0 or newer. {% endimportant %}
You can install the latest version of WLED on your device by going to the WLED web installer or by downloading the latest release from the WLED GitHub releases page.
{% include integrations/config_flow.md %}
Lights
This {% term integration %} adds the WLED device as a light in Home Assistant. Home Assistant treats every segment of the LED strip as a separate light {% term entity %}.
Only native supported features of a light in Home Assistant are supported (which includes effects).
Using WLED segments
WLED can split a single LED strip into multiple segments. These segments can be controlled separately in WLED and in Home Assistant as well.
If WLED has 1 segment defined (the default), that one segment controls the whole LED strip. Home Assistant creates a single light {% term entity %} to control the strip.
If WLED has 2 or more segments, each segment gets its own light {% term entity %} in Home Assistant. Additionally, a master light {% term entity %} is created. This master {% term entity %} controls the strip power and overall brightness applied to all segments.
Additionally, select and number entities described below will be created for each segment.
Select entities
This {% term integration %} provides select entities for the following information from WLED:
- Playlist
- Preset
- Color palette (per segment, disabled by default).
Number entities
This {% term integration %} provides number entities to control the following, segment-specific settings:
- Intensity
- Speed
Sensor entities
This {% term integration %} provides sensor entities for the following information from WLED:
- Estimated current (in mA)
- Uptime (disabled by default)
- Free memory (in bytes, disabled by default)
- Wi-Fi Signal Strength (in %, disabled by default)
- Wi-Fi Signal Strength (RSSI in dBm, disabled by default)
- Wi-Fi Channel (disabled by default)
- Wi-Fi BSSID (disabled by default)
- IP Address
Switches
The {% term integration %} will also create a number of switch entities.
Nightlight
Toggles the WLED Timer. Can be configured on the WLED itself under Settings > LED Preferences > Timed light.
Sync receive and sync send
Toggles the synchronization between multiple WLED devices. Can be configured on the WLED itself under Ssettings > Sync Interfaces > WLED Broadcast.
Firmware updates
The {% term integration %} has an update entity that provides information on the latest available version of WLED and indicates if a firmware update is available for installation.
The firmware update can be triggered and installed onto your WLED device directly from Home Assistant.
The update {% term entity %} will only provide updates to stable versions, unless you are using a beta version of WLED. In that case, the update {% term entity %} will also provide updates to newer beta versions.
{% include integrations/option_flow.md %}
{% configuration_basic %} Keep Master Light: description: Keep the master light, even if there is only 1 segment. This ensures the master light is always there, in case you are automating segments to appear and remove dynamically. {% endconfiguration_basic %}
Example automations
Activating random effect
You can automate changing the effect using an action like this:
{% raw %}
action: light.turn_on
target:
entity_id: light.wled
data:
effect: "{{ state_attr('light.wled', 'effect_list') | random }}"
{% endraw %}
Activating random palette
Activating a random palette is very similar to the above random effect, and can be done by selecting a random one from the available palette select {% term entity %}.
{% raw %}
action: select.select_option
target:
entity_id: select.wled_palette
data:
option: "{{ state_attr('select.wled_palette', 'options') | random }}"
{% endraw %}
Activating a preset
Activating a preset is an easy way to set a WLED light to a specific configuration. Here is an example action to set a WLED light to a preset called My Preset:
- action: light.turn_on
target:
entity_id: light.wled
- action: select.select_option
target:
entity_id: select.wled_preset
data:
option: "My Preset"
Automation using specific palette name
An automation to turn on a WLED light and select a specific palette and
set intensity, and speed can be created by first calling the light.turn_on
action, then calling the select.select_option
action to select the
palette, then call the number.set_value
action to set the intensity
and again to set the speed.
Here is an example of all of these put together into an automation:
- alias: "Turn on WLED rain effect when weather changes to rainy"
trigger:
- platform: state
entity_id: sensor.weather_condition
to: "rainy"
action:
- action: light.turn_on
target:
entity_id: light.wled
data:
effect: "Rain"
- action: select.select_option
target:
entity_id: select.wled_color_palette
data:
option: "Breeze"
- action: number.set_value
target:
entity_id: number.wled_intensity
data:
value: 200
- action: number.set_value
target:
entity_id: number.wled_speed
data:
value: 255