Toujours possible de se connecteur sur le Thermostat NEST

J atten ta vidéo cette foi

attends pour le moment rien ne marche chez moi :slight_smile:

Bloqué chez moi suis pas a une journée près

:rofl:

moi non plus… je fait des essais mais toujours error 500…

Meme joueur joue encore

alors pour aider et respecter le « suivre à la lettre », il faut bien utiliser Google chrome pour la récupération via développer du token et cookies.

en effet j’étais sous firefox comme un noob et les intitulées diffère donc cela n’aide pas.

suivre les étapes ci dessous dans google chrome appuyez sur f12 avant de vouc connecter a votre compte nest… pour avoir la page développement et suivez ceci:

  • Open a Chrome browser tab in Incognito Mode (or clear your cache).
  • Open Developer Tools (View/Developer/Developer Tools).
  • Click on Network tab. Make sure Preserve Log is checked.
  • In the Filter box, enter issueToken
  • Go to https://home.nest.com, and click Sign in with Google . Log into your account.
  • One network call (beginning with iframerpc ) will appear in the Dev Tools window. Click on it.
  • In the Headers tab, under General , copy the entire Request URL (beginning with https://accounts.google.com , ending with nest.com ). This is your $issue_token .
  • In the Filter box, enter oauth2/iframe
  • Several network calls will appear in the Dev Tools window. Click on the last iframe call.
  • In the Headers tab, under Request Headers , copy the entire cookie value (include the whole string which is several lines long and has many field/value pairs - do not include the Cookie: prefix). This is your $cookies ; make sure all of it is on a single line.

maintenant je pense avoir tout fait comme il faudrait, récupéré les bonnes infos et coller celle ci dans le fichier : « nest/core/class/nest.class.php » j’ai toujours error 500…
je colle une capture si des fois cela pourrait sauter au yeux des experts.

(j’ai noirci pour confidentialité :slight_smile: =

et le fichier « Nest_api.php » contien en gros…

le fichier d’origine dans « /nest/3rdparty/nest_api » etait bien à supprimer et remplacer par celui du poste ? et à le renommer en « Nest_api.php » ?

le fichier dans « nest/core/class » qui lui s’appelle « nest.class.php » est t’il lui aussi à renommer ?

je m’y perd un peu dsl.

merci
David

Pour vous éviter de bidouiller le contenu des fichiers, j’ai fait un fork du plugin nest jeedom sous github :

Vous téléchargez projet en .zip et vous décompressez tout le contenu dans le répertoire du plugin nest, à savoir /var/www/html/plugin/nest/
(sinon remplacer uniquement les fichiers core/class/nest.class.php, 3rdparty/nest_api/nest_api.php et plugin_info/configuration.php)
Une fois fait, vous allez dans Jeedom sur la page de config du plugin, et vous pouvez rentrer directement les infos issueToken et Cookies en suivant la procédure de récupération !

3 « J'aime »

dsl mais pas compris la manip, définition d’un « fork » ?

le projet dont vous parlez est ou ?

j’ai compris aucune étapes :slight_smile: vraiment dsl !

Je suis pas tout seul alors

pourtant je fais des essais et tentative depuis hier, je ne suis pas à attendre sans comprendre mais la . :confused:

ce que j’ai fais:

  1. remplacer le fichier qui se situe dans pluginns/nest/3rdparty/nest_api par celui en lien plus haut donc celui ci ( nest_api.php.txt (551,2 Ko) ) et si j’ai bien compris il faut supprimer le contenue de ce dossier et le replacer par le code de cette page : https://github.com/gboudreau/nest-api/blob/master/nest.class.php et supprimer le « .txt » à la fin et mettre le « n » de nest en « Nest » donc « n » majuscule.
    ce qui donne un dossier : « Nest_api.php »

  2. dans le dossier Nest_api.php il faut modifier class nest api comme la photo ci dessous:

3.dans le fichier : nest/core/class/nest.class.php il faut y renseigner le token et cookies qu’il faut récupérer via une page google en se connectant au nest avec la page de dev ouvert.
cette partie me semble ok ! j’ai bien un token et cookies…
apres je ne sais pas si dans le dossier cité ci dessus je l’ai ai bien renseigné, jentends à la bonne ligne avec les bon espace et ‹ quote › .

une capture sans les renseignements que je met entre :

   public static function getNestApi() {
	if (config::byKey('username', 'nest') == '' || config::byKey('password', 'nest') == '') {
		throw new Exception(__('Aucun nom d\'utilisateur ou mot de passe défini', __FILE__));
	}
	$issue_token = 'https://accounts.google.com*************nest.com' ;
            $cookies = 'CONSENT=*******s0w' ;
}

public static function syncWithNest() {

la capture :

après tout ça fait la connexion devrait être possible mais rien, error 500, ou alors il faut redémarrer le jeedom ?

merci d’avance.

David

Mais où est donc passée la ligne return new nest_api(NULL, NULL, $issue_token, $cookies); ??
Faites attention à ne faire QUE les modifications décrites !

1 « J'aime »

hum je ne vois pas la ligne en question, tu parle du fichier nest.class ?

C est bien ce fichier la a supprimé?

comme cela :

je suis à bout là :woozy_face:

merci
David

oui celui d’origine, à remplacer par celui du post, et après il faut supprimer le contenue de ce meme dossier que tu viens de remplacer et copier/coler celui du github ici ( https://github.com/gboudreau/nest-api/blob/master/nest.class.php) si j’ai bien compris faudrait une validation des experts avant…

le soucis avec le post de 242 messages est que quelque une ont eu des soucis et demande aussi des corrections comme moi, du coup en lisant le fil de la conversation nous ne savons plus trop dans quel ordre faire les choses, même si tout est expliqué ce que je ne nie pas il facile de se perdre pour un néophyte comme moi avec les correction de fichier, les .txt à supprimer, les fichier github à copier coller les token les cookies…

je continue de bucher dessus mais il me faut du sucre car je suis en hypoglycémie ^^

il faut suprimer tout le contenue du dosier?

de ce que j’ai compris oui, coller celui du gitgub et modifier le " nest_api" en « class nest_api »

la j ai pas compri cette etape "class nest_api