Frage an XML->Array-Profis

Hallo,

habe folgendes Problem.

Ich möchte gerne in IPS eine XML-Datei auswerten die in folgendem Format vorliegt (siehe Anlage Grafik und Datei).

Diese erzeuge und lese ich mit simple_xml in folgendem Skript.

<?
$ccu_xml = array();
$ccu_xml = file_get_contents("http://192.168.0.7/config/xmlapi/devicelist.cgi");
$ccu_datei = "hm_device.xml";
 
// Datei öffnen, wenn nicht vorhanden dann wird die Datei erstellt.
$handler = fOpen($ccu_datei , "w+");
fWrite($handler , $ccu_xml); // Dateiinhalt in die Datei schreiben
fclose($handler);
 
$devices = simplexml_load_file('K:/IP-Symcon2/hm_device.xml');
//echo $devices->device[0]->device name;
print_r ($devices);
?>

Folgendes Skript liefert mir auch das Array das in $devices steht korrekt zurück, nur steh ich gerade auf dem Schlauch wie ich das Array korrekterweise als Spalten anzeigen lasse.

SimpleXMLElement Object
(
    [device] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => HM-CCU-1 System
                            [address] => System
                            [ise_id] => 1214
                            [interface] => System
                            [device_type] => HM-CCU-1
                            [ready_config] => true
                        )
                    [channel] => Array
                        (
                            [0] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [name] => Zentralennetzteil
                                            [type] => 17
                                            [address] => System:1
                                            [ise_id] => 1215
                                            [direction] => SENDER
                                            [parent_device] => 1214
                                            [index] => 1
                                            [group_partner] => 
                                            [aes_available] => false
                                            [transmission_mode] => DEFAULT
                                            [visible] => true
                                            [ready_config] => true
                                        )
                                )
                            [1] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [name] => Sabotagekontakt
                                            [type] => 17
                                            [address] => System:2
                                            [ise_id] => 1231
                                            [direction] => SENDER
                                            [parent_device] => 1214
                                            [index] => 2
                                            [group_partner] => 
                                            [aes_available] => false
                                            [transmission_mode] => DEFAULT
                                            [visible] => true
                                            [ready_config] => true
                                        )
                                )
                        )
                )

Auf was ich hinaus will ist eine Anzeige ähnlich wie

So wie das „echo“ bereits im Skrpt steht war mein Ansatz, aber das war es dann auch. Hat jemand einen Tipp für mich.

@Rainer, ich denke der Ansatz würde dir bei der Verknüpfung der HM-Devices mit den IPS-Instanzen auch helfen.:slight_smile:

hm_device.xml (3.65 KB)

@ Werner,

meine Liste ist doch fertig so wie ich sie haben wollte.

Ein Beispiel für XML ist in meiner Wetterseite unter Pollenflug. Da solltest Du eigentlich alles finden.

OK. Das mit dem Wetter muß ich mir mal anschauen.

Welche Liste ist jetzt die Fertige :rolleyes: Link?

die funktioniert aber so wie es aussieht nicht mit der CCU :confused:

Stimmt Rainer,

deshalb gehe ich den anderen Weg über die XMLRPC-API, schreibe deren Inhalt in eine XML-Datei und werte diese anschließend aus.

Kleine Erfolge habe ich schon.

Jetzt muss ich nur noch die IPS-Instanzen der HM damit verknüpfen.