Verdaderamente me gusta trabajar desde casa y tener la capacidad de estar en mi propio espacio, al tiempo que evita la indigencia de desplazarse en el transporte divulgado. Dicho esto, a menudo puede ser difícil comunicarse con los miembros de la tribu, los socios o solo las personas con las que está viviendo que está inevitablemente ocupado en un momento cedido, como cuando está en una reunión. Es por eso que construí una pantalla “en el donaire” utilizando una pantalla con ESP32.
La pantalla que utilicé aquí es el WT32-SC01 Plus, pero cualquier antiguo moderado servirá, incluido el Pantalla amarilla permuta. Siempre que pueda conectarlo a su red doméstica, implementar el escoma y conectarlo al asistente de inicio, incluso puede construir lo mismo que tengo aquí. En el banda del software, todo lo que necesita es la integración del calendario de Google, o cualquier forma de mostrar un calendario en el asistente de inicio que contenga sus reuniones.
Configuración del asistente de casa
Preparando nuestros sensores de plantilla
Dependiendo del servicio de calendario que use, lo conectará directamente al Asistente de inicio o lo traerá a través de un enlace ICS. Calendario de Google Funciona muy perfectamente para esto, ya que expone cada calendario como su propia entidad y le brinda los horarios de inicio y fin, el título y si un evento está efectivamente en progreso. Todas mis reuniones relacionadas con el trabajo están en el calendario de correo electrónico de mi trabajo, por lo que no hay indigencia de filtrar cumpleaños, recordatorios de facturas o cualquier otra cosa.
Una vez que haya anexo su calendario, verá entidades individuales para los calendarios separados adjuntos a ese correo electrónico. Haga clic en un calendario surgirá la subsiguiente información:
-
Mensaje (título)
-
Todo el día
-
Hora de inicio
-
Tiempo de finalización
-
Ubicación
-
Descripción
El calendario en sí incluso actúa como un sensor binario, y cambiará a “On” cuando un evento esté en progreso. A partir de ahí, creé algunos sensores de plantilla para ayudar a rastrear información específica que contiene. Estos sensores son:
-
Título
-
Hora de inicio
-
Tiempo de finalización
-
En la indicación ahora
-
La próxima indicación es hoy
Tanto los ayudantes “Título” como los que “en Call Now” no son estrictamente necesarios, pero ayudan a sostener todo organizado y en un solo ocasión. Sin secuestro, se requiere la hora de inicio y la hora final, ya que el asistente de inicio informa la hora y la aniversario de una indicación en este formato: “12 de septiembre de 2025 a las 5:30:00 p.m.”
Por fortuna, es conveniente obvio extraer los datos de tiempo de esta prisión. La función AS_DATETIME del asistente de inicio utiliza el analizador de aniversario de Python debajo del capó, que puede manejar de guisa inteligente esta prisión para extraer el tiempo. He contabilizado casos en los que se proporciona una zona horaria y no se proporciona una zona horaria, y con la integración del calendario de Google, no se proporciona uno. Por ejemplo, para venir a la hora de inicio se ve así:
- name: "Cal Display Start HHMM"
state: >
{% set s = state_attr('calendar.adam_xda_developers_com','start_time') %}
{% if s %}
{% set dt = as_datetime(s) %}
{% if dt.tzinfo is not none %}
{ timestamp_custom('%H:%M', true) }
{% else %}
{{ dt.strftime('%H:%M') }}
{% endif %}
{% else %}-{% endif %}
La revelación final “Else” simplemente llena un tablero si no puede descubrir el START_TIME por cualquier razón.
Ejecutamos la misma plantilla para la hora de finalización (obviamente apuntando a “End_time” en su ocasión), y un método similar para detectar incluso si la aniversario en la marca de tiempo es hoy. De lo contrario, la próxima hora de indicación se extraería de la próxima indicación en universalque podría estar a varios días de distancia.
Configuración de la panorama
La parte obvio
Con las piezas del calendario en su ocasión, la pantalla se convierte en la parte obvio. Flashear el dispositivo con Espírituluego modifique el YAML para añadir sus sensores y dibuje los resultados a la pantalla. He mantenido a cada sensor claramente famoso para que el mapeo sea obvio de un vistazo: un sensor para si una reunión está en vivo, uno para el título de la reunión, uno para los horarios de inicio y finalización, y una que replica a la única pregunta que a las personas efectivamente les importa cuando no estoy en una indicación … si hay otra hoy.
Para fines de prueba, es posible que deba retornar a cargar la integración del calendario de Google (suponiendo que lo esté utilizando) para que el asistente de inicio pueda extraer las nuevas entradas en su calendario. De lo contrario, puede tomar unos minutos para emerger. Sin secuestro, cuando el asistente de casa hace Poner al día esos títulos, la pantalla se vuelve a trabajar. Todo el trabajo pesado se realiza en el banda del servidor, y todo lo que la pantalla tiene que hacer es mostrar los resultados.
La única dialéctica involucrada es el cambio en lo que se dibuja en función de los resultados de esos títulos. Si estoy en una indicación, cambia a “en el donaire”, mostrando cuándo termina. Si estoy fuera de una indicación, muestra la subsiguiente si es el mismo día. De lo contrario, simplemente dice “No más reuniones hoy” y lo deja así. Todavía muestra el título de la reunión (aunque puede eliminarlo si es sensible), por lo que no es solo útil para los demás a mi más o menos, es útil para a míincluso.
En cuanto a los colores, bueno, el rojo para “en el donaire” puede parecer un cliché, pero funciona. Lo mismo ocurre con el mensaje verde “regalado”. Si piensa en ello como un sistema de semáforo, el “en el donaire” rojo es un aviso claro “No ingrese”, mientras que el “de gorra” significa que estoy fuera de una indicación y que es seguro ingresar.
En el futuro, probablemente actualizaré esto usando Hass Agent (o una alternativa) para detectar cuándo mi cámara web o micrófono está activa, y lo use para anularlo incluso si no hay cero en mi calendario. A veces tengo llamadas ad-hoc, o tengo una indicación en un servicio completamente diferente, por lo que con una combinación de lección directamente desde mi computadora, y de mi calendario, cubre todo.
Si quieres comenzar con esto, he puesto todo el código En mi repositorio de Github¡!






