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

Siga su stock de pellets: entregas, consumo y autonomía, con un widget en el panel.
Esta integración sigue su stock de pellets, en sacos o en un silo a granel, uno por casa: entregas, consumo, consumo medio diario, autonomía restante y coste de la calefacción. Añade widgets al panel, un dispositivo virtual por stock para el historial y las escenas, acciones y disparadores de escena.
No se necesita ningún hardware ni cuenta en línea: la integración lleva un registro de los movimientos de sacos y deduce todo lo demás a partir de él.

Primeros pasos
- Abra la pestaña Configuración de la integración y compruebe el peso de un saco (15 kg por defecto) y el número de sacos por palé (66 por defecto).
- Ejecute la acción «Corregir el stock» e indique el número de sacos que tiene actualmente.
- Añada el widget «Stock de pellets» a su panel (editar el panel → añadir una caja → Stock de pellets).
En el día a día
- Pulse «Quitar sacos» en el widget cada vez que llene la estufa. Se abre un breve formulario, rellenado con 1 saco: envíelo, o indique otra cantidad.
- Pulse «Añadir sacos» para sacos comprados sueltos (en una tienda, por ejemplo). El formulario pide los sacos y el precio por saco, rellenado con el último precio conocido; el precio es opcional.
- Pulse «Palé entregado» cuando le entreguen un palé. El formulario viene rellenado con los sacos por palé, el precio de un palé al último precio pagado por saco y el peso de un saco de la configuración: corríjalos si hace falta y envíelo. El precio es opcional; indique 0 para una entrega sin precio.
- En una versión de Gladys sin estos formularios, los botones quitan o añaden 1 saco, y «Palé entregado» añade los sacos por palé (tras una confirmación).
- ¿Se ha equivocado? «Deshacer» elimina la última operación.
- Para añadir varios sacos de una vez (medio palé, un lote de 10 sacos…), use la acción «Registrar una entrega» de la configuración, donde también se puede indicar el precio pagado.
No hace falta pulsar por cada saco: basta con recontar el stock de vez en cuando con «Corregir el stock». Los sacos que faltan desde el último recuento se cuentan como consumidos.
Lo que muestra el widget
- El stock en sacos: verde, luego naranja por debajo del umbral de stock bajo (10 sacos por defecto), rojo a cero. Aparece entonces el recordatorio «Hora de pedir».
- La autonomía en días.
- Un gráfico, elegido en la configuración del widget: la evolución del stock, con las entregas señaladas, o los sacos usados por día en barras (por semana sobre 1 año). Periodo: 1 mes, 3 meses, 1 año. Para ver ambos, ponga dos widgets uno al lado del otro. Los sacos que faltan en un recuento se cuentan el día del recuento.
- El consumo medio por día, el último saco usado («hace 2 días»), el peso restante, la última entrega y el uso desde entonces (en sacos y kg).
- La fecha antes de la que pedir (cuando el stock alcance el umbral de stock bajo) y la fecha estimada en la que se agotará el stock.
- En cuanto se conoce un precio: el valor del stock, con el precio por saco y por kg, y el coste mensual. Cuenta el precio pagado en la última entrega o, si no, el precio de un palé de la configuración. El precio por kg sigue el peso de los sacos de esa entrega.
- El coste de la temporada: lo que han costado los sacos usados desde el inicio de la temporada de calefacción (octubre por defecto, ajustable en la configuración del widget), con su número.
Solo las entregas («Palé entregado», la acción «Registrar una entrega») cuentan como entregas: los sacos añadidos con «Añadir sacos», aunque sean varios a la vez, no se señalan en el gráfico ni se usan para «Última entrega» y el uso desde entonces. Sí entran en el stock y en su coste.
En la configuración del widget puede ocultar los botones, por ejemplo para una pantalla de pared de solo lectura.
Coste de la calefacción
Los sacos más antiguos se gastan primero («primero en entrar, primero en salir»): cada saco usado cuesta el precio al que se compró. Si compró 40 sacos a 6 € y luego 60 sacos a 8 €, los primeros 40 sacos usados cuentan 6 € cada uno, los siguientes 8 €.
- Una entrega introducida sin precio toma el último precio por saco conocido.
- El stock introducido al principio con «Corregir el stock» no tiene precio: toma el precio de un palé de la configuración o, sin él, se indica aparte («12 sin precio»). «Corregir el stock» acepta un precio por saco opcional para los sacos contados por encima del stock registrado.
- El peso restante y el uso en kg siguen el peso de los sacos de cada entrega.
Para un periodo concreto, ejecute la acción «Analizar el coste» con una fecha de inicio y una de fin (DD/MM/AAAA): «Del 01/10/2026 al 01/06/2027: 100 saco(s), 1500 kg, 712 € (0,47 €/kg)».
Widget «Precio de los pellets»
El widget «Precio de los pellets» (editar el panel → añadir una caja → Precio de los pellets) sigue lo que cuestan los pellets a lo largo de los años, para un stock de sacos o un silo (en € por tonelada). No cambia nada: lee los precios indicados con las entregas.

