En el contexto de una integración externa de Roborock, hay disponible varias informaciones de mantenimiento, pero actualmente no tienen un tipo dedicado de Gladys.
Ejemplos:
vida útil restante del cepillo principal
vida útil restante del cepillo lateral
limpieza de los sensores
vida útil del filtro del dock
vida útil del cepillo de limpieza del dock
vida útil del sistema de recolección de polvo
Hoy en día, estas funciones deben declararse como desconocido, lo que simplemente muestra « Desconocido » en Gladys.
¿Sería posible añadir tipos dedicados en la categoría vacuum-cleaner, por ejemplo:
Gracias por tu solicitud, la necesidad es totalmente legítima: estos datos de mantenimiento no deberían terminar en « Desconocido » en la interfaz!
Al mirar los 6 tipos propuestos, hemos hecho un análisis: todos son exactamente lo mismo semánticamente: «porcentaje de vida restante de un componente». Solo cambia el nombre de la pieza (cepillo principal, cepillo lateral, bolsa de polvo…). Sin embargo, en Gladys, el nombre ya está en el campo name de la funcionalidad, y un dispositivo puede tener varias funcionalidades de la misma categoría/tipo (como un enchufe múltiple con varios switch/binary).
En concreto, esto añade una categoría transversal maintenance con un solo tipo life-remaining (sensor 0-100%, solo lectura). Tu integración Roborock crea entonces una funcionalidad por componente:
categoría maintenance, tipo life-remaining, nombre «Cepillo principal»
categoría maintenance, tipo life-remaining, nombre «Cepillo lateral»
etc.
Lo que esto aporta en comparación con los tipos específicos:
Cubre tus 6 casos, pero también todos los que no hemos listado (almohadillas de lavado, detergente…) y otros dispositivos con consumibles (purificadores de aire, ablandadores…), sin tener que hacer un PR en Gladys cada vez que haya un nuevo componente o una nueva marca.
Nada se pierde en el uso: visualización en %, gráficos, y escenas («alertarme cuando el cepillo esté por debajo del 10%») funcionan igual, ya que las escenas se dirigen a una funcionalidad específica, no a un tipo.
Evitamos que el catálogo de tipos se haga interminable (y la lista desplegable MQTT ), ya que cada entrada es un contrato público que no podemos retirar después.
La única diferencia es que el nombre del componente proviene de tu funcionalidad en lugar de una traducción integrada en Gladys — pero es precisamente lo que hace que el sistema sea flexible.
Estará disponible en el próximo lanzamiento. No dudes en avisar si ves un caso que este tipo genérico no cubra!