Page 2 sur 6

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

Publié : 12 nov. 2018, 17:11
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

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

Publié : 12 nov. 2018, 18:14
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?

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

Publié : 13 nov. 2018, 08:19
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

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

Publié : 13 nov. 2018, 12:50
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

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

Publié : 13 nov. 2018, 13:16
par jackslayter
tu as oublié le script sur la 1iere page ;)

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

Publié : 13 nov. 2018, 13:24
par papoo
ah les joies du copié collé
c'est corrigé
encore désolé

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

Publié : 31 déc. 2018, 19:20
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

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

Publié : 31 déc. 2018, 19:48
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.

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

Publié : 31 déc. 2018, 20:04
par papoo
ma config
withing-Partenaires.png
withing-Partenaires.png (43.98 Kio) Consulté 8146 fois

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

Publié : 28 avr. 2019, 23:35
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