Homematic-Register von A-Z (Namen, Erklärung)

Aus FHEMWiki
Version vom 3. Dezember 2021, 14:19 Uhr von Ph1959de (Diskussion | Beiträge) (Link auf nicht existierende Seite entfernt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dieser Artikel soll die Namensgebung der HomeMatic-Register erklären und einen Index aller bekannten Register mit einer kurzen Funktionserklärung liefern. Der Index folgt dabei den Registerklassen, da sich die Namensgebung diesbezüglich ebenfalls unterscheidet.

Zur grundsätzlichen Anwendung von Registerprogrammierung mit einigen Beispielen siehe u.a. den Artikel HomeMatic Register programmieren und HomeMatic HMinfo Templates erstellen.

Einführung

Die Namenskonvention der HomeMatic-Register ist für den Neuling verwirrend, folgt jedoch fast durchgängig einer einfachen Logik

  • er setzt sich aus einem oder mehreren Bestandteilen zusammen
  • er beginnt immer mit einem Kleinbuchstaben
  • jeder weitere Namensbestandteil beginnt mit einem Großbuchstaben
  • die Bezeichnungen der Bestandteile sind englisch, kurze Begriffe werden ausgeschrieben, längere abgekürzt

Die möglichen Bestandteile werden in den jeweiligen Registergruppen (Listen) erläutert.

Details zu den Wertebereichen sowie eine kurze englische Beschreibung liefert der Befehl reglist in Geräten und Kanälen.

Die Registerklassen (Listen) eines HomeMatic-Gerätes

Designvorschlag 1: Unterkapitel mit Inhaltsverzeichniseintrag

Jedes HomeMatic-Gerät besitzt prinzipiell geräte-, kanal- und verknüpfungsbezogene Register. Bei Geräten, die nur einen sogenannten Kanal besitzen, erscheinen alle drei Register gemeinsam in der Definitionsansicht und den Listings in FHEM, bei Geräten mit mehreren Kanälen findet man die verknüfungs- und kanalbezogenen Register in den jeweiligen Kanälen.

Gerätebezogene Register

Gerätebezogene Register existieren für jedes HomeMatic-Gerät nur einmal und werden in der sogenannten List0 gespeichert (in der FHEM-Oberfläche als Hexbytefolge unter RegL_00. zu finden).

brightness

brightness = Helligkeit. Wertebereich: 0-15. Steuert die Helligkeit der LED-Anzeige. Verwendet in: HM-OU-LED16.

energyOpt

energy option = Energieoptionen. Wertebereich: 0 to 127 (Sekunden), zusätzlich "permanent" (dauerhaft). Einschaltdauer des Displays HM-OU-LED16.

Designvorschlag 2: Tabelle

Register Erläuterungen
brightness brightness = Helligkeit. Wertebereich: 0-15. Steuert die Helligkeit der LED-Anzeige. Verwendet in: HM-OU-LED16.
confBtnTime configuration button timeout. Wertangabe in Minuten (!) oder permanent
Nicht immer sind die internen Tasten eines Gerätes ohne weiteres mit Aktionen für kurzen und langen Tastendruck programmierbar. Bei allen Hutschienen-Aktoren sowie den Zwischensteckern (mit nur einem Bedienknopf) versetzt ein langer Tastendruck (4 Sekunden) den Schalter normalerweise in den Konfigurations- bzw. Anlern-Modus, bei den in Unterputzdosen versenkbaren Schalt- und Dimmaktoren (-FM ohne PBU in der Bezeichnung) ohne eigenen Konfigurations-Button gilt dies sogar für die zur normalen Funktion extern angeschlossenen Taster. Dieses Verhalten kann man mit dem Register confBtnTime beeinflussen. Bis zum Ablauf der dort einstellbaren Zeit (in Minuten) nach dem Versorgen mit Strom (powerUp) erreicht man den Konfigurationsmodus wie bisher, danach interpretiert der Aktor die Tastendrücke stets als kurz (short) oder lang (long).
energyOpt energy option = Energieoptionen. Wertebereich: 0 to 127 (Sekunden), zusätzlich permanent (dauerhaft). Einschaltdauer des Displays HM-OU-LED16.
intKeyVisib internal key(s) visible = interne Taste(n) sichtbar. Werte: visib = sichtbar bzw. invisib = unsichtbar (voreingestellt).
Die internen "Tasten" eines Aktors (z.B. die Schaltwippe bei Wandschaltern/-tastern, der Bedienknopf bei Zwischensteckern, aber auch die angeschlossenen externen Taster bei Aktoren für Unterputzdosen oder die von außen zugängliche "Notbedientaste" etwa bei Zwischendecken-Dimmern) sind logisch ebenso mit dem Aktor verknüpft wie externe Bedienelemente wie Funkfernbedienungen oder per Funk verknüpfte Wandtaster. Ihre Betätigung wird (außer mit präparierter Firmware) zwar nicht gesendet (und kann daher von FHEM nicht "gelesen" werden), die vom Hersteller vorgesehenen Funktionen lassen sich aber genauso frei programmieren. Allerdings sind diese internen Verknüpfungen zur Vermeidung versehentlicher Programmierungen zunächst verborgen und müssen daher vor einer Manipulation explizit sichtbar gemacht werden.
ledMode led modus = LED-Betriebsart, on bzw. off.
Die (batteriebetriebenen) -PCB-Aktoren und die 8-Kanal-Module haben kleine LED an Bord, die für Diagnosezwecke hilfreich sind, einem sparsamen Betrieb aber in der Regel entgegenstehen. Sie werden daher nur bei außergewöhnlichen Zuständen wie dem Anlernmodus, einem Reset, oder auch bei niedriger Batteriespannung als Hinweis an den Anwender benutzt und sind ansonsten ab Werk deaktiviert. Bei einer Dauerstromversorgung kann aber eine Schaltzustandsanzeige oder eine Quittung über eine Befehlsaussendung nicht nur zur Diagnose hilfreich sein. Die LED(s)zeigen dann bei Aktoren, ob der Aktor eingeschaltet ist (blinkend, wenn eine Einschaltzeitbegrenzung aktiv ist), und bei den Sensormodulen HM-Mod-EM-8 und HM-Mod-EM-8bit zeigt die zweifarbige LED den von Fernbedienungen bekannten Sendezustand mit gelb, dem dann ein grün oder rot folgt - je nachdem ob eine Quittung angefordert ist und ob sie erfolgreich empfangen wurde.
localResDis local reset disabled = Zurücksetzen am Gerät unmöglich. on' bedeutet, dass das Gerät nicht mehr mit der Konfigurationstaste zurückgesetzt werden kann. off = Reset möglich (voreingestellt)
pairCentral pairing to cental = angelernt an Zentrale. Wert wird hexadezimal dargestellt (000000 bis FFFFFF). 0 bedeutet, dass das Gerät nicht gepairt ist, anderenfalls ist der Wert die hmId der Zentrale.

Kanalbezogene Register

Kanalbezogene Register existieren für jeden Kanal eines Gerätes einmal und werden in der sogenannten List1 gespeichert (in der FHEM-Oberfläche als Hexbytefolge unter RegL_01. zu finden).

(to be continued). Beispiele: sign, dblPress, longPress, expectAES, peerNeedsBurst, ...

Platzhalter für Erklärung der List2

Verknüpfungsbezogene Register

Diese Register sind am umfangreichsten und werden für jeden Verknüpfungspartner (peer) einzeln separat angelegt in der List3 (RegL_03.<peer>). Die grundsätzlichen Funktionen und ihre Zusammenhänge sind auch ausführlich in der Einsteigerdokumentation erklärt, inklusive Skizzen für die sogenannte state machine.

Diese Register regeln das Verhalten eines Aktors beim Erhalt eines sog. Triggers. Tastensensoren senden short- und (automatisch wiederholte) long-Trigger bei kurzen bzw. längeren Tastendrücken. Für beide Arten gibt es relativ ähnliche Registergruppen, die genau festlegen, in welchem Zustand welcher Trigger welche Aktion auslöst. Einen Sonderfall stellen Zustandsmelder dar (Fensterkontakte, Schaltkontaktinterfaces, aber auch Bewegungsmelder), die einmalige Trigger mit einem Wert zwischen 0 und 200 senden. Für diese gelten ebenfalls die short-Registersätze.

Jedes Register setzt sich prinzipiell also zusammen

  • aus einer Unterscheidung, ob sie für short- oder long-Trigger gelten (sh bzw. lg)
  • Aktionswunsch (action) / Bedingung (condition, ct) / Sprungquelle (DimJt bzw. SwJt bei Dimmer/Schaltern) oder Zustand (Off, OnDly, RampOn, On, OffDly, RampOff)
  • der eigentlichen Einstellungsmöglichkeit (Variable)

Der zugewiesene Registerwert steuert dann die Aktion entsprechend.

Platzhalter für weitere Listen

TEXTBAUSTEINSPEICHER (wird entfernt)

Mögliche Aktionstypen bei Tastendruck: - off: Es erfolgt keine Aktion - downDim: Herunterdimmen bei langem Tastendruck (peer dual) - upDim: Hochdimmen bei langem Tastendruck (peer dual - toggleDim: Herunter.oder Hochdimmen bei langem Tastendruck, wechselt (Eintastenb, peer single) - jmpToTarget: Springe zum definierten Sprungziel - toggleDimToCntInv? - toggleDimToCnt? - toggleToCntInv? - toggleToCnt? Triggerschwellen für Werte (jeweils zwei für short und long-Trigger) - [sh|lg]CtValHi: hoher Triggerwert (High) für Short/Long (0-255, normal 100) - [sh|lg]CtValLo: niedriger Triggerwert (Low) für Short/Long (0-255, normal 50) Mögliche Bedingungen für einen Trigger (Trigger ist erfüllt, wenn bereitgestellter Wert …) - ltLo/ltHi (less than low/high): niedriger als Low/High - geLo/geHi (greater than or equal low/high) gleich oder höher als High - between: zwischen Low und High, also über/gleich Low und kleiner/gleich High - outside: kleiner als Low und größer als High Die Triggerbedingungen gibt es getrennt für jeden aktuellen Zustand des Dimm-Aktors: - [sh|lg]Ct[Off|DlyOn|RampOn|On|DlyOff|RampOff|Off], insgesamt 12 Sprungquellen und Sprungziele: Bei Eintreffen eines gültigen Triggers wird von einem Zustand in einen anderen Zustand gesprungen. Hier gibt es - DimJt...

Links