mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-29 22:36:50 +00:00
115 lines
3.3 KiB
Markdown
115 lines
3.3 KiB
Markdown
---
|
|
title: pigpio Daemon PWM LED
|
|
description: Instructions on how to setup PWM LEDs within Home Assistant.
|
|
ha_category:
|
|
- DIY
|
|
ha_iot_class: Local Push
|
|
ha_release: 0.43
|
|
ha_domain: rpi_gpio_pwm
|
|
---
|
|
|
|
The `rpi_gpio_pwm` platform allows to control multiple lights using pulse-width modulation, for example LED strips. It supports one-color, RGB and RGBW LEDs driven by GPIOs of a Raspberry Pi (same host or remote) or a PCA9685 controller.
|
|
|
|
For controlling the GPIOs, the platform connects to the [pigpio-daemon](http://abyz.me.uk/rpi/pigpio/pigpiod.html), which must be running. On Raspbian Jessie 2016-05-10 or newer the `pigpio` library is already included. On other operating systems it needs to be installed first (see [installation instructions](https://github.com/soldag/python-pwmled#installation)).
|
|
|
|
## Configuration
|
|
|
|
To enable this platform, add the following lines to your `configuration.yaml`:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
light:
|
|
- platform: rpi_gpio_pwm
|
|
leds:
|
|
- name: Lightstrip Cupboard
|
|
driver: gpio
|
|
pins: [17]
|
|
type: simple
|
|
```
|
|
|
|
{% configuration %}
|
|
leds:
|
|
description: Can contain multiple LEDs.
|
|
required: true
|
|
type: list
|
|
keys:
|
|
name:
|
|
description: The name of the LED.
|
|
required: true
|
|
type: string
|
|
driver:
|
|
description: The driver which controls the LED. Choose either `gpio` or `pca9685`.
|
|
required: true
|
|
type: string
|
|
pins:
|
|
description: The pins connected to the LED as a list. The order of pins is determined by the specified type.
|
|
required: true
|
|
type: [list, integer]
|
|
type:
|
|
description: The type of LED. Choose either `rgb`, `rgbw` or `simple`.
|
|
required: true
|
|
type: string
|
|
frequency:
|
|
description: The PWM frequency.
|
|
required: false
|
|
default: 200
|
|
type: integer
|
|
address:
|
|
description: The address of the PCA9685 driver.
|
|
required: false
|
|
default: 0x40
|
|
type: string
|
|
host:
|
|
description: The remote host address for the GPIO driver.
|
|
required: false
|
|
type: string
|
|
{% endconfiguration %}
|
|
|
|
## Examples
|
|
|
|
In this section you find some real-life examples of how to use this sensor.
|
|
|
|
### RGB LED connected to PCA9685 controller
|
|
|
|
This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to control a RGB LED.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
light:
|
|
- platform: rpi_gpio_pwm
|
|
leds:
|
|
- name: TV Backlight
|
|
driver: pca9685
|
|
pins: [0, 1, 2] # [R, G, B]
|
|
type: rgb
|
|
```
|
|
|
|
### RGBW LED connected to PCA9685 controller
|
|
|
|
This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to interact with a RGBW LED.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
light:
|
|
- platform: rpi_gpio_pwm
|
|
leds:
|
|
- name: Lightstrip Desk
|
|
driver: pca9685
|
|
pins: [3, 4, 5, 6] # [R, G, B, W]
|
|
type: rgbw
|
|
```
|
|
|
|
### RGB LED connected to the GPIO pins of an remote Raspberry Pi.
|
|
|
|
On the Raspberry Pi the pigpio daemon is running on the default port 6666.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
light:
|
|
- platform: rpi_gpio_pwm
|
|
leds:
|
|
- name: Lightstrip Sideboard
|
|
driver: gpio
|
|
host: 192.168.0.66
|
|
```
|