Which controller do you have?

We'll show what works with it on every page.

My smart home

Help me choose

KB-104 - Z-Wave Geräteparameter - hex, dez, binär, Bits, Bytes ..... was?!?!

Beim Lesen von Gerätehandbüchern oder unseren eigenen Anleitungen stoßen Sie möglicherweise auf Begriffe, die Ihnen vielleicht nicht geläufig sind, wie z. B. binär, hexadezimal, Bit, Byte usw.

Dies ist ein kurzer Leitfaden zu den gebräuchlichsten Begriffen, um eine einheitliche Grundlage zu gewährleisten.

Einführung in Binär-, Dezimal- und Hexadezimalzahlen

Auch wenn dies zunächst verwirrend klingen mag: Binär-, Dezimal- und Hexadezimalzahlen sind im Wesentlichen lediglich verschiedene Schreibweisen für dieselbe Zahl.

Werfen wir einen kurzen Blick auf die Unterschiede zwischen diesen Systemen.

Dezimal

Über das Dezimalsystem muss nicht viel gesagt werden, da es heutzutage das am häufigsten verwendete Zahlensystem ist.

Es wird als „Basis-10“-System bezeichnet, da 10 Symbole zur Verfügung stehen: 0 – 9.

Sobald Sie die 9 erreichen, sind keine Ziffernsymbole mehr verfügbar; daher fügen Sie links eine 1 hinzu und beginnen wieder bei 0.

Binär

Eine Binärzahl besteht ausschließlich aus 0en und 1en. Aus diesem Grund spricht man von einem „Basis-2“-System.

Dies bedeutet, dass eine einzelne Binärstelle im Gegensatz zu den gewohnten 10 Ziffern nur 2 verschiedene Werte darstellen kann.

Die Grundregel für das Zählen im Binärsystem entspricht der des Dezimalsystems: Zählen Sie bis kurz vor das Erreichen der „Basis“, beginnen Sie dann wieder bei 0 und erhöhen Sie zuvor die Ziffer links davon um 1.


Binär: 0 1 10 11 100 101 110 111 1000 1001 1010
Dezimal: 0 1 2 3 4 5 6 7 8 9 10

Hexadezimal

Hexadezimalzahlen sind besonders interessant, da es sich um ein „Basis-16“-System handelt.

Sie entsprechen bis zur Ziffer 9 den Dezimalzahlen, nutzen dann jedoch Buchstaben („A“, „B“, „C“, „D“, „E“, „F“) anstelle der Dezimalzahlen 10 bis 15.

Eine einzelne Hexadezimalstelle kann somit 16 verschiedene Werte darstellen, anstelle der 10 gewohnten Ziffern.

Auch hier gilt: Sobald keine weiteren Ziffern verfügbar sind (nach Erreichen von F), beginnt die Zählung wieder bei 0, und die nächste Stelle links davon wird um 1 erhöht.


Hexadezimal: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Dezimal: 0 1 2 3 4 5 6 7 8 910 11 12 13 14 15

In der Praxis

Wählen Sie eines der folgenden Systeme aus und beobachten Sie den Zählvorgang:

Konvertierung zwischen den Systemen

Wenn Sie sich für Mathematik begeistern, können Sie lernen, wie Zahlen zwischen verschiedenen Basissystemen umgerechnet werden.

Am einfachsten ist jedoch die Verwendung eines Online-Zahlenkonverters.

Bits vs. Bytes

Bits und Bytes werden oft verwechselt, weisen jedoch einen wesentlichen Unterschied auf.

Ein Bit ist die kleinste Informationseinheit, die auf einem Computer gespeichert oder verarbeitet werden kann. Als Zahl dargestellt können Bits entweder den Wert „1“ (eins) oder „0“ (null) annehmen.

Ein Byte hingegen ist deutlich größer und umfasst acht Bits. Mathematisch ergeben n Bits genau 2 ^ n Zustände, sodass ein Byte eine Zahl zwischen 0 und 255 abbilden kann.


Bit 0 1 2 3 4 5 6 7
  2 ^ 0 2 ^ 1 2 ^ 2 2 ^ 3 2 ^ 4 2 ^ 5 2 ^ 6 2 ^ 7
Wert 0 2 4 8 16 32 64 128

Zu beachten ist, dass Bytes mit einem großen B abgekürzt werden, während Bits ein kleines b verwenden. Demnach steht Mbps für Megabits pro Sekunde und MBps für Megabytes pro Sekunde.

Zusammenfassung

Sie fragen sich möglicherweise, warum wir über Bits, Bytes und die verschiedenen Zahlensysteme gesprochen haben.

Beim Hinzufügen eines Geräteparameters muss dessen Datengröße (Data Size) definiert werden. Zwischen 1, 2 oder 4 Bytes sowie Hex oder Dec stehen 6 Optionen zur Auswahl.

Es mag verlockend sein, einfach die erste Option auszuwählen, ein fehlerhafter Datengrößen-Parameter funktioniert jedoch nicht und kann in bestimmten Fällen die ordnungsgemäße Funktion des Geräts selbst verhindern.

