Mon 1er script, besoin d'aide

Ca marche à la perfection, Merci beaucoup, j’au peu terminer mon script, qui est parfaitement Fonctionnel.

Bon ça fait plaisir.

Noublie pas de suivre les tutos et les liens que je t’ai donné pour pouvoir aller plus loin …

Alors Python c’est bien ?

Citation
ca se moque ? :stuck_out_tongue_winking_eye:

Ah non jamais. Je râle trop toute la journée après les gens qui ne veulent pas « apprendre » pour me moquer de qqn qui veut apprendre.

1 « J'aime »

grave, c’est pas mal pour un débutant comme moi…

Je plonge!! J’attaque Python en utilisant les nombreuses références données par olive. Un grand merci à lui pour sa disponibilité, en particulier envers les éternels vieux débutants!!! :innocent:

Bonjour,

Suite à une mise à jour général de mon jeedom, mon script pyton ne s exécuté plus… même en le lançant manuellement…

Comment voir se qui cloche ?

Merci

ca dit qui si tu passe ces commande en console ssh ?

pi@covid:~$ python3 --version
Python 3.7.3
pi@covid:~$ python --version
Python 2.7.16
pi@covid:~$ pip --version
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)
pi@covid:~$ pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
pi@covid:~$ 

Il a un joli nom ton pi !!!

1 « J'aime »

C’est pas un PI mais comme je lai reçu en plein confinement …

@dede3828 a disparu …

1 « J'aime »

Merci, désolé, je reviens sur mon pc que ce soir…

Voila se que j’obtient :

`pi@raspberrypi:~ $ python3 --version
Python 3.5.3

pi@raspberrypi:~ $ python --version
Python 2.7.13

pi@raspberrypi:~ $ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

pi@raspberrypi:~ $ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
pi@raspberrypi:~ $ `

Ben ça déjà c’est bon.

Bon je vien de voir, suite à la mise à jours, j’avais les scénarios et le système CRON désactivé… La mon script refonctionne… mais ca n’explique pas pourquoi quand je cliquais sur TESTER il ne fonctionnais pas… :thinking:

Edit : Et la je me rend compte que mon script s’exécute bien grâce au CRON, mais si je cliquer sur tester , il ne fonctionne tj pas…

peut être juste un problème de droits
lorsque tu à ce problème édite ton script pas l’editeur de plugin-script
puis sauvegarde le, même si c’est le même

ou lance une sauvegarde jeedom

ça remet a plat tous les droits

Comment voir si mon script s’exécute ?

Je m’explique, mon script écrit dans un fichier sur mon PI, quand je clique sur TESTER, j’ai l’impression que rien ne s’écrit dans le fichier… ca date et son heure ne change pas… en revanche lors de l’exécution du script via le CRON, cela fonctionne…

Bon, je reviens vers toi @olive,

Voici mon script :

#! /usr/bin/env python3

import requests, json, codecs

url_token = "https://interop.ondilo.com/oauth2/token"
url_ico = "https://interop.ondilo.com/api/customer/v1/pools/xxx/lastmeasures"
url_ipx = "http://192.168.0.xxx/api/xdevices.json?key=xxxxxxx&SetVA"

payload_token = "refresh_token=xxxxxxxxxx&grant_type=refresh_token&client_id=customer_api"
headers_token = {
    'Content-Type': "application/x-www-form-urlencoded",
    'Cache-Control': "no-cache",
    }

response_token = requests.request("POST", url_token, data=payload_token, headers=headers_token)
jsonlist = json.loads(response_token.text)
jsonlist = jsonlist['access_token']


headers_ico = {
    'Authorization': "Bearer " + str(jsonlist),
    'Cache-Control': "no-cache",
    }

response_ico = requests.request("GET", url_ico, headers=headers_ico)
payload = response_ico.text

f = codecs.open('/var/www/html/ico_data.txt', 'w', encoding='utf8')
f.write(payload)

list_ico = json.loads(response_ico.text) #traduction langage JSON dans variable liste_ico
temperature_ico=list_ico[0].get("value")
redox_ico=list_ico[1].get("value")
temperature_ico=temperature_ico*10

requests.request("GET",url_ipx + "01=" + str(temperature_ico))
requests.request("GET",url_ipx + "02=" + str(redox_ico))

J’ai eu un soucis la dernière fois, c’était que mon script s’exécutais bien, mais mon refresh token n’était plus valide, donc j’avais un message d’erreur de la part du server ONDILO, donc mon script n’aboutissait pas. Mais je n’avais aucune information de cela, que pourrais ajouter afin de remédier a cela ?

J’ai bien une idée, mais qui est plus du bricolage… je m’explique : j’active via mon script une variable, cette variable ce réinitialise sous Jeedom toute les 9 minutes, mon script s’exécutant toute les 10 minutes, si la variable ne c’est pas réactiver au bous de 10 minute, c’est que le script n’a pas aboutis…
Mais je suppose qu’il y a une solution autre non ?

Merci a toi

Je serait toi je met des stop par dichotomie
avec un print qui renvoi une valeur de retour du script
même si ça correspond pas a la final tu finira par savoir si ton script fonctionne ou pas sans erreur non ?

mon script fonctionne parfaitement, mais l’autre jours mon refresh token n’était plus valide… et aucun moyen pour moi de le voir sauf à exécuter la requête sous POSTAM afin de voir la reponse des serveurs de ONDILO…

Je croyais un problème de CRON qui n’exécutait pas le script, et c’est quand j’ai vu que meme en exécution manuel, le fichier ou le script écrit ne c’était pas mis à jour, que je me suis dis il doit y avoir un soucis

et tu peut pas faire un test a l’intérieur pour contrôler ?

je pourrais mais je ne sais pas faire …

Tout peu s’apprendre surtout de no jours a l’heure internet
prend ton programme ligne pas ligne en dehors de jeedom en ligne de commande Phyton décortique analyse trouve comment ça fonctionne …