Device Liste

Hallo HM-Jünger,

die Klasse verhält sich wirklich seltsam.

Ich habe es mal getest und genau 1x hat es funktioniert und hat mit die HTML-Datei angelegt und befüllt.

Ein zweites ausführen des Skriptes brachte mir den üblich Fehler in Zeile 3289.

Seltsam.

Hallo Andreas und HM-Gemeinde,

mir geht es ähnlich wie Werner, mit dem Unterschied, dass es gar nicht durch läuft sondern sofort mit dem üblichen Fehler in Zeile 3289 abbricht.

und - JA ich habe die IP-Adresse der CCU im oberen Bereich (Zeile 35) des scripts gesetzt :wink:

An dieser Stelle schon mal Danke an Andreas - in der Hoffnung das wir das ‚kleine Problem‘ auch noch aus der Welt schaffen.

Gruss Dieter

guten morgen…
ich denke mal, das wird damit zusammenhängen wie ichs dort beschrieben habe: http://www.ip-symcon.de/forum/f53/homematic-adapter-geraete-anzeigen-11771/#post98579

vl. kann man ja mit der XML-API was anfangen… devicelist.cgi

An dem Thema bin ich gerade dran.

Auslesen der Devices funktioniert bereits, es fehlt nur noch die Verknüpfung zu den IPS-Instanzen.

@ Bernd

Sorry for the confusion, aber bei mir haben alle Include-Files für PHP ein .php am Ende.

@ Rainer

Meinst Du mit Kategorie die Spalte „HM-type“, die links von der Spalte „IPS device name“ angeordnet sein sollte?
Wird aber erst morgen was, bin heute den ganzen Tag bis spät abends verplant.

@ Werner + Dieter

Wie bereits erwähnt, steht hier keine CCU zum Testen zur Verfügung.
Der Fehler in Zeile 3289 der xmlrpc tritt meist auf, wenn irgendwelche leeren oder unerwarteten Meldungen vom Server zurückgeliefert werden. Um dem Problem auf den Grund zu gehen, müßte man xmlrpc im Debug-Mode laufen lassen, dann schrittweise einzelne Requests starten und schauen was von der CCU zurückkommt.

Gruß,

Andreas

Hallo Andreas,

nein, ich meinte die Kategorien im Objektbaum in IPS.

Ich habe es mal angepasst. Anstatt

$IPS_name = IPS_GetName($id);

ersetzen durch

$IPS_name = IPS_GetLocation($id);

Hallo Rainer,

OK, das hatte ich falsch verstanden.
Da diese Spalte bei tiefer Verschachtelung und langen Kategorienamen sehr lang werden kann, werde ich das in der nächsten Version als optionalen Parameter einbauen.

Desweiteren war ich am überlegen, ob es Sinn macht eine zusätzliche Spalte einzurichten, in der die Device-Namen abgebildet werden, so wie sie im HM-Konfigurator erscheinen?
Alternativ könnte man natürlich auch eine Utility bauen, mit der IPS-device-name und HM-device-name synchronisiert werden.

Um Farbanpassungen zu erleichtern, könnte man das noch parametrisieren. Auf deinem Screenshot erkenne ich Farbänderungen für:
„Bgcolor_Headline“, „Bgcolor_EvenLine“, „Bgcolor_OddLine“; noch mehr?

Gruß,

Andreas

Hallo Andreas,

intro, background.

Habe mir das scrtpt von Andreas mal eingebunden, was muss ich im script alles ändern damit es funzt. Habe einen LAN Adapter.
Beim manuellen Ausführen des scripts bekomme ich Fehlermeldungen.

Warning: include(xmlrpc.inc.php) [function.include]: failed to open stream: No such file or directory in C:\IP-Symcon\scripts\27860.ips.php on line 47

Warning: include() [function.include]: Failed opening ‚xmlrpc.inc.php‘ for inclusion (include_path=’.;C:\php5\pear’) in C:\IP-Symcon\scripts\27860.ips.php on line 47

Fatal error: Class ‚xmlrpc_client‘ not found in C:\IP-Symcon\scripts\27860.ips.php on line 89

Was ist hier falsch ??

cu uwe

Dir fehlt die xmlrpc.inc.php in Deinen PHP-Extensions.

Lade dir hier die xmlrpc.inc runter, lege sie in deinen IPS Ordner /skripts und ändere im Skript von xmlrpc.inc.php in xmlrpc.inc um und starte das Skript wieder. Alles wird gut.

Hallo Uwe,
habe es jetzt genau so gemacht, aber bekomm folgende Fehlermeldung.

Fatal error: Call to a member function kindOf() on a non-object in C:\IP-Symcon\scripts\xmlrpc.inc on line 3289

klappt jetzt, hatte die IP Adresse falsch eingetragen. Nochmals Danke für die schnelle Hilfe-

cu uwe

Dann hast Du eine CCU.

Mit der geht es noch nicht :rolleyes:

Noch nicht?:slight_smile:

Dann nehme ich mal an das Du drann bist.:stuck_out_tongue:

Hallo Uwe,

heute Nacht aufgegeben.

2 Multidimensionale Array´s zu vergleichen ist für mein PHP-Verständnis zu viel.

Sorry.

Och Werner :frowning: meine ganze Hoffnung lag bei Dir - und jetzt? :cool:

Trotzdem schönes Wochenende in das südliche Ausland :smiley:

Gruss babba

Sehe ich es richtig, dass das Skript also mit der CCU nicht geht? Das wäre sehr bedauerlich. Ist da jemand noch dran?

Gruss

gros_ibou

zum testen könnten ja die, die eine CCU haben mal das Script ausführen und des Ergebnis posten.

<?
include IPS_GetKernelDir()."scripts\\xmlrpc.inc.php";
$client = new xmlrpc_client("localhost:2001"); // Adresse anpassen!


$abfrage = new xmlrpcmsg("system.listMethods");
$send = $client->send($abfrage);
$result = php_xmlrpc_decode($send->value());
print_r($result);

?>

So, habe doch noch nicht aufgegeben :wink:

Hier mal der erste Screenshot.

Und nun testen wir Rainers Skript

Hallo Rainer,

hier die Antwort als Array.

Array
(
    [0] => activateLinkParamset
    [1] => addDevice
    [2] => addLink
    [3] => changeKey
    [4] => clearConfigCache
    [5] => deleteDevice
    [6] => determineParameter
    [7] => getAllMetadata
    [8] => getDeviceDescription
    [9] => getInstallMode
    [10] => getKeyMismatchDevice
    [11] => getLinkInfo
    [12] => getLinkPeers
    [13] => getLinks
    [14] => getMetadata
    [15] => getParamset
    [16] => getParamsetDescription
    [17] => getParamsetId
    [18] => getServiceMessages
    [19] => getValue
    [20] => init
    [21] => listBidcosInterfaces
    [22] => listDevices
    [23] => listTeams
    [24] => logLevel
    [25] => putParamset
    [26] => removeLink
    [27] => reportValueUsage
    [28] => restoreConfigToDevice
    [29] => rssiInfo
    [30] => setBidcosInterface
    [31] => setInstallMode
    [32] => setLinkInfo
    [33] => setMetadata
    [34] => setTeam
    [35] => setTempKey
    [36] => setValue
    [37] => system.listMethods
    [38] => system.methodHelp
    [39] => system.multicall
)

scheint alles da zu sein.

Ich denke irgendeine Antwort der Unterarrays ist hier leer.