IFTTT + Stringify para obtener estados de periféricos eedomus en Telegram

Desde que Telegram está en IFTTT, es relativamente sencillo usarlo como sistema de notificaciones de eedomus (para que la familia sepa si la alarma está activada en casa, por ejemplo), y también para dar órdenes (enciende la luz del salón, por ejemplo). Hasta se puede usar la voz recurriendo a la funcionalidad de dictado que incorporan tanto iOS como Android en sus dispositivos móviles.

Hasta aquí todo bien.

Pero conocer el estado de un periférico a través de Telegram, es más complicado porque la API de eedomus nos devuelve los datos en un formato concreto. Lo suyo sería hacerlo a través de un script…

Pero con un poco de imaginación y dando muchas vueltas, la verdad (hay que crear un “flow” y dos “Applet” para conseguirlo por cada consulta de estado…) lo he conseguido hacer con IFTTT+Stringify.

Digo que hay que dar muchas vueltas porque Telegram no está en Stringify, lo que facilitaría mucho las cosas, y cuando invocas a IFTTT desde Stringify no puedes transmitir valores…

Al final lo he hecho de la siguiente manera:

  1. En IFTTT he creado este Applet:

    • Trigger: Telegram con un mensaje concreto
    • Acción: Stringify (dispara un flow concreto).
  2. En Stringify he creado un flow con 4 componentes, que podéis ver en la captura adjunta.

    • Trigger: IFTTT
      —> Maker de Stringify que dispara la consulta de la temperatura en el salón mediante la URL que llama a la API de eedomus.
      —> Thing Text, para extraer de la respuesta de la API la temperatura y desechar todo lo demás.
      —> Gmail para mandar por Gmail (en el asunto) lo que sale del paso anterior, aderezado con el texto “eedomus dice que la temperatura…”
  3. En IFTTT he creado otro Applet:

    • Trigger: Gmail (recepción de un mail clasificado con una etiqueta concreta)
    • Acción: Telegram (el mensaje es el asunto del mail anterior).

Nunca conseguí hacer eso únicamente con IFTTT. Como digo, hasta donde yo sé la única forma era recurrir a un script.

Lo tiempos de ejecución no son malos, al menos de momento.

Os adjunto capturas por si os interesa. Y si os hace falta os subiré los detalles de configuración de cada “Thing” en el “Flow” de Stringify.

Saludos.

[emoji55] [emoji55] Me has dejado mudo, vaya currada.

Enviado desde mi Nexus 5X mediante Tapatalk

Eres un magnífico Phroc. Será lo próximo que haga.

Enviado desde mi SM-N9005 mediante Tapatalk

En realidad no es nada. Los “flows” que se pueden hacer pueden ser realmente muy muy complejos. He visto algunos ejemplos alucinantes.

Cuidado porque el lag puede ser grande, de minutos.

Hasta ahora había tenido suerte pero el servicio “Gmail” no es de los que IFTTT refresque muy rápido, de ahí la latencia.

Quizá habría que sustituir ese servicio por otro más rápido.

Fantástico aporte. La imaginación al poder!

Buenos días.
Pensaba que desde telegram sólo se podían enviar órdenes a eedomus pero veo que también es posible recibir notificaciones.
¿Podrías por favor decirme cómo se hace?.
Muchas gracias.

Enviado desde mi SM-N9005 mediante Tapatalk

Puedes recibir notificaciones, en efecto.

Yo he creado un chat de Telegram donde están todos los miembros de la familia y también el bot de IFTTT (en el mensaje inicial el mismo boy te indica como añadirlo a cualquier grupo). Pero no tienes por que hacerlo en un grupo, puede ser en el chat que tienes con el bot.

Luego en eedomus creas un actuador http que llame al maker de IFTTT. Es una URL compuesta por un código que va con el usuario.

O sea que en este caso el Maker de IFTTT lo usas como trigger y no como acción. Sera el IF de tu receta.

Si quieres saber como llamar a maker de IFTTT desde eedomus, en este post lo explico:

http://www.domoticadomestica.com/como-integrar-evohome-en-eedomus-a-traves-de-ifttt/

Luego vas a IFTTT y creas un Applet con estos servicios:

  • IF: Maker de IFTTT como te he dicho anteriormente.

  • Acción: Telegram (Send a text message to a Telegram chat).

No es más complicado que eso. Cada vez que ejecutas en eedomus el actuador http que llama al maker de IFTTT, te sale la notificación en Telegram. Yo lo uso sobre todo para avisar del estado de la alarma en casa.

Te adjunto unas capturas por si te ayudan.

Si te hace falta más ayuda, no tienes más que decirlo :wink:

Muchísimas gracias Phroc. Empezaré mañana.

Enviado desde mi SM-N9005 mediante Tapatalk

Gracias @Phroc, lo acabo de poner en marcha (Maker (IF) > Telegram (TTT)) y funciona pero con un retraso muy grande. Cuál es tu experiencia en cuanto al “lag”?

Buenas… Hecho.
Gracias Phroc.
Jokin, no noto letargos.

Enviado desde mi SM-N9005 mediante Tapatalk

Haciendo pruebas… El letargo máximo que tengo es de unos 9 segundos.

Enviado desde mi SM-N9005 mediante Tapatalk

Si te refieres a recibir notificaciones en Telegram (lo que le explicaba a @Aly) el lag en mi caso es cero. Cuando pongo la alarma instantáneamente recibo la notificación en el chat de Telegram, y cuando la quito lo mismo.

¿Tu tienes mucho lag?

De más de 10 min. Debo estar haciendo algo mal. Debe ser en el IF (Maker) por que el TTT puede ser cualquier cosa que ese pedazo de lag permanece.
He metido la llamada http que pongo en el IF directamente en un navegador y lo mismo. Eedomus no es el culpable pues da lo mismo que hacerlo a través de un Actuador.
Haré más pruebas y os digo si lo resuelvo.

Enviado desde mi iPad utilizando Tapatalk Pro

No es normal, en efecto.

¿Seguro que tienes la URL del maker bien construida?

La URL que utilizo es:

https://maker.ifttt.com/trigger/Prueba/with/key/d5SUp4mRnLCX-1ODKyDiuc

Donde “Prueba” es como se llama “Event Name” de la receta de IFTTT que he creado previamente para el “IF”.
Donde “d5SUp4mRnLCX-1ODKyDiuc” (cambiado para que no se pueda copiar) es el código que me da IFTTT para mi canal “Maker”.

Gracias.

Corriectísimo.

Puede que el problema venga entonces del canal Telegram.

Intenta “desconectarlo” y “recolectarlo” a tu cuenta de IFTTT. Quizá eso arregle las cosas.

Hace como 3 semanas dejé de recibir notificaciones en Telegram y haciendo eso todo volvió a funcionar normalmente y sin lag.