Envoi d'une commande shell vers jeedom

Bonjour,

Je souhaiterais pouvoir envoyer une valeur numérique de HA vers Jeedom. Mon but est de modifier une action température de consigne dans une vanne thermostatique Living Connect.

J’ai vu que pour réaliser cela, il faut envoyer une commande de type shell à jeedom. Est-il possible de réaliser cela à l’aide de Node-Red ? J’ai vu des informations pour un dimmer via yaml mais je ne vois pas comment appliquer cela à mon cas.

J’ai aussi essayé via un lien jMQTT out à l’aide de Node-Red et en créant une commande info dans jeedom, mais la mis à jour de la commande info ne semble pas s’effectuer.

Je vous en remercie d’avance.
Pascal

Du côté jeedom, tu récupères l’url de l’action qui t’intéresse.
Ca va ressembler à:

http://@IP/core/api/jeeApi.php?apikey=api_jeedom&type=cmd&id=49&select=value

id=49 correspond à l’action et value la valeur que tu veux avoir.

Donc, à part id=49 et value qui changent le reste est toujours le même.

A partir de là, un appel HTTP depuis node red te permet de faire ce que tu veux.
Un exemple:

[{"id":"771fc795389fb9a3","type":"inject","z":"c07c0ac5.ca6f98","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"25","payloadType":"num","x":1700,"y":100,"wires":[["5c056b1e2143233c"]]},{"id":"5c056b1e2143233c","type":"change","z":"c07c0ac5.ca6f98","name":"","rules":[{"t":"set","p":"url","pt":"msg","to":"\"http://@IP/core/api/jeeApi.php?apikey=api_jeedom&type=cmd&id=49&select=\" & payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1920,"y":100,"wires":[["c67b4e4b573be560"]]},{"id":"c67b4e4b573be560","type":"http request","z":"c07c0ac5.ca6f98","name":"API Jeedom","method":"GET","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"","x":2150,"y":100,"wires":[[]]}]

Bonjour et merci pour la réponse.

J’ai juste un problème lorsque j’utilise « set by message method » dans le http request. Cela ne fonctionne pas mais c’est probablement dû à la fonction que j’ai inséré avant et qui contient :

msg.payload = "https://XXX.dns4.jeedom.com/core/api/jeeApi.php?type=virtual&apikey=FFntZjLNk0WNNM8i9G74gUDvJux41l6t&id=5281&value=" + msg.payload
return msg;

Voici mon flux NodeRed :

Comment puis-je corriger ?
Merci d’avance.

Deux choses…
L’URL est dans msg.url et pas payload.
Si tu te connectes en https à jeedom (via le dns jeedom- ça ne semble pas nécessaire ??) il faut utiliser le noeud hhtps et pas http. Le noeud par défaut ne fait pas le S.

En fait, trois…
J’ai l’impression que le lien que tu donnes est une « info » de jeedom et pas une « commande ». Donc, même là, ça ne va pas le faire.

Pour le 1 et le 2, j’ai corrigé et cela fonctionne très bien.
Dans Jeedom, j’ai créé un virtuel et un scénario qui met la consigne à jour à partir de ce virtuel.
Avec Node-Red, je lance 2 requêtes http à partir d’un node event state.
La première met à jour le virtuel à partir de la valeur « état » dans home assistant.
La seconde lance le scénario de mise à jour. (J’ignore pourquoi il ne démarre pas seul à la mise à jour de la valeur).
Un grand merci pour votre aide.
Pascal

Voilà le flux :