[Python] [Obsolète] Récupération des données API Withings

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message par papoo »

Pour la vitesse d'onde cardiaque, je suppose que ta balance ne la délivre pas?
Pour l'hydratation je vais verifier
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message 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.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message 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
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message par papoo »

pour moi il ne fonctionne qu'avec urllib2
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
kouf
Messages : 16
Inscription : 25 mars 2016, 06:50

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

Message par kouf »

De mon côté, l'installation de urllib2 ne fonctionne pas sur debian Jessie sur un x86, il me propose que urllib3.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message par papoo »

bon ben va falloir que j'essaie de le rendre compatible avec cette version
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message 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)
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message 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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message 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?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message 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
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Répondre