Integración domótica Anniversaries, gratuita y de código abierto

Cuenta atrás de cumpleaños y fechas importantes: días, años, escenas, widgets.
Presentación
Esta integración hace la cuenta atrás de las fechas que importan: cumpleaños, aniversarios de boda, conmemoraciones, eventos. Para cada fecha indica los días restantes, la edad que se cumple o los años transcurridos, y puede iniciar sus escenas el mismo día, unos días antes o en el recordatorio propio de cada fecha.
- Cada fecha se convierte en un dispositivo: días restantes, años en el próximo aniversario y años transcurridos, días pasados (opción), días hasta el medio aniversario (opción), próxima fecha.
- Disparadores de escena: una fecha es hoy, una fecha es dentro de N días, recordatorio de una fecha (filtro «años redondos»), una fecha alcanza 1000 días. Acción de escena: obtener las próximas fechas como texto para enviar.
- Tres widgets del panel: próximas fechas, cuenta atrás de una fecha, fechas del mes. Un botón Añadir fecha directamente en el panel.
- Los nombres tradicionales de los aniversarios de boda: bodas de papel, de porcelana, de oro…

La imagen de arriba es una ilustración generada, no una captura de pantalla.
Requisitos previos
- Gladys Assistant 5.2.0 o posterior.
- La zona horaria de Gladys bien configurada (Ajustes > Sistema): los días cambian a su medianoche.
- Nada más: ni cuenta, ni dispositivo, ni acceso a Internet.
Configuración
Las fechas no se escriben en JSON: cada una es un pequeño formulario, tras los botones al final de la página de configuración.
| Campo o botón | Descripción |
|---|---|
| Hora de los eventos de escena | La hora (0 a 23) a la que las escenas «hoy», «dentro de N días» y de recordatorio empiezan cada día. 9 por defecto. |
| Recordatorio por defecto | Días antes de una fecha para sus escenas «Recordatorio de una fecha», para las fechas sin recordatorio propio. 7 por defecto, 0 para ninguno. |
| Idioma de los textos | Nombres de funciones, próxima fecha, resúmenes de escenas, mensajes de los botones. Automático: el idioma de su panel en cuanto se haya mostrado un widget, deducido de la zona horaria de Gladys antes de eso. Elíjalo antes de añadir sus dispositivos: un dispositivo conserva los nombres de funciones con los que se creó. |
| Añadir una fecha | Nombre, día, mes, año (vacío si se desconoce), tipo, cada año o una sola vez, recordatorio propio, «contar los días pasados», «medio aniversario». |
| Modificar una fecha | El nombre o número de la fecha (como lo muestra «Listar las fechas») y solo los campos que cambian. Un año 0 quita el año. |
| Eliminar una fecha | Su nombre o número. Su dispositivo permanece en Gladys hasta que lo elimine. |
| Listar las fechas | Todas las fechas con su número, próxima vez, años y opciones, y el día y la zona horaria que usa la integración. |
Las fechas se guardan en la configuración de la integración en Gladys: siguen sus copias de seguridad de Gladys.
Uso
Fechas
- Con o sin año: sin él, la integración cuenta los días pero no los años.
- Cada año o una sola vez: una fecha única (un evento, un plazo) necesita su año; una vez pasada, sus días restantes se vuelven negativos y sale de los widgets.
- El 29 de febrero cae el 28 de febrero los demás años.
- Tipo: cumpleaños, aniversario de boda, aniversario, conmemoración, evento u otro. Las escenas y los widgets pueden filtrar por él.
- Un aniversario de boda con su año recibe su nombre tradicional (bodas de papel el 1.er año, de porcelana a los 20, de oro a los 50…: los regalos tradicionales, de 1 a 50 años y luego cada 5 años), en los widgets y las escenas. Cada idioma sigue su propia tradición: en francés, inglés o alemán, los nombres (y los años con nombre) no son los mismos.
Dispositivos
Tras Añadir una fecha, abra la pestaña Descubrir de la integración y añada la fecha: se convierte en un dispositivo con su nombre.
- Días restantes (días; 0 el mismo día).
- Años en el próximo aniversario y años transcurridos (si se conoce el año; «edad» para un cumpleaños).
- Días pasados (opción «contar los días pasados»): desde la última vez, o desde una fecha única.
- Días hasta el medio aniversario (opción), seis meses después de la fecha.
- Próxima fecha, escrita en el idioma de la integración.
Los valores cambian a medianoche en la zona horaria de Gladys. Si cambia las opciones de una fecha, su dispositivo recibe nuevas funciones: pulse Actualizar en la pestaña Descubrir.
Widgets del panel
- Próximas fechas: la fecha más cercana se destaca arriba (su nombre, tipo y día, una tesela de color con los días restantes y otra con la edad o los años), luego las siguientes en filas a todo lo ancho: a la izquierda un icono del tipo (regalo, corazón, estrella…), el nombre y los años, a la derecha el día y los días restantes («24 dic · 69 d», «Hoy» el mismo día). Colores del icono: verde el mismo día, naranja dentro del recordatorio, azul para los años redondos (10, 20, 25, 30… y 18 para un cumpleaños), gris después (las teselas siguen azules). Ajustes: cuántas (la destacada incluida), dentro de cuántos días, qué tipos, mostrar o no el botón. El nombre de las bodas aparece en la leyenda de la fecha destacada y en el widget Cuenta atrás.
- Cuenta atrás: una fecha entre los dispositivos añadidos: días restantes, años, días pasados, fecha de la boda o del evento (no la fecha de nacimiento: la edad y el día ya lo dicen), medio aniversario y nombre de las bodas. «Próxima edad» es la edad que se cumplirá, «Días pasados» los días desde la última vez. El recordatorio no aparece: solo sirve para las escenas.
- Fechas del mes: todas las fechas del mes en curso (o del siguiente), días pasados incluidos, en el orden de los días, con las mismas filas y colores; la próxima fecha por venir del mes se destaca con sus teselas. 8 como máximo, la leyenda indica cuántas hay. Ajustes: qué mes, qué tipos, mostrar o no el botón.
Próximas fechas y Fechas del mes tienen un botón Añadir fecha: un pequeño formulario con el nombre, la fecha (primero el día: 24/12/1995, o 24/12 sin el año), el tipo y la repetición. El recordatorio propio y las opciones se ajustan después con «Modificar una fecha» en la configuración. Como con el botón de la configuración, añada luego la fecha desde la pestaña Descubrir para obtener su dispositivo.
Escenas
Disparadores, enviados una vez al día a la hora de la configuración (nunca dos veces para la misma fecha el mismo día; si Gladys estaba detenida a esa hora, llegan a su vuelta, el mismo día):
- Una fecha es hoy: filtros por fecha y tipos.
- Una fecha es dentro de N días: usted elige N (1 a 60), por ejemplo 7 para «una semana antes».
- Recordatorio de una fecha: cuando una fecha alcanza su propio recordatorio (o el predeterminado).
- Una fecha alcanza 1000 días: cada 1000 días desde la fecha, para las fechas con año conocido (10 000 días de vida, 1000 días desde la mudanza). Variables: nombre, tipo, número de días, fecha de nacimiento o del evento, frase de resumen.
Los tres primeros tienen un filtro Años redondos: vacío, todos los años; «Solo años redondos», las decenas, 25, 75 y los demás múltiplos de 25, y 18 en un cumpleaños.
Variables: nombre, tipo, años cumplidos, nombre de las bodas (vacío para los demás tipos), fecha de nacimiento o del evento (la que escribió), día de la próxima vez, días restantes y una frase de resumen lista («Marie: en 7 días, jueves, 24 de diciembre de 2026 (31 años)», «Claire & Alex: hoy (25 años, bodas de plata)»).
Acción Obtener las próximas fechas: dentro de N días (0 solo hoy), opcionalmente para algunos tipos; devuelve el número, un resumen (una línea por fecha) y la fecha más cercana.
Ejemplos:
- Cuando un cumpleaños es hoy → enviar «{{triggerEvent.data.summary}}» a la familia y poner la luz del salón en un color festivo.
- Cuando una fecha es dentro de 7 días, tipo aniversario de boda → enviarse un mensaje para reservar el restaurante.
- Cuando un aniversario de boda es dentro de 30 días, solo años redondos → enviarse «¡Pronto las {{triggerEvent.data.wedding}}!» para preparar una fiesta.
- Cada lunes a las 8:00 → obtener las próximas fechas en 7 días → enviar el resumen por mensaje.
Transporte
Local: la integración no llama a ningún servicio en línea, nada sale de su Gladys. Su insignia en el catálogo indica «local».
Solución de problemas
- Las funciones de un dispositivo están en inglés: el dispositivo se creó antes de que la integración conociera su idioma, y Gladys nunca renombra las funciones de un dispositivo existente. Elija el «Idioma de los textos» en la configuración, elimine el dispositivo (pestaña Dispositivos) y añádalo de nuevo desde la pestaña Descubrir. La fecha en sí no se pierde.
- Una fecha aparece desplazada un día: compruebe la zona horaria de Gladys (Ajustes > Sistema); «Listar las fechas» muestra el día y la zona horaria que usa la integración.
- Una escena no se ha iniciado: los eventos llegan a la hora de la configuración, no a medianoche. Una fecha añadida después de esa hora envía enseguida sus eventos del día; una fecha nunca envía dos veces el mismo evento el mismo día.
- Falta una función tras una modificación: pulse Actualizar en el dispositivo en la pestaña Descubrir.
- Otra cosa: abra una issue en GitHub (https://github.com/William-De71/gladys-anniversaries/issues) con las versiones de Gladys y de la integración, el resultado de «Listar las fechas» y los registros de la integración (Ajustes > Supervisión).
Parámetros de configuración
Estos son los parámetros que Anniversaries te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sus fechas | section | No | Cómo funciona: 1. Elija primero el «Idioma de los textos» más abajo: un dispositivo conserva los nombres de funciones con los que se creó. 2. Declare cada cumpleaños, aniversario o fecha importante con «Añadir una fecha» (o el botón de los widgets del panel). 3. Abra la pestaña Descubrir y añada la fecha: se convierte en un dispositivo que cuenta los días. 4. Añada los widgets a un panel y use los disparadores de escena (una fecha hoy, dentro de N días, en su recordatorio, cada 1000 días). Nada sale de su Gladys: la integración no llama a ningún servicio en línea. |
| Hora de los eventos de escena | number | No | Las escenas «hoy», «dentro de N días» y de recordatorio empiezan cada día a esta hora (0 a 23, en la zona horaria de Gladys). Los días cambian a medianoche. |
| Recordatorio por defecto (días antes) | number | No | Para las fechas sin recordatorio propio. 0: ningún recordatorio. |
| Idioma de los textos | select | No | Nombres de las funciones, próxima fecha, resúmenes de escenas y mensajes de los botones. Automático: el idioma de su panel en cuanto se haya mostrado un widget de la integración, deducido de la zona horaria de Gladys antes de eso. Un dispositivo ya creado conserva sus nombres de funciones: elimínelo y añádalo de nuevo desde la pestaña Descubrir para renombrarlas. |
Cómo instalar Anniversaries en Gladys
- En Gladys, abre Integraciones: Anniversaries aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/william-de71/gladys-anniversaries:0.3.2), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/William-De71/gladys-anniversaries.
Anniversaries requiere Gladys >=5.2.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Anniversaries es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene William-De71, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación