Forum eedomus
https://forum.eedomus.com/

Besoin d'aide sur un script tout simple !
https://forum.eedomus.com/viewtopic.php?f=15&t=4813
Page 1 sur 1
Auteur:  frederic [ 18 Nov 2016 15:27 ]
Sujet du message:  Besoin d'aide sur un script tout simple !

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…
Auteur:  rover820i [ 18 Nov 2016 16:24 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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 ;)
Auteur:  frederic [ 18 Nov 2016 17:38 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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>
Auteur:  rover820i [ 19 Nov 2016 09:37 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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é !
Auteur:  frederic [ 19 Nov 2016 11:01 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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.
Auteur:  frederic [ 19 Nov 2016 11:13 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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 :!:
Auteur:  rover820i [ 20 Nov 2016 12:17 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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.
Auteur:  frederic [ 24 Nov 2016 21:16 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

Désolé pour le retard.

Merci pour ton aide :D
Auteur:  rover820i [ 24 Nov 2016 22:15 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

De rien :)
Auteur:  frederic [ 23 Déc 2017 22:05 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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é 9438 fois
Auteur:  frederic [ 25 Déc 2017 10:08 ]
Sujet du message:  Re: Besoin d'aide sur un script tout simple !

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]
Page 1 sur 1 Le fuseau horaire est UTC+1 heure