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:
Previous
Previous

Homelab

Next
Next

IoT USB Switcher