Light Up Buttons - Bedside Command center

Hi everyone,

So bit of background, I use a voice assistant to control a lot in the house, but there are times where the command needs to be specific (brightness, color_temp etc), and times when I dont want to use voice as may wake people up (wife/newborn). Using the App in the night isnt an option as takes too long, the screen is super bright and just cant be arsed to fumble with the phone faceID/PIN.

Plan - build a silent operating command center for the bedside to turn on my light, warm color temp and at 2% brightness, know when i’ve taken tablets in the AM and PM.

Requirements:

  1. Silent
  2. Feedback so i know its on
  3. send a command that can do multiple of things at once.

My Solution is ESP8266 with ESPHome and Node-Red (but you can use classic automations if you so choose)

Hardware:
Plastic Project Box
Arcade LED buttons
Wemo D1
cable (if you want to be fancy then some crimps and paddle ends to join to the switch)
Micro USB to USB cable
1" spade Drill bit
Dremel (drill for cutting micro-USB hole)

Steps:

  1. If you dont have ESPHome installed, thats the first part. I used docker (be sure to add a volume and surface the ports). My docker command:
docker run --restart=always --net=host --name=esphome -v /[location]/docker/esphome:/config -it esphome/esphome
  1. Add a new ‘node’ in ESPHome. Follow the instructions to add your Wifi, and set a password for connection from HomeAssistant.

  2. Edit ESPHome code (see code below). I used binary_outputs for the LEDs, and then surfaced those binary_outputs as lights in HomeAssistant.
    The switches I set up as binary_sensors so HA can detect the button press (details below about building the flow)

CODE HERE
I did not set up conditions and rules in the ESPHome as i’ll be doing it all in Node-Red.

  1. Wiring


Test on breadboard if you have it. I soldered the Male breadboard cable to the Wemo D1 pin holes, you can attach the Wemo D1 mounts for the breadboard if you want - whatever is your preference. I also soldered the wires directly to the switches, but as mentioned above you can get fancy and use proper connectors and paddles.
NOTE BEFORE PROCEEDING…
DO NOT solder the wires on the switches yet, just strip the wire and use the hole on the switch connector like so, as you will need to remove this to seat the switch in the plastic project box.

This is the wiring diagram - I used 3 switches but you can use more, and i’ve only highlighted the 1 switch as the rest are the same.
NB - the way I wired it I joined the GND of the switch and LED connections together at the switch, so I only need to run a single cable to the GND on the WEMO.

  1. Connect to HA - LOVE LOVE LOVE the ESPHome integration in the configuration menu. Simply provide the IP address of the ESPHome and the password, and the entities are automatically added.

  2. Test in HA. Switch on the LED light and check it lights.
    Push the switch and check the binary_sensor comes on.

  3. drill holes in plastic boxes. Also be sure to ensure the holes are far enough from each other and the box edges to not touch AND for the nut that screws on the switch inside not to touch each other or the edges.

  4. fit switches and solder up

  5. Cut hole for Micro-USB (i used a dremel)

  6. Configure Node-Red or automations.
    My flow is super basic:

    Light
    If binary_sensor is On > What state is my light.
    If my light is off then turn_on light at brightness_pct: 2, color_temp: 500 AND turn LED light on.
    If my light is on then turn_off light AND turn off LED light.

    Tablets:
    At 7am weekdays and 9am weekends turn on Input_boolean.tablets_am AND turn on LED lights
    If binary_sensor (from AM button) is on then turn off Input_boolean and turn off LED
    [this means I can simply look at the lights and know if i took my tablets, as my tablets are right next to the command center]

If anyone wants me to post the node-red flows I can.

7 Likes

Nice, but I think it is a wemos not a wemo (which is a product too).

Hey there! I’m looking to do pretty much the same thing, would you be able to post the node-red flow? That would be super helpful.
As my set-up is in my office I’m using Hass.io + zigbee2mqtt on a raspberry pi3 in order to operate a Swann battery powered fob (instead of using esphome+momentary buttons) but essentially it’s the same as what you’ve done.

Many thanks in advance! (I’m still a bit of a noob!)

P