Datengröße

Zunächst ist zu beachten, dass alle Parameter, sofern nicht anders angegeben, als 1-Byte-Dezimalwert definiert sind.

Es gibt jedoch Geräte, die andere Datengrößen erfordern. Aus diesem Grund ist es äußerst wichtig, die Bedienungsanleitung Ihrer Geräte vor Änderungen sorgfältig zu prüfen.

Wir bemühen uns, alle Produktseiten mit aktuellen Handbüchern auszustatten.

In den seltenen Fällen, in denen ein Handbuch fehlt oder die bereitgestellten Informationen unzureichend sind, empfehlen wir, in der pepper1 Z-Wave-Datenbank oder auf der Website der Z-Wave Alliance nach Ihrem Gerät zu suchen.

Negative Werte

Üblicherweise wird ein Minuszeichen verwendet, um eine negative Ganzzahl zu kennzeichnen. Computer können Informationen jedoch nur in Bits speichern, die bekanntlich lediglich die Werte 0 oder 1 annehmen können. Daher erfordert die Speicherung negativer Ganzzahlen in einem Parameter einen anderen Ansatz.

Ohne zu sehr ins Detail zu gehen: Eine Möglichkeit zur Speicherung negativer Werte ist die Konvention des Zweierkomplements, bei der negative Werte durch das Zweierkomplement ihres Betrags dargestellt werden. Das bedeutet im Wesentlichen, dass Zahlen, die im höchstwertigen Bit ganz links eine „1“ aufweisen, negativ sind.

Um negative Werte für einen Parameter festzulegen, nimmt man den Maximalwert (abhängig von der Parametergröße, d. h. 1, 2 oder 4 Byte) und subtrahiert den gewünschten Wert.

Beispiele

Anhand von Beispielen wird alles verständlicher; betrachten wir daher einige gängige Geräte, die vor der Konfiguration ihrer Parameter Berechnungen auf Bitebene erfordern.

Philio Multisensor GEN5

Ein kurzer Blick in das Handbuch des Philio Multisensors zeigt sofort, dass die meisten Parameterwerte nicht dem üblichen 1-Byte-Dezimalformat entsprechen.

Betrachten wir Parameter 7 als Beispiel. Hinweis: Für dieses Beispiel verwenden wir die Parameter des PST02-1A.

Wir müssen die Binary Sensor Report Command Class aktivieren und das Gerät so einstellen, dass es nach einem Bewegungsereignis „clear“ meldet, damit sowohl die Bewegungs- als auch die Magnetsensoren in den meisten Z-Wave-Controllern ordnungsgemäß funktionieren.

Dazu müssen Bit 1 und Bit 4 aktiviert und zu dem standardmäßig bereits aktivierten Bit 2 addiert werden.

Dies entspricht: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22

Unser 1-Byte-Dezimal-Parameter sollte daher auf 22 gesetzt werden.

Aeon Clamp Meter

Die vom Aeon Clamp Meter verwendeten 4-Byte-Dezimal-Parameter können im Vergleich zu einem 1-Byte-Dezimalwert komplexer sein.

Als Beispiel konfigurieren wir eine Einzelzangen-Version (Single Clamp) dieses Geräts. Wir haben hier gesehen, dass Parameter 103 auf 2304 gesetzt werden sollte – doch woran liegt das?

Ein Blick in das Handbuch zeigt auf Seite 7 eine Tabelle mit allen möglichen Optionen für Value 1 bis 4.

Dort wird zudem beschrieben, dass Value 1 das MSB (Most Significant Bit) und Value 4 das LSB (Least Significant Bit) darstellt.

Auf dieser Grundlage wenden wir dieselbe Logik wie zuvor an, beginnend beim LSB-Bit (Value 4). Dies ergibt:


Value 1 (MSB)
Bit7 6 5 4 3 2 1 0
Wert 2147483648 1073741824 536870912 268435456 134217728 67108864 33554432 16777216
Wert 2
Bit 7 6 5 4 3 2 1 0
Wert 8388608 4194304 2097152 1048576 524288 262144 131072 65536
Wert 3
Bit 7 6 5 4 3 2 1 0
Wert 32768 16384 8192 4096 2048 1024 512 256
Wert 4 (LSB)
Bit 7 6 5 4 3 2 1 0
Wert 128 64 32 16 8 4 2 1

Um Berichte für Watt und kWh zu erhalten, müssen wir Bit 0 und Bit 3 auf Value 3 aktivieren.

Daraus ergibt sich: 2048 + 256 = 2304

Daher sollte unser Parameter als 4-Byte-Dezimalwert auf 2304 gesetzt werden.

Aeon Siren GEN5

Der als 2-Byte-Dezimalwert ausgelegte Aeon Siren GEN5 Parameter 37 kann, wie wir wissen, zwei Bytes oder 16 Bits speichern.

Dadurch können wir verschiedene Töne einstellen und die Lautstärke anpassen – alles in einem einzigen Parameter.

Beim Blick in das Handbuch sehen wir, dass Value 1 über 6 mögliche Einstellungen verfügt, während Value 2 4 besitzt. Dies entspricht Folgendem:

Value 1 (MSB)
Sound 5 Sound 4 Sound 3 Sound 2 Sound 1
Bit 4 3 2 1 0
Wert 4096 2048 1024 512 256
Value 2 (LSB)
Lautstärke 3 Lautstärke 2 Lautstärke 1
Bit 2 1 0
Wert 4 2 1

Aeon hat bei diesem Parameter jedoch eine andere Logik verwendet, was das Verständnis etwas erschweren kann. Laut Handbuch gilt:

  • Value 1
    • 0 – aktuellen Sirenenton nicht ändern
    • 1 – Sirenenton 1 ist ausgewählt
    • 2 – Sirenenton 2 ist ausgewählt
    • 3 – Sirenenton 3 ist ausgewählt
    • 4 – Sirenenton 4 ist ausgewählt
    • 5 – Sirenenton 5 ist ausgewählt
  • Value 2
    • 0 – aktuelle Lautstärke nicht ändern
    • 1 – Lautstärke auf 88 dB einstellen
    • 2 – Lautstärke auf 100 dB einstellen
    • 3 – Lautstärke auf 105 dB einstellen

Dies sind die Dezimalwerte, sie werden jedoch unter Berücksichtigung ihrer Verteilung über einen 2-Byte-Wert angewendet.

Da die Werte für Ton und Lautstärke als einzelner 2-Byte-Parameter angewendet werden, müssen wir die Bitmuster entsprechend umrechnen.

Anhand eines Beispiels ist dies vermutlich leichter verständlich:

  • Betrachten wir Sirenenton Sound 4; laut Handbuch beträgt dessen Wert 4
  • Betrachten Sie nun das obige 8-Bit-Wertemuster – welches „Bit“ müssten wir setzen, um den Wert 4 zu erhalten? Die Antwort lautet Bit 2
  • Und welchen Wert hat Bit 2 im 2. Byte eines 2-Byte-Wertes? Die Antwort lautet 1024

Falls das kompliziert klingt: Das kann es durchaus sein :-)

Schauen wir uns ein zweites Beispiel an:

  • Betrachten Sie Sirenensound 3 mit dem Wert 3
  • Welches „Bit“ müssten wir setzen, um den Wert 3 zu erhalten? Wir müssten Bit 0 und 1 aktivieren (1 + 2)
  • Wie hoch ist die Summe der Werte von Bit 0 und 1 bei einem standardmäßigen 8-Bit-Wertemuster? Die Antwort lautet 768 (512 + 256)

Hinweis: Eine vollständige Liste der Dezimalwerte zur Verwendung mit der Aeon Siren finden Sie in dieser Anleitung

Fibaro Swipe

Parameter 31-36 ermöglichen es dem Benutzer, Sequenzen aus zwei oder drei Gesten zu erstellen, um die Anzahl der möglichen Aktionen zu erweitern.

Hierbei handelt es sich um 2-Byte-Dezimal-Parameter, bei denen jede Geste 4 Bits belegt.

Jede Geste kann wie folgt identifiziert werden:

Wert 4 Bits Geste
0 0000 leer
1 0001 ^
2 0010 v
3 0011 <
4 0100 >

Das Bitmuster der Sequenz lässt sich wie folgt abbilden:

Wert 1 (MSB) - reserviert
Bit 3 2 1 0
Wert 32768 16384 8192 4096
Wert 2 - erste Geste
Bit 3 2 1 0
Wert 20481024 512 256
Wert 3 - zweite Geste
Bit 3 2 1 0
Wert 128 64 32 16
Wert 4 (LSB) - dritte Geste
Bit 3 2 1 0
Wert 8 4 2 1

Um eine Sequenz ^ (oben) > (rechts) < (links) zu erstellen:

  • Wert 1 ist reserviert, daher ist sein Wert 0
  • Wert 2 ist „oben“, daher aktivieren wir Bit 0 (0001) = 256
  • Wert 3 ist „rechts“, daher aktivieren wir Bit 2 (0100) = 64
  • Wert 4 ist „links“, daher aktivieren wir Bit 0 und 1 (0011) = 2 + 1

Wenn wir alle Werte addieren, erhalten wir 323.

Fibaro Motion Sensor GEN5

Der 2-Byte-Dezimalwert des Fibaro Motion Sensor GEN5 Parameter 66 kann zwei Bytes bzw. 16 Bits speichern, wodurch wir einen Temperaturoffset von -100 bis 100 ºC in Schritten von 0.1ºC festlegen können.

Um einen Temperaturoffset von -2.0 ºC einzustellen, subtrahieren Sie den gewünschten Absolutwert (20) vom Maximalwert, den der Parameter annehmen kann (2^16).

Dies entspricht (2^16) – 20 = 65516.

Unser 2-Byte-Dezimalparameter sollte also auf 65516 eingestellt werden.

Verwandte Informationen


Copyright Vesternet 2017

Aktualisiert: 07/11/2017

Your quote

Loading your cart…

Edit cart