Forum eedomus http://forum.eedomus.fr/ |
|
Envoyer requête http avec un script python http://forum.eedomus.fr/viewtopic.php?f=15&t=9498 |
Page 1 sur 1 |
Auteur: | donDams [ 09 Avr 2020 18:02 ] |
Sujet du message: | Envoyer requête http avec un script python |
Bonjour, j'utilise un script python pour renvoyer une mesure d'un capteur à ultrason avec un Raspberry PI. C'est un tuto que j'ai vu sur http://www.domo-blog.fr. Je récupère bien ma valeur avec mon script tout est OK, le script, le câblage. Je veux récupérer cette valeur et l'afficher sur ma box eedomus. J'ai donc utilisé une variable d'état et je demande à mon script python d'écrire dedans. Pour cela j'utilise cette requête : r = requests.post("http://api.eedomus.com/set?api_user=XXXXXX&api_secret=YYYYYYYYYYYYYYYY&action=periph.value&periph_id=ZZZZZZZ&value=[VALEUR]") Le problème est que je n'arrive pas à mettre une variable dynamique dans [VALEUR]. Si je mets une variable fixe 555 par exemple, la variable est bien remontée dans ma box. Je pense que c'est un problème de synthaxe. Est-ce que quelqu’un avec des connaissances en python peut m'éclairer? Merci Damien Merci |
Auteur: | xeos [ 09 Avr 2020 18:53 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Salut, Essaye, Api = Api eedomus capteur = valeur capteur valeur = {'action=periph.value&periph_id': 'Api', 'value': 'capteur'} if capteur: r = requests.post("http://localhost/api/set, params=valeur) A adapter selon le script |
Auteur: | donDams [ 10 Avr 2020 08:07 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Salut, merci pour ta réponse. Sous quelle forme écrire Api eedomus? ... ça semble bloquer sure ce point. Merci |
Auteur: | donDams [ 10 Avr 2020 08:37 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
voilà ce que j'ai écrit : Api = "XXXXXX"&"YYYYYYYYYYYYYYYY" capteur = format(distance) valeur = {'action=periph.value&periph_id': 'Api', 'value': 'capteur'} r = requests.post("http://192.XXX.XXX.XXX/api/set, params=valeur) avec XXXXXX api_user et YYYYYYYYYYYYYYYY api_secret et j'ai ce résultat: |
Auteur: | xeos [ 10 Avr 2020 08:59 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Salut, Effectivement j'ai oublier qu'il faut l'api user et secret quand tu envoi meme en local sur eedomus user = xxxxxxx secret= xxxxxx id = xxxxxx capteur = valeur capteur valeur = {'api_user': 'user','api_secret':'secret','action=periph.value&periph_id': 'id', 'value': 'capteur'} if capteur: r = requests.post("http://192.168.0.XX/api/set, params=valeur) |
Auteur: | donDams [ 10 Avr 2020 09:58 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Oui pour mon problème d'avant il y avait un problème de syntaxe... comme je connais pas python c'est chaud ... la moindre erreur et c'est foutu. J'ai repris le code avec ton dernier post. voila la requête: je pense qu'il y a un problème au niveau de l'ecriture de : 'action=periph.value'and'periph_id': 'id' J'ai essayé plusieurs choses mais je n'y arrive pas. J'ai encore besoin de ton aide. Merci |
Auteur: | xeos [ 10 Avr 2020 10:18 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
j'ai pas le code devant moi c'est dommage si les variables passent pas en string met des guillemets simple genre user = 'XXXXXX' Tu peux soit tester = valeur = {'api_user': 'user','api_secret':'secret','action':'periph.value','periph_id': 'id', 'value': 'capteur'} ou enlever les variables sauf capteur et essayer valeur = {'api_user': 'ton user direct','api_secret':'ton secret direct','action':'periph.value',periph_id': 'ton id direct', 'value': 'capteur'} tu as une fréquence de requête a combien ? parce que tu risque d'avoir une saturation du réseau |
Auteur: | donDams [ 10 Avr 2020 10:53 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Alors j'ai trouvé le problème, c'est ma valeur capteur qui n'était pas bonne. J'ai pas bien compris comment était déclaré les variables (STRING, INT, BOOL ...) ????? Donc devant ma valeur capteur j'ai mis format (capteur) et ça fonctionne. Je ne sais pas à quoi sert cette fonction mais c'est OK. Je pensais que c'était un problème de chaîne HTTP, mais c'était le format de ma valeur Pour la fréquence de la requête j'ai mis 10s pour mes tests mais je vais passer à 1/2 heure ou 1h, car c'est pour remonter un niveau de ma cuve enterrée. En tout cas merci de ton aide... en conclusion il faut que je me forme sur python |
Auteur: | xeos [ 10 Avr 2020 11:00 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
Ah cool Tu as eu besoin de la mise en paramètre de l'url en faite..... l'essentiel c'est que ca fonctionne |
Auteur: | donDams [ 10 Avr 2020 11:04 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
j'ai utilisé la méthode "bourrin": valeur = {'api_user': 'ton user direct','api_secret':'ton secret direct','action':'periph.value',periph_id': 'ton id direct', 'value': 'capteur'} J'ai essayé avec ton autre méthode et les paramètres mais j'ai pas réussi. |
Auteur: | xeos [ 10 Avr 2020 11:12 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
T'inquiète la méthode bourrin passe creme sur certains de mes scripts Synology/Domoticz. |
Auteur: | donDams [ 10 Avr 2020 12:08 ] |
Sujet du message: | Re: Envoyer requête http avec un script python |
du moment que ça fonctionne... c'est le principal |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |