Page 1 sur 2

Envoi de données/ HTTP [Résolu]

Publié : 24 nov. 2025, 16:33
par pchatill
Bonjour.
J'aimerais récupérer la valeur d'un périphérique d'une box domotique (IPX800 V5) avec l'option:
Config/plus d'options/Envoi de données/HTTP.
Pour cela je mets dans le champ URL: http://192.168.1.25/api/core/io/65538?A ... XXXXXXXXXX
Methode: GET
Authentification: NO
Type de cible: variable globale
Nom du periph: celui qui envoie mon lien http (ici: Test IPX800V5)
Valeur à envoyer: état
Variable cible: une variable texte
Quand j'actionne mon péripherique, je retrouve bien dans les logs la réponse json de l'IPX800 qui m'interesse.
Mais ou je peux recuperer cette info ailleurs que dans le log? Rien en tout cas dans ma variable texte.
Je n'ai pas trouvé beaucoup d'infos dans les docs.
Mes excuses si je pose une question "débile" mais je ne maitrise pas très bien tout ça...
Merc d'avance

Re: Envoi de données/ HTTP

Publié : 24 nov. 2025, 16:55
par lost
Hello,

Jamais utilisé cette fonctionnalité, mais niveau config on est plutôt à mon sens dans l'esprit de fournir un système permettant de pousser des infos vers un serveur HTTP (type notification, mais en plus générique/souple vs possibilités nativement disponibles)... sans en attendre de réponse (d'où le nom "envoi de données"?).

Pour faire ce que tu veux, à mon sens il va falloir faire cela d'un script.

Re: Envoi de données/ HTTP

Publié : 24 nov. 2025, 17:27
par pchatill
Merci pour ta réponse.
C'est vrai le titre laisse à penser que c'est pour envoyer des données.
Mais d'un autre coté il y a les fonctions PUT et POST en plus de GET.
Et puis la réponse arrive bien dans les logs.
J'ai bien essayé de passer par un script LUA mais je sèche aussi pour la syntaxe.
J'ai essayé une commande de type:(Ici pour un GET)
local url = 'http://192.168.1.25/' -- url locale IPX800V5
local apikey = 'XXXXXXXXXX' -- APIKEY pour acceder à l'IPX800v5
os.execute("curl -X PUT -H 'Content-Type: application/json' -d '{"toggle": true}' "..url.."api/core/io/65538?ApiKey="..apikey.."")
(Et plein de variantes différentes...)
Mais à chaque fois un message d'erreur :o

Re: Envoi de données/ HTTP

Publié : 24 nov. 2025, 19:19
par Keros
Je viens de déplacer ton sujet dans la section dédiée aux scripts, car ce sera le moyen d'y arriver.

Le os.execute est une commande DzVents.

J'ai un exemple en Lua pour récupérer un json :

Code : Tout sélectionner

config=assert(io.popen('/usr/bin/curl https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx))
	blocjson = config:read('*all')
	config:close()
	jsonValeur = json:decode(blocjson)
Le get a déjà dû être discuté sur le forum ;)

Re: Envoi de données/ HTTP

Publié : 25 nov. 2025, 07:56
par pchatill
Merci.
Je vais explorer la piste du script.

Attendez vous à d'autres questions :lol:

Re: Envoi de données/ HTTP

Publié : 25 nov. 2025, 12:34
par Keros
Tant que tu regardes avant si la question n'a pas déjà été abordée sur le forum ;)

Le champ recherche sur une fonction ou une commande permet généralement d'avoir pas mal de résultat.

Re: Envoi de données/ HTTP

Publié : 28 nov. 2025, 17:45
par pchatill
Bonjour.
J'ai suivi tes conseils Keros: je suis parvenu à faire un script pour récupérer une valeur json avec des recherches sur le forum (et beaucoup de patience...)
Cependant ,dans l'exemple suivant j'arrive à récuperer les infos des premieres lignes, avec la commande:
local someValue = item.json.Sunrise
(ici par ex: sunrise)

mais pas celles des lignes imbriquées dans result.
{
"ActTime" : 1764347164,
"AstrTwilightEnd" : "18:46",
"AstrTwilightStart" : "06:13",
"CivTwilightEnd" : "17:33",
"CivTwilightStart" : "07:26",
"DayLength" : "09:01",
"NautTwilightEnd" : "18:10",
"NautTwilightStart" : "06:49",
"ServerTime" : "2025-11-28 17:26:04",
"SunAtSouth" : "12:29",
"Sunrise" : "07:59",
"Sunset" : "17:00",
"app_version" : "2024.6",
"result" :
[
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "On",
"Description" : "",
"DimmerType" : "none",
.....
Une petite aide pour la syntaxe?

Merci d'avance

Re: Envoi de données/ HTTP

Publié : 28 nov. 2025, 22:56
par Keros
Je t'invite à regarder mon Tuto pour récupérer les données d'OpenWeatherMap (voir ma signature). J'y explique comment récupérer des données Json.
Tu trouveras également des petits guides qui pourront peut-être t'aider sur d'autres points ;)

Re: Envoi de données/ HTTP

Publié : 29 nov. 2025, 06:26
par pchatill
N'oubliez pas que le [1] dans le script correspond au [0] dans le Json.
Un grand merci Keros!
Le sujet peut etre passé en résolu: j'ai pas trouvé comment faire.

Re: Envoi de données/ HTTP

Publié : 29 nov. 2025, 08:01
par Keros
pchatill a écrit : 29 nov. 2025, 06:26 j'ai pas trouvé comment faire.
Je n'ai pas compris ton message ; c'est bon ou pas ?

Si tu n'y es pas arrivé, partage nous ton script et les logs de son exécution avec des Print pour que l'on voit ce que contiennent les variables.