- Último precio: el precio por saco de la última entrega introducida con precio.
- En un año: cuánto ha cambiado respecto al precio pagado un año antes (naranja si ha subido, verde si ha bajado).
- Un gráfico del precio por saco, de una entrega a la siguiente, en 1, 3 o 5 años (configuración del widget).
- Una fila por temporada de calefacción, la actual en azul: lo que costaron los sacos usados (primero en entrar, primero en salir), cuántos y el precio medio de un saco. Las temporadas empiezan en octubre por defecto (configuración del widget). Los sacos sin precio conocido se indican aparte.
Cómo se calcula la autonomía
El consumo medio se calcula sobre los últimos 14 días (de 3 a 90 días, ajustable en la configuración). Más corto sigue antes al tiempo que hace; más largo es más estable.
- Con menos de un día de historial, la autonomía sigue siendo desconocida (se muestra un guion): un solo saco usado no basta para extrapolar.
- Sin ningún consumo en el periodo (en verano, por ejemplo), la autonomía también es desconocida.
Dispositivo «Stock de pellets» (opcional)
Desde la pestaña Descubrir puede añadir el dispositivo «Stock de pellets». Expone dos valores con historial:
- Stock de pellets (número de sacos);
- Autonomía de pellets (días).
Permite mostrar el historial en una caja de gráfico normal y, sobre todo, crear escenas: por ejemplo «cuando el stock baje de 10 sacos, envíame un mensaje». Una autonomía desconocida nunca se envía como 0, así que una escena de «stock agotado» nunca se dispara por error.
El widget funciona sin este dispositivo.
Varias casas
Para seguir los pellets de otra casa (una segunda residencia, un chalé…), ejecute la acción «Añadir un stock» de la configuración y elija la casa en la lista de las casas de Gladys. El stock toma el nombre de la casa, un stock por casa. Cada stock tiene su propio historial y su propio dispositivo:
- En la pestaña Descubrir, añada el dispositivo «Stock de pellets – Chalé» (con el nombre de la casa) y colóquelo en una habitación de esa casa.
- Ejecute «Corregir el stock» con ese stock seleccionado, para indicar sus sacos actuales.
- Añada un widget «Stock de pellets» y elija ese stock en su configuración. Su nombre aparece en el título del gráfico.
Las acciones de la configuración y las acciones de escena tienen un campo Stock: si se deja vacío, se aplican al stock principal. Un botón Zigbee en el chalé puede así descontar solo el stock del chalé.
Los ajustes de la configuración (peso de un saco, sacos por palé, umbral, periodo, precio de un palé) son los ajustes por defecto de todos los stocks. Para que un stock tenga otros (sacos de 10 kg en el chalé, por ejemplo), ejecute «Configurar un stock»: rellene solo los ajustes que quiera cambiar, los demás conservan su valor. La respuesta resume los ajustes vigentes, los propios del stock o los valores por defecto. La opción «Volver a los valores por defecto» quita los ajustes propios del stock.
El stock principal, y los stocks añadidos con un nombre en una versión anterior, se pueden asignar a una casa con «Asignar un stock a una casa»: toman entonces el nombre de la casa y conservan su dispositivo y su historial.
Para leer los nombres de las casas, la integración pide acceso a las casas de Gladys (indicado en la instalación); no usa sus coordenadas.
«Eliminar un stock» elimina un stock añadido y su historial; el stock principal no se puede eliminar.
Silo (pellets a granel)

