Page 3 sur 6

Re: Parrot flower Power

Publié : 21 mars 2016, 20:44
par denisb88
J'ai essayé d'utiliser la première version du script du blog mais j'ai ces erreurs
File "./caoutchouc.py", line 104, in <module>
'client_secret': client_secret,
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 60, in get
return request('get', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 49, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 457, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 606, in send
r.content
File "/usr/lib/python2.7/dist-packages/requests/models.py", line 724, in content
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
File "/usr/lib/python2.7/dist-packages/requests/models.py", line 653, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 256, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 186, in read
data = self._fp.read(amt)
File "/usr/lib/python2.7/httplib.py", line 573, in read
s = self.fp.read(amt)
File "/usr/lib/python2.7/socket.py", line 380, in read
data = self._sock.recv(left)
File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 188, in recv
data = self.connection.recv(*args, **kwargs)
OpenSSL.SSL.ZeroReturnError
D'où cela peut-il provenir ?
Merci de votre aide

EDIT: j'ai lancé la version 2 (page 2 de ce post) du script et j'ai les mêmes erreurs

Re: Parrot flower Power

Publié : 21 mars 2016, 23:13
par js-martin
Ton mot de passe de l'API est bon ? Tu es certain de ne pas avoir fait d'erreur de copie/coller (je dis cela car le message line 104, in <module>
'client_secret': client_secret semble lié ?)

Tu as quel message d'erreur avec la V2 (tu parles du code de ce message viewtopic.php?f=17&t=316&start=10#p11685 ??)

Chez moi, cela tourne (j'ai une anomalie avec l'engrais... il faut que je regarde) :

Code : Tout sélectionner

-------------------------------------------------------------------
voici le niveau de batterie du flower power de la plante Ficus
78
-------------------------------------------------------------------
Index:128 - Valeur:78
Zamioculcas zamiifolia:
Ficus:
Plante trouvée
############# metrics###############
  light:
#####################################
Index:132 - Alert_color:1 - Valeur: light_good
Index:124 - Valeur:56.97
############# metrics###############
  soil_moisture:
#####################################
Index:136 - Alert_color:predicted_action - Valeur: None
Index:126 - Valeur:19.98
############# metrics###############
  air_temperature:
#####################################
Index:135 - Alert_color:1 - Valeur: air_temperature_good
Index:125 - Valeur:15.4
############# metrics###############
  fertilizer:
#####################################
Index:137 - Alert_color:1 - Valeur: fertilizer_good
Index:127 - Valeur:34.0

Re: Parrot flower Power

Publié : 22 mars 2016, 07:38
par patrice
Bonjour
Oui c'est un problème d’identification il faut vérifier tes user/password chez parrot, les placer au bon endroit dans le script

Re: Parrot flower Power

Publié : 22 mars 2016, 21:18
par denisb88
Je ne vois pas où il peut y avoir un problème
Peut-être le username mais j'ai essayé avec mon adresse mail et mon nom d'utilisateur ça ne fonctionne pas dans les 2 cas

client_id c'est bien le mail ?
client-secret--> j'ai fait un copier coller de ce que j'ai reçu en mail

Code : Tout sélectionner

#~~~~~~~~~~~ Parametres Parrot ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

# First we set our credentials
username = 'xxxxxxxx'
password = 'xxxxx'

# Get your client credentials here: https://apiflowerpower.parrot.com/api_access/signup
client_id = 'xx.xx@gmail.com'
client_secret = 'A8613DO4Zdt3nZAOPQI56u5dnxBvYfI45ZI6Hiy4xGngxxxx'
J'ai fait un test en indiquant de mauvais identifiants de Domoticz dans le fichier config_Domoticz.py

J'ai exactement les mêmes erreurs. Comme c'est au début du script, le traitement de cette erreur devrait figurer mais je n'en vois pas la trace

Re: Parrot flower Power

Publié : 22 mars 2016, 21:59
par patrice
Bonsoir
Bon j'ai verifie cela fonctionne
On reprend les parametrages


# First we set our credentials
username = 'l'email_que tu as donne _chez_parrot_pour _la_mise_en_place_de_la_plante'
password = 'le_paasword_de_la_creation_de ce compt'

# Get your client credentials here: https://apiflowerpower.parrot.com/api_access/signup
client_id = 'le_mail_que_tu as donne en utilisant le lien ici juste au dessus''
client_secret = 'le truc impossible que tu as recu apres avoir validé le formulaire ici https://apiflowerpower.parrot.com/api_access/signup et de la forme A3dfgtHRDdhhDFfg.....


Euh au passage Windows ou Raspberry ?

Sinon de la lecture avec des exmples python ici
http://developer.parrot.com/docs/flower ... entication

Re: Parrot flower Power

Publié : 22 mars 2016, 22:05
par denisb88
Merci Patrice
J'ai exactement écrit ce que tu indiques mais cela ne fonctionne toujours pas
Je suis sur Raspberry avec la version 3.4834

J'étais d'ailleurs en train de regarder la page que tu as fourni mais je n'y comprends pas grand chose.

Re: Parrot flower Power

Publié : 22 mars 2016, 22:38
par patrice
Tu copie/colle tout ca dans un fichier nommé test.py

Code : Tout sélectionner

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
from pprint import pformat  # here only for aesthetic

# First we set our credentials
username = 'YOUR_USERNAME'
password = 'YOUR_PASSWORD'

#from the developer portal
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_SECRET'

req = requests.get('https://apiflowerpower.parrot.com/user/v1/authenticate',
                   data={'grant_type': 'password',
                         'username': username,
                         'password': password,
                         'client_id': client_id,
                         'client_secret': client_secret,
                        })
response = req.json()
print('Server response: \n {0}'.format(pformat(response)))

# Get authorization token from response
access_token = response['access_token']
auth_header = {'Authorization': 'Bearer {token}'.format(token=access_token)}

Tu y remplace les identificants/user....
tu fais chmod 777 test.py
puis ./test.py

cela doit afficher qq chose comme

Code : Tout sélectionner

{
    "access_token": "YOUR_ACCESS_TOKEN_",
    "expires_in": 2592000,
    "refresh_token": "YOUR_REFRESH_TOKEN"
}
et non pas une erreur

Re: Parrot flower Power

Publié : 22 mars 2016, 22:44
par denisb88
Voilà ce que j'obtiens pourtant j'ai bien installé sudo pip install requests

Code : Tout sélectionner

./test.py: ligne 1: import : commande introuvable
from: can't read /var/mail/pprint
./test.py: ligne 5: username : commande introuvable
./test.py: ligne 6: password : commande introuvable
./test.py: ligne 9: client_id : commande introuvable
./test.py: ligne 10: client_secret : commande introuvable
./test.py: ligne 12: erreur de syntaxe près du symbole inattendu « ( »
./test.py: ligne 12: `req = requests.get('https://apiflowerpower.parrot.com/user/v1/authenticate','

Re: Parrot flower Power

Publié : 22 mars 2016, 23:25
par js-martin
Et tu as installé Python ?

Re: Parrot flower Power

Publié : 23 mars 2016, 05:30
par denisb88
oui, j'ai d'autres scripts python qui tournent