IFTTT: Visueel automatiseren

  • door

Onlangs kwam ik IFTTT (kort voor If This Then That) tegen. Dit is een platform waarmee je honderden services (die IFTTT compatibel zijn) een bepaalde actie kan laten uitvoeren.

Er zijn echt een heel groot aantal services die te koppelen zijn via IFTTT. Bijvoorbeeld Twitter, Facebook, GMail, Android, iOS. Te veel om op te noemen! Kijk op de website voor alle mogelijkheden.

Hoe werkt dat dan?

De werking is heel simpel. Bij het aanmaken van een nieuwe Applet moet je twee dingen opgeven. De “This”, en the “That”. De eerste is de trigger, hetgeen wat de “That” initieert.

Een nieuwe applet aanmaken in IFTTT.

Een aantal handige applets zijn bijvoorbeeld het stilzetten van je Android telefoon als je in de buurt komt van je werk. Bij het configureren van deze applet geef je de locatie op waar je werk zich bevindt, en zodra je Android telefoon zich binnen een straal van deze locatie bevindt, dan wordt hij automatisch op stil gezet. Zo kan je ook instellen dat je telefoon automatisch (weer) op geluid gezet wordt als je thuis komt. En zo zijn er nog heel veel andere opties.

Een die ik zelf erg handig vindt is een berichtje met de weersvoorspelling. Dit werkt via een Weather Underground applet.

Krijg een weerbericht iedere ochtend om 7 uur.

Je kan deze notificatie op meerdere manieren ontvangen. Zo kan je dit automatisch laten tweeten via je Twitter account, kun je dit via SMS ontvangen, of je zelf een e-mail sturen.

Zelf heb ik dit opgezet om iedere ochtend om 6 uur een Telegram berichtje te krijgen met daarin de weersvoorspelling. Dan weet ik iedere ochtend als ik uit bed stap wat voor weer het wordt. Handig!

Voorspelling van vandaag. Helaas ondersteunt IFTTT nog geen Nederlands (en formatteringen).

Taking it a step further

Met IFTTT kan je nog een stapje verder gaan. Een applet die ondersteuning heeft met IFTTT is Maker. Maker biedt je de mogelijkheid om een HTTP request te ontvangen of versturen (afhankelijk van of het de This of the That is). Dit is dus een heel krachtig mechanisme, wat je dus voor heel veel doeleinden in kan zetten.

Zelf heb ik een IFTTT met Maker opgezet waar ik een berichtje krijg via de @IFTTT bot via Telegram op het moment dat mijn Home Assistant systeem weer opgestart is. Als je je instantie al wat langer hebt staan (en niet al te veel doet aan optimalisatie) kan het soms even duren voor de Home Assistant instantie weer in de lucht komt. Dit kan soms wel minuten duren. Om niet zo lang te hoeven wachten tot er iets gebeurt, leek het me handig om een IFTTT op te zetten die getriggered wordt door het Home Assistant Start-commando: homeassistant_start

Om dit te bewerkstellingen moet je eerst IFTTT configureren met Home Assistant. Voeg de volgende code toe aan je configuration.yaml
ifttt:
key: xxxxx-x-xxxxxxxxxxxxx

De key die bij je account hoort kun je vinden bij de instellingen van het Maker kanaal.

Na het toevoegen van de bovenstaande configuratie moet je je Home Assistant opnieuw opstarten.

Voeg vervolgens de volgende automation toe aan je configuration.yaml om een trigger te versturen naar IFTTT:

automation:
alias: Startup Notification
trigger:
platform: event
event_type: homeassistant_start
action:
service: ifttt.trigger
data: {"event":"TestHA_Trigger", "value1":"Home Assistant is gestart!"}

Dit zorgt ervoor dat er een trigger gestuurd wordt naar je Maker kanaal op het moment dat homeassistant_start getriggered wordt (dit gebeurt op het moment dat het systeem opgestart is).

Ga nu naar IFTTT en maak een nieuwe applet aan. Kies voor de This voor Maker (je kunt er naar zoeken). Kies Receive a web request, en vul bij Event Name de naam in die je zojuist hebt opgevoerd in de Home Assistant configuratie. Let op! Deze namen moeten overeen komen!

Kies vervolgens the That die je zelf wilt. In mijn geval was dat Telegram (Telegram > Send message to private chat with @IFTTT). De message body is iets wat je vrij kan invullen, zolang je maar de ingrediënten gebruikt die ondersteund zijn door Maker.

En dat is alles! Nu krijg je een melding zodra Home Assistant opnieuw opgestart is. En deze techniek kan je natuurlijk nog voor veel meer toepassingen gebruiken!