Wahrscheinlich ist die Lösung so simpel, dass ich einfach nicht draufkomme.
Aktuell stehe ich vor der Aufgabe, die Liste der möglichen set-Befehle in einem device zur Laufzeit um weitere Befehle zu erweitern, wenn ein bestimmtes Attribut gesetzt wird.
Dass getAllSets() "set ... ?" aufruft und die "Fehlermeldung" auswertet, weiß ich.
Aber das hilft mir ja nicht, die Optionen zu erweitern.
Mir fehlt sowas wie
sub addToDevAttrList($$;$$);
sub delFromDevAttrList($$);
nur für set/get.
BTW: was verbirgt sich eigentlich hinter diesem Konstrukt:
if(AttrVal("global", "apiversion", 1)> 1) {
my @setters= getSetters($defs{$d});
return join(" ", @setters);
}
Was ist denn "apiversion"? Die commandref schweigt sich dazu aus.
Die Instanz muss doch einfach nur den Befehl ausführen.... (und auf das Kommando mit "keiner" Info antworten).
Und optimaler Weise auf die Anfrage mit ? eine zutreffende Antwort geben ;) .