[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.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message par jackslayter »

j'ai ouvert le port sur la box et j'ai testé le callback en ip local (192.168.x.x) et ip publique, même erreur
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 : récupération des données API Withings avec OAuth 2.0

Message par papoo »

As tu tenté la suppression de l’ancienne installation de la librairie nokia?
sudo pip uninstall nokia
sudo pip3 uninstall nokia
Des fois qu’il y ai plusieurs versions d’installées?
As tu fais un Chmod +x sur le script que tu as ajouté ?
Le script as besoin de plusieurs librairies pour fonctionner as tu vérifié qu’elles étaient toutes disponibles (section import)?
Dans sur/var/local/lib/python3.x (de mémoire)
Sinon tu as quelle version de python?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message par jackslayter »

papoo a écrit : 12 nov. 2018, 18:14 As tu tenté la suppression de l’ancienne installation de la librairie nokia?
sudo pip uninstall nokia -> pas installé
sudo pip3 uninstall nokia -> désinstallé et réinstallé
Des fois qu’il y ai plusieurs versions d’installées?
As tu fais un Chmod +x sur le script que tu as ajouté ? -> oui
Le script as besoin de plusieurs librairies pour fonctionner as tu vérifié qu’elles étaient toutes disponibles (section import)?
Dans sur/var/local/lib/python3.x (de mémoire)
Sinon tu as quelle version de python? -> python 3.5
c'est bon , je pense que en désinstallant et réinstallant la lib nokia cela a mis à jour la lib.

Merci , à rajouter dans ton tuto je pense

autre probleme lors du sync
les données sont bien transmise à DZ donc pas de pb de ce coté par contre j'ai mis des "None" dans la config

Code : Tout sélectionner

#domoticz settings
domoticz_host           = '192.168.1.100'    # Url domoticz
domoticz_port           = '8080'            # port
domoticz_url            = 'json.htm'        # Ne pas modifier
debugging               = True              # True pour voir les logs dans la console log Dz et en ligne de commande, ou False pour ne pas les voir (attention aux majuscules)

votre_taille            =  182          # renseigner votre taille en cm pour le calcul de votre IMC dans le cas ou l'information ne serait pas disponible via l'API

idx_weight              = '377'             # renseigner l'idx du device Poids associé si souhaité (custom sensor, nom de l'axe : kg)
idx_body_mass_index     = None          # renseigner l'idx du device IMC associé si souhaité (custom sensor, nom de l'axe : kg/m2)
idx_fat_free_mass       = None          # renseigner l'idx du device Masse hors graisse associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : kg)
idx_fat_ratio           = '378'         # renseigner l'idx du device Ratio graisse associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : %)
idx_lean_ratio          = None          # renseigner l'idx du device Ratio masse maigre associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : %)
idx_fat_mass_weight     = '379'         # renseigner l'idx du device Masse grasse associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : kg)
idx_heart_pulse         = None         # renseigner l'idx du device Rythme cardiaque associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : bpm)
idx_muscle_mass         = '380'         # renseigner l'idx du device Masse musculaire associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : kg)
idx_muscle_mass_ratio   = None          # renseigner l'idx du device Ratio Masse musculaire associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : %)
idx_hydration           = None          # renseigner l'idx du device Masse hydratation associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : kg)
idx_hydration_ratio     = '93'          # renseigner l'idx du device Taux d'hydratation associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : %)
idx_bone_mass           = None          # renseigner l'idx du device Masse osseuse associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : kg)
idx_bone_mass_ratio     = '94'          # renseigner l'idx du device Ratio Masse osseuse associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : %)
idx_pulse_wave_velocity = None              # renseigner l'idx du device Vitesse d'onde de pouls associé si souhaité, sinon laisser None (custom sensor, nom de l'axe : m/s)

timezone                                = pytz.UTC
et j'ai cette erreur

Code : Tout sélectionner

Dernière mesure : 2018-11-13T06:40:10+00:00
Dernière mise à jour : 2018-11-07T12:00:05+00:00
Mise à jour des mesures
Votre poids : xx kg
Votre taux de graisse : xx%
Votre masse grasse : xx kg
Traceback (most recent call last):
  File "/home/pi/domoticz/scripts/python/nokia2/domoticz_nokia_health.py", line 390, in <module>
    if y != None:
NameError: name 'y' is not defined
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 : récupération des données API Withings avec OAuth 2.0

Message par papoo »

désolé, un problème d'indentation
j'ai mis à jour le script en page 1 et ajouté la notion de désinstallation.
Merci pour ton retour
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

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

Message par jackslayter »

tu as oublié le script sur la 1iere page ;)
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 : récupération des données API Withings avec OAuth 2.0

Message par papoo »

ah les joies du copié collé
c'est corrigé
encore désolé
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Claude
Messages : 19
Inscription : 03 juil. 2016, 20:28

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

Message par Claude »

Bonsoir,
J’ai lu ces échanges avec beaucoup d’intérêt car je souhaite faire la même chose.

Je comprends bien les principes, par contre je ne comprends pas tout sur la partie enregistrement pour l’API.
J’ai créé un compte sur le site Withings API et quand je veux enregistrer une application je ne sais pas quoi mettre dans certaine zone.
Nom de l’application : je suppose que l’on met ce que l’on veut
URL de callback : dans votre exemple vous donnez une adresse IP avec un port particulier. Sur le site Withings ils précisent que cette URL ne doit pas contenir une IP et que seul les port 80 et 443 sont autorisés.
Site web de l’application : que faut il mettre?
Société : je suis un particulier, peut on mettre n’importe quoi?

Merci d’avance pour votre aide
Cordialement
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 »

Enregistrez une application auprès de Nokia Health et obtenez une clé de consommateur et un secret.

logo: les exigences sont assez strictes, n'hésitez pas à utiliser celui-ci
callback: vous pouvez choisir n'importe quoi, mais si vous voulez faire l'autorisation automatisée (il vous sera demandé de le faire), vous devez choisir soigneusement le nom d'hôte / ip et le port. Par exemple, http: // localhost: 8087 .
localhost: si vous exécutez nokia-weight-sync et effectuez l'autorisation dans le navigateur sur le même appareil. Cela doit être remplacé par ip / nom d'hôte local ou public si vous l'exécutez sur un serveur.
8087: un port qui n'est probablement pas utilisé par d'autres services. Pour une configuration à distance, assurez-vous que le port n'est pas protégé par un pare-feu.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
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 »

ma config
withing-Partenaires.png
withing-Partenaires.png (43.98 Kio) Consulté 8148 fois
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
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 »

mise à jour du script en version 1.05 pour meilleur prise en charge de la vitesse d'onde de pouls récemment réactivé par withings
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre