Z-Wave Command Classes: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Einige Klassen geändert, falsche Aussage im Text beseitigt)
K (Link korrigiert, "unsortable" für einige Tabellenspalten eingefügt, Tabelle mit weiteren Informationen gefüllt)
Zeile 13: Zeile 13:
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 [[Z_Wave|Z-Wave Basisartikel]] beschrieben ist, ist die minimale Anforderung an ein Geräte die Unterstützung der Command Class "CLASS_BASIC".
Wie im [[Z-Wave|Z-Wave Basisartikel]] beschrieben ist, ist die minimale Anforderung an ein Geräte die Unterstützung der Command Class "CLASS_BASIC".


Eine schaltbare Zwischensteckdose unterstützt z.B. die folgenden Command Classes:
Eine schaltbare Zwischensteckdose unterstützt z.B. die folgenden Command Classes:
Zeile 55: Zeile 55:


{| class="wikitable sortable"
{| class="wikitable sortable"
! Commande Class Name !! ID (hex) !! ID (dezimal) !! class="unsortable" | Versionen !! unterstützte <br>Versionen !! Kommentar
! Commande Class Name !! ID (hex) !! ID (dezimal) !! class="unsortable" | höchste Version !! class="unsortable" | unterstützte <br>Version(en) !! class="unsortable" | Kommentar
|-
|-


Zeile 68: Zeile 68:
| 0x20
| 0x20
| 32
| 32
| V1
| V2
| V?
| V?
|  
|  
Zeile 89: Zeile 89:
| 0x23
| 0x23
| 35
| 35
| V1
| V2
| nein
| nein
|  
|  
Zeile 98: Zeile 98:
| V1
| V1
| nein
| nein
|  
| (SECURITY_PANEL_MODE ?)
|-
|-
| SWITCH_BINARY
| SWITCH_BINARY
| 0x25
| 0x25
| 37
| 37
| V1
| V2
| V?
| V?
|  
|  
Zeile 110: Zeile 110:
| 0x26
| 0x26
| 38
| 38
| V1, V2 ,V3
| V4
| V?
| V?
|  
|  
Zeile 138: Zeile 138:
| 0x2A
| 0x2A
| 42
| 42
|  
| V1
| nein
| nein
|  
|  
Zeile 168: Zeile 168:
| V1
| V1
| nein
| nein
|  
| (SECURITY_PANELZONE ?)
|-
|-
| ZIP_ADV_SERVICES
| ZIP_ADV_SERVICES
Zeile 175: Zeile 175:
| V1
| V1
| nein
| nein
| (Z/IP Tunneling Services)
| (Z/IP Tunneling Services)<br>(SECURITY_PANELZONE_SENSOR ?)
|-
|-
| SENSOR_BINARY
| SENSOR_BINARY
| 0x30
| 0x30
| 48
| 48
| V1
| V2
| V?
| V?
|  
|  
Zeile 187: Zeile 187:
| 0x31
| 0x31
| 49
| 49
| V1, V2, V3
| V8
| V?
| V?
|  
|  
Zeile 194: Zeile 194:
| 0x32
| 0x32
| 50
| 50
| V1, V2, V3
| V4
| V1, V2, (V3)
| V1, V2, (V3)
| V3 evtl. nicht vollständig
| V3 evtl. nicht vollständig
Zeile 203: Zeile 203:
| V1
| V1
| V?
| V?
| (Z/IP Tunneling Server) <br>(in fhem als COLOR_CONTROL genutzt?)
| (Z/IP Tunneling Server) <br>(COLOR_CONTROL ?)
|-
|-
| ZIP_ADV_CLIENT
| ZIP_ADV_CLIENT
Zeile 210: Zeile 210:
| V1
| V1
|  
|  
| (Z/IP Tunneling Client)
| (Z/IP Tunneling Client)<br>(NETWORK_MANAGEMENT_INCLUSION)
|-
|-
| METER_PULSE
| METER_PULSE
Zeile 222: Zeile 222:
| 0x36
| 0x36
| 54
| 54
| V?
| V1
| nein
| nein
|  
|  
Zeile 229: Zeile 229:
| 0x37
| 0x37
| 55
| 55
| V?
| V1
| V?
| V?
|  
|  
Zeile 236: Zeile 236:
| 0x38
| 0x38
| 56
| 56
| V?
| V1
| nein
| nein
|  
|  
Zeile 243: Zeile 243:
| 0x39
| 0x39
| 57
| 57
| V?
| V1
| V?
| V?
|  
|  
Zeile 250: Zeile 250:
| 0x3a
| 0x3a
| 58
| 58
| V?
| V1
| nein
| nein
|  
|  
Zeile 257: Zeile 257:
| 0x3b
| 0x3b
| 59
| 59
| V?
| V1
| nein
| nein
|  
|  
Zeile 264: Zeile 264:
| 0x3C
| 0x3C
| 60
| 60
| V?
| V1
| nein
| nein
|  
|  
Zeile 271: Zeile 271:
| 0x3D
| 0x3D
| 61
| 61
| V?
| V2
| nein
| nein
|  
|  
Zeile 278: Zeile 278:
| 0x3E
| 0x3E
| 62
| 62
| V?
| V1
| nein
| nein
|  
|  
Zeile 285: Zeile 285:
| 0x40
| 0x40
| 64
| 64
| V1, V2
| V3
| V?
| V?
|  
|  
Zeile 292: Zeile 292:
| 0x41
| 0x41
| 67
| 67
| V?
| V1
| nein
| nein
|  
|  
Zeile 299: Zeile 299:
| 0x42
| 0x42
| 66
| 66
| V1
| V2
| nein
| nein
|  
|  
Zeile 306: Zeile 306:
| 0x43
| 0x43
| 67
| 67
| V1, V2
| V3
| V?
| V?
|  
|  
Zeile 313: Zeile 313:
| 0x44
| 0x44
| 68
| 68
| V1
| V4
| nein
| nein
|  
|  
Zeile 320: Zeile 320:
| 0x45
| 0x45
| 69
| 69
| V1
| V2
| nein
| nein
|  
|  
Zeile 334: Zeile 334:
| 0x47
| 0x47
| 71
| 71
| V?
| V1
| nein
| nein
|  
|  
Zeile 341: Zeile 341:
| 0x48
| 0x48
| 72
| 72
| V?
| V1
| nein
| nein
|  
|  
Zeile 348: Zeile 348:
| 0x49
| 0x49
| 73
| 73
| V?
| V1
| nein
| nein
|  
|  
Zeile 355: Zeile 355:
| 0x4a
| 0x4a
| 74
| 74
| V?
| V1
| nein
| nein
|  
|  
Zeile 362: Zeile 362:
| 0x4b
| 0x4b
| 75
| 75
| V?
| V1
| nein
| nein
|  
|  
Zeile 369: Zeile 369:
| 0x4C
| 0x4C
| 76
| 76
| V?
| V1
| nein
| nein
|  
|  
Zeile 376: Zeile 376:
| 0x4d
| 0x4d
| 77
| 77
| V?
| V1
| nein
| nein
|  
|  
Zeile 383: Zeile 383:
| 0x4E
| 0x4E
| 78
| 78
| V?
| V3
| nein
| nein
|  
|  
Zeile 390: Zeile 390:
| 0x4F
| 0x4F
| 79
| 79
| V?
| V1
| nein
| nein
|  
|  
Zeile 411: Zeile 411:
| 0x52
| 0x52
| 82
| 82
| V?
| V1
| nein
| nein
|  
|  
Zeile 418: Zeile 418:
| 0x53
| 0x53
| 83
| 83
| V?
| V1
| nein
| nein
|  
|  
Zeile 425: Zeile 425:
| 0x54
| 0x54
| 84
| 84
| V?
| V1
| nein
| nein
|  
|  
Zeile 432: Zeile 432:
| 0x55
| 0x55
| 85
| 85
| V?
| V2
| nein
| nein
|  
|  
Zeile 439: Zeile 439:
| 0x56
| 0x56
| 86
| 86
| V?
| V1
| evtl.
| evtl.
|  
|  
Zeile 446: Zeile 446:
| 0x57
| 0x57
| 87
| 87
| V?
| V1
| nein
| nein
|  
|  
Zeile 453: Zeile 453:
| 0x58
| 0x58
| 88
| 88
| V?
| V1
| nein
| nein
|  
|  
Zeile 460: Zeile 460:
| 0x59
| 0x59
| 89
| 89
| V?
| V1
| nein
| nein
|  
|  
Zeile 467: Zeile 467:
| 0x5a
| 0x5a
| 90
| 90
| V?
| V1
| nein
| nein
|  
|  
Zeile 474: Zeile 474:
| 0x5b
| 0x5b
| 91
| 91
| V?
| V2
| nein
| nein
|  
|  
Zeile 481: Zeile 481:
| 0x5c
| 0x5c
| 92
| 92
| V?
| V1
| nein
| nein
|  
|  
Zeile 488: Zeile 488:
| 0x5d
| 0x5d
| 93
| 93
| V?
| V2
| nein
| nein
|  
|  
Zeile 495: Zeile 495:
| 0x5e
| 0x5e
| 94
| 94
| V1, V2
| V2
| V1
| V1
|  
|  
Zeile 502: Zeile 502:
| 0x5f
| 0x5f
| 95
| 95
| V?
| V1
| nein
| nein
|  
|  
Zeile 509: Zeile 509:
| 0x60
| 0x60
| 96
| 96
| V2
| V3
| V2
| V2
|  
|  
Zeile 519: Zeile 519:
| V1
| V1
| MULTI_INSTANCE wurde in <br>MULTI_CHANNEL umbenannt
| MULTI_INSTANCE wurde in <br>MULTI_CHANNEL umbenannt
|-
| ZIP_PORTAL
| 0x61
| 97
| V1
| nein
|
|-
|-
| DOOR_LOCK
| DOOR_LOCK
| 0x62
| 0x62
| 98
| 98
| V1
| V3
| nein
| nein
|  
|  
Zeile 532: Zeile 539:
| V1
| V1
| V1
| V1
|
|-
| APPLIANCE / GARAGE_DOOR?
| 0x64
| 100
| V1
| nein
|
|-
| DMX
| 0x65
| 101
| V1
| nein
|  
|  
|-
|-
Zeile 537: Zeile 558:
| 0x66
| 0x66
| 102
| 102
| V?
| V1
| nein
| nein
|  
|  
Zeile 544: Zeile 565:
| 0x70
| 0x70
| 112
| 112
| V1, V2
| V2
| V?
| V?
|  
|  
Zeile 551: Zeile 572:
| 0x71
| 0x71
| 113
| 113
| V1
| V5
| V?
| V?
|  
|  
Zeile 558: Zeile 579:
| 0x72
| 0x72
| 114
| 114
| V1
| V2
| V?
| V?
|  
|  
Zeile 572: Zeile 593:
| 0x75
| 0x75
| 117
| 117
| V1, V2
| V2
| V?
| V?
|  
|  
Zeile 593: Zeile 614:
| 0x7A
| 0x7A
| 122
| 122
| V1, V2
| V4
| nein
| nein
|  
|  
Zeile 614: Zeile 635:
| 0x7D
| 0x7D
| 125
| 125
| V?
| V1
| nein
| nein
|  
|  
Zeile 642: Zeile 663:
| 0x84
| 0x84
| 132
| 132
| V1, V2
| V2
| V?
| V?
|  
|  
Zeile 649: Zeile 670:
| 0x85
| 0x85
| 133
| 133
| V1, V2
| V2
| V?
| V?
|  
|  
Zeile 656: Zeile 677:
| 0x86
| 0x86
| 134
| 134
| V1
| V2
| V?
| V?
|  
|  
Zeile 684: Zeile 705:
| 0x8A
| 0x8A
| 138
| 138
| V1, V2
| V2
| nein
| nein
|  
|  
Zeile 747: Zeile 768:
| 0x92
| 0x92
| 146
| 146
| V1, V2
| V2
| nein
| nein
|  
|  
Zeile 754: Zeile 775:
| 0x93
| 0x93
| 147
| 147
| V1, V2
| V2
| nein
| nein
|  
|  
Zeile 761: Zeile 782:
| 0x94
| 0x94
| 148
| 148
| V1
| V4
| nein
| nein
|  
|  
Zeile 768: Zeile 789:
| 0x95
| 0x95
| 149
| 149
| V?
| V1
| nein
| nein
|  
|  
Zeile 775: Zeile 796:
| 0x96
| 0x96
| 150
| 150
| V?
| V1
| nein
| nein
|  
|  
Zeile 782: Zeile 803:
| 0x97
| 0x97
| 151
| 151
| V?
| V1
| nein
| nein
|  
|  
Zeile 796: Zeile 817:
| 0x99
| 0x99
| 153
| 153
| V?
| V1
| nein
| nein
|  
|  

Version vom 22. Mai 2015, 22:41 Uhr


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


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.

Allgeine Grundlagen zu Z-Wave finden sich in dem Hauptartikel hier.

Command Classes

Einleitung

Die Dokumentation der Z-Wave Command Classes ist leider nicht offen gelegt, wodurch die verfügbaren Informationen teilweise veraltet, unvollständig oder teilweise auch falsch sind. Dieser Artikel erhebt daher auch 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 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, ist die minimale Anforderung an ein Geräte die Unterstützung der Command Class "CLASS_BASIC".

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_32:02

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. Hier werden die Werte als hexadezimale Zahl zurückgegeben, was nicht ganz konsistent zu den dezimalen Eingaben bei der Abfrage ist.

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.

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 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 untertützt, trotzdem aber keine der in dieser Version neuen Funktion nutzt.

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. Da aber auch fhem ständig weiterentwickelt wird, kann sich dies schnell ändern.

In fhem sind die für die Hausautomatisierung wichtigsten Klassen meist soweit implementiert, wie es für den Betrieb 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.

Hierzu ist es natürlich hielfreich sich im Forum von fhem mal mit einer entsprechenden Frage 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
BASIC 0x20 32 V2 V?
CONTROLLER_REPLICATION 0x21 33 V1 nein
APPLICATION_STATUS 0x22 34 V1 nein
ZIP_SERVICES 0x23 35 V2 nein
ZIP_SERVER 0x24 36 V1 nein (SECURITY_PANEL_MODE ?)
SWITCH_BINARY 0x25 37 V2 V?
SWITCH_MULTILEVEL 0x26 38 V4 V?
SWITCH_ALL 0x27 39 V1 V?
SWITCH_TOGGLE_BINARY 0x28 40 V1 nein
SWITCH_TOGGLE_MULTILEVEL 0x29 41 V1 nein
CHIMNEY_FAN 0x2A 42 V1 nein
SCENE_ACTIVATION 0x2B 43 V1 V?
SCENE_ACTUATOR_CONF 0x2C 44 V1 V?
SCENE_CONTROLLER_CONF 0x2D 45 V1 V?
ZIP_CLIENT 0x2E 46 V1 nein (SECURITY_PANELZONE ?)
ZIP_ADV_SERVICES 0x2F 47 V1 nein (Z/IP Tunneling Services)
(SECURITY_PANELZONE_SENSOR ?)
SENSOR_BINARY 0x30 48 V2 V?
SENSOR_MULTILEVEL 0x31 49 V8 V?
METER 0x32 50 V4 V1, V2, (V3) V3 evtl. nicht vollständig
ZIP_ADV_SERVER / COLOR_CONTROL 0x33 51 V1 V? (Z/IP Tunneling Server)
(COLOR_CONTROL ?)
ZIP_ADV_CLIENT 0x34 52 V1 (Z/IP Tunneling Client)
(NETWORK_MANAGEMENT_INCLUSION)
METER_PULSE 0x35 53 V1 nein
BASIC_TARIFF_INFO 0x36 54 V1 nein
HRV_STATUS 0x37 55 V1 V?
THERMOSTAT_HEATING 0x38 56 V1 nein
HRV_CONTROL 0x39 57 V1 V?
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
THERMOSTAT_MODE 0x40 64 V3 V?
PREPAYMENT_ENCAPSULATION 0x41 67 V1 nein
THERMOSTAT_OPERATING_STATE 0x42 66 V2 nein
THERMOSTAT_SETPOINT 0x43 67 V3 V?
THERMOSTAT_FAN_MODE 0x44 68 V4 nein
THERMOSTAT_FAN_STATE 0x45 69 V2 nein
CLIMATE_CONTROL_SCHEDULE 0x46 70 V1 V?
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 nein
NETWORK_MANAGEMENT_BASIC 0x4d 77 V1 nein
SCHEDULE_ENTRY_LOCK 0x4E 78 V3 nein
ZI_6LOWPAN 0x4F 79 V1 nein
BASIC_WINDOW_COVERING 0x50 80 V1 V?
MTP_WINDOW_COVERING 0x51 81 V1 nein (MTP=Move to position)
NETWORK_MANAGEMENT_PROXY 0x52 82 V1 nein
NETWORK_SCHEDULE 0x53 83 V1 nein
NETWORK_MANAGEMENT_PRIMARY 0x54 84 V1 nein
TRANSPORT_SERVICE 0x55 85 V2 nein
CRC_16_ENCAP 0x56 86 V1 evtl.
APPLICATION_CAPABILITY 0x57 87 V1 nein
ZIP_ND 0x58 88 V1 nein
ASSOCIATION_GRP_INFO 0x59 89 V1 nein
DEVICE_RESET_LOCALLY 0x5a 90 V1 nein
CENTRAL_SCENE 0x5b 91 V2 nein
IP_ASSOCIATION 0x5c 92 V1 nein
ANTITHEFT 0x5d 93 V2 nein
ZWAVEPLUS_INFO 0x5e 94 V2 V1
ZIP_GATEWAY 0x5f 95 V1 nein
MULTI_CHANNEL 0x60 96 V3 V2
MULTI_INSTANCE 0x60 96 V1 V1 MULTI_INSTANCE wurde in
MULTI_CHANNEL umbenannt
ZIP_PORTAL 0x61 97 V1 nein
DOOR_LOCK 0x62 98 V3 nein
USER_CODE 0x63 99 V1 V1
APPLIANCE / GARAGE_DOOR? 0x64 100 V1 nein
DMX 0x65 101 V1 nein
BARRIER_OPERATOR 0x66 102 V1 nein
CONFIGURATION 0x70 112 V2 V?
ALARM 0x71 113 V5 V?
MANUFACTURER_SPECIFIC 0x72 114 V2 V?
POWERLEVEL 0x73 115 V1 nein
PROTECTION 0x75 117 V2 V?
LOCK 0x76 118 V1 nein
NODE_NAMING 0x77 119 V1 nein
FIRMWARE_UPDATE_MD 0x7A 122 V4 nein
GROUPING_NAME 0x7B 123 V1 nein
REMOTE_ASSOCIATION_ACTIVATE 0x7C 124 V1 nein
REMOTE_ASSOCIATION 0x7D 125 V1 nein
BATTERY 0x80 128 V1 V?
CLOCK 0x81 129 V1 V?
HAIL 0x82 130 V1 V?
WAKE_UP 0x84 132 V2 V?
ASSOCIATION 0x85 133 V2 V?
VERSION 0x86 134 V2 V?
INDICATOR 0x87 135 V1 V?
PROPRIETARY 0x88 136 V1 nein
LANGUAGE 0x89 137 V1 nein
TIME 0x8A 138 V2 nein
TIME_PARAMETERS 0x8B 139 V1 nein
GEOGRAPHIC_LOCATION 0x8C 140 V1 nein
COMPOSITE 0x8D 141 V? nein
MULTI_CHANNEL_ASSOCIATION 0x8E 142 V2 V?
MULTI_INSTANCE_ASSOCIATION 0x8E 142 V1 V? MULTI_INSTANCE wurde in
MULTI_CHANNEL umbenannt
MULTI_CMD 0x8F 143 V1 evtl.
ENERGY_PRODUCTION 0x90 144 V1 nein
MANUFACTURER_PROPRIETARY 0x91 145 V1 V1
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
AV_RENDERER_STATUS 0x96 150 V1 nein
AV_CONTENT_SEARCH_MD 0x97 151 V1 nein
SECURITY 0x98 152 V1 nein
AV_TAGGING_MD 0x99 153 V1 nein
IP_CONFIGURATION 0x9A 154 V1 nein
ASSOCIATION_COMMAND_CONFIGURATION 0x9B 155 V1 nein
SENSOR_ALARM 0x9C 156 V1 V?
SILENCE_ALARM 0x9D 157 V1 nein
SENSOR_CONFIGURATION 0x9E 158 V1 nein
MARK 0xEF 239 V? nein
NON_INTEROPERABLE 0xF0 240 V? nein

Es gibt noch ein paar Einträge die nicht eindeutig der obigen Liste zugeordnet werden können, da keine ID bekannt ist:

HRV Status V1
HRV Control V1
Remote Association Configuration V1
Thermostat setback V1 (evtl. Thermostat setpoint)

Die Klasse MULTI_INSTANCE wurde in der Version V2 in MULTI_CHANNEL umbenannt.


Beispiel für eine Command Class und deren Implementierung in fhem

Quellen und Links