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

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
pchatill
Messages : 139
Inscription : 12 août 2015, 15:57

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

Message 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
Dernière modification par pchatill le 01 déc. 2025, 11:06, modifié 1 fois.
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Envoi de données/ HTTP

Message 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.
pchatill
Messages : 139
Inscription : 12 août 2015, 15:57

Re: Envoi de données/ HTTP

Message 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
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Envoi de données/ HTTP

Message 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 ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pchatill
Messages : 139
Inscription : 12 août 2015, 15:57

Re: Envoi de données/ HTTP

Message par pchatill »

Merci.
Je vais explorer la piste du script.

Attendez vous à d'autres questions :lol:
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Envoi de données/ HTTP

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pchatill
Messages : 139
Inscription : 12 août 2015, 15:57

Re: Envoi de données/ HTTP

Message 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
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Envoi de données/ HTTP

Message 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 ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
pchatill
Messages : 139
Inscription : 12 août 2015, 15:57

Re: Envoi de données/ HTTP

Message 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.
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.4
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Envoi de données/ HTTP

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre