IFTTT se ha convertido en una plataforma si no imprescindible, desde luego muy útil a la hora de complementar cualquier sistema domótico, ya que permite crear interacciones entre dispositivos y servicios no compatibles entre sí nátivamente.
Desde hace bastante, IFTTT pone a nuestra disposición un servicio llamado “Phone Call” que, como su propio nombre indica, permite recibir mensajes de voz por llamada telefónica en función de cualquier evento desencadenante, como por ejemplo la recepción de un mail, el encendido de una luz en el hogar, una detección de movimiento, etc.
El problema es que el servicio “Phone Call” sólo funciona en Estados Unidos. Pero recientemente IFTTT ha introducido un nuevo servicio llamado “VoIP Calls”, que permite en la práctica hacer lo mismo que “Phone Call” pero sin limitación geográfica al tratarse de telefonía IP.
Veamos cómo aprovechar ese nuevo servicio con un controlador domótico tipo eedomus, Jeedom u otros.
En este tutorial, explicaremos cómo implementar en el controlador eedomus notificaciones por llamada telefónica en caso de que se dispare una escena de alarma en nuestro sistema domótico, pero es válido para cualquier controlador domótico que permita realizar llamadas http y para cualquier escena.
Recuerdo que en eedomus esta funcionalidad existe de serie sin pasar por IFTTT, pero sólo está disponible para usuarios Premium.
Requerimientos
Para implementar en nuestra eedomus o cualquier otro controlador notificaciones por llamada telefónica, necesitaremos lo siguiente (aparte, obviamente, del controlador):
- Una cuenta de IFTTT
- La aplicación móvil IFTTT instalada en nuestro teléfono iOS o Android, debidamente logeada en nuestra cuenta de IFTTT.
- Los servicios “Webhook” (antes llamado “Maker”) y “VoIP Calls” dados de alta en nuestra cuenta de IFTTT.
Creación del Applet necesario en IFTTT
Una vez que tenemos la aplicación móvil IFTTT debidamente instalada y logeada en nuestro teléfono iOS o Android, lo primero que debemos hacer es crear en nuestra cuenta de IFTTT el Applet necesario (antes llamado “receta”). Para ello, nos iremos a “New Applet” en nuestra cuenta de IFTTT.
A continuación, indicaremos a IFTTT cuál será el evento desencadenante de nuestra escena pulsado en “+this” y elegiremos el servicio “Webhook” entre todos los disponibles.
No voy a explicar de nuevo en este tutorial cómo funciona este servicio “Webhook” -antes llamado “Maker”-, porque ya lo hemos hecho en posts anteriores.
Luego asignaremos un nombre de nuestra elección al evento desencadenante que estamos creando, como podemos ver en la siguiente imagen.
A continuación, indicaremos a IFTTT cuál será la acción que deberá ejecutar cuando se produzca el evento desencadenante anterior. Para ello, elegiremos el servicio “VoIP Calls” entre todos los disponibles.
Después, podremos personalizar el mensaje de voz a nuestro gusto, y usar si lo necesitamos los “ingredientes” (parámetros) añadidos que ofrece este servicio (lo cual no es necesario en nuestro ejemplo).
Ya está, sólo nos queda ponerle un nombre a nuestro nuevo Applet de IFTTT y guardarlo debidamente.
Creación del dispositivo virtual necesario en eedomus
Para poder ejecutar desde eedomus el Applet de IFTTT que hemos creado en el paso anterior, necesitamos crear en el controlador un nuevo dispositivo virtual del tipo actuador http, por lo que nos iremos a “Configuración/Añadir o eliminar un periférico/Añadir otro tipo de periférico/HTTP Actuador” y pincharemos en “Crear”.
Asignaremos un nombre a nuestro nuevo actuador http, le cambiaremos el icono si lo deseamos y lo asignaremos a alguna habitación/categoría, tras lo cual pulsaremos en “Guardar y seguir editando”
Luego nos iremos a la pestaña “Valores” y crearemos un valor nuevo al que le pondremos un nombre de nuestra elección. En el apartado “URL” indicaremos la URL que permite desencadenar la ejecución del Applet de IFTTT que hemos creado anteriormente.
Esta URL debe tener el siguiente formato:
[plain]https://maker.ifttt.com/trigger/llamada_voip_alarma/with/key/nuestra_key_ifttt_maker[/plain]
Donde:
- llamada_voip_alarma: es el nombre que le hemos puesto a nuestro evento en el servicio Webhook de IFTTT.
- nuestra_key_ifttt_maker: es el código personal que nos asigna IFTTT cuando damos de alta el servicio Webhook.
Ya está, hemos terminado. A partir de este instante, podemos crear en nuestro controlador domótico cualquier escena que tenga como desencadenante un evento cualquiera (disparo de la alarma, detección de humo o agua, detección de movimiento, nivel de temperatura, etc.) y como acción nuestro nuevo actuador http, que a su vez hará que se ejecute el Applet correspondiente en IFTTT, tras lo cual, en muy pocos segundos y sin prácticamente latencia, recibiremos en nuestro teléfono móvil una llamada de voz que pronunciará en perfecto español el mensaje que hayamos creado previamente.
Os animo a probar e implementar esta interesante funcionalidad en vuestro controlador domótico, sea cual sea, de forma gratuita y sencilla gracias a IFTTT. Espero que os sea de utilidad.
Perfecto, gracias por este tutorial, no tenia ni idea de que se pudiera hacer, mejor que una notificación en caso de alarma, lo probaré.
Muchas gracias. Muy útil. Funcionando en Jeedom mediante una escena que ejecuta un script de tipo http.
Muchas gracias Philipe por este tutorial. Funcionando perfectamente en eedomus.
Gracias Philippe. Funcionando en Jeedom con el plugin para IFTTT.
Aunque funciona perfectamente lamentablemente algunas veces la llamada tarda 2 minutos en recibirse y otras hasta 2 horas con lo que puede ser un problema si es urgente la necesidad de tomar acción como por ejemplo en caso de salto de alarma
IFTTT tiene distintas prioridades para sus distintos servicios, lo que hace que algunos tengan latencia y otros no. Este de VoIP es de ejecución inmediata (en 2 segundos creo recordar que dicen ellos). Salvo incidencia temporal de IFTTT (que puede ocurrir), no deberías tener latencia. Yo no la tengo ni en Android ni en iOS. Nunca ha tardado más de 3 segundos en entrar la llamada. Revisa los ajustes de la App IFTTT en tu dispositivo móvil y/o vuelve a instalar la App. Saludos.
Philippe, Hay poco que configurar con VoIP call y Webhooks. Lo he instalado en IOs y Android y en ambos casos las llamadas tardan más de unos segundos. Algunas veces hasta mas de 2 horas. 🙁
No me refería a la configuración de VoIP y Webhook, sino a la de la propia App, especialmente en iOS. Si usas el servicio de geolocalización de IFTTT por ejemplo, sólo funciona si tienes la configuración correcta en la App para iOS (debes autorizar que el servicio de GPS corra permanentemente en tarea de fondo). Revisa esas opciones a ver si puede ser algo de eso. Yo no tengo ninguna latencia, ya te digo. Una cosa es que pudieras tenerla alguna vez (fallo o retraso en los servidores de IFTTT) y otra cosa muy distinta es que te falle de forma tan habitual, como te está pasando. Si no fuera lo de la App, se me ocurre que pruebes creando otra cuenta distinta de IFTTT, a ver si así consigues que la cuenta esté en otro servidor que no tenga latencia, como debería ser en el caso concreto del servicio VoIP, que sólo tiene sentido si es inmediato. No dejes de contarme. Saludos.
Estoy contigo Philippe, yo en mi caso en mi instalación con jeedom utilizo pushingbox + newtifry y 0 retardo.
Philippe consulta, has podido hacer algo parecido en HC2 FIBARO?
Esto concretamente no lo he probado en HC2 pero entiendo que es perfectamente posible con un dispositivo virtual.
Hola Philippe.
Estoy muy agradecido por compartir tu conocimiento de domótica con nosotros los novatos, este consejo me ha permitido configurar correctamente la alarma de mi casa con IFTTT que nos da un valor añadido.
Gracias por todo.
Gracias a ti, Julio, por leernos. Un saludo.
Gracias a ti Julio, por leernos. Un saludo.