Lancer une commande sur HA depuis Jeedom

Bonjour à tous.
J’utilise toujours les systèmes domotiques Jeedom et HA, avec HA comme système principal.
Cependant, certains plugin Jeedom sont très bien fait et je ne trouve pas l’équivalent sur HA : par ex. plugin UniFi, Proxmox, Freebox (qui fonctionne avec la box en bridge), Téléinfo (pour récupérer les données d’un compteur Linky), ou encore Piscine (qui gère parfaitement les temps de filtration).
C’est justement avec ce dernier plugin que je souhaite commander des relais Z-Wave connectés sur HA.
J’ai suivi le tuto officiel HA de REST API https://developers.home-assistant.io/docs/api/rest/ au niveau des ACTIONs POST et Services turn_on et turn_off.
Sous HA, j’'ai créé un jeton d’accès longue durée et sous le plugin SCRIPT Jeedom, j’ai entré les lignes suivantes :

curl -X POST -H "Authorization: Bearer CLE_API" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "switch.switch_without_metering_2"}' \
  http://ip_ha:8123/api/services/switch/turn_on

Mais j’ai un retour d’erreur sous Jeedom :

Erreur exécution de la commande [Piscine][Prise1][On] : Erreur sur /var/www/html/plugins/script/data/Turn_On_Prise1 2>&1 valeur retournée : 52. Détails : % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0 100 49 0 0 100 49 0 49000 --:–:-- --:–:-- --:–:-- 49000 curl: (52) Empty reply from serve

Quelqu’un a-t-il déjà réalisé celà?
Dans le sens lancer une commande depuis HA vers Jeedom, ca marche, donc je pense que l’inverse est possible.
Merci
Stéphane

Salut.
Là on dirait que jeedom n’aime pas avoir aucun retour du résultat de sa commande. Avant d’intégrer ça dans jeedom, le même curl lancé à la main, ça donne quoi ?

Ps : jeedom ça va commencer à devenir une sacrée usine à gaz. Déjà avec les technologies classiques en php+python2, la maintenance par l’équipe était compliquée mais avec les derniers ajouts autour de docker et de mqtt (et la manière dont c’est intégré) ça va être coton… Avis perso en tout cas

Merci @Pulpy-Luke
Comment faire pour lancer le curl manuellement? il y a 4 lignes

Non c’est une ligne… Le \ c’est un saut de ligne artificiel, c’est juste pour rendre ça plus lisible pour un humain. En le supprimant ça doit marcher

Je rentre la commande comme ceci ?

curl -X POST -H "Authorization: Bearer CLE_API" -H "Content-Type: application/json" -d '{"entity_id": "switch.switch_without_metering_2"}' http://ip_ha:8123/api/services/switch/turn_on

J’ai un retour d’erreur :

Aucun document ne correspond aux termes de recherche spécifiés (curl -X POST -H "Authorization: Bearer ...

Oui à condition quand même de remplacer les bonnes valeurs (ip, clé api)…
Là ta commande n’est pas correcte… Elle n’est pas interprétée correctement par ha

Oui, j’ai bien remplacé CLE_API par le jeton et l’adresse IP avec les bonnes valeurs.
J’ai entré la curl dans Chrome.

Curl dans chrome c’est pas bon… Curl c’est un outil en ligne de commande… Depuis un terminal Linux ça doit être un peu mieux

Merci, désolé pour mes erreurs :wink:
J’ai ouvert une session debian et lancé la commande, j’ai le retour d’erreur suivant :

Tu n’aurais pas installé du https par hasard ?

Home assistant est en HTTPS

Dans ce cas soit faire le curl sur le nom de domaine au lieu de l’ip ou ajouter l’option -k ou --insecure au curl et ça devrait pouvoir passer.

1 « J'aime »

Donc commence par curl --insecure -I puis https

1 « J'aime »

Bonjour stefane26,
En ce qui me concerne, j’ai suivi cette méthode et elle fonctionne très bien :

La domotique libre et hybride entre Home Assistant et Jeedom (domo-blog.fr)

Il faut juste relancer les messages jMQTT dans Jeedom au redémarrage de HA en les appelant via une commande Rest sur leur identifiant (via une automatisation dans HA). Sinon, il faut attendre une changement d’état pour avoir les valeurs à jour dans HA, ce qui n’est pas top.

Pascal

J’avais déjà modifié http par https.
mais ma commande commence par curl -X POST -H..., je mets le --insecure -I à quel endroit?
J’ai testé juste avant le https, mais cela ne marche pas, j’ai maintenant l’erreur suivante :

Merci @pme1159
J’ai vu ce tuto, mais j’ai du mal avec les commandes MQTT

Il ne serait pas plus simple que je supprime le https pour l’accès en IP locale mais garder le https avec DuckDNS?

curl --insecure -I -X POST -H "Authorization: Bearer CLE_API" -H "Content-Type: application/json" -d '{"entity_id": "switch.switch_without_metering_2"}' https://ip_ha:8123/api/services/switch/turn_on

avec l’addon duckdns, c’est l’ou OU l’autre …

J’ai toujours la même erreur :