Créer bouton virtuel qui execute une commande http

Mon problème

Bonjour,

Je suis tout nouveau sur home assistant je l’ai installé cet après midi pour de base utiliser un plugin ewelink qui me permet d’ajouter des périphériques ha sur mon nspanel pro.

Ayant vu que ça fonctionnais remarquablement bien j’ai crée un interrupteur virtuel alarme et je voudrai que la valeur on exécute une url de mon jeedom qui active l’alarme et que la valeur off execute l’url qui coupe l’alarme.

Les deux url jeedom fonctionne parfaitement je les ai testé avec un navigateur et un nfc tag.

Pourquoi je passe par jeedom pour mon alarme, simplement parce que toute ma domotique est la bas comme je le disais avant je viens tout juste d’arriver sur HA et je n’ai pas eu le temps de tout rapatrier.

Je suis assez débutant et surtout sur ha donc soyez indulgent.

Ma configuration

Version core-2023.5.2
Type d’installation Home Assistant OS
Développement false
Supervisor true
Docker true
Utilisateur root
Environnement virtuel false
Version de Python 3.10.11
Famille du système d’exploitation Linux
Version du système d’exploitation 6.1.25
Architecture du processeur aarch64
Fuseau horaire Europe/Paris
Répertoire de configuration /config

Home Assistant Cloud

Connecté false
Accéder au serveur de certificats ok
Accéder au serveur d’authentification ok
Accéder à Home Assistant Cloud ok

Home Assistant Supervisor

Système d’exploitation hôte Home Assistant OS 10.1
Mise à jour stable
Version du Supervisor supervisor-2023.04.1
Version de l’agent 1.5.1
Version de Docker 23.0.3
Taille total du disque 59.3 GB
Taille du disque utilisé 5.1 GB
Sain true
Prise en charge true
Tableau de bord generic-aarch64
API du Supervisor ok
Version API ok
Modules complémentaires installés eWeLink Smart Home (1.4.3), Studio Code Server (5.5.7), Node-RED (14.1.5)

** Voila ce que j’ai fait :


Mais ça ne fonctionne pas

Salut,

Rest Command est le bon truc à utiliser.
En revanche dans la partie config, j’ajouterais ma méthode.
Et dans la partie action d’automatisation, pas besoin de mettre l’URL ou la méthode.

Tu peux essayer d’appeler le service dans outils de développement, pour confirmer que la commande rest est bonne.

1 « J'aime »

super, j’ai modifié ça et j’ai repris via l’interface graphique l’automatisation qui me disait qu’il fallait cliquer sur un bouton pour l’envoyer au fichiers config et ça fonctionne. Hâte d’en apprendre plus sur home assistant.

Merci à toi

Bonjour, j’ai le même soucis. J’ai fait le même parcours que dit plus haut, celuis qui ne fonctionne pas. Je n’ai pas compris la solution. Ma commande pour unvoie d’un message en http ne semble pas partir. J’ai une autre solution qui fonctionne mais m’ouvre une fenetre http à chaque fois. Comment fonctionne alors rest_command?

Merci pour votre aide

Bonjour,

sans partager ce que tu as fait, difficile de donner des indications utiles.

La solution que j’avais donné, si je dois la reformuler, je dirais:
Pour une rest_command on créé la commande dans le fichier de configuration, en incluant l’url et la méthode http à utiliser.
Une fois que ça c’est créé et HA rechargé, un nouveau service est disponible qui s’appelera « rest_command.nom_de_la_commande ».
Dans l’automatisation il faut simplement appeler ce nouveau service, pas besoin de remettre l’url.

Il y a des exemples dans la doc:

Merci pour votre réponse rapide.
J’ai mis ceci dans le fichier yaml :
input_boolean:
lumiere:
name: lumiere
initial: off
icon: mdi:chandelier

rest_command:
activer_lumiere:
url: ‹ http://192.168.1.99/control?cmd=pulse,14,0,400 ›
method: post
desactiver_lumiere:
url: ‹ http://192.168.1.99/control?cmd=pulse,14,0,400 ›
method: post

ensuite j’ai créé un bouton pour executer ce service, rien ne se passe. => rien ne se passe.

En fait j’arrive à créer un bouton avec une action URL, cela fonctionne mais ouvre à chaque fois une fenetre réponse JSON que je ne veux pas.

Finalement j’ai résolu de manière très simple:
1 ligne de commande dans configuration yaml
(shell_command:
call_voiture: curl ‹ http://192.168.1.99/api/xdevices.json?key=1234&SetR=05,06 › => pour activer 2 relais simultabément

2 - Une entité bouton qui appelle un service « Shell Command: call_voiture »