¡Gladys HS, necesito ayuda!

Buenas noches a todos,

Esta noche me quedo sin asistente: Gladys no arranca, sin que yo sepa muy bien por qué. Tengo estos registros en los logs:

2025-10-05T20:02:51+0200 index.js:16 (process.) [Error: Error de conexión: La conexión nunca se estableció o ya ha sido cerrada] {
errno: -1,
code: ‹ DUCKDB_NODEJS_ERROR ›,
errorType: ‹ Connection ›
}

¿Tendrían alguna pista o idea para solucionarlo?

Gracias de antemano,
Buena noche,
Jean

Hola @jean_bruder, ¿tienes el resto de los registros?

Este registro indica que DuckDB cerró la conexión con el archivo en el disco, pero en mi opinión no es el problema principal en tu caso.

Hola @pierre-gilles

¿Podrías recordarme cómo proporcionarte el registro completo de soporte?

Gracias,
Jean

Puedes hacer:

docker logs gladys

Si quieres restringir a los últimos 1000 logs, por ejemplo:

docker logs gladys --tail=1000

Buenas noches @pierre-gilles

Las únicas líneas de las que dispongo son las siguientes cuando muestro los registros a través de docker-compose logs gladys:

Gladys | 2025-10-06T23:17:08+0200 index.js:15 (process.) unhandledRejection catched: Promise {
Gladys | [Error: Connection Error: Connection was never established or has been closed already] {
Gladys | errno: -1,
Gladys | code: ‹ DUCKDB_NODEJS_ERROR ›,
Gladys | errorType: ‹ Connection ›
Gladys | }
Gladys | }
Gladys | 2025-10-06T23:17:08+0200 index.js:16 (process.) [Error: Connection Error: Connection was never established or has been closed already] {
Gladys | errno: -1,
Gladys | code: ‹ DUCKDB_NODEJS_ERROR ›,
Gladys | errorType: ‹ Connection ›
Gladys | }
Gladys | 2025-10-06T23:17:38+0200 index.js:15 (process.) unhandledRejection catched: Promise {
Gladys | [Error: Connection Error: Connection was never established or has been closed already] {
Gladys | errno: -1,
Gladys | code: ‹ DUCKDB_NODEJS_ERROR ›,
Gladys | errorType: ‹ Connection ›
Gladys | }
Gladys | }
Gladys | 2025-10-06T23:17:38+0200 index.js:16 (process.) [Error: Connection Error: Connection was never established or has been closed already] {
Gladys | errno: -1,
Gladys | code: ‹ DUCKDB_NODEJS_ERROR ›,
Gladys | errorType: ‹ Connection ›
Gladys | }

¿Puede ayudar esto? Gracias de antemano,
Jean

Buenas noches @pierre-gilles

Acabo de corregir el error recreando el archivo gladys-production.duckdb.wal al iniciar Gladys. Bueno, he perdido el historial de estado de los sensores, es una pena para las estadísticas de temperatura e higrometría :wink:

Disculpa las molestias/ruido…

Buena noche,
Jean

¿Qué tipo de hardware usas para ejecutar Gladys?

A menos que hayas hecho una manipulación incorrecta, no es normal tener problemas de base de datos así.

Hola @pierre-gilles

Creo que esto fue a causa de un corte de energía que ocurrió a principios de semana … Por supuesto, no ayuda en absoluto …

DuckDB es una base de datos compatible con ACID, por lo que debería funcionar correctamente incluso si un corte de energía interrumpe tu sistema mientras lo estás usando.

Sin embargo, si usas un disco que puede corromperse en este tipo de situaciones (como una tarjeta micro-SD), entonces DuckDB no puede hacer nada al respecto.

¿Estás usando un mini-PC con un disco SSD fiable?

Buenas noches @pierre-gilles

Gladys (y mi ecosistema domótico) funciona en un Rock64 (equivalente a RPi 4), alojado en un SSD. Voy a revisar los registros disponibles, pero como ya está solucionado, no voy a perder demasiado tiempo…

Buena noche,
Jean

Creo que tendrás que invertir en un regulador de voltaje o un Hat con batería para tu Rock64 para no tener más problemas de este tipo durante los cortes de corriente.

Normalmente, no hace falta todo esto, Gladys utiliza tecnologías robustas (SQLite y DuckDB) que son ambas compatibles con ACID (en francés → Propriétés ACID — Wikipédia).

Un corte de corriente normalmente no afecta la fiabilidad de estos sistemas de bases de datos, que están diseñados para ello.

Esta mañana tuve un corte de corriente (primera vez en mucho tiempo :joy:), y todo volvió a la normalidad sin problemas a pesar de tener una base de datos bastante cargada.

Si @jean_bruder debe invertir en algo, sería más bien en un mini-PC robusto, diría :stuck_out_tongue:

El Beelink mini S13 es una muy buena referencia que recomiendo (16 GB de RAM, CPU Intel N150 de bajo consumo, 512 GB de SSD). Es lo que ofrezco a través del kit de inicio pero también se puede encontrar en muchos otros sitios :wink: