Obtention d'information sur les relais via l'API ou XML

Bonjour,

Je cherche à obtenir la définition de toutes la configuration de mes relais, nom et numéro d’identification du relai au format JSON ou XML (peut importe). Je n’ai pas trouvé l’information dans la documentation de l’API.
Est-ce qu’il y aurait une autre solution possible ?

Je travail sur un IPX800 v4, firmware version 4.04.05

Merci beaucoup!
Cordialement Aurélien.

Bonjour,
cette fonctionnalité n’existe pas pour le moment.
Vous pouvez faire une demande d’évolution à dev@gce-electronics.com
cdt

1 « J'aime »

Merci pour la réponse fgtoul

à tout fin utile, c’est possible pour les entrées virtuelles et les sorties virtuelles, pour les 8 entrées physiques sur l’ipx800 (pas celles des extensions), les 8 sorties relais sur ipx800 (pas sur extensions)

pour les IO virtuelles : le plus rapide est
http://ip_IPX800/admin/ioVr.json

pour les autres, vous pouvez utiliser un script externe.
j’ai écrit celui-ci en Php, il génère la liste des noms, au choix

  • si out=0 : dans un fichier csv (même dossier web),
  • si out=1 : à l’écran.

la variable type détermine la liste de noms à obtenir :

  • type = ED = 8 entrées digitales sur IPX800
  • type = SR : noms des 8 sorties physiques sur IPX800
  • type = EV : noms des 128 entrées virtuelles
  • type = SV : noms des 128 sorties virtuelles
  • type = AN : noms et formules des 4 analogiques sur IPX800
  • type = VA : noms et formules des 32 analogiques virtuelles

Remarque : pour générer un csv sur le NAS, l’utilisateur SYSTEM doit avoir les droits « read/write » sur le dossier concerné.

Si votre interface admin est protégée par un login, décommentez les 3 lignes et renseignez le mot de passe.

Vous pouvez le mettre sur un NAS par exemple :

<?php
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// http://IpSyno/monDossierWeb/listNames.php?type=ED&out=0
// http://IpSyno/monDossierWeb/listNames.php?type=EV&out=1
// type=ED ou SR ou EV ou SV ou AN ou VA
// out=0 pour une sortie dans un fichier csv
// out=1 pour une sortie à l'écran
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

$IP_IPX800="192.168.0.5";
$admin_login="";
//$admin="admin";
//$password="password";
//$admin_login=$admin . ":" . $password . "@";

//valeurs par défaut
$out=1;
$type="SR";
//valeurs lue dans requête
$type=$_GET["type"];
$out=$_GET["out"];
$sep="\n";

if ($type=="SV") {$url="virtualout.htm";$id=["out","taout","tbout"];$nb=128;}
if ($type=="SR") {$url="output.htm";$id=["relay","tarelay","tbrelay"];$nb=8;}
if ($type=="ED") {$url="input.htm";$id=["input"];$nb=8;}
if ($type=="EV") {$url="virtualin.htm";$id=["input"];$nb=128;}
if ($type=="AN") {$url="analog.htm";$id=["analog","AToV","VToA"];$nb=4;}
if ($type=="VA") {$url="analogVirt.htm";$id=["analog","AToV","VToA"];$nb=32;}


//Chargement de la page entière
header('Content-Type:application/json');
$url = "http://" . $admin_login . $IP_IPX800 . "/admin/" . $url;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$res = curl_exec($ch);
curl_close($ch);

// parse HTML
$dom = new DomDocument();
@ $dom->loadHTML($res);

//export
if ($out=="0") {$listNames=fopen('./Names_' . $type . "_" . date("Y-m-d h:i:sa") . '.csv', 'a+');}
$message="";
for ($i = 0; $i < $nb; $i++) {
	for ($j = 0; $j < count($id); $j++) {
	    $elemt1 = $dom->getElementById($id[$j] . $i); //DOMElement
	    $val1 = $elemt1->getAttribute('value');
	    if ($out=="0") {
	    	fputs($listNames,$val1 . ";" );
	    }else{
	    	echo $val1 . ";";
	    }
    }    
    if ($out=="0") {fputs($listNames,"\n" );
	    }else{
	    	echo "\n";
	    }
}

if ($out=="0") {fclose($listNames);
echo "output ok" . " -> " . $type;}
?>

bonne soirée

Merci pour l’info, c’est ce que je pensais faire aussi.
Je vais écrire à dev@gce-electronics.com comme tu me la conseillé aussi.

1 « J'aime »