Sacas de la caja el Divoom Times Gate, lo conectas y ves cómo cinco pantallas LCD se iluminan con cotizaciones bursátiles, el tiempo y animaciones de pixel art. La aplicación funciona bien. Pero no dejas de pensar: ¿puedo enviar mis propios datos a esas pantallas? ¿Puedo escribir un script que muestre un panel personalizado en la pantalla tres mientras el reloj sigue funcionando en la pantalla uno?
La respuesta breve es sí, pero no de la forma que podrías esperar. Divoom no ha publicado un documento oficial de API para el Times Gate. En su lugar, la comunidad de desarrolladores ha aplicado ingeniería inversa a la API de red local del dispositivo, ha creado bibliotecas en Python, Rust y C#, y la ha integrado en plataformas como Home Assistant. Esta guía explica cómo se comunica realmente el Times Gate, qué puede hacer su API LAN local y qué herramientas te permitirán empezar a desarrollar más rápidamente.
El tutorial oficial de configuración del Times Gate, del canal de YouTube de Divoom.
Cómo se comunica el Times Gate con tu red
Antes de escribir una sola línea de código, necesitas entender algo que confunde a casi todos los desarrolladores la primera vez: el Times Gate no expone una API local en cuanto lo enciendes. Cuando el dispositivo arranca, se conecta a los servidores en la nube de Divoom mediante MQTT para la mensajería en tiempo real y HTTPS para la sincronización de datos. Solo después de completarse ese enlace inicial con la nube aparece el endpoint HTTP local en tu red.
Esta arquitectura es diferente de la del Pixoo-64, que funciona como un dispositivo local más sencillo. Si ya has usado la API REST del Pixoo-64 (explicada en nuestra guía para principiantes sobre la API del Pixoo-64), prepárate para una curva de aprendizaje más pronunciada con el Times Gate. La dependencia de la nube significa que necesitas una conexión Wi‑Fi activa con acceso a internet durante la configuración, y la API local desaparecerá si el dispositivo pierde su conexión con la nube.
¿Por qué importa esto? Porque determina cada decisión que tomes sobre cómo controlar el dispositivo. Si estás creando un panel de control para un hogar inteligente que debe seguir funcionando aunque se interrumpa la conexión a internet, necesitarás una estrategia de respaldo. Si solo ejecutas scripts desde tu escritorio, el enlace con la nube es un paso de configuración único y la API local funciona sin problemas después.
Times Gate no es un dispositivo de una sola pantalla con una API añadida. Es un panel de cinco pantallas totalmente programable, siempre que entiendas cómo comunicarte con él.
La API LAN local: qué puedes controlar directamente
Una vez que Times Gate se conecta a tu red Wi‑Fi y completa su conexión con la nube, expone una API HTTP en tu red local. Los desarrolladores de la comunidad han trazado sus principales funciones mediante experimentación e ingeniería inversa. Esto es lo que realmente puedes hacer con ese endpoint:
- Cambiar los canales de las pantallas — indicar a cada una de las cinco pantallas que muestre un canal diferente (reloj, clima, cotizaciones bursátiles, estadísticas de redes sociales o arte de píxeles personalizado).
- Enviar pixel art personalizado — enviar datos de píxeles sin procesar a una pantalla específica, lo que significa que puedes representar cualquier cosa que quepa en una cuadrícula de 128×128.
- Controlar el brillo y el volumen — ajustar mediante programación la intensidad de la pantalla y la salida de audio.
- Consultar el estado del dispositivo — leer el estado actual de cada pantalla, los canales activos y la información de conexión.
La API se comunica mediante HTTP estándar, lo que significa que puedes acceder a ella desde cualquier lenguaje capaz de realizar una solicitud de red: Python, JavaScript, Rust, Go e incluso un script de shell con curl. No se requiere ningún token de autenticación ni clave de API para las solicitudes locales; el dispositivo confía en cualquier conexión de la misma red local.
Un desarrollador de la comunidad de Divoom en Reddit hizo la misma pregunta que muchos nuevos propietarios de Times Gate: «Me interesa controlarlo mediante programación en lugar de limitarme a usar la aplicación móvil. ¿Alguien sabe si existe una API?». El hilo reveló que la API local, aunque Divoom no la ha documentado en absoluto, sigue plenamente activa y responde correctamente.
Consejo de configuración
Antes de empezar a escribir llamadas a la API, asegúrate de que Times Gate esté en la misma red Wi‑Fi que tu máquina de desarrollo y de que haya terminado de arrancar (las pantallas deberían mostrar datos en tiempo real, no un estado de carga). Si el endpoint de la API local no responde, reinicia el dispositivo y verifica que tenga acceso a Internet.
Enviar widgets personalizados a cinco pantallas
Aquí es donde Times Gate se vuelve interesante. A diferencia de una pantalla de píxeles individual, tienes cinco cuadrículas independientes de 128×128 con las que trabajar. Eso significa que puedes crear un auténtico panel de escritorio: cotizaciones bursátiles en directo en la pantalla uno, gráficos de criptomonedas en la pantalla dos, un widget meteorológico en la pantalla tres, tu número de suscriptores de YouTube en la pantalla cuatro y una animación personalizada de pixel art en la pantalla cinco.
El proceso para enviar contenido personalizado sigue el mismo patrón, independientemente de la pantalla a la que lo dirijas. Renderizas tus datos en un mapa de bits de 128×128 píxeles, lo codificas en el formato que espera la API (normalmente RGB sin procesar o una variante comprimida) y lo envías como una solicitud HTTP POST al endpoint local, especificando el índice de la pantalla. El dispositivo actualiza la pantalla de inmediato.
Para implementaciones prácticas, la mayoría de los desarrolladores renderiza sus datos en el servidor mediante una biblioteca gráfica ligera —Pillow de Python es una opción habitual— y luego envía el mapa de bits resultante a Times Gate según un intervalo programado. Un sencillo script de Python que obtiene cotizaciones bursátiles de una API gratuita, las renderiza como texto y un minigráfico en un lienzo de 128×128, y envía el resultado a la pantalla uno cada 60 segundos es un proyecto que puedes crear en una tarde.
La iluminación ambiental de doble borde, con 12 efectos RGB personalizables, también se puede controlar mediante la API, aunque el soporte de la comunidad para controlar la iluminación mediante programación todavía está madurando en comparación con los endpoints de control de la pantalla.
Herramientas de la comunidad para el desarrollo de Times Gate
No tienes que crear todo desde cero. La comunidad de desarrolladores en torno a los dispositivos Divoom ha creado varias bibliotecas y herramientas que integran la API HTTP sin procesar en una interfaz más práctica. Si has usado antes la API de Pixoo-64, algunas de estas herramientas te resultarán familiares; varias se crearon originalmente para Pixoo y posteriormente se ampliaron para admitir los endpoints de Times Gate.
| Herramienta | Lenguaje | Qué hace | Ideal para |
|---|---|---|---|
| pixoo-rest | Python (servidor REST) | Ejecuta un servidor REST local que integra las API HTTP de Divoom; permite dibujar píxeles, líneas, rectángulos y texto, además de descargar imágenes automáticamente | Desarrolladores que quieren una capa de middleware REST entre su aplicación y el dispositivo |
| divoom-cli | Rust | Herramienta y biblioteca de línea de comandos; incluye detección de dispositivos en la LAN, cambio de canal y envío directo de píxeles | Desarrolladores de Rust y cualquiera que prefiera los scripts de CLI a escribir un servidor |
| Divoom.Api | C# / .NET | Biblioteca de .NET que integra las API de dispositivos Divoom; creada originalmente para dispositivos Timebox | Desarrolladores de C# en el ecosistema .NET |
| divoom-gateway | Puerta de enlace REST (Swagger UI) | Pasarela de API REST independiente con especificación OpenAPI e interfaz de usuario de Swagger; encapsula las API HTTP sin procesar de Divoom para cualquier lenguaje | Equipos que quieren una capa de API documentada e independiente del lenguaje, con una interfaz de exploración integrada |
Cada herramienta adopta un enfoque diferente. Pixoo-rest es el punto de partida más popular para los desarrolladores de Python porque gestiona los detalles del protocolo y ofrece endpoints claros como /api/draw/text o /api/draw/rectangle. El divoom-cli basado en Rust es excelente si quieres un binario compilado que puedas llamar desde scripts de shell o tareas cron. Divoom.Api cubre el entorno .NET. Y divoom-gateway es la opción adecuada si estás creando algo multilingüe y quieres documentación de Swagger lista para usar.
El ecosistema de Rust merece una mención especial porque el proyecto pixoo-rest y el crate de Rust divoom incluyen una API de descubrimiento de dispositivos: llamas a una función y encuentra todos los dispositivos Divoom de tu red local. Esto resulta realmente útil cuando tienes varias pantallas o cuando la dirección IP del dispositivo cambia después de reiniciar el router.
Integración de Home Assistant
Si utilizas Home Assistant, no necesitas escribir una aplicación personalizada para controlar Times Gate. La API HTTP local es directamente accesible mediante la integración de comandos REST de Home Assistant, lo que significa que puedes enviar llamadas a la API como parte de cualquier automatización.
La configuración es sencilla. Defines un comando REST en tu configuration.yaml que apunta a la dirección IP local de Times Gate y al endpoint de la API que quieres invocar. Después activas ese comando desde cualquier automatización: al pulsar un botón, mediante un activador horario, cuando cambia el estado de otro sensor o mediante un comando de voz. La discusión de la comunidad de Home Assistant sobre los dispositivos Divoom incluye ejemplos funcionales de configuraciones de comandos REST que cambian los canales de pantalla, envían imágenes personalizadas y ajustan el brillo según los sensores de luz ambiental.
Las ideas prácticas de automatización que los propietarios de Times Gate han creado con Home Assistant incluyen cambiar las cinco pantallas a un reloj de «modo de concentración» cuando se inicia un temporizador Pomodoro, mostrar alertas meteorológicas cuando se activa una advertencia de tormenta, mostrar una notificación del timbre con una animación de píxeles personalizada cuando alguien llama y alternar entre las estadísticas de redes sociales cada pocos minutos durante una transmisión en directo.
Un aspecto que debes tener en cuenta: como Times Gate necesita su conexión inicial a la nube antes de que la API local esté disponible, deberías añadir una condición a tu automatización de Home Assistant que compruebe si el dispositivo responde antes de enviar comandos. Una simple comprobación mediante ping evita que los registros de errores se acumulen si se interrumpe tu conexión a Internet.
Lo que la API aún no puede hacer
Ser honesto sobre las limitaciones forma parte de una buena guía para desarrolladores. La API comunitaria de Times Gate es potente, pero tiene limitaciones reales que debes conocer antes de crear un sistema de producción basado en ella.
En primer lugar, no existe documentación oficial de la API. Todo lo que la comunidad sabe proviene de la ingeniería inversa, lo que significa que la API podría cambiar con una actualización del firmware sin previo aviso. Si construyes algo crítico sobre la API local, ten un plan alternativo, aunque solo consista en comprobar que tus scripts siguen funcionando después de cada actualización del firmware.
En segundo lugar, la dependencia de la nube es un requisito indispensable. Un usuario del subreddit de Home Assistant descubrió esto por las malas cuando intentó utilizar su dispositivo Divoom en una VLAN aislada sin acceso a Internet. La API REST simplemente no respondía hasta que permitió que el dispositivo se conectara primero a los servidores en la nube de Divoom. Si estás planeando una configuración de hogar inteligente completamente aislada, es posible que Times Gate no sea la pantalla adecuada para ese entorno.
En tercer lugar, la cobertura de herramientas de la comunidad para Times Gate en particular todavía está creciendo. Muchas bibliotecas se escribieron originalmente para Pixoo-64 o Timebox y se han ampliado para admitir los endpoints de Times Gate, pero no todas las funciones se han verificado en todos los modelos de dispositivos. Si utilizas una biblioteca que no se diseñó originalmente para Times Gate, prueba cada llamada a la API individualmente antes de depender de ella.
Seguridad de las actualizaciones del firmware
Después de cualquier actualización del firmware de Times Gate, realiza una prueba rápida de tus scripts de la API antes de dar por sentado que todo sigue funcionando. Fija la versión del firmware si tienes un flujo de automatización estable que no puedes permitirte que se interrumpa.
Preguntas frecuentes
¿Times Gate tiene una API oficial?
No. Divoom no ha publicado un documento oficial de la API para Times Gate. Sin embargo, la comunidad de desarrolladores ha realizado ingeniería inversa de la API HTTP local y ha creado bibliotecas en Python, Rust y C# que permiten controlar el dispositivo mediante programación.
¿Puedo controlar Times Gate sin conexión a Internet?
No del todo. Times Gate requiere una conexión inicial a la nube mediante MQTT y HTTPS antes de que su API LAN local esté disponible. Una vez completado ese intercambio, las llamadas a la API local funcionan sin acceso continuo a Internet, pero si el dispositivo se reinicia o pierde la alimentación, tendrá que volver a conectarse a los servidores en la nube de Divoom antes de que la API local vuelva a responder.
¿Qué lenguajes de programación tienen bibliotecas de la comunidad?
Python (pixoo-rest), Rust (divoom-cli y el crate divoom) y C# (Divoom.Api para .NET). También existe divoom-gateway, una pasarela de API REST independiente con una interfaz de usuario Swagger que funciona con cualquier lenguaje capaz de realizar solicitudes HTTP.
¿Home Assistant es compatible con Times Gate?
Sí, mediante la integración de comandos REST de Home Assistant. Defines un comando REST que apunte al endpoint de la API local de Times Gate y lo activas desde cualquier automatización. La comunidad de Home Assistant cuenta con ejemplos funcionales de integración con dispositivos Divoom.
¿Puedo enviar widgets personalizados a pantallas individuales?
Sí. Cada una de las cinco pantallas LCD de 128×128 puede mostrar contenido independiente. Puedes enviar arte pixelado, texto o datos renderizados personalizados a cualquier pantalla concreta mediante su parámetro de índice de pantalla en la API.
Cómo continuar
Si ya tienes un Times Gate, empieza ejecutando un comando curl sencillo contra la API local para cambiar el canal de una pantalla; ese será tu momento de «hola, mundo». A partir de ahí, elige la herramienta de la comunidad que corresponda a tu lenguaje preferido y crea un pequeño proyecto: un teletipo de cotizaciones, un panel meteorológico o una animación de notificación personalizada. Times Gate recompensa la experimentación y, en cuanto consigas que una pantalla haga algo personalizado, las otras cuatro seguirán de forma natural.
Si vienes del mundo de Pixoo-64, nuestra guía para principiantes de la API de Pixoo-64 explica el modelo más sencillo de API REST local que utiliza Pixoo, un contexto útil para entender qué cambió con la arquitectura de Times Gate conectada a la nube. Para la configuración del hardware y la documentación oficial del producto, la página de manuales de productos de Divoom contiene las guías actuales.
Divoom Times Gate
Cinco pantallas LCD independientes de 128×128, conectadas por Wi‑Fi y totalmente programables mediante una API local y herramientas de la comunidad. Incluye widgets integrados para acciones, criptomonedas, el tiempo y estadísticas de redes sociales.
Ver Times Gate