bokub / linky

🔌 CLI tool to retrieve Linky smart meters data
GNU General Public License v3.0
224 stars 21 forks source link

Vous n'êtes pas connecté à votre compte Enedis #60

Closed dltrainou closed 10 months ago

dltrainou commented 1 year ago

bonjour j'utilise linky depuis pas mal de temps sans pb, mais en passant a la version2, j'ai un souci. dans sauv_linky.sh je lance les 3 commandes linky, jour, max et heure: avec 2 dates en variable now et now1 linky loadcurve -s $now -e $now1 | tee -a /home/partage/linkymoy.txt linky maxpower -s $now -e $now1 | tee -a /home/partage/linkymax.txt linky daily -s $now -e $now1 | tee -a /home/partage/linkyjour.txt

Lancé en crontab, j'ai une erreur, la même que si je lance le script en sudo: sudo sh /home/partage/sauv_linky.sh Vous n'êtes pas connecté à votre compte Enedis Lancez 'linky auth' pour vous connecter

sh /home/partage/sauv_linky.sh fonctionne correctement je suppose que crontab lance en root car j'ai la meme erreur!! une idée?? merci d'avance et bonne journée

dltrainou commented 1 year ago

J'oubliais , merci pour le boulot de l'accès direct avec conso API , je suis entrain de l’intégrer en vba excel pour récupérer les données en tableur et graphiques. C'est ce que je faisais en passant par des fichiers txt, mais, là, c'est génial. merci encore.

bokub commented 1 year ago

Hello, Aucune idée de l'origine de ton problème, mais dans toutes les commandes linky tu peux forcer un token en utiliser le paramètre --token C'est bourrin mais ça devrait régler le problème. Par exemple:

linky daily -s $now -e $now1 --token xxx.yyy.zzz

Je t'invite à lancer linky --help pour en savoir plus

merci pour le boulot de l'accès direct avec conso API avec grand plaisir !

dltrainou commented 1 year ago

J’avais pas pensé a cette solution, mais ça marche avec le token en variable . Je verrai demain dans le crontab. Merci encore et bonne journée

dltrainou commented 1 year ago

Bonjour Toujours sur mon pb de lancement du linky meme avec le token incorporé au script, en crontab, erreur habituelle Vous n'êtes pas connecté à votre compte Enedis Lancez 'linky auth' pour vous connecter Vous n'êtes pas connecté à votre compte Enedis Lancez 'linky auth' pour vous connecter Vous n'êtes pas connecté à votre compte Enedis Lancez 'linky auth' pour vous connecter

si je fais ça : sudo linky auth --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx L'authentification nécessite 3 paramètres: --access-token ou -a --refresh-token ou -r --usage-point-id ou -u

mais si je tape ça : linky auth --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Votre token a été sauvegardé avec succès sans doute un pb de droit mais je ne vois pas ou? bonne journée

bokub commented 1 year ago

Je pense que si tu fais un sudo linky --version puis un linky --version tu auras la réponse à ta question :wink:

dltrainou commented 1 year ago

exact, merci, en sudo v1.4 sinon v2. mais je ne vois pas pourquoi!!! je ne suis pas familier avec les ruses utilisateurs de raspbian. et pourquoi la version 1.4 existe encore?

bokub commented 1 year ago

Tu as du l'installer en mode "sudo" entre janvier et mai 2022 :shrug:

Tu peux faire which linky et sudo which linky pour connaitre l'emplacement de l'executable dans chaque cas

et pourquoi la version 1.4 existe encore?

Une fois que t'as téléchargé du code sur ton ordinateur, il y reste jusque qu'à ce que tu le supprimes ou que tu le mettes à jour, qu'il fonctionne ou non ! J'ai pas d'accès à ta machine pour te forcer à supprimer ce code ! Je comprends pas ce que tu comprends pas

dltrainou commented 1 year ago

pi@raspberrypi:/usr/bin $ which linky /home/pi/.nvm/versions/node/v18.18.0/bin/linky linky -> ../lib/node_modules/linky/dist/bin/index.cjs

pi@raspberrypi:/usr/bin $ sudo which linky /usr/bin/linky linky -> ../lib/node_modules/linky/dist/bin/cli.js

ca me donne des liens symboliques et ce que je ne sais pas c'est s'il faut faire une desinstallation (comment ?) ou supprimer le repertoire? encore que je ne sais pas ou le trouver? j'ai bientot 80ans et la machine a comprendre tourne moins vite!!! C'est le npm qui m'est pas familier.

dltrainou commented 1 year ago

j'ai supprimé /usr/bin/node_modules/linky maintenant j'ai pi@raspberrypi:~ $ sudo linky --version sudo: linky : commande introuvable

