Zum Hauptinhalt springenZur Hauptnavigation springen

RGBW-LED WiFi Controller mit ESPHome

Kategorie:
hardware
Unterkategorie:
pcb
Pfad:
templates/hardware/rgbw-led-wifi-controller-12v-smd
Tags:
#pcb#esphome
Zur Übersicht

PCB-Fertigungsdateien (im Download enthalten)

KiCad-DesignKiCAD Tutorial →
Gerber1 BOM, 11 Dateien

Beschreibung & Dokumentation

RGBW-LED WiFi Controller mit ESPHome

Ein update meines Wi­Fi-LED-Controller für 12 V RGBW Stripes (nicht-adressierbar), für ESPHome + Home Assistant.
Diese Variante setzt überwiegend auf SMD Bauteile und einen ESP12f.
Er ist primär als Controller für nicht adressierbare RGBW-LED Stripes geda...

Projekt-Assets (1)

Grafiken (1)

rgbw-smd.jpg

rgbw-smd.jpg

432.6 KB

Code-Varianten

Haupt-KonfigurationStandard
Tipp: Markieren & ⌘/Ctrl + C zum Kopieren
configuration.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 substitutions: effectCount: "9" esphome: name: shys-rgbw-smd friendly_name: shys-rgbw-smd esp8266: board: esp01_1m wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: "RGB SMD" password: "12345678" captive_portal: logger: hardware_uart: UART1 api: encryption: key: !secret ESPHOME_ENCRYPTION_KEY ota: platform: esphome password: !secret ota_password binary_sensor: - platform: gpio name: "Mode Button" pin: GPIO4 id: mode_button on_press: then: - script.execute: changeMode light: - platform: rgbw id: my_light name: "RGB Arbeitsplatte" red: red_out green: green_out blue: blue_out white: white_out effects: - random: name: "Slow Random" transition_length: 15s update_interval: 30s - random: name: "Fast Random" transition_length: 3s update_interval: 5s - flicker: name: "Flicker" alpha: 95% intensity: 12.5% - pulse: name: "Slow Pulse" transition_length: 1s update_interval: 2s - strobe: name: "Strobe" colors: - state: true brightness: 100% red: 100% green: 0% blue: 0% duration: 1s - state: true brightness: 100% red: 0% green: 0% blue: 100% duration: 1s - strobe: name: "Green" colors: - state: true brightness: 100% red: 0% green: 100% blue: 0% duration: 10s - state: true brightness: 100% red: 0% green: 100% blue: 0% duration: 10s - strobe: name: "Blue" colors: - state: true brightness: 100% red: 0% green: 0% blue: 100% duration: 10s - state: true brightness: 100% red: 0% green: 0% blue: 100% duration: 10s - strobe: name: "Red" colors: - state: true brightness: 100% red: 100% green: 0% blue: 0% duration: 10s - state: true brightness: 100% red: 100% green: 0% blue: 0% duration: 10s - strobe: name: "Purple" colors: - state: true brightness: 100% red: 70% green: 0% blue: 100% duration: 10s - state: true brightness: 100% red: 70% green: 0% blue: 100% duration: 10s output: - platform: esp8266_pwm id: red_out pin: GPIO14 - platform: esp8266_pwm id: green_out pin: GPIO12 - platform: esp8266_pwm id: blue_out pin: GPIO13 - platform: esp8266_pwm id: white_out pin: GPIO5 script: - id: changeMode then: - globals.set: id: effect value: !lambda |- if(id(effect)+1 > id(effects).size() ){ return 0; } else { return id(effect)+1; } - if: condition: lambda: "return (id(effect) >= id(effects).size());" then: - light.turn_off: my_light else: - light.turn_on: id: my_light effect: !lambda "return id(effects)[id(effect)];"