Cómo usar la detección de movimiento de tu cámara IP en eedomus
- Tutorial paso a paso para usar la funcionalidad de detección de movimiento de tu cámara IP en eedomus conociendo las ventajas e inconvenientes.
Muchos usuarios de eedomus, yo el primero, pensábamos que la funcionalidad de “detección de presencia” (lo entrecomillo, ya explicaré más adelante por qué) de nuestras cámaras IP no se podía aprovechar en eedomus. Lo cierto es que sí se puede, aunque para hacerlo debemos tener algunos conceptos claros y sortear diversos inconvenientes, como voy a explicar.
Ahora bien, no es oro todo lo que reluce. Esta integración, que es sin duda muy apetecible y prometedora sobre el papel, no lo es tanto en la práctica y tiene algunas limitaciones que le restan efectividad. Veamos…
Consideraciones previas
Antes de entrar a explicar cómo podemos aprovechar la detección de movimiento de nuestras cámaras IP en eedomus, conviene aclarar una serie de conceptos y hacer algunas consideraciones previas.
- PIR vs detección de imágenes
La funcionalidad de detección de movimiento que ofrecen las cámaras IP (salvo las que están equipadas con un verdadero sensor PIR, como algunas Axis) difiere bastante de la tecnología que conocemos como PIR (Passive Infra Red), es decir los detectores de movimiento que todos hemos visto y tenido en nuestras casas, que también existen en tecnología Z-Wave, como el “Ojo de Gato” de Fibaro, por citar sólo uno.
Un sensor PIR, aunque suele tener un alcance menor, es muy fiable (al menos en interiores) y preciso. La mayoría de cámaras IP no están equipadas con un sensor PIR y la funcionalidad de detección de movimiento que ofrecen está basada en la comparación de instantáneas sucesivas. De esta forma, cuando la cámara detecta que una imagen fija difiere de la anterior, infiere que se ha producido un movimiento, pero no siempre es así.
Podemos deducir de lo anterior que la función de detección de movimiento de una cámara IP es susceptible de dar lugar a muchas más falsas alarmas que un PIR. Por ejemplo, si una habitación está en la oscuridad y encendemos la luz, la cámara lo interpretará como una detección de movimiento (olvídate por tanto de usar la detección de movimiento de una cámara IP junto con una simulación de presencia basada en el encendido y apagado de luces).
- Latencia de las cámaras IP
Un sensor PIR reacciona al segundo cuando detecta un movimiento, reportando instantáneamente el evento al controlador domótico, que puede ejecutar de forma casi instantánea también cualquier escena basada en ese evento.
Sin embargo, una cámara IP es más lenta a la hora de detectar un movimiento ya que debe comparar imágenes y luego comunicar el evento a través de su API. Ese proceso genera una latencia de unos segundos que puede no ser molesta en algunos casos, pero que es inaceptable en otros.
Si quieres usar tu cámara IP para encender luces con detección de presencia, el resultado no será satisfactorio precisamente por esa latencia. A no ser que la cámara esté situada, por ejemplo, en un pasillo muy largo y pueda detectar presencia mucho antes de que la persona llegue a la zona donde necesita tener luz.
En cambio, para crear escenas de apagado de luces cuando no hay nadie en una habitación, una cámara IP debería dar bastante buen resultado, ya que en este caso la latencia no será un problema,
- Integración en eedomus
Cuando integramos una cámara IP en el controlador eedomus, éste nos crea distintos canales: el de la cámara propiamente dicha (imágenes), uno llamado “Privacidad” que nos permite activar y desactivar la videovigilancia cuando queramos, y otros dos canales: uno para la luminosidad y el otro para la detección de movimiento.
Sin embargo, estos dos últimos canales (luminosidad y movimiento) no salen en la interfaz de control de eedomus. En cambio, vemos que están disponibles en el motor de reglas de eedomus (lo que significa que podemos usarlos en nuestras reglas).
Aunque los tengamos asignados a una o varias habitaciones, no salen en las habitaciones correspondientes. Eso no es casualidad, así lo ha querido el equipo de desarrollo de eedomus (tendrá sus razones, quizá porque no considere muy fiables esos canales…).
Por tanto, no podemos acceder a esos canales a través de las habitaciones. Existen otras alternativas para acceder a ellos, como por ejemplo la ventana de configuración de la cámara, que nos indica los otros canales vinculados al mismo dispositivo.
Eso significa que si quisiéramos tener en una habitación determinada de nuestro controlador eedomus, o en la sección “Presencia”, un widget que nos reporte en todo momento el estado de la función de detección de movimiento de nuestra cámara, tendremos que buscar una alternativa para conseguirlo ya que, como he subrayado antes, ese canal no aparece en la interfaz de control.
- Observación del histórico del canal de detección de movimiento
Una vez que sabemos cómo acceder al canal de detección de movimiento de nuestra cámara IP, conviene que consultemos el registro histórico de eventos de ese canal, para ver sus reportes. Para ello, una vez en el canal, pulsaremos en “Histórico” en la esquina superior derecha de la pantalla.
En la ventana que nos ofrece los datos históricos del canal de detección de movimiento de nuestra cámara IP, en el desplegable situado en la esquina superior izquierda seleccionaremos la opción “Mostrar todo” y observaremos los registros.
Constatamos que el histórico contiene un montón de eventos de detección de movimiento, pero ninguno referente al estado “Sin movimiento”, como sería lo lógico en cualquier sensor de movimiento.
Lo que haremos entonces será comprobar los valores de este canal de detección de movimiento de la cámara, pulsando en la pestaña “Valores”.
Constatamos que tenemos 4 valores creados en nuestro canal. El primero de ellos (con valor bruto 0), es el correspondiente a “Ningún movimiento“. El segundo (con valor 5) es el de la “Detección de movimiento“. El tercero (con valor 10), es la “Detección de silueta“, una funcionalidad experimental que existió en eedomus hasta el año 2015, pero que ya ha sido retirada. Por tanto, si has añadido tu cámara después de esa fecha, es posible que ese valor no aparezca en tu interfaz. Y para terminar el valor “Detector de movimiento” (con valor bruto 15), que utilizan únicamente las cámaras equipadas con un verdadero sensor PIR (como algunos modelos Axis).
Por consiguiente, aunque tenemos un valor llamado “Ningún movimiento”, constatamos que ese valor nunca queda registrado en el histórico del periférico, lo que obviamente es un problema a la hora de poder usar la detección de movimiento de nuestra cámara en escenas.
Hechas estas consideraciones previas, veamos ahora cómo usar la detección de movimiento de nuestras cámaras IP en eedomus, a pesar de las limitaciones que hemos subrayado anteriormente.
Cómo habilitar la detección de movimiento de una cámara IP en eedomus
Como hemos visto anteriormente, el canal de detección de movimiento de cada una de las cámaras que hemos integrado en eedomus (si no sabes como integrar una cámara IP en eedomus, aquí te lo explicamos), está habilitado por defecto en nuestro controlador. Aunque no aparezca en ninguna habitación o sección, está presente en el motor de reglas de eedomus y podemos, por tanto, usarlo en nuestras escenas.
Sin embargo, como he subrayado, el canal de detección de movimiento de la cámara sólo reporta eventos de detección de movimiento y no vuelve nunca al estado “Sin movimiento”, lo que obviamente merma mucho las posibilidades de cualquier escena domótica.
Pero esa anomalía (tiendo a pensar que es debida a una carencia de la API de la cámara) se puede enmendar forzando un cambio de estado del periférico desde la API de eedomus. Esto es algo que hemos explicado en un post reciente, por lo que no volveré a detallarlo aquí para no extenderme demasiado. Si no sabes cómo forzar un cambio de estado en cualquier periférico en eedomus, aquí te lo explicamos.
Resumiendo: para conseguir que el canal de detección de mis cámaras IP registre no solamente los eventos de detección de movimiento, sino también eventos de vuelta al estado “Sin movimiento”, crearé un periférico virtual que fuerce este cambio de estado a través de la API así como una regla para que el “sensor” de detección de movimiento de la cámara vuelva al estado “Sin movimiento” al cabo de un tiempo de 60 segundos cada vez que detecte un nuevo movimiento (mediante una macro).
Como podéis comprobar, he limitado la frecuencia de disparo de esta regla a una vez por minuto, ya que sería susceptible de dispararse muchas más veces y en caso de superar 6 veces por minuto eedomus suspendería su ejecución para evitar colapsos.
Una vez hecho lo anterior, si acudimos de nuevo al histórico del canal de detección de movimiento de la cámara, comprobaremos que ya reporta el estado “Sin movimiento”.
A partir de ese momento, podremos crear con total normalidad escenas basadas en este canal (quizá el criterio “ahora se vuelve” sea el más adecuado para escenas de alarma o de encendido de luces), si bien las limitaciones que hemos señalado antes seguirán existiendo. Me estoy refiriendo a las posibles falsas alarmas (que quizá podamos reducir ajustando la sensibilidad de la cámara) y a la latencia.
Cómo crear un widget de detección de movimiento de la cámara
Cómo hemos visto antes, el canal de detección de las cámaras no aparece en la interfaz de control. Si nos interesa tener ese canal a mano en nuestra interfaz, ya sea en alguna habitación o en la sección “Presencia”, para saber de un simple vistazo si todo está en orden en nuestra casa cuando no estamos, podemos crear un periférico virtual que llamaremos “Movimiento” y que situaremos en las habitaciones y secciones que queramos. Además, en ese mismo periférico virtual, crearemos una macro para que vuelva de forma automática al estado “Sin movimiento” después de un tiempo x.
Después, sólo nos quedará crear una regla para que este periférico virtual refleje el estado del canal de detección de movimiento de nuestra cámara IP. Para ello, usaremos la regla creada en el paso anterior y le añadiremos una acción.
Conclusiones
Es posible integrar la función de detección de movimiento de nuestras cámaras IP en eedomus. Sin embargo, la utilidad de esa integración es muy relativa. Si la usamos en escenas de alarma, hay que ser consciente de que nos puede dar falsas alarmas.
Quizá el uso más interesante sea para encendido de luces (si la latencia no es un problema) y sobre todo para el apagado de luces que nos dejamos encendidas por olvido.
Si quieres saber más sobre cámaras IP en eedomus, no te pierdas este otro artículo sobre cómo sacarle más a tu cámara IP.
Y si has leído este largo articulo y has llegado hasta aquí, como recompensa obtendrás en domboo.es un buen descuento en la compra de un controlador eedomus Plus, usando este código de descuento (por tiempo limitado): domdom-post-eedomus.
Genial. Gracias de nuevo Philippe. Lo haces todo demasido fácil.
Me alegro de que te sirva. Saludos.
Hola. Lo primero muchas gracias por el articulo. Me sirvio y funcionó perfectamente.
Pero desde hace unos días, ni consigo activar la alarma.
Mi camara foscam FI9851P V2 si detecta movimiento y así lo veo en el registro de la cámara.
Pero eedomus no adopta el valor de “detección de movimiento”.
El caso es que me funcionaba todo perfecto y de repente el valor en la cámara en eedomus no adopta el valor de movimiento y paso a condición de alarma.
Insisto, la cámara si detecta movimiento y así lo veo en el registro.
En eedomus veo la cámara con normalidad y cuando activo el modo normal, la imagen es un a”V” y cuando detecta el movimiento veo una imagen, pero el valor no cambia de “ningún movimiento” a “detección de movimiento”.
Muy raro ya que como he dicho, hace unos dias funcionaba a la perfeccion.
¿Me puedes ayudar?
Muchas gracias de antemano.
Un saludo.