comment lui dire en sudo d'executer le linky de "/home/pi/.nvm/versions/node/v18.18.0/bin/linky" un lien symbolique?

bokub commented 1 year ago

Non tu utilises le path "complet" au lieu de juste linky !

Comme ça, pas d'interpretation possible

sudo /home/pi/.nvm/versions/node/v18.18.0/bin/linky --version
bokub commented 1 year ago

Après peut-être que tu pourrais éviter d'appeler tes commandes en sudo, non ? C'est quoi la limitation ?

dltrainou commented 1 year ago

J'avais du rester en su pour autre chose? je vais surveiller a l'avenir encore un souci: pi@raspberrypi:/ $ sudo /home/pi/.nvm/versions/node/v18.18.0/bin/linky --version /home/pi/.nvm/versions/node/v18.18.0/lib/node_modules/linky/dist/bin/cli.js:1 import meow from 'meow'; ^^^^ SyntaxError: Unexpected identifier at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) je suis largué!!!

bokub commented 1 year ago

Si tu fais node --version et sudo node --version t'as quoi comme résultats ? Je me demande si tu n'as pas exactement le même problème avec node

dltrainou commented 1 year ago

encore un souci de ce coté aussi !! pi@raspberrypi:~ $ node -v v18.18.0 pi@raspberrypi:~ $ sudo node -v v10.24.0 pi@raspberrypi:~ $

bokub commented 1 year ago

Et ouais ! Tu peux appliquer la même technique que tout à l'heure, tu trouves le bon node avec which puis tu utilises le chemin complet comme ça:

/chemin/vers/node /home/pi/.nvm/versions/node/v18.18.0/bin/linky/dist/bin/index.cjs
dltrainou commented 1 year ago

je vais essayer de réinstaller le node. je ne vais plus utilissr le sudo , mais ce n'est pas le sudo le pb , c'est que le crontab lance ses applications en root. et le linky est lancé en cron! Il n'y a pas moyen de faire une mise a jour de node? par npm, en sudo ca ne marche pas !! sudo: npm : commande introuvable

bokub commented 1 year ago

Alors y'a des crontab root mais aussi des crontab par utilisateur..

Fais crontab -e pour éditer les crontab de l'utilisateur connecté

dltrainou commented 1 year ago

c'est celui la que j'utilise et la ligne dedans est : sh /home/partage/sauv_linky.sh. le script lance les 3 linky (heure, jour...)

dltrainou commented 1 year ago

peux tu me donner une procédure pour désinstaller node ancienne version et re installer la dernière en root? sudo npm me donne une erreur, il ne doit pas etre installé en root? en apt-get peut etre? je verrai demain. je suis aidant , faut que je fasse a manger et le coucher. bonne soirée

dltrainou commented 1 year ago

Bonjour, en fait c'est surtout pour comprendre, car la recup par excel vba fonctionne bien, donc plus besoin de linky. mais je voudrais tout remettre d'aplomb pour comprendre. merci de ton aide

bokub commented 1 year ago

Salut, Désolé mais là ça devient beaucoup trop spécifique pour que je puisse d'aider, ça dépend de ton système et de comment tu as installé node 10 pour la première fois (ça doit dater), apt-get ça peut peut-être marcher mais dans le pire des cas tu peux juste supprimer le dossier qui contient le node "root" ça devrait suffire

Pour réinstaller proprement, tu peux suivre ces commandes (si tu as un Debian, Ubuntu, ou Mint):

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=18
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y

Source: https://github.com/nodesource/distributions#installation-instructions

dltrainou commented 1 year ago

voila, je pense que ca doit etre bon , en fait j'ai tout effacé en sudo et tout reinstallé en sudo avec "n 18.18.0" puis le linky merci encore et bonne journée $ sudo node --version v18.18.0 $ node --version v18.18.0 $ sudo linky --version 2.0.2 $ linky --version 2.0.2

bokub commented 1 year ago

Et si tu fais sudo npm --version ça fonctionne ?

dltrainou commented 1 year ago

j'ai pi@raspberrypi:~ $ sudo npm --version 9.8.1 pi@raspberrypi:~ $ npm --version 10.1.0

bokub commented 1 year ago

Si tu as node 18 c'est npm 9.8.1 qui est censé être le bon, tu peux peut-être essayer de voir d'où vient le 10 et le supprimer aussi (quitte à réinstaller node à nouveau si tu casses quelque chose). Mais c'est pas très grave si tu veux mon avis.

dltrainou commented 1 year ago

comme tout refonctionne comme ça, je vais laisser la version de npm. Merci pour ton aide, je m'en serai pas sorti tout seul. si qqun a besoin de la fonction vba pas de pb. bonne journée.