Cómo integrar Evohome en eedomus a través de IFTTT

    • Tutorial paso a paso para integrar Evohome en eedomus a través de la plataforma IFTTT con el fin de crear interacciones entre ambos sistemas.

    Hemos hablado largo y tendido en Domótica Doméstica sobre el sistema de control de calefacción por zonas Evohome, de la empresa norteamericana experta en la materia Honeywell.

    Hoy vamos a cerrar el círculo integrando este sistema Evohome en una instalación domótica basada en el controlador domótico Z-Wave eedomus Plus aprovechando la plataforma IFTTT como puente, ya que Evohome no se puede integrar de otra forma, al menos de momento, en eedomus.

    Si bien, como digo, este tutorial se refiere específicamente a la integración de Evohome en la plataforma eedomus, es muy fácil adaptarlo a cualquier otro controlador domótico que permita ejecutar llamadas http. Por otra parte, puede ser un buen punto de partida para entender cómo se puede integrar en nuestra instalación domótica cualquier dispositivo a través de IFTTT, como el controlador de splits de aire acondicionado de IntesisHome, por ejemplo.

    Integración de Evohome en eedomus via IFTTT

    Como ya hemos visto en nuestros anteriores artículos sobre Evohome, esta solución de Honeywell no tiene API abierta ni ofrece compatibilidad con otros sistemas domóticos, quitando la solución TaHomA de Somfy, con la que sí es compatible a través de un módulo adicional que se conecta por USB.

    Dicho módulo adicional se puede integrar no sin esfuerzo en Domotitcz por lo que se comenta en los foros de esta solución Open Source, pero hasta donde yo sé no se ha integrado en otras plataformas.

    Pero ahí tenemos IFTTT, que se ha convertido poco a poco, sin hacer mucho ruido, en una plataforma de integración universal de sistemas domóticos y objetos conectados. La llegada a IFTTT del canal Maker, del que ya os hablamos hace tiempo, ha supuesto el empujón definitivo para hacer compatibles entre sí sistemas y dispositivos que no lo son de forma nativa.

    Canal Evohome en IFTTT

    Consideraciones previas sobre el canal Evohome en IFTTT

    Como hemos comentado en anteriores posts sobre Evohome, el sistema está integrado en IFTTT a través de un canal que tiene el mismo nombre. Sin embargo, ese canal sólo admite acciones, no permite usar Evohome como evento desencadenante (trigger).

    Eso significa que a través de IFTTT, puedes mandar órdenes a tu Evohome, pero no podrás conocer su estado (sí a través de la propia App de Evohome, como es lógico).

    Honeywell perfectamente podría haber habilitado los triggers en su canal Evohome en IFTTT, pero decidió no hacerlo y es una lástima porque, como decía antes, no podremos conocer en eedomus el estado de nuestro Evohome, sólo podremos mandarle órdenes.

    Canal Evohome en IFTTT

    Esa limitación no suele ser habitual en otros sistemas y dispositivos integrados en IFTTT, como por ejemplo IntesisHome, el termostato netatmo y otros muchos, que permiten tanto ejecutar órdenes como conocer su estado y la información que recogen.

    Por ese motivo, nuestro tutorial se va a limitar a explicar cómo controlar nuestro Evohome desde eedomus a través de IFTTT, sin tener la posibilidad de conocer por ejemplo la temperatura ambiante medida por Evohome en cada zona (limitación que en mi caso he salvado sin problemas al tener múltiples sensores de temperatura Z-Wave en todas las habitaciones de mi casa).

    Cuenta en IFTTT y alta de los canales Evohome y Maker

    Lo primero que debemos hacer, obviamente, es crearnos una cuenta en IFTTT si no la tenemos aún (el servicio es gratuito), tras lo cual habilitaremos en nuestra cuenta al menos dos canales, los dos que necesitamos para integrar Evohome en eedomus, a saber:

    Éste es el canal que se va a encargar de recibir y procesar las órdenes domóticas que mandaremos desde nuestra eedomus en forma de llamadas http.

    Cuando habilitamos este canal en nuestra cuenta de IFTTT, la plataforma nos proporciona un código único, personal e intransferible, bastante largo, compuesto de cifras y letras, que copiaremos ya que lo necesitaremos después en eedomus para construir las URL’s de las llamadas http que mandaremos desde eedomus a IFTTT.

    Código del canal Maker en IFTTT

    Éste es el canal que ejecutará en nuestro Evohome las órdenes procedentes del canal Maker, que a su vez proceden de eedomus.

    Para dar de alta este canal en nuestra cuenta de IFTTT, debemos introducir nuestras credenciales de Evohome. Para ello, IFTTT nos desviará automáticamente al sistema de acceso remoto de Honeywell para que nos identifiquemos de forma segura sin dejar al descubierto nuestras credenciales en IFTTT.

    Creación de recetas en IFTTT

    El siguiente paso consiste en crear en IFTTT las recetas (reglas, escenas…) que necesitemos para que IFTTT se encargue de ejecutar en Evohome las órdenes que le lleguen a través del canal Maker.

    Creación de receta en IFTTT

    • Ejemplo de receta sencilla

    A modo de ejemplo, en primer lugar vamos a crear una receta sencilla para que IFTTT ejecute en nuestro Evohome la acción rápida “Away”, que consiste en poner todas las zonas de calefacción a una temperatura baja cada vez que salimos de casa.

    En nuestra cuenta de IFTTT, pincharemos en “My Recipes” y luego en “Créate a Recipe”, tras lo cual se nos abrirá el asistente de creación de recetas de IFTTT para que configuremos en primer lugar el evento desencadenante de la escena, o si preferís el trigger, lo que IFTTT llama el “THIS”. Para ello, pincharemos precisamente en la palabra “This”, tal y como se indica en la siguiente imagen.

    Creación de receta en IFTTT - Evento desencadenante

    A continuación, en la nueva ventana que se acaba de abrir, escribimos “Maker” en el campo de búsqueda de canales y pinchamos en el canal Maker que aparece debajo.

    Configuración del trigger en IFTTTEn el siguiente paso pinchamos en “Receive a web request” y a continuación le ponemos un nombre al evento que estamos creando. No es el nombre de la receta, sino de este evento concreto. Conviene usar un nombre corto y claro, con algún patrón reproducible, para que nos sea más sencillo después hacer uso de él y seguir las mismas pautas en las otras recetas que creemos para controlar Evohome.

    Configuración del trigger en IFTTT

    Ya tenemos nuestro evento desencadenante (trigger) configurado. Ahora vamos a configurar la acción que queramos que se ejecute en Evohome. Para ello, en la siguiente ventana, pinchamos en “That”.

    Configuracion de la accion en IFTTT

    A continuación, en la nueva ventana que se acaba de abrir, escribimos “Evohome” en el campo de búsqueda de canales y pinchamos en el canal Evohome que aparece debajo.

    Configuracion de la accion en IFTTT

    Después, IFTTT nos muestra las distintas acciones que podemos usar en el canal Evohome, a saber: Poner en marcha el calentador de agua, desconectar el calentador de agua, ejecutar una acción rápida, deshabilitar una acción rápida y establecer la temperatura de consigna en una zona determinada.

    Configuracion de la accion en IFTTT

    Siguiendo con nuestro ejemplo, pinchamos en “Enable a quick acción”, como indicamos en la imagen anterior, y en la nueva ventana que se abre rellenamos los distintos campos, que están directamente relacionado con nuestro Evohome (tipo de acción rápida, duración de la acción, etc.). Después, pinchamos en “Create Action”.

    Configuracion de la accion en IFTTT

    Ya casi hemos terminado. Tan solo nos queda, en el siguiente paso, ponerle un nombre a nuestra receta, indicar a IFTTT si queremos recibir una notificación cada vez que se ejecute la receta y pinchar en “Create Recipe”.

    Configuracion de la accion en IFTTT

    Luego, crearemos tantas recetas como necesitemos. Podemos por ejemplo crear otra para ejecutar otra acción rápida de entre las disponibles, y también es conveniente crear una para deshabilitar las acciones rápidas (por ejemplo para que la calefacción vuelva a su programación normal automáticamente cuando llegamos a casa).

    • Ejemplo de receta avanzada

    Podemos crear recetas más avanzadas que incluyan variables. Será necesario, por ejemplo, si queremos poder establecer una temperatura de consigna específica en nuestro Evohome desde eedomus. En ese caso, las variables servirán para establecer la temperatura deseada y la duración de esa consigna.

    En este caso concreto, la receta se construye igual que lo que acabamos de ver, hasta el paso donde hemos elegido la acción de nuestra receta. En vez de elegir “Enable a quick action”, pincharíamos en “Set a zone temperature”, tras lo cual se nos abriría la siguiente ventana.

    Configuracion de la accion con variables en IFTTTLos campos que admiten variables, en este caso concreto son “Target temperatura” (temperatura de consigna) y la duración en hora. Para que IFTTT entienda que estos valores vendrán especificados en la llamada http que lanzaremos desde eedomus, vamos a indicar “Value1” en la primera de ellas y “Value2” en la segunda, tal y como vemos que se hace en la siguiente imagen.

    Configuracion de las variables

    Lógicamente, crearemos tantas recetas avanzadas como ésta, con variables, como zonas tengamos en nuestro sistema Evohome.

    Ejecutar las recetas de IFTTT desde eedomus

    Una vez que hayamos creado todas las recetas que necesitamos en IFTTT para controlar nuestro Evohome (ejecutar distintas acciones rápidas, deshabilidar las acciones rápidas, establecer la temperatura de cada zona de la casa…), ya sólo nos quedará ejecutar esas recetas desde eedomus.

    Para ello, crearemos en la interfaz web de eedomus un actuador http (en Configuración / Añadir o eliminar un periférico / Añadir otro tipo de periférico / Http actuador / Crear). Le pondremos un nombre, lo asignaremos a una habitación, etc., y nos iremos a la pestaña de valores, donde crearemos todos los valores que necesitemos para ejecutar las recetas correspondientes en IFTTT y a través de ésta en Evohome.

    En mi caso he creado un actuador http para todas las acciones rápidas y 8 actuadores para cada una de las zonas de mi sistema Evohome.

    Actuador http para acciones rápidas

    • Actuador http para acciones rápidas

    Los valores que debemos crear en la pestaña correspondiente del actuador http, están compuestos por un nombre, el que queramos poner a cada valor, y una URL con un formato muy concreto que debemos construir correctamente para que desencadene la ejecución de la receta correspondiente en IFTTT y en Evohome.

    Valores del actuador http en eedomus

    La URL que debemos indicar en cada uno de los valores se construye de la siguiente manera:

    https://maker.ifttt.com/trigger/Nombre_evento_maker_IFTTT/with/key/Codigo_unico_maker_IFTTT

    Donde:

    • En rojo los valores que hay que adaptar a nuestro caso concreto.
    • Nombre_evento_maker_IFTTT: Es el nombre que le hemos puesto a cada evento que hemos creado con Maker de IFTTT. En nuestro primero ejemplo (receta sencilla) era Ejecutar_Away.
    • Codigo_unico_maker_IFTTT: Es el código único que nos asigna IFTTT cuando activamos el canal Maker en nuestra cuenta de IFTTT. En nuestro primer ejemplo (receta sencilla) era XXXXX_xxxx_YxZ-Zxxxxxxy.

    Como podéis ver en la imagen superior, cada valor del actuador http en eedomus se corresponde con una URL que desencadena la ejecución de la receta correspondiente en IFTTT y a través de ésta en Evohome.

    • Actuador http para temperatura de consigna en zonas

    Aquí también, al igual que en el caso del actuador http anterior, los valores están compuestos por un nombre y una URL concreta que se construye de la misma manera, pero que además incorpora dos variables.

    Valores del actuador http en eedomus

    En este caso, la URL que debemos indicar en cada uno de los valores se construye de la siguiente manera:

    https://maker.ifttt.com/trigger/Nombre_evento_maker_IFTTT/with/key/Codigo_unico_maker_IFTTT?value1=17&value2=2

    Donde:

    • En rojo los valores que hay que adaptar a nuestro caso concreto.
    • Nombre_evento_maker_IFTTT: Es el nombre que le hemos puesto a cada evento que hemos creado con Maker de IFTTT.
    • Codigo_unico_maker_IFTTT: Es el código único que nos asigna IFTTT cuando activamos el canal Maker en nuestra cuenta de IFTTT.
    • value1: Es la temperatura de consigna que queremos establecer en nuestro Evohome (en los decimales se usa un punto en vez de una coma. Ejemplo: 19.5 para 19,5º).
    • value2: Es la duración de la consigna de temperatura en horas

    Una vez creado un actuador http para una zona concreta nos será muy fácil clonarlo para otra zona. Una vez clonado, sólo nos quedará cambiarle el nombre, asignarlo a la habitación correcta y modificar las URL’s de la pestaña de valores.

    Ya hemos terminado. Ya podemos controlar nuestro sistema Evohome desde eedomus o cualquier otro controlador domótico que permita ejecutar llamadas http, a través de IFTTT.

    La latencia que se produce entre el momento en que se da la orden desde eedoms y el momento en que se ejecuta en Evohome es mínima, unos segundos generalmente. Funciona muy bien y además, cuando alguna orden fracasa (muy pocas veces), Honeywell te avisa por mail.

    A partir de ahí, es muy fácil crear reglas en eedomus para bajar la calefacción automáticamente cada vez que sales de casa, volver a la programación establecida cuando llegas, cambiar la temperatura de consigna de cada zona en función de multitud de situaciones…

    Espero que este largo tutorial os sirva no sólo para integrar Evohome en vuestra eedomus, sino cualquier otro dispositivo compatible con IFTTT que no se pueda integrar de forma nativa en eedomus.

    Si os interesa el sistema Evohome, lo encontraréis en la tienda online de nuestro partner experto en sistemas de calefacción ahorrarentucasa.es, pulsando en la siguiente imagen.

    Comprar Evohome

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


    5 Respuestas

    1. Mikel dice:

      Hola Philippe de nuevo:
      De Evohome principalmente (a parte de que no pueda usarse como trigger en IFTTT) me para que no sea (ni vaya a serlo porque no tiene el chip) compatible con HomeKit de Apple… ¿Eso es insalvable (salvo que saquen una nueva pantalla de control con chip HomeKit incorporado), no? Veo que el fabricante, Honeywell, sí vende en EEUU el termostato Lyric Round con HomeKit (y parece que van por la segunda generación allí), a tenor de la página http://yourhome.honeywell.com/en/products/thermostat/lyric-thermostat

      Dados tus contactos directos con Honewey ¿sabes si el Lyric Round se comercializará en España y si sería compatible con las válvulas de radiador termostatizables HR92we (que son las del Evohome)?

      Muchas gracias!!

      • Philippe dice:

        Hola Mikel. No tengo información directa al respecto. Para tener compatibilidad con Homekit, en efecto Evohome tendría que cumplir con las especificaciones de Apple a nivel de hardware, cosa que ahora mismo no ocurre. Otra vía de integración sería a través de una plataforma que sí fuera compatible con Homekit. La integración con IFTTT funciona muy bien. La gran pega es la ausencia de Trigger, eso daría mucho juego. No tengo info al respecto pero mi sensación es que Honeywell no tiene intención de ampliar el canal de Evohome en IFTTT…

    2. Mikel dice:

      Muchas gracias Philippe! Y, por cierto, sabes algo del Lyric Round y su compatibilidad con Evohome o con los cabezales HR92 que usa Evohome? 😉 ¿O quizá sólo es un termostato normal (no multi zona)?

    3. Perchero dice:

      Hola! Tengo dos problemillas, a ver si me puedes ayudar:

      – Creo la URL para ejecutar una acción rápida y aunque dándole al botón “probar” se ejecuta correctamente, no me permite guardar y me aparece el siguiente error: Línea 2: El URL debe comenzar con [http://] o [https://]
      La URL es: https://maker.ifttt.com/trigger/nombre evento/with/key/codigo maker

      – Cual es la receta de ifttt para crear la url de “desactivar las acciones rapidas”?

      Muchas gracias!

    Deja un comentario

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