Koukaam NETIO-230B

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");

?>