Hier mal ein kleines Script zum schalten der Ports 1-4 über Webfront oder Einbindung in ein Script mit Rückmeldung.
Funktioniert mit Firmware 3.10 RC2
Es werden 4 Boolvariablen mit Profil ~Switch benötigt.
<?
$netIO = "192.168.1.13"; // IP Adresse NetIO
$name = "xxxx"; // Username
$pw = "xxxx"; // Passwort
$varID = array(58135 /*[NetIO-230B\Port 1]*/, 48169, 44237 /*[NetIO-230B\Port 3]*/, 53726); // VarID Port 1-4
if($_IPS['SENDER'] == "WebFront")
{
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
$state = (int)GetValue(58135 /*[NetIO-230B\Port 1]*/).(int)GetValue(48169 /*[NetIO-230B\Port 2]*/).(int)GetValue(44237 /*[NetIO-230B\Port 3]*/).(int)GetValue(53726 /*[NetIO-230B\Port 4]*/); // Status Port 1-4
SetPort($state);
}
function SetPort($state)
{
global $netIO, $name, $pw, $varID;
$setPort = "http://".$netIO."/tgi/control.tgi?login=p:".$name.":".$pw."&port=".$state;
$request = Sys_GetURLContent($setPort);
if(strip_tags($request) == "250 OK")
{
$portState = 'http://'.$netIO.'/tgi/control.tgi?login=p:'.$name.':'.$pw.'&port=list';
$request = Sys_GetURLContent($portState);
$data = explode(" ", strip_tags($request));
for($i=0; $i<count($varID); $i++)
{
SetValue($varID[$i], (int)$data[$i]); // Rückmeldung Port 1-4 und Status setzen
}
}
else
{
echo "NetIO-230 Fehler: ".strip_tags($request); //Fehlermeldung
return;
}
}
?>
Funktionsaufruf in einem Script.
<?
require 'NetIO.ips.php';
SetPort("1100");
?>