Desde que publiqué el tutorial para mejorar el refresco de los sensores de Xiaomi y Aqara para que notificara cada 5 segundos su estado de movimiento, aunque, había una pega que es lo que hoy os voy a mostrar como solucionar.
Aunque los sensores mandan el estado (en caso de detectar movimiento) cada 5 segundos, dejar de detectar actividad lo siguen notificando cada minuto y medio, dando igual tanto el sensor de movimiento de Xiaomi como el de Aqara (el que posee luminosidad).
Después de un tiempo buscando, ya que yo recordaba que había opción en los sensores de Home Assistant de poder ponerles un tiempo en el que si no hay notificación de estado, cambiaran, pero, muy a mi pesar, fue quitado por parte de Home Assistant hace ya algunas versiones. Por suerte, parece que mucha más gente ha realizado la mejora en los sensores de Xiaomi y es por ello que desde el proyecto Zigbee2mqtt han puesto la opción para poder recibir el estado “sin movimiento” después de los segundos que queramos.
Tiempo de timeout de los sensores de movimiento Xiaomi o Aqara mejorados
Una vez que tenemos hecha la modificación siguiendo el tutorial que publiqué para modificar los sensores de movimiento Xiaomi o Aqara, tendremos que ir dentro de la configuración de zigbee2mqtt, que si habéis seguido el tutorial que publiqué, lo deberiais tener en /opt/zigbee2mqtt/data/configuration.yaml, por lo que escribiremos:
nano /opt/zigbee2mqtt/data/configuration.yaml
Una vez dentro de la configuración, antes del apartado “devices:”, debemos poner:
device_options: occupancy_timeout: 20
El número 20 indica el número de segundos. Debe quedar algo así:
Ahora, tocaría reiniciar nuestro servidor zigbee2mqtt para poder comprobar si funciona. Para ello, ponemos el comando:
sudo systemctl restart zigbee2mqtt
Si activamos cualquier sensor de movimiento, debería devolver el “occupancy: false” al pasar los segundos configurados en los puntos anteriores, que, en nuestro caso han sido 20 segundos.
Si todo ha ido bien, podemos dar por concluido el tutorial, eso si, esta configuración afecta a todos los sensores por igual, pero, si por algún motivo queréis hacer que afecte de forma diferente a los sensores, podéis configurarlo dentro de cada device el parámetro “occupancy_timeout” quedando así:
De esta forma los sensores volverán a su estado de “sin movimiento” en tiempos diferentes.
¿Os funciona?