Ouvrir le menu principal

MacGeneration

Recherche

Astuce : automatiser HomeKit depuis macOS avec Keyboard Maestro

Nicolas Furno

vendredi 08 mars 2019 à 11:00 • 12

Logiciels

Sous iOS, il existe de multiples solutions pour activer ou désactiver un appareil ou une scène HomeKit. Vous pouvez passer par l’app Maison bien sûr, mais il y a aussi un accès rapide depuis le centre de contrôle, vous pouvez utiliser Siri ou même l’app Raccourcis pour des automatisations plus avancées. Sous macOS Mojave, vous avez l’app Maison ou Siri et… c’est tout.

L’app Maison est directement issue de la version iPad et elle n’est pas très optimisée pour macOS, c’est le moins que l’on puisse dire. Outre son interface très proche d’iOS, elle n’est pas pensée pour être utilisée au clavier et encore moins pour être automatisée. Le meilleur moyen de contrôler HomeKit avec un Mac, c’est encore Siri, qui permet d’activer ou désactiver accessoires et scènes.

L’app Maison sur macOS Mojave.

Cela fonctionne très bien, mais je cherchais une méthode plus rapide et pratique pour activer ou désactiver des accessoires HomeKit avec un Mac. Je préfère éviter d’avoir à parler à Siri à chaque fois et je voulais le faire avec un raccourci clavier, ma méthode de prédilection pour lancer des automatisations sur macOS.

J’ai réussi à le faire en utilisant Keyboard Maestro et je vais détailler comment si vous voulez en faire autant. Cet exemple me permet d’allumer une prise connectée si elle est éteinte et vice-versa, mais il est possible de l’adapter pour une scène ou pour contrôler plusieurs accessoires à la suite.

Configuration : Siri en mode textuel

Pour cette automatisation, nous allons utiliser Siri qui reste le meilleur moyen de contrôler HomeKit. À défaut de parler à l’assistant vocal d’Apple, nous allons utiliser une fonction d’accessibilité qui permet de saisir du texte. Notez que vous ne pourrez plus parler à Siri, ce qui peut être un problème si vous comptiez sur cette fonction. Pour ma part, je n’utilisais jamais l’assistant sur mon Mac, donc ce n’est pas un souci, mais à vous de voir.

Pour écrire à Siri plutôt que lui parler, ouvrez les Préférences Système, puis le panneau « Accessibilité », choisissez Siri dans la barre latérale de gauche et cochez l’option « Activer Écrire pour Siri ». Désormais, toutes les interactions avec l’assistant se feront par le clavier, vous pourrez saisir les mêmes commandes plutôt que de les dicter.

Pour que l’automatisation fonctionne, la fonction « Écrire pour Siri » doit être activée dans les préférences d’accessibilité.

Second point important, il faut définir un raccourci clavier pour activer Siri. Cela se fait aussi dans les Préférences Système, panneau « Siri » cette fois. Le raccourci par défaut (⌘espace maintenu une seconde) posera un problème, mieux vaut choisir autre chose. N’importe quel raccourci fera l’affaire, dans mon cas j’ai choisi ⌘⌥espace, mais vous pouvez utiliser un autre raccourci.

Le raccourci clavier qui active Siri nous sera également utile pour l’automatisation.

Par ailleurs, je vous suggère de désactiver le retour vocal de Siri en cochant l’option correspondante sur ce panneau de réglage. Ce n’est pas obligatoire, mais cela vous permettra de ne pas entendre la réponse de l’assistant vocal, et je trouve que cela améliore l’automatisation.

La macro de Keyboard Maestro

Maintenant que Siri est correctement configuré, j’ai créé une macro dans Keyboard Maestro pour automatiser cette série d’actions :

  • Activer Siri avec le raccourci clavier ;
  • Coller une phrase qui fera l’action nécessaire dans HomeKit ;
  • Valider avec la touche entrée ;
  • Patienter quelques secondes, le temps que Siri fasse ce qui est nécessaire ;
  • Fermer Siri avec la touche ESC.

Cette app permet de réaliser très simplement ce genre d’automatisations, mais il serait possible de faire la même chose en AppleScript, sans avoir à payer des licences, on y reviendra. En attendant, voici ce que j’ai créé dans Keyboard Maestro :

Vous pouvez télécharger directement cette macro à cette adresse, et la modifier en fonction de vos besoins. Pour vous aider, voici les explications pas à pas.

En haut du fichier, vous trouverez un champ de texte pour le nom de macro, puis une zone qui détermine comment la macro est activée. J’ai choisi un raccourci clavier (⇧F19), vous pourrez le modifier en fonction de vos préférences, ou bien choisir une activation différente, Keyboard Maestro propose des dizaines d’options différentes.

Viennent ensuite les actions qui seront exécutées. La première est le raccourci clavier qui active Siri. Modifiez-le en fonction du paramètre choisi dans les Préférences Système.

On pourrait ensuite directement coller le texte qui servira dans Siri, dans mon cas ce serait soit « Allume les enceintes », soit « Éteins les enceintes ». Mais justement, je voulais que l’automatisation fonctionne en toutes circonstances et qu’un seul raccourci clavier me permette d’allumer les enceintes si elles sont éteintes, et de les éteindre si elles sont allumées.

