Home Automation Notification Lights
July 2023
Easily see the status of a Smart Home in any room in a non invasive way.
Summary
Found the LED Light Bars while browsing Target
Opened the diffuser, removed the RGB LED strip
Cut to length and stuck down the Addressable RGB LED strip
Some have a MOSFET to control the power to the Addressable RGB LED strip
Some have a Capacitive Touch button mounted inside on the top to dismiss notifications
Connect an ESP32 to the LED strip, MOSFET, Capacitive Touch button, and the original USB-C power connector on the back
Create an ESPHome device configuration, partition the Addressable RGB LED strip into 5 segments, flash the ESP32
Parts List:
| Part Name | Unit Cost | Quantity | Part Cost | Link |
|---|---|---|---|---|
| RGB LED Bars | $15 | 1 | $15 | Target Website |
| ESP32 Mini | $5.50 | 1 | $5.50 | Amazon |
| Capacitive Touch Button | %0.50 | 1 | $0.50 | Amazon |
| Total Cost | ~$25 |
Features
-
The top section will change if chores are due or overdue.
Green - All Chores Completed
Yellow - 1 or more due chores
Red - 1 or more overdue chores
-
The section second from the top will change color if packages are expected or delivered.
Green - No deliveries
Blue - USPS, Amazon, FedEx, UPS delivery expected
Yellow - Mail or Package delivered
-
The middle section will change depending on phone state:
Green - Phone idle and charged
Blue - 1 or more notifications
Violet - Incoming call
Red - Low battery
-
The section second from the bottom will change if there are any house alerts:
Green - No alerts
Violet - Doorbell rung
Yellow - 1 or more Warning alert
Red - 1 or more Critical alert. Leak, High Room AQI
-
The bottom section will change based on the house security alarm state:
Green - Alarm armed for home or away
Blue - Alarm disarmed
Yellow - Arm pending
Red - Alarm triggered
ESPHome Configuration
esphome:
name: notification-bar-6
friendly_name: Notification Bar 6
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key:
ota:
password:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip:
gateway:
subnet:
web_server:
port: 80
binary_sensor:
- platform: gpio
id: button
name: "Button"
pin: 35
switch:
# Switch output to control LED strip power
- platform: gpio
pin:
number: 25
inverted: true
id: enable
name: "LED Strip Power"
restore_mode: "RESTORE_DEFAULT_ON"
light:
- platform: fastled_clockless
chipset: WS2812B
pin: 27
num_leds: 30
rgb_order: GRB
id: led_strip
name: "LED Strip"
effects:
- pulse:
- platform: partition
name: "Security Alarm"
segments:
- id: led_strip
from: 0
to: 5
effects:
- pulse:
- platform: partition
name: "House Alert"
segments:
- id: led_strip
from: 6
to: 11
effects:
- pulse:
- platform: partition
name: "Notification"
segments:
- id: led_strip
from: 12
to: 17
effects:
- pulse:
- platform: partition
name: "Mailbox"
segments:
- id: led_strip
from: 18
to: 23
effects:
- pulse:
- platform: partition
name: "Chores"
segments:
- id: led_strip
from: 24
to: 29
effects:
- pulse: