Device Liste

OK, jetzt bitte dieses.

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


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

?>

Genau da ist der Hund begraben.

xmlrpcresp Object
(
    [val] => 0
    [valtyp] => 
    [errno] => 2
    [errstr] => Invalid return payload: enable debugging to examine incoming payload (XML error: Invalid document end at line 3, column 14377)
    [payload] => 
    [hdrs] => Array
        (
            [server] => XMLRPC++ 0.7
            [content-type] => text/xml
            [content-length] => 64794
        )
    [_cookies] => Array
        (
        )
    [content_type] => text/xml
    [raw_data] => HTTP/1.1 200 OK
Server: XMLRPC++ 0.7
Content-Type: text/xml
Content-length: 64794
 
 ADDRESSBidCoS-RFCHILDRENBidCoS-RF:0BidCoS-RF:1BidCoS-RF:2BidCoS-RF:3BidCoS-RF:4BidCoS-RF:5BidCoS-RF:6BidCoS-RF:7BidCoS-RF:8BidCoS-RF:9BidCoS-RF:10BidCoS-RF:11BidCoS-RF:12BidCoS-RF:13BidCoS-RF:14BidCoS-RF:15BidCoS-RF:16BidCoS-RF:17BidCoS-RF:18BidCoS-RF:19BidCoS-RF:20BidCoS-RF:21BidCoS-RF:22BidCoS-RF:23BidCoS-RF:24BidCoS-RF:25BidCoS-RF:26BidCoS-RF:27BidCoS-RF:28BidCoS-RF:29BidCoS-RF:30BidCoS-RF:31BidCoS-RF:32BidCoS-RF:33BidCoS-RF:34BidCoS-RF:35BidCoS-RF:36BidCoS-RF:37BidCoS-RF:38BidCoS-RF:39BidCoS-RF:40BidCoS-RF:41BidCoS-RF:42BidCoS-RF:43BidCoS-RF:44BidCoS-RF:45BidCoS-RF:46BidCoS-RF:47BidCoS-RF:48BidCoS-RF:49BidCoS-RF:50FIRMWARE1.503FLAGS9INTERFACEHEQ0157193PARAMSETSMASTERPARENTROAMING0TYPEHM-RCV-50VERSION5ADDRESSBidCoS-RF:0AES_ACTIVE0DIRECTION0FLAGS3INDEX0LINK_SOURCE_ROLESLINK_TARGET_ROLESPARAMSETSMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEMAINTENANCEVERSION5ADDRESSBidCoS-RF:1AES_ACTIVE0DIRECTION1FLAGS1INDEX1LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:2AES_ACTIVE0DIRECTION1FLAGS1INDEX2LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:3AES_ACTIVE0DIRECTION1FLAGS1INDEX3LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:4AES_ACTIVE0DIRECTION1FLAGS1INDEX4LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:5AES_ACTIVE0DIRECTION1FLAGS1INDEX5LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:6AES_ACTIVE0DIRECTION1FLAGS1INDEX6LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:7AES_ACTIVE0DIRECTION1FLAGS1INDEX7LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:8AES_ACTIVE0DIRECTION1FLAGS1INDEX8LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:9AES_ACTIVE0DIRECTION1FLAGS1INDEX9LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:10AES_ACTIVE0DIRECTION1FLAGS1INDEX10LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:11AES_ACTIVE0DIRECTION1FLAGS1INDEX11LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:12AES_ACTIVE0DIRECTION1FLAGS1INDEX12LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5ADDRESSBidCoS-RF:13AES_ACTIVE0DIRECTION1FLAGS1INDEX13LINK_SOURCE_ROLESKEYMATIC SWITCH WINMATICLINK_TARGET_ROLESPARAMSETSLINKMASTERVALUESPARENTBidCoS-RFPARENT_TYPEHM-RCV-50TYPEVIRTUAL_KEYVERSION5
)
Fatal error:  Call to a member function kindOf() on a non-object in K:\IP-Symcon2\scripts\xmlrpc.inc on line 3289

Hab es dir ja schon geschrieben. Tippe auf einen BUG in der CCU beim erstellen des XML Dokument.

OK. Danke für das Testen.

Dann werde ich meinen anderen Weg weiter verfolgen.

Auch wenn Rainer mit seinem Tipp vermutlich recht hat, könntest Du xmlrpc ja nochmal im Debug-modus laufen lassen:

<?
include "xmlrpc.inc.php";
$client = new xmlrpc_client("localhost:2001"); // Adresse anpassen!
$client->debug = 2;

$abfrage = new xmlrpcmsg("listBidcosInterfaces");
$send = $client->send($abfrage);

print("

== == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == 

");

print_r($send);

print("

== == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == 

");

$result = php_xmlrpc_decode($send->value());
print_r($result);

?>

Damit der Output nicht zu groß wird, vielleicht erstmal mit „listBidcosInterfaces“ probieren. Sollte der Fehler dabei nicht auftreten dann doch mit „listDevices“.

Gruß,

Andreas

Hallo HM-Gemeinde,

da babba so enttäuscht war habe ich doch an meinem Projekt weiter gebastelt und habe dank Horst, der eine Funktion im HM-Request-Skript benutzt, auch eine Lösung gefunden.

Als erstes muß auf der CCU der XML-API-Patch installiert werde da ansonsten die Funktionen nicht zur Verfügung stehen.

Nun das Skript an einen Wunschort, bevorzugt in eine eigenen Kategorie.

<?
// *****  Array der Devices aus der CCU einlesen *****
$table_content = "";
$ccu_xml = array();
$ccu_xml = file_get_contents("http://192.168.0.7/config/xmlapi/devicelist.cgi"); //IP der CCU anpassen
$ccu_datei = IPS_GetKernelDir()."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($ccu_datei);
$object = IPS_GetObject($IPS_SELF);
$parentID = $object['ParentID'];
if($IPS_SENDER == "Execute") {
 IPS_SetHidden($IPS_SELF, true);
 // Ereignis für Skript erstellen falls nicht vorhanden
 $EreignisID = @IPS_GetEventIDByName("Event", $IPS_SELF);
 if ($EreignisID == false) {
  $eid = IPS_CreateEvent(1);               // Ausgelöstes Ereignis
  //IPS_SetEventTrigger($eid, 0, $DS2450_Port0);    // Bei Änderung von Variable
  IPS_SetEventCyclic($eid, 2, 1, 0, 0, 0, 0);
  IPS_SetEventCyclicTimeBounds($eid, mktime(0, 2, 0), 0);
  IPS_SetParent($eid, $IPS_SELF);         // Ereignis zuordnen
  IPS_SetName($eid, "Event");            // Ereignis umbennen
  IPS_SetEventActive($eid, true);                       // Ereignis aktivieren
 }
 else {
 echo "Ereignis bereits erstellt";
 }
}
echo "<table border=0 align='center'>";
$table = "<table border=0>";
echo "<tr><td align='center'><b>IPS-Ort</td><td><b>IPS-Instanz</td><td align='center'><b>HM-Name</td><td align='center'><b>HM-ID</td><td align='center'><b>Typ</td></tr>";
$table_header = "<tr bgcolor='#242D3A' height='25px'><td align='center'><b>IPS-Ort</td><td><b>IPS-Instanz</td><td align='center'><b>HM-Name</td><td align='center'><b>HM-ID</td><td align='center'><b>Typ</td></tr>";
for($i=0; $i < $devices->count(); $i++ ) {
 for($x=0; $x < $devices->device[$i]->channel->count(); $x++) {
  $ips_id = GetInstanceIDFromHMID($devices->device[$i]->channel[$x]['address']);
  $ips_loc = IPS_GetLocation($ips_id);
  if($ips_id > 0) {
   echo "<tr><td>";
   $table_start = "<tr bgcolor='#3D516D'><td>";
   echo  $ips_loc."</td><td align='center'>"
     .$ips_id."</td><td>"
     .($devices->device[$i]->channel[$x]['name'])."</td><td> "
     .($devices->device[$i]->channel[$x]['address'])."</td><td>"
     .($devices->device[$i]->channel[$x]['direction'])."</td>"
     ;
   $table_inhalt = $ips_loc."</td><td align='center'>"
     .$ips_id."</td><td>"
     .($devices->device[$i]->channel[$x]['name'])."</td><td> "
     .($devices->device[$i]->channel[$x]['address'])."</td><td>"
     .($devices->device[$i]->channel[$x]['direction'])."</td>"
     ;
   echo "</tr>";
   $table_end = "</tr>";
         $table_content = $table_content.$table_start.$table_inhalt.$table_end;
    }
 }
}
echo "</table>";
$table_footer = "</table>";
$table_ausgabe = $table.$table_header.$table_content.$table_footer;
SetValue(CreateVariableByName($parentID, 'HM-Inventur', 3, '~HTMLBox'), $table_ausgabe);
 
 
function GetInstanceIDFromHMID($sid)
{
 $ids = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
 foreach($ids as $id)
 {
  $a = HM_GetAddress($id);
  $b = $sid;
  if($a == $b)
  {
   return $id;
  }
 }
 return 0;
}
 
function CreateVariableByName ($id, $name, $type, $profile = "")
{
 global $IPS_SELF;
 $vid = @IPS_GetVariableIDByName($name, $id);
 if ($vid === false)
 {
  $vid = IPS_CreateVariable($type);
  IPS_SetParent($vid, $id);
  IPS_SetName($vid, $name);
  IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
  if ($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
 }
 return $vid;
}
?>

Einzig die IP-Adresse der CCU muß in Zeile 5 angepasst werden.

Die Typenzuordnung sowie die Farben müssen bei Bedarf selbst angepasst werden. Auch die Formatierung der Tabelle ist nur für die Schnelle gedacht.

Viel Spaß an die CCU´ler

Hallo Werner,

ich wusste - auf Dich kann man sich verlassen :slight_smile:

ABER - was ist den mit den RF-Pegeln passiert? Das wars, was ich so genial im Script von Andreas fand. Sieht jemand eine Chance die auch noch hervor zu zaubern?

Gruss babba und allen ein schönes Wochenende

Die sind bei mir wegen Mangel an Informationen über diesen Weg hoffentlich noch nicht vorhanden.

Mir persönlich reicht dies im Moment aus, soll ja nur eine Inventory sein.

Es kann sich jeder an dem Skript für Erweiterungen spielen.

Hallo Werner,

dank der Zugangsmöglichkeit auf deine CCU habe ich das Problem etwas weiter untersucht.
Leider hat Rainer mit seinem Tipp recht. Vielleicht ist es nicht unbedingt ein BUG in der CCU beim Erstellen des XML Dokuments; es könnte auch ein Fehler beim Versenden sein. Jedenfalls fehlt bei der Antwort auf den „listDevices“-request immer ein Teil am Ende des XML Dokuments. Ich hatte die XMLRPC mal etwas umgebaut um zu schauen, ob vielleicht einige Daten verspätet hinterkommen, aber da kommt nix mehr; mitten im Dokument (nach ca. 15kb) wird einfach abgebrochen. Das Problem könnte ein zu kleiner Sendebuffer auf der CCU-Seite sein, der mit dem relativ grossen XML Dokument beim „listDevices“-request nicht zurechtkommt.
Bis ein CCU-fix erscheint, könnte man als Workaround vielleicht versuchen mit getDeviceDescription(HM-address) zumindest die HM-devices einzeln einzusammeln, für die IPS die HM-Adressen kennt. Allerdings wäre das Feature futsch auch Geräte anzuzeigen, die IPS noch nicht bekannt sind.

Gruss,

Andreas

Und hier noch mal mit Dummymodul.

<?
// *****  Array der Devices aus der CCU einlesen *****
$table_content = "";
$ccu_xml = array();
$ccu_xml = file_get_contents("http://192.168.1.11/config/xmlapi/devicelist.cgi"); //IP der CCU anpassen
$ccu_datei = IPS_GetKernelDir()."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($ccu_datei);
 
$object = IPS_GetObject($IPS_SELF);
$parentID = $object['ParentID'];
 
if($IPS_SENDER == "Execute") {
 
    // Anlegen einer neuen DummyModuls mit dem namen "CCU-Instanz"
 
  IPS_SetHidden($IPS_SELF, true);
  IPS_SetName($IPS_SELF, "Auslese-Skript");
  $parentObject = IPS_GetObject($parentID);
  if ($parentObject['ObjectType'] !== 1)
  {
      $instanceID = IPS_CreateInstance("{485D0419-BE97-4548-AA9C-C083EB82E61E}");
      IPS_SetParent($instanceID, $parentID);
      $parentID = $instanceID;
      IPS_SetParent($IPS_SELF, $parentID);
      IPS_SetName($instanceID, "CCU-Instanz");
  }
   // Ereignis für Skript erstellen falls nicht vorhanden
    $EreignisID = @IPS_GetEventIDByName("Event", $IPS_SELF);
    if ($EreignisID == false) {
        $eid = IPS_CreateEvent(1);                                    // Ausgelöstes Ereignis
        //IPS_SetEventTrigger($eid, 0, $DS2450_Port0);             // Bei Änderung von Variable
        IPS_SetEventCyclic($eid, 2, 1, 0, 0, 0, 0);
        IPS_SetEventCyclicTimeBounds($eid, mktime(0, 2, 0), 0);
        IPS_SetParent($eid, $IPS_SELF);                                 // Ereignis zuordnen
        IPS_SetName($eid, "Event");                                    // Ereignis umbennen
        IPS_SetEventActive($eid, true);                       // Ereignis aktivieren
    }
    else {
    echo "Ereignis bereits erstellt";
    }
}
 
echo "<table border=0 align='center'>";
$table = "<table border=0>";
echo "<tr><td align='center'><b>IPS-Ort</td><td><b>IPS-Instanz</td><td align='center'><b>HM-Name</td><td align='center'><b>HM-ID</td><td align='center'><b>Typ</td></tr>";
$table_header = "<tr bgcolor='#242D3A' height='25px'><td align='center'><b>IPS-Ort</td><td><b>IPS-Instanz</td><td align='center'><b>HM-Name</td><td align='center'><b>HM-ID</td><td align='center'><b>Typ</td></tr>";
for($i=0; $i < $devices->count(); $i++ ) {
    for($x=0; $x < $devices->device[$i]->channel->count(); $x++) {
        $ips_id = GetInstanceIDFromHMID($devices->device[$i]->channel[$x]['address']);
        $ips_loc = IPS_GetLocation($ips_id);
        if($ips_id > 0) {
            echo "<tr><td>";
            $table_start = "<tr bgcolor='#3D516D'><td>";
            echo     $ips_loc."</td><td align='center'>"
                    .$ips_id."</td><td>"
                    .($devices->device[$i]->channel[$x]['name'])."</td><td> "
                    .($devices->device[$i]->channel[$x]['address'])."</td><td>"
                    .($devices->device[$i]->channel[$x]['direction'])."</td>"
                    ;
            $table_inhalt = $ips_loc."</td><td align='center'>"
                    .$ips_id."</td><td>"
                    .($devices->device[$i]->channel[$x]['name'])."</td><td> "
                    .($devices->device[$i]->channel[$x]['address'])."</td><td>"
                    .($devices->device[$i]->channel[$x]['direction'])."</td>"
                    ;
            echo "</tr>";
            $table_end = "</tr>";
            $table_content = $table_content.$table_start.$table_inhalt.$table_end;
          }
    }
}
echo "</table>";
$table_footer = "</table>";
 
$table_ausgabe = $table.$table_header.$table_content.$table_footer;
SetValue(CreateVariableByName($parentID, 'HM-Inventur', 3, '~HTMLBox'), $table_ausgabe);
 
 
 
 
function GetInstanceIDFromHMID($sid)
{
 $ids = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
 foreach($ids as $id)
 {
  $a = HM_GetAddress($id);
  $b = $sid;
  if($a == $b)
  {
   return $id;
  }
 }
 return 0;
}
 
function CreateVariableByName ($id, $name, $type, $profile = "")
{
    global $IPS_SELF;
    $vid = @IPS_GetVariableIDByName($name, $id);
    if ($vid === false)
    {
        $vid = IPS_CreateVariable($type);
        IPS_SetParent($vid, $id);
        IPS_SetName($vid, $name);
        IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
        if ($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
    }
    return $vid;
}
 

Hallo,

sollte jemand das Skript von Uwe oder mir bereits in Benutzung haben dann bitte nochmals neu installieren.

Die Funktion die ich mir von Horst ausgeliehen hatte war nur bedingt für meine Zwecke zu gebrauchen, sie verglich nur den Teil der HM_ID für dem Doppelpunkt. Da viele HM-Geräte mehrere Instanzen mit :1, :2 usw. anlegen viel mir das erst jetzt auf.

Sorry.

Man kann auch die Funktion im Skript direkt ändern. Einfach drüber kopieren.

function GetInstanceIDFromHMID($sid)
{
 $ids = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
 foreach($ids as $id)
 {
  $a = HM_GetAddress($id);
  $b = $sid;
  if($a == $b)
  {
   return $id;
  }
 }
 return 0;
}

Hallo,

ich schliesse mich dem Wunsch von babba an. Die Ausgabe der Empfangsstärken wäre ungeheuer nützlich, wenn (wie bei mir) immer mal wieder Funkkomponenten melden, dass sie Kommunikationsprobleme haben und man versucht LAN Adapter im Haus sinnvoll zu verteilen um dies zu minimieren.

Ist jemand da noch dran die SIgnalempfangssärken auch in die CCU Version einzuarbeiten?

Gruss

gros_ibou

Wenn die CCU das hergibt hast Du gute Chanchen ansonsten sieht es eher schlecht aus.

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


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

?>    

Hier eine neue Version mit der vielleicht auch CCU’ler etwas anfangen können. Da ich selbst keine CCU zur Verfügung habe, ist das Program diesbezüglich aber nicht getestet.

Bei Verwendung einer CCU muß das Kommentarzeichen der Zeile define („Workaround_for_CCU_with_XMLunderflow_Bug“,… entfernt werden, zumindest solange es keinen Fix für den XMLRPC-bug der CCU gibt. Da dieser Bug bei der Rücksendung grösserer XML-Dokumente auftritt, ist zu befürchten, daß bei CCU’s, die mit sehr vielen HM-devices verknüpft sind, bei der Übermittlung der Sende-/Empfangspegel erneut Probleme auftreten können. Ich habe versucht das dahingehend zu entschärfen, daß für diesen Fall keine Pegel angezeigt werden, das Programm aber nicht abstürzt.
Ist „Workaround_for_CCU_with_XMLunderflow_Bug“ aktiv, werden nur HM-devices angezeigt, die mit mindestens einem Kanal bei IPS angemeldet sind!
Das Programm läuft mit dieser Option prinzipiell auch bei Nicht-CCU’lern, ist aber nicht empfehlenswert: der Aufbau der HM-device-list ist sehr ineffizient und dauert deutlich länger, und das Feature auch Geräte anzuzeigen, die IPS noch nicht bekannt sind, geht verloren.

Weitere Änderungen:
Optional lassen sich die IPS-device-Namen jetzt mit allen Kategorien anzeigen. Dazu das Kommentarzeichen der Zeile define („Show_Long_IPS_device_names“,… entfernen.
Optional lassen sich jetzt die HM-device-Namen anzeigen, so wie sie im HM Konfigurator definiert wurden. Dazu das Kommentarzeichen der Zeile define („Show_HM_konfigurator_device_names“,… entfernen.
Einige Hintergrundfarben lassen sich jetzt bei den Optionen anpassen.

Um Neueinsteigern das Suchen zu ersparen, liegt dem Program jetzt das benötigte Include-File bei.

Gruss,

Andreas

P.S.: aktuelle Version ist auf Seite 8 im Post #76.

Der helle Wahnsinn - jetzt geht es auch mit der CCU!!! :smiley:

Danke an Andreas und alle anderen, die hier kräftig mit untersützt haben.

Gruss babba

Auch von meiner Seite ein herzliches Dankeschön.

Saubere Arbeit.

gruss
b71

Great work Andreas,

zumindest habe ich mit meinem Script wieder etwas über Arrays lernen können.

Hallo,

ich bekomme folgende Fehlermeldung:

Warning: Can’t get RF-level information from the BidCos-Service (http://10.0.0.32:2001)

Kann das daran liegen dass ich eine CCU und einen über die CCU gesteuerten LAN Adapter habe?

Muss ich dann den LAN Adapter direkt anfunken? Und muss ich dabei irgendwas beachten?

Gruss

gros_ibou

Hallo gros_ibou,

du hast vermutlich ein paar mehr HM-Komponenten an deiner CCU angemeldet.
Zu diesem zu erwartenden Problem hatte ich bereits etwas in den Release-Notes geschrieben (Post #54).
Da Sende-/Empfangspegel vom BidCos-Service nicht einzeln pro Gerät sondern nur en bloc übermittelt werden, sehe ich keine Möglichkeit für einen Workaround. Dieses Problem dürfte nur mit einem Fix in der CCU-Firmware zu beheben sein.

Gruss,

Andreas

Hallo Andreas,

ich habe Dein Script jetzt auch ausprobiert, erhalte aber eine Fehlermeldung.

Undefined variable: HM_Interface in [System\HM Geräte] on line 176

Das steht in der Zeile:
‚HM_direction‘=>$HM_direction, ‚HM_AES_active‘=>$HM_AES_active, ‚HM_Interface‘=>$HM_Interface);

Seite wird aber angezeigt und sieht nach meiner Meinung auch i.O. aus.

Ich muss aber anmerken das ich gestern erst mein erstes HM gerät installiert habe :slight_smile:

Hast Du (oder jemand anderes) eine Idee woher der Fehler kommen könnte ?