Los sensores, por definición, no admiten cambios de estado por parte del usuario, ya sea manualmente o a través de escenas domóticas, al contrario de lo que sucede con los actuadores.
Sin embargo, en más de una situación hemos echado de menos la posibilidad de forzar un cambio de estado en un sensor PIR que se había quedado “pillado” en el estado “Movimiento”, por ejemplo, o en un sensor de temperatura incluso, para comprobar la frecuencia y precisión de sus mediciones.
En eedomus, la API del controlador nos permite forzar un cambio de estado en cualquier sensor de nuestra instalación domótica cuando lo necesitamos. Veamos cómo se hace.
En mi instalación domótica, entre los distintos sensores de movimiento que tengo, de varias marcas y modelos, tengo que se queda casi siempre en el estado “Movimiento” después de detectar una presencia. Dicho de otra manera, no vuelve casi nunca al estado “Sin movimiento”, lo que obviamente es un problema a la hora de crear escenas de apagado automático de luces, por ejemplo.
Para paliar ese problema y obligar a este sensor a volver al estado “Sin movimiento” y poder así usarlo con normalidad a pesar de esta anomalía, he hecho uso de la API de eedomus, que sí permite cambiar el estado de cualquier sensor, cosa que no podemos hacer ni desde la interfaz web, ni desde la aplicación móvil, ni tampoco a través de escenas, lo que por otra parte parece muy lógico.
Primer paso: creación de un actuador http
El primer paso, por tanto, ha sido crear un actuador http acudiendo a Configuración/Añadir o eliminar un periférico/Añadir otro tipo de periférico/Http Actuador/Crear.
Luego le he puesto un nombre elocuente a ese actuador, lo he asignado a una habitación de la casa (en mi caso concreto ninguna o invisible), y luego me he ido a la pestaña “Valores” para indicarle a mi actuador la URL a la que debía llamar (un único valor es suficiente).
La URL que debes poner en el valor que acabamos de crear, tiene el siguiente formato (en rojo los datos que debes adaptar a tu caso particular):
http://IP_EEDOMUS/api/set?api_user=XXXXX&api_secret=YYYYY&action=periph.value&periph_id=111111&value=0
Donde:
- IP_EEDOMUS = La IP asignada a tu controlador eedomus en tu red local.
- XXXXX = El usuario que te ha asignado eedomus para el uso de la API.
- YYYYY = La contraseña asociada al usuario API anterior.
- 111111 = El número API del sensor en el que quieras forzar un cambio de estado (indicado en el apartado “Parámetros experto” de la ventana de configuración del periférico).
- 0 = El valor correspondiente al estado que quieras forzar en el sensor (en nuestro caso 0 ya que es el valor que corresponde a “Sin movimiento”)
Si no sabes lo que son api_user y api_secret ni como conseguirlos, o no tienes ni idea de lo que es la API de eedomus, te recomiendo la lectura de este otro artículo.
En cualquier caso, recuerda que la interfaz web de eedomus pone a tu disposición una herramienta para ayudarte (mucho) a conocer la URL exacta que debes usar en cada caso. Para acceder a esa herramienta, acude a Configuración/Mi cuenta/Ver sus credenciales e introduce la contraseña que usas para acceder a tu cuenta en el portal eedomus.
Te recomiendo usar la URL correspondiente a la API local (no la que pasa por el portal de eedomus), ya que el número de accesos diarios a la API local no está limitado en las cuentas Free.
Para terminar con la configuración de mi nuevo actuador http, he ido a la pestaña “Macro” y he creado una macro que hace que el actuador espere 1 minuto y al cabo de este tiempo lance la URL anterior que tiene como efecto cambiar el estado de mi sensor de movimiento.
Segundo paso: creación de una regla para forzar un cambio de estado
Una vez hecho lo anterior, solo queda un paso más, que no es otro que crear una regla para decirle a eedomus que fuerce un cambio de estado en el sensor rebelde cada vez que éste detecta un nuevo movimiento.
Para ello he elegido en mi regla el criterio “Ahora de vuelve”, de tal forma que eedomus ejecute la llamada http que hemos visto anteriormente, a través del actuador http, dejando transcurrir antes de hacerlo un tiempo de un minuto.
Resumiendo: a partir de ahora, cada vez que mi sensor detecte un nuevo movimiento, permanecerá en el estado “Movimiento” durante 1 minuto, tiempo al cabo del cual volverá al estado “Sin movimiento”, y así sucesivamente.
Ya está, no es más complicado que eso. Desde ahora ya puedo usar mi sensor de movimiento rebelde con total normalidad y crear con él todas las escenas domóticas que quiera sin ningún problema.
Comprobamos una vez más que el controlador eedomus nos ofrece muchísimas posibilidades a través de su API y de todos los matices de su motor de reglas, hasta el punto de permitirnos corregir algunas deficiencias de nuestros sensores.
El post Cómo forzar un cambio de estado en cualquier sensor en eedomus aparece primero en Domótica Doméstica.