Lazy / Simple Door Dashboard (LED + Paper)
I have multiple children and my house has multiple openings. One of my biggest annoyances is kids leaving doors open - especially if the temperature is either hot or cold. I installed this VERY SIMPLE door dashboard in the center of my house so at a quick look I can identify what’s open and what’s closed.
Supplies
- MyQ garage door
- August Front Door
- Zigbee door sensors
- WLED instance with SK6822 running on ESP8266 (60 led/meter)
- 1 Sheet o`paper
- Scotch Tape
What I did
Knowing I had a 60 led / meter light strip - I made an image (with the appropriate spacing .656
inch per line) and labeled each line with an “Area” of my house. I figured I could “wrap” this printout around an LED Strip and then figure out how to enable/disable the lights accordingly.
- In the case of my front door I use yellow to show closed+locked
- For everything Red means open
The next step was to play around wiht WLED and try to understand the API. I looked at the json/state
api end point and identified I could modify the LEDs directly.
So taking that into account I built out a rest command inside of configuration.yaml
- and as you can see below its rather on the complicated and detailed side!
Rest Command
I configured a rest-command to integrate with a WLED instance
rest_command:
door_lights_1:
url: http://192.168.1.144/json/state
method: post
content_type: "application/json; charset=utf-8"
payload: '{"seg": {"i":[[{{ iif(is_state("binary_sensor.front_door_open","off") and is_state("lock.front_door","locked"),"0,0,0","") }}{{ iif(is_state("binary_sensor.front_door_open","off") and is_state("lock.front_door","unlocked"),"100,100,0","") }}{{ iif(is_state("binary_sensor.front_door_open","on"),"100,0,0","")}}], [{{ iif(is_state("cover.garage_door","closed"),0,1) * 100}},0,0], [{{ iif(is_state("binary_sensor.back_door_contact", "off"), 0, 1) * 100 }},0,0],[{{ iif(is_state("binary_sensor.shed_contact","off"), 0, 1) * 100 }},0,0]]}}'
Once this was tested and working the next step was to setup an automation which triggers it (as follows below)
Automation
alias: Door Announcements
description: This will fire off various TTS calls when stuff happens.
trigger:
- platform: state
entity_id:
- binary_sensor.back_door_contact
id: back_door
- platform: state
entity_id:
- binary_sensor.front_door_open
id: front_door
- platform: state
entity_id:
- cover.garage_door
id: garage_door
- platform: state
entity_id:
- binary_sensor.shed_contact
- platform: state
entity_id:
- lock.front_door
condition: []
action:
- service: rest_command.door_lights_1
data: {}
mode: single
And now I have a working door notification display at zero cost because mostly I just had stuff kicking around. Its easy at night to take a peek and see if there are any LEDs lit and then go close whatever was left open.
And here is another view of the coord mess !