Einfache Routing Tabelle für das Webfront

Hallo,

ich habe hier schon tolle Routing Tabellen für das Webfront gesehen - ob sie unter 4.0 laufen, weiß ich nicht. Ich habe mir aus den Beispielen eine einfache Texttabelle erstellt:


<?

// erstellt eine Routing Tabelle für ZWave-Module
// benötigt wird eine String-Variable ($txt_id) mit dem Profil ~TextBox
// zur Darstellung im Webfront

// eigene Werte einsetzen
$gw_id 	= 12345 /*[Z-Wave Gateway]*/;
$conf_id	= 12345 /*[Z-Wave Configurator]*/;
$txt_id 	= 12345 /*Routing Tabelle im Webfront als string*/;

// Array aller ZWave-Module, ist UNSORTIERT
$d_list = ZW_GetKnownDevices($conf_id);

// Array sortieren
function _cmp($a, $b)
{
	return $a['NodeID'] > $b['NodeID'];
}
usort($d_list, "_cmp");

// zweidimensionales Array erstellen mit Nodes und zugehörigem Routing
$i = 0;
foreach($d_list as $list)
{
	// Untergruppen werden nicht benötigt
	if(intval($list['NodeSubID']) > 0)
	{
	   continue;
	}
	$nodes[$i]["NODEID"] = intval($list["NodeID"]);
	$nodes[$i]["KNOWNIDS"] = ZW_RoutingGetNodes($gw_id, intval($nodes[$i]["NODEID"]));

   $i = $i+1;
}

// Kopfzeile der Tabelle
$tableText = ".";
foreach($nodes as $node)
{
	$tableText .= " ".$node["NODEID"];
}
$tableText .= "
";

// Zeilen in der Tabelle
foreach($nodes as $node_z)
{
	$z = $node_z["NODEID"];
	$tableText .= $z;

 	// Spalten in der Tabelle
	foreach($nodes as $node_s)
	{
	   $s = $node_s["NODEID"];
      $found = " -";

		// routed nodes
		foreach($node_z["KNOWNIDS"] as $dev)
		{
     		if($s === $dev)
			{
	   		$found = " X";
	   		break;
			}
		}
		$tableText .= $found;
	}
	$tableText .= "
";
}

// Text in TextBox für Webfront setzen
SetValue($txt_id, $tableText);

?>

Die Tabelle hat natürlich den Nachteil, dass dargestellten Zeichen nicht gleich groß sind. Für ein großes Netz ist sie wohl eher ungeeignet.

Grüße, Gerhard

Hi,
danke für dein Script. Was kann ich mit den Zahlen anfangen?

LG Izack

Hallo,

dIe Zahlen sind die (Node-) Nummern der Module, wie sie bei der Inklusion vergeben werden. Bei einem ‚X‘ besteht eine direkte Verbindung, sonst nicht. Es ist dabei (noch) nicht zusehen, ob das Routing auch über diese Verbindung laufen kann. Denn das geht nur über ‚Routing Slaves‘.
Es ist eine vereinfachte Darstellung des Netzes. Bei einigen Beispielen im Forum ist es mit HTML gelöst oder grafisch mit Verbindungslinien. Bei Zway sind es bunte Quadrate.

Grüße, Gerhard