Si te encanta pasar tiempo en tu ‘setup’ dale un toque de estilo aprendiendo a crear un escritorio luminoso.
¿Por qué crear un escritorio luminoso?
Antes de nada, cabría preguntarte por qué querrías llevar este proyecto a cabo. Personalmente lo voy a hacer por estos motivos:
- El más evidente, iluminar mi espacio de trabajo. Tanto para no dañar la vista mirando la pantalla en la oscuridad, como para tener iluminación dirigida si quiero tomar notas, trabajar con componentes pequeños, etc.
- Utilizarlo como sistema de notificaciones silencioso. En mi caso es frecuente trabajar mientras escucho música, por lo que suelo aislarme del mundo cuando estoy concentrado. No obstante, quiero que me saquen de mi «burbuja», por ejemplo, cuando llaman al timbre, acaba la lavadora o se aproxima una cita del calendario. Además, prefiero este tipo de notificaciones a las de audio, ya que pueden ser inadecuadas durante una reunión.
- Darle un toque de estilo. Por qué no decirlo, la verdad es que la iluminación siempre me ha parecido la forma más elegante y natural de decorar cualquier espacio.
Requisitos previos
Para crear un escritorio luminoso en mi caso voy a utilizar los siguientes componentes, aunque puedes usarlo como inspiración para crear tu propio espacio:
- Mi escritorio de doble altura, pensado para crear un espacio despejado y eficiente, que nos va a venir genial para crear un escritorio luminoso.
- Una tira LED WS2812B integrada en Home Assistant con WLED, situada justo debajo en la parte inferior de la doble altura.
- Una bombilla Yeelight integrada en Home Assistant, colgada de una escuadra que sujeta una balda sobre el escritorio.
- Opcionalmente, puedes añadir uno de estos botones zigbee para controlar el encendido e intensidad de tus luces.
Por cierto, si quieres puedes descargar de forma gratuita desde nuestro perfil de Patreon este soporte de escritorio que he creado para el SONOFF SNZB-02D y el Tuya Rotary Knob.
Ideas de automatización
Ya ves que en este caso la instalación es muy, muy sencilla. La potencia de crear un escritorio luminoso se encuentra en las automatizaciones que creemos después.
Características de la automatización
Antes de nada, quiero indicarte que voy a crear una única automatización con distintos ‘trigger id’, para tener todo unificado en un mismo sitio (eso sí, asegúrate de seleccionar el modo «En cola» para no perder ninguna notificación).
Además, esta automatización tendrá como condición que alguno de los ordenadores esté encendido, lo cuál haré mediante la integración de NMAP, creando un grupo con los ordenadores.
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
Por otro lado, para facilitar la construcción de las automatizaciones y controlarlas a la vez también he creado un grupo de luces con la tira LED y la bombilla. Para ello sólo tienes que ir a Configuración > Dispositivos y servicios > Ayudantes > Crear ayudante > Grupo > Grupo de luces.
Desencadenantes de la automatización
A continuación te dejo un recopilatorio de los desencadenantes de mi automatización para darte ideas.
- Lo primero, como te comentaba en los requisitos, he añadido uno de estos interruptores con Zigbee2MQTT, que me permite encender y apagar rápidamente ambas luces (mediante el grupo del apartado anterior), así como regular la intensidad. En este único caso he creado una automatización independiente, ya que quiero que el mando responda incluso cuando los ordenadores están apagados.
alias: 💡Escritorio luminoso
description: ""
triggers:
- domain: mqtt
device_id: 14efc8c2a14870eb222a2511a8658d38
type: action
subtype: single
trigger: device
id: Mando Toggle
alias: Mando Toggle
- domain: mqtt
device_id: 14efc8c2a14870eb222a2511a8658d38
type: action
subtype: rotate_left
trigger: device
id: Mando Izquierda
alias: Mando Izquierda
- domain: mqtt
device_id: 14efc8c2a14870eb222a2511a8658d38
type: action
subtype: rotate_right
trigger: device
alias: Mando Derecha
id: Mando Derecha
actions:
- choose:
- conditions:
- condition: trigger
id:
- Mando Toggle
sequence:
- action: light.toggle
metadata: {}
data:
rgb_color:
- 254
- 240
- 169
effect: Solid
target:
entity_id: light.escritorio
- conditions:
- condition: trigger
id:
- Mando Izquierda
sequence:
- action: light.turn_on
metadata: {}
data:
brightness_step_pct: -30
target:
entity_id: light.escritorio
- conditions:
- condition: trigger
id:
- Mando Derecha
sequence:
- action: light.turn_on
metadata: {}
data:
brightness_step_pct: 30
target:
entity_id: light.escritorio
mode: single
- Encendido automático. Además de tener el control manual, también quiero que se enciendan automáticamente al hacerse de noche si seguimos trabajando en el ordenador, para no dañar la vista.
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: sun
event: sunset
offset: 0
alias: Se hace de noche
id: Noche
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Noche
sequence:
- action: light.toggle
metadata: {}
data:
rgb_color:
- 254
- 240
- 169
effect: Solid
target:
entity_id: light.escritorio
mode: single
- Apagado de ordenadores. Por supuesto, si se apagan ambos ordenadores (en mi caso somos 2), las luces deben apagarse si estaban encendidas.
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: state
entity_id:
- group.ordenadores
to: not_home
alias: Ordenadores apagados
id: Ordenadores apagados
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Ordenadores apagados
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.escritorio
mode: single
- Llaman al timbre! La verdad, es que uno de los principales motivos de crear un escritorio luminoso ha sido detectar de alguna manera cuando llaman a la puerta, aunque tenga la puerta cerrada y esté escuchando música. En mi caso tengo integrado el Ring Intercom, y las luces parpadean en rojo cuando alguien llama.
alias: Escritorio luminoso
description: ""
triggers:
- trigger: state
entity_id:
- event.portal_timbre
id: Telefonillo
alias: Telefonillo
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Telefonillo
sequence:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
effect: Blink
target:
entity_id:
- light.tira_led_escritorio
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
effect: Alarm
target:
entity_id: light.bombilla_escritorio
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.escritorio
mode: single
- Recordatorios periódicos. Como te decía en la introducción, cuando me concentro es habitual que desconecte de todo. Esto incluye olvidarme de hábitos saludables como beber agua, comer una fruta a media mañana/tarde o levantarme. Con este tipo de acciones me aseguro de que un parpadeo luminoso de la tira LED me lo recuerde y se vuelva a apagar unos segundos después (ya que si me pilla ocupado no quiero que me moleste).
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: time
at: "11:00:00"
id: 11h
- trigger: time
at: "16:00:00"
id: 16h
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- 11h
- 16h
sequence:
- action: light.turn_on
metadata: {}
data:
effect: Fade
rgb_color:
- 0
- 213
- 255
target:
entity_id:
- light.tira_led_escritorio
- delay:
hours: 0
minutes: 0
seconds: 3
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.tira_led_escritorio
alias: Recordatorio para ir a por agua
mode: single
- Recordatorios persistentes. Hay otro tipo de eventos que requieren de mi atención (como cuando acaba la lavadora o el lavavajillas). En este caso quiero que la tira LED permanezca encendida con un tono rojo hasta que saque la ropa (y el estado pase a «apagada»).
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: state
entity_id:
- input_select.lavadora
to: Finalizado
id: Lavadora (fin del lavado)
- trigger: state
entity_id:
- input_select.lavadora
to: Apagada
id: Lavadora (apagada)
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Lavadora (fin del lavado)
sequence:
- action: light.turn_on
metadata: {}
data:
effect: Solid
target:
entity_id: light.tira_led_escritorio
alias: Fin de lavado
- conditions:
- condition: trigger
id:
- Lavadora (apagada)
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.tira_led_escritorio
mode: single
- Recordatorios de eventos. Otro uso que tenía previsto es la vinculación de la iluminación con los eventos del calendario, de forma que mientras que haya un evento en curso se ilumine el escritorio. En mi caso lo voy a utilizar con el calendario de Aguacatec, con un objetivo doble. Por un lado, recordarme que hay un evento (hacemos tantas cosas que a veces se me olvida!😅) y también a quien haya alrededor para que no me interrumpa (puedes aplicarlo a tus reuniones). Por otro, crea una iluminación de ambiente que hace que ese ratito sea más inmersivo.
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: calendar
entity_id: calendar.aguacatec
event: start
offset: "-0:15:0"
alias: 15 min antes de un evento
id: Evento Aguacatec
- trigger: calendar
entity_id: calendar.aguacatec
event: end
offset: "0:0:0"
alias: Fin del evento
id: Fin Evento Aguacatec
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Evento Aguacatec
sequence:
- action: light.turn_on
metadata: {}
data:
effect: Fairy
rgb_color:
- 212
- 255
- 0
target:
entity_id: light.tira_led_escritorio
- conditions:
- condition: trigger
id:
- Fin Evento Aguacatec
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.tira_led_escritorio
mode: single
- Notificaciones motivadoras. También lo utilizo para recibir un estímulo luminoso cuando algo bueno sucede, por ejemplo cuando se une un nuevo Patreon o termina la impresora 3D. En estos casos lo detecto mediante la notificación de la aplicación en mi dispositivo móvil, que enciende un efecto arcoiris durante unos segundos.
alias: 💡Escritorio luminoso
description: ""
triggers:
- trigger: state
entity_id:
- sensor.nothing_phone_2a_last_notification
attribute: package
to: com.patreon.android
alias: Nuevo Patreon
id: Nuevo Patreon
conditions:
- condition: state
entity_id: group.ordenadores
state: home
alias: Algún ordenador encendido
actions:
- choose:
- conditions:
- condition: trigger
id:
- Nuevo Patreon
sequence:
- action: light.turn_on
metadata: {}
data:
effect: Rainbow
target:
entity_id: light.tira_led_escritorio
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.tira_led_escritorio
mode: single

