Aller au contenu

Thermostat Nest, une solution ?


macpowered

Messages recommandés

En fait l' erreur 502 venait du fait que mon profil php avait sauté dans les paramètres généraux lors du changement de version de PHP.

 

J'ai testé avec la version 2.2 d'Apache.

Par contre, en fonction des versions, j'ai les messages suivants :

 

PHP 5.3

Nickel, rien à signaler

 

PHP 7.0

Nickel, rien à signaler

 

PHP 7.2

La page s'affiche mais en haut de page j'ai :

Warning: Use of undefined constant issue_token - assumed 'issue_token' (this will throw an Error in a future version of PHP) in /volume2/web/nest/Nest.php on line 52 Warning: Use of undefined constant cookies - assumed 'cookies' (this will throw an Error in a future version of PHP) in /volume2/web/nest/Nest.php on line 53

 

PHP 7.3

La page s'affiche mais en haut de page j'ai :

Warning: Use of undefined constant issue_token - assumed 'issue_token' (this will throw an Error in a future version of PHP) in /volume2/web/nest/Nest.php on line 52 Warning: Use of undefined constant cookies - assumed 'cookies' (this will throw an Error in a future version of PHP) in /volume2/web/nest/Nest.php on line 53

Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, macpowered a dit :

J'ai testé avec la version 2.2 d'Apache.

je n'utilise pas Apache, mais Nginx (le truc installé par défaut. Je dis truc, car je n'ai aucune idée d'à quoi ça sert, ni encore moins quelle est la différence avec Apache).

Serait-ce ça la cause de ton message d'erreur, que je n'ai pas (même pas avec PHP 5.3)

Lien vers le commentaire
Partager sur d’autres sites

Je crois que j'ai trouvé !!!

 

Dans code, tu mets :

$issue_token = $ini_array[issue_token];
$cookies = $ini_array[cookies];

Si je le remplace par :

$issue_token = $ini_array['issue_token'];
$cookies = $ini_array['cookies'];

j'ai plus d'erreur !!

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

J'ai relevé une autre erreur avec :

// Get the device information:
$infos = $nest->getDeviceInfo();

Tu instancies ta variable après t'en être servi dans :

if ($debug) {
	echo "setTmp to ".$setTmp."°".$infos->scale." - success : ".$success."<br>";
}

Du coup l'affichage de Time to get target : sur la page reste tout le temps à 0.

En remontant $infos = $nest->getDeviceInfo(); au dessus de ta condition, ça refonctionne. Faut juste remettre le timestamp au format h:m:s pour l'affichage.

 

Lien vers le commentaire
Partager sur d’autres sites

merci pour tes retours.

(je ne suis pas un développeur => je fais des fautes de programmation)

ok pour l'instanciation de $infos avec le if ($debug)

 

par cont pour le Time to get target :, je ne comprends pas, car le $infos = $nest->getDeviceInfo(); est déjà avant les conditions.

En tout cas, j'avais des valeurs <> 0, dans le N'est les envoyaient ... mais évidemment pas dans le bon format.

Saurais-tu comment je dois coder cette ligne pour que ce soit dans le bon format :

	echo "<i>Time to target temperature : </i>".$infos->target->time_to_target."<br>";
-

MERCI

Lien vers le commentaire
Partager sur d’autres sites

Le problème c'est que le time_to_target chez moi est toujours à 0. Je ne vois pas d'où ça vient.

 

J'ai relevé un autre souci. Lorsqu'on augmente (ou qu'on diminue) la température, la page se rafraichie et j'entends seulement ma chaudière se déclencher. Du coup, Is heating est toujours à No alors que ça devrait être à Yes. J'ai essayé de mettre un Sleep(5); pour arrêter l'exécution du code pendant 5 secondes afin de voir si ça suffisait mais ce n'est pas le cas. Je pense qu'il faudrait rajouter un petit coup d'Ajax derrière pour rafraichir les données régulièrement. Si tu rafraîchies ta page à nouveau tu verras que les informations deviennent correctes.

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...