KNX Gruppenadressen Anzeigen lassen zwecks Übersicht

Hallo,

ich habe gerade die Herausforderung von einem Kunden / Bestandsobjekt die Gruppenadressen etwas zu sortieren. Da ich Symcon bereits im Einsatz habe und nun aufräume fällt es mir schwer die alte Struktur zu löschen. Natürlich kann ich jedes Einzelne durchgehen und löschen aber das ist eine menge Arbeit.

Daher meine Frage und auch für Zukünftige Projekte. Gibt es die Möglichkeit die Spalte GA hinzuzufügen oder vor dem Namen die GA Adresse zu setzen. Geht auch um die Sortierung / Handhabung.

Freue mich auf ein Feedback :slight_smile:

1 „Gefällt mir“

Das ist eine sehr gute Idee

Man nehme das Script „Skript zum Auslesen der Zustände vom Bus“ von KNX — IP-Symcon :: Automatisierungssoftware (recht weit unten) und passe die Befehle für ‚Leseanfrage senden‘ ein wenig an auf ‚gib die GA aus‘.

Hallo @tobiasr,

danke für die Rückmeldung. Ich wollte nicht den Status der GA haben.

Ich würde viel lieber meine Struktur in der ETS mit der GA Nummern in Symcon sehen. Da ich viel mehr mit den GA´s Arbeite als mit den ID´s. Die ID´s sollen gerne bleiben aber ich würde gerne eine 2te Spalte mit der GA Struktur haben. Ich denke das man so eine Verknüpfung sicherlich herstellen kann.

Hi @sh4n1,

du könntest versuchen alle GAs per IPS_GetProperty auszulesen und in die Beschreibung des jeweiligen Objektes (Instanz) zu schreiben. Dann wären die GAs in der optional einblendbaren Beschreibung Spalte sichtbar.

paresy

2 „Gefällt mir“

Blöde Frage: Wie macht man das?
Den Rest des Codes habe ich lauffähig für KNX-EIS und KNX-DPT Instanzen.

<?php

// walk through all device instances and determine their module names
foreach (IPS_GetInstanceListByModuleType(3) as $instanceID) {
    $moduleName = IPS_GetInstance($instanceID)['ModuleInfo']['ModuleName'];

    if ((strpos($moduleName, 'KNX EIS') !== false) || (strpos($moduleName, 'DPT') !== false)) {

        $InstanceName = IPS_GetName($instanceID);

        // "KNX EIS" (old type)
        if (strpos($moduleName, 'KNX EIS') !== false)  {
            $GA1 = IPS_GetProperty($instanceID, "GroupAddress1"); 
            $GA2 = IPS_GetProperty($instanceID, "GroupAddress2"); 
            $GA3 = IPS_GetProperty($instanceID, "GroupAddress3"); 
            $Instance_Type = "EIS";
        }

        // "DPT" (new type)
        if (strpos($moduleName, 'DPT') !== false)  {
            $GA1 = IPS_GetProperty($instanceID, "Address1"); 
            $GA2 = IPS_GetProperty($instanceID, "Address2"); 
            $GA3 = IPS_GetProperty($instanceID, "Address3"); 
            $Instance_Type = "DPT";
        }

        // echo list to console
        $GA_text = sprintf("%d/%d/%d", $GA1,  $GA2,  $GA3);
        echo $instanceID, "  ", $Instance_Type, "  ", $GA_text, "\t",   $InstanceName, "\n";

        // annotate group address to comment field
        IPS_SetInfo($instanceID, "GA: " . $GA_text);
    }
}

produziert jetzt erstmal eine Liste auf der Konsole:

|10619 EIS 5/0/12|TK_W_02 Öffnung|
|11242 EIS 4/0/50|Ist-Temperatur Küche|
|26125 EIS 4/2/62|Sperre Hzg. Schlafzimmer|
|10327 EIS 4/0/98|Aussentemperatur Nordseite|
|34651 DPT 5/6/52|Diagnosetext Kanal C|
|11572 EIS 1/2/30|Küche Deckenlicht L_K_01 E/A|
|11596 EIS 5/0/3|Fenster Bad|
|15145 EIS 5/4/12|Rauchmelder Büro Technikraum Alarm|
|11619 EIS 4/0/51|Ist-Temperatur Diele|

Um meine Frage mal selbst zu beantworten:
Der lesende Zugriff auf das Feld „Beschreibung“ der Instanz ist hier beschrieben, was ich suchte ist ‚ObjectInfo‘

… und Schreiben kann man mit IPS_SetInfo:

Dank der Hilfe des Forums funktioniert es nun, man kann in der Konsole per Filter auch gezielt nach GA suchen. Aufgelistet werden die primären GA sowie eventuelle Rückmelde-GA.

Code hier: