Bonjour,
je me suis mis à la domotique et j'ai installé la version PHP de domip avec le même genre de config ( merci pour le partage ).
J'ai une De Dietrich à mazout de 2006 et j'ai réussi à adapter les PHP pour du monitoring, c'est nickel.
J'essaye d'adapter le fichier index.php pour paramétrer une api JSON Domoticz avec par exemple TEMP_ECS, TEMP_AMB_B et TMP_EXT.
J'ai enlevé tout ce que pouvais servir pour la page Web pour le mettre dans un Crontab.
Mais vu mon niveau au ras des paquerettes en PHP, je n'arrive pas initialiser les variables TEMP_ECS, TEMP_AMB_B et TMP_EXT.
Je bloque avec la lecture du tableau "Diematic.class.php"
<?php
$modbus_ip='192.168.1.55';
$modbus_port=20108;
require_once("Diematic.class.php");
if (isset($_GET['log'])) $log=intval($_GET['log']); else $log=null;
//Creation of regulator access
$regulator=new Diematic($modbus_ip,$modbus_port);
//request data synchro
$regulator->synchro();
$TEMP_EXT = ?????????????
$TEMP_AMB_B = ???????????
$TEMP_ECS = ????????????
$json = file_get_contents('http://192.168.1.10:8080/json.htm?type=command¶m=udevice&idx=26&nvalue=0&svalue='.$TEMP_EXT);
$obj = json_decode($json);
$json = file_get_contents('http://192.168.1.10:8080/json.htm?type=command¶m=udevice&idx=27&nvalue=0&svalue='.$TEMP_AMB_B);
$obj = json_decode($json);
$json = file_get_contents('http://192.168.1.10:8080/json.htm?type=command¶m=udevice&idx=28&nvalue=0&svalue='.$TEMP_ECS);
$obj = json_decode($json);
if ($log==1) echo "<PRE>",$regulator->log,"</PRE>";
unset($regulator);
?>
Voila mon projet pour paramétrer mes devices (ça marche avec des valeurs numériques à la place des variables).
J'ai gardé le log=1 pour vérifier que la communication modbus fonctionne.
Si quelqu'un peut me renseigner, merci d'avance et bonne journée.
Edit : j'ai enfin trouvé avec pas mal de recherche sur le Web
Je donne le résultat pour aider un débutant comme moi, il est peut-être pas très académique mais ça fontionne.
$TEMP_EXT = print_r (($regulator->diematicReg['TEMP_EXT']->value), true);
$TEMP_AMB_B = print_r (($regulator->diematicReg['TEMP_AMB_B']->value), true);
$TEMP_ECS = print_r (($regulator->diematicReg['TEMP_ECS']->value), true);