Hacking A Light Fixture To Free It… Cloud Free

I purchased the light and took a little bit to reverse engineer what pins did what but in the end it was one of the easier devices to hack. The main reason is all the IO is controlled by the main ESP. They do not have a secondary microcontroller that needs to be interfaced with. The main center light and the RGB ring are controlled independently.

ESPHome Config

esphome:
  name: hallway-rgbcct-light
  friendly_name: Hallway RGBCCT Light
  on_boot:
    priority: 600
    # ...
    then:
    - light.turn_on:
        id: hallway_rgb_light
        brightness: 50%
        red: 25%
        green: 0%
        blue: 100%
    - light.turn_on:
        id: hallway_cwww_light
        brightness: 70%
        cold_white: 0%
        warm_white: 100%

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: ""
ota:
  platform: esphome
  password: ""

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret AP_ssid
    password:  !secret AP_password

captive_portal:

sensor:
  - platform: uptime
    name: ${friendly_name} Uptime

  - platform: wifi_signal
    name: ${friendly_name} Signal Strength

output:
  - platform: esp8266_pwm
    id: output_cw
    pin: GPIO5
  - platform: esp8266_pwm
    id: output_ww
    pin: GPIO4
  - platform: esp8266_pwm
    pin: GPIO1
    id: output_r
  - platform: esp8266_pwm
    pin: GPIO12
    id: output_b
  - platform: esp8266_pwm
    pin: GPIO13
    id: output_g

light:
  - platform: cwww
    name: "Hallway CWWW Light"
    id: hallway_cwww_light
    cold_white: output_cw
    warm_white: output_ww
    cold_white_color_temperature: 5700 K
    warm_white_color_temperature: 3000 K
  - platform: rgb
    name: "Hallway RGB Light"
    id: hallway_rgb_light
    red: output_r
    green: output_g
    blue: output_b