2.2.98. Screen Meta Data Command Class, version 1¶
The Screen Meta Data Command Class is used to streaming data containing user related information to a screen located on a device in a Z-Wave network. The screen can request single or multiple data packets. The device having the data containing user related information to the screen can also initiate the data streaming.
In order not to congest the Z-Wave network, large data transfers MUST leave transmit opportunities for other nodes in the network. If sending a command longer than two frames, a node MUST implement a delay between every transmitted frame. The minimum required time delay and number of frames before a delay must be inserted depends on the actual bit rate.
40 kbit/s: At least 35 ms if sending more than 2 frames back-to-back
100 kbit/s: At least 15 ms if sending more than 2 frames back-to-back
2.2.98.1. Screen Meta Data Get Command¶
This command is used to request the Screen Meta Data Report Command. The Screen Meta Data Get Command is used as handshake to avoid buffer overflow in the receiving node. The Screen Meta Data Get Command will optionally be able to request multiple Screen Meta Data Report Commands to improve the effective bandwidth.
The Screen Meta Data Report Command MUST be returned in response to this command.
This command MUST NOT be issued via multicast addressing.
A receiving node MUST NOT return a response if this command is received via multicast addressing. The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SCREEN_MD (0x92) |
|||||||
Command = SCREEN_MD_GET (0x01) |
|||||||
Number of Reports |
|||||||
NodeID |
|||||||
Number of Reports (8 bits)
Number of Screen Meta Data Report Commands to be received without requesting each Screen Meta Data Report Command (1..255). Be aware of overflow when requesting multiple reports.
NodeID (8 bits)
The NodeID (1..232) specifies the device to receive the requested reports. In case NodeID is equal to 0x00, the information is requested by the source NodeID of the Screen Meta Data Get Command.
2.2.98.2. Screen Meta Data Report Command¶
This command is used to send data to the device hosting the screen.
The size of the payload SHOULD NOT be bigger than 48 bytes. It is possible to write characters to multiple lines in the same frame.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_SCREEN_MD (0x92) |
|||||||
Command SCREEN_MD_REPORT |
|||||||
More Data |
Reserved |
Screen Settings |
Character Encoding |
||||
Line Settings A |
Clear A |
Line Number A |
|||||
Character Position A |
|||||||
Number of Characters A |
|||||||
Character 1,A |
|||||||
… |
|||||||
Character N,A |
|||||||
… |
|||||||
Line Settings B |
Clear B |
Line Number B |
|||||
Character Position B |
|||||||
Number of Characters B |
|||||||
Character 1,B |
|||||||
… |
|||||||
Character N,B |
|||||||
More Data (1 bit)
The more data bit indicates if additional reports are expected before the whole data streaming is completed. If the more data bit is set to 1 then additional reports are expected and the opposite if 0.
Reserved
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Screen Settings (3 bits)
This field MUST comply with Table 2.523:
Screen Settings |
Description |
|---|---|
0 |
Whole screen is cleared before lines are written. |
1 |
Current content on screen is scrolled one line down. |
2 |
Current content on screen is scrolled one line up. |
7 |
Do not change the current content on the screen. |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Character Encoding (3 bits)
This field MUST comply with Table 2.524:
Character Encoding |
Description |
|---|---|
0 |
Using standard ASCII codes, see ASCII Codes (values 128-255 are ignored) |
1 |
Using standard ASCII codes and OEM Extended ASCII codes, see ASCII Codes |
2 |
Unicode UTF-16 |
3 |
Using standard ASCII codes and Player codes, see ASCII Codes (undefined values are ignored) |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Note
Devices supporting Unicode UTF-16 characters are described by a 2 byte long decimal representation. The first byte is the most significant byte. E.g. if there is one Unicode character in the set frame the char 1 will be MSB and char 2 will be LSB of the Unicode character.
Line Settings (3 bits)
This field MUST comply with Table 2.525:
Line Settings |
Description |
|---|---|
0 |
Characters are written in selected font |
1 |
Characters are written as highlighted |
2 |
Characters are written using a larger font compared to line settings equal to 0 |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Clear (1 bit)
Determine if the characters are written directly or line is cleared first.
Clear |
Description |
|---|---|
0 |
Characters are written directly |
1 |
Line is cleared before characters are written. |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Line Number (4 bits)
The line number field indicates the line to write the characters to counting from zero (0..15).
Character Position (8 bits)
The character position field indicates where on the line to write the characters counting from zero (0..255). The character position may be larger than the display size in case the line buffer is bigger (See the Screen Attributes Report Command).
Number of Characters (8 bits)
The number of characters field indicates how many characters to be written on the screen for the specified line number, counting from 1.
Character (N bytes)
The character fields hold the string to output in specified character representation. Characters will be ignored in case there is no room left in the line buffer.