Z-Wave Command Classes: Unterschied zwischen den Versionen
K (Einige Klassen geändert, falsche Aussage im Text beseitigt) |
Krikan (Diskussion | Beiträge) K (→Liste von bekannten Command Classes und deren Unterstützung in FHEM: -> FIRMWARE_UPDATE_MD) |
||
(43 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{Randnotiz|RNTyp=Info|RNText=Dieser Artikel wurde vor Veröffentlichung der [http://z-wave.sigmadesigns.com/design-z-wave/z-wave-public-specification/ Z-Wave Public Specification] am 31.08.2016 erstellt. Die Informationen zu den Command Classes waren bis zu diesem Zeitpunkt nicht offengelegt, die Versionen/Namen der Klassen wurden anhand der nun verfügbaren Dokumentation angepasst (03-09.2016)}} | ||
[[Z-Wave Command Classes]] sind Klassen von Befehlen oder Protokollen, die zur Kommunikation und Steuerung der Z-Wave-Geräte dienen. | [[Z-Wave Command Classes]] sind Klassen von Befehlen oder Protokollen, die zur Kommunikation und Steuerung der Z-Wave-Geräte dienen. | ||
Auf dieser Seite werden einige Grundlagen zu diesen Command Classes von Z-Wave, sowie deren Implementierung in | Auf dieser Seite werden einige Grundlagen zu diesen Command Classes von Z-Wave, sowie deren Implementierung in FHEM beschrieben. Allgemeine Grundlagen zu Z-Wave finden sich im [[Z-Wave|Z-Wave Hauptartikel]]. | ||
== Command Classes == | == Command Classes == | ||
=== Einleitung === | === Einleitung === | ||
Entstanden ist dieser Artikel da die Dokumentation der Z-Wave Command Classes zum damaligen Zeitpunkt leider (noch) nicht offengelegt waren, wodurch die verfügbaren Informationen teilweise veraltet, unvollständig oder auch falsch waren. Am 31.08.2016 hat Sigma Designs die Dokumentationen der ZWave Command Classes freigegeben (siehe: [http://z-wave.sigmadesigns.com/design-z-wave/z-wave-public-specification/ Z-Wave Public Specification]). Die Informationen auf dieser Seite wurden nach Erscheinen dieser offiziellen Dokumente angepasst, dieser Artikel erhebt dennoch keinen Anspruch auf Vollständigkeit, Aktualität oder Richtigkeit. Er soll vielmehr dazu dienen, die bekannten Command Classes aufzulisten, sowie einen Hinweis auf deren Unterstützung in FHEM zu geben. | |||
=== Allgemeines === | === Allgemeines === | ||
Die Kommunikation zwischen den Z-Wave Nodes erfolgt über festgelegte Protokolle, welche jeweils in den Command Classes festgelegt sind. Für jede Gerätefunktion gibt es eine Command Class, ein Gerät hat jedoch im Allgemeinen mehrere Funktionen und damit auch mehrere Command Classes. | Die Kommunikation zwischen den Z-Wave Nodes erfolgt über festgelegte Protokolle, welche jeweils in den Command Classes festgelegt sind. Für jede Gerätefunktion gibt es eine Command Class, ein Gerät hat jedoch im Allgemeinen mehrere Funktionen und damit auch mehrere Command Classes. | ||
Wie im | Wie im Z-Wave Basisartikel beschrieben, ist die minimale Anforderung an ein Geräte die Unterstützung der Command Class "CLASS_BASIC". Diese "BASIC" Klasse wird von den Geräten nicht explizit in der Liste Ihrer unterstützten Klassen aufgeführt, laut Spezifikation soll jedes Gerät diese Klasse unterstützen bzw. mit Nachrichten dieser Klasse umgehen können. | ||
Eine schaltbare Zwischensteckdose unterstützt z.B. die folgenden Command Classes: | Eine schaltbare Zwischensteckdose unterstützt z.B. die folgenden Command Classes: | ||
Zeile 24: | Zeile 22: | ||
Den Command Classes ist jeweils eine eindeutige ID zugeordnet. Diese ID wird in der Kommunikation dazu genutzt die jeweilige Geräteklasse anzusprechen. | Den Command Classes ist jeweils eine eindeutige ID zugeordnet. Diese ID wird in der Kommunikation dazu genutzt die jeweilige Geräteklasse anzusprechen. | ||
Der COMMAND_CLASS_METER ist beispielsweise die ID 0x32 (hexadezimal) bzw. 50 (dezimal) zugeordnet. Um die unterstützte Version einer Klasse abzufragen wird die COMMAND_CLASS_VERSION genutzt. In | Der COMMAND_CLASS_METER ist beispielsweise die ID 0x32 (hexadezimal) bzw. 50 (dezimal) zugeordnet. Um die unterstützte Version einer Klasse abzufragen wird die COMMAND_CLASS_VERSION genutzt. In FHEM wird die Version der Klasse des Gerätes durch den Befehl: | ||
get <devicename> versionClass <ID> | get <devicename> versionClass <ID> | ||
abgefragt, die <ID> ist hier dezimal anzugeben. Als Ausgabe wird von | abgefragt, die <ID> ist hier dezimal anzugeben. Als Ausgabe wird von FHEM dann z.B.: | ||
versionClass_50:2 | |||
erzeugt und es wird ein gleichnamiges Reading für das Gerät angelegt. In diesem Fall also die Version 2, meist nur als V2 angegeben | erzeugt und es wird ein gleichnamiges Reading für das Gerät angelegt. In diesem Fall also die Version 2, meist nur als V2 angegeben. | ||
Um herauszufinden ob ein Gerät prinzipiell von | Um herauszufinden, ob ein Gerät prinzipiell von FHEM unterstützt wird, werden daher die Informationen zu den Command Classes bzw. deren Versionen benötigt: | ||
* Liste der vom Gerät unterstützten Command Classes | * Liste der vom Gerät unterstützten Command Classes | ||
** Informationen zu den Versionen der Command Class | ** Informationen zu den Versionen der Command Class | ||
* Liste der von | * Liste der von FHEM unterstützten Command Classes | ||
** Informationen zu den von | ** Informationen zu den von FHEM unterstützten Versionen der Command Class | ||
(Grundlegende) Informationen zu den ersten beiden Punkten finden sich relativ häufig bereits in der Anleitung der Geräte, evtl. hilft auch eine Suche im Internet mit der Gerätebezeichnung und dem Stichwort "COMMAND CLASS". | (Grundlegende) Informationen zu den ersten beiden Punkten finden sich relativ häufig bereits in der Anleitung der Geräte, evtl. hilft auch eine Suche im Internet mit der Gerätebezeichnung und dem Stichwort "COMMAND CLASS". | ||
Für die letzten beiden Punkte soll dieser Artikel die nötigen Informationen bereitstellen. | Für die letzten beiden Punkte soll dieser Artikel die nötigen Informationen bereitstellen, bzw. eine Abschätzung liefern ob das Gerät unterstützt wird. | ||
Sollte zumindest die Liste der Command Classes des Gerätes in | Sollte zumindest die Liste der Command Classes des Gerätes in FHEM als unterstützt gekennzeichnet sein, so wird das Gerät höchstwahrscheinlich unterstützt werden, eine Garantie ist es jedoch noch nicht. Falls die Versionen der Command Classes unterschiedlich ist, so wird eventuell nur ein begrenzter Funktionsumfang dieser Klasse nutzbar sein. Es ist jedoch auch möglich das ein Gerät zwar eine höhere Version einer Command Class unterstützt, trotzdem aber selbst keine dieser neuen Funktion nutzt. Genausogut können in der höheren Version Funktionen definiert sein, die für den Betrieb des Gerätes nicht zwingend nötig sind. | ||
Fehlt die Unterstützung für eine Klasse jedoch ganz, kann dies für die Funktion des Geräte von entscheidender Bedeutung sein und die Nutzung unter | Fehlt die Unterstützung für eine Klasse jedoch ganz, kann dies für die Funktion des Geräte von entscheidender Bedeutung sein und die Nutzung unter FHEM dadurch aktuell nicht möglich sein. | ||
In | In FHEM sind die für die Hausautomatisierung wichtigsten Klassen bereits soweit implementiert, wie es für den Betrieb der meisten Geräte nötig ist. Sollten Geräte mit neuen Funktionen "auftauchen", so kann entweder anhand vorhandener Informationen zu den jeweiligen Command Classes oder aber durch "Trial and Error" versucht werden diese Funktion zu implementieren. | ||
Als Beispiel sei hier die Implementation der Command Class USER_CODE (0x63) genannt, die für den Betrieb eines RFID Keypads nötig war, da über diese Klasse die Verwaltung der RFID-Tags und Eingabecodes stattfinden. Das Gerät ist [[Z-Wave-ZIP WT-RFID Keypad|hier]] beschrieben, die Diskussion im Forum mit der Implementierung kann ({{Link2Forum | |||
|Topic=36856 | |||
|Message=291216 | |||
|LinkText=hier | |||
}}) nachgelesen werden. | |||
=== Liste von bekannten Command Classes und deren Unterstützung in | Im Zweifel sollte man im Vorfeld versuchen, so viele Informationen wie möglich zusammenzutragen und sich dann mit einer entsprechenden Frage im Forum von FHEM zu melden. | ||
=== Liste von bekannten Command Classes und deren Unterstützung in FHEM === | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Commande Class Name !! ID (hex) !! ID (dezimal) !! class="unsortable" | | ! Commande Class Name !! ID (hex) !! ID (dezimal) !! class="unsortable" | höchste Version !! class="unsortable" | unterstützte <br>Version(en) !! class="unsortable" | Kommentar | ||
|- | |- | ||
Zeile 62: | Zeile 66: | ||
| 0 | | 0 | ||
| V1 | | V1 | ||
| nein - für Gerätefunktion nicht relevant | |||
| | | | ||
| | |- | ||
| ZWAVE_CMD_CLASS | |||
| 0x01 | |||
| 1 | |||
| ? | |||
| ? | |||
| LowLevel-Funktionen, die von http://fhem.de/commandref.html#ZWCUL teilweise unterstützt werden | |||
|- | |- | ||
| BASIC | | BASIC | ||
| 0x20 | | 0x20 | ||
| 32 | | 32 | ||
| | | V2 | ||
| | | V2 | ||
| | | | ||
|- | |- | ||
Zeile 83: | Zeile 94: | ||
| 34 | | 34 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 89: | Zeile 100: | ||
| 0x23 | | 0x23 | ||
| 35 | | 35 | ||
| V2 | |||
| nein | |||
| Z-Wave for IP | |||
|- | |||
| ZIP_SERVER | |||
| 0x24 | |||
| 36 | |||
| V1 | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten (SECURITY_PANEL_MODE ?) | ||
|- | |- | ||
| | | SECURITY_PANEL_MODE | ||
| 0x24 | | 0x24 | ||
| 36 | | 36 | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten (ZIP_SERVER ?) | ||
|- | |- | ||
| SWITCH_BINARY | | SWITCH_BINARY | ||
| 0x25 | | 0x25 | ||
| 37 | | 37 | ||
| V2 | |||
| V1 | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 110: | Zeile 128: | ||
| 0x26 | | 0x26 | ||
| 38 | | 38 | ||
| | | V4 | ||
| | | V1 | ||
| | | set-Befehl für StartLevelChange (0x04) nicht implementiert | ||
|- | |- | ||
| SWITCH_ALL | | SWITCH_ALL | ||
Zeile 118: | Zeile 136: | ||
| 39 | | 39 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 126: | Zeile 144: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | COMMAND_CLASS_SWITCH_TOGGLE_BINARY [DEPRECATED] | ||
|- | |- | ||
| SWITCH_TOGGLE_MULTILEVEL | | SWITCH_TOGGLE_MULTILEVEL | ||
Zeile 133: | Zeile 151: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL [DEPRECATED] | ||
|- | |- | ||
| CHIMNEY_FAN | | CHIMNEY_FAN | ||
| 0x2A | | 0x2A | ||
| 42 | | 42 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| SCENE_ACTIVATION | | SCENE_ACTIVATION | ||
Zeile 146: | Zeile 164: | ||
| 43 | | 43 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 153: | Zeile 171: | ||
| 44 | | 44 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 160: | Zeile 178: | ||
| 45 | | 45 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 168: | Zeile 186: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten (SECURITY_PANELZONE ?) | ||
|- | |- | ||
| ZIP_ADV_SERVICES | | ZIP_ADV_SERVICES | ||
Zeile 175: | Zeile 193: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| (Z/IP Tunneling Services) | | Nicht in der offiziellen Liste von Sigma Designs enthalten (Z/IP Tunneling Services)<br>(SECURITY_PANELZONE_SENSOR ?) | ||
|- | |||
| SECURITY_PANELZONE_SENSOR | |||
| 0x2F | |||
| 47 | |||
| V1 | |||
| nein | |||
| Nicht in der offiziellen Liste von Sigma Designs enthalten (ZIP_ADV_SERVICES ?) | |||
|- | |- | ||
| SENSOR_BINARY | | SENSOR_BINARY | ||
| 0x30 | | 0x30 | ||
| 48 | | 48 | ||
| | | V2 | ||
| | | V1, V2 | ||
| | | SENSOR_BINARY [DEPRECATED] | ||
|- | |- | ||
| SENSOR_MULTILEVEL | | SENSOR_MULTILEVEL | ||
| 0x31 | | 0x31 | ||
| 49 | | 49 | ||
| | | V10 | ||
| | | unterstützt,<br>Version noch nicht geklärt | ||
| | | | ||
|- | |- | ||
Zeile 194: | Zeile 219: | ||
| 0x32 | | 0x32 | ||
| 50 | | 50 | ||
| | | V4 | ||
| V1, V2, (V3) | | V1, V2, (V3) | ||
| V3 evtl. nicht vollständig | | V3 evtl. nicht vollständig | ||
|- | |- | ||
| ZIP_ADV_SERVER | | ZIP_ADV_SERVER | ||
| 0x33 | | 0x33 | ||
| 51 | | 51 | ||
| V1 | | V1 | ||
| | | nein | ||
| ( | | Class wurde durch Class COLOR_CONTROL ersetzt | ||
|- | |||
| SWITCH_COLOR (COLOR_CONTROL) | |||
| 0x33 | |||
| 51 | |||
| V3 | |||
| V1 | |||
| | |||
|- | |- | ||
| | | NETWORK_MANAGEMENT_INCLUSION | ||
| 0x34 | | 0x34 | ||
| 52 | | 52 | ||
| V1 | | V1 | ||
| nein | |||
| | | | ||
|- | |- | ||
| METER_PULSE | | METER_PULSE | ||
Zeile 217: | Zeile 249: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | METER_PULSE [DEPRECATED] | ||
|- | |- | ||
| BASIC_TARIFF_INFO | | BASIC_TARIFF_INFO | ||
| 0x36 | | 0x36 | ||
| 54 | | 54 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 229: | Zeile 261: | ||
| 0x37 | | 0x37 | ||
| 55 | | 55 | ||
| | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 236: | Zeile 268: | ||
| 0x38 | | 0x38 | ||
| 56 | | 56 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| HRV_CONTROL | | HRV_CONTROL | ||
| 0x39 | | 0x39 | ||
| 57 | | 57 | ||
| | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 250: | Zeile 282: | ||
| 0x3a | | 0x3a | ||
| 58 | | 58 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 257: | Zeile 289: | ||
| 0x3b | | 0x3b | ||
| 59 | | 59 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 264: | Zeile 296: | ||
| 0x3C | | 0x3C | ||
| 60 | | 60 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 271: | Zeile 303: | ||
| 0x3D | | 0x3D | ||
| 61 | | 61 | ||
| | | V2 | ||
| nein | | nein | ||
| | | | ||
Zeile 278: | Zeile 310: | ||
| 0x3E | | 0x3E | ||
| 62 | | 62 | ||
| | | V1 | ||
| nein | |||
| | |||
|- | |||
| PREPAYMENT | |||
| 0x3F | |||
| 63 | |||
| V1 | |||
| nein | | nein | ||
| | | | ||
Zeile 285: | Zeile 324: | ||
| 0x40 | | 0x40 | ||
| 64 | | 64 | ||
| | | V3 | ||
| | | unterstützt,<br>Version noch nicht geklärt | ||
| | | | ||
|- | |- | ||
Zeile 292: | Zeile 331: | ||
| 0x41 | | 0x41 | ||
| 67 | | 67 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 299: | Zeile 338: | ||
| 0x42 | | 0x42 | ||
| 66 | | 66 | ||
| | | V2 | ||
| | | V2 | ||
| | | V2 ohne Logging-Commands | ||
|- | |- | ||
| THERMOSTAT_SETPOINT | | THERMOSTAT_SETPOINT | ||
| 0x43 | | 0x43 | ||
| 67 | | 67 | ||
| | | V3 | ||
| | | unterstützt,<br>Version noch nicht geklärt | ||
| | | | ||
|- | |- | ||
Zeile 313: | Zeile 352: | ||
| 0x44 | | 0x44 | ||
| 68 | | 68 | ||
| | | V4 | ||
| | | V1, V2 | ||
| | | | ||
|- | |- | ||
Zeile 320: | Zeile 359: | ||
| 0x45 | | 0x45 | ||
| 69 | | 69 | ||
| | | V2 | ||
| | | V1, V2 | ||
| | | | ||
|- | |- | ||
Zeile 328: | Zeile 367: | ||
| 70 | | 70 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | CLIMATE_CONTROL_SCHEDULE [DEPRECATED] | ||
|- | |- | ||
| THERMOSTAT_SETBACK | | THERMOSTAT_SETBACK | ||
| 0x47 | | 0x47 | ||
| 71 | | 71 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 341: | Zeile 380: | ||
| 0x48 | | 0x48 | ||
| 72 | | 72 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 348: | Zeile 387: | ||
| 0x49 | | 0x49 | ||
| 73 | | 73 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 355: | Zeile 394: | ||
| 0x4a | | 0x4a | ||
| 74 | | 74 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 362: | Zeile 401: | ||
| 0x4b | | 0x4b | ||
| 75 | | 75 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 369: | Zeile 408: | ||
| 0x4C | | 0x4C | ||
| 76 | | 76 | ||
| | | V1 | ||
| | | ja | ||
| | | DOOR_LOCK_LOGGING [DEPRECATED] | ||
|- | |- | ||
| NETWORK_MANAGEMENT_BASIC | | NETWORK_MANAGEMENT_BASIC | ||
| 0x4d | | 0x4d | ||
| 77 | | 77 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 383: | Zeile 422: | ||
| 0x4E | | 0x4E | ||
| 78 | | 78 | ||
| | | V3 | ||
| | | V1, V2, V3 | ||
| | | SCHEDULE_ENTRY_LOCK [DEPRECATED] | ||
|- | |- | ||
| ZI_6LOWPAN | | ZI_6LOWPAN | ||
| 0x4F | | 0x4F | ||
| 79 | | 79 | ||
| | | V8 | ||
| nein | | nein | ||
| | | ZIP_6LOWPAN (ITU-T G.9959 / IETF RFC 7428) | ||
|- | |- | ||
| BASIC_WINDOW_COVERING | | BASIC_WINDOW_COVERING | ||
Zeile 398: | Zeile 437: | ||
| 80 | | 80 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | BASIC_WINDOW_COVERING [OBSOLETED] | ||
|- | |- | ||
| MTP_WINDOW_COVERING | | MTP_WINDOW_COVERING | ||
Zeile 406: | Zeile 445: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| (MTP=Move to position) | | MTP_WINDOW_COVERING [OBSOLETED] (MTP=Move to position) | ||
|- | |- | ||
| NETWORK_MANAGEMENT_PROXY | | NETWORK_MANAGEMENT_PROXY | ||
| 0x52 | | 0x52 | ||
| 82 | | 82 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
|- | |- | ||
| NETWORK_SCHEDULE | | SCHEDULE (NETWORK_SCHEDULE) | ||
| 0x53 | | 0x53 | ||
| 83 | | 83 | ||
| | | V3 | ||
| | | V1 | ||
| | | (Details für einige Paramenter unbekannt) | ||
|- | |- | ||
| NETWORK_MANAGEMENT_PRIMARY | | NETWORK_MANAGEMENT_PRIMARY | ||
| 0x54 | | 0x54 | ||
| 84 | | 84 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 432: | Zeile 471: | ||
| 0x55 | | 0x55 | ||
| 85 | | 85 | ||
| | | V2 | ||
| nein | | nein | ||
| | | | ||
Zeile 439: | Zeile 478: | ||
| 0x56 | | 0x56 | ||
| 86 | | 86 | ||
| | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 446: | Zeile 485: | ||
| 0x57 | | 0x57 | ||
| 87 | | 87 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 453: | Zeile 492: | ||
| 0x58 | | 0x58 | ||
| 88 | | 88 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 460: | Zeile 499: | ||
| 0x59 | | 0x59 | ||
| 89 | | 89 | ||
| | | V3 | ||
| | | V1 | ||
| | | get-Abfrage "associationGroupInfo => "03"" mit dem zugehörigen Report "..5904(.*)" fehlen, da Sinn unklar | ||
|- | |- | ||
| DEVICE_RESET_LOCALLY | | DEVICE_RESET_LOCALLY | ||
| 0x5a | | 0x5a | ||
| 90 | | 90 | ||
| | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 474: | Zeile 513: | ||
| 0x5b | | 0x5b | ||
| 91 | | 91 | ||
| | | V3 | ||
| | | ? | ||
| | | nur "parse" für set grundlegend implementiert | ||
|- | |- | ||
| IP_ASSOCIATION | | IP_ASSOCIATION | ||
| 0x5c | | 0x5c | ||
| 92 | | 92 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 488: | Zeile 527: | ||
| 0x5d | | 0x5d | ||
| 93 | | 93 | ||
| | | V2 | ||
| nein | | nein | ||
| | | | ||
Zeile 495: | Zeile 534: | ||
| 0x5e | | 0x5e | ||
| 94 | | 94 | ||
| | | V2 | ||
| V1 | | V1 | ||
| | | Neuerungen durch V2 unbekannt | ||
|- | |- | ||
| ZIP_GATEWAY | | ZIP_GATEWAY | ||
| 0x5f | | 0x5f | ||
| 95 | | 95 | ||
| | | V1 | ||
| nein | | nein | ||
| | | | ||
Zeile 509: | Zeile 548: | ||
| 0x60 | | 0x60 | ||
| 96 | | 96 | ||
| | | V4 | ||
| V2 | | V2 | ||
| | | | ||
Zeile 518: | Zeile 557: | ||
| V1 | | V1 | ||
| V1 | | V1 | ||
| MULTI_INSTANCE wurde | | MULTI_INSTANCE wurde durch <br>MULTI_CHANNEL ersetzt | ||
|- | |||
| ZIP_PORTAL | |||
| 0x61 | |||
| 97 | |||
| V1 | |||
| nein | |||
| | |||
|- | |- | ||
| DOOR_LOCK | | DOOR_LOCK | ||
| 0x62 | | 0x62 | ||
| 98 | | 98 | ||
| | | V3 | ||
| | | V2 | ||
| | | (Details für einige Paramenter unbekannt) | ||
|- | |- | ||
| USER_CODE | | USER_CODE | ||
Zeile 533: | Zeile 579: | ||
| V1 | | V1 | ||
| | | | ||
|- | |||
| HUMIDITY_CONTROL_SETPOINT (APPLIANCE) | |||
| 0x64 | |||
| 100 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| DMX | |||
| 0x65 | |||
| 101 | |||
| V1 | |||
| nein | |||
| Nicht in der offiziellen Liste von Sigma Designs enthalten | |||
|- | |- | ||
| BARRIER_OPERATOR | | BARRIER_OPERATOR | ||
| 0x66 | | 0x66 | ||
| 102 | | 102 | ||
| | | V1 | ||
| V1 | |||
| "unwichige" Commands über 0x03 fehlen derzeit noch | |||
|- | |||
| NETWORK_MANAGEMENT_INSTALLATION_MAINTENANCE | |||
| 0x67 | |||
| 103 | |||
| V1 | |||
| nein | |||
| Nicht in der offiziellen Liste von Sigma Designs enthalten | |||
|- | |||
| ZIP_NAMING | |||
| 0x68 | |||
| 104 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| MAILBOX | |||
| 0x69 | |||
| 105 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| WINDOW_COVERING | |||
| 0x6A | |||
| 106 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| IRRIGATION | |||
| 0x6B | |||
| 107 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| SUPERVISION | |||
| 0x6C | |||
| 108 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| HUMIDITY_CONTROL_MODE | |||
| 0x6D | |||
| 109 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| HUMIDITY_CONTROL_OPERATING_STATE | |||
| 0x6E | |||
| 110 | |||
| V1 | |||
| nein | |||
| | |||
|- | |||
| ENTRY_CONTROL | |||
| 0x6F | |||
| 111 | |||
| V1 | |||
| nein | | nein | ||
| | | | ||
Zeile 544: | Zeile 667: | ||
| 0x70 | | 0x70 | ||
| 112 | | 112 | ||
| | | V4 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 551: | Zeile 674: | ||
| 0x71 | | 0x71 | ||
| 113 | | 113 | ||
| | | V8 | ||
| | | V1, V2, V3, V4 | ||
| | | ab V3 umbenannt in NOTIFICATION, wird weiterhin als ALARM angezeigt, siehe Bemerkungen. | ||
|- | |- | ||
| MANUFACTURER_SPECIFIC | | MANUFACTURER_SPECIFIC | ||
| 0x72 | | 0x72 | ||
| 114 | | 114 | ||
| V2 | |||
| V1 | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 566: | Zeile 689: | ||
| 115 | | 115 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | |||
|- | |||
| unbekannt | |||
| 0x74 | |||
| 116 | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
Zeile 572: | Zeile 702: | ||
| 0x75 | | 0x75 | ||
| 117 | | 117 | ||
| V2 | |||
| V1, V2 | | V1, V2 | ||
| | | | ||
|- | |- | ||
Zeile 587: | Zeile 717: | ||
| 119 | | 119 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | |||
|- | |||
| unbekannt | |||
| 0x78 | |||
| 120 | |||
| | |||
| | |||
| | |||
|- | |||
| unbekannt | |||
| 0x79 | |||
| 121 | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
Zeile 593: | Zeile 737: | ||
| 0x7A | | 0x7A | ||
| 122 | | 122 | ||
| | | V5 | ||
| | | V1-V4 | ||
| | | V4 ungetestet | ||
|- | |- | ||
| GROUPING_NAME | | GROUPING_NAME | ||
Zeile 602: | Zeile 746: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | GROUPING_NAME [DEPRECATED] | ||
|- | |- | ||
| REMOTE_ASSOCIATION_ACTIVATE | | REMOTE_ASSOCIATION_ACTIVATE | ||
Zeile 609: | Zeile 753: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | REMOTE_ASSOCIATION_ACTIVATE [OBSOLETED] | ||
|- | |- | ||
| REMOTE_ASSOCIATION | | REMOTE_ASSOCIATION | ||
| 0x7D | | 0x7D | ||
| 125 | | 125 | ||
| | | V1 | ||
| nein | | nein | ||
| REMOTE_ASSOCIATION [OBSOLETED] | |||
|- | |||
| unbekannt | |||
| 0x7E | |||
| 126 | |||
| | |||
| | |||
| | |||
|- | |||
| unbekannt | |||
| 0x7F | |||
| 127 | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
Zeile 622: | Zeile 780: | ||
| 128 | | 128 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 629: | Zeile 787: | ||
| 129 | | 129 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 636: | Zeile 794: | ||
| 130 | | 130 | ||
| V1 | | V1 | ||
| | | V1 | ||
| HAIL [DEPRECATED] | |||
|- | |||
| unbekannt | |||
| 0x83 | |||
| 131 | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
Zeile 642: | Zeile 807: | ||
| 0x84 | | 0x84 | ||
| 132 | | 132 | ||
| V2 | |||
| V1, V2 | | V1, V2 | ||
| | | | ||
|- | |- | ||
Zeile 649: | Zeile 814: | ||
| 0x85 | | 0x85 | ||
| 133 | | 133 | ||
| V1, V2 | | V2 | ||
| V1, V2 bei ASSOCIATION_REMOVE | |||
| | | | ||
|- | |- | ||
Zeile 656: | Zeile 821: | ||
| 0x86 | | 0x86 | ||
| 134 | | 134 | ||
| | | V2 | ||
| | | V1, V2 | ||
| | | | ||
|- | |- | ||
Zeile 663: | Zeile 828: | ||
| 0x87 | | 0x87 | ||
| 135 | | 135 | ||
| V2 | |||
| V1 | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 672: | Zeile 837: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | PROPRIETARY [DEPRECATED] | ||
|- | |- | ||
| LANGUAGE | | LANGUAGE | ||
Zeile 684: | Zeile 849: | ||
| 0x8A | | 0x8A | ||
| 138 | | 138 | ||
| | | V2 | ||
| | | V2 | ||
| | | | ||
|- | |- | ||
Zeile 692: | Zeile 857: | ||
| 139 | | 139 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 707: | Zeile 872: | ||
| V? | | V? | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| MULTI_CHANNEL_ASSOCIATION | | MULTI_CHANNEL_ASSOCIATION | ||
| 0x8E | | 0x8E | ||
| 142 | | 142 | ||
| | | V3 | ||
| | | unterstützt,<br>Version noch nicht geklärt | ||
| | | | ||
|- | |- | ||
Zeile 720: | Zeile 885: | ||
| 142 | | 142 | ||
| V1 | | V1 | ||
| | | unterstützt,<br>Version noch nicht geklärt | ||
| MULTI_INSTANCE wurde | | MULTI_INSTANCE wurde durch<br>MULTI_CHANNEL ersetzt | ||
|- | |- | ||
| MULTI_CMD | | MULTI_COMMAND (MULTI_CMD) | ||
| 0x8F | | 0x8F | ||
| 143 | | 143 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | | ||
|- | |- | ||
Zeile 741: | Zeile 906: | ||
| 145 | | 145 | ||
| V1 | | V1 | ||
| | | für FIB_FGRM222 implementiert | ||
| | | hersteller- und geräteabhängige Class | ||
|- | |- | ||
| SCREEN_MD | | SCREEN_MD | ||
| 0x92 | | 0x92 | ||
| 146 | | 146 | ||
| | | V2 | ||
| nein | | nein | ||
| | | | ||
Zeile 754: | Zeile 919: | ||
| 0x93 | | 0x93 | ||
| 147 | | 147 | ||
| | | V2 | ||
| nein | | nein | ||
| | | | ||
Zeile 761: | Zeile 926: | ||
| 0x94 | | 0x94 | ||
| 148 | | 148 | ||
| | | V4 | ||
| nein | | nein | ||
| | | | ||
Zeile 768: | Zeile 933: | ||
| 0x95 | | 0x95 | ||
| 149 | | 149 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| AV_RENDERER_STATUS | | AV_RENDERER_STATUS | ||
| 0x96 | | 0x96 | ||
| 150 | | 150 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| AV_CONTENT_SEARCH_MD | | AV_CONTENT_SEARCH_MD | ||
| 0x97 | | 0x97 | ||
| 151 | | 151 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| SECURITY | | SECURITY | ||
Zeile 790: | Zeile 955: | ||
| 152 | | 152 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | weitere Tests erforderlich | ||
|- | |- | ||
| AV_TAGGING_MD | | AV_TAGGING_MD | ||
| 0x99 | | 0x99 | ||
| 153 | | 153 | ||
| | | V1 | ||
| nein | | nein | ||
| | | Nicht in der offiziellen Liste von Sigma Designs enthalten | ||
|- | |- | ||
| IP_CONFIGURATION | | IP_CONFIGURATION | ||
Zeile 805: | Zeile 970: | ||
| V1 | | V1 | ||
| nein | | nein | ||
| | | IP_CONFIGURATION [OBSOLETED] | ||
|- | |- | ||
| ASSOCIATION_COMMAND_CONFIGURATION | | ASSOCIATION_COMMAND_CONFIGURATION | ||
Zeile 818: | Zeile 983: | ||
| 156 | | 156 | ||
| V1 | | V1 | ||
| | | V1 | ||
| | | SENSOR_ALARM [DEPRECATED] | ||
|- | |- | ||
| SILENCE_ALARM | | SILENCE_ALARM | ||
Zeile 831: | Zeile 996: | ||
| 0x9E | | 0x9E | ||
| 158 | | 158 | ||
| V1 | |||
| nein | |||
| SENSOR_CONFIGURATION [OBSOLETED] | |||
|- | |||
| SECURITY S2 | |||
| 0x9F | |||
| 159 | |||
| V1 | | V1 | ||
| nein | | nein | ||
| | |||
|- | |||
| unbekannt | |||
| 0xA0 - 0xEE | |||
| 160 - 238 | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
Zeile 838: | Zeile 1.017: | ||
| 0xEF | | 0xEF | ||
| 239 | | 239 | ||
| | | N/A | ||
| | | | ||
| Trenner im NIF | |||
|- | |- | ||
| NON_INTEROPERABLE | | NON_INTEROPERABLE | ||
| 0xF0 | | 0xF0 | ||
| 240 | | 240 | ||
| | | N/A | ||
| | | | ||
| | |||
|- | |||
| SECURITY_SCHEME0_MARK | |||
| 0xF100 | |||
| 61696 | |||
| N/A | |||
| | |||
| | | | ||
|- | |- | ||
|} | |} | ||
Bemerkungen: | |||
* Die Klasse MULTI_INSTANCE wurde in der Version V2 durch MULTI_CHANNEL ersetzt. MULTI_INSTANCE wird von Z-Wave nicht mehr unterstützt. | |||
* Die Klasse ALARM wurde in der Version V3 in NOTIFICATION umbenannt. Aus Kompatibilitätsgründen wird diese Klasse (0x71) in FHEM jedoch weiterhin immer als ALARM angezeigt, unabhängig von der Version. Das bedeutet, dass neuere Geräte, die laut der Produktbeschreibung NOTIFICATION unterstützen, dies in FHEM NICHT darstellen, die Funktionalitäten sind jedoch uneingeschränkt implementiert, nur eben unter dem alten Klassennamen ALARM. | |||
* Einige IDs sind für das Z-Wave Protokoll reserviert oder haben eine besondere Bedeutung: | |||
** 0x00 No Operation wird vom Z-Wave Protokoll und optional auch von den Geräten. | |||
** 0x01 - 0x1F ist reserviert für das Z-Wave Protokoll | |||
** 0x20 - 0xEE Dies ist der Bereich für die Command Classes | |||
** 0xEF Support/Control Mark, ist eine kommandolose Pseudoklasse und dient als Trenner im NIF (Node Information Frame) | |||
** 0xF0 Non interoperable | |||
** 0xF1 - 0xFF sind für (zukünftige) Erweiterungen vorgesehen (Extended Application Command Classes). Bei diesen Befehlen wird quasi auf jeweils eine andere Liste von Befehlen verwiesen, so daß hier für die Zukunft noch einige Erweiterungen möglich sind. Als eine Besonderheit ist hier bereits 0xF100 für "SECURITY_SCHEME0_MARK" vergeben. | |||
* Einige IDs sind in den unterschiedlichen Quellen unterschiedliche Klassennamen zugeordnet bzw. nicht in der offiziellen Liste von Sigma Designs enthalten: | |||
** 0x24 ZIP_SERVER / SECURITY_PANEL_MODE | |||
** 0x2E ZIP_CLIENT / SECURITY_PANELZONE | |||
** 0x2F ZIP_ADV_SERVICES / SECURITY_PANELZONE_SENSOR | |||
** 0x33 ZIP_ADV_SERVER / COLOR_CONTROL | |||
** 0x34 ZIP_ADV_CLIENT / NETWORK_MANAGEMENT_INCLUSION | |||
* Es gibt auch einige "Lücken" in den IDs die momentan unbekannt bzw. noch nicht durch Z-Wave vergeben sind, z.B.: | |||
** 0x74 116 | |||
** 0x78 120 | |||
** 0x79 121 | |||
** 0x7E 126 | |||
** 0x7F 127 | |||
** 0x83 131 | |||
=== Beispiel für eine Command Class und deren Implementierung in FHEM === | |||
Implementierungshinweise im Forum: | |||
* {{Link2Forum|Topic=12576|Message=76322}} | |||
* {{Link2Forum|Topic=26613|Message=195944}} | |||
=== | Debugging-Hinweis im Forum: | ||
* {{Link2Forum|Topic=39270|Message=314126}} | |||
* {{Link2Forum|Topic=67296|Message=589810}} | |||
=== Quellen und Links === | === Quellen und Links === | ||
* [[Z-Wave#Links]] | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:Z-Wave Components]] | [[Kategorie:Z-Wave Components|Command Classes]] |
Aktuelle Version vom 14. August 2019, 15:18 Uhr
Z-Wave Command Classes sind Klassen von Befehlen oder Protokollen, die zur Kommunikation und Steuerung der Z-Wave-Geräte dienen.
Auf dieser Seite werden einige Grundlagen zu diesen Command Classes von Z-Wave, sowie deren Implementierung in FHEM beschrieben. Allgemeine Grundlagen zu Z-Wave finden sich im Z-Wave Hauptartikel.
Command Classes
Einleitung
Entstanden ist dieser Artikel da die Dokumentation der Z-Wave Command Classes zum damaligen Zeitpunkt leider (noch) nicht offengelegt waren, wodurch die verfügbaren Informationen teilweise veraltet, unvollständig oder auch falsch waren. Am 31.08.2016 hat Sigma Designs die Dokumentationen der ZWave Command Classes freigegeben (siehe: Z-Wave Public Specification). Die Informationen auf dieser Seite wurden nach Erscheinen dieser offiziellen Dokumente angepasst, dieser Artikel erhebt dennoch keinen Anspruch auf Vollständigkeit, Aktualität oder Richtigkeit. Er soll vielmehr dazu dienen, die bekannten Command Classes aufzulisten, sowie einen Hinweis auf deren Unterstützung in FHEM zu geben.
Allgemeines
Die Kommunikation zwischen den Z-Wave Nodes erfolgt über festgelegte Protokolle, welche jeweils in den Command Classes festgelegt sind. Für jede Gerätefunktion gibt es eine Command Class, ein Gerät hat jedoch im Allgemeinen mehrere Funktionen und damit auch mehrere Command Classes.
Wie im Z-Wave Basisartikel beschrieben, ist die minimale Anforderung an ein Geräte die Unterstützung der Command Class "CLASS_BASIC". Diese "BASIC" Klasse wird von den Geräten nicht explizit in der Liste Ihrer unterstützten Klassen aufgeführt, laut Spezifikation soll jedes Gerät diese Klasse unterstützen bzw. mit Nachrichten dieser Klasse umgehen können.
Eine schaltbare Zwischensteckdose unterstützt z.B. die folgenden Command Classes: SWITCH_BINARY VERSION METER MANUFACTURER_SPECIFIC CONFIGURATION ASSOCIATION PROTECTION POWERLEVEL SENSOR_MULTILEVEL SWITCH_ALL
Dies ist jedoch von Hersteller zu Hersteller verschieden, in diesem Beispiel ist die Klasse "METER" z.B. für das Auslesen der Leistung zuständig, d.h. dieser Zwischenstecker kann z.B. auch die Leistung messen. Andere Steckdosenschalter ohne diese Funktion würden diese Klasse dementsprechend auch nicht unterstützen.
Aktuell sind weit mehr als 100 solcher Klassen definiert, hinzu kommt, dass diese Klassen in verschiedenen Versionen existieren. Die ständige Weiterentwicklung der Gerätefunktionen erfordert teilweise eine Erweiterung der jeweils betroffenen Command Classes, was sich in einer geänderten Definition der verwendeten Protokolle auswirkt. Im allgemeinen wird hier eine Abwärtskompatibilität eingehalten, sodass die Funktionen bis zu der unterstützten Version auch von Geräten mit höheren Versionen genutzt werden können.
Den Command Classes ist jeweils eine eindeutige ID zugeordnet. Diese ID wird in der Kommunikation dazu genutzt die jeweilige Geräteklasse anzusprechen.
Der COMMAND_CLASS_METER ist beispielsweise die ID 0x32 (hexadezimal) bzw. 50 (dezimal) zugeordnet. Um die unterstützte Version einer Klasse abzufragen wird die COMMAND_CLASS_VERSION genutzt. In FHEM wird die Version der Klasse des Gerätes durch den Befehl:
get <devicename> versionClass <ID>
abgefragt, die <ID> ist hier dezimal anzugeben. Als Ausgabe wird von FHEM dann z.B.:
versionClass_50:2
erzeugt und es wird ein gleichnamiges Reading für das Gerät angelegt. In diesem Fall also die Version 2, meist nur als V2 angegeben.
Um herauszufinden, ob ein Gerät prinzipiell von FHEM unterstützt wird, werden daher die Informationen zu den Command Classes bzw. deren Versionen benötigt:
- Liste der vom Gerät unterstützten Command Classes
- Informationen zu den Versionen der Command Class
- Liste der von FHEM unterstützten Command Classes
- Informationen zu den von FHEM unterstützten Versionen der Command Class
(Grundlegende) Informationen zu den ersten beiden Punkten finden sich relativ häufig bereits in der Anleitung der Geräte, evtl. hilft auch eine Suche im Internet mit der Gerätebezeichnung und dem Stichwort "COMMAND CLASS".
Für die letzten beiden Punkte soll dieser Artikel die nötigen Informationen bereitstellen, bzw. eine Abschätzung liefern ob das Gerät unterstützt wird.
Sollte zumindest die Liste der Command Classes des Gerätes in FHEM als unterstützt gekennzeichnet sein, so wird das Gerät höchstwahrscheinlich unterstützt werden, eine Garantie ist es jedoch noch nicht. Falls die Versionen der Command Classes unterschiedlich ist, so wird eventuell nur ein begrenzter Funktionsumfang dieser Klasse nutzbar sein. Es ist jedoch auch möglich das ein Gerät zwar eine höhere Version einer Command Class unterstützt, trotzdem aber selbst keine dieser neuen Funktion nutzt. Genausogut können in der höheren Version Funktionen definiert sein, die für den Betrieb des Gerätes nicht zwingend nötig sind.
Fehlt die Unterstützung für eine Klasse jedoch ganz, kann dies für die Funktion des Geräte von entscheidender Bedeutung sein und die Nutzung unter FHEM dadurch aktuell nicht möglich sein.
In FHEM sind die für die Hausautomatisierung wichtigsten Klassen bereits soweit implementiert, wie es für den Betrieb der meisten Geräte nötig ist. Sollten Geräte mit neuen Funktionen "auftauchen", so kann entweder anhand vorhandener Informationen zu den jeweiligen Command Classes oder aber durch "Trial and Error" versucht werden diese Funktion zu implementieren.
Als Beispiel sei hier die Implementation der Command Class USER_CODE (0x63) genannt, die für den Betrieb eines RFID Keypads nötig war, da über diese Klasse die Verwaltung der RFID-Tags und Eingabecodes stattfinden. Das Gerät ist hier beschrieben, die Diskussion im Forum mit der Implementierung kann (hier) nachgelesen werden.
Im Zweifel sollte man im Vorfeld versuchen, so viele Informationen wie möglich zusammenzutragen und sich dann mit einer entsprechenden Frage im Forum von FHEM zu melden.
Liste von bekannten Command Classes und deren Unterstützung in FHEM
Commande Class Name | ID (hex) | ID (dezimal) | höchste Version | unterstützte Version(en) |
Kommentar |
---|---|---|---|---|---|
NO_OPERATION | 0x00 | 0 | V1 | nein - für Gerätefunktion nicht relevant | |
ZWAVE_CMD_CLASS | 0x01 | 1 | ? | ? | LowLevel-Funktionen, die von http://fhem.de/commandref.html#ZWCUL teilweise unterstützt werden |
BASIC | 0x20 | 32 | V2 | V2 | |
CONTROLLER_REPLICATION | 0x21 | 33 | V1 | nein | |
APPLICATION_STATUS | 0x22 | 34 | V1 | V1 | |
ZIP_SERVICES | 0x23 | 35 | V2 | nein | Z-Wave for IP |
ZIP_SERVER | 0x24 | 36 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten (SECURITY_PANEL_MODE ?) |
SECURITY_PANEL_MODE | 0x24 | 36 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten (ZIP_SERVER ?) |
SWITCH_BINARY | 0x25 | 37 | V2 | V1 | |
SWITCH_MULTILEVEL | 0x26 | 38 | V4 | V1 | set-Befehl für StartLevelChange (0x04) nicht implementiert |
SWITCH_ALL | 0x27 | 39 | V1 | V1 | |
SWITCH_TOGGLE_BINARY | 0x28 | 40 | V1 | nein | COMMAND_CLASS_SWITCH_TOGGLE_BINARY [DEPRECATED] |
SWITCH_TOGGLE_MULTILEVEL | 0x29 | 41 | V1 | nein | COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL [DEPRECATED] |
CHIMNEY_FAN | 0x2A | 42 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
SCENE_ACTIVATION | 0x2B | 43 | V1 | V1 | |
SCENE_ACTUATOR_CONF | 0x2C | 44 | V1 | V1 | |
SCENE_CONTROLLER_CONF | 0x2D | 45 | V1 | V1 | |
ZIP_CLIENT | 0x2E | 46 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten (SECURITY_PANELZONE ?) |
ZIP_ADV_SERVICES | 0x2F | 47 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten (Z/IP Tunneling Services) (SECURITY_PANELZONE_SENSOR ?) |
SECURITY_PANELZONE_SENSOR | 0x2F | 47 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten (ZIP_ADV_SERVICES ?) |
SENSOR_BINARY | 0x30 | 48 | V2 | V1, V2 | SENSOR_BINARY [DEPRECATED] |
SENSOR_MULTILEVEL | 0x31 | 49 | V10 | unterstützt, Version noch nicht geklärt |
|
METER | 0x32 | 50 | V4 | V1, V2, (V3) | V3 evtl. nicht vollständig |
ZIP_ADV_SERVER | 0x33 | 51 | V1 | nein | Class wurde durch Class COLOR_CONTROL ersetzt |
SWITCH_COLOR (COLOR_CONTROL) | 0x33 | 51 | V3 | V1 | |
NETWORK_MANAGEMENT_INCLUSION | 0x34 | 52 | V1 | nein | |
METER_PULSE | 0x35 | 53 | V1 | nein | METER_PULSE [DEPRECATED] |
BASIC_TARIFF_INFO | 0x36 | 54 | V1 | nein | |
HRV_STATUS | 0x37 | 55 | V1 | V1 | |
THERMOSTAT_HEATING | 0x38 | 56 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
HRV_CONTROL | 0x39 | 57 | V1 | V1 | |
DCP_CONFIG | 0x3a | 58 | V1 | nein | |
DCP_MONITOR | 0x3b | 59 | V1 | nein | |
METER_TBL_CONFIG | 0x3C | 60 | V1 | nein | |
METER_TBL_MONITOR | 0x3D | 61 | V2 | nein | |
METER_TBL_PUSH | 0x3E | 62 | V1 | nein | |
PREPAYMENT | 0x3F | 63 | V1 | nein | |
THERMOSTAT_MODE | 0x40 | 64 | V3 | unterstützt, Version noch nicht geklärt |
|
PREPAYMENT_ENCAPSULATION | 0x41 | 67 | V1 | nein | |
THERMOSTAT_OPERATING_STATE | 0x42 | 66 | V2 | V2 | V2 ohne Logging-Commands |
THERMOSTAT_SETPOINT | 0x43 | 67 | V3 | unterstützt, Version noch nicht geklärt |
|
THERMOSTAT_FAN_MODE | 0x44 | 68 | V4 | V1, V2 | |
THERMOSTAT_FAN_STATE | 0x45 | 69 | V2 | V1, V2 | |
CLIMATE_CONTROL_SCHEDULE | 0x46 | 70 | V1 | V1 | CLIMATE_CONTROL_SCHEDULE [DEPRECATED] |
THERMOSTAT_SETBACK | 0x47 | 71 | V1 | nein | |
RATE_TBL_CONFIG | 0x48 | 72 | V1 | nein | |
RATE_TBL_MONITOR | 0x49 | 73 | V1 | nein | |
TARIFF_CONFIG | 0x4a | 74 | V1 | nein | |
TARIFF_TBL_MONITOR | 0x4b | 75 | V1 | nein | |
DOOR_LOCK_LOGGING | 0x4C | 76 | V1 | ja | DOOR_LOCK_LOGGING [DEPRECATED] |
NETWORK_MANAGEMENT_BASIC | 0x4d | 77 | V1 | nein | |
SCHEDULE_ENTRY_LOCK | 0x4E | 78 | V3 | V1, V2, V3 | SCHEDULE_ENTRY_LOCK [DEPRECATED] |
ZI_6LOWPAN | 0x4F | 79 | V8 | nein | ZIP_6LOWPAN (ITU-T G.9959 / IETF RFC 7428) |
BASIC_WINDOW_COVERING | 0x50 | 80 | V1 | V1 | BASIC_WINDOW_COVERING [OBSOLETED] |
MTP_WINDOW_COVERING | 0x51 | 81 | V1 | nein | MTP_WINDOW_COVERING [OBSOLETED] (MTP=Move to position) |
NETWORK_MANAGEMENT_PROXY | 0x52 | 82 | V1 | nein | |
SCHEDULE (NETWORK_SCHEDULE) | 0x53 | 83 | V3 | V1 | (Details für einige Paramenter unbekannt) |
NETWORK_MANAGEMENT_PRIMARY | 0x54 | 84 | V1 | nein | |
TRANSPORT_SERVICE | 0x55 | 85 | V2 | nein | |
CRC_16_ENCAP | 0x56 | 86 | V1 | V1 | |
APPLICATION_CAPABILITY | 0x57 | 87 | V1 | nein | |
ZIP_ND | 0x58 | 88 | V1 | nein | |
ASSOCIATION_GRP_INFO | 0x59 | 89 | V3 | V1 | get-Abfrage "associationGroupInfo => "03"" mit dem zugehörigen Report "..5904(.*)" fehlen, da Sinn unklar |
DEVICE_RESET_LOCALLY | 0x5a | 90 | V1 | V1 | |
CENTRAL_SCENE | 0x5b | 91 | V3 | ? | nur "parse" für set grundlegend implementiert |
IP_ASSOCIATION | 0x5c | 92 | V1 | nein | |
ANTITHEFT | 0x5d | 93 | V2 | nein | |
ZWAVEPLUS_INFO | 0x5e | 94 | V2 | V1 | Neuerungen durch V2 unbekannt |
ZIP_GATEWAY | 0x5f | 95 | V1 | nein | |
MULTI_CHANNEL | 0x60 | 96 | V4 | V2 | |
MULTI_INSTANCE | 0x60 | 96 | V1 | V1 | MULTI_INSTANCE wurde durch MULTI_CHANNEL ersetzt |
ZIP_PORTAL | 0x61 | 97 | V1 | nein | |
DOOR_LOCK | 0x62 | 98 | V3 | V2 | (Details für einige Paramenter unbekannt) |
USER_CODE | 0x63 | 99 | V1 | V1 | |
HUMIDITY_CONTROL_SETPOINT (APPLIANCE) | 0x64 | 100 | V1 | nein | |
DMX | 0x65 | 101 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
BARRIER_OPERATOR | 0x66 | 102 | V1 | V1 | "unwichige" Commands über 0x03 fehlen derzeit noch |
NETWORK_MANAGEMENT_INSTALLATION_MAINTENANCE | 0x67 | 103 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
ZIP_NAMING | 0x68 | 104 | V1 | nein | |
MAILBOX | 0x69 | 105 | V1 | nein | |
WINDOW_COVERING | 0x6A | 106 | V1 | nein | |
IRRIGATION | 0x6B | 107 | V1 | nein | |
SUPERVISION | 0x6C | 108 | V1 | nein | |
HUMIDITY_CONTROL_MODE | 0x6D | 109 | V1 | nein | |
HUMIDITY_CONTROL_OPERATING_STATE | 0x6E | 110 | V1 | nein | |
ENTRY_CONTROL | 0x6F | 111 | V1 | nein | |
CONFIGURATION | 0x70 | 112 | V4 | V1 | |
ALARM | 0x71 | 113 | V8 | V1, V2, V3, V4 | ab V3 umbenannt in NOTIFICATION, wird weiterhin als ALARM angezeigt, siehe Bemerkungen. |
MANUFACTURER_SPECIFIC | 0x72 | 114 | V2 | V1 | |
POWERLEVEL | 0x73 | 115 | V1 | V1 | |
unbekannt | 0x74 | 116 | |||
PROTECTION | 0x75 | 117 | V2 | V1, V2 | |
LOCK | 0x76 | 118 | V1 | nein | |
NODE_NAMING | 0x77 | 119 | V1 | V1 | |
unbekannt | 0x78 | 120 | |||
unbekannt | 0x79 | 121 | |||
FIRMWARE_UPDATE_MD | 0x7A | 122 | V5 | V1-V4 | V4 ungetestet |
GROUPING_NAME | 0x7B | 123 | V1 | nein | GROUPING_NAME [DEPRECATED] |
REMOTE_ASSOCIATION_ACTIVATE | 0x7C | 124 | V1 | nein | REMOTE_ASSOCIATION_ACTIVATE [OBSOLETED] |
REMOTE_ASSOCIATION | 0x7D | 125 | V1 | nein | REMOTE_ASSOCIATION [OBSOLETED] |
unbekannt | 0x7E | 126 | |||
unbekannt | 0x7F | 127 | |||
BATTERY | 0x80 | 128 | V1 | V1 | |
CLOCK | 0x81 | 129 | V1 | V1 | |
HAIL | 0x82 | 130 | V1 | V1 | HAIL [DEPRECATED] |
unbekannt | 0x83 | 131 | |||
WAKE_UP | 0x84 | 132 | V2 | V1, V2 | |
ASSOCIATION | 0x85 | 133 | V2 | V1, V2 bei ASSOCIATION_REMOVE | |
VERSION | 0x86 | 134 | V2 | V1, V2 | |
INDICATOR | 0x87 | 135 | V2 | V1 | |
PROPRIETARY | 0x88 | 136 | V1 | nein | PROPRIETARY [DEPRECATED] |
LANGUAGE | 0x89 | 137 | V1 | nein | |
TIME | 0x8A | 138 | V2 | V2 | |
TIME_PARAMETERS | 0x8B | 139 | V1 | V1 | |
GEOGRAPHIC_LOCATION | 0x8C | 140 | V1 | nein | |
COMPOSITE | 0x8D | 141 | V? | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
MULTI_CHANNEL_ASSOCIATION | 0x8E | 142 | V3 | unterstützt, Version noch nicht geklärt |
|
MULTI_INSTANCE_ASSOCIATION | 0x8E | 142 | V1 | unterstützt, Version noch nicht geklärt |
MULTI_INSTANCE wurde durch MULTI_CHANNEL ersetzt |
MULTI_COMMAND (MULTI_CMD) | 0x8F | 143 | V1 | V1 | |
ENERGY_PRODUCTION | 0x90 | 144 | V1 | nein | |
MANUFACTURER_PROPRIETARY | 0x91 | 145 | V1 | für FIB_FGRM222 implementiert | hersteller- und geräteabhängige Class |
SCREEN_MD | 0x92 | 146 | V2 | nein | |
SCREEN_ATTRIBUTES | 0x93 | 147 | V2 | nein | |
SIMPLE_AV_CONTROL | 0x94 | 148 | V4 | nein | |
AV_CONTENT_DIRECTORY_MD | 0x95 | 149 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
AV_RENDERER_STATUS | 0x96 | 150 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
AV_CONTENT_SEARCH_MD | 0x97 | 151 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
SECURITY | 0x98 | 152 | V1 | V1 | weitere Tests erforderlich |
AV_TAGGING_MD | 0x99 | 153 | V1 | nein | Nicht in der offiziellen Liste von Sigma Designs enthalten |
IP_CONFIGURATION | 0x9A | 154 | V1 | nein | IP_CONFIGURATION [OBSOLETED] |
ASSOCIATION_COMMAND_CONFIGURATION | 0x9B | 155 | V1 | nein | |
SENSOR_ALARM | 0x9C | 156 | V1 | V1 | SENSOR_ALARM [DEPRECATED] |
SILENCE_ALARM | 0x9D | 157 | V1 | nein | |
SENSOR_CONFIGURATION | 0x9E | 158 | V1 | nein | SENSOR_CONFIGURATION [OBSOLETED] |
SECURITY S2 | 0x9F | 159 | V1 | nein | |
unbekannt | 0xA0 - 0xEE | 160 - 238 | |||
MARK | 0xEF | 239 | N/A | Trenner im NIF | |
NON_INTEROPERABLE | 0xF0 | 240 | N/A | ||
SECURITY_SCHEME0_MARK | 0xF100 | 61696 | N/A |
Bemerkungen:
- Die Klasse MULTI_INSTANCE wurde in der Version V2 durch MULTI_CHANNEL ersetzt. MULTI_INSTANCE wird von Z-Wave nicht mehr unterstützt.
- Die Klasse ALARM wurde in der Version V3 in NOTIFICATION umbenannt. Aus Kompatibilitätsgründen wird diese Klasse (0x71) in FHEM jedoch weiterhin immer als ALARM angezeigt, unabhängig von der Version. Das bedeutet, dass neuere Geräte, die laut der Produktbeschreibung NOTIFICATION unterstützen, dies in FHEM NICHT darstellen, die Funktionalitäten sind jedoch uneingeschränkt implementiert, nur eben unter dem alten Klassennamen ALARM.
- Einige IDs sind für das Z-Wave Protokoll reserviert oder haben eine besondere Bedeutung:
- 0x00 No Operation wird vom Z-Wave Protokoll und optional auch von den Geräten.
- 0x01 - 0x1F ist reserviert für das Z-Wave Protokoll
- 0x20 - 0xEE Dies ist der Bereich für die Command Classes
- 0xEF Support/Control Mark, ist eine kommandolose Pseudoklasse und dient als Trenner im NIF (Node Information Frame)
- 0xF0 Non interoperable
- 0xF1 - 0xFF sind für (zukünftige) Erweiterungen vorgesehen (Extended Application Command Classes). Bei diesen Befehlen wird quasi auf jeweils eine andere Liste von Befehlen verwiesen, so daß hier für die Zukunft noch einige Erweiterungen möglich sind. Als eine Besonderheit ist hier bereits 0xF100 für "SECURITY_SCHEME0_MARK" vergeben.
- Einige IDs sind in den unterschiedlichen Quellen unterschiedliche Klassennamen zugeordnet bzw. nicht in der offiziellen Liste von Sigma Designs enthalten:
- 0x24 ZIP_SERVER / SECURITY_PANEL_MODE
- 0x2E ZIP_CLIENT / SECURITY_PANELZONE
- 0x2F ZIP_ADV_SERVICES / SECURITY_PANELZONE_SENSOR
- 0x33 ZIP_ADV_SERVER / COLOR_CONTROL
- 0x34 ZIP_ADV_CLIENT / NETWORK_MANAGEMENT_INCLUSION
- Es gibt auch einige "Lücken" in den IDs die momentan unbekannt bzw. noch nicht durch Z-Wave vergeben sind, z.B.:
- 0x74 116
- 0x78 120
- 0x79 121
- 0x7E 126
- 0x7F 127
- 0x83 131
Beispiel für eine Command Class und deren Implementierung in FHEM
Implementierungshinweise im Forum:
Debugging-Hinweis im Forum: