Jeton Google

Tags: #<Tag:0x00007fa7bae48ab8>

Bonjour,
Je voudrais récupérer l’heure de réveil de mon lenovo smart lock donc j’ai fait la manip pour avoir le jeton et l’ai mis sur la config de Gcast. Je crée une nouvelle commande info autre et dans liste de commande je mets " *gh *get_alarm_date_0" et aucun retour j’ai raté quoi ??

1 J'aime

@team18fr : que disent les logs?

@guirem pour le log de googlecast

[2020-06-15 12:15:04][DEBUG] : getInfoHttp : cmd=getconfig|data=cast_build_revision
[2020-06-15 12:15:04][DEBUG] : Request response content : Array (     [bssid] => a0:38:a0:89:a5:34     [build_version] => 172094     [cast_build_revision] => 1.42.172094     [closed_caption] => Array         (         )      [connected] => 1     [ethernet_connected] =>      [has_update] =>      [hotspot_bssid] => FA:88:CA:98:D8:CC     [ip_address] => 192.168.0.0     [locale] => fr     [location] => Array         (             [country_code] => FR             [latitude] => 285             [longitude] => 245         )      [mac_address] => 54:60:09:49:B2:88     [name] => Chromecast     [noise_level] => -85     [opt_in] => Array         (             [crash] =>              [opencast] =>              [stats] =>          )      [public_key] => MIIBCgKCAQEAnvsYryrVYqDQFPQAYSb4uH5WP0qSwhrwpyPX+d37rBJ5aPFCpZiDBn5/8+bLjeSVbfA5+dHRb1t8uAUNvst0Rn5vVXJ9ClJdudpXH3sDNi03dHFlaTmkd3Ucya9qxrru0/ws/ioCJHrg0ZD42YwPuJsfAmcTBjQSyCGNaQRKMu8Weiy6n8o+QnaThKixnJQejj4hJOWnbRHQrBTO+JlqFj0ANMcW/9LulxruScnlGcCyVh0cSwRqcGtNO/UcK5LDHvJMOm+tA0ESjS+rUdgnXGoDZNr4GOmW050tB1tQdceutNu8OPKJ059qb+N2I992QEqW0ME1wIHNkp3Fiz2sHQIDAQAB     [release_track] => stable-channel     [setup_state] => 60     [setup_stats] => Array         (             [historically_succeeded] => 1             [num_check_connectivity] => 0             [num_connect_wifi] => 0             [num_connected_wifi_not_saved] => 0             [num_initial_eureka_info] => 0             [num_obtain_ip] => 0         )      [signal_level] => -64     [ssdp_udn] => b7bd5d4d7e4-b94a-b245816b82f0     [ssid] => NETGEAR     [time_format] => 2     [timezone] => Europe/Paris     [tos_accepted] => 1     [uptime] => 12796.559424     [version] => 10     [wpa_configured] => 1     [wpa_id] => 1     [wpa_state] => 10 )
[2020-06-15 12:15:04][DEBUG] : getInfoHttp : Result success : 1.42.172094 => 1.42.172094
[2020-06-15 12:18:48][DEBUG] : This is a message from googlecast program local

La commande n’est pas appelée.
C’est bien gh_get_alarm_date_0 ?

J’ai trouvé la commande dans la notice.
gh get_alarm_date # (#=numéro, commence par 0) : retourne la date de la prochaine alarme au format dd-mm-yyyy HH:mm.

Exemples:
- Commande de type info
gh_get_alarm_date_0
- Commande de type action
gh_set_alarms_volume_80

Personne ne peut m’aider ?

Il n’y a rien dans les logs qui semble appeler la commande. C’est comme si ta commande n’existait pas. La compatibilité Google assistant est elle activée sur l’équipement?

Oui j’ai bien coché la case.

J’ai réussi à récupérer le réveil mais les jetons changes tous les Jours ??

Hello.

@guirem ce serait top si tu pouvais intégrer directement dans le plugin la récupération du jeton Google.
La nouvelle procédure de rithvikvibhu permet de scripter facilement cela : https://rithvikvibhu.github.io/GHLocalApi/#section/Google-Home-Local-API/Authentication

Tout est en python mais possible de faire assez simplement en php si besoin.
Quelques dépendances mais rien de bien important.
Je l’ai fait sur mon mac et ca marche nikel.

Il suffit de chercher le deviceName dans le « Nom Diffusé » et saisir automatiquement le localAuthToken dans le champs « Jeton Google Assistant/Home ».

Ca nécessitera d’ajouter dans la configuration du plugin, le login/pass Google. Perso je préfère utiliser le masterToken. Du coup en l’affichant dans le log quand il est pas saisi dans le champs passwd (il commence par aas_et/*** donc facile a reconnaitre) ca permettrait au gens de choisir.

Enfin bref, avec cette methode, on revient a un mode comme avant le changement d’API et surtout c’est beaucoup plus simple et fonctionne même pour ceux qui n’ont pas d’Android.
Donc si tu pouvais intégrer cette methode pour récupérer automatiquement le jeton ce serait super.
Au besoin je peux t’aider :wink:

1 J'aime

@mguyard Je n’ai pas tout compris comment faire pour récupérer le localAuthToken ?

Tout est décrit dans l’url que j’ai mise.
Il suffit de lancer sur une machine (Jeedom par exemple) le script get_tokens.py en ayant rentrer dedans avant les informations de ton compte Google qui gère les GH.
Puis lancer la commande grpcurl tels qu’indiqué dans la doc qui t’afficheras le localAuthToken de chacun de tes GH

@mguyard Bon j’avance j’arrive bien à récupérer le masterToken mais tu parle de lancer la commande grpcurl tels qu’indiqué dans la doc mais je ne trouve pas de quel doc tu parles ?

C’est dans l’URL que j’ai mise.
Tu as un example complet et ca indique la commande. Il suffit de suivre tout après avoir installé les dépendances indiqués

Ok j’ai vu mais si je comprends bien on peux pas tester sous windows ?

Je ne sais pas je suis sous MaC. Il suffit de voir si les dépendances existe sous Windows. Ou dans le pire des cas tu l’installe sur ton Jeedom vu que tout se fait en ligne de commande.

Bonjour à tous,
Je suis très content de tomber sur ce fil de discussion car vous paraissez avoir réussi à faire ce que je galère à faire depuis quelques semaine.

Je suis tombé sur le github et le gist en parcourant la documentation du plugin GoogleCast.

Mon besoin : récupérer tous les matin (genre vers 4h du mat’) l’heure de réveil des google homes de la maison pour ensuite déclencher des scénarios à cette heure-ci (ex : ouvrir les volets, allumer des lumières etc…

J’ai donc récupéré le script python get_tokens.py et y ai mis en username mon adresse email google et en password mon mot de passe de mon compte google.
Ensuite j’ai appelé ce script depuis une commande de type script/action… Je clique sur tester… mais je me rends bien compte que les tokens ne vont pas se récupérer tout seul…

Donc pour y voir plus clair, j’ouvre un terminal de mon jeedom (depuis Docker, car mon jeedom tourne sur un docker sur mon NAS). Je lance le script avec python3 get_tokens.py, je me fais insulter car je n’ai pas installé gpsoauth… je l’installe avec pip install gpsoauth, puis je retente sans succès, puis j’installe gpsoauth dans python3 avec pip3 install gpsoauth et je retente.

Et là il me dit :

[*] Getting master token...                                                                            
{'Error': 'BadAuthentication'}                                                                         
[!] Could not get master token.                                                                        
[*] Master token: None                                                                                 
                                                                                                       
[*] Getting access token...                                                                            
{'Error': 'BadAuthentication'}                                                                         
[!] Could not get access token.                                                                        
[*] Access token: None 

J’avoue que je suis coincé.
Pourriez-vous partager ici comment vous avez fait pour avancer et récupérer mastertoken et access token ?

Ensuite j’ai compris qu’on faisait une autre commande pour récupérer les jetons de nos google home, qu’il faut ensuite rentrer automatiquement (j’espère) dans les config des équipement du plugin googecast… bref je suis pas arrivé !!
Merci à vous pour votre aide.

J’ai fait une petite procédure sur l’automatisation de la recuperation des tokens : Automatiser la récupération des tokens Google Home (pour récupérer les alarmes par exemple)

Bonjour,

Ca ressemble beaucoup une erreur de mot de passe dans le get_token.py

Je suis d’accord mais pourtant mon mot de passe google quand même… Ca au moins je maitrise…
Comprends pas…