Gestión de presencia en Jeedom

Gestión de presencia

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 :

variable(nombre_variable)

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...

4 comentarios en «Gestión de presencia en Jeedom»

  1. Gracias por compartir ,ahora me pondré a hacer uno ,cada vez que leo algo nuevo ,quedo mas impresionado sobre el poder de Jeedom

    Responder
  2. Me lo he leído varías veces todavía no lo hice porque de momento no tengo maneras de detectar presencia (tengo que configurar el dhcp, ip fijas o no sé si se podrá con arp), pero tengo un duda, la escena según entiendo actualizas las dos variables a la vez cuando uno de los sensores detecta presencia, entonces no veo la utilidad de dos variables (solo si fueran dos escenas separadas) ¿Es correcto? o es que mal entendí alguna cosa.

    Responder
    • A nivel de escena, sí que actualizo las dos variables, por una razón sencilla: si uno de los sensores detecta movimiento, a nivel global de gestión de presencia, eso significa que hay alguien en la vivienda. Pero a nivel de cada sensor de presencia (ya sea PIR u otro), esas variables se actualizan de forma individual a través de una “acción sobre valor”. De esta manera, tengo en mi virtual de gestión de presencia no solamente un comando que me dice a nivel global si hay alguien o no, sino otros comandos individuales que me dicen donde y cuando se ha detectado presencia concretamente. Por ello es preciso usar una variable por cada sensor de presencia.

      Saludos.

      Responder
  3. Voy a volver a mirarme lo porque parece que no seguí bien la traza (creo que ahora lo entendí) como tu has dicho hay muchas maneras de hacerlo, como existen acciones por valor, escenas y variables (hasta scripts) las maneras son muchas.
    Primero voy a ver si hago o encuntron un “slider” para las persianas, luego un bluetooth para la raspberry… voy al foro a preguntar un cosilla 😀

    Responder

Deja un comentario

También te puede interesar

¿Qué novedades trae Matter 1.1?

Hace seis meses Matter por fin entró en escena después de varios retrasos con Matter 1.0, prometiendo revolucionar la manera en que conectamos nuestros dispositivos domóticos en casa. La manera de hacerlo es mediante la interoperabilidad entre los fabricantes ...

¡La aventura Domótica Doméstica continúa!

Después de anunciaros hace más de un mes que el blog y el foro de Domótica Doméstica iban a desaparecer para siempre, de forma ...

Domótica Doméstica dice adiós…

Dicen que no es fácil decir adiós… y probablemente sea cierto…. Pero ha llegado el momento del adiós de Domótica Doméstica. Tras más de ...

No es Magia

Lo que yo hago lo puedes encontrar en YouTube y hacerlo por ti mismo dedicándole muchas horas. ¡Si tienes tiempo y te gusta la tecnología, hazlo así!

Si quieres ir a tiro hecho:

Quiero trabajar con Jordi