Ce genre de logique n’est pas prise en charge par défaut avec HomeKit. À défaut, j’utilise une des fonctions de Keyboard Maestro pour obtenir le même résultat : une variable globale. L’idée est d’enregistrer l’état de la prise dans une variable, et en fonction de la valeur, l’automatisation allumera ou éteindra la prise. Première étape, il faut créer la variable dans les préférences de l’app :

Dans la macro, on ajoute une action « If Then Else » pour introduire la condition sur le contenu de la variable. J’ai choisi de faire simple : 0 si la prise est éteinte, 1 si elle est allumée. Si la valeur est à 0, alors la macro allume la prise et enregistre la valeur 1 dans la variable ; si la valeur est à 1, alors la macro éteint la prise et enregistre 0.

Cette action permet de définir la condition, puis de définir ce qui se passe si elle est vraie, puis si elle est fausse. Dans notre cas, il y a deux actions pour chaque cas :

  • l’une pour insérer un texte qui ira dans l’interface de Siri activée précédemment ;
  • la deuxième pour modifier le contenu de la variable.

Le texte à saisir doit s’adapter à vos besoins, vous pouvez essayer avant de créer la macro avec Siri, pour savoir ce qui fonctionne ou pas. L’assistant n’accepte qu’une seule commande à la fois, vous ne pouvez pas écrire « Allume les enceintes et éteins la lumière », vous devrez exécuter deux fois Siri pour cela.

Dernières étapes : envoyer la commande avec la touche Entrée, puis patienter le temps que Siri s’exécute et fermer Siri avec la touche esc. J’ai mis une pause de deux secondes, elle est suffisante dans mon cas, mais vous pourrez l’allonger en cas de besoin. Vous pouvez même ne pas fermer Siri automatiquement, et laisser macOS le faire après quelques secondes d’attente.

Contrairement à ce que l’on pourrait penser, cette macro n’est pas lente. Voici le résultat, pour vous donner une idée de la rapidité du processus. J’ai laissé l’app Maison ouverte uniquement pour montrer que tout fonctionne, mais elle n’est jamais nécessaire pour l’automatisation et vous pourrez l’oublier au fond du dossier des applications une fois que tout est en place.

Alternative avec de l’AppleScript uniquement

Keyboard Maestro est un formidable outil d’automatisation, mais c’est aussi une app payante. Si vous ne voulez pas mettre les 40 € demandés par la licence, voici une alternative gratuite, en AppleScript. Vous pouvez télécharger ce fichier à cette adresse, si vous voulez l’ajuster à vos besoins.

La plus gros défaut de cette approche, c’est qu’elle ne gère pas l’état de la prise, comme je l’ai fait précédemment. Vous devrez avoir deux scripts différents, un pour allumer et un pour éteindre l’appareil, ou bien activer et désactiver la scène. On pourrait imaginer un système similaire à celui de Keyboard Maestro, en enregistrant une variable dans un fichier, mais cela devient alors nettement plus compliqué.

Pour bien faire, il faudrait qu’Apple ajoute de quoi automatiser HomeKit sur macOS, notamment en offrant la possibilité de connaître le statut d’un appareil. On imagine que ça ne se fera pas avec de l’AppleScript, mais peut-être que Raccourcis finira par arriver sur macOS ? D’ici là, mon bricolage avec Keyboard Maestro fait l’affaire et fonctionne mieux que je l’imaginais initialement…

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Avec macOS 15.1, le mode économie d’énergie réduit la vitesse du ventilateur et fonctionne même sur les Mac de bureau

14:28

• 9


Le Mac mini M4 est encore plus impressionnant à l’intérieur et très facile à réparer

11:50

• 38


68 040 € collectés, notre rédacteur en chef doit (enfin) abandonner son Mac Intel !

10:39

• 14


Promo forfaits SFR RED 5G : 80 Go pour 7 € et 200 Go pour 10 €

10:38


Microsoft Office pour Mac est à prix cassé chez Godeal24 ! 📍

09:40


Chez Apple, 2024 aura été l’année des écrans nano-texturés

09:00

• 13


Apple retrouve un VP Design Industriel après un an de disette

10/11/2024 à 19:30

• 29


Plus de 1 200 soutiens pour notre campagne de sociofinancement, et si on allait jusqu’à 100 000 € ?

10/11/2024 à 18:59

• 99


Gurman : pas de produit aussi vendeur que l’iPhone, mais c’est pas grave…

10/11/2024 à 18:10

• 40


Promo : un forfait 5G 80 Go à 6,99 € par mois !

Partenaire


Il est déjà possible d'étendre le stockage du Mac mini M4 sans passer par Apple

09/11/2024 à 16:00

• 47


La gamme M4 impressionne, du M4 au M4 Max : tout savoir sur les nouvelles puces Apple

09/11/2024 à 14:00

• 82


Sortie de veille : l’acquisition de Pixelmator par Apple, bonne ou mauvaise nouvelle ?

09/11/2024 à 08:00

• 46


MacGeneration a 25 ans et des journalistes toujours fringants

09/11/2024 à 08:00

• 45


Apple continue de faire disparaître ses autocollants

08/11/2024 à 20:00

• 26


iMac M4 : premier aperçu en images

08/11/2024 à 18:19

• 46