11-04-2014, 05:54 PM
Retour d'info avec le NEST.
j'ai, comme indiqué avant, mis une class php sur un RPI.
la class php est a récupérer sur https://github.com/gboudreau/nest-api
j'ai fait la requette php suivante:
j'ai créer un connecteur universel http avec l'adresse du RPI et un equipement avec une commande js command="/nest/requettephp.php" (chemin du php dans le rpi) avec 2 variable t_actu et t_cible
j'ai mis le JS suivant dans le connecteur
j'ai ensuite créer un automate qui lance la commande de l'équipement, qui récupère les 2 variables et qui met la valeur dans 2 equipement thermostat KNX.
J'ai maintenant la valeur actuelle et la valeur cible du nest comme des thermostat knx.
j'ai, comme indiqué avant, mis une class php sur un RPI.
la class php est a récupérer sur https://github.com/gboudreau/nest-api
j'ai fait la requette php suivante:
Citation :<?php
require_once('nest.class.php');
// Your Nest username and password.
$username = '*********';
$password = '*****';
$nest = new Nest($username, $password);
$infos = $nest->getDeviceInfo($devices_serials[0]);
echo "Temp actuelle:\n";
printf("%.02f degrees %s\n", $infos->current_state->temperature, $infos->scale);
echo "-\n\n";
echo "Temp cible:\n";
printf("%.02f degrees %s\n", $infos->target->temperature, $infos->scale);
echo "-\n\n";
/* Helper functions */
[TABLE="class: highlight tab-size-8 js-file-line-container"]
[TR]
[TD="class: blob-code js-file-line"]function json_format($json) { [/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"] ... (code a récuper sur le github dans l'exemple)
[/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[TR]
[TD="class: blob-code js-file-line"][/TD]
[/TR]
[/TABLE]
j'ai créer un connecteur universel http avec l'adresse du RPI et un equipement avec une commande js command="/nest/requettephp.php" (chemin du php dans le rpi) avec 2 variable t_actu et t_cible
j'ai mis le JS suivant dans le connecteur
Citation :var retour = trame;
var test_t_actu = retour.indexOf("Temp actuelle:", 0);if (test_t_actu > -1) {
var t_actu = retour.substring(14,19);
var t_actu_old = t_actu;
} else {
var t_actu = t_actu_old;
}
var test_t_cible = retour.indexOf("Temp cible:", 0);if (test_t_cible > -1) {
var t_cible = retour.substring(41,46);
var t_actu_old = t_cible;
} else {
var t_cible = t_cible_old;
}
j'ai ensuite créer un automate qui lance la commande de l'équipement, qui récupère les 2 variables et qui met la valeur dans 2 equipement thermostat KNX.
J'ai maintenant la valeur actuelle et la valeur cible du nest comme des thermostat knx.