Depuis iOS 13, Apple propose l’application Shortcuts (ou Raccourcis en français) qui permet de créer des scripts visuels afin de lancer des tâches spécifiques sur votre iPhone ou iPad facilement. Aujourd’hui, nous allons l’utiliser et la coupler avec les webhooks Home Assistant pour créer un système de détection de présence fiable et facile à mettre en place sur tous les appareils iOS de votre foyer. Cette solution vous permettra de faire remonter sur votre serveur Home Assistant la présence (ou non) des membres de votre famille sans installer d’applications tierces sur leurs iPhone et iPad.
Home Assistant : Pré-requis
- iOS 13 ou supérieur
- Un serveur Home Assistant disponible depuis l’extérieur
Créer une automatisation Home Assistant
Avant de configurer quoi que ce soit sur votre appareil iOS, vous aurez besoin de créer une automatisation très simple pour activer un nouveau webhook. Depuis l’onglet Configuration, rendez-vous sur la page Automatisations puis créez votre automatisation comme ci-dessous :
Voici la même automatisation au format YAML :
- alias: iOS Shortcuts Webhook Detection de presence trigger: - platform: webhook webhook_id: ios_hook_france_homeassistant action: - service: device_tracker.see data_template: dev_id: "{{ trigger.json.tracker_name }}" location_name: "{{ trigger.json.location_name }}" gps_accuracy: 80
Remplacez
ios_hook_france_homeassistant
par un ID aléatoire.
Une fois l’automatisation créée et enregistrée, rendez-vous dans l’onglet Contrôle du serveur puis cliquez sur recharger les automatisations :
Automatisation : iOS Shortcuts
Une fois le webhook ajouté et votre automatisation rechargée, vous pouvez commencer dans l’application iOS Raccourcis.
1. Ouvrez l’application Raccourcis puis sélectionnez l’onglet automatisation.
2. Cliquez sur le + en haut à droite puis sur Créer une automatisation perso.
» La différence entre les ‘Automatisations Maison’ et les ‘Automatisations Perso’ réside dans le fait que les ‘Automatisations Perso’ ne sont lancées QUE sur l’appareil iOS qui les contient alors que les ‘Automatisations Maison’ sont lancées pour la totalité du domicile. Ça peut paraitre une contrainte, mais puisqu’il s’agit ici d’une automatisation concernant une détection de présence, c’est bien l’appareil de chacun qu’il va falloir détecter. «
Merci @Ed pour cette information complémentaire !
3. Sélectionnez le déclencheur Arrivée.
4. Insérez l’adresse de votre logement dans le champ lieu.
5. Cliquez sur Ajouter une action.
6. Choisissez l’action Web.
7. Sélectionnez la requête web Obtenir le contenu de l’URL.
8. Cliquez sur bouton URL puis insérez l’URL plublique de votre serveur domotique Home Assistant suivi de /api/hook/webhook/ID_de_votre_webhook_HA
N’oubliez pas de remplacer ID_de_votre_webhook_HA
par l’ID que vous avez mis lors de la création du nouveau webhook.
9. Cliquez sur En afficher plus puis remplissez les différents champs comme ci-dessous :
- Méthode : POST
- Demander le corps : JSON
ainsi que deux nouveaux champs de type texte :
- tracker_name : nom_de_votre_tracker
- location_name : home
Cliquez sur le bouton play en bas à droite et rendez-vous sur votre dashboard Home Assistant dans l’onglet outil de développement. Recherchez le tracker que vous venez de créer, si celui-ci apparait c’est que votre automatisation est opérationnelle ! Félicitations !
Lorsque votre appareil iOS arrivera chez vous, son capteur prendra la valeur home sur votre instance Home Assistant. Parfait pour désactiver l’alarme et créer des automatisations personnalisées ! 😎
Vous souhaitez désactiver l’alarme de votre logement lorsque vous sortez ? C’est très simple, créez un second weebhook ID sur HA ainsi qu’une seconde automatisation sur votre application Raccourcis en choisissant cette fois ci Départ et remplacer home par not_home pour la variable location_name.
Une question ? Besoin d’aide ? N’hésitez pas à laisser un commentaire ci-dessous ou rejoignez sur le groupe facebook Home Assistant Entraide Francophone.
Bonjour,
cela me semble une bonne idée que je teste tout de suite. Les autres méthodes sont plus hasardeuses et la géolocalisation est trop intrusive avec des ados! Merci pour la méthode!
Bonjour,
cela fonctionne mais le problème est que l’iPhone demande l’autorisation avant de publier le webhook. Donc cela enlève l’intérêt de la méthode car l’utilisateur doit exécuter la demande. En regardant sur internet, je n’ai pas trouvé de moyen de désactiver cette demande. Si vous avez une idée…
Bonjour,
J’utilise également cette solution pour la détection de présence mais je n’ai pas d’autorisation à valider pour que cela fonctionne juste une petite notification de l’application « Raccourcis » qui m’indique qu’une action a était déclenchée. Avez-vous désactivez l’option pour ne pas demander la validation ?
J’ai également le même problème que Pierre.
Lorsque j’arrive ou que je quitte mon domicile, l’automatisation se lance et une notification apparait sur mon iphone / apple watch me demandant d’appuyer sur « RUN » pour lancer l’automatisation.
Je suis sur iOS 14.4.
FYI : https://apple.stackexchange.com/questions/375798/can-i-have-ios-automation-shortcuts-run-automatically
Chouette petit tuto, ce pendant j’ai un retour sur iOS avec 404: NOT FOUND
La partie ou je ne suis pas sur de ma config est ce qu’on a rajouté « tracker_name » & « location_name » car je ne le retrouve pas dans ta config sur HA
J’avais la même chose.
En fait, l’adresse à mettre dans le raccourci est :
/api/webhook/ID_de_votre_webhook_HA
J’ai également le même problème que Pierre.
Lorsque j’arrive ou que je quitte mon domicile, l’automatisation se lance et une notification apparait sur mon iphone / apple watch me demandant d’appuyer sur « RUN » pour lancer l’automatisation.
Je suis sur iOS 14.4.
FYI : https://apple.stackexchange.com/questions/375798/can-i-have-ios-automation-shortcuts-run-automatically