The goal of this project is to be able to build a fully functional and easy to use led strip controller letting people with no programation skills to make their own
- RGB Color Selection
- Brightness
- Fade
- Transitions
- Effects with Animation Speed
- Over-the-Air (OTA) Upload from the ArduinoIDE!
- Music Visualizer (Various effects)
- DrZZs Effects
- bkpsu Effects
- Webserver for control and configuration
MQTT Discovery
- Install the Mosquitto add-on with the default configuration via 'Hass.io > ADD-ON STORE'. (Don't forget to start the add-on & verify that 'Start on boot' is enabled.)
- Create a new user for MQTT via the
Configuration > Users (manage users)
. (Note: This name cannot be "homeassistant" or "addon") - Once back on-line, return to
Configuration > Integrations
and select configure next toMQTT
.
Broker: YOUR_HASSIO_IP_ADDRESS
Port: 1883
Username: MQTT_USERNAME
Password: MQTT_PASSWORD
Enable discovery: CHECKED
- Download ESP8266Flasher.exe
- Plug your ESP8266 and click on
Flash
. (then you can disconnect the ESP8266 and plug it on a power suply) - When the led of the ESP8266 blink quickly use a computer or a smartphone to connect on the wifi. (it will be limited, no network)
- Now go to http://192.168.4.1 and enter WIFI information plus MQTT informations and a name (they are all required), click Submit and the ESP8266 will reboot.
You will now have a light entity in Home Assistant named uppun the name you have inserted exemple light.stairs
.
If your entity appear nowhere it might be normaln try to edit your overview to add it.
One last thing, the white value is controlling the speed of the effects
OTA Uploading
When asked by the webconfigurator you can set a ota login to be able tu use it with Arduino IDE
Leds meaningStatic : Initialising
- Static : Initialising
- Blinking slowly : Connecting to Wifi
- Blinking fast : Pairing mode, had created a ad hoc wifi
- [FLASH]Short press : cycle effects and Home Assistant publication
- [FLASH]Long press (6sec) : Flush saved configuration
- RESET : Reboot the device
Manual
Copy past the Home Assistant/config/packages
directory into Home Assistant config
directory
Now edit your config/packages/rgb_strip.yaml
file, replace stairs by anything you want
And add this to you HA configuration.yaml
(Making HA reading packages
dircetory)
homeassistant:
packages: !include_dir_named packages
Basic Automation with SensorWhen using light.turn_on
the strip turn on with the last runned effect
A basic automation with a sensor
automation:
- alias: Turn on strip
trigger:
platform: state
entity_id: binary_sensor.stairs_sensor
to: 'on'
condition:
- condition: state
entity_id: light.stairs_strip
state: 'off'
action:
- service: light.turn_on
entity_id: light.stairs_strip
- service: automation.turn_on
entity_id: automation.turn_off_strip
- alias: Turn off strip
trigger:
platform: state
entity_id: light.stairs_strip
to: 'off'
action:
- service: light.turn_off
entity_id: light.stairs_strip
- service: automation.turn_off
entity_id: automation.turn_off_strip
Python UDP VisualizerFirst thing first, don't forget to modify the python-visualizer/config.py
file acordingly to your configuration
Windows
Install dependencies using anaconda package manager
After installing Anaconda, run cmd.exe and execute
conda install numpy scipy pyqtgraph pyaudio
The you can run python-visualizer/visualization.py
Ubuntu
apt-get install python3 python3-pip
pip install numpy scipy pyqtgraph pyaudio
The you can run python-visualizer/visualization.py
Main ESP8266 source code : BRUH Automation
Added effects : Scott (Fma965)
UDP Visualizer : Scott Lawson
Conbtinious Integration : Adafruit
FastLED SPI for ESP8266 : Benoit Anastay
FastLED Animation Library : FastLED
Webserver for wifi setup : Christopher Strider Cook
Arduino Client for MQTT : Nick O'Leary
Arduino JSON library : Benoît Blanchon
Arduino SDK : Arduino
ESP8266 core for Arduino : ESP8266 Community Forum
NodeMCU Flasher :Rui Huang
Comments