Para una caldera alimentada desde un silo, ejecute «Añadir un stock» con el tipo Silo (granel) y la casa. Un silo cuenta en kg y tiene su propio widget, «Silo de pellets», y su propio dispositivo, «Silo de pellets – Casa» (nivel en kg, llenado en %, autonomía). Una casa puede tener un stock de sacos y un silo.
- «Entrega»: los kg entregados (rellenados con la entrega habitual) y el precio pagado.
- «Leer el nivel»: el nivel leído en el silo, en kg o en % de su capacidad (ajuste «Lectura del nivel»). Un nivel inferior al anterior cuenta como consumo: el uso por día, la autonomía, la fecha de pedido y el coste de la temporada funcionan como para los sacos.
- «Deshacer» elimina la última operación.
El widget muestra el nivel (en toneladas a partir de 1000 kg), la autonomía, la evolución del nivel o los kg usados por día, el llenado, la última lectura, la última entrega, el valor del stock y el precio por kg, el coste mensual y de la temporada, y la fecha antes de la que pedir.
Los ajustes por defecto de los silos están en la sección «Silo» de la configuración: capacidad, umbral de stock bajo (kg), entrega habitual, precio por tonelada, lectura en kg o en %. «Configurar un stock» los cambia para un silo. Sin stock elegido, el widget y las acciones de escena del silo usan el único silo.
Dos acciones de escena, «Registrar una entrega del silo» y «Leer el nivel del silo», pueden por ejemplo tomar el nivel de un sensor. Los disparadores de escena cuentan en sacos y dejan fuera los silos: para una alerta, use el dispositivo del silo («nivel del silo por debajo de…»).
Escenas
Acciones
- «Usar sacos de pellets» quita sacos del stock. Ejemplo: un botón Zigbee junto a la estufa, que dispara una escena que quita un saco en cada pulsación. La acción falla cuando el stock registrado es demasiado bajo: vuelva a contar su stock.
- «Añadir sacos de pellets» añade sacos (una entrega, sacos comprados sueltos), con un precio por saco y un peso de saco opcionales.
- «Corregir el stock de pellets» fija el stock en el número de sacos contados.
- «Leer el stock de pellets» no cambia nada: obtiene las cifras para el resto de la escena, por ejemplo un mensaje semanal. También devuelve el tipo de stock (
bagsobulk), su unidad (bagokg) y el coste de la temporada: el coste (€), los sacos (kg para un silo) y los kg usados desde el inicio de la temporada (octubre por defecto, ajustable en la acción), y los que no tienen precio conocido.
Cada acción tiene un campo Stock (vacío: el stock principal) y devuelve a las acciones siguientes los sacos restantes, la autonomía (días), los sacos por día, los días antes de pedir y el peso restante (kg). Una cifra todavía desconocida (la autonomía sin consumo aún, por ejemplo) se omite en lugar de enviarse como 0.
Disparadores
- «Stock de pellets bajo»: el stock baja hasta el umbral de stock bajo de la configuración. Se dispara una vez, al cruzar el umbral, no con cada saco por debajo.
- «Stock de pellets agotado»: se ha usado el último saco.
- «Palé de pellets entregado»: se ha registrado una entrega de varios sacos desde el widget o la configuración.
Cada disparador tiene un campo Stock (vacío: todos los stocks) y da las mismas cifras que las acciones, más los sacos entregados para el palé. Ejemplo: «Stock de pellets bajo → envíame "Quedan {{triggerEvent.data.bags_left}} sacos, hora de pedir"».
Una entrega añadida por una escena no dispara «Palé entregado», para que una escena nunca pueda reiniciarse a sí misma en bucle. Los disparadores de stock bajo y agotado se disparan sea cual sea el origen, incluido un botón Zigbee que pasa por una escena.
Idiomas
La integración habla español, inglés, francés y alemán: los widgets y los mensajes siguen el idioma de cada usuario de Gladys. Gladys solo indica a una integración el idioma de sus usuarios cuando muestran un widget: por defecto («Idioma de los nombres de dispositivos» en «Idioma del usuario»), los nombres de los dispositivos propuestos en la pestaña «Descubrir» siguen el idioma del último usuario que mostró un widget de la integración, inglés hasta entonces. El ajuste también puede imponer un idioma. Un dispositivo ya añadido conserva su nombre; cámbielo desde sus ajustes si lo desea.
Copia de seguridad
El registro de movimientos (los 2000 últimos; más allá, los más antiguos se resumen conservando el precio de los sacos aún en stock) se guarda en la base de datos de Gladys: forma parte de las copias de seguridad de Gladys y sobrevive a una actualización de la integración. Se borra si desinstala la integración.
Parámetros de configuración
Estos son los parámetros que Pellet Stock te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Funcionamiento | section | No | Empiece indicando su stock actual con la acción «Corregir el stock» de abajo. Después añada el widget «Stock de pellets» a su panel: pulse «Quitar sacos» cada vez que llene la estufa, «Añadir sacos» para sacos comprados sueltos y «Palé entregado» cuando llegue un palé. También basta con recontar el stock de vez en cuando con «Corregir el stock»: los sacos que faltan se cuentan como consumidos. |
| Idioma de los nombres de dispositivos | select | No | Los nombres propuestos en la pestaña «Descubrir» para los dispositivos de stock y de silo. Gladys solo indica a una integración el idioma de sus usuarios cuando muestran un widget: «Idioma del usuario» toma el del último usuario que lo hizo (inglés hasta entonces). Los dispositivos ya añadidos conservan su nombre. |
| Ajustes por defecto | section | No | Se aplican a todos los stocks, salvo los ajustes dados a un stock con la acción «Configurar un stock». |
| Peso de un saco (kg) | number | No | Sirve para mostrar el peso restante. La mayoría de los sacos pesan 15 kg. |
| Sacos por palé | number | No | Número de sacos que añade el botón «Palé entregado». Un palé de sacos de 15 kg suele tener 66 o 72 sacos. |
| Umbral de stock bajo (sacos) | number | No | A partir de este número de sacos, el widget muestra el stock en naranja y le recuerda que haga el pedido. |
| Periodo de cálculo (días) | number | No | El consumo medio diario, y por tanto la autonomía, se calcula sobre este número de días pasados. Más corto sigue antes al tiempo que hace, más largo es más estable. |
| Precio de un palé (€) | number | No | Opcional. Muestra en el widget el valor del stock y el coste mensual. El precio de un saco es este precio dividido entre los sacos por palé. En cuanto se introduce en el widget una entrega con su precio, se usa ese precio. |
| Silo (pellets a granel) | section | No | Los ajustes por defecto de los silos, añadidos con «Añadir un stock» (tipo: silo) y seguidos con el widget «Silo de pellets». |
| Capacidad del silo (kg) | number | No | Opcional. Da el porcentaje de llenado y permite leer el nivel en %. |
| Umbral de stock bajo (kg) | number | No | A partir de este nivel, el widget del silo pasa a naranja y le recuerda que haga el pedido. |
| Entrega habitual (kg) | number | No | Rellena de antemano el formulario «Entrega» del widget del silo. |
| Precio por tonelada (€) | number | No | Opcional. Prevalece el precio pagado en la última entrega. |
| Lectura del nivel | select | No | Cómo pide el nivel el formulario «Leer el nivel». En % requiere la capacidad. |
Cómo instalar Pellet Stock en Gladys
- En Gladys, abre Integraciones: Pellet Stock 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-pellet-stock:1.4.1), 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-pellet-stock.
Pellet Stock 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
Pellet Stock 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