[V4] Dev service Withings

Re @euguuu !! Je viens de tester ta PR, c’est toujours niquel pour moi niveau connexion. En revanche, j’ai un petit soucis, j’ai bien setté la langue de Gladys en Français, or sur le tableau de bord quand j’affiche les éléments de ma balance (via Appareils de la pièce), les libellés sont en anglais

Il semblerait que ce soit le nom par défaut des fonctionnalités du périphérique.
Théoriquement tu dois pouvoir modifier ces libellés depuis la page de configuration des appareils du service.

Justement je n’en ai pas l’impression car quand j’arrive sur la page de configuration de withings, j’ai ça :


Idem pour la partie configuration du dashboard :

donc je pencherais plutôt pour un problème côté i18n, mais j’avoue que je n’ai pas cherché côté code.

Sur la 1ere capture, tu n’as pas de bouton “Edit” ?

Je viens de refaire le test intégralement ! Et je ne peux à aucun moment modifier le libellé affiché.
@AlexTrovato la première capture dont tu parles normalement c’est mon dashboard donc j’ai bien un bouton Edit, mais je ne peux qu’ajouter les fonctionnalités à afficher pas les personnaliser

Je viens de regarder dans le code, Et en effet si je regarde ce qui a été fait, je crois que c’est le nom des features du device qui est en dur et donc non traduit pour le coup !

Je parlais du screenshot avec l’image de la balance, le 1er du 2nd post, ou le 2nd screenshot :stuck_out_tongue:

En tout cas, il faut pouvoir éditer le nom des features.

1 « J'aime »

merci @Legw4nn pour ton retour

je regarderai pour ce pb de traductionsur l’affichage dans les dashboard
et je ferai en sorte que l’on puisse éditer le nom des features la c’est pas prévu pour

1 « J'aime »

Bonjour, j’ai une balance, si vous cherchez un testeur de plus.

Bonjour,

@Legw4nn j’ai fait les modifs pour prendre en compte les pb sur les nom des features décrit plus haut, si tu peux vérifier que ça marche bien chez toi je suis preneur ,

@francois je suis aussi preneur de tout nouveau testeur et retour de cette pr :wink:

merci

Hello @euguuu !

J’ai voulu tester les dernières modifications que tu as apportées mais malheureusement je n’arrive plus a démarrer le server gladys en local ( ça doit venir de la conf que j’ai installé sur ma machine ) mais je ne comprends pas pour quoi d’un coup ça ne marche plus ! J’ai testé différentes versions de node mais rien n’y fait.

@pierre-gilles une idée ??

Extrait de la stacktrace de mon npm install en version node 14.2.0 npm 6.14.4

/Users/erwannlegeay/Projets/Perso/GladysWithings/server/cli/install_service_dependencies.js:31
      throw e;
      ^

Error: Command failed: cd /Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/bluetooth && npm install --unsafe-perm
env: python: No such file or directory
make: *** [Release/nothing.a] Error 127
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/erwannlegeay/.nvm/versions/node/v14.2.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Darwin 21.4.0
gyp ERR! command "/Users/erwannlegeay/.nvm/versions/node/v14.2.0/bin/node" "/Users/erwannlegeay/.nvm/versions/node/v14.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/bluetooth/node_modules/@abandonware/noble
gyp ERR! node -v v14.2.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm WARN gladys-bluetooth@1.0.0 No repository field.
npm WARN gladys-bluetooth@1.0.0 No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @abandonware/bluetooth-hci-socket@0.5.3-5 (node_modules/@abandonware/bluetooth-hci-socket):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @abandonware/bluetooth-hci-socket@0.5.3-5: wanted {"os":"linux,android,freebsd,win32","arch":"any"} (current: {"os":"darwin","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @abandonware/noble@1.9.2-10 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @abandonware/noble@1.9.2-10 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/erwannlegeay/.npm/_logs/2022-03-21T22_43_48_177Z-debug.log

    at checkExecSyncError (child_process.js:611:11)
    at execSync (child_process.js:647:15)
    at /Users/erwannlegeay/Projets/Perso/GladysWithings/server/cli/install_service_dependencies.js:23:5
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (/Users/erwannlegeay/Projets/Perso/GladysWithings/server/cli/install_service_dependencies.js:20:13)
    at Module._compile (internal/modules/cjs/loader.js:1176:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
    at Module.load (internal/modules/cjs/loader.js:1040:32)
    at Function.Module._load (internal/modules/cjs/loader.js:929:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
  status: 1,
  signal: null,
  output: [
    null,
    <Buffer 0a 3e 20 40 61 62 61 6e 64 6f 6e 77 61 72 65 2f 6e 6f 62 6c 65 40 31 2e 39 2e 32 2d 31 30 20 69 6e 73 74 61 6c 6c 20 2f 55 73 65 72 73 2f 65 72 77 61 ... 226 more bytes>,
    <Buffer 65 6e 76 3a 20 70 79 74 68 6f 6e 3a 20 4e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 0a 6d 61 6b 65 3a 20 2a 2a 2a 20 5b ... 1718 more bytes>
  ],
  pid: 58857,
  stdout: <Buffer 0a 3e 20 40 61 62 61 6e 64 6f 6e 77 61 72 65 2f 6e 6f 62 6c 65 40 31 2e 39 2e 32 2d 31 30 20 69 6e 73 74 61 6c 6c 20 2f 55 73 65 72 73 2f 65 72 77 61 ... 226 more bytes>,
  stderr: <Buffer 65 6e 76 3a 20 70 79 74 68 6f 6e 3a 20 4e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 0a 6d 61 6b 65 3a 20 2a 2a 2a 20 5b ... 1718 more bytes>
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gladys-server@ postinstall: `node ./cli/install_service_dependencies.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the gladys-server@ postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/erwannlegeay/.npm/_logs/2022-03-21T22_43_48_258Z-debug.log

Extrait de mon npm start suite au npm install :

> gladys-server@ start /Users/erwannlegeay/Projets/Perso/GladysWithings/server
> cross-env NODE_ENV=development nodemon index.js

[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
internal/modules/cjs/loader.js:1023
  throw err;
  ^

Error: Cannot find module 'bottleneck/es5'
Require stack:
- /Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/lib/light/index.js
- /Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/index.js
- /Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/index.js
- /Users/erwannlegeay/Projets/Perso/GladysWithings/server/lib/index.js
- /Users/erwannlegeay/Projets/Perso/GladysWithings/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1020:15)
    at Function.Module._load (internal/modules/cjs/loader.js:890:27)
    at Module.require (internal/modules/cjs/loader.js:1080:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/lib/light/index.js:1:20)
    at Module._compile (internal/modules/cjs/loader.js:1176:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
    at Module.load (internal/modules/cjs/loader.js:1040:32)
    at Function.Module._load (internal/modules/cjs/loader.js:929:14)
    at Module.require (internal/modules/cjs/loader.js:1080:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/index.js:2:32)
    at Module._compile (internal/modules/cjs/loader.js:1176:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
    at Module.load (internal/modules/cjs/loader.js:1040:32)
    at Function.Module._load (internal/modules/cjs/loader.js:929:14) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/lib/light/index.js',
    '/Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/philips-hue/index.js',
    '/Users/erwannlegeay/Projets/Perso/GladysWithings/server/services/index.js',
    '/Users/erwannlegeay/Projets/Perso/GladysWithings/server/lib/index.js',
    '/Users/erwannlegeay/Projets/Perso/GladysWithings/server/index.js'
  ]
}
[nodemon] app crashed - waiting for file changes before starting...

Il y a un problème avec l’installation de python sur ta machine, peut-être que tu as Python3 d’installé et pas Python :

Merci @pierre-gilles j’ai du faire un clean / update malheureux qui m’a viré python 2 :o

J’ai enfin testé !!! C’est niquel chez moi, les libellés sont traduits et l’édition de ces derniers est fonctionnelle :wink: ! Beau boulot :slight_smile:

2 « J'aime »

@Legw4nn Tant que tu y es si c’est pas un indiscret tu peux nous faire quelques screenshots de l’intégration chez toi ? :slight_smile:

Je prépare ça, je vais juste attendre un peu histoire d’avoir des données pour montrer les graphiques :wink:

@Legw4nn merci pour ces retours,

normalement tu devrais pas avoir a attendre trop longtemps, lors de la connexion d’un device à gladys le service récupère toutes les données du passé, de ce que j’ai comprit de l’affichage des graph il suffit d’attendre que la tache d’échantillonnage des données passe pour que les graphiques s’affichent

En effet ! :slight_smile:

Voilà à quoi ça ressemble chez moi

En revanche je viens de voir peut-être un léger soucis, si je mets plusieurs mesures sur le même graphique les légendes ne sont pas très parlantes :

1 « J'aime »

j’avoue que là je sais pas trop quoi faire,

de ce que je comprends de l’affichage de la légende ça affiche juste le nom du device avec l’unité.
Dans le cas que tu affiches, le device a plusieurs features qui renvoi des mesures de mêmes unités, je suppose que ça fait la même chose pour tous les devices indépendamment de cette intégration

Mmm effectivement, pour différencier dans ce cas là il faudrait afficher le nom traduit du feature type, après de mémoire je l’avais pas fais parce que c’était souvent beaucoup trop long à afficher…

(Et on affiche pas le nom de la feature non plus ici, c’est un vieux débat qu’on a résolu : le nom de la feature est voué à disparaitre et sera de moins en moins utilisé à l’avenir )