Aller au contenu
macpowered

Thermostat Nest, une solution ?

Recommended Posts

surprenant, car moi ça fonctionne toujours pico-belle

Partager ce message


Lien à poster
Partager sur d’autres sites

je viens d'installer PHP 7.3 (et je l'ai défini comme profile par défaut dans le web server) et je ne vois aucune erreur. Pourrais-tu m'envoyer un screenshot de ton écran avec l'erreur ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Non ça marche, j’avais modifié mon post justement en indiquant que mon profil avait sauté.
Ça fonctionne maintenant
J’aurais dû refaire un post pour le dire. Désolé.


Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

et également en PHP 7.3 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis tombé sur ce post de @rockMike

 

N'y aurait-il pas moyen d'adapter son VD ? Ou peut-etre lui-même le faire si l'envie lui passe. Mais j'ai cru comprendre qu'il n'avait pas de thermostat.

Partager ce message


Lien à poster
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)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je tente en passant sous Nginx et je te dis. (Nginx ou Apache sont des serveurs Web tous les deux, Nginx semblant mieux supporter des charges lourdes)

Partager ce message


Lien à poster
Partager sur d’autres sites

bizarre vous avez dit bizarre ?

image.png.fff87739766849f8bd62d3aa6b2aeb54.png

image.png.efb515b222b9086da00c5239a8bd7b02.png

 

P.S., tu n'utilises pas la dernière version de l'app

Partager ce message


Lien à poster
Partager sur d’autres sites

Je sais d'où ça vient !

 

A mon avis, si dans les paramètres PHP tu coches la case "Activer display_errors pour afficher le message d'erreur PHP", tu auras le même message que moi.

Partager ce message


Lien à poster
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 !!

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

super ! Ta version serait donc plus générale ?

Je vai adapter alors.

 

Mais cela n'explique pas pourquoi je n'ai pas le message (jr suis en DSM DSM 6.2-23739 Update 2  sur Xpeno)

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as essayé en cochant

Activer display_errors pour afficher le message d'erreur PHP dans ton syno dans la rubrique paramètres PHP ?

 

 

 

 

 

Modifié par macpowered

Partager ce message


Lien à poster
Partager sur d’autres sites

Au risque de sortir une énormité, ce serait pas une question de typage ? le fait de ne pas mettre les guillemets dans les crochets du array, PHP passe outre et fait le typage à la volée mais l'indique quand même...

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai adapté le PHP et mis à jour dans Github

Partager ce message


Lien à poster
Partager sur d’autres sites

en effet, c'était ce paramètre qui n'était pas activé.

Maintenant, j'ai la même erreur que toi, mais corrigée => merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as pu jeter un oeil au post que je t'ai mis plus haut ? Tu penses que tu pourrais l'adapter pour cette API ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je peux toujours essayer, mais sans garantie. Pour cela met les codes dans des fichiers. Txt

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais j'aimerais bien trouver le temps pour le faire sur ma box... 

Partager ce message


Lien à poster
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.

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×