Assist Mirror Satellite

Hi everyone !

Finally have my project in a phase where I can at least present it.
Since I had a big mirror in my living room I decided to give it a bit more life !

Yes , my assist satellite is a mirror :smiley:

Setting up my play time with this PS4 automation so I don’t have to turn everything on.

  1. Turns on TV
  2. Turns on PS4
  3. All other lights are based on a different TV Automation which turn on close to sunset.
    ( I am basically saying Turn on Playstation in Portuguese ) :

Watch here: https://www.youtube.com/watch?v=UgGb9ESEt60

It starts with a blue(ish) light surrounding the mirror when Wake Word is detected and when it starts processing it starts to go faster as you can see in the video above.
In case of success it simply shows a green light.

You can check just some basic commands here:

Of course this will be done (not for now) :smiley:
https://www.youtube.com/watch?v=sFh36gvV6LQ

How was this done ?

Mirror

An LED strip with a ESP chip and WLED installed.
Great documentation here :
https://kno.wled.ge/

Mic

ATOM Echo behind the back of the mirror
Link: $13 voice assistant for Home Assistant - Home Assistant

The fun part

The light animations are simple scripts located in Home assistant to send WLED light stripe the desired state. Just like this : WLED - Home Assistant

After setting the desired states for when the Assist is “Listening” | “Thinking” | “Succefully done the automation” then it’s a matter of going to ESPHOME custom integration and override the commads like this .

Note: On the script you can look for script.on_mic_listen | script.1709405312973 | script.on_mic_success which are the scripts created to run in each state.

voice_assistant:
  id: va
  microphone: echo_microphone
  speaker: echo_speaker
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  vad_threshold: 3
  on_listening:
    - homeassistant.service:
        service: script.on_mic_listen
  on_stt_vad_end:
    - homeassistant.service:
        service: script.1709405312973
  on_tts_start:
    - homeassistant.service:
        service: script.on_mic_success
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        effect: "Slow Pulse"
  on_end:
    - delay: 100ms
    - wait_until:
        not:
          speaker.is_playing:
    - script.execute: reset_led
  on_error:
    - light.turn_on:
        id: led
        red: 100%
        green: 0%
        blue: 0%
        brightness: 100%
        effect: none
    - delay: 1s
    - script.execute: reset_led
  on_client_connected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led
  on_client_disconnected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.stop:
          - light.turn_off: led

Let me know what you think!
See you!

Awesome.i really like the idea . No fiddle with building an assistant.neat solution

1 Like

The results of the contest are out!
They may be of interest to you :wink:
Have a look!

1 Like

Thank you all for the appreciation ! I’m thrilled to see my work being valued .
While I may not have won the contest to be part of the live stream, I want to express my enthusiasm for joining in if there’s ever an opportunity. :smiley:

4 Likes

Muito bem conseguido, parabéns.

1 Like

Obrigado camarada :smiley:

Wow!

While many other entries are fancy and nice, yours is the biggest winner for me for the sheer simplicity of it! A simple WLED and the voice chip hidden behind the mirror (or maybe behind a TV, or a painting!!!) is freaking chip and elegant at the same time. It’s also very doable for pretty much anyone not electronics-savvy!

If only I hadn’t broken my two WLED strips
 and and any free time around


Parabéns pela solução genial!