Gestión de presencia en Jeedom

    • Tutorial paso a paso sobre la gestión de presencia en la solución domótica multiprotocolo y Open Source Jeedom: asi lo hago yo.

    La gestión de presencia es un concepto importante en cualquier sistema domótico: es aquel que te permite determinar en todo momento si hay alguien o no en una vivienda, una oficina, un edificio, para, en base a eso, ejecutar una serie de escenas relacionadas con la calefacción, la climatización, el ahorro energético, la simulación de presencia…

    En Jeedom, hay muchas maneras de llegar a un mismo resultado, incluso en esto de la gestión de presencia. En este articulo, te explico cómo abordo yo la gestión de presencia en esta solución domótica.

    Detección de presencia en el hogar

    Como decía en la introducción, en Jeedom hay muchos caminos para llegar a Roma. La gestión de presencia se puede abordar desde distintas perspectivas. Existe incluso un plugin de un desarrollador tercero, llamado «Présence» (es de pago: 2 €), que igual se adapta a lo que necesitas.

    Lo que voy a contar aquí, es cómo lo hago yo, basándome en tres elementos esenciales de Jeedom:

    Y para ilustrar lo que voy a contar, vamos a imaginar un caso de uso muy sencillo, en el que tenemos un pequeño apartamento con dos sensores de movimiento, que son los dos periféricos que usaremos para determinar si hay alguien o no en todo momento en nuestro apartamento.

    Paso 1 – Creación de variables

    En Jeedom podemos usar variables. Son muy fáciles de crear e integrar en nuestras escenas. De hecho, en la mayoría de los casos no hay ni que crearlas porque si usamos en una escena una variable que no existe, Jeedom la crea automáticamente.

    Pero nosotros, para la gestión de presencia, vamos a usar variables dentro de un virtual, por lo que tendremos que crear esas variables primero.

    Es muy sencillo crear variables en Jeedom. Si estás en Jeedom V3, tienes que ir a Menú superior izquierdo / Herramientas / Escenas / Ver variables:

    La variables en Jeedom V3

    Y si tu Jeedom es V4, encontrarás las variables en Menú superior / Herramientas / Las variables:

    Las variables en Jeedom V4.jpg

    Como estamos planteando un ejemplo sencillo en el que vamos a tener solamente 2 dispositivos que nos van a indicar si hay presencia o no en nuestra vivienda, crearemos 2 variables.

    En un escenario real, es obvio que sería interesante disponer de más dispositivos que nos pudieran ayudar a determinar si hay alguien o no en casa, y no solamente sensores de movimiento: podrían ser virtuales que hacen «ping» fiables a los teléfonos móviles de los miembros de la familia, el plugin BLEA para detectar dispositivos Bluetooth como llaveros, sensores de apertura de puertas…

    Aquí hay que ser creativo. Cualquier dispositivo físico o virtual que nos ayude a saber si hay presencia o no, nos servirá, porque lo que vamos a hacer es usar todos esos dispositivos conjuntamente para determinar, con la probabilidad más alta posible, si hay alguien o no en casa en todo momento. La seguridad absoluta no la tendremos nunca, pero sí una probabilidad alta.

    Pero como digo, en nuestro ejemplo vamos a crear tan sólo dos variables, una para cada uno de nuestros sensores de movimiento. Para ello, en el apartado de variables, pulsaremos en «Añadir» y crearemos nuestras variables con el nombre que queramos, asignándoles inicialmente el valor 1. Obtendremos lo siguiente:

    Creación de variables en Jeedom

    Paso 2 – Creación del virtual de gestión de presencia

    Vamos a crear un virtual que llamaremos por ejemplo «Gestión de Presencia», basado en los distintos dispositivos que usaremos para saber si hay presencia o no en la vivienda (en nuestro caso tan sólo dos, repito, aunque cuantos más mejor, y de distintos tipos, si son fiables).

    Para ello, no hace falta que te diga que necesitas tener instalado en tu Jeedom el plugin «Virtuel». Si no es así, instálalo desde el Market Jeedom y actívalo.

    Nos iremos pues a Plugins / Programación / Virtuel y pincharemos en «+» (Ajouter/Añadir).

    Como siempre, rellenaremos los distintos campos de la ventana de configuración de nuestro virtual, y marcaremos las casillas «Activar» y «Visible». En cuanto al Cron, yo configuro uno recurrente de 5 minutos, que me parece lo adecuado para lo que estamos haciendo:

    Creación del virtual

    Una vez hecho lo anterior, nos vamos a la pestaña «Comandos» y creamos dos comandos de tipo «información, binario», cuyo valor será en todo momento igual al de las variables que hemos creado en el punto anterior. Para ello, usaremos la sintaxis indicada a continuación :

    Con la siguiente imagen lo vas a entender mejor:

    Comandos del virtual

    Si tuviéramos más dispositivos y variables, es obvio que tendríamos que crear un comando para cada uno de ellos.

    Después, vamos a añadir un último comando, que será el que aúne todos los comandos anteriores. Dicho de otra manera, este comando adicional, que llamaremos por ejemplo «Probabilidad Presencia», será un cálculo basado en los valores de los anteriores comandos. Concretamente, su valor será igual al producto de los valores de los comandos anteriores.

    Te lo explico mejor con una imagen:

    Comando Probabilidad Presencia

    Seguro que ya sabes por dónde van los tiros: si el valor del primer comando es 0 y el valor del segundo comando es 1, pues el valor del comando Probabilidad Presencia será 0 (ya veremos después que 0 significa presencia en nuestro virtual). Y si el primer y el segundo comando tienen el valor 1, entonces el comando Probabilidad Presencia tendrá también el valor 1 (es decir «no presencia» en nuestro virtual).

    Paso 3 – Acciones sobre valores

    Ahora, vamos a crear acciones sobre los valores de nuestros sensores de movimiento (y de cualquier otro dispositivo que usemos en nuestra gestión de presencia), de tal forma que se actualicen nuestras variables cuando cada sensor esté en el estado «no presencia» durante un tiempo.

    Esto es importante, es la base de todo el sistema de gestión de presencia que estamos creando. Yo, para según qué usos, considero que es razonable pensar que no hay presencia cuando un sensor de movimiento no detecta presencia durante 60 minutos. Eso es discutible y depende de lo que queramos hacer, obviamente. Pero en mi ejemplo ese es el tiempo que voy a usar.

    Por consiguiente, nuestra acción sobre valor en el caso de mis dos sensores de movimiento, quedará como indico en la siguiente imagen. No voy a explicar aquí de nuevo lo de las acciones sobre valores, porque ya lo hice en un post anterior. Pero básicamente lo encontrarás entrando en la ventana de configuración del periférico / Pestaña comandos / Comando estado (o «Presencia» en nuestro caso) / Rueda dentada / Pestaña Configuración.

    Acción sobre valor

    Si te fijas en la imagen anterior, verás que lo que hago es que si mi sensor de movimiento está en el estado «0» (es decir, «no presencia») durante más de 60 minutos, Jeedom actualiza el valor de la variable correspondiente a 1 (valor que luego va automáticamente a nuestro virtual de gestión de presencia, y que en éste significa «no presencia»).

    Si usas otros tipos de periféricos en tu gestión de presencia, como «pings» por ejemplo, quizá debas reducir mucho el tiempo de la acción sobre valor. El objetivo es obtener un resultado que sea fiable en cada caso. Un sensor de movimiento en un dormitorio, por ejemplo, podría engañarnos mucho, especialmente por la noche, de ahí la importancia de encontrar el tiempo adecuado para esta acción sobre valor.

    No hace falta decir que esa acción sobre valor, con el tiempo adecuado, la debemos implementar en cada uno de los dispositivos que intervengan en nuestra gestión de presencia.

    Paso 4 – Escena de actualización del virtual de gestión de presencia

    Este es ya el último paso. Necesitamos una escena que actualice el estado de nuestro virtual de gestión de presencia cada vez que uno de los dispositivos que intervienen indican o detectan presencia en la vivienda.

    El principio de «funcionamiento» es sencillo. Si tengo dos sensores de presencia, lo que quiero es que mi virtual de gestión de presencia pase al estado «Presencia» si cualquier de los dos sensores detecta presencia.

    Te muestro la escena en cuestión, lo vas a entender mejor así:

    Escena - DisparadoresEscena - Acción

    ¿Qué hace esa escena? Muy sencillo: cada vez que uno de mis dos sensores de movimiento detecta presencia, actualiza las dos variables con el valor 0. Eso significa que el comando Probabilidad Presencia de mi virtual Gestión de Presencia deducirá que hay presencia en la vivienda.

    Si tuviera más dispositivos en mi gestión de presencia (dispositivos BT, pings, sensores de apertura…) también los incluiría en esta escena, de tal forma que si cualquiera de ellos detectara o concluyera que hay presencia, las variables se actualizaran y por consiguiente mi virtual de gestión de presencia también.

    Conclusiones

    Al final, ¿qué conseguimos con los 4 pasos indicados anteriormente? Tener en un único virtual una estimación de la probabilidad de que haya alguien o no haya nadie en la vivienda. Esa probabilidad nos viene dada por dos factores:

    • Los distintos dispositivos involucrados en la gestión de presencia (sensores de movimiento, de apertura, BT, pings…)
    • El tiempo que configuremos en nuestras respectivas acciones sobre valores. Y esto es especialmente importante, porque un sensor de movimiento que indique «no presencia» en un momento dado, no es suficiente para concluir que no hay presencia. Si esa no «presencia» dura un tiempo X, entonces ya va siendo más fiable la información de ese sensor. Y si la combinamos con otros sensores, entonces obtenemos una información conjunta mucho más fiable.

    Espero que te sea útil. Como decía al principio, no es la única manera de hacer gestión de presencia en Jeedom, ni mucho menos, es una de ellas, la que yo suelo usar.

    A partir de ahí, una vez que tienes tu virtual de gestión de presencia, te queda hacer todo lo demás, que es usar ese virtual en escenas para hacer múltiples cosas: apagar el aire acondicionado que se ha quedado encendido cuando no hay nadie en casa, hacer lo propio con las luces, activar la alarma si se te ha olvidado, ajustar la calefacción… un sinfín de cosas.

    Philippe

    Madrileño de adopción. Tecnófilo. Podcaster. Obsesionado por la domótica. Y unas cuantas cosas más, casi todas buenas. Keywords: viajes, libertad, amistad, amor, tecnología, pasión, equilibrio...


    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *