Il m'a toujours semblé que l'essentiel dans une «maison intelligente» n'était même pas les capacités d'un appareil particulier, mais la capacité de ces appareils à interagir les uns avec les autres, réalisant des scénarios complexes. Pour ce faire, il n'est plus nécessaire de se limiter aux composants d'un seul fabricant, car il existe des agrégateurs, comme Google Home ou les compétences de gestion des appareils d'Alice. Cependant, certains scénarios sont toujours au-delà de leur pouvoir. Aujourd'hui, nous allons parler de la façon de contourner ce problème en utilisant IFTTT - un intermédiaire universel entre les services Web. Et spoiler: je mentionnerai à la fin comment contourner les limites de IFTTT lui-même.
IFTTT en quelques mots
Le service de mashup IFTTT a environ 10 ans, il n'a donc pas besoin d'une introduction détaillée. IFTTT permet d'interconnecter des services Internet qui ne sont pas directement intégrés. Au lieu d'élaborer une douzaine d'intégrations différentes, les créateurs du service Internet ont juste besoin de s'intégrer à un IFTTT, qui devient un intermédiaire universel, permettant aux utilisateurs finaux de déterminer le sens du transfert de données vers le côté et les tâches que l'intégration résout.
IFTTT est souvent mémorisé dans le contexte des repositionnements automatiques d'un réseau social à un autre. Il est également facile à utiliser pour collecter des informations et des tâches utiles. Par exemple, en travaillant dans différentes équipes, chacune avec un outil de distribution de tâches différent, je regroupe tout ce qui m'est assigné dans différents systèmes - Trello, Asana et e-mail - dans mon personnel Remember the milk (RTM).
RTM lui-même a quelques intégrations avec des services tiers, mais ils ne sont disponibles que dans la version payante. IFTTT a donc permis de contourner le besoin d'un abonnement payant. Et en même temps, j'ai aidé à mettre en place un robot Telegram pour ajouter rapidement des tâches à partir du messager.
IFTTT ne vit pas seulement dans le monde virtuel. Si les composants de la maison intelligente ou tout autre appareil IoT ont accès au cloud (et que le fabricant a intégré son service Web avec IFTTT), vous pouvez les contrôler via des applets IFTTT.
Bien sûr, il y a beaucoup de réserves ici. Les scénarios ne peuvent être qu'extrêmement simples - «si - alors», pas de logique complexe. Le service comprend l'alphabet cyrillique dans les noms des applets et des champs de texte lors de leur configuration, mais toutes les fonctions ne fonctionnent pas en Russie et avec la langue russe. Par exemple, aux États-Unis, les utilisateurs ont la possibilité de créer un script qui appelle un téléphone mobile lors d'un événement. Cette fonctionnalité n'est pas disponible en dehors des États-Unis. De plus, de nombreuses ressources russes populaires ne sont pas intégrées à IFTTT (de VKontakte à Alice).
Mais aujourd'hui, nous ne parlerons pas de cela, mais de la façon dont IFTTT aide à travailler avec les appareils. La plupart des composants de maison intelligente disponibles sur notre marché sont fabriqués en dehors de notre pays et dépendent de services Web étrangers, et IFTTT est populaire parmi eux.
Contrôler les appareils intelligents en utilisant Sonoff comme exemple
IFTTT est intégré à une grande variété de systèmes de maison intelligente. Les composants de plusieurs d'entre eux sont vendus en Russie, mais Sonoff (système eWeLink Smart Home), selon l'impression subjective, est l'un des plus populaires, principalement en raison du prix (sur les ventes sur AliExpress, les relais Wi-Fi peuvent être achetés pour 300 à 400 roubles).
Que sont les appareils Sonoff?
Sonoff est une marque de relais, prises, capteurs et commutateurs contrôlés Wi-Fi abordables. Les composants du système peuvent être achetés en Fédération de Russie ou commandés en Chine. Ils sont bien connus sur Habré du fait que les artisans font clignoter le module Wi-Fi ESP8266 utilisé pour que les appareils n'essaient pas d'accéder au cloud sur Amazon, mais fonctionnent à l'intérieur du réseau local (en remplaçant le service cloud par leur propre hub maison intelligente). Mais pour travailler avec IFTTT, un tel clignotement n'est tout simplement pas nécessaire.
Dès la sortie de la boîte, le contrôle de l'appareil est effectué à partir d'un smartphone depuis l'application eWeLink (en théorie, il existe une interface Web, mais elle en est au stade initial de développement).
Au cours des dernières années, le service du même nom a été finalisé. L'intégration avec Google Home et Alice est apparue, de sorte que les appareils peuvent même être contrôlés vocalement en russe sans paramètres compliqués. Cependant, certains scénarios ne peuvent pas être implémentés uniquement dans l'application. Par exemple, en installant un relais avec un capteur de température et d'humidité sur un sol chaud, il ne sera pas possible de créer un scénario complexe dans l'application qui vous permette d'allumer ou d'éteindre le chauffage en fonction des données des deux capteurs.
Bien que le jeu de commandes soit encore limité, l'application permet déjà divers scénarios intéressants. Par exemple, vous pouvez allumer et éteindre une veilleuse dans une pièce en fonction de l'horaire des levers et couchers de soleil pour un jour spécifique (la fonction est configurée une fois et chaque jour, l'heure de commutation de la veilleuse change légèrement en fonction des données astronomiques).
Dans le même temps, l'application s'acquitte parfaitement de la tâche d'éteindre les appareils la nuit selon un horaire, avec des paramètres pour les minuteries cycliques, et fait de nombreuses autres choses utiles, mais pas très intelligentes.
Nous connectons eWeLink à IFTTT
Lors de la mise en place d'une maison intelligente, le besoin d'IFTTT apparaît au moment où l'on souhaite mettre en œuvre un scénario non pris en charge par le constructeur (par exemple, en regroupant des appareils), ou pour combiner plusieurs fonctions de différents fabricants en un seul tout. Malheureusement, dans la dernière version de l'application eWeLink, le fabricant a décidé de gagner de l'argent sur ceux qui ne sont pas satisfaits de scripts simples, et ouvre l'intégration avec IFTTT uniquement sur un plan payant - 9,99 $ avec paiement PayPal par an. Ce n'est pas un si grand montant pour une expérience d'un an.
Pourquoi une expérience? Parce que la réelle commodité de certains scénarios n'est démontrée que par une utilisation quotidienne à long terme. Les appareils intelligents vivent dans notre appartement et se remplacent depuis plus d'un an. Lorsqu'un nouveau composant apparaît, une dizaine de scénarios sont déjà tordus dans ma tête, qu'il va permettre de mettre en œuvre. Et au début, tout le monde est impliqué. Mais après un mois, 9 sur 10 ne sont plus utilisés. Et celui qui «survit» subit quelques changements - pendant ce temps, l'idée est «affinée» pour elle-même: combien de temps la lumière dans le couloir doit-elle continuer à brûler après avoir appuyé sur le bouton? Quel niveau de luminosité doit avoir la veilleuse dans le couloir? Quels seuils de lecture des capteurs doivent être définis pour envoyer des notifications afin qu'elles ne soient pas sollicitées, etc.
IFTTT vous permet de mettre en œuvre de nombreux scénarios et de les reconfigurer facilement. Pour illustrer l'approche, supposons que nous voulons éteindre automatiquement le thermo-pot lorsque je quitte la maison plus loin que la rue suivante. Cela peut être fait de manière élémentaire:
Créez une nouvelle applet (Create). Comme déclencheur (+ This), sélectionnez le service de localisation, qui prend l'emplacement d'un appareil Android (ou iPhone) sur lequel le client IFTTT est installé (connecté sous le même compte, si vous avez configuré un script dans l'interface Web).
Il y a 3 déclencheurs disponibles pour le service. "Vous sortez de la zone" nous conviendra.
Nous définissons l'adresse du point central de la zone et le rayon autour de cette adresse (le rayon est régulé en augmentant / diminuant l'échelle de la carte). IFTTT a été agréablement surpris par le fait qu'il comprend la saisie de l'adresse en cyrillique. Malheureusement, le rayon ne peut pas être trop grand - par exemple, la ville entière avec une population d'un million d'habitants ne peut pas être désignée comme zone.
Nous créons un déclencheur de cette manière (le bouton Créer un déclencheur en bas de l'écran).
Nous définissons l'action (+ That) - désactiver le relais eWeLink. Pour ce faire, nous connectons le service eWeLink Smart Home. Après avoir cliqué sur Se connecter, vous devrez vous connecter à votre compte eWeLink dans une fenêtre séparée.
Si l'autorisation réussit, une liste complète des actions disponibles pour eWeLink Smart Home apparaîtra.
Cliquez sur "Activer ou désactiver le commutateur 1 canal" et sur la page suivante dans la liste déroulante, sélectionnez le périphérique souhaité, ainsi que l'état requis (activé ou désactivé). Dans mon cas, c'est le relais qui sert à connecter le thermopot, et non la prise, mais si vous faites une erreur et sélectionnez «Activer ou désactiver la prise 1 canal», rien ne se cassera.
Créez une action avec le bouton Créer une action et terminez la configuration de l'applet.
Une tâche plus difficile consiste à implémenter un robot dans Telegram pour «communiquer» avec la maison. Pour ce faire, vous devez vous connecter au service Telegram. En créant les applets appropriées, vous pouvez ajouter des commandes au bot pour contrôler les appareils (allumer / éteindre les lumières et les appareils individuels), ainsi que diverses notifications utiles, en particulier:
- . — . Google , IFTTT, .
- , / / . . , ( ). . , .
- , - ( ).
Créons une applet qui, sur commande du chat Telegram, allume l'éclairage nocturne dans le couloir (comme le thermo-pot connecté via le relais Sonoff). Commençons par connecter le service Telegram. Trouvons-le via Explorer (onglet Services):
Cliquez sur Se connecter pour le connecter à votre compte. Après l'invitation, accédez à Telegram et ajoutez le bot aux contacts.
Cliquez sur Démarrer pour vous connecter.
Après le passage à IFTTT pour autorisation, nous avons accès à toutes les possibilités de communication entre le service et le messager.
Revenez maintenant à IFTTT et commencez à créer l'applet.
Sélectionnez Telegram comme déclencheur.
Le déclencheur "Nouveau message avec phrase clé à @IFTTT" nous convient.
Laissez la phrase clé être «veilleuse», et la réponse à mon message - un mot «Allumer» (rappelez-vous que le service est sensible aux lettres minuscules / majuscules).
Passons à la mise en place de l'action.
Comme dans l'exemple précédent, nous choisissons d'activer le relais du service eWeLink Smart Home. Cette fois, uniquement dans la liste des appareils, vous devez sélectionner ce qui correspond au rétroéclairage.
Tout fonctionne de la même manière avec les notifications, seul un autre service (par exemple, un capteur de eWeLink Smart Home) agira comme un déclencheur, et l'action sera effectuée par Telegram - l'envoi d'un message de certains contenus.
Comme mentionné ci-dessus, dans le segment de la maison intelligente, IFTTT ne se limite pas à prendre en charge uniquement les appareils Sonoff - c'est juste un exemple à portée de main. De nombreux fabricants ont déjà intégré le service et encore plus de conseils aux utilisateurs sur la façon de contourner le manque d'intégration, par exemple avec Xiaomi Mi Home (spoiler - via des notifications sur un appareil mobile pour Android).
Quand IFTTT ne suffit pas
La logique derrière IFTTT est assez simple: une condition, une action. Des choses intéressantes peuvent être faites sur la base de cette logique, mais tôt ou tard cela devient insuffisant. Malheureusement, le service ne permet pas de spécifier des chaînes d'actions (pour chacune d'entre elles, vous devrez créer votre propre script), tout comme il ne vous permet pas de construire des conditions complexes composées de plusieurs parties avec un «et» ou «ou» logique.
Mais cela peut également être contourné à l'aide d'une "superstructure". Nous parlons du service apilio.com , dont la tâche est d'ajouter une logique plus complexe à IFTTT. La connexion d'un outil supplémentaire, bien sûr, constituera un autre niveau de complication du système, mais cela rapprochera la configuration des scripts de maison intelligente de la programmation - vous pouvez définir des variables, modifier leurs valeurs lorsque les déclencheurs sont déclenchés, créer des conditions, etc.
Laissez-moi vous montrer ce qu'Apilio peut faire, en utilisant l'exemple de complication du scénario en désactivant le pot thermique.
Au départ, le relais thermo-sueur s'éteint pour la nuit (de 2 h à 8 h) et lorsque je quitte la zone définie dans IFTTT. Mais que faire si quelqu'un d'autre vit à la maison à côté de moi? D'accord, ce ne sera pas pratique si le chauffage de l'eau s'éteint chaque fois que je pars travailler. Il est plus logique de simplement rappeler que le thermo-pot est allumé si je ne suis pas à la maison à un certain moment (au moment où le thermo-pot est allumé après "dormir la nuit") - après avoir réfléchi au scénario, il m'a semblé que c'était le meilleur indicateur que je suis allé quelque part depuis longtemps.
Pour ça:
- Nous nous enregistrons sur le service Apilio;
- Créez 2 variables booléennes qui sont fausses par défaut (appelons-les emplacement et théière);
- : I_exit_area ( true, IFTTT ) I_forgot_teapot (true, );
- Apilio IFTTT. IFTTT Webhook Apilio, IFTTT ( — URL, “”). IFTTT Apilio;
- IFTTT location teapot ( eWeLink Location, — true Apilio, «Update a variable in Apilio to true»);
- : IFTTT ;
- IFTTT ( Apilio, — Telegram ).
Résultat: si quelque chose fait allumer le thermopot au moment où je suis loin de chez moi, je recevrai une question dans Telegram: "Avez-vous oublié d'éteindre la bouilloire?"
Dans la version gratuite, le service Apilio vous permet de spécifier un schéma logique et cela suffit pour une expérience. Les abonnements annuels commencent à 7,2 $, ce qui est également assez abordable. Comme IFTTT lui-même, le service a déjà beaucoup d'analogues - je pense que vous pouvez acheter quelque chose de gratuit pour vos tâches. Il est seulement important de comprendre qu'en ouvrant l'accès à un nouveau service à votre maison intelligente, vous partagez d'une certaine manière des données personnelles avec elle - la sécurité n'est donc pas le dernier problème ici.
Le développement d'IFTTT, d'Apilio et d'outils similaires montre que les utilisateurs de maison intelligente ont encore besoin d'une sorte de complication des scénarios. Peu importe le nombre de fabricants qui se battent pour une simplification maximale, parfois sans aucune logique supplémentaire.