klappt nun alles, danke.
Ich fange einmal mit dem Review an.
get <HMccuChn> paramsetdescIch würde die Auswahl channel/device streichen. Mein Vorschlag ist wie schon vormals erwähnt, das "Device" im "Chan0" zusammenzufassen.
Wähle ich "Channel" als Option bei einem Kanal >0 bekomme ich immer auch Kanal0. Das macht keinen Sinn und ist typisch eh wenig interessante Info. Ch0 bezieht sich auf "die Kommunikation" und ist bei 90% aller Geräte identisch.
Antrag 1) Kanal 0 wird nur für Kanal 0 ausgegeben.
Antrag 2) Device wird immer automatisch bei Kanal 0 ausgegeben
Antrag 3) als Überschrift wäre der DeviceTyp und der KanalTyp schön
Beim Parametersatz "link" der Aktoren gibt es immer short/long. Diese sind identisch.
Einschub: Ausnahme ist Multiexec welches nur bei Long Sinn macht. Das unterschlage ich, da es am Ende weder einen inhaltlichen noch einen funktionalen oder semanitschen unterschied machtKompakter wäre es, den Block als short/long zu markieren und nur "short" anzuzeigen. Hinweis einbauen, dass Long parallel exitiert.
Antrag 4) short/long nur einmal darstellen
Anmerkung: Wenn der Linktyp short/long beinhaltet, dann komplett. Wenn der Linktyp dies nicht beinhaltet, dann auch komplett
get <HMccuChn> config/configList- Ich sehe nicht, dass bei config die Register als Readings gespeichert werden
- ich verstehe nicht, warum man speichern in Readings manuell anstossen muss. Das sollte immer passieren, wenn gelesen wurde. In CUL_HM speichere ich die Register in "hidden" readings. Über das Attribut "expert" kann man es sichtbar schalten. Ok, ist einiges an Arbeit, die Umschaltung. Aber sinnvoll.
Zum Inhalt: Link Readings
Im Gegensatz zu Parameter-Description gibt es
den Link Satz bei den eigentlichen Parametern. Link bedeutet, dass das Device gepeert ist und zu diesem peering ein Registersatz existiert.
=> für jedes einzelne Peering existiert ein Link-Datensatz.
=> du musst also zuerst die Links auslesen, dann die Link-Parametersätze
Antrag 5) Liste aller Peers des Kanals ausgeben.
Mit dem Hintergrund wird die Liste mit Unter ziemlich lang.
In CUL_HM habe ich aus genau diesem Grund bei der Ausgabe die tabellarische Form gewählt. Also eine Zeile je Register und eine Spalte je peer.
Bei Short/long habe ich es noch einmal verkürzt: eine Zeile je Register"Typ" und je eine Spalte je Peer-Short Peer-Long
Antrag 6) Tabelarische Ausgabe der Link-Basierenden Register
get <HMccuChn> DevicedescriptionAntrag 7) eine Option Device/Channel. Device wie immer in Channel0 darstellen. Channel 0 in allen anderen Channels ausblenden.
Wie bei allen Kommandos
Antrag
Ausblenden (unterdrücken) unnötiger Zeilen. Dies sind ADDRESS,INDEX,PARENT,VERSION
Antrag 9) Optional: Ausblenden (unterdrücken) leerer Zeilen.
Antrag 10) TARGET_ROLES ist eigentlich eine Liste. Dies sollte auch so dargestellt werden. Der Trenner ist das Leerzeichen. Das werden wir später noch brauchen, wenn PeeringOptionen ergründet werden

Channel IEQ0545891:0
AES_ACTIVE: 0
FLAGS: Visible,Internal
PARAMSETS: MASTER,VALUES
PARENT_TYPE: HM-LC-Dim1TPBU-FM
TYPE: MAINTENANCE
Channel IEQ0545891:1
AES_ACTIVE: 0
DIRECTION: RECEIVER
FLAGS: Visible
LINK_TARGET_ROLES: SWITCH,WCS_TIPTRONIC_SENSOR,WEATHER_CS
PARAMSETS: LINK,MASTER,VALUES
PARENT_TYPE: HM-LC-Dim1TPBU-FM
TYPE: DIMMER
get <HMccuChn> deviceinfodas wird, nehme ich an, obsolet.
get <HMccuChn> datapointklappt bei mir nicht. Muss ich etwa besonderes tun?
Nachtrag:klappt jetzt.
Antrag 11) alle Datenpunkte aus der "VALUES" Liste auf einmal lesen und IMMER in Readings darstellen.
Das sind operationelle Zustände. Diese einzeln zu Lesen macht keinen Sinn, jeder will immer alle sehen. Diese müssen auch immer in Readings dargestellt werden. Bedingungslos!
Eingeltlich sollten die Readings automatisch, ohne Kommando, upgedated werden. Ein "force-read-device-states" wäre notwendig, wenn es bedenken beim automatischen update gibt. Sonst ist es obsolet.
Eine Ausgabe in ein Reply-Fenster ist nicht notwendig. Die Readings sind bedingungslos sichtbar. Methoden zum Abgragen/Ausgeben von Readings sind in FHEM standart. Modul-spezifische Methoden sollten nur angeboten werden, wenn es gewichtige Gründe gibt.