esphome: name: $name platform: ESP32 board: esp32doit-devkit-v1 platformio_options: platform: espressif32@1.11.0 platform_packages: |-4 framework-arduinoespressif32 @ https://github.com/pauln/arduino-esp32.git#solo-no-mac-crc/1.0.4 includes: - esphome-yeelight_bs2/yeelight_bs2.h # Enable logging logger: # The front panel of the device uses I2C for communication # with the ESP32 main board. The panel uses address 0x2C. # There are two I2C busses attached to the ESP32: # SDA 17/SCL 18 and SDA 21/SCL 19. The latter is the # correct one for the front panel. The former is probably # an EEPROM of some sorts. i2c: - id: eeprom_i2c sda: 17 scl: 18 scan: True - id: front_panel_i2c sda: 21 scl: 19 scan: True output: - platform: gpio id: master1 pin: GPIO33 - platform: gpio id: master2 pin: GPIO4 - platform: ledc id: led_r pin: GPIO13 - platform: ledc id: led_g pin: GPIO14 - platform: ledc id: led_b pin: GPIO5 - platform: ledc id: led_w pin: GPIO12 light: - platform: custom lambda: |- auto bs2light = new esphome::rgbww::YeelightBedsideLampV2LightOutput( led_r, led_g, led_b, led_w, master1, master2); App.register_component(bs2light); return {bs2light}; lights: - name: ${friendly_name} RGBW Light default_transition_length: 0s effects: - random: name: "Slow Random" transition_length: 30s update_interval: 30s - random: name: "Fast Random" transition_length: 3s update_interval: 4s