Hoy vamos a hablar un poco en profundidad del comportamiento de los módulos a pilas/batería en las redes Z-Wave y cómo sacarle más provecho desde Jeedom. Esto que explicaremos en las siguientes líneas, aunque está enfocado a dicho controlador, puede ser perfectamente válido para otros controladores con pequeños matices que deberás tener en cuenta.
Empecemos
Desde la versión 3.0 de jeedom, la pantalla que antes se llamaba “Batería” ahora se llama “Dispositivo”.
La pantalla del equipo se encuentra en el menú “Análisis” de Jeedom.
Dentro de esta pantalla nos encontraremos 5 pestañas, 2 de ellas incluidas desde la versión 3.1 pero que no veremos aquí pues no es objeto de este artículo.
1.- Baterías
Aquí se muestran las últimas lecturas de batería y nivel de batería.
2.- Módulos en alerta*
Módulos en alerta, muestra una lista de todas las alertas actuales por módulo.
3.- Acciones definidas*
Acciones definidas, permiten una visión general de las acciones sobre valores para la información de sus órdenes.
*Como podéis ver en las imágenes, actualmente se llaman de otra manera, esto lo acabo de corregir sobre la marcha para que tenga efecto en la próxima actualización.
Nivel de las pilas y las baterías de los dispositivos Z-Wave
Seguramente has notado desde las últimas versiones del plugin Z-Wave de 2017 y durante la actualización a la versión 3.0 y 3.1 de jeedom, algunos cambios en cómo se maneja la información de los niveles de batería.
En las versiones 2016 y anteriores, una tarea programada en Jeedom lanzaba un informe del último estado conocido de la batería, así como una solicitud de actualización forzada del estado de la misma. La solicitud de actualización sólo se procesa la siguiente vez que el módulo se despierta.
Estas tareas fueron eliminadas, con objeto de confiar en una manera más natural en que los propios módulos mantienen e informan de sus niveles de batería. Los módulos bien diseñados tienen el deber de informar correctamente de que sus baterías están llegando al final de su vida útil. Muchos proporcionan ajustes para elegir el nivel al que informarán cuando éstas están bajas en función de nuestra elección en dicho parámetro. Yo personalmente no tengo ninguno, así que sóolo os puedo decir que suele llamarse “Set the low battery value”
Muchos módulos nunca se despiertan por sí solos. Éste es el caso de varios mandos a distancia como los keyfog u otros interruptores con pilas. También hay muchos módulos que tienen un intervalo de activación (Wake up = 0), es decir, que nunca se despertarán por sí solos.
En todos estos casos, los mensajes de solicitud del estado del nivel de batería se acumulaban innecesariamente en el controlador y nunca se llegaban procesar, lo que podía producir errores.
En las versiones actuales del plugin Z-Wave, se ha añadido el último valor conocido del nivel de batería. De esta forma, en la pestaña “Baterías” de la pantalla del dispositivo se reflejan unos segundos después del lanzamiento del demonio los últimos niveles conocidos.
Hemos de tener en cuenta que las pilas o baterías tienen una curva de descarga que puede ser cualquier cosa menos lineal, por lo tanto, es muy difícil estimar con cierta precisión la capacidad de una batería para deducir el porcentaje restante, por lo que estamos hablando de que los niveles que vemos reflejados son meramente aproximados, y que si bien hoy tenemos un 60% en uno de nuestros dispositivos alimentados a pilas, no quiere decir que dentro de una semana no se nos haya muerto.
Por ejemplo:
- Seguramente aquellos que tienen un detector de humos Fibaro, se preguntan por quée en la primera semana de uso las pilas bajan en torno a un 20% su carga. ¿Durará más de 5 o 6 semanas a este ritmo? Te puedes llegar a preguntar.
- Sin embargo, por otra parte tenemos los sensores FGK101, que pueden permanecer al 80% durante 2 años y luego de repente de un día para otro estar al 0% para dejar de funcionar unos días más tarde. Por lo que podemos concluir que tanto en baterías de tipo Li-SOCl2 como ER14250 no puede interpretarse con efectividad la vida útil restante de la batería hasta el momento en que ésta se agota.
Es comprensible por estos motivos, que pedir que se actualice el nivel de la batería todos los días no sea coherente. Además de generar tráfico innecesario en la red, el resultado de esto, es el consumo de energía que se produce. La transmisión de mensajes es lo que más energía consume de los módulos. Incluso si son mensajes pequeños, si pueden ser evitados, siempre se ahorrará energía.
Es por todas estas razones que este sistema fue eliminado del plugin Z-Wave en las versiones más recientes 2017.
Recepción de informe
Volvamos a la pantalla “Dispositivo”, pestaña “Baterías”.
La pestaña “Baterías” muestra el estado de todos los niveles de batería de los dispositivos para los que Jeedom ha recibido un informe de nivel de batería.
Para los dispositivos Z-Wave, los valores porcentuales reportados no son calculados ni interpretados por Jeedom, son los valores enviados directamente por los módulos. Por lo tanto, la veracidad del porcentaje es específica de cada fabricante. El porcentaje visualizado no se puede convertir en días restantes de vida. Nos lo podemos imaginar, anticipando el reemplazo preventivo de las pilas si se recibe un informe del 10% o 5%. Obviamente puedes alargar su uso hasta que no recibas más mensajes de tus sensores, pero en tal caso es probable que dicho sensor no tenga mucho protagonismo en tus escenarios y otros aspectos.
Para los dispositivos RF433 (RFXcom, RFLink o RFPlayer), el porcentaje que se muestra es: 100%, 20% o 0%. De hecho, los módulos simplemente notifican una alerta para saber si el estado es Ok, débil o muerto. Los plugins convierten esta información en un porcentaje para que resulte más fácil de leer e interpretar. Es menos preciso, pero al mismo tiempo éstos son los momentos importantes en la vida de las baterías. Con una notificación del 20% podemos pensar en pedir pilas nuevas unas semanas más tarde, y en los primeros informes del 0% las sustituimos.
En los módulos Aqua Xiaomi, el equipo envía la tensión medida sin interpretarla. Por lo tanto, le corresponde al plugin Xiaomi Home interpretar esta lectura en porcentaje restante basándose en la noción de voltaje nominal, pero como no es lineal y como el tipo de batería y/o química puede variar de un módulo a otro, es muy difícil interpretarlo.
Para los módulos compatibles con BLEA, el porcentaje es enviado o no por los módulos. El valor es, por lo tanto, el calculado por el fabricante sin interpretación ni cálculo por Jeedom. Ten en cuenta que en algunos módulos Bluetooth, el informe de la batería no se envía, es también por esta razón que algunos dispositivos se muestran como si estuvieran conectados a la red (Icono de enchufe).
Configurar umbrales
Puedes configurar los niveles de umbral de batería baja o muerta para todos los dispositivos. Estos valores se pueden modificar a través de la pantalla de configuración de Jeedom.
La autodescarga de una batería es mayor y la capacidad es menor que en una pila. Por lo tanto, sería interesante disponer de umbrales específicos para determinados dispositivos. Esto quiere decir que si estas usando pilas recargables, tal vez deberías plantearte configurar estos umbrales teniendo en cuenta la menor durabilidad de éstas.
Para definir umbrales específicos en un dispositivo, simplemente haz clic en el botón “Configuración avanzada” y selecciona la pestaña “Batería”.
Los umbrales específicos se resumen y se muestran en la versión 3.1 de Jeedom en la pestaña “Alertas definidas” de la pantalla “Dispositivos”.
Ajuste del tipo de batería
El desarrollador de un plugin define el tipo de pila que utilizan los dispositivos. Para los equipos genéricos (RF433MHz o mySensors por ejemplo) se proporciona un campo para que rellene esta información.
Con esta información, en la pantalla del dispositivo, se pueden anticipar futuras compras. Puedes saber fácilmente cuántas CR123 tienes y cuáles están cerca de agotar su pila.
En Z-Wave, el tipo de pila se especifica en el archivo json que define los comandos del módulo. Si observas alguna incongruencia, por favor notifícalo al equipo de Jeedom para poder corregirlo.
Detección de pilas o baterías agotadas
Como he explicado anteriormente, la pérdida de capacidad de una pila o batería no es lineal. A menudo sucede que el dispositivo que se muestra como bueno el día anterior, muere al día siguiente. Pero el problema está precisamente ahí: si murió antes de enviar un informe de valor de la pila, no se anota.
En la pantalla de salud de los módulos Z-Wave, hay dos advertencias disponibles si un módulo a batería no ha dado ninguna señal de vida.
- El módulo nunca se despertó después de lanzar el plugin Z-Wave. Aparecerá un símbolo de advertencia con exclamación en la columna de la última notificación, con la explicación del problema en él. El problema sólo se notifica si la hora de inicio del demonio añadido al intervalo de activación del módulo es menor que la hora actual. Se estima que el módulo debería despertarse con éxito durante todo el tiempo de un intervalo de un despertar.
- El módulo ha perdido uno o más despertares. Sabemos la hora del último despertar y su intervalo. Si después de este retraso el demonio no tiene señales del módulo, una advertencia de despertar perdido se mostrará en la columna de la última notificación. A veces el controlador pierde una notificación de despertar. Esto no debe hacerte pensar que después de una fallo realmente lo haya, tan sólo has de seguir el caso y comprobar si el problema persiste en el tiempo.
Estas dos posibilidades de detección de problemas son sólo indicativas, no representan un error de base, sino una advertencia que debe ser controlada.
En función de la criticidad de los casos de cada uno, puede ser obligatoria una estricta monitorización de determinados módulos.
Como ya se ha explicado, existen varios mecanismos para informarte de que la batería o pila está llegando al final de su vida útil:
- Notificación de nivel al enviar otras mediciones.
- Notificación de bajo nivel.
- Tocar el timbre a intervalos repetidos. Por ejemplo, detectores de humo.
- Encender un LED de estado. Detectores de humo de Fibaro, por ejemplo.
- Ajustar el color de un LED de estado. Por ejemplo, el WallMote ZW129 y ZW130 de Aeotec.
- Agregar una alerta cuando no se recibe un mensaje (disponible desde la versión 3.1 de Jeedom).
Notificaciones
Revisar la pantalla de dispositivos todos los días para ver si no tenemos una alerta es obviamente demasiado tedioso y sin sentido. La domótica está a nuestro servicio, no nosotros al servicio de la domótica. Si pierdes mucho tiempo a diario revisando estados o que las cosas funcionen, plantearse el contratar los servicios de un profesional para que nos afine algunas cosas no es una idea para nada descabellada.
Es posible configurar scripts de seguimiento para automatizar las tareas de supervisión. El servidor Z-Wave provee una API REST en la cual se pueden realizar diferentes peticiones y acciones. El tema es demasiado amplio para discutirlo con más detalle en este artículo por el momento.
En el caso de un módulo que ha dejado de notificar los informes de medida, este problema puede detectarse utilizando el mecanismo de retardo máximo entre dos comunicaciones. Esta funcionalidad está unificada en Jeedom a partir de la versión 3.1 y no a plugin por plugin como ocurría en versiones anteriores.
Una nueva pestaña “Alertas” en la configuración avanzada, te permite establecer el tiempo máximo entre dos comunicaciones.
Estas alertas también se mostrarán en la versión 3.1 de Jeedom, en la pestaña “Alertas definidas” de la pantalla “Dispositivos”.
En cuanto a los que buscan el campo Comentario del dispositivo, ahora también está unificado en la vista Configuración avanzada de cada dispositivo.
El comentario del dispositivo es un buen lugar para ayudarte a rastrear los cambios de pila, por ejemplo. Es una buena práctica indicar la fecha del último cambio. Además, estos detalles pueden ayudarte a identificar si la pila es buena o por el contrario es una mala copia china.
Si volvemos al retardo máximo entre dos comunicaciones, el principio es definir un retardo entre dos mensajes recibidos del módulo. Si no hemos recibido nada después de ese tiempo, el módulo entra en error. Tienes que pensar por lo menos 24 horas antes de considerar un problema. De esta forma, si el módulo deja de informar regularmente, Jeedom detectará una anomalía y generará una alerta. Esta alerta también será visible en la pantalla dispositivo de Jeedom.
Una posibilidad muy interesante de las alertas es poder transferirlas en forma de notificación a través de un sms, un correo electrónico, notificación push o Telegram, por ejemplo. Eso lo puedes configurar desde Configuración (rueda dentada) –> Pestaña Registros –> Alertas
Sustitución de las pilas
Así que volviendo al pequeño recordatorio para los propietarios de los Fibaro FGK101 y FGSD-002, el procedimiento para reemplazar la batería debe seguir un cierto protocolo.
Cuando necesites cambiar la pila de un FGK101 es extremadamente importante mover el imán lejos del módulo para estar en contacto abierto antes de reemplazar la batería. Si reemplazas la batería con el contacto cerrado, de modo que el imán se pegue al módulo, terminarás con lo que se llama un módulo fantasma. Un módulo fantasma es, de hecho, un módulo que permanece asociado a la red sin posibilidad de excluirlo y que nunca más volverá a enviar información al controlador, como si ya no tuviera ningún vínculo con él. Para eliminar un módulo fantasma, tenemos a nuestra disposición un asistente automático de eliminación de módulos a través de la pestaña “Acciones del módulo”.
Sin embargo, cuando reemplaces una pila en un detector de humo FGSD-002, tendrás que seguir este procedimiento al pie de la letra para obtener informes del nivel de la batería después de reemplazarla de forma correcta:
- Desconecta el detector de su base.
- Retira la batería.
- A continuación, pulsa el botón B durante 3 segundos.
- Inserta una pila CR123A nueva con las polaridades correctas.
- Prueba el funcionamiento del detector probando el botón.
- Vuelve a enroscar el detector en su base.
Y para todos los módulos después de un reemplazo de batería, si el nivel sigue siendo el valor antiguo antes de realizar la sustitución:
- Solicitar una actualización forzada del nivel de pila, a través de la pestaña “Valores”.
- Despertar el módulo manualmente, si lo tienes a mano.
- Confirma el último despertar en la pestaña Resumen y valida la recepción del informe de la pila, ya sea en la pestaña “Resumen” o en la pestaña “Valores”.
Este informe se enviará directamente a la pantalla del dispositivo para que esté disponible en la pestaña “Baterías”.
Ya no tienes que esperar de 24 a 48 horas como en versiones anteriores para que la pestaña “Baterías” se actualice. Tan pronto como reciba un informe, éste se consolida automáticamente.
Si se activó una alerta, también se pondrá a cero al recibir el informe de la batería.
De esta manera, no terminará con una alerta sobre un módulo que esté bien al día siguiente.
Cómo prolongar la vida útil de las baterías de los dispositivos
Intentaré dar ideas para mejorar la vida útil de los dispositivos. Me centraré especificamente en los equipos Z-Wave para los que la elección de los parámetros de configuración puede cambiar totalmente la vida útil.
Intervalo de despertar (WAKE-UP interval)
El “Wake-up interval” es el intervalo de activación de un módulo. Para ahorrar pilas, los módulos cortan la recepción y transmisión de mensajes. Activa un modo de reposo pero obviamente permanece atento a la funcionalidad inicial de su sensor u otro. Por lo tanto, los módulos se despertarán a intervalos regulares de acuerdo con el intervalo definido, informando al controlador que están escuchando. Este último envía las peticiones pendientes de este módulo si es necesario y el módulo informa al controlador de que vuelve a estar en espera.
Se recomienda espaciar lo más posible los despertares de los módulos. Se recomienda por los propios desarrolladores configurar dicho intervalo por un periodo de 24 horas, es decir 86400 segundos, yo personalmente suelo dejar por defecto los valores definidos en Jeedom hasta la fecha, aunque prometo probar dicha recomendación y hablar de ella posiblemente en un futuro no muy lejano. Esta recomendación debe aplicarse a los módulos que ya están correctamente integrados y configurados. En la fase de parametrización es obvio tener ciclos más cortos para que los parámetros se tengan en cuenta rápidamente o no deban ser despertados a mano.
En la versión anterior de la librería Openzwave, un error impedía a Fibaro FGK101 detectar la apertura de la puerta si no habían terminado su “entrevista”. La antigua recomendación para limitar el problema de estado era un intervalo de despertar de 3600, es decir, una hora. Este problema ha sido identificado y solucionado gracias al trabajo de @Sarakha en la biblioteca de Openzwave. Ahora puedes aumentar el intervalo de alarma en este módulo para aumentar la vida útil de sus baterías.
La pantalla de salud Z-Wave muestra, para cada módulo, el valor de su intervalo de despertar.
Como recordatorio, un intervalo de despertar de 0 significa que el módulo nunca se despierta por sí solo.
Sobre la medición temperatura, humedad, etc.
Otro factor que generará consumo y por ende acortará la vida de las baterias y pilas son las mediciones de temperatura, humedad u otros factores.
Los detectores de humo y de movimiento también se pueden utilizar como sensores de temperatura, pero en la opinión de muchos, ésta no es la mejor opción. Por su ubicación en el techo o en una esquina para los sensores de movimiento, tendrá la medición de la temperatura del techo y no la temperatura en el centro de la habitación, que sería más reveladora. La temperatura del techo será más cálida, y aunque es posible compensar este valor, siempre será falsa o estacional.
Es mejor utilizar sensores de temperatura como las sondas de Oregón o las de Xiaomi si es que usas el Plugin BLEA, que jugar con las altas frecuencias de los informes de medición de temperatura a través de los parámetros de los módulos.
Pedir actualizaciones a 0,5°C es más que suficiente para conocer la temperatura de tu habitación. Las lecturas a 0,1°C, especialmente para sensores mal posicionados, no son realmente relevantes.
Lo mismo ocurre con los sensores 4 en 1 u otros sensores, si están mal posicionados.
El sensor de apertura de puertas y ventanas como el Fibaro FGK101 permite añadir una sonda 1Wire para la medición de temperatura. El sensor instalado sobre una ventana mal aislada en invierno obtendrá temperaturas de 15°C o menos en una habitación donde a lo mejor tenemos unos 21°C y a la inversa en verano podría indicarle más de 28°C.
El marketing puesto en marcha para promocionar los módulos y sus posibilidades es a menudo demasiado exagerado (pensemos en Fibaro, por ejemplo), si bien es verdad que al principio siempre nos planteamos comprar multisensores por aquello de ahorrar, con el tiempo podemos comprobar que al final lo mejor es un modulo especializado en cada cosa.
Los fabricantes también anuncian una vida útil de 3 años de baterías o pilas en sus módulos, pero desactivando las lecturas auxiliares del módulo tanto como sea posible en los parámetros de fábrica, cosa que esto no lo suelen decir o como siempre con letra muy pequeñita 😉
El número de despertares y los informes de medición de nuestros sensores tendrán un impacto en la duración de la batería, ya que implican transmisiones de datos que consumen mucho y, por lo tanto, reducen la duración de las baterías.
Conclusión
Vemos que no es tan fácil deshacerse de los fallos de los módulos. La interpretación del nivel es también muy subjetiva. Entendemos que entonces es muy difícil predecir a través de un porcentaje del nivel de una batería, el tiempo restante antes de que ésta se agote.
En una próxima publicación intentaré explicar cómo programar una actualización del estado de las pilas y baterías mediante un sencillo código ejecutado desde un escenario utilizando la REST API de Z-Wave.
Espero que os haya gustado. Como siempre espero vuestros comentarios ya sea aquí o en el foro.
Un saludo.
Bull.
Vaya articulazo @Bull. Completísimo, experto, llegando al fondo de las cosas…
No puedo más que facilitarte.
Quien sabe, sabe, está claro…
Vaya currada. Buen articulo para los no expertos.
Gracias @Bull