ich habe beschäftige mich seit einigen Tagen mit IP-Symcon. Mein Ziel ist es, mehrere Allnet ALL3075V2 zu schalten und die Stromaufnahme zu überwachen. Da sich die Netzwerksteckdosen an anderen Orten befinden, spreche ich Sie über DynDNS und Ports an. Das klappt auch alles super.
Jetzt würde ich aber in der Visualisierung gerne noch die Erreichbarkeit jeder Netzwerksteckdose anzeigen lassen.
Meine Idee wäre jetzt, dass ich einen Ping auf die Dose ausführe und das Ergebnis mit Schaltflächen („grün“ online) oder („rot“ offline) darstelle. Nur leider hapert es an der Umsetzung.
Hätte jemand eine Idee, wie ich an das Problem herantreten kann oder vllt. auch ein paar Zeilen Code?
Leider komme ich damit noch nicht so wirklich zurecht. Ich habe es aber dennoch geschaft einen funktionierenden Code zusammen zu basteln. Bin mir aber nicht sicher, ob der wirklich zuverlässig funktioniert.
<?
function ping($host, $port, $timeout)
{
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
# if (!$fP) { return "down"; }
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}
#
#//Echoing it will display the ping if the host is up, if not it'll say "down".
$ergebnis = ping("192.168.1.189", 80, 2);
#echo $ergebnis;
# $ergebnis ist der Pingwert in ms
if ($ergebnis < 190) {
SetValueBoolean(13853 /*[Köthen\Koethen_Weiß\Erreichbarkeit]*/ , true);
} else {
SetValueBoolean(13853 /*[Köthen\Koethen_Weiß\Erreichbarkeit]*/ , false);
}
?>
Hallo
Willst du wirklich den Port 80 ( Webinterface ) abfragen ob der antwortet?
Oder nur ein Ping ?
Ich wuerde es mit IPS-Bordmittel ( IPS_Ping ) machen.
Das mit Port 80 war auch nur für einen internen kleinen Test.
Ich spreche die zu überwachenden Netzwerksteckdosen über andere Ports an. Und somit kann ich jetzt auch mehrere Dosen hinter einem Router über das Internet anpingen