Menu

QuinLED An-Penta-Plus ESPhome configuration example

Back to QuinLED An-Penta-Plus Index

To help out building your own configuration for the QuinLED An-Penta-Plus below is a basic ESPhome configuration as I generally use with the board. This can of course be fully adjusted to whatever your own needs are so treat it as a starting template.

The first part will be the whole config including a simple 5 channel configuration that you can use for 5 white strips for instance. Below that will be an example of adding a RGBCCT LED strip.

In the networking part both WiFi and Ethernet is included but both have been commented out, enable the one you need.

substitutions:
  esphome_name: an-penta-plus

esphome:
  name: ${esphome_name}

esp32:
  board: esp32dev
  framework:
    type: esp-idf

#wifi:
#  ssid: !secret esphome_wifi_ssid
#  password: !secret esphome_wifi_pass
#  domain: .domain.local

#ethernet:
#  type: LAN8720
#  mdc_pin: GPIO23
#  mdio_pin: GPIO18
#  clk_mode: GPIO17_OUT
#  phy_addr: 0
#  use_address: 10.10.128.137

web_server:
  port: 80

logger:

i2c:
  sda: 15
  scl: 16
  scan: true

api:
  reboot_timeout: 60min
  password: !secret esphome_api_pass

ota:
  platform: esphome
  password: !secret esphome_ota_pass

time:
  - platform: homeassistant
    id: homeassistant_time

switch:
  - platform: gpio
    name: "Digital LED Power Relay"
    id: "DigPower"
    pin: GPIO13
  
  - platform: restart
    name: ${esphome_name}-restart
    id: restart_switch

output:
  - platform: ledc
    pin: 33
    frequency: 19531Hz
    id: LED_channel_1

  - platform: ledc
    pin: 32
    frequency: 19531Hz
    id: LED_channel_2

  - platform: ledc
    pin: 12
    frequency: 19531Hz
    id: LED_channel_3

  - platform: ledc
    pin: 4
    frequency: 19531Hz
    id: LED_channel_4

  - platform: ledc
    pin: 2
    frequency: 19531Hz
    id: LED_channel_5

light:
  - platform: monochromatic
    name: "${esphome_name}-L1"
    default_transition_length: 1s
    id: LED1
    output: LED_channel_1

  - platform: monochromatic
    name: "${esphome_name}-L2"
    default_transition_length: 1s
    id: LED2
    output: LED_channel_2

  - platform: monochromatic
    name: "${esphome_name}-L3"
    default_transition_length: 1s
    id: LED3
    output: LED_channel_3

  - platform: monochromatic
    name: "${esphome_name}-L4"
    default_transition_length: 1s
    id: LED4
    output: LED_channel_4
    
  - platform: monochromatic
    name: "${esphome_name}-L5"
    default_transition_length: 1s
    id: LED5
    output: LED_channel_5

sensor:
  - platform: uptime
    name: "${esphome_name}_Uptime Sensor"

binary_sensor:
  - platform: gpio
    pin: 36
    name: Button_1
    filters:
      - invert:

  - platform: gpio
    pin: 39
    name: Button_2
    filters:
      - invert:

  - platform: gpio
    pin: 34
    name: Button_3
    filters:
      - invert:

Adding a RGBCCT LED strip

Paste this part inside of the light:  section.

- platform: rgbww
  name: "Livingroom Lights"
  red: LED_channel_1
  green: LED_channel_2
  blue: LED_channel_3
  cold_white: LED_channel_4
  warm_white: LED_channel_5
  cold_white_color_temperature: 6500 K
  warm_white_color_temperature: 2700 K
  effects:
    - random:          
        name: "My Slow Random Effect"
        transition_length: 60s
        update_interval: 60s
    - random:
        name: "My Medium Random Effect"
        transition_length: 30s
        update_interval: 30s
    - random:
        name: "My Fast Random Effect"
        transition_length: 10s
        update_interval: 10s
    - random:
        name: "My Very Fast Random Effect"
        transition_length: 1s
        update_interval: 1s

Adding a digital output LED strip and some basic effects

Paste this part inside of the light:  section.

- platform: esp32_rmt_led_strip
  rgb_order: GRB
  pin: GPIO5
  num_leds: 300
  rmt_channel: 0
  chipset: ws2812
  name: "Digital LEDs"
  on_turn_on:
    - switch.turn_on: "DigPower"
  on_turn_off:
    - switch.turn_off: "DigPower"
  
  effects:
    - random:          
        name: "My Slow Random Effect"
        transition_length: 60s
        update_interval: 60s
    - random:
        name: "My Medium Random Effect"
        transition_length: 30s
        update_interval: 30s
    - random:
        name: "My Fast Random Effect"
        transition_length: 10s
        update_interval: 10s
    - random:
        name: "My Very Fast Random Effect"
        transition_length: 1s
        update_interval: 1s
    - addressable_rainbow:
    - addressable_color_wipe:
    - addressable_twinkle:
    - addressable_fireworks: