Cette article est né suite à une problématique que je rencontrais.
Pour pouvoir ouvrir ma porte de garage afin que le facteur puisse déposer mes colis, je devais, une fois la notification de sonnerie reçue en cas d’absence, effectuer les manipulations suivantes :
- Ouvrir l’app Home Assistant
- Me rendre dans le bon lovelace
- Ouvrir le bon onglet
- Cliquer sur une image pour activer un
input boolean
- Valider l’opération en déplaçant le curseur de l’input de off vers on
- Bref une fois sur deux le facteur était parti si je ne réagissais pas assez vite…
J’ai donc voulu un système rapide, ce qui m’a donc amené à rechercher la possibilité d’envoyer des requêtes HTTP directement depuis mon écran d’accueil. C’est ici qu’intervient l’app HTTP Request Shortcuts que nous verrons plus en détail ci-dessous.
Je l’ai couplée à Node-red avec un flow pour la transition vers Home Assistant, mais grace a @royto nous pouvons aussi utiliser Home Assistant directement.
Prérequis.
- Avoir installé NodeRed.( Si utilisation de NodeRed)
- Un téléphone avec l’application HTTP Request Shortcuts préinstallée.
Matériels utilisés.
- Version de HA : V113.2.
- Node-red (docker) V1.1.2
Installation / configuration.
Je ne détaillerai pas ici la procédure pour installer l’app android via le playstore ni celle de l’installation de Node-red déjà abordée sur le ici.
Configuration de l’application mobile :
- Appuyez sur le bouton + en bas à droite pour créer un nouveau raccourci.
Cliquez sur Créer un nouveau raccourci - Entrez l’url, soit comme ceci avec le add-on, soit du type https://node-red.xxx.com/facteur.
Pour ma part j’ai Node-red sur docker avec un dns configuré et la redirection de port
effectuée dans le dns ce qui m’évite de devoir renseigner le port. - Nommez votre raccourci comme souhaité (ex : facteur).
- Insérez votre raccourci sur votre écran d’accueil (de préférence dans un dossier pour ne pas
cliquer dessus malencontreusement).
Configuration de Home assistant :
Créez un input_boolean
dans votre configuration.yaml
(cfr la doc) oui via l’interface configuration
entrées
:
input_boolean:
facteur:
name: Facteur
icon: mdi:door
Exemple avec Home Assistant. Merci a @royto
Il est possible de d’exécuter une action depuis votre mobile sans avoir besoin de NodeRed.
En effet, cela est supporté de manière native par Home Assistant. Il suffit de créer une automatisation avec un trigger de type Webhook.
Un webhook permet d’appeler HA sur une adresse dédiée que l’on définit via le webhook_id.
Ci joint un exemple d’une automatisation qui créé un notification.
- id: '1597059864912'
alias: AAA Test Webhook
description: ''
trigger:
- platform: webhook
webhook_id: test
condition: []
action:
- data:
message: coucou webhook
service: persistent_notification.create
mode: single
Ici nous avons défini un webhook avec un id test
. On peut alors faire une requête HTTP POST sur l’url https://your-home-assistant:8123/api/webhook/test
Exemple avec Node-red :
Le flow est assez simple :
La configuration du node call service de Home Assistant :
Le flow en question :
[{"id":"fc6c511e.48d97","type":"http in","z":"dc99b2ac.47e69","name":"","url":"facteur","method":"get","upload":false,"swaggerDoc":"","x":210,"y":480,"wires":[["4df489d7.507288","6f6005be.81ab4c"]]},{"id":"4df489d7.507288","type":"http response","z":"dc99b2ac.47e69","name":"","statusCode":"200","headers":{},"x":300,"y":540,"wires":[]},{"id":"6f6005be.81ab4c","type":"api-call-service","z":"dc99b2ac.47e69","name":"","server":"d6c87e34.afcee","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.facteur","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":480,"y":480,"wires":[[]]},{"id":"d6c87e34.afcee","type":"server","z":0,"name":"Home Assistant ip","legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Conclusion.
Vous pouvez donc maintenant créer des raccourcis aussi pour exécuter des scènes ou automations.
Si tout s’est déroulé correctement il vous reste à cliquer sur l’icône de votre écran d’accueil pour exécuter l’action.
Vous pouvez néanmoins tester l’url au préalable sur votre pc pour vérifier son bon fonctionnement.
Le node call service sur Node-red doit aussi vous afficher l’heure de déclenchement si tout est correct.
Trucs & astuces.
- Vide
Sources :
- La documentation concernant le trigger WebHook: Automation Trigger - Home Assistant
To Do List:
- Vide