diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm
index bcc9aee90..ef2b96c1e 100755
--- a/fhem/FHEM/10_CUL_HM.pm
+++ b/fhem/FHEM/10_CUL_HM.pm
@@ -6389,6 +6389,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
=begin html
+
CUL_HM
Support for eQ-3 HomeMatic devices via the CUL or the
-
- Set
+ Set
Note: devices which are normally send-only (remote/sensor/etc) must be set
into pairing/learning mode in order to receive the following commands.
@@ -6588,10 +6588,10 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
set mydimmer getRegRaw List3 all
- getSerial
+ getSerial
Read serial number from device and write it to attribute serialNr.
- inhibit [on|off]
+ inhibit [on|off]
Block / unblock all changes to the actor channel, i.e. actor state is frozen
until inhibit is set off again. Inhibit can be executed on any actor channel
but obviously not on sensors - would not make any sense.
@@ -6631,7 +6631,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
Main purpose of this command is to re-store data to a device.
It is recommended to restore register configuration utilising
regBulk subsequent.
- Example:
+ Example:
set myChannel peerBulk 12345601,
set myChannel peerBulk self01,self02,FB_Btn_04,FB_Btn_03,
@@ -6716,7 +6716,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
subType dependent commands:
-
+
- switch
@@ -6758,7 +6758,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
- toggle - toggle the Actor. It will switch from any current
level to off or from off to 100%
-
+
- dimmer, blindActuator
Dimmer may support virtual channels. Those are autocrated if applicable. Usually there are 2 virtual channels
@@ -6793,7 +6793,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
ramptime is optional an defines the change speed to reach the new level. It is meaningful only for dimmer.
-
+
remotes, pushButton
This class of devices does not react on requests unless they are put
@@ -6801,16 +6801,16 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
learn mode is detected. Manual interaction of the user is necessary to
activate learn mode. Whether commands are pending is reported on
device level with parameter 'protCmdPend'.
-
peerIODev [IO] <btn_no> [set|unset]
- The command is similar to peerChan. While peerChan
+ The command is similar to peerChan.
+ While peerChan
is executed on a remote and peers any remote to any actor channel peerIODev is
executed on an actor channel and peer this to an channel of an FHEM IO device.
An IO device according to eQ3 supports up to 50 virtual buttons. Those
will be peered/unpeerd to the actor. press can be
used to stimulate the related actions as defined in the actor register.
-
+
- peerChan <btn_no> <actChan> [single|dual]
[set|unset] [both|actor|remote]
@@ -6887,7 +6887,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
-
+
virtual
@@ -7021,7 +7021,8 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
- ilum <brightness><duration>
<brightness> [0-15] of backlight.
<duration> [0-127] in sec. 0 is permanent 'on'.
-
+
+
OutputUnit (HM-OU-CFM-PL)
- led <color>[,<color>..] [<repeat>..]
@@ -7050,7 +7051,8 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
-
+
+
HM-RC-19xxx
- alarm <count>
@@ -7091,7 +7093,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
-
+
keyMatic
The Keymatic uses the AES signed communication. Therefore the control
of the Keymatic is only together with the HM-LAN adapter possible. But
@@ -7108,7 +7110,8 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
Unlocked the door so that the door can be opened.
[sec]: Sets the delay in seconds after the lock automatically locked
again.
0 - 65535 seconds
-
+
+
winMatic
winMatic provides 2 channels, one for the window control and a second
for the accumulator.
@@ -7122,7 +7125,8 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
stop
stop movement
-
+
+
HM-Sys-sRP-Pl
setup the repeater's entries. Up to 36entries can be applied.
@@ -7148,7 +7152,6 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
-
Debugging:
@@ -7167,10 +7170,9 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
-
-
- Get
-
+ Get
+
- configSave <filename>
Saves the configuration of an entity into a file. Data is stored in a
format to be executed from fhem command prompt.
@@ -7242,10 +7244,10 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
prior to rewrite data to an entity it is necessary to pair the device with FHEM.
restore will not delete any peered channels, it will just add peer channels.
-
+
+
-
- Attributes
+ Attributes
- eventMap
- do_not_notify
@@ -7392,8 +7394,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
NOTE: This will apply to readings and set commands. It does not apply to any register.
-
- Generated events:
+ Generated events:
- general
recentStateType:[ack|info] # cannot be used ti trigger notifies
@@ -7565,7 +7566,7 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
- sensRain
$val
powerOn
- level
+ level <val≥
timedOn [running|off]
# on is temporary - e.g. started with on-for-timer
trigger [Long|Short]_$no trigger event from channel
@@ -7616,1121 +7617,1118 @@ sub CUL_HM_configUpdate($) {# mark entities with changed data
=end html
-
=begin html_DE
-
-CUL_HM
-
-Unterstützung für eQ-3 HomeMatic Geräte via CUL oder HMLAN.
-
-
-Define
-
-define <name> CUL_HM <6-digit-hex-code|8-digit-hex-code>
-
-
-Eine korrekte Gerätedefinition ist der Schlüssel zur einfachen Handhabung der HM-Umgebung.
-
-
-Hintergrund zur Definition:
-HM-Geräte haben eine 3 Byte (6 stelliger HEX-Wert) lange HMid - diese ist Grundlage
-der Adressierung. Jedes Gerät besteht aus einem oder mehreren Kanälen. Die HMid für einen
-Kanal ist die HMid des Gerätes plus die Kanalnummer (1 Byte, 2 Stellen) in
-hexadezimaler Notation.
-Kanäle sollten für alle mehrkanaligen Geräte definiert werden. Einträge für Kanäle
-können nicht angelegt werden wenn das zugehörige Gerät nicht existiert.
Hinweis: FHEM
-belegt das Gerät automatisch mit Kanal 1 falls dieser nicht explizit angegeben wird. Daher
-ist bei einkanaligen Geräten keine Definition nötig.
-
-Hinweis: Wird ein Gerät gelöscht werden auch die zugehörigen Kanäle entfernt.
Beispiel einer
-vollständigen Definition eines Gerätes mit 2 Kanälen:
-
-define livingRoomSwitch CUL_HM 123456
-define LivingroomMainLight CUL_HM 12345601
-define LivingroomBackLight CUL_HM 12345602
-
-
-livingRoomSwitch bezeichnet das zur Kommunikation verwendete Gerät. Dieses wird
-vor den Kanälen definiert um entsprechende Verweise einstellen zu können.
-LivingroomMainLight hat Kanal 01 und behandelt den Lichtstatus, Kanal-Peers
-sowie zugehörige Kanalregister. Falls nicht definiert wird Kanal 01 durch die Geräteinstanz
-abgedeckt.
LivingRoomBackLight ist der zweite "Kanal", Kanal 02. Seine
-Definition ist verpflichtend um die Funktion ausführen zu können.
-
-Sonderfall Sender: HM behandelt jeden Knopf einer Fernbedienung, Drucktaster und
-ähnliches als Kanal . Es ist möglich (nicht notwendig) einen Kanal pro Knopf zu
-definieren. Wenn alle Kanäle definiert sind ist der Zugriff auf Pairing-Informationen
-sowie auf Kanalregister möglich. Weiterhin werden Verknüpfungen durch Namen besser
-lesbar.
-
-define kann auch durch das autocreate
-Modul aufgerufen werden, zusammen mit dem notwendigen subType Attribut.
-Normalerweise erstellt man hmPairForSec und drückt dann den
-zugehörigen Knopf am Gerät um die Verknüpfung herzustellen oder man verwendet hmPairSerial falls das Gerät ein Empfänger und die Seriennummer
-bekannt ist. Autocreate wird dann ein FHEM-Gerät mit allen notwendigen Attributen anlegen.
-Ohne Pairing wird das Gerät keine Befehle von FHEM akzeptieren. Selbst wenn das Pairing
-scheitert legt FHEM möglicherweise das Gerät an. Erfolgreiches Pairen wird
-durch den Eintrag CommandAccepted in den Details zum CUL_HM Gerät angezeigt.
-
-Falls autocreate nicht verwendet werden kann muss folgendes spezifiziert werden:
-
-- Der <6-stellige-Hex-Code>oder HMid+ch <8-stelliger-Hex-Code>
-Das ist eine einzigartige, festgelegte Geräteadresse die nicht geändert werden kann (nein,
-man kann sie nicht willkürlich auswählen wie z.B. bei FS20 Geräten). Man kann sie feststellen
-indem man das FHEM-Log durchsucht.
-- Das subType Attribut
-Dieses lautet: switch dimmer blindActuator remote sensor swi
-pushButton threeStateSensor motionDetector keyMatic winMatic
-smokeDetector
-- Das model Attribut
-ist entsprechend der HM Nomenklatur zu vergeben
-
-Ohne diese Angaben kann FHEM nicht korrekt mit dem Gerät arbeiten.
-
-Hinweise
-
-- Falls das Interface ein Gerät vom Typ CUL ist muss rfmode
-des zugehörigen CUL/CUN Gerätes auf HomeMatic gesetzt werden.
-Achtung: Dieser Modus ist nur für BidCos/Homematic. Nachrichten von FS20/HMS/EM/S300
-werden durch diese Gerät nicht empfangen. Bereits definierte FS20/HMS
-Geräte müssen anderen Eingängen zugeordnet werden (CUL/FHZ/etc).
-
-
-- Nachrichten eines Geräts werden nur richtig interpretiert wenn der Gerätetyp
-bekannt ist. FHEM erhält den Gerätetyp aus einer"pairing request"
-Nachricht, selbst wenn es darauf keine Antwort erhält (siehe hmPairSerial und hmPairForSec um Parinig zu ermöglichen).
-Alternativ, setzen des richtigen subType sowie Modelattributes, für eine Liste der
-möglichen subType-Werte siehe "attr hmdevice ?".
-
-- Die sogenannte "AES-Verschlüsselung" ist eigentlich eine Signaturanforderung: Ist sie
-aktiviert wird ein Aktor den erhaltenen Befehl nur ausführen falls er die korrekte
-Antwort auf eine zuvor durch den Aktor gestellte Anfrage erhält. Das bedeutet:
-
-- Die Reaktion auf Befehle ist merklich langsamer, da 3 Nachrichten anstatt einer übertragen
-werden bevor der Befehl vom Aktor ausgeführt wird.
-- Jeder Befehl sowie seine Bestätigung durch das Gerät wird in Klartext übertragen, ein externer
-Beobachter kennt somit den Status jedes Geräts.
-- Die eingebaute Firmware ist fehlerhaft: Ein "toggle" Befehl wir ausgeführt bevor die
-entsprechende Antwort auf die Signaturanforderung empfangen wurde, zumindest bei einigen Schaltern
-(HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM).
-- Der HMLAN Konfigurator beantwortet Signaturanforderungen selbstständig,
-ist dabei die 3-Byte-Adresse einer anderen CCU eingestellt welche noch immer das Standardpasswort hat,
-kann dieser Signaturanfragen korrekt beantworten.
-- AES-Verschlüsselung kann nicht bei einem CUL als Interface eingesetzt werden, wird allerdings
-durch HMLAN unterstützt. Aufgrund dieser Einschränkungen ist der Einsatz der Homematic-Verschlüsselung
-nicht zu empfehlen!
-
-
-
-
-
-
-Set
-
-Hinweis: Geräte die normalerweise nur senden (Fernbedienung/Sensor/etc.) müssen in den
-Pairing/Lern-Modus gebracht werden um die folgenden Befehle zu empfangen.
-
-
-
-Allgemeine Befehle (verfügbar für die meisten HM-Geräte):
-
-- clear <[readings|register|msgEvents]>
-Eine Reihe von Variablen kann entfernt werden.
-
-readings: Alle Messwerte werden gelöscht, neue Werte werden normal hinzugefügt. Kann benutzt werden um alte Daten zu entfernen
-register: Alle in FHEM aufgezeichneten Registerwerte werden entfernt. Dies hat KEINEN Einfluss auf Werte im Gerät.
-msgEvents: Alle Anchrichtenzähler werden gelöscht. Ebenso wird der Befehlsspeicher zurückgesetzt.
-rssi: gesammelte RSSI-Werte werden gelöscht.
-
-
-- getConfig
-Liest die Hauptkonfiguration eines HM_Gerätes aus. Angewendet auf einen Kanal
-erhält man Pairing-Information, List0, List1 und List3 des ersten internen Peers.
-Außerdem erhält man die Liste der Peers für den gegebenen Kanal. Wenn auf ein Gerät
-angewendet so bekommt man mit diesem Befehl die vorherigen Informationen für alle
-zugeordneten Kanäle. Ausgeschlossen davon sind Konfigurationen zusätzlicher Peers.
-
Der Befehl ist eine Abkürzung für eine Reihe anderer Befehle.
-
-- getRegRaw [List0|List1|List2|List3|List4|List5|List6]
-<peerChannel>
-Auslesen der Rohdaten des Registersatzes. Eine Beschreibung der Register sprengt
-den Rahmen dieses Dokuments.
-
-Die Register sind in sog. Listen strukturiert welche einen Satz Register enthalten.
-
-List0: Geräteeinstellungen z.B: Einstellungen für CUL-Pairing Temperaturlimit eines Dimmers.
-
-List1: Kanaleinstellungen z.B. benötigte Zeit um Rollo hoch und runter zu fahren.
-
-List3: "link" Einstellungen - d.h. Einstellungen für Peer-Kanal. Das ist eine große Datenmenge!
-Steuert Aktionen bei Empfang eines Triggers vom Peer.
-
-List4: Einstellungen für den Kanal (Taster) einer Fernbedienung.
-
-<PeerChannel> verknüpfte HMid+ch, z.B. 4 byte (8 stellige) Zahl wie
-'12345601'. Ist verpflichtend für List3 und List4 und kann ausgelassen werden
-für List0 und 1.
-
-'all' kann verwendet werden um Daten von jedem mit einem Kanal verknüpften Link zu bekommen.
-
-'selfxx' wird verwendet um interne Kanäle zu adressieren (verbunden mit den eingebauten Schaltern
-falls vorhanden). xx ist die Kanalnummer in dezimaler Notation.
-
-Hinweis 1: Ausführung ist abhängig vom Entity. Wenn List1 für ein Gerät statt einem Kanal
-abgefragt wird gibt der Befehl List1 für alle zugehörigen Kanäle aus.
-List3 mit 'peerChannel = all' gibt alle Verbindungen für alle Kanäle eines Gerätes zurück.
-
-Hinweis 2: für 'Sender' siehe auch remote
-
-Hinweis 3: Das Abrufen von Informationen kann dauern - besonders für Geräte
-mit vielen Kanälen und Verknüpfungen. Es kann nötig sein das Webinterface manuell neu zu laden
-um die Ergebnisse angezeigt zu bekommen.
-
-Hinweis 4: Direkte Schalter eines HM-Geräts sind standardmäßig ausgeblendet.
-Dennoch sind sie genauso als Verknüpfungen implemetiert. Um Zugriff auf 'internal links'
-zu bekommen ist es notwendig folgendes zu erstellen:
-'set <name> regSet intKeyVisib visib'
-oder
-'set <name> regBulk RegL_0: 2:81'
-Zurücksetzen lässt es sich indem '81' mit '01' ersetzt wird.
example:
-
-
-set mydimmer getRegRaw List1
-set mydimmer getRegRaw List3 all
-
-
-- getSerial
-Auslesen der Seriennummer eines geräts und speichern in Attribut serialNr.
-
-- inhibit [on|off]
-Blockieren/Zulassen aller Kanaländerungen eines Aktors, d.h. Zustand des Aktors ist
-eingefroren bis 'inhibit' wieder deaktiviert wird. 'Inhibit' kann für jeden Aktorkanal
-ausgeführt werden aber natürlich nicht für Sensoren - würde auch keinen Sinn machen.
-Damit ist es praktischerweise möglich Nachrichten ebenso wie verknüpfte Kanalaktionen
-temporär zu unterdrücken ohne sie löschen zu müssen.
-Beispiele:
-
-# Ausführung blockieren
-set keymatic inhibit on
-
-
-
-- pair
-Verbinden eines Geräts bekannter Seriennummer (z.b. nach einem Reset)
-mit einer FHEM-Zentrale. Diese Zentrale wird normalerweise durch CUL/CUNO,
-HMLAN,... hergestellt.
-Wenn verbunden melden Geräte ihren Status and FHEM.
-Wenn nicht verbunden wird das Gerät auf bestimmte Anfragen nicht reagieren
-und auch bestimmte Statusinformationen nicht melden. Pairing geschieht auf
-Geräteebene. Kanäle können nicht unabhängig von einem Gerät mit der Zentrale
-verbunden werden.
-Siehe auch getPair und
-unpair.
-Nicht das Verbinden (mit einer Zentrale) mit verknüpfen (Kanal zu Kanal) oder
-peerChan verwechseln.
-
-- peerBulk <peerch1,peerch2,...> [set|unset]
-peerBulk fügt Peer-Kanäle zu einem Kanal hinzu. Alle Peers einer Liste werden
-dabei hinzugefügt.
-Peering setzt die Einstellungen einer Verknüpfung auf Standardwerte. Da Peers nicht in Gruppen
-hinzugefügt werden werden sie durch HM standardmäßig als'single' für dieses Gerät
-angelegt.
-Eine ausgeklügeltere Funktion wird gegeben durch
-peerChan.
-peerBulk löscht keine vorhandenen Peers sondern bearbeitet nur die Peerliste.
-Andere bereits angelegt Peers werden nicht verändert.
-peerBulk kann verwendet werden um Peers zu löschen indem die unset Option
-mit Standardeinstellungen aufgerufen wird.
-
-Verwendungszweck dieses Befehls ist hauptsächlich das Wiederherstellen
-von Daten eines Geräts.
-Empfehlenswert ist das anschließende Wiederherstellen der Registereinstellung
-mit regBulk.
-Beispiel:
-
-set myChannel peerBulk 12345601,
-set myChannel peerBulk self01,self02,FB_Btn_04,FB_Btn_03,
-set myChannel peerBulk 12345601 unset # entferne Peer 123456 Kanal 01
-
-
-- regBulk <reg List>:<peer> <addr1:data1> <addr2:data2>...
-
-Dieser Befehl ersetzt das bisherige regRaw. Er erlaubt Register mit Rohdaten zu
-beschreiben. Hauptzweck ist das komplette Wiederherstellen eines zuvor gesicherten
-Registers.
-Werte können mit getConfig ausgelesen werden. Die
-zurückgegebenen Werte können direkt für diesen Befehl verwendet werden.
-<reg List> bezeichnet die Liste in die geschrieben werden soll. Mögliches Format
-'00', 'RegL_00', '01'...
-<peer> ist eine optionale Angabe falls die Liste ein Peer benötigt.
-Der Peer kann als Kanalname oder als 4-Byte (8 chars) HM-Kanal ID angegeben
-werden.
-<addr1:data1> ist die Liste der Register im Hex-Format.
-Beispiel:
-
-set myChannel regBulk RegL_00: 02:01 0A:17 0B:43 0C:BF 15:FF 00:00
-RegL_03:FB_Btn_07
-01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:93 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:93 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:44 8C:54 8D:93 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:05 9E:93 9F:00 00:00
-set myblind regBulk 01 0B:10
-set myblind regBulk 01 0C:00
-
-myblind setzt die maximale Zeit für das Hochfahren der Rollos auf 25,6 Sekunden
-- regSet [prep|exec] <regName> <value> <peerChannel>
-Für einige Hauptregister gibt es eine lesbarere Version die Registernamen <regName>
-und Wandlung der Werte enthält. Nur ein Teil der Register wird davon unterstützt.
-Der optionale Parameter [prep|exec] erlaubt das Packen von Nachrichten und verbessert damit
-deutlich die Datenübertragung.
-Benutzung durch senden der Befehle mit Parameter "prep". Daten werden dann für das Senden gesammelt.
-Der letzte Befehl muss den Parameter "exec" habe um die Information zu übertragen.
-<value> enthält die Daten in menschenlesbarer Form die in das Register geschrieben werden.
-<peerChannel> wird benötigt falls das Register 'peerChan' basiert definiert wird.
-Kann ansonsten auf '0' gesetzt werden. Siehe getRegRaw für komplette Definition.
-Unterstützte Register eines Geräts können wie folgt bestimmt werden:
-
-Eine verkürzte Beschreibung der Register wird zurückgegeben mit:
-
-
-- reset
-Rücksetzen des Geräts auf Werkseinstellungen. Muss danach erneut verbunden werden um es
-mit FHEM zu nutzen.
-
-- sign [on|off]
-Ein- oder ausschalten der Signierung (auch "AES-Verschlüsselung" genannt, siehe note). Achtung: Wird das Gerät über einen CUL eingebunden ist schalten (oder
-deaktivieren der Signierung) nicht möglich, das Gerät muss direkt zurückgesetzt werden.
-
-- statusRequest
-Aktualisieren des Gerätestatus. Für mehrkanalige Geräte sollte dies kanalbasiert
-erfolgen.
-
-- unpair
-Aufheben des "Pairings", z.B. um das verbinden mit einem anderen Master zu ermöglichen.
-Siehe pair für eine Beschreibung.
-- virtual <Anzahl an Knöpfen>
-Konfiguriert eine vorhandene Schaltung als virtuelle Fernbedienung. Die Anzahl der anlegbaren
-Knöpfe ist 1 - 255. Wird der Befehl für die selbe Instanz erneut aufgerufen werden Knöpfe
-hinzugefügt.
-Beispiel für die Anwendung:
-
-define vRemote CUL_HM 100000 # die gewählte HMid darf nicht in Benutzung sein
-set vRemote virtual 20 # definiere eine Fernbedienung mit 20 Knöpfen
-set vRemote_Btn4 peerChan 0 <actorchannel> # verknüpft Knopf 4 und 5 mit dem gewählten Kanal
-set vRemote_Btn4 press
-set vRemote_Btn5 press long
-
-siehe auch press
-
-
-
-subType abhängige Befehle:
-
-
-- switch
-
-- on - setzt Wert auf 100%
-- off - setzt Wert auf 0%
-- on-for-timer <sec> -
-Schaltet das Gerät für die gewählte Zeit in Sekunden [0-85825945] an.
Hinweis:
-off-for-timer wie bei FS20 wird nicht unterstützt. Kann aber über Kanalregister
-programmiert werden.
-- on-till <time> - einschalten bis zum angegebenen Zeitpunkt.
-set <name> on-till 20:32:10
-Das momentane Maximum für eine Endzeit liegt bei 24 Stunden.
-
-- press <[short|long]><[on|off]>
-press <[short|long]><[noBurst]>
-simuliert den Druck auf einen lokalen Knopf oder direkt verbundenen Knopf des Aktors.
-[short|long] wählt aus ob ein kurzer oder langer Tastendruck simuliert werden soll.
-[on|off] ist relevant für Geräte mit direkter Bedienung pro Kanal.
-Verfügbar für Dimmer und Rollo-Aktoren, normalerweise nicht für Schalter.
-[noBurst] ist relevant für Peers die bedingte Bursts unterstützen.
-Dies bewirkt das der Befehl der Warteliste des Peers zugefügt wird. Ein Burst wird anschließend
-nicht ausgeführt da der Befehl wartet bis der Peer aufgewacht ist. Dies führt zu einer
-Verzögerung des Tastendrucks, reduziert aber Übertragungs- und Performanceaufwand.
-
-- toggle - toggled den Aktor. Schaltet vom aktuellen Level auf
-0% oder von 0% auf 100%
-
-
-
-- dimmer, blindActuator
-Dimmer können virtuelle Kanäle unterstützen. Diese werden automatisch angelegt falls vorhanden.
-Normalerweise gibt es 2 virtuelle Kanäle zusätzlich zum primären Kanal. Virtuelle Dimmerkanäle sind
-standardmäßig deaktiviert, können aber parallel zum ersten Kanal benutzt werden um das Licht zu steuern.
-Die virtuellen Kanäle haben Standardnamen SW<channel>_V<nr> z.B. Dimmer_SW1_V1 and Dimmer_SW1_V2.
-Virtuelle Dimmerkanäle unterscheiden sich komplett von virtuellen Knöpfen und Aktoren in FHEM, sind aber
-Teil des HM-Geräts. Dokumentation und Möglichkeiten würde hier aber zu weit führen.
-
-- 0 - 100 [on-time] [ramp-time]
-Setzt den Aktor auf den gegeben Wert (In Prozent)
-mit einer Auflösung von 0.5.
-Bei Dimmern ist optional die Angabe von "on-time" und "ramp-time" möglich, beide in Sekunden mit 0.1s Abstufung.
-"On-time" verhält sich analog dem "on-for-timer".
-"Ramp-time" beträgt standardmäßig 2.5s, 0 bedeutet umgehend.
-
-- on
-- off
-- press <[short|long]><[on|off]>
-- toggle
-- on-for-timer <sec> - Nur Dimmer!
-- on-till <time> - Nur Dimmer!
-- stop - Stopt Bewegung (Rollo) oder Dimmerrampe
-- pct <level> [<ontime>] [<ramptime>] - setzt Aktor auf gewünschten absolut Wert.
-Optional können für Dimmer "ontime" und "ramptime" angegeben werden.
-"Ontime" kann dabei in Sekunden angegeben werden. Kann auch als Endzeit angegeben werden im Format hh:mm:ss
-
-- up [changeValue] [<ontime>] [<ramptime>] Einen Schritt hochdimmen.
-- down [changeValue] [<ontime>] [<ramptime>] Einen Schritt runterdimmen.
-"changeValue" ist optional und gibt den zu ändernden Wert in Prozent an. Mögliche Abstufung dabei ist 0.5%, Standard ist 10%.
-"ontime" ist optional und gibt an wielange der Wert gehalten werden soll. '0' bedeutet endlos und ist Standard.
-"ramptime" ist optional und definiert die Zeit bis eine Änderung den neuen Wert erreicht. Hat nur für Dimmer Bedeutung.
-
-
-
-
-- remotes, pushButton
-Diese Geräteart reagiert nicht auf Anfragen, außer sie befinden sich im Lernmodus. FHEM reagiert darauf
-indem alle Anfragen gesammelt werden bis der Lernmodus detektiert wird. Manuelles Eingreifen durch
-den Benutzer ist dazu nötig. Ob Befehle auf Ausführung warten kann auf Geräteebene mit dem Parameter
-'protCmdPend' abgefragt werden.
-
-- peerChan <btn_no> <actChan> [single|dual]
-[set|unset] [both|actor|remote]
-"peerChan" richtet eine Verbindung zwischen Sender-Kanal und
-Aktor-Kanal ein, bei HM "link" genannt. "Peering" darf dabei nicht
-mit "pairing" verwechselt werden.
-Pairing bezeichnet das Zuordnen eines Geräts zu einer Zentrale.
-Peering bezeichnet das faktische Verbinden von Kanälen.
-Peering erlaubt die direkte Interaktion zwischen Sender und Aktor ohne den Einsatz einer CCU
-Peering eines Senderkanals veranlaßt den Sender nach dem Senden eines Triggers auf die
-Bestätigung eines - jeden - Peers zu warten. Positives Feedback (z.B. grüne LED)
-gibt es dabei nur wenn alle Peers den Befehl bestätigt haben.
-Peering eines Aktorkanals richtet dabei einen Satz von Parametern ein welche die auszuführenden Aktionen
-definieren wenn ein Trigger dieses Peers empfangen wird. Dies bedeutet:
-- nur Trigger von Peers werden ausgeführt
-- die auszuführende Aktion muss für den zugehörigen Trigger eines Peers definiert werden
-Ein Aktorkanal richtet dabei eine Standardaktion beim Peering ein - diese hängt vom Aktor ab.
-Sie kann ebenfalls davon abhängen ob ein oder zwei Tasten ein einem Befehl gepeert werden.
-Peert man einen Schalter mit 2 Tasten kann eine Taste für 'on' und eine andere für 'off' angelegt werden.
-Wenn nur eine Taste definiert wird ist die Funktion wahrscheinlich 'toggle'.
-Die Funktion kann durch programmieren des Register (vom Aktor abhängig) geändert werden.
-
-Auch wenn der Befehl von einer Fernbedienung oder einem Taster kommt hat er direkten Effekt auf
-den Aktor. Das Peering beider Seiten ist quasi unabhängig und hat unterschiedlich Einfluss auf
-Sender und Empfänger.
-Peering eines Aktorkanals mit mehreren Senderkanälen ist ebenso möglich wie das eines Senderkanals
-mit mehreren Empfängerkanälen.
-
-<actChan> ist der zu verknüpfende Aktorkanal.
-
-<btn_no> ist der zu verknüpfende Senderkanal (Knopf). Wird
-'single' gewählt werden die Tasten von 1 an gezählt. Für 'dual' ist btn_no
-die Nummer des zu verwendenden Tasterpaares. Z.B. ist '3' iim Dualmodus das
-dritte Tasterpaar welches mit Tasten 5 und 6 im Singlemodus übereinstimmt.
-
-Wird der Befehl auf einen Kanal angewendet wird btn_no igroriert.
-Muss gesetzt sein, sollte dabei 0 sein.
-
-[single|dual]: Dieser Modus bewirkt das Standardverhalten des Aktors bei Benutzung eines Tasters. Ein Dimmer
-kann z.B. an einen einzelnen oder ein Paar von Tastern angelernt werden.
-Standardeinstellung ist "dual".
-
-'dual' (default) Schalter verknüpft zwei Taster mit einem Aktor. Bei einem Dimmer
-bedeutet das ein Taster für hoch- und einer für runterdimmen.
-
-'single' benutzt nur einen Taster des Senders. Ist z.B. nützlich für einen einfachen Schalter
-der nur zwischen an/aus toggled. Aber auch ein Dimmer kann an nur einen Taster angelernt werden.
-
-[set|unset]: Wählt aus ob Peer hinzugefügt oder entfernt werden soll.
-Hinzufügen ist Standard.
-'set' stellt Peers für einen Kanal ein.
-'unset' entfernt Peer für einen Kanal.
-
-[actor|remote|both] beschränkt die Ausführung auf Aktor oder Fernbedienung.
-Das ermöglicht dem Benutzer das entfernen des Peers vom Fernbedienungskanal ohne
-die Einstellungen am Aktor zu entfernen.
-Standardmäßig gewählt ist "both" für beides.
-
-Example:
-
-
-set myRemote peerChan 2 mySwActChn single set #Peer zweiten Knopf mit Aktorkanal
-set myRmtBtn peerChan 0 mySwActChn single set #myRmtBtn ist ein Knopf der Fernbedienung. '0' wird hier nicht verarbeitet
-set myRemote peerChan 2 mySwActChn dual set #Verknüpfe Knöpfe 3 und 4
-set myRemote peerChan 3 mySwActChn dual unset #Entferne Peering für Knöpfe 5 und 6
-set myRemote peerChan 3 mySwActChn dual unset aktor #Entferne Peering für Knöpfe 5 und 6 nur im Aktor
-set myRemote peerChan 3 mySwActChn dual set remote #Verknüpfe Knöpfe 5 und 6 nur mit Fernbedienung. Linkeinstellungen mySwActChn werden beibehalten.
-
-
-
-
-
-- virtual
-
-- peerChan siehe remote
-- press [long|short]
-Simuliert einen kurzen (Standard) oder langen Tastendruck. Zu beachten ist dass die momentane
-Implementierung für "long" keine Dauer angibt . Es wird nur ein Trigger vom Typ "long" gesendet.
-
-- virtTemp <[off -10..50]>
-Simuliert ein Thermostat. Wenn mit einem Gerät gepeert wird periodisch eine Temperatur gesendet,
-solange bis "off" gewählt wird. Siehe auch virtHum
-
-- virtHum <[off -10..50]>
-Simuliert den Feuchtigkeitswert eines Thermostats. Wenn mit einem Gerät verknüpft werden periodisch
-Luftfeuchtigkeit undTemperatur gesendet, solange bis "off" gewählt wird. Siehe auch virtTemp
-
-- valvePos <[off 0..100]>
-steuert einen Ventilantrieb
-
-
-
-- smokeDetector
-Hinweis: All diese Befehle funktionieren momentan nur wenn mehr als ein Rauchmelder
-vorhanden ist, und diese gepeert wurden um eine Gruppe zu bilden. Um die Befehle abzusetzen
-muss der Master dieser gruppe verwendet werden, und momentan muss man raten welcher der Master ist.
-smokeDetector kann folgendermaßen in Gruppen eingeteilt werden:
-peerChan. Alle Mitglieder müssen mit dem Master verknüpft werden. Auch der
-Master muss mit peerChan zur Gruppe zugefügt werden - z.B. mit sich selbst verknüpft! Dadurch hat man volle
-Kontrolle über die Gruppe und muss nicht raten.
-
-- teamCall - führt einen Netzwerktest unter allen Gruppenmitgliedern aus
-- alarmOn - löst einen Alarm aus
-- alarmOff - schaltet den Alarm aus
-
-
-- 4Dis (HM-PB-4DIS-WM)
-
-- text <btn_no> [on|off] <text1> <text2>
-Zeigt Text auf dem Display eines Geräts an. Für diesen Zweck muss zuerst ein set-Befehl
-(oder eine Anzahl davon) abgegeben werden, dann können im "teach-in" Menü des 4Dis mit
-"Central" Daten übertragen werden.
-Falls auf einen Kanal angewendet dürfen btn_no und on|off nicht verwendet werden, nur
-reiner Text.
-Beispiel:
-
-
-set 4Dis text 1 on On Lamp
-set 4Dis text 1 off Kitchen Off
-
-set 4Dis_chn4 text Kitchen Off
-
-
-
-
-
-- Climate-Control (HM-CC-TC)
-
-- desired-temp <temp>
-Setzt verschiedene Temperaturen. <temp> muss zwischen 6°C und 30°C liegen, die Auflösung beträgt 0.5°C.
-- tempListSat [prep|exec] HH:MM temp ... 24:00 temp
-- tempListSun [prep|exec] HH:MM temp ... 24:00 temp
-- tempListMon [prep|exec] HH:MM temp ... 24:00 temp
-- tempListTue [prep|exec] HH:MM temp ... 24:00 temp
-- tempListThu [prep|exec] HH:MM temp ... 24:00 temp
-- tempListWed [prep|exec] HH:MM temp ... 24:00 temp
-- tempListFri [prep|exec] HH:MM temp ... 24:00 temp
-Gibt eine Liste mit Temperaturintervallen an. Bis zu 24 Intervall können pro Wochentag definiert werden, die
-Auflösung dabei sind 10 Minuten. Die letzte Zeitangabe muss 24:00 Uhr sein.
-Beispiel: bis 6:00 soll die Temperatur 19°C sein, dann bis 23:00 Uhr 22.5°C, anschließend
-werden bis Mitternacht 19°C gewünscht.
- set th tempListSat 06:00 19 23:00 22.5 24:00 19
-
-- partyMode <HH:MM><durationDays>
-setzt die Steuerung für die angegebene Zeit in den Partymodus. Dazu ist die Endzeit sowie Anzahl an Tagen
-die er dauern soll anzugeben. Falls er am nächsten Tag enden soll ist '1'
-anzugeben
-- systime
-setzt Zeit des Klimakanals auf die Systemzeit
-
-
-- Climate-Control (HM-CC-RT-DN|HM-CC-RT-DN-BoM)
-
-- controlMode <auto|boost|day|night>
-- controlManu <temp>
-- controlParty <temp><startDate><startTime><endDate><endTime>
-setzt die Steuerung in den Partymodus, definiert Temperatur und Zeitrahmen.
-Beispiel:
-set controlParty 15 03.8.13 20:30 5.8.13 11:30
-- systime
-setzt Zeit des Klimakanals auf die Systemzeit
-- desired-temp <temp>
-Setzt verschiedene Temperaturen. <temp> muss zwischen 6°C und 30°C liegen, die Auflösung beträgt 0.5°C.
-- tempListSat [prep|exec] HH:MM temp ... 24:00 temp
-- tempListSun [prep|exec] HH:MM temp ... 24:00 temp
-- tempListMon [prep|exec] HH:MM temp ... 24:00 temp
-- tempListTue [prep|exec] HH:MM temp ... 24:00 temp
-- tempListThu [prep|exec] HH:MM temp ... 24:00 temp
-- tempListWed [prep|exec] HH:MM temp ... 24:00 temp
-- tempListFri [prep|exec] HH:MM temp ... 24:00 temp
-Gibt eine Liste mit Temperaturintervallen an. Bis zu 24 Intervall können pro Wochentag definiert werden, die
-Auflösung dabei sind 10 Minuten. Die letzte Zeitangabe muss immer 24:00 Uhr sein.
-Der optionale Parameter [prep|exec] erlaubt das packen der Nachrichten und verbessert damit deutlich
-die Datenübertragung. Besonders nützlich wenn das Gerät im "Wakeup"-modus betrieben wird.
-Benutzung durch senden der Befehle mit Parameter "prep". Daten werden dann für das Senden gesammelt.
-Der letzte Befehl muss den Parameter "exec" habe um die Information zu übertragen.
-Beispiel: bis 6:00 soll die Temperatur 19°C sein, dann bis 23:00 Uhr 22.5°C, anschließend
-werden bis Mitternacht 19°C gewünscht.
- set th tempListSat 06:00 19 23:00 22.5 24:00 19
-
- set th tempListSat prep 06:00 19 23:00 22.5 24:00 19
-set th tempListSun prep 06:00 19 23:00 22.5 24:00 19
-set th tempListMon prep 06:00 19 23:00 22.5 24:00 19
-set th tempListTue exec 06:00 19 23:00 22.5 24:00 19
-
-
-
-- OutputUnit (HM-OU-LED16)
-
-- led [off|red|green|yellow]
-schaltet die LED des Kanals auf die gewünschte Farbe. Wird der Befehl auf ein Gerät angewandt so
-werden alle LEDs auf diese Farbe gesetzt.
-Experten können die LEDs separat durch eine 8-stellige Hex-Zahl ansteuern.
-- ilum <Helligkeit><Dauer>
-<Helligkeit> [0-15] der Beleuchtung.
-<Dauer> [0-127] in Sekunden, 0 bedeutet dauernd an.
-
-- OutputUnit (HM-OU-CFM-PL)
-
-- led <color>[,<color>..] [<repeat>..]
-Mögliche Farben sind [redL|greenL|yellowL|redS|greenS|yellowS|pause]. Eine Folge von Farben
-kann durch trennen der Farbeinträge mit ',' eingestellt werden.
-Leerzeichen dürfen in der Liste nicht benutzt werden. 'S' bezeichnet kurze und
-'L' lange Beleuchtungsdauer.
-repeat definiert wie oft die Sequenz ausgeführt werden soll. Standard ist 1.
-
-- playTone <MP3No>[,<MP3No>..] [<repeat>..]
-Spielt eine Reihe von Tönen. Die Liste muss mit ',' getrennt werden. Leerzeichen
-dürfen in der Liste nicht benutzt werden.
-replay kann verwendet werden um den zuletzt gespielten Klang zu wiederholen.
-repeat definiert wie oft die Sequenz ausgeführt werden soll. Standard ist 1.
-Beispiel:
-
-set cfm_Mp3 playTone 3 # MP3 Titel 3 einmal
-set cfm_Mp3 playTone 3 3 # MP3 Titel 3 dreimal
-set cfm_Mp3 playTone 3,6,8,3,4 # MP3 Titelfolge 3,6,8,3,4 einmal
-set cfm_Mp3 playTone 3,6,8,3,4 255# MP3 Titelfolge 3,6,8,3,4 255 mal
-set cfm_Mp3 playTone replay # Wiederhole letzte Sequenz
-
-set cfm_Led led redL 4 # rote LED dreimal lang blinken
-set cfm_Led led redS,redS,redS,redL,redL,redL,redS,redS,redS 255 # SOS 255 mal
-
-
-
-
-- HM-RC-19xxx
-
-- alarm <count>
-sendet eine Alarmnachricht an die Steuerung
-- service <count>
-sendet eine Servicenachricht an die Steuerung
-- symbol <symbol> [set|unset]
-aktiviert ein verfügbares Symbol auf der Steuerung
-- beep [off|1|2|3]
-aktiviert Töne
-- backlight [off|on|slow|fast]
-aktiviert Hintergrundbeleuchtung
-- display <text> comma unit tone backlight <symbol(s)>
-
-Steuert das Display der Steuerung
-<text> : bis zu 5 Zeichen
-comma : 'comma' aktiviert das Komma, 'no' läßt es aus
-[unit] : setzt Einheitensymbole.
-[off|Proz|Watt|x3|C|x5|x6|x7|F|x9|x10|x11|x12|x13|x14|x15]. Momentan sind
-x3..x15 nicht getestet.
-tone : aktiviert einen von 3 Tönen [off|1|2|3]
-backlight: läßt die Hintergrundbeleuchtung aufblinken [off|on|slow|fast]
-<symbol(s)> aktiviert die Anzeige von Symbolen. Mehrere Symbole
-können zu selben Zeit aktiv sein, Verknüpfung erfolgt komma-getrennt. Dabei keine
-Leerzeichen verwenden. Mögliche Symbole:
-[bulb|switch|window|door|blind|scene|phone|bell|clock|arrowUp|arrowDown]
-
-Beispiel:
-
-# "Hello" auf dem Display, Symbol bulb an, Hintergrundbeleuchtung, Ton ausgeben
-set FB1 display Hello no off 1 on bulb
-# "1234,5" anzeigen mit Einheit 'W'. Symbole scene,phone,bell und
-# clock sind aktiv. Hintergrundbeleuchtung blinikt schnell, Ausgabe von Ton 2
-set FB1 display 12345 comma Watt 2 fast scene,phone,bell,clock
-
-
-
-
-
-- keyMatic
-Keymatic verwendet eine AES-signierte Kommunikation. Deshalb ist die Steuerung von Keymatic
-nur mit dem HM-LAN möglich. But
-Ein CUL kann aber Statusnachrichten von Keymatic mitlesen und darauf
-reagieren.
-
-- lock
-Schließbolzen fährt in Zu-Position
-- unlock [sec]
-Schließbolzen fährt in Auf-Position.
-[sec]: Stellt die Verzögerung ein nach der sich das Schloss automatisch wieder verschließt.
-0 - 65535 Sekunden
-- open [sec]
-Entriegelt die Tür sodass diese geöffnet werden kann.
-[sec]: Stellt die Verzögerung ein nach der sich das Schloss automatisch wieder
-verschließt.
0 - 65535 Sekunden
-
-- winMatic
-winMatic arbeitet mit 2 Kanälen, einem für die Fenstersteuerung und einem für den Akku.
-
-- level <level> <relockDelay> <speed>
-stellt den Wert ein.
-<level>: Bereich ist 0% bis 100%
-<relockDelay>: Spanne reicht von 0 bis 65535 Sekunden. 'ignore' kann verwendet werden um den Wert zu ignorieren.
-<speed>: Bereich ist 0% bis 100%
-
-- stop
-stopt die Bewegung
-
-
-- HM-Sys-sRP-Pl
-legt Einträge für den Repeater an. Bis zu 36 Einträge können angelegt werden.
-
-- setRepeat <entry> <sender> <receiver> <broadcast>
-<entry> [1..36] Nummer des Eintrags in der Tabelle.
-<sender> Name oder HMid des Senders oder der Quelle die weitergeleitet werden soll
-<receiver> Name oder HMid des Empfängers oder Ziels an das weitergeleitet werden soll
-<broadcast> [yes|no] definiert ob Broadcasts von einer ID weitergeleitet werden sollen.
-
-Kurzanwendung:
-setRepeat setAll 0 0 0
-schreibt die gesamte Liste der Geräte neu. Daten kommen vom Attribut repPeer.
-Das Attribut repPeer hat folgendes Format:
-src1:dst1:[y/n],src2:dst2:[y/n],src2:dst2:[y/n],...
-
-Foramtierte Werte von repPeer:
-Number src dst broadcast verify
-number: Nummer des Eintrags in der Liste
-src: Ursprungsgerät der Nachricht - aus Repeater ausgelesen
-dst: Zielgerät der Nachricht - asu den Attributen abgeleitet
-broadcast: sollen Broadcasts weitergeleitet werden - aus Repeater ausgelesen
-verify: stimmen Attribute und ausgelesen Werte überein?
-
-
-
-
-
-Debugging:
-
-
-
-
-
-Get
-
-- configSave <filename>
-Sichert die Einstellungen eines Eintrags in einer Datei. Die Daten werden in
-einem von der FHEM-Befehlszeile ausführbaren Format gespeichert.
-Die Datei liegt im FHEM Home-Verzeichnis neben der fhem.cfg. Gespeichert wird
-kumulativ- d.h. neue Daten werden an die Datei angehängt. Es liegt am Benutzer das
-doppelte speichern von Einträgen zu vermeiden.
-Ziel der Daten ist NUR die Information eines HM-Gerätes welche IM Gerät gespeichert ist.
-Im Deteil sind das nur die Peer-Liste sowie die Register.
-Durch die Register wird also das Peering eingeschlossen.
-Die Datei ist vom Benutzer les- und editierbar. Zusätzlich gespeicherte Zeitstempel
-helfen dem Nutzer bei der Validierung.
-Einschränkungen:
-Auch wenn alle Daten eines Eintrags in eine Datei gesichert werden so sichert FHEM nur
-die zum Zeitpunkt des Speicherns verfügbaren Daten! Der Nutzer muss also die Daten
-der HM-Hardware auslesen bevor dieser Befehl ausgeführt wird.
-Siehe empfohlenen Ablauf unten.
-Dieser Befehl speichert keine FHEM-Attribute oder Gerätedefinitionen.
-Diese verbleiben in der fhem.cfg.
-Desweiteren werden gesicherte Daten nicht automatisch zurück auf die HM-Hardware geladen.
-Der Benutzer muss die Wiederherstellung auslösen.
-Ebenso wie ander Befehle wird 'configSave' am besten auf ein Gerät und nicht auf einen
-Kanal ausgeführt. Wenn auf ein Gerät angewendet werden auch die damit verbundenen Kanäle
-gesichert.
-
-Empfohlene Arbeitsfolge für ein Gerät 'HMdev':
-set HMdev clear msgEvents # alte Events löschen um Daten besser kontrollieren zu können
-set HMdev getConfig # Geräte- und Kanalinformation auslesen
-# warten bis Ausführung abgeschlossen ist
-# "protState" sollte dann "CMDs_done" sein
-# es sollten keine Warnungen zwischen "prot" und den Variablen auftauchen
-get configSave myActorFile
-
-
-- param <paramName>
-Gibt den Inhalt der relevanten Parameter eines Eintrags zurück.
-Hinweis: wird der Befehl auf einen Kanal angewandt und 'model' abgefragt so wird das Model
-des inhalteanbietenden Geräts zurückgegeben.
-
-- reg <addr> <list> <peerID>
-liefert den Wert eines Registers zurück. Daten werden aus dem Speicher von FHEM und nicht direkt vom Gerät geholt.
-Falls der Registerinhalt nicht verfügbar ist muss "getConfig" sowie anschließend "getReg" verwendet werden.
-
-<addr> Adresse des Registers in HEX. Registername kann alternativ verwendet werden falls in FHEM bekannt.
-"all" gibt alle dekodierten Register eines Eintrags in einer Liste zurück.
-<list> Liste aus der das Register gewählt wird. Wird der REgistername verwendet wird "list" ignoriert und kann auf '0' gesetzt werden.
-<peerID> identifiziert die Registerbänke für "list3" und "list4". Kann als Dummy gesetzt werden wenn nicht benötigt.
-
-- regList
-gibt eine Liste der von FHEM für dieses Gerät dekodierten Register zurück.
-Beachten dass noch mehr Register für ein Gerät implemetiert sein können.
-
-- saveConfig <file>
-speichert Peers und Register in einer Datei.
-Gespeichert werden die Daten wie sie in FHEM verfügbar sind. Es ist daher notwendig vor dem Speichern die Daten auszulesen.
-Der Befehl unterstützt Aktionen auf Geräteebene. D.h. wird der Befehl auf ein Gerät angewendet werden auch alle verbundenen Kanaleinträge gesichert.
-Das Speichern der Datei erfolgt kumulativ. Wird ein Eintrag mehrfach in der selben Datei gespeichert so werden die Daten an diese angehängt.
-Der Nutzer kann den Zeitpunkt des Speichern bei Bedarf auslesen.
-Der Inhalt der Datei kann verwendet werden um die Geräteeinstellungen wiederherzustellen. Er stellt alle Peers und Register des Eintrags wieder her.
-Zwänge/Beschränkungen:
-vor dem zurückschreiben der Daten eines Eintrags muss das Gerät mit FHEM verbunden werden.
-"restore" löscht keine verknüpften Kanäle, es fügt nur neue Peers hinzu.
-
-
-
-Attribute
-
-- eventMap
-- do_not_notify
-- ignore
-- dummy
-- showtime
-- readingFnAttributes
-- actCycle
-actCycle <[hhh:mm]|off>
-Bietet eine 'alive' oder besser 'not alive' Erkennung für Geräte. [hhh:mm] ist die maximale Zeit ohne Nachricht eines Geräts. Wenn innerhalb dieser Zeit keine Nachricht empfangen wird so wird das Event"<device> is dead" generiert.
-Sendet das Gerät wieder so wird die Nachricht"<device> is alive" ausgegeben.
-Diese Erkennung wird durch 'autocreate' für jedes Gerät mit zyklischer Statusmeldung angelegt.
-Die Kontrollinstanz ist ein Pseudo-Gerät "ActionDetector" mit der HMId "000000".
-Aufgrund von Performanceüberlegungen liegt die Antwortverzögerung bei 600 Sekunden (10min). Kann über das Attribut "actCycle" des "ActionDetector" kontrolliert werden.
-Sobald die Überwachung aktiviert wurde hat das HM-Gerät 2 Attribute:
-
-actStatus: Aktivitätsstatus des Geräts
-actCycle: Detektionsspanne [hhh:mm]
-
-Die gesamte Funktion kann über den "ActionDetector"-Eintrag überprüft werden. Der Status aller Instanzen liegt im READING-Bereich.
-Hinweis: Diese Funktion kann ebenfalls für Geräte ohne zyklische Übertragung aktiviert werden. Es obliegt dem Nutzer eine vernünftige Zeitspanne festzulegen.
-
-- expert
-Dieses Attribut steuert die Sichtbarkeit der Werte. Damit wird die Darstellung der Geräteparameter kontrolliert.
-3 Level können gewählt werden:
-
-0_off: Standard. Zeigt die häufigst benutzten Paramter
-1_on: Erweitert. Zeigt alle dekodierten Geräteparameter
-2_full: Alles. Zeigt alle Parameter sowie Registerinformationen im Rohformat.
-
-Wird 'expert' auf ein Gerät angewendet so gilt dies auch für alle verknüpften Kanäle.
-Kann übergangen werden indem das Attribut ' expert' auch für den Gerätekanal gesetzt wird.
-Das Attribut "showInternalValues" bei den globalen Werten muss ebenfalls überprüft werden.
-"expert" macht sich diese Implementierung zu Nutze.
-Gleichwohl setzt "showInternalValues" - bei Definition - 'expert' außer Kraft .
-
-- model,
-subType
-Diese Attribute werden bei erfolgreichem Pairing automatisch gesetzt.
-Sie sollten nicht per Hand gesetzt werden und sind notwendig um Gerätenachrichten
-korrekt interpretieren oder senden zu können.
-- param
-'param' definiert modelspezifische Verhalten oder Funktionen. Siehe "models" für Details.
-- msgRepeat
-Definiert die Nummer an Wiederholungen falls ein Gerät nicht rechtzeitig antwortet.
-Für Geräte die nur den "Config"-Modus unterstützen sind Wiederholungen nicht erlaubt.
-Bei Geräte mit wakeup-Modus wartet das Gerät bis zum nächsten Aufwachen. Eine längere Verzögerung
-sollte in diesem Fall angedacht werden.
-Wiederholen von Bursts hat Auswirkungen auf die HMLAN Übertragungskapazität.
-- burstAccess
-kann für eine Geräteinstanz gesetzt werden falls das Model bedingte Bursts erlaubt.
-Das Attribut deaktiviert den Burstbetrieb (0_off) was die Nachrichtenmenge des HMLAN reduziert
-und damit die Wahrscheinlichkeit einer Überlast von HMLAN verringert.
-Einschalten (1_auto) erlaubt kürzere Reaktionszeiten eines Geräts. Der Nutzer muss nicht warten
-bis das Gerät wach ist.
-Zu beacht ist dass das Register "burstRx" im Gerät ebenfalls gesetzt werden muss.
-- rawToReadable
-Wird verwendet um Rohdaten von KFM100 in ein lesbares Fomrat zu bringen, basierend auf
-den gemessenen Werten. Z.B. langsames Füllen eines Tanks, während die Werte mit inform
-angezeigt werden. Man sieht:
-
-10 (bei 0%)
-50 (bei 20%)
-79 (bei 40%)
-270 (bei 100%)
-
-Anwenden dieser Werte: "attr KFM100 rawToReadable 10:0 50:20 79:40 270:100".
-FHEM für damit eine lineare Interpolation der Werte in den gegebenen Grenzen aus.
-
-- unit
-setzt die gemeldete Einheit des KFM100 falls 'rawToReadable' aktiviert ist. Z.B.
-attr KFM100 unit Liter
-
-- autoReadReg
-'0' autoReadReg wird ignoriert.
-'1' führt ein "getConfig" für ein Gerät automatisch nach jedem Neustart von FHEM aus.
-'2' verhält sich wie '1',zusätzlich nach jedem power_on.
-'3' wie '2', zusätzlich bei jedem Schreiben auf das Gerät
-'4' wie '3' und versucht außerdem den Status abzufragen falls dieser nicht verfügbar erscheint.
-'5' kontrolliert 'reglist' und 'peerlist'. Falls das Auslesen unvollständig ist wird 'getConfig' ausgeführt
-'8_stateOnly' aktualisiert nur Statusinformationen aber keine Konfigurationen wie Daten- oder
-Peerregister.
-Ausführung wird verzögert um eine Überlastung beim Start zu vermeiden . Daher werden Aktualisierung und Anzeige
-von Werten abhängig von der Größe der Datenbank verzögert geschehen.
-Empfehlungen und Einschränkungen bei Benutzung:
-
-Dieses Attribut nur auf ein Gerät oder Kanal 01 anwenden. Nicht auf einzelne Kanäle eines mehrkanaligen
-Geräts anwenden um eine doppelte Ausführung zu vermeiden.
-Verwendung bei Geräten die nur auf den 'config'-Modus reagieren wird nicht empfohlen da die Ausführung
-erst starten wird wenn der Nutzer die Konfiguration vornimmt
-Anwenden auf Geräte mit 'wakeup'-Modus ist nützlich. Zu bedenken ist aber dass die Ausführung
-bis zm "aufwachen" verzögert wird.
-
-
-
-verfügbare Parameter für "param"
-
-- HM-Sen-RD-O
-offAtPon: nur Heizkanäle: erzwingt Ausschalten der Heizung nach einem powerOn
-onAtRain: nur Heizkanäle: erzwingt Einschalten der Heizung bei Status 'rain' und Ausschalten bei Status 'dry'
-
-- virtuals
-noOnOff: eine virtuelle Instanz wird den Status nicht ändern wenn ein Trigger empfangen wird. Ist dieser Paramter
-nicht gegeben so toggled die Instanz ihren Status mit jedem trigger zwischen An und Aus
-msgReduce: falls gesetzt und der Kanal wird für genutzt wird jede Nachricht
-außer die der Ventilstellung verworfen um die Nachrichtenmenge zu reduzieren
-
-
-
-Erzeugte Events:
-
-- Allgemein
-recentStateType:[ack|info] # kann nicht verwendet werden um Nachrichten zu triggern
- - ack zeigt an das eine Statusinformation aus einer Bestätigung abgeleitet wurde
-- info zeigt eine automatische Nachricht eines Geräts an
-- sabotageAttackId
-Alarmiert bei Konfiguration des Geräts durch unbekannte Quelle
-- sabotageAttack
-Alarmiert bei Konfiguration des Geräts welche nicht durch das System ausgelöst wurde
-
-- HM-CC-TC,ROTO_ZEL-STG-RM-FWT
-T: $t H: $h
-battery:[low|ok]
-measured-temp $t
-humidity $h
-actuator $vp %
-desired-temp $dTemp
-desired-temp-manu $dTemp #Temperatur falls im manuellen Modus
-desired-temp-cent $dTemp #Temperatur falls im Zentrale-Modus
-windowopen-temp-%d %.1f (sensor:%s)
-tempList$wd hh:mm $t hh:mm $t ...
-displayMode temp-[hum|only]
-displayTemp [setpoint|actual]
-displayTempUnit [fahrenheit|celsius]
-controlMode [manual|auto|central|party]
-tempValveMode [Auto|Closed|Open|unknown]
-param-change offset=$o1, value=$v1
-ValveErrorPosition_for_$dname $vep %
-ValveOffset_for_$dname : $of %
-ValveErrorPosition $vep %
-ValveOffset $of %
-time-request
-trig_<src> <value> #channel was triggered by <src> channel.
-Dieses Event hängt vom kompletten Auslesen der Kanalkonfiguration ab, anderenfalls können Daten
-unvollständig oder fehlerhaft sein.
-trigLast <channel> #letzter empfangener Trigger
-
-- HM-CC-RT-DN and HM-CC-RT-DN-BoM
-state:T: $actTemp desired: $setTemp valve: $vp %
-motorErr: [ok|ValveTight|adjustRangeTooLarge|adjustRangeTooSmall|communicationERR|unknown|lowBat|ValveErrorPosition]
-measured-temp $actTemp
-desired-temp $setTemp
-ValvePosition $vp %
-mode [auto|manu|party|boost]
-battery [low|ok]
-batteryLevel $bat V
-measured-temp $actTemp
-desired-temp $setTemp
-actuator $vp %
-time-request
-trig_<src> <value> #Kanal wurde durch <src> Kanal ausgelößt.
-
-- HM-CC-VD,ROTO_ZEL-STG-RM-FSA
-$vp %
-battery:[critical|low|ok]
-motorErr:[ok|blocked|loose|adjusting range too small|opening|closing|stop]
-ValvePosition:$vp %
-ValveErrorPosition:$vep %
-ValveOffset:$of %
-ValveDesired:$vp % # durch Temperatursteuerung gesetzt
-operState:[errorTargetNotMet|onTarget|adjusting|changed] # operative Bedingung
-operStateErrCnt:$cnt # Anzahl fehlgeschlagener Einstellungen
-
-- HM-CC-SCD
-[normal|added|addedStrong]
-battery [low|ok]
-
-- HM-SEC-SFA-SM
-powerError [on|off]
-sabotageError [on|off]
-battery: [critical|low|ok]
-
-- HM-LC-BL1-PB-FM
-motor: [opening|closing]
-
-- HM-LC-SW1-BA-PCB
-battery: [low|ok]
-
-- HM-OU-LED16
-color $value # in Hex - nur für Gerät
-$value # in Hex - nur für Gerät
-color [off|red|green|orange] # für Kanal
-[off|red|green|orange] # für Kanal
-
-- HM-OU-CFM-PL
-[on|off|$val]
-
-- HM-Sen-Wa-Od
-$level%
-level $level%
-
-- KFM100
-$v
-$cv,$unit
-rawValue:$v
-Sequence:$seq
-content:$cv,$unit
-
-- KS550/HM-WDS100-C6-O
-T: $t H: $h W: $w R: $r IR: $ir WD: $wd WDR: $wdr S: $s B: $b
-temperature $t
-humidity $h
-windSpeed $w
-windDirection $wd
-windDirRange $wdr
-rain $r
-isRaining $ir
-sunshine $s
-brightness $b
-unknown $p
-
-- HM-Sen-RD-O
-lastRain: timestamp # kein Trigger wird erzeugt. Anfang des vorherigen Regen-Zeitstempels
-des Messwerts ist Ende des Regens.
-
-- THSensor und HM-WDC7000
-T: $t H: $h AP: $ap
-temperature $t
-humidity $h
-airpress $ap #nur HM-WDC7000
-
-- dimmer
-overload [on|off]
-overheat [on|off]
-reduced [on|off]
-dim: [up|down|stop]
-
-- motionDetector
-brightness:$b
-alive
-motion on (to $dest)
-motionCount $cnt _next:$nextTr"-"[0x0|0x1|0x2|0x3|15|30|60|120|240|0x9|0xa|0xb|0xc|0xd|0xe|0xf]
-cover [closed|open] # nicht bei HM-Sec-MDIR
-sabotageError [on|off] # nur bei HM-Sec-MDIR
-battery [low|ok]
-devState_raw.$d1 $d2
-
-- remote/pushButton/outputUnit
- (to $dest) wird hinzugefügt wenn der Knopf gepeert ist und keinen Broadcast sendet
-Freigabe ist nur für verknüpfte Kanäle verfügbar
-Btn$x onShort
-Btn$x offShort
-Btn$x onLong $counter
-Btn$x offLong $counter
-Btn$x onLongRelease $counter
-Btn$x offLongRelease $counter
-Btn$x onShort (to $dest)
-Btn$x offShort (to $dest)
-Btn$x onLong $counter (to $dest)
-Btn$x offLong $counter (to $dest)
-Btn$x onLongRelease $counter (to $dest)
-Btn$x offLongRelease $counter (to $dest)
-
-- remote/pushButton
-battery [low|ok]
-trigger [Long|Short]_$no trigger event from channel
-
-- swi
-Btn$x toggle
-Btn$x toggle (to $dest)
-battery: [low|ok]
-
-- switch/dimmer/blindActuator
-$val
-powerOn [on|off|$val]
-[unknown|motor|dim] [up|down|stop]:$val
-timedOn [running|off]
# "An" ist temporär - z.B. mit dem 'on-for-timer' gestartet
-
-- sensRain
-$val
-powerOn
-level
-timedOn [running|off]
# "An" ist temporär - z.B. mit dem 'on-for-timer' gestartet
-trigger [Long|Short]_$no trigger event from channel
-
-- smokeDetector
-[off|smoke-Alarm|alive] # für Gruppen-Master
-[off|smoke-forward|smoke-alarm] # für Gruppenmitglieder
-[normal|added|addedStrong] #HM-CC-SCD
-SDteam [add|remove]_$dname
-battery [low|ok]
-smoke_detect [none|<src>]
-teamCall:from $src
-
-- threeStateSensor
-[open|tilted|closed]
-[wet|damp|dry] #nur HM-SEC-WDS
-cover [open|closed] #HM-SEC-WDS und HM-Sec-RHS
-alive yes
-battery [low|ok]
-contact [open|tilted|closed]
-contact [wet|damp|dry] #nur HM-SEC-WDS
-sabotageError [on|off] #nur HM-SEC-SC
-
-- winMatic
-[locked|$value]
-motorError [no|TurnError|TiltError]
-direction [no|up|down|undefined]
-charge [trickleCharge|charge|dischange|unknown]
-airing [inactiv|$air]
-course [tilt|close]
-airing [inactiv|$value]
-contact tesed
-
-- keyMatic
-unknown:40
-battery [low|ok]
-uncertain [yes|no]
-error [unknown|motor aborted|clutch failure|none']
-lock [unlocked|locked]
-[unlocked|locked|uncertain]
-
-
-
-
+ CUL_HM
+
+ Unterstützung für eQ-3 HomeMatic Geräte via CUL oder HMLAN.
+
+ Define
+
+ define <name> CUL_HM <6-digit-hex-code|8-digit-hex-code>
+
+
+ Eine korrekte Gerätedefinition ist der Schlüssel zur einfachen Handhabung der HM-Umgebung.
+
+
+ Hintergrund zur Definition:
+ HM-Geräte haben eine 3 Byte (6 stelliger HEX-Wert) lange HMid - diese ist Grundlage
+ der Adressierung. Jedes Gerät besteht aus einem oder mehreren Kanälen. Die HMid für einen
+ Kanal ist die HMid des Gerätes plus die Kanalnummer (1 Byte, 2 Stellen) in
+ hexadezimaler Notation.
+ Kanäle sollten für alle mehrkanaligen Geräte definiert werden. Einträge für Kanäle
+ können nicht angelegt werden wenn das zugehörige Gerät nicht existiert.
Hinweis: FHEM
+ belegt das Gerät automatisch mit Kanal 1 falls dieser nicht explizit angegeben wird. Daher
+ ist bei einkanaligen Geräten keine Definition nötig.
+
+ Hinweis: Wird ein Gerät gelöscht werden auch die zugehörigen Kanäle entfernt.
Beispiel einer
+ vollständigen Definition eines Gerätes mit 2 Kanälen:
+
+ define livingRoomSwitch CUL_HM 123456
+ define LivingroomMainLight CUL_HM 12345601
+ define LivingroomBackLight CUL_HM 12345602
+
+
+ livingRoomSwitch bezeichnet das zur Kommunikation verwendete Gerät. Dieses wird
+ vor den Kanälen definiert um entsprechende Verweise einstellen zu können.
+ LivingroomMainLight hat Kanal 01 und behandelt den Lichtstatus, Kanal-Peers
+ sowie zugehörige Kanalregister. Falls nicht definiert wird Kanal 01 durch die Geräteinstanz
+ abgedeckt.
LivingRoomBackLight ist der zweite "Kanal", Kanal 02. Seine
+ Definition ist verpflichtend um die Funktion ausführen zu können.
+
+ Sonderfall Sender: HM behandelt jeden Knopf einer Fernbedienung, Drucktaster und
+ ähnliches als Kanal . Es ist möglich (nicht notwendig) einen Kanal pro Knopf zu
+ definieren. Wenn alle Kanäle definiert sind ist der Zugriff auf Pairing-Informationen
+ sowie auf Kanalregister möglich. Weiterhin werden Verknüpfungen durch Namen besser
+ lesbar.
+
+ define kann auch durch das autocreate
+ Modul aufgerufen werden, zusammen mit dem notwendigen subType Attribut.
+ Normalerweise erstellt man hmPairForSec und drückt dann den
+ zugehörigen Knopf am Gerät um die Verknüpfung herzustellen oder man verwendet hmPairSerial falls das Gerät ein Empfänger und die Seriennummer
+ bekannt ist. Autocreate wird dann ein FHEM-Gerät mit allen notwendigen Attributen anlegen.
+ Ohne Pairing wird das Gerät keine Befehle von FHEM akzeptieren. Selbst wenn das Pairing
+ scheitert legt FHEM möglicherweise das Gerät an. Erfolgreiches Pairen wird
+ durch den Eintrag CommandAccepted in den Details zum CUL_HM Gerät angezeigt.
+
+ Falls autocreate nicht verwendet werden kann muss folgendes spezifiziert werden:
+
+ - Der <6-stellige-Hex-Code>oder HMid+ch <8-stelliger-Hex-Code>
+ Das ist eine einzigartige, festgelegte Geräteadresse die nicht geändert werden kann (nein,
+ man kann sie nicht willkürlich auswählen wie z.B. bei FS20 Geräten). Man kann sie feststellen
+ indem man das FHEM-Log durchsucht.
+ - Das subType Attribut
+ Dieses lautet: switch dimmer blindActuator remote sensor swi
+ pushButton threeStateSensor motionDetector keyMatic winMatic
+ smokeDetector
+ - Das model Attribut
+ ist entsprechend der HM Nomenklatur zu vergeben
+
+ Ohne diese Angaben kann FHEM nicht korrekt mit dem Gerät arbeiten.
+
+ Hinweise
+
+ - Falls das Interface ein Gerät vom Typ CUL ist muss rfmode
+ des zugehörigen CUL/CUN Gerätes auf HomeMatic gesetzt werden.
+ Achtung: Dieser Modus ist nur für BidCos/Homematic. Nachrichten von FS20/HMS/EM/S300
+ werden durch diese Gerät nicht empfangen. Bereits definierte FS20/HMS
+ Geräte müssen anderen Eingängen zugeordnet werden (CUL/FHZ/etc).
+
+ - Nachrichten eines Geräts werden nur richtig interpretiert wenn der Gerätetyp
+ bekannt ist. FHEM erhält den Gerätetyp aus einer"pairing request"
+ Nachricht, selbst wenn es darauf keine Antwort erhält (siehe hmPairSerial und hmPairForSec um Parinig zu ermöglichen).
+ Alternativ, setzen des richtigen subType sowie Modelattributes, für eine Liste der
+ möglichen subType-Werte siehe "attr hmdevice ?".
+
+ - Die sogenannte "AES-Verschlüsselung" ist eigentlich eine Signaturanforderung: Ist sie
+ aktiviert wird ein Aktor den erhaltenen Befehl nur ausführen falls er die korrekte
+ Antwort auf eine zuvor durch den Aktor gestellte Anfrage erhält. Das bedeutet:
+
+ - Die Reaktion auf Befehle ist merklich langsamer, da 3 Nachrichten anstatt einer übertragen
+ werden bevor der Befehl vom Aktor ausgeführt wird.
+ - Jeder Befehl sowie seine Bestätigung durch das Gerät wird in Klartext übertragen, ein externer
+ Beobachter kennt somit den Status jedes Geräts.
+ - Die eingebaute Firmware ist fehlerhaft: Ein "toggle" Befehl wir ausgeführt bevor die
+ entsprechende Antwort auf die Signaturanforderung empfangen wurde, zumindest bei einigen Schaltern
+ (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM).
+ - Der HMLAN Konfigurator beantwortet Signaturanforderungen selbstständig,
+ ist dabei die 3-Byte-Adresse einer anderen CCU eingestellt welche noch immer das Standardpasswort hat,
+ kann dieser Signaturanfragen korrekt beantworten.
+ - AES-Verschlüsselung kann nicht bei einem CUL als Interface eingesetzt werden, wird allerdings
+ durch HMLAN unterstützt. Aufgrund dieser Einschränkungen ist der Einsatz der Homematic-Verschlüsselung
+ nicht zu empfehlen!
+
+
+
+
+
+ Set
+
+ Hinweis: Geräte die normalerweise nur senden (Fernbedienung/Sensor/etc.) müssen in den
+ Pairing/Lern-Modus gebracht werden um die folgenden Befehle zu empfangen.
+
+
+
+ Allgemeine Befehle (verfügbar für die meisten HM-Geräte):
+
+ - clear <[readings|register|msgEvents]>
+ Eine Reihe von Variablen kann entfernt werden.
+
+ readings: Alle Messwerte werden gelöscht, neue Werte werden normal hinzugefügt. Kann benutzt werden um alte Daten zu entfernen
+ register: Alle in FHEM aufgezeichneten Registerwerte werden entfernt. Dies hat KEINEN Einfluss auf Werte im Gerät.
+ msgEvents: Alle Anchrichtenzähler werden gelöscht. Ebenso wird der Befehlsspeicher zurückgesetzt.
+ rssi: gesammelte RSSI-Werte werden gelöscht.
+
+
+ - getConfig
+ Liest die Hauptkonfiguration eines HM_Gerätes aus. Angewendet auf einen Kanal
+ erhält man Pairing-Information, List0, List1 und List3 des ersten internen Peers.
+ Außerdem erhält man die Liste der Peers für den gegebenen Kanal. Wenn auf ein Gerät
+ angewendet so bekommt man mit diesem Befehl die vorherigen Informationen für alle
+ zugeordneten Kanäle. Ausgeschlossen davon sind Konfigurationen zusätzlicher Peers.
+
Der Befehl ist eine Abkürzung für eine Reihe anderer Befehle.
+
+ - getRegRaw [List0|List1|List2|List3|List4|List5|List6]
+ <peerChannel>
+ Auslesen der Rohdaten des Registersatzes. Eine Beschreibung der Register sprengt
+ den Rahmen dieses Dokuments.
+
+ Die Register sind in sog. Listen strukturiert welche einen Satz Register enthalten.
+
+ List0: Geräteeinstellungen z.B: Einstellungen für CUL-Pairing Temperaturlimit eines Dimmers.
+
+ List1: Kanaleinstellungen z.B. benötigte Zeit um Rollo hoch und runter zu fahren.
+
+ List3: "link" Einstellungen - d.h. Einstellungen für Peer-Kanal. Das ist eine große Datenmenge!
+ Steuert Aktionen bei Empfang eines Triggers vom Peer.
+
+ List4: Einstellungen für den Kanal (Taster) einer Fernbedienung.
+
+ <PeerChannel> verknüpfte HMid+ch, z.B. 4 byte (8 stellige) Zahl wie
+ '12345601'. Ist verpflichtend für List3 und List4 und kann ausgelassen werden
+ für List0 und 1.
+
+ 'all' kann verwendet werden um Daten von jedem mit einem Kanal verknüpften Link zu bekommen.
+
+ 'selfxx' wird verwendet um interne Kanäle zu adressieren (verbunden mit den eingebauten Schaltern
+ falls vorhanden). xx ist die Kanalnummer in dezimaler Notation.
+
+ Hinweis 1: Ausführung ist abhängig vom Entity. Wenn List1 für ein Gerät statt einem Kanal
+ abgefragt wird gibt der Befehl List1 für alle zugehörigen Kanäle aus.
+ List3 mit 'peerChannel = all' gibt alle Verbindungen für alle Kanäle eines Gerätes zurück.
+
+ Hinweis 2: für 'Sender' siehe auch remote
+
+ Hinweis 3: Das Abrufen von Informationen kann dauern - besonders für Geräte
+ mit vielen Kanälen und Verknüpfungen. Es kann nötig sein das Webinterface manuell neu zu laden
+ um die Ergebnisse angezeigt zu bekommen.
+
+ Hinweis 4: Direkte Schalter eines HM-Geräts sind standardmäßig ausgeblendet.
+ Dennoch sind sie genauso als Verknüpfungen implemetiert. Um Zugriff auf 'internal links'
+ zu bekommen ist es notwendig folgendes zu erstellen:
+ 'set <name> regSet intKeyVisib visib'
+ oder
+ 'set <name> regBulk RegL_0: 2:81'
+ Zurücksetzen lässt es sich indem '81' mit '01' ersetzt wird.
example:
+
+
+ set mydimmer getRegRaw List1
+ set mydimmer getRegRaw List3 all
+
+
+ - getSerial
+ Auslesen der Seriennummer eines geräts und speichern in Attribut serialNr.
+
+ - inhibit [on|off]
+ Blockieren/Zulassen aller Kanaländerungen eines Aktors, d.h. Zustand des Aktors ist
+ eingefroren bis 'inhibit' wieder deaktiviert wird. 'Inhibit' kann für jeden Aktorkanal
+ ausgeführt werden aber natürlich nicht für Sensoren - würde auch keinen Sinn machen.
+ Damit ist es praktischerweise möglich Nachrichten ebenso wie verknüpfte Kanalaktionen
+ temporär zu unterdrücken ohne sie löschen zu müssen.
+ Beispiele:
+
+ # Ausführung blockieren
+ set keymatic inhibit on
+
+
+
+ - pair
+ Verbinden eines Geräts bekannter Seriennummer (z.b. nach einem Reset)
+ mit einer FHEM-Zentrale. Diese Zentrale wird normalerweise durch CUL/CUNO,
+ HMLAN,... hergestellt.
+ Wenn verbunden melden Geräte ihren Status and FHEM.
+ Wenn nicht verbunden wird das Gerät auf bestimmte Anfragen nicht reagieren
+ und auch bestimmte Statusinformationen nicht melden. Pairing geschieht auf
+ Geräteebene. Kanäle können nicht unabhängig von einem Gerät mit der Zentrale
+ verbunden werden.
+ Siehe auch getPair und
+ unpair.
+ Nicht das Verbinden (mit einer Zentrale) mit verknüpfen (Kanal zu Kanal) oder
+ peerChan verwechseln.
+
+ - peerBulk <peerch1,peerch2,...> [set|unset]
+ peerBulk fügt Peer-Kanäle zu einem Kanal hinzu. Alle Peers einer Liste werden
+ dabei hinzugefügt.
+ Peering setzt die Einstellungen einer Verknüpfung auf Standardwerte. Da Peers nicht in Gruppen
+ hinzugefügt werden werden sie durch HM standardmäßig als'single' für dieses Gerät
+ angelegt.
+ Eine ausgeklügeltere Funktion wird gegeben durch
+ peerChan.
+ peerBulk löscht keine vorhandenen Peers sondern bearbeitet nur die Peerliste.
+ Andere bereits angelegt Peers werden nicht verändert.
+ peerBulk kann verwendet werden um Peers zu löschen indem die unset Option
+ mit Standardeinstellungen aufgerufen wird.
+
+ Verwendungszweck dieses Befehls ist hauptsächlich das Wiederherstellen
+ von Daten eines Geräts.
+ Empfehlenswert ist das anschließende Wiederherstellen der Registereinstellung
+ mit regBulk.
+ Beispiel:
+
+ set myChannel peerBulk 12345601,
+ set myChannel peerBulk self01,self02,FB_Btn_04,FB_Btn_03,
+ set myChannel peerBulk 12345601 unset # entferne Peer 123456 Kanal 01
+
+
+ - regBulk <reg List>:<peer> <addr1:data1> <addr2:data2>...
+
+ Dieser Befehl ersetzt das bisherige regRaw. Er erlaubt Register mit Rohdaten zu
+ beschreiben. Hauptzweck ist das komplette Wiederherstellen eines zuvor gesicherten
+ Registers.
+ Werte können mit getConfig ausgelesen werden. Die
+ zurückgegebenen Werte können direkt für diesen Befehl verwendet werden.
+ <reg List> bezeichnet die Liste in die geschrieben werden soll. Mögliches Format
+ '00', 'RegL_00', '01'...
+ <peer> ist eine optionale Angabe falls die Liste ein Peer benötigt.
+ Der Peer kann als Kanalname oder als 4-Byte (8 chars) HM-Kanal ID angegeben
+ werden.
+ <addr1:data1> ist die Liste der Register im Hex-Format.
+ Beispiel:
+
+ set myChannel regBulk RegL_00: 02:01 0A:17 0B:43 0C:BF 15:FF 00:00
+ RegL_03:FB_Btn_07
+ 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:93 0E:00 0F:00 11:C8 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 1A:00 1B:00 1C:00 1D:FF 1E:93 1F:00 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:44 8C:54 8D:93 8E:00 8F:00 91:C8 92:00 93:00 94:00 95:00 96:00 97:00 98:00 99:00 9A:00 9B:00 9C:00 9D:05 9E:93 9F:00 00:00
+ set myblind regBulk 01 0B:10
+ set myblind regBulk 01 0C:00
+
+ myblind setzt die maximale Zeit für das Hochfahren der Rollos auf 25,6 Sekunden
+
+ - regSet [prep|exec] <regName> <value> <peerChannel>
+ Für einige Hauptregister gibt es eine lesbarere Version die Registernamen <regName>
+ und Wandlung der Werte enthält. Nur ein Teil der Register wird davon unterstützt.
+ Der optionale Parameter [prep|exec] erlaubt das Packen von Nachrichten und verbessert damit
+ deutlich die Datenübertragung.
+ Benutzung durch senden der Befehle mit Parameter "prep". Daten werden dann für das Senden gesammelt.
+ Der letzte Befehl muss den Parameter "exec" habe um die Information zu übertragen.
+ <value> enthält die Daten in menschenlesbarer Form die in das Register geschrieben werden.
+ <peerChannel> wird benötigt falls das Register 'peerChan' basiert definiert wird.
+ Kann ansonsten auf '0' gesetzt werden. Siehe getRegRaw für komplette Definition.
+ Unterstützte Register eines Geräts können wie folgt bestimmt werden:
+
+ Eine verkürzte Beschreibung der Register wird zurückgegeben mit:
+
+
+ - reset
+ Rücksetzen des Geräts auf Werkseinstellungen. Muss danach erneut verbunden werden um es
+ mit FHEM zu nutzen.
+
+ - sign [on|off]
+ Ein- oder ausschalten der Signierung (auch "AES-Verschlüsselung" genannt, siehe note). Achtung: Wird das Gerät über einen CUL eingebunden ist schalten (oder
+ deaktivieren der Signierung) nicht möglich, das Gerät muss direkt zurückgesetzt werden.
+
+ - statusRequest
+ Aktualisieren des Gerätestatus. Für mehrkanalige Geräte sollte dies kanalbasiert
+ erfolgen.
+
+ - unpair
+ Aufheben des "Pairings", z.B. um das verbinden mit einem anderen Master zu ermöglichen.
+ Siehe pair für eine Beschreibung.
+ - virtual <Anzahl an Knöpfen>
+ Konfiguriert eine vorhandene Schaltung als virtuelle Fernbedienung. Die Anzahl der anlegbaren
+ Knöpfe ist 1 - 255. Wird der Befehl für die selbe Instanz erneut aufgerufen werden Knöpfe
+ hinzugefügt.
+ Beispiel für die Anwendung:
+
+ define vRemote CUL_HM 100000 # die gewählte HMid darf nicht in Benutzung sein
+ set vRemote virtual 20 # definiere eine Fernbedienung mit 20 Knöpfen
+ set vRemote_Btn4 peerChan 0 <actorchannel> # verknüpft Knopf 4 und 5 mit dem gewählten Kanal
+ set vRemote_Btn4 press
+ set vRemote_Btn5 press long
+
+ siehe auch press
+
+
+
+ subType abhängige Befehle:
+
+
+ - switch
+
+ - on - setzt Wert auf 100%
+ - off - setzt Wert auf 0%
+ - on-for-timer <sec> -
+ Schaltet das Gerät für die gewählte Zeit in Sekunden [0-85825945] an.
Hinweis:
+ off-for-timer wie bei FS20 wird nicht unterstützt. Kann aber über Kanalregister
+ programmiert werden.
+ - on-till <time> - einschalten bis zum angegebenen Zeitpunkt.
+ set <name> on-till 20:32:10
+ Das momentane Maximum für eine Endzeit liegt bei 24 Stunden.
+
+ - press <[short|long]><[on|off]>
+ press <[short|long]><[noBurst]>
+ simuliert den Druck auf einen lokalen Knopf oder direkt verbundenen Knopf des Aktors.
+ [short|long] wählt aus ob ein kurzer oder langer Tastendruck simuliert werden soll.
+ [on|off] ist relevant für Geräte mit direkter Bedienung pro Kanal.
+ Verfügbar für Dimmer und Rollo-Aktoren, normalerweise nicht für Schalter.
+ [noBurst] ist relevant für Peers die bedingte Bursts unterstützen.
+ Dies bewirkt das der Befehl der Warteliste des Peers zugefügt wird. Ein Burst wird anschließend
+ nicht ausgeführt da der Befehl wartet bis der Peer aufgewacht ist. Dies führt zu einer
+ Verzögerung des Tastendrucks, reduziert aber Übertragungs- und Performanceaufwand.
+
+ - toggle - toggled den Aktor. Schaltet vom aktuellen Level auf
+ 0% oder von 0% auf 100%
+
+
+
+ - dimmer, blindActuator
+ Dimmer können virtuelle Kanäle unterstützen. Diese werden automatisch angelegt falls vorhanden.
+ Normalerweise gibt es 2 virtuelle Kanäle zusätzlich zum primären Kanal. Virtuelle Dimmerkanäle sind
+ standardmäßig deaktiviert, können aber parallel zum ersten Kanal benutzt werden um das Licht zu steuern.
+ Die virtuellen Kanäle haben Standardnamen SW<channel>_V<nr> z.B. Dimmer_SW1_V1 and Dimmer_SW1_V2.
+ Virtuelle Dimmerkanäle unterscheiden sich komplett von virtuellen Knöpfen und Aktoren in FHEM, sind aber
+ Teil des HM-Geräts. Dokumentation und Möglichkeiten würde hier aber zu weit führen.
+
+ - 0 - 100 [on-time] [ramp-time]
+ Setzt den Aktor auf den gegeben Wert (In Prozent)
+ mit einer Auflösung von 0.5.
+ Bei Dimmern ist optional die Angabe von "on-time" und "ramp-time" möglich, beide in Sekunden mit 0.1s Abstufung.
+ "On-time" verhält sich analog dem "on-for-timer".
+ "Ramp-time" beträgt standardmäßig 2.5s, 0 bedeutet umgehend.
+
+ - on
+ - off
+ - press <[short|long]><[on|off]>
+ - toggle
+ - on-for-timer <sec> - Nur Dimmer!
+ - on-till <time> - Nur Dimmer!
+ - stop - Stopt Bewegung (Rollo) oder Dimmerrampe
+ - pct <level> [<ontime>] [<ramptime>] - setzt Aktor auf gewünschten absolut Wert.
+ Optional können für Dimmer "ontime" und "ramptime" angegeben werden.
+ "Ontime" kann dabei in Sekunden angegeben werden. Kann auch als Endzeit angegeben werden im Format hh:mm:ss
+
+ - up [changeValue] [<ontime>] [<ramptime>] Einen Schritt hochdimmen.
+ - down [changeValue] [<ontime>] [<ramptime>] Einen Schritt runterdimmen.
+ "changeValue" ist optional und gibt den zu ändernden Wert in Prozent an. Mögliche Abstufung dabei ist 0.5%, Standard ist 10%.
+ "ontime" ist optional und gibt an wielange der Wert gehalten werden soll. '0' bedeutet endlos und ist Standard.
+ "ramptime" ist optional und definiert die Zeit bis eine Änderung den neuen Wert erreicht. Hat nur für Dimmer Bedeutung.
+
+
+
+
+ - remotes, pushButton
+ Diese Geräteart reagiert nicht auf Anfragen, außer sie befinden sich im Lernmodus. FHEM reagiert darauf
+ indem alle Anfragen gesammelt werden bis der Lernmodus detektiert wird. Manuelles Eingreifen durch
+ den Benutzer ist dazu nötig. Ob Befehle auf Ausführung warten kann auf Geräteebene mit dem Parameter
+ 'protCmdPend' abgefragt werden.
+
+ - peerChan <btn_no> <actChan> [single|dual]
+ [set|unset] [both|actor|remote]
+ "peerChan" richtet eine Verbindung zwischen Sender-Kanal und
+ Aktor-Kanal ein, bei HM "link" genannt. "Peering" darf dabei nicht
+ mit "pairing" verwechselt werden.
+ Pairing bezeichnet das Zuordnen eines Geräts zu einer Zentrale.
+ Peering bezeichnet das faktische Verbinden von Kanälen.
+ Peering erlaubt die direkte Interaktion zwischen Sender und Aktor ohne den Einsatz einer CCU
+ Peering eines Senderkanals veranlaßt den Sender nach dem Senden eines Triggers auf die
+ Bestätigung eines - jeden - Peers zu warten. Positives Feedback (z.B. grüne LED)
+ gibt es dabei nur wenn alle Peers den Befehl bestätigt haben.
+ Peering eines Aktorkanals richtet dabei einen Satz von Parametern ein welche die auszuführenden Aktionen
+ definieren wenn ein Trigger dieses Peers empfangen wird. Dies bedeutet:
+ - nur Trigger von Peers werden ausgeführt
+ - die auszuführende Aktion muss für den zugehörigen Trigger eines Peers definiert werden
+ Ein Aktorkanal richtet dabei eine Standardaktion beim Peering ein - diese hängt vom Aktor ab.
+ Sie kann ebenfalls davon abhängen ob ein oder zwei Tasten ein einem Befehl gepeert werden.
+ Peert man einen Schalter mit 2 Tasten kann eine Taste für 'on' und eine andere für 'off' angelegt werden.
+ Wenn nur eine Taste definiert wird ist die Funktion wahrscheinlich 'toggle'.
+ Die Funktion kann durch programmieren des Register (vom Aktor abhängig) geändert werden.
+
+ Auch wenn der Befehl von einer Fernbedienung oder einem Taster kommt hat er direkten Effekt auf
+ den Aktor. Das Peering beider Seiten ist quasi unabhängig und hat unterschiedlich Einfluss auf
+ Sender und Empfänger.
+ Peering eines Aktorkanals mit mehreren Senderkanälen ist ebenso möglich wie das eines Senderkanals
+ mit mehreren Empfängerkanälen.
+
+ <actChan> ist der zu verknüpfende Aktorkanal.
+
+ <btn_no> ist der zu verknüpfende Senderkanal (Knopf). Wird
+ 'single' gewählt werden die Tasten von 1 an gezählt. Für 'dual' ist btn_no
+ die Nummer des zu verwendenden Tasterpaares. Z.B. ist '3' iim Dualmodus das
+ dritte Tasterpaar welches mit Tasten 5 und 6 im Singlemodus übereinstimmt.
+
+ Wird der Befehl auf einen Kanal angewendet wird btn_no igroriert.
+ Muss gesetzt sein, sollte dabei 0 sein.
+
+ [single|dual]: Dieser Modus bewirkt das Standardverhalten des Aktors bei Benutzung eines Tasters. Ein Dimmer
+ kann z.B. an einen einzelnen oder ein Paar von Tastern angelernt werden.
+ Standardeinstellung ist "dual".
+
+ 'dual' (default) Schalter verknüpft zwei Taster mit einem Aktor. Bei einem Dimmer
+ bedeutet das ein Taster für hoch- und einer für runterdimmen.
+
+ 'single' benutzt nur einen Taster des Senders. Ist z.B. nützlich für einen einfachen Schalter
+ der nur zwischen an/aus toggled. Aber auch ein Dimmer kann an nur einen Taster angelernt werden.
+
+ [set|unset]: Wählt aus ob Peer hinzugefügt oder entfernt werden soll.
+ Hinzufügen ist Standard.
+ 'set' stellt Peers für einen Kanal ein.
+ 'unset' entfernt Peer für einen Kanal.
+
+ [actor|remote|both] beschränkt die Ausführung auf Aktor oder Fernbedienung.
+ Das ermöglicht dem Benutzer das entfernen des Peers vom Fernbedienungskanal ohne
+ die Einstellungen am Aktor zu entfernen.
+ Standardmäßig gewählt ist "both" für beides.
+
+ Example:
+
+ set myRemote peerChan 2 mySwActChn single set #Peer zweiten Knopf mit Aktorkanal
+ set myRmtBtn peerChan 0 mySwActChn single set #myRmtBtn ist ein Knopf der Fernbedienung. '0' wird hier nicht verarbeitet
+ set myRemote peerChan 2 mySwActChn dual set #Verknüpfe Knöpfe 3 und 4
+ set myRemote peerChan 3 mySwActChn dual unset #Entferne Peering für Knöpfe 5 und 6
+ set myRemote peerChan 3 mySwActChn dual unset aktor #Entferne Peering für Knöpfe 5 und 6 nur im Aktor
+ set myRemote peerChan 3 mySwActChn dual set remote #Verknüpfe Knöpfe 5 und 6 nur mit Fernbedienung. Linkeinstellungen mySwActChn werden beibehalten.
+
+
+
+
+
+ - virtual
+
+ - peerChan siehe remote
+ - press [long|short]
+ Simuliert einen kurzen (Standard) oder langen Tastendruck. Zu beachten ist dass die momentane
+ Implementierung für "long" keine Dauer angibt . Es wird nur ein Trigger vom Typ "long" gesendet.
+
+ - virtTemp <[off -10..50]>
+ Simuliert ein Thermostat. Wenn mit einem Gerät gepeert wird periodisch eine Temperatur gesendet,
+ solange bis "off" gewählt wird. Siehe auch virtHum
+
+ - virtHum <[off -10..50]>
+ Simuliert den Feuchtigkeitswert eines Thermostats. Wenn mit einem Gerät verknüpft werden periodisch
+ Luftfeuchtigkeit undTemperatur gesendet, solange bis "off" gewählt wird. Siehe auch virtTemp
+
+ - valvePos <[off 0..100]>
+ steuert einen Ventilantrieb
+
+
+
+ - smokeDetector
+ Hinweis: All diese Befehle funktionieren momentan nur wenn mehr als ein Rauchmelder
+ vorhanden ist, und diese gepeert wurden um eine Gruppe zu bilden. Um die Befehle abzusetzen
+ muss der Master dieser gruppe verwendet werden, und momentan muss man raten welcher der Master ist.
+ smokeDetector kann folgendermaßen in Gruppen eingeteilt werden:
+ peerChan. Alle Mitglieder müssen mit dem Master verknüpft werden. Auch der
+ Master muss mit peerChan zur Gruppe zugefügt werden - z.B. mit sich selbst verknüpft! Dadurch hat man volle
+ Kontrolle über die Gruppe und muss nicht raten.
+
+ - teamCall - führt einen Netzwerktest unter allen Gruppenmitgliedern aus
+ - alarmOn - löst einen Alarm aus
+ - alarmOff - schaltet den Alarm aus
+
+
+ - 4Dis (HM-PB-4DIS-WM)
+
+ - text <btn_no> [on|off] <text1> <text2>
+ Zeigt Text auf dem Display eines Geräts an. Für diesen Zweck muss zuerst ein set-Befehl
+ (oder eine Anzahl davon) abgegeben werden, dann können im "teach-in" Menü des 4Dis mit
+ "Central" Daten übertragen werden.
+ Falls auf einen Kanal angewendet dürfen btn_no und on|off nicht verwendet werden, nur
+ reiner Text.
+ Beispiel:
+
+
+ set 4Dis text 1 on On Lamp
+ set 4Dis text 1 off Kitchen Off
+
+ set 4Dis_chn4 text Kitchen Off
+
+
+
+
+
+
+ - Climate-Control (HM-CC-TC)
+
+ - desired-temp <temp>
+ Setzt verschiedene Temperaturen. <temp> muss zwischen 6°C und 30°C liegen, die Auflösung beträgt 0.5°C.
+ - tempListSat [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListSun [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListMon [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListTue [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListThu [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListWed [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListFri [prep|exec] HH:MM temp ... 24:00 temp
+ Gibt eine Liste mit Temperaturintervallen an. Bis zu 24 Intervall können pro Wochentag definiert werden, die
+ Auflösung dabei sind 10 Minuten. Die letzte Zeitangabe muss 24:00 Uhr sein.
+ Beispiel: bis 6:00 soll die Temperatur 19°C sein, dann bis 23:00 Uhr 22.5°C, anschließend
+ werden bis Mitternacht 19°C gewünscht.
+ set th tempListSat 06:00 19 23:00 22.5 24:00 19
+
+ - partyMode <HH:MM><durationDays>
+ setzt die Steuerung für die angegebene Zeit in den Partymodus. Dazu ist die Endzeit sowie Anzahl an Tagen
+ die er dauern soll anzugeben. Falls er am nächsten Tag enden soll ist '1'
+ anzugeben
+ - systime
+ setzt Zeit des Klimakanals auf die Systemzeit
+
+
+ - Climate-Control (HM-CC-RT-DN|HM-CC-RT-DN-BoM)
+
+ - controlMode <auto|boost|day|night>
+ - controlManu <temp>
+ - controlParty <temp><startDate><startTime><endDate><endTime>
+ setzt die Steuerung in den Partymodus, definiert Temperatur und Zeitrahmen.
+ Beispiel:
+ set controlParty 15 03.8.13 20:30 5.8.13 11:30
+ - systime
+ setzt Zeit des Klimakanals auf die Systemzeit
+ - desired-temp <temp>
+ Setzt verschiedene Temperaturen. <temp> muss zwischen 6°C und 30°C liegen, die Auflösung beträgt 0.5°C.
+ - tempListSat [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListSun [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListMon [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListTue [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListThu [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListWed [prep|exec] HH:MM temp ... 24:00 temp
+ - tempListFri [prep|exec] HH:MM temp ... 24:00 temp
+ Gibt eine Liste mit Temperaturintervallen an. Bis zu 24 Intervall können pro Wochentag definiert werden, die
+ Auflösung dabei sind 10 Minuten. Die letzte Zeitangabe muss immer 24:00 Uhr sein.
+ Der optionale Parameter [prep|exec] erlaubt das packen der Nachrichten und verbessert damit deutlich
+ die Datenübertragung. Besonders nützlich wenn das Gerät im "Wakeup"-modus betrieben wird.
+ Benutzung durch senden der Befehle mit Parameter "prep". Daten werden dann für das Senden gesammelt.
+ Der letzte Befehl muss den Parameter "exec" habe um die Information zu übertragen.
+ Beispiel: bis 6:00 soll die Temperatur 19°C sein, dann bis 23:00 Uhr 22.5°C, anschließend
+ werden bis Mitternacht 19°C gewünscht.
+ set th tempListSat 06:00 19 23:00 22.5 24:00 19
+
+ set th tempListSat prep 06:00 19 23:00 22.5 24:00 19
+ set th tempListSun prep 06:00 19 23:00 22.5 24:00 19
+ set th tempListMon prep 06:00 19 23:00 22.5 24:00 19
+ set th tempListTue exec 06:00 19 23:00 22.5 24:00 19
+
+
+
+ - OutputUnit (HM-OU-LED16)
+
+ - led [off|red|green|yellow]
+ schaltet die LED des Kanals auf die gewünschte Farbe. Wird der Befehl auf ein Gerät angewandt so
+ werden alle LEDs auf diese Farbe gesetzt.
+ Experten können die LEDs separat durch eine 8-stellige Hex-Zahl ansteuern.
+ - ilum <Helligkeit><Dauer>
+ <Helligkeit> [0-15] der Beleuchtung.
+ <Dauer> [0-127] in Sekunden, 0 bedeutet dauernd an.
+
+ - OutputUnit (HM-OU-CFM-PL)
+
+ - led <color>[,<color>..] [<repeat>..]
+ Mögliche Farben sind [redL|greenL|yellowL|redS|greenS|yellowS|pause]. Eine Folge von Farben
+ kann durch trennen der Farbeinträge mit ',' eingestellt werden.
+ Leerzeichen dürfen in der Liste nicht benutzt werden. 'S' bezeichnet kurze und
+ 'L' lange Beleuchtungsdauer.
+ repeat definiert wie oft die Sequenz ausgeführt werden soll. Standard ist 1.
+
+ - playTone <MP3No>[,<MP3No>..] [<repeat>..]
+ Spielt eine Reihe von Tönen. Die Liste muss mit ',' getrennt werden. Leerzeichen
+ dürfen in der Liste nicht benutzt werden.
+ replay kann verwendet werden um den zuletzt gespielten Klang zu wiederholen.
+ repeat definiert wie oft die Sequenz ausgeführt werden soll. Standard ist 1.
+ Beispiel:
+
+ set cfm_Mp3 playTone 3 # MP3 Titel 3 einmal
+ set cfm_Mp3 playTone 3 3 # MP3 Titel 3 dreimal
+ set cfm_Mp3 playTone 3,6,8,3,4 # MP3 Titelfolge 3,6,8,3,4 einmal
+ set cfm_Mp3 playTone 3,6,8,3,4 255# MP3 Titelfolge 3,6,8,3,4 255 mal
+ set cfm_Mp3 playTone replay # Wiederhole letzte Sequenz
+
+ set cfm_Led led redL 4 # rote LED dreimal lang blinken
+ set cfm_Led led redS,redS,redS,redL,redL,redL,redS,redS,redS 255 # SOS 255 mal
+
+
+
+
+ - HM-RC-19xxx
+
+ - alarm <count>
+ sendet eine Alarmnachricht an die Steuerung
+ - service <count>
+ sendet eine Servicenachricht an die Steuerung
+ - symbol <symbol> [set|unset]
+ aktiviert ein verfügbares Symbol auf der Steuerung
+ - beep [off|1|2|3]
+ aktiviert Töne
+ - backlight [off|on|slow|fast]
+ aktiviert Hintergrundbeleuchtung
+ - display <text> comma unit tone backlight <symbol(s)>
+
+ Steuert das Display der Steuerung
+ <text> : bis zu 5 Zeichen
+ comma : 'comma' aktiviert das Komma, 'no' läßt es aus
+ [unit] : setzt Einheitensymbole.
+ [off|Proz|Watt|x3|C|x5|x6|x7|F|x9|x10|x11|x12|x13|x14|x15]. Momentan sind
+ x3..x15 nicht getestet.
+ tone : aktiviert einen von 3 Tönen [off|1|2|3]
+ backlight: läßt die Hintergrundbeleuchtung aufblinken [off|on|slow|fast]
+ <symbol(s)> aktiviert die Anzeige von Symbolen. Mehrere Symbole
+ können zu selben Zeit aktiv sein, Verknüpfung erfolgt komma-getrennt. Dabei keine
+ Leerzeichen verwenden. Mögliche Symbole:
+ [bulb|switch|window|door|blind|scene|phone|bell|clock|arrowUp|arrowDown]
+
+ Beispiel:
+
+ # "Hello" auf dem Display, Symbol bulb an, Hintergrundbeleuchtung, Ton ausgeben
+ set FB1 display Hello no off 1 on bulb
+ # "1234,5" anzeigen mit Einheit 'W'. Symbole scene,phone,bell und
+ # clock sind aktiv. Hintergrundbeleuchtung blinikt schnell, Ausgabe von Ton 2
+ set FB1 display 12345 comma Watt 2 fast scene,phone,bell,clock
+
+
+
+
+
+ - keyMatic
+ Keymatic verwendet eine AES-signierte Kommunikation. Deshalb ist die Steuerung von Keymatic
+ nur mit dem HM-LAN möglich. But
+ Ein CUL kann aber Statusnachrichten von Keymatic mitlesen und darauf
+ reagieren.
+
+ - lock
+ Schließbolzen fährt in Zu-Position
+ - unlock [sec]
+ Schließbolzen fährt in Auf-Position.
+ [sec]: Stellt die Verzögerung ein nach der sich das Schloss automatisch wieder verschließt.
+ 0 - 65535 Sekunden
+ - open [sec]
+ Entriegelt die Tür sodass diese geöffnet werden kann.
+ [sec]: Stellt die Verzögerung ein nach der sich das Schloss automatisch wieder
+ verschließt.
0 - 65535 Sekunden
+
+ - winMatic
+ winMatic arbeitet mit 2 Kanälen, einem für die Fenstersteuerung und einem für den Akku.
+
+ - level <level> <relockDelay> <speed>
+ stellt den Wert ein.
+ <level>: Bereich ist 0% bis 100%
+ <relockDelay>: Spanne reicht von 0 bis 65535 Sekunden. 'ignore' kann verwendet werden um den Wert zu ignorieren.
+ <speed>: Bereich ist 0% bis 100%
+
+ - stop
+ stopt die Bewegung
+
+
+ - HM-Sys-sRP-Pl
+ legt Einträge für den Repeater an. Bis zu 36 Einträge können angelegt werden.
+
+ - setRepeat <entry> <sender> <receiver> <broadcast>
+ <entry> [1..36] Nummer des Eintrags in der Tabelle.
+ <sender> Name oder HMid des Senders oder der Quelle die weitergeleitet werden soll
+ <receiver> Name oder HMid des Empfängers oder Ziels an das weitergeleitet werden soll
+ <broadcast> [yes|no] definiert ob Broadcasts von einer ID weitergeleitet werden sollen.
+
+ Kurzanwendung:
+ setRepeat setAll 0 0 0
+ schreibt die gesamte Liste der Geräte neu. Daten kommen vom Attribut repPeer.
+ Das Attribut repPeer hat folgendes Format:
+ src1:dst1:[y/n],src2:dst2:[y/n],src2:dst2:[y/n],...
+
+ Foramtierte Werte von repPeer:
+ Number src dst broadcast verify
+ number: Nummer des Eintrags in der Liste
+ src: Ursprungsgerät der Nachricht - aus Repeater ausgelesen
+ dst: Zielgerät der Nachricht - asu den Attributen abgeleitet
+ broadcast: sollen Broadcasts weitergeleitet werden - aus Repeater ausgelesen
+ verify: stimmen Attribute und ausgelesen Werte überein?
+
+
+
+
+
+
+ Debugging:
+
+
+
+
+ Get
+
+ - configSave <filename>
+ Sichert die Einstellungen eines Eintrags in einer Datei. Die Daten werden in
+ einem von der FHEM-Befehlszeile ausführbaren Format gespeichert.
+ Die Datei liegt im FHEM Home-Verzeichnis neben der fhem.cfg. Gespeichert wird
+ kumulativ- d.h. neue Daten werden an die Datei angehängt. Es liegt am Benutzer das
+ doppelte speichern von Einträgen zu vermeiden.
+ Ziel der Daten ist NUR die Information eines HM-Gerätes welche IM Gerät gespeichert ist.
+ Im Deteil sind das nur die Peer-Liste sowie die Register.
+ Durch die Register wird also das Peering eingeschlossen.
+ Die Datei ist vom Benutzer les- und editierbar. Zusätzlich gespeicherte Zeitstempel
+ helfen dem Nutzer bei der Validierung.
+ Einschränkungen:
+ Auch wenn alle Daten eines Eintrags in eine Datei gesichert werden so sichert FHEM nur
+ die zum Zeitpunkt des Speicherns verfügbaren Daten! Der Nutzer muss also die Daten
+ der HM-Hardware auslesen bevor dieser Befehl ausgeführt wird.
+ Siehe empfohlenen Ablauf unten.
+ Dieser Befehl speichert keine FHEM-Attribute oder Gerätedefinitionen.
+ Diese verbleiben in der fhem.cfg.
+ Desweiteren werden gesicherte Daten nicht automatisch zurück auf die HM-Hardware geladen.
+ Der Benutzer muss die Wiederherstellung auslösen.
+ Ebenso wie ander Befehle wird 'configSave' am besten auf ein Gerät und nicht auf einen
+ Kanal ausgeführt. Wenn auf ein Gerät angewendet werden auch die damit verbundenen Kanäle
+ gesichert.
+
+ Empfohlene Arbeitsfolge für ein Gerät 'HMdev':
+ set HMdev clear msgEvents # alte Events löschen um Daten besser kontrollieren zu können
+ set HMdev getConfig # Geräte- und Kanalinformation auslesen
+ # warten bis Ausführung abgeschlossen ist
+ # "protState" sollte dann "CMDs_done" sein
+ # es sollten keine Warnungen zwischen "prot" und den Variablen auftauchen
+ get configSave myActorFile
+
+
+ - param <paramName>
+ Gibt den Inhalt der relevanten Parameter eines Eintrags zurück.
+ Hinweis: wird der Befehl auf einen Kanal angewandt und 'model' abgefragt so wird das Model
+ des inhalteanbietenden Geräts zurückgegeben.
+
+ - reg <addr> <list> <peerID>
+ liefert den Wert eines Registers zurück. Daten werden aus dem Speicher von FHEM und nicht direkt vom Gerät geholt.
+ Falls der Registerinhalt nicht verfügbar ist muss "getConfig" sowie anschließend "getReg" verwendet werden.
+
+ <addr> Adresse des Registers in HEX. Registername kann alternativ verwendet werden falls in FHEM bekannt.
+ "all" gibt alle dekodierten Register eines Eintrags in einer Liste zurück.
+ <list> Liste aus der das Register gewählt wird. Wird der REgistername verwendet wird "list" ignoriert und kann auf '0' gesetzt werden.
+ <peerID> identifiziert die Registerbänke für "list3" und "list4". Kann als Dummy gesetzt werden wenn nicht benötigt.
+
+ - regList
+ gibt eine Liste der von FHEM für dieses Gerät dekodierten Register zurück.
+ Beachten dass noch mehr Register für ein Gerät implemetiert sein können.
+
+ - saveConfig <file>
+ speichert Peers und Register in einer Datei.
+ Gespeichert werden die Daten wie sie in FHEM verfügbar sind. Es ist daher notwendig vor dem Speichern die Daten auszulesen.
+ Der Befehl unterstützt Aktionen auf Geräteebene. D.h. wird der Befehl auf ein Gerät angewendet werden auch alle verbundenen Kanaleinträge gesichert.
+ Das Speichern der Datei erfolgt kumulativ. Wird ein Eintrag mehrfach in der selben Datei gespeichert so werden die Daten an diese angehängt.
+ Der Nutzer kann den Zeitpunkt des Speichern bei Bedarf auslesen.
+ Der Inhalt der Datei kann verwendet werden um die Geräteeinstellungen wiederherzustellen. Er stellt alle Peers und Register des Eintrags wieder her.
+ Zwänge/Beschränkungen:
+ vor dem zurückschreiben der Daten eines Eintrags muss das Gerät mit FHEM verbunden werden.
+ "restore" löscht keine verknüpften Kanäle, es fügt nur neue Peers hinzu.
+
+
+ Attribute
+
+ - eventMap
+ - do_not_notify
+ - ignore
+ - dummy
+ - showtime
+ - readingFnAttributes
+ - actCycle
+ actCycle <[hhh:mm]|off>
+ Bietet eine 'alive' oder besser 'not alive' Erkennung für Geräte. [hhh:mm] ist die maximale Zeit ohne Nachricht eines Geräts. Wenn innerhalb dieser Zeit keine Nachricht empfangen wird so wird das Event"<device> is dead" generiert.
+ Sendet das Gerät wieder so wird die Nachricht"<device> is alive" ausgegeben.
+ Diese Erkennung wird durch 'autocreate' für jedes Gerät mit zyklischer Statusmeldung angelegt.
+ Die Kontrollinstanz ist ein Pseudo-Gerät "ActionDetector" mit der HMId "000000".
+ Aufgrund von Performanceüberlegungen liegt die Antwortverzögerung bei 600 Sekunden (10min). Kann über das Attribut "actCycle" des "ActionDetector" kontrolliert werden.
+ Sobald die Überwachung aktiviert wurde hat das HM-Gerät 2 Attribute:
+
+ actStatus: Aktivitätsstatus des Geräts
+ actCycle: Detektionsspanne [hhh:mm]
+
+ Die gesamte Funktion kann über den "ActionDetector"-Eintrag überprüft werden. Der Status aller Instanzen liegt im READING-Bereich.
+ Hinweis: Diese Funktion kann ebenfalls für Geräte ohne zyklische Übertragung aktiviert werden. Es obliegt dem Nutzer eine vernünftige Zeitspanne festzulegen.
+
+ - expert
+ Dieses Attribut steuert die Sichtbarkeit der Werte. Damit wird die Darstellung der Geräteparameter kontrolliert.
+ 3 Level können gewählt werden:
+
+ 0_off: Standard. Zeigt die häufigst benutzten Paramter
+ 1_on: Erweitert. Zeigt alle dekodierten Geräteparameter
+ 2_full: Alles. Zeigt alle Parameter sowie Registerinformationen im Rohformat.
+
+ Wird 'expert' auf ein Gerät angewendet so gilt dies auch für alle verknüpften Kanäle.
+ Kann übergangen werden indem das Attribut ' expert' auch für den Gerätekanal gesetzt wird.
+ Das Attribut "showInternalValues" bei den globalen Werten muss ebenfalls überprüft werden.
+ "expert" macht sich diese Implementierung zu Nutze.
+ Gleichwohl setzt "showInternalValues" - bei Definition - 'expert' außer Kraft .
+
+ - model,
+ subType
+ Diese Attribute werden bei erfolgreichem Pairing automatisch gesetzt.
+ Sie sollten nicht per Hand gesetzt werden und sind notwendig um Gerätenachrichten
+ korrekt interpretieren oder senden zu können.
+ - param
+ 'param' definiert modelspezifische Verhalten oder Funktionen. Siehe "models" für Details.
+ - msgRepeat
+ Definiert die Nummer an Wiederholungen falls ein Gerät nicht rechtzeitig antwortet.
+ Für Geräte die nur den "Config"-Modus unterstützen sind Wiederholungen nicht erlaubt.
+ Bei Geräte mit wakeup-Modus wartet das Gerät bis zum nächsten Aufwachen. Eine längere Verzögerung
+ sollte in diesem Fall angedacht werden.
+ Wiederholen von Bursts hat Auswirkungen auf die HMLAN Übertragungskapazität.
+ - burstAccess
+ kann für eine Geräteinstanz gesetzt werden falls das Model bedingte Bursts erlaubt.
+ Das Attribut deaktiviert den Burstbetrieb (0_off) was die Nachrichtenmenge des HMLAN reduziert
+ und damit die Wahrscheinlichkeit einer Überlast von HMLAN verringert.
+ Einschalten (1_auto) erlaubt kürzere Reaktionszeiten eines Geräts. Der Nutzer muss nicht warten
+ bis das Gerät wach ist.
+ Zu beacht ist dass das Register "burstRx" im Gerät ebenfalls gesetzt werden muss.
+ - rawToReadable
+ Wird verwendet um Rohdaten von KFM100 in ein lesbares Fomrat zu bringen, basierend auf
+ den gemessenen Werten. Z.B. langsames Füllen eines Tanks, während die Werte mit inform
+ angezeigt werden. Man sieht:
+
+ 10 (bei 0%)
+ 50 (bei 20%)
+ 79 (bei 40%)
+ 270 (bei 100%)
+
+ Anwenden dieser Werte: "attr KFM100 rawToReadable 10:0 50:20 79:40 270:100".
+ FHEM für damit eine lineare Interpolation der Werte in den gegebenen Grenzen aus.
+
+ - unit
+ setzt die gemeldete Einheit des KFM100 falls 'rawToReadable' aktiviert ist. Z.B.
+ attr KFM100 unit Liter
+
+ - autoReadReg
+ '0' autoReadReg wird ignoriert.
+ '1' führt ein "getConfig" für ein Gerät automatisch nach jedem Neustart von FHEM aus.
+ '2' verhält sich wie '1',zusätzlich nach jedem power_on.
+ '3' wie '2', zusätzlich bei jedem Schreiben auf das Gerät
+ '4' wie '3' und versucht außerdem den Status abzufragen falls dieser nicht verfügbar erscheint.
+ '5' kontrolliert 'reglist' und 'peerlist'. Falls das Auslesen unvollständig ist wird 'getConfig' ausgeführt
+ '8_stateOnly' aktualisiert nur Statusinformationen aber keine Konfigurationen wie Daten- oder
+ Peerregister.
+ Ausführung wird verzögert um eine Überlastung beim Start zu vermeiden . Daher werden Aktualisierung und Anzeige
+ von Werten abhängig von der Größe der Datenbank verzögert geschehen.
+ Empfehlungen und Einschränkungen bei Benutzung:
+
+ Dieses Attribut nur auf ein Gerät oder Kanal 01 anwenden. Nicht auf einzelne Kanäle eines mehrkanaligen
+ Geräts anwenden um eine doppelte Ausführung zu vermeiden.
+ Verwendung bei Geräten die nur auf den 'config'-Modus reagieren wird nicht empfohlen da die Ausführung
+ erst starten wird wenn der Nutzer die Konfiguration vornimmt
+ Anwenden auf Geräte mit 'wakeup'-Modus ist nützlich. Zu bedenken ist aber dass die Ausführung
+ bis zm "aufwachen" verzögert wird.
+
+
+
+ verfügbare Parameter für "param"
+
+ - HM-Sen-RD-O
+ offAtPon: nur Heizkanäle: erzwingt Ausschalten der Heizung nach einem powerOn
+ onAtRain: nur Heizkanäle: erzwingt Einschalten der Heizung bei Status 'rain' und Ausschalten bei Status 'dry'
+
+ - virtuals
+ noOnOff: eine virtuelle Instanz wird den Status nicht ändern wenn ein Trigger empfangen wird. Ist dieser Paramter
+ nicht gegeben so toggled die Instanz ihren Status mit jedem trigger zwischen An und Aus
+ msgReduce: falls gesetzt und der Kanal wird für genutzt wird jede Nachricht
+ außer die der Ventilstellung verworfen um die Nachrichtenmenge zu reduzieren
+
+
+
+ Erzeugte Events:
+
+ - Allgemein
+ recentStateType:[ack|info] # kann nicht verwendet werden um Nachrichten zu triggern
+ - ack zeigt an das eine Statusinformation aus einer Bestätigung abgeleitet wurde
+ - info zeigt eine automatische Nachricht eines Geräts an
+ - sabotageAttackId
+ Alarmiert bei Konfiguration des Geräts durch unbekannte Quelle
+ - sabotageAttack
+ Alarmiert bei Konfiguration des Geräts welche nicht durch das System ausgelöst wurde
+
+ - HM-CC-TC,ROTO_ZEL-STG-RM-FWT
+ T: $t H: $h
+ battery:[low|ok]
+ measured-temp $t
+ humidity $h
+ actuator $vp %
+ desired-temp $dTemp
+ desired-temp-manu $dTemp #Temperatur falls im manuellen Modus
+ desired-temp-cent $dTemp #Temperatur falls im Zentrale-Modus
+ windowopen-temp-%d %.1f (sensor:%s)
+ tempList$wd hh:mm $t hh:mm $t ...
+ displayMode temp-[hum|only]
+ displayTemp [setpoint|actual]
+ displayTempUnit [fahrenheit|celsius]
+ controlMode [manual|auto|central|party]
+ tempValveMode [Auto|Closed|Open|unknown]
+ param-change offset=$o1, value=$v1
+ ValveErrorPosition_for_$dname $vep %
+ ValveOffset_for_$dname : $of %
+ ValveErrorPosition $vep %
+ ValveOffset $of %
+ time-request
+ trig_<src> <value> #channel was triggered by <src> channel.
+ Dieses Event hängt vom kompletten Auslesen der Kanalkonfiguration ab, anderenfalls können Daten
+ unvollständig oder fehlerhaft sein.
+ trigLast <channel> #letzter empfangener Trigger
+
+ - HM-CC-RT-DN and HM-CC-RT-DN-BoM
+ state:T: $actTemp desired: $setTemp valve: $vp %
+ motorErr: [ok|ValveTight|adjustRangeTooLarge|adjustRangeTooSmall|communicationERR|unknown|lowBat|ValveErrorPosition]
+ measured-temp $actTemp
+ desired-temp $setTemp
+ ValvePosition $vp %
+ mode [auto|manu|party|boost]
+ battery [low|ok]
+ batteryLevel $bat V
+ measured-temp $actTemp
+ desired-temp $setTemp
+ actuator $vp %
+ time-request
+ trig_<src> <value> #Kanal wurde durch <src> Kanal ausgelößt.
+
+ - HM-CC-VD,ROTO_ZEL-STG-RM-FSA
+ $vp %
+ battery:[critical|low|ok]
+ motorErr:[ok|blocked|loose|adjusting range too small|opening|closing|stop]
+ ValvePosition:$vp %
+ ValveErrorPosition:$vep %
+ ValveOffset:$of %
+ ValveDesired:$vp % # durch Temperatursteuerung gesetzt
+ operState:[errorTargetNotMet|onTarget|adjusting|changed] # operative Bedingung
+ operStateErrCnt:$cnt # Anzahl fehlgeschlagener Einstellungen
+
+ - HM-CC-SCD
+ [normal|added|addedStrong]
+ battery [low|ok]
+
+ - HM-SEC-SFA-SM
+ powerError [on|off]
+ sabotageError [on|off]
+ battery: [critical|low|ok]
+
+ - HM-LC-BL1-PB-FM
+ motor: [opening|closing]
+
+ - HM-LC-SW1-BA-PCB
+ battery: [low|ok]
+
+ - HM-OU-LED16
+ color $value # in Hex - nur für Gerät
+ $value # in Hex - nur für Gerät
+ color [off|red|green|orange] # für Kanal
+ [off|red|green|orange] # für Kanal
+
+ - HM-OU-CFM-PL
+ [on|off|$val]
+
+ - HM-Sen-Wa-Od
+ $level%
+ level $level%
+
+ - KFM100
+ $v
+ $cv,$unit
+ rawValue:$v
+ Sequence:$seq
+ content:$cv,$unit
+
+ - KS550/HM-WDS100-C6-O
+ T: $t H: $h W: $w R: $r IR: $ir WD: $wd WDR: $wdr S: $s B: $b
+ temperature $t
+ humidity $h
+ windSpeed $w
+ windDirection $wd
+ windDirRange $wdr
+ rain $r
+ isRaining $ir
+ sunshine $s
+ brightness $b
+ unknown $p
+
+ - HM-Sen-RD-O
+ lastRain: timestamp # kein Trigger wird erzeugt. Anfang des vorherigen Regen-Zeitstempels
+ des Messwerts ist Ende des Regens.
+
+ - THSensor und HM-WDC7000
+ T: $t H: $h AP: $ap
+ temperature $t
+ humidity $h
+ airpress $ap #nur HM-WDC7000
+
+ - dimmer
+ overload [on|off]
+ overheat [on|off]
+ reduced [on|off]
+ dim: [up|down|stop]
+
+ - motionDetector
+ brightness:$b
+ alive
+ motion on (to $dest)
+ motionCount $cnt _next:$nextTr"-"[0x0|0x1|0x2|0x3|15|30|60|120|240|0x9|0xa|0xb|0xc|0xd|0xe|0xf]
+ cover [closed|open] # nicht bei HM-Sec-MDIR
+ sabotageError [on|off] # nur bei HM-Sec-MDIR
+ battery [low|ok]
+ devState_raw.$d1 $d2
+
+ - remote/pushButton/outputUnit
+ (to $dest) wird hinzugefügt wenn der Knopf gepeert ist und keinen Broadcast sendet
+ Freigabe ist nur für verknüpfte Kanäle verfügbar
+ Btn$x onShort
+ Btn$x offShort
+ Btn$x onLong $counter
+ Btn$x offLong $counter
+ Btn$x onLongRelease $counter
+ Btn$x offLongRelease $counter
+ Btn$x onShort (to $dest)
+ Btn$x offShort (to $dest)
+ Btn$x onLong $counter (to $dest)
+ Btn$x offLong $counter (to $dest)
+ Btn$x onLongRelease $counter (to $dest)
+ Btn$x offLongRelease $counter (to $dest)
+
+ - remote/pushButton
+ battery [low|ok]
+ trigger [Long|Short]_$no trigger event from channel
+
+ - swi
+ Btn$x toggle
+ Btn$x toggle (to $dest)
+ battery: [low|ok]
+
+ - switch/dimmer/blindActuator
+ $val
+ powerOn [on|off|$val]
+ [unknown|motor|dim] [up|down|stop]:$val
+ timedOn [running|off]
# "An" ist temporär - z.B. mit dem 'on-for-timer' gestartet
+
+ - sensRain
+ $val
+ powerOn
+ level <val≥
+ timedOn [running|off]
# "An" ist temporär - z.B. mit dem 'on-for-timer' gestartet
+ trigger [Long|Short]_$no trigger event from channel
+
+ - smokeDetector
+ [off|smoke-Alarm|alive] # für Gruppen-Master
+ [off|smoke-forward|smoke-alarm] # für Gruppenmitglieder
+ [normal|added|addedStrong] #HM-CC-SCD
+ SDteam [add|remove]_$dname
+ battery [low|ok]
+ smoke_detect [none|<src>]
+ teamCall:from $src
+
+ - threeStateSensor
+ [open|tilted|closed]
+ [wet|damp|dry] #nur HM-SEC-WDS
+ cover [open|closed] #HM-SEC-WDS und HM-Sec-RHS
+ alive yes
+ battery [low|ok]
+ contact [open|tilted|closed]
+ contact [wet|damp|dry] #nur HM-SEC-WDS
+ sabotageError [on|off] #nur HM-SEC-SC
+
+ - winMatic
+ [locked|$value]
+ motorError [no|TurnError|TiltError]
+ direction [no|up|down|undefined]
+ charge [trickleCharge|charge|dischange|unknown]
+ airing [inactiv|$air]
+ course [tilt|close]
+ airing [inactiv|$value]
+ contact tesed
+
+ - keyMatic
+ unknown:40
+ battery [low|ok]
+ uncertain [yes|no]
+ error [unknown|motor aborted|clutch failure|none']
+ lock [unlocked|locked]
+ [unlocked|locked|uncertain]
+
+
+
+
=end html
=cut