Besoin d'aide sur un script tout simple !

Capteurs et actionneurs HTTP

Besoin d'aide sur un script tout simple !

Messagepar frederic » 18 Nov 2016 15:27

Bonjour à tous

Pouvez vous m’aider à synchroniser mon thermostat qui se trouve dans le salon avec le thermostat de la zone de température. J’ai cherché et je suis tombé sur ce tuto (http://www.planete-domotique.com/blog/2 ... chauffage/) mais ca ne fonctionne pas, je dois faire une erreur !

Code API Thermostat : 506146
Code API consigne zone de chauffage : 506163

J’ai créé ce script appelé: script_thermostat.php
<?
$consigne = getValue(getArg('506146'));
$json_result = setValue(getArg(' 506163'), $consigne['value'], true);
?>

Ensuite j’ai créé un actionneur http :
Valeur Brute : 1
URL : http://192.168.1.102/script => c’est bien l’adresse de ma box
Type : GET
Paramètre : ?exec=script_thermostat.php&code_thermostat=506146&code_zonechauffage=506163

Mais quand je veux tester le script, j’ai cette erreur :
<b>Erreur :</b> Veuillez préciser la valeur de l'argument <b>506146</b> afin d'appeler ce script.<br><br>Exemple : <i>http://192.168.1.102/script/?exec=script_thermostat.php&code_thermostat=506146&code_zonechauffage=506163&<b>506146=xxx</b></i>

Pouvez vous m’aider je bloque mais je ne vois pas ou…
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar rover820i » 18 Nov 2016 16:24

Salut,

Petite erreur dans ton script, car getArg récupère en fait la valeur de la variable GET envoyée. Ce qui évite d'avoir à mettre en dur le code API de ton périphérique ;)

<?php
$consigne = getValue(getArg('code_thermostat'));
$json_result = setValue(getArg('code_zonechauffage'), $consigne, true);
?>

Je pense que ça devrait fonctionner de cette manière ;)
rover820i
 
Messages : 1884
Inscription : 23 Juil 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 18 Nov 2016 17:38

Merci pour ton aide.

J'ai mis ça:
<?php
$consigne = getValue(getArg('506146'));
$json_result = setValue(getArg('506163'), $consigne, true);
?>

Et j'ai ça en message:
<b>Erreur :</b> Veuillez préciser la valeur de l'argument <b>506146</b> afin d'appeler ce script.<br><br>Exemple : <i>http://192.168.1.102/script/?exec=script_thermostat.php&code_thermostat=506146&code_zonechauffage=506163&<b>506146=xxx</b></i>
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar rover820i » 19 Nov 2016 09:37

Relis mon message, tu ne l'as visiblement même pas lu :cry:

Tu as juste à copier/coller le code source que j'ai modifié !
rover820i
 
Messages : 1884
Inscription : 23 Juil 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 19 Nov 2016 11:01

Bonjour

Ba si je l'ai lu :D mais je ne comprenais pas comment en mettant code_thermostat ça pouvait fonctionner. Mes cours de programmation sont très loin lol.

Donc j'ai mis exactement ton code dans le fichier script_thermostat.php:
<?php
$consigne = getValue(getArg('code_thermostat'));
$json_result = setValue(getArg('code_zonechauffage'), $consigne, true);
?>
Dans l'actionneur j'ai laissé le meme code:
?exec=script_thermostat.php&code_thermostat=506146&code_zonechauffage=506163

Si je lance un test sur l'actionneur HTTP, j'ai une fenêtre résultat vide qui s'ouvre.
Si j’exécute le script j'ai ce message:
Erreur : Veuillez préciser la valeur de l'argument code_thermostat afin d'appeler ce script.
Exemple : http://192.168.1.102/script/?exec=scrip ... mostat=xxx

J'ai beau tout vérifier il doit y avoir quelque chose mais quoi. Le principe me semble super compliqué avec une macro excel ça serait super simple à faire mais la je ne comprend pas trop le principe.
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 19 Nov 2016 11:13

Re

Je viens de tester avec ca:
<?
$consigne = getValue(getArg('code_thermostat'));
$json_result = setValue(getArg('code_zonechauffage'), $consigne['value'], true);
?>

et la ça semble fonctionner mais je comprend pas pourquoi, je ppreferais ton code qui me semble plus logique :!:
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar rover820i » 20 Nov 2016 12:17

Ah punaise oui j'avais fait une erreur sur la variable $consigne puisque getValue renvoie un tableau (valeur + dernière modification).

Donc ta dernière modif est logique.

La fonction getArg() est en fait un équivalent de $_GET[''] sur les versions classiques de PHP.
rover820i
 
Messages : 1884
Inscription : 23 Juil 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 24 Nov 2016 21:16

Désolé pour le retard.

Merci pour ton aide :D
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar rover820i » 24 Nov 2016 22:15

De rien :)
rover820i
 
Messages : 1884
Inscription : 23 Juil 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 23 Déc 2017 22:05

Bonsoir

Suite à mis à changement de ma box et différent bug j'ai du re configurer mon script mais je bug. Pouvez vous m'aider?

Adresse IP Eedomus: 192.168.0.27
Code API thermostat: 506146
Code API Zone de chauffage: 845896

Mon script:
<?
$consigne = getValue(getArg('code_thermostat'));
$json_result = setValue(getArg('code_zonechauffage'), $consigne['value'], true);
?>

Et le script de synchronisation
Pièces jointes
aaa.jpg
aaa.jpg (33.47 Kio) Consulté 1096 fois
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016

Re: Besoin d'aide sur un script tout simple !

Messagepar frederic » 25 Déc 2017 10:08

Joyeux noël

Cest bon ça fonctionne j'ai juste modifié le script de synchronisation en inversant consigne chauffage et zone de chauffage.[list=][/list]
Eedomus +
Module Fibaro FGRM-222, Qubino ZMNHBA2, Détecteur de fumée FGSD-002, Thermostat et tête thermostatiques Danfoss
frederic
 
Messages : 84
Inscription : 11 Fév 2016


Retour vers Requêtes HTTP

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)