devices.esphome.io
Holman RGB Wifi Connected Controller
Holman RGB Wifi Connected Controller
Device Type: lightElectrical Standard: auBoard: esp8266
General Notes
Available from Bunnings
Uses TYWE3L module. Can be programmed without removing from PCB.
GPIO Pinout
Pin | Function |
---|---|
GPIO0 | Panel Button |
GPIO12 | PWM Green |
GPIO13 | PWM Red |
GPIO14 | PWM Blue |
Status LED Not Implemented
The user manual says that the power led on the panel will flash on initialisation (wifi status?). I have not been able to determine what pin this led is connected so this configuration does not support status_led.
Configuration
substitutions: name: "rgb-01" friendly_name: "RGB 01" project_name: "holman.CLXRGB60" project_version: "1.0" device_description: "RGB Light"
esphome: name: "${name}" comment: "${device_description}" project: name: "${project_name}" version: "${project_version}"
esp8266: board: esp01_1m
# Enable logginglogger:
# Enable Home Assistant APIapi: encryption: key: "your key"
ota: password: "your password"
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Rgb-01 Fallback Hotspot" password: "fallback password"
captive_portal:
sensor: - platform: wifi_signal name: "${friendly_name} wifi signal" update_interval: 600s - platform: uptime name: Uptime Sensor id: uptime_sensor update_interval: 60s disabled_by_default: true on_raw_value: then: - text_sensor.template.publish: id: uptime_human state: !lambda |- int seconds = round(id(uptime_sensor).raw_state); int days = seconds / (24 * 3600); seconds = seconds % (24 * 3600); int hours = seconds / 3600; seconds = seconds % 3600; int minutes = seconds / 60; seconds = seconds % 60; return ( (days ? to_string(days) + "d " : "") + (hours ? to_string(hours) + "h " : "") + (minutes ? to_string(minutes) + "m " : "") + (to_string(seconds) + "s") ).c_str();
#################################binary_sensor: # Front Panel On/Off - platform: gpio pin: number: GPIO0 inverted: true mode: input: true pullup: true name: "${friendly_name} Panel Button" id: panelButton on_click: min_length: 50ms max_length: 350ms then: - light.toggle: rgbLight
light: - platform: rgb name: "RGB Lights" red: output_component_red green: output_component_green blue: output_component_blue effects: # Use default parameters: - random: # Customize parameters - random: name: "Slow Random Effect" transition_length: 30s update_interval: 30s - random: name: "Fast Random Effect" transition_length: 4s update_interval: 5s - pulse: - pulse: name: "Fast Pulse" transition_length: 0.5s update_interval: 0.5s - pulse: name: "Slow Pulse" # transition_length: 1s # defaults to 1s update_interval: 2s - strobe: - strobe: name: Strobe Effect With Custom Values colors: - state: true brightness: 100% red: 100% green: 90% blue: 0% duration: 500ms - state: false duration: 250ms - state: true brightness: 100% red: 0% green: 100% blue: 0% duration: 500ms - flicker: - flicker: name: Flicker Effect With Custom Values alpha: 95% intensity: 1.5%
output: - platform: esp8266_pwm id: output_component_red pin: GPIO13 - platform: esp8266_pwm id: output_component_green pin: GPIO12 - platform: esp8266_pwm id: output_component_blue pin: GPIO14
button: - platform: restart id: restart_button name: "${friendly_name} Restart" disabled_by_default: true
text_sensor: - platform: wifi_info ip_address: name: "${friendly_name} IP Address" disabled_by_default: true bssid: name: "${friendly_name} BSSID" disabled_by_default: true - platform: template name: Uptime id: uptime_human icon: mdi:clock-start entity_category: diagnostic