Page 2 sur 7

Re: PYTHON : recupération des données API Withings

Publié : 04 août 2017, 06:36
par papoo
Pour la vitesse d'onde cardiaque, je suppose que ta balance ne la délivre pas?
Pour l'hydratation je vais verifier

Re: PYTHON : recupération des données API Withings

Publié : 04 août 2017, 07:27
par papoo
j'ai moi aussi ce décalage pour l'hydratation. Je ne le remonte pas dans Dz, ce pourquoi je ne m'en étais pas aperçu.
je regarderais si je peux y faire quelque chose ce WE.
pour ton cron il faudrait peut être décaler le lancement de tes deux scripts afin qu'ils ne se connectent pas simultanément au site.

Re: PYTHON : recupération des données API Withings

Publié : 04 août 2017, 10:47
par jackslayter
moi j'ai cette erreur :

Code : Tout sélectionner

sudo python3 /home/pi/domoticz/scripts/python/withings/withings.py
/usr/local/lib/python3.4/dist-packages/urllib3/contrib/socks.py:37: DependencyWarning: SOCKS support in urllib3 requires the installation of optional dependencies: specifically, PySocks.  For more information, see https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies
  DependencyWarning
Go to https://oauth.withings.com/account/authorize?oauth_token=cc4e5b27635645fh4dcc32079369e0e2bb allow the app and copy your oauth_verifier
Please enter your oauth_verifier: 'yScs56g4Dmsf63hsfhLhrbl'
'yScpEbmjm1ETF87Lhrbl'Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 355, in _fetch_token
    token = dict(urldecode(r.text.strip()))
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 33, in urldecode
    return json.loads(body)
  File "/usr/lib/python3.4/json/__init__.py", line 318, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.4/json/decoder.py", line 343, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode
    raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/withings/withings.py", line 62, in <module>
    credentials = auth.get_credentials(oauth_verifier)
  File "/home/pi/domoticz/scripts/python/withings/get_withings_data.py", line 78, in get_credentials
    tokens = oauth.fetch_access_token('%s/access_token' % self.URL)
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 304, in fetch_access_token
    token = self._fetch_token(url, **request_kwargs)
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 361, in _fetch_token
    raise ValueError(error)
ValueError: Unable to decode token from token response. This is commonly caused by an unsuccessful request where a non urlencoded error message is returned. The decoding error was Expecting value: line 1 column 1 (char 0)
idem avec python2

merci

Re: PYTHON : recupération des données API Withings

Publié : 05 août 2017, 12:27
par papoo
pour moi il ne fonctionne qu'avec urllib2

Re: PYTHON : recupération des données API Withings

Publié : 05 août 2017, 12:47
par kouf
De mon côté, l'installation de urllib2 ne fonctionne pas sur debian Jessie sur un x86, il me propose que urllib3.

Re: PYTHON : recupération des données API Withings

Publié : 05 août 2017, 13:28
par papoo
bon ben va falloir que j'essaie de le rendre compatible avec cette version

Re: PYTHON : recupération des données API Withings

Publié : 06 août 2017, 18:44
par jackslayter
bon j'ai installé 'PySocks' mais maintenant j'ai cette erreur

Code : Tout sélectionner

Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/withings/withings.py", line 63, in <module>
    credentials = auth.get_credentials(oauth_verifier)
  File "/home/pi/domoticz/scripts/python/withings/get_withings_data.py", line 78, in get_credentials
    tokens = oauth.fetch_access_token('%s/access_token' % self.URL)
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 304, in fetch_access_token
    token = self._fetch_token(url, **request_kwargs)
  File "/usr/local/lib/python3.4/dist-packages/requests_oauthlib/oauth1_session.py", line 361, in _fetch_token
    raise ValueError(error)
ValueError: Unable to decode token from token response. This is commonly caused by an unsuccessful request where a non urlencoded error message is returned. The decoding error was No JSON object could be decoded
pi@raspberrypi ~ $ sudo pip install requests requests_oauthlib
Requirement already satisfied: requests in /usr/lib/python3/dist-packages
Requirement already satisfied: requests_oauthlib in /usr/local/lib/python3.4/dist-packages
Requirement already satisfied: oauthlib>=0.6.2 in /usr/local/lib/python3.4/dist-packages (from requests_oauthlib)

Re: PYTHON : recupération des données API Withings

Publié : 06 août 2017, 19:58
par papoo
@jackslayter : mon fichier get_withings_data.py n'est en fait qu'une modif d'un script disponible sur github pour lequel j'ai ajouté les données à récuperer pour mon modele de balance.
essai de l'installer (des fois que j'aurais oublié quelque chose)
https://github.com/maximebf/python-withings

Code : Tout sélectionner

sudo pip install withings

Re: PYTHON : recupération des données API Withings

Publié : 06 août 2017, 20:22
par papoo
@frenchyyii
le taux d'hydratation est disponible dans l'api via le paramètre 77
https://developer.health.nokia.com/api/doc
il n'est pas documenté, peut être n'est-ce pas exactement les même données que sur la balance?

Re: PYTHON : recupération des données API Withings

Publié : 06 août 2017, 21:35
par jackslayter
papoo a écrit :@jackslayter : mon fichier get_withings_data.py n'est en fait qu'une modif d'un script disponible sur github pour lequel j'ai ajouté les données à récuperer pour mon modele de balance.
essai de l'installer (des fois que j'aurais oublié quelque chose)
https://github.com/maximebf/python-withings

Code : Tout sélectionner

sudo pip install withings
Je l'ai installé aussi