Automatiser la récupération des tokens Google Home (pour récupérer les alarmes par exemple) sur le plugin GoogleCast

Ah ! chouette, une autre personne qui a le même problème !
Je vais suivre ce fil… @superbricolo si tu trouve une solution dis moi. J’ai essayé la double authentification avec création de mot de passe d’application, activé le paramètre d’authentification d’application moins sécurisée…

J’ai essayé comme username : 'prenom.nom@gmail.com ou ‹ prenom.nom › seulement combiné en password à ‹ mon password habituel › ou ‹ le mot de passe d’application généré ›… Ne fonctionne toujours pas.

Ces commandes je les lance depuis une fenêtre de bash ouverte depuis le docker de mon jeedom (c’est à dire depuis l’application Docker du DSM de mon NAS.

Je dis ça car j’avais aussi essayé d’installé l’application « Google Device » de @lunarok car la récupération de token semblait automatisée dans son appli mais malheureusement son appli ne fonctionne pas sur Debian 9 stretch (ce qui est mon cas.

Après je ne maitrise pas grand chose ce qui est en debian 9 si c’est l’image docker jeedom ou bien le distribution du DSM de mon NAS… Bref je nage complètement mais je me dis que ça pourrait venir de là.

En définitive, devrais-je essayé de lancer les commande depuis un autre environnement (même depuis windows si c’est possible ???) pour vérifier que c’est bien un problème de username et password.

Encore un grand merci @mguyard pour le temps que tu passes à nous aider en tout cas.

je viens de voir que sur ta commande, get_token(s).py tu avais oublié le « s »
du coup, je vais essayé avec le « s »

après avoir reussi , j’en suis au meme point que toi
pas de token
image

j’ai reussi
pour info, j’ai généré un mdp des application sur https://myaccount.google.com/

maintenant, me reste a crée le scénario. Aquoi sert le template du scenario?? (desolé si ma question sembl estupide; j edebute ; je tripatouille :wink: ))

Bien vu je viens de corriger

Oui je l’avais indiqué mais dans un autre topic. Moi c’est ce que j’ai fait et pour éviter de stocker le mot de passe dans le code, je l’ai lancé une premiere fois, puis copié le master code recu, et je l’ai ajouté dans le master code (cf. image ci-dessous) – attention, le mot de passe doit être remis a vide

Le template de scenario c’est pour l’importer plug facilement. Tu prend le template, tu renommes l’extension en .json puis tu vas dans les scenarios. Tu créé un nouveau scenario en lui donnant un nom, et tu as un bouton a gauche d’executer (en haut à droite) qui s’appelle template.

merci pour les explication.
Par contre, j’ai du mal a comprendre la derniere commande.

  • Copiez-collé l’access_token
  • Lancer la commande suivante :
# /var/www/Gcast/grpcurl -H 'authorization: Bearer INSERTHEREYOURACCESSTOKEN' -import-path /var/www/Gcast -proto /var/www/Gcast/google/internal/home/foyer/v1.proto googlehomefoyer-pa.googleapis.com:443 google.internal.home.foyer.v1.StructuresService/GetHomeGraph | jq '[.home.devices[] | {deviceName, localAuthToken}]' 

Attention a bien adapter le chemin du dossier dans la commande

Dans la commande, tu as plusieurs fois /var/www/Gcast qui est utilisé. Il faut ajuster la commande avec le repertoire que tu utilises

J’ai mis à jour le tuto pour le rendre plus compréhensible et ajouter les éléments manquant que vous remontez

Et je dois juste coller le master token dedans

Relis le tutoriel ca devrait être plus clair maintenant.
Comme le nom indique dans la commande (INSERTHEREYOURACCESSTOKEN), c’est le accesstoken qu’on utilise.

Le mastertoken sert juste a remplacer (si tu le souhaite) ton mot de passe

j’ai bien suivi

j’ai ca en reponse de la derniere commande

-bash: /var/www/html/Gcast/grpcurl: cannot execute binary file: Exec format error

Tu es sur RPI non ? Le grpcurl fournit est pour linux…Donc pas pour ARM si tu es sur RPI
Le package n’existe pas sur ARM.
Par conséquent il faut le compiler soit meme : is there a version for arm? · Issue #143 · fullstorydev/grpcurl · GitHub

Sans vouloir dénigrer, l’ideal pour toi serait que quelqu’un le fasse et fournisse le fichier car c’est pas à la portée d’un novice Unix

Oui je suis sur Rpi
fais chier, je me casse le cul pour rien

A moins que quelqu’un d’autre ai un RPI et le compile… Dans ce cas, il marchera sur tout les RPI normalement.

Apres si tu es motivé tu peux toujours essayé en suivant l’installation par le source expliqué ici : GitHub - fullstorydev/grpcurl: Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
Mais je pourrais pas t’aider j’ai pas de RPI

Si quelqu’un arrive a le compiler (toi ou un autre), n’hésitez pas à me le fournir je l’ajouterais dans le tutoriel

Je viens de jeter un oeil, ca parait un peu hard pour moi.
J’ai déjà du mal avec les choses basiques

donc ca expliquerai peut etre pourquoi le plugin « google device » ne fonctionne pas?
image

Ah oui clairement si grpcurl ne marche pas sur ta machine, le scenario ne peut pas marcher puisque c’est grpcurl qui récupère les jetons GH que j’injecte dans le plugin.
Mais il le sort d’où ton root/go/bin/grpcurl dans le log ? Et c’est pas le log du scenario mais le log de ghlocal

Essaye ma commande mais avec le grpcurl qui est dans /root/go/bin/grpcurl…
Lunarok le compile peut être pour toi sur ARM dans son plugin

Et si ca te dérange pas, envoi moi le log complet en privé que je regarde ca m’intéresse

oui c’est bien du ghlocal
je vais essayer et t’nevoyer les logs

si j’essaye avec la commande ghlocal
image

Tu peux faire un

ls -l /root/go/bin

?
Histoire de verifier si il existe

image
apprement, il n’existe pas