[Python] Récupération des données API Withings avec OAuth 2.0

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.
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Hello,

Apres de longues discussion avec withings car je ne parvenais pas a parametrer l'url de callback, j'ai constaté ce matin par hasard que je pouvais maintenant la configurer correctement.

Cependant lorsque je lance le script, je constate qu'il s'execute correctement:

Apparement toutes les données sont bien téléchargées:

Code : Tout sélectionner

python3 withings-sync.py sync
x : 2
Dernière mesure : 2020-01-02T19:51:57+00:00 
Dernière mise à jour : 2020-01-02T20:46:51+00:00 
Aucune mise à jour nécessaire
Votre poids : 96.884 kg
Votre taille  : 1.77 m
Votre indice de masse corporelle : 30.924702352452996 kg/m2
Votre masse sans gras (muscle + os) est de 72.634 kg
Votre taux de graisse : 25.03%
Votre rapport de masse maigre : 74.97%
Votre masse grasse : 24.25 kg
y : 1
Votre pouls  : 89 bpm
Votre masse musculaire : 69.03 kg
Votre rapport de masse musculaire : 71.250154824326 %
Votre hydratation : 50.85 kg
Votre taux d'hydratation : 52.48544651335618 %
Votre masse osseuse : 3.59 kg
Votre rapport de masse osseuse : 3.705462202221213 %
Z : 0
La vitesse d'onde de pouls: 7.132000000000001
Config file saved to config.ini
pourtant seulement les 6 premiers sont mis a jours jusqu'au pouls.
Une idée pourquoi les autres ne se mettent pas à jour ?
Je les vois bien dans les logs de domoticz également

Edit
Je viens de me repeser, il uniquement mis a jour le poid et imc et le rythme cardiaque.
Pourtant le rythme cardiaque n'a pas été mesuré .
Dernière modification par jme le 02 janv. 2020, 21:53, modifié 1 fois.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par papoo »

Le contrôle de données déjà inscrite ce fait sur le poids si la mesure est identique les autres ne se mettent pas à jour
Vois si la prochaine mesure mets à jour toutes les données ou encore que les 6 premières
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Ok,

je vais laisser tourner quelques jours et je vais voir .
Merci
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Il ne reprend pas les données du passé ou y aurait il un moyen de les récuperer ?

Merci
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par papoo »

Non, le script ne le peut pas
Je ne sais pas si les anciennes données sont disponible via l’api
Je n’ai rien lu en ce sens
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Hello,

J'ai fais un test ce matin, le script executé depuis cron donne ceci comme retour:

Code : Tout sélectionner

Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/withings-sync.py", line 72, in <module>
    import nokia
ImportError: No module named 'nokia'
Du coup je l'ai lancé à la main.

Code : Tout sélectionner

python3 withings-sync.py sync
x : 0
Dernière mesure : 2020-01-03T06:14:27+00:00 
Dernière mise à jour : 2020-01-02T21:51:07+00:00 
Mise à jour des mesures
Votre poids : 94.81400000000001 kg
Votre taille  : 1.77 m
Votre indice de masse corporelle : 30.26397267707236 kg/m2
Votre masse sans gras (muscle + os) est de 69.544 kg
Votre taux de graisse : 26.652%
Votre rapport de masse maigre : 73.348%
Votre masse grasse : 25.27 kg
Traceback (most recent call last):
  File "withings-sync.py", line 404, in <module>
    print("y : " + str(y))
NameError: name 'y' is not defined
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par papoo »

pk le script fonctionnait partiellement et qu'il ne fonctionne plus?
tu dispose de quelle version de python?

Code : Tout sélectionner

python3 -V
il semblerait que tu ai plusieurs version de ce script non?

essaie de re configurer le script avec

Code : Tout sélectionner

python3 /home/pi/domoticz/scripts/python/withings-sync.py setup nokia
essai aussi dans ton cron en ajoutant le chemin complet vers python et éventuellement tester avec sudo
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Avec sudo le script a l'air d'être executé avec cron:

Code : Tout sélectionner

Dernière mesure : 2020-01-04T09:12:12+00:00 
Dernière mise à jour : 2020-01-03T07:45:42+00:00 
Mise à jour des mesures
Votre poids : 94.736 kg
Votre taille  : 1.77 m
Votre indice de masse corporelle : 30.239075616840626 kg/m2
Votre masse sans gras (muscle + os) est de 69.526 kg
Votre taux de graisse : 26.611%
Votre rapport de masse maigre : 73.389%
Votre masse grasse : 25.21 kg
y : 0
Votre pouls  : 92 bpm
Votre masse musculaire : 66.07000000000001 kg
Votre rapport de masse musculaire : 69.74117547711536 %
Votre hydratation : 48.870000000000005 kg
Votre taux d'hydratation : 51.58545853740922 %
Votre masse osseuse : 3.44 kg
Votre rapport de masse osseuse : 3.631143387941226 %
Z : None
Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/withings-sync.py", line 488, in <module>
    if idx_pulse_wave_velocity != None and pulse_wave_velocity != None:
NameError: name 'pulse_wave_velocity' is not defined


Tout s'est mis a jour sauf l'onde de pouls, peut être que la mesure a foiré ce matin.
jme
Messages : 67
Inscription : 04 août 2017, 19:21

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par jme »

Hello,

J'ai les erreur suivantes, as tu une idée d'ou viendrait le problème ?

Code : Tout sélectionner

sudo python3 /home/pi/domoticz/scripts/python/withings-sync.py sync
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/configparser.py", line 1138, in _unify_values
    sectiondict = self._sections[section]
KeyError: 'nokia'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/withings-sync.py", line 257, in <module>
    client_nokia = auth_nokia( config )
  File "/home/pi/domoticz/scripts/python/withings-sync.py", line 244, in auth_nokia
    creds = nokia.NokiaCredentials(config.get('nokia', 'access_token'),
  File "/usr/local/lib/python3.6/configparser.py", line 781, in get
    d = self._unify_values(section, vars)
  File "/usr/local/lib/python3.6/configparser.py", line 1141, in _unify_values
    raise NoSectionError(section)
configparser.NoSectionError: No section: 'nokia'
je tourne avec Pyhton 3.6.3

je viens juste de refaire le setup .
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: PYTHON : récupération des données API Withings avec OAuth 2.0

Message par papoo »

Quand tu lances le script withings-sync.py avec l’option config nokia tu as des erreurs ? Ou seulement quand tu le lances avec l’option sync ?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre