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 un multisensor 4 en 1 de Aeon Labs 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.
Si el sensor de movimiento está situado en una zona de mucho paso y es posible por tanto que la escena anterior se ejecute muchas veces cada minuto, conviene limitar su frecuencia de ejecución en la casilla “Permitir el disparo de nuevo”.
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.
Hola, tengo un par de llaveros Key fob de Aeotec que guardan la ultima pulsación y solo puedo controlar su cambio de estado, cuando a mi lo que me interesa es recoger la pulsación y su valor en el momento. He credo un periférico de estado para subsanar ese problema. Probare lo que dices y seguro que lo podré eliminar. Muchas gracias a ti y a todos los usuarios del foro por hacerlo tan rico y proponer soluciones para todo.
No lo he probado con mandos a distancia, que no son sensores sino controladores en realidad, que se usan como controladores secundarios cuando se incluyen en eedomus.
Pero en cualquier caso la API deja aplicar un cambio de estado en los mandos también. Habrá que ver si luego lo ejecuta realmente.
¡No dejes de contarnos!
Hola, he tenido pesadillas con el sensor que comentas (multisensor 4 en 1 de Aeon Labs) porque tal y como apuntas se queda muchas veces disparado y las pilas duraban nada. Lo deje por imposible.Como me gusta este mundillo, he montado una raspberry pi 3 con razberry2, Jeedom y el sensor funciona de maravilla. Llevo ya dos semanas y nunca se ha quedado disparado. Las pilas bien. Conclusión, problema del controlador eedomus ( y tengo 2) con ese periférico. Espero que lo solucionen. Saludos.
Creo que vas un poco rápido en tus conclusiones. Yo también tengo 2 y uno de ellos va perfecto en eedomus. Por otra parte, el que me da (daba) esos problemas lo he probado en Vera y HCL con el mismo resultado. Para poder sacar conclusiones tendríamos que mirar de qué firmware se trata, de la versión del sensor y de otros parámetros. Piensa que cuando lo has incluido en Jeedom el has hecho un reset de fábrica al sensor, y quizá por ahí habría que mirar de cerca. En cualquier caso me alegro de que te vaya bien en Jeedom y te agradezco el reporte de experiencia. Jeedom es una excelente solución. Saludos.
Hola Philippe ,
Ese sensor en cuestión lo he probado en un VERA PLUS, EEDOMUS ( 2 que tengo) y tal como digo funciona a la perfección en JEEDOM.. Créeme cuando te digo que he tenido pesadillas con ese sensor ( reset de fábrica, excluir/incluir varias veces y nada).
De momento con Jeedom va perfecto. Saludos.
Vuelvo a este tema para darte la razón. Como ya te comenté, el sensor me daba los mismos problemas en HCL, Vera y eedomus. Llevo un tiempo con el sensor en Jeedom y su funcionamiento es sencillamente perfecto.
Buenas,
Aunque este hilo ya hace tiempo que se publico, te doy las gracias Philippe, porque puedo utilizar el actuador en algún sensor de movimiento. De todas formas, últimamente me traen de cabeza unos cuantos sensores que tengo que por lo menos 1 o dos ves al día se quedan pillados, y digo 3 que tengo en una zona de paso y los tres de diferentes marcas. Uno de ellos el Aeotec 6 en 1 alimentado.. ¿causa? ¿misterio del zwave?. No lo sé. Alguien sabe qué explicación puede tener estos problemas. Yo creo que es el controlador que por algún motivo se “colapsa”.
A mi me pasa alguna vez con el Aeotec 6 en 1 y no he podido determinar la causa. En mi caso, estoy convencido de que es cosa del propio sensor, pero es difícil saberlo porque es totalmente aleatorio. Quizá con lo que explico en este post puedas crear una regla para esos sensores salgan de ese estado anómalo. No me pasa con otros, ni con los de Fibaro ni tampoco con los “gordos” de Aeotec y estos últimos, al igual que el 6 en 1, los tengo alimentados por USB. Saludos.
Sí, si utilizo el actuador que explicas en el articulo. Pero, creo que no es problema de los sensores. Como comente, se quedan 3 sensores al mismo tiempo ( AEOTC, VISION y KAIPULE) pillados. Creo lo tiros pueden ir por la distancia. Estos últimos están relativamente alejados, aunque el AEOTEC que esta alimentado, según la matriz de radio, tiene conexión directa.
Ese sistema esta en casa de un familiar, pero en mi casa ( mas cercano todo) no me sucede nunca y tengo las mismas marcas.. No sé… investigaré. Gracias!!
Buenos días. Llevo unos mese con eedomus+ y gracias a vosotros he aprendido bastantes cosas que me han sido de utilidad pero estoy atascado con lo siguiente:
intento copiar el valor de un periférico en otro periférico virtual de estado. He creado un actuador http y en valor tengo la siguiente dirección:
http://ip_eedomus/api/set?api_user=usuario_Api&api_secret=Contraseña_Api&action=periph.value&periph_id=id_Periférico_Virtual&value=%5BLAST_VALUE PERIPH_ID=id_periférico]
peno no me cambia el valor del periférico virtual, ¿Cuál sería la forma correcta de hacerlo?.
Muchas gracias de antemano.
Este tipo de consultas, mejor en el foro, es más apropiado para poder ayudarte. Un saludo.
Ok, muchas gracias Philippe, lo consulto en el foro.
Gracias.