KONNEKTING Protocol Specification 0x01

From KONNEKTING Wiki
Jump to navigation Jump to search

Message Types for Protocol-Version 0x01

--- DRAFT ---
This is the second protocol version (version=0x01), starting with 1.0.0 beta5
--- DRAFT ---

0x00 Acknowledge

  • Message Name: Acknowledge
  • Message-Type-ID: 0 dec / 0x00 hex
  • Direction: Device -> Suite
  • Expected Response: n/a
  • Description: Sent by device as answer to most WRITE messages
  • Requires Programming Mode: n/a
Byte no# Description
2 Acknowledge Type
3 Error Code
4..13 0xFF, unused

Acknowledge Type

hex Description
0x00 ACK
0xFF NACK

Error Code

hex Description
0x00 no error / no error code available

0x01 PropertyPageRead

  • Message Name: PropertyPageRead
  • Message-Type-ID: 3 Dec / 0x03 hex
  • Direction: Suite -> Device
  • Expected Response: #0x04 PropertyPageResponse
  • Description: Read one page of property data
  • Requires Programming Mode: no
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4 property page num, 0x00..0xFF, see #Property Pages for more details
4..13 0xFF, unused

Property Pages

0x00 Device Info

  • Property Page Number: 0 dec / 0x00 hex
  • Property Page Name: Device Information
Byte no# Description
2 Manufacturer-ID HI
3 Manufacturer-ID LO
4 Device-ID
5 RevisionID
6 Device Flags, see below
7 IndividualAddress HI
8 IndividualAddress LO
9 System Type, see below
10..13 0xFF, unused
Device Flags

b7 ist the left most bit, b0 is the right most bit.

bit hex mask Description
b7 0x80 Factory Flag:
  • 1 = factory settings
  • 0 = stored settings
b6..b0 n/a unused
System Type
hex Name Description
0x00 System 1
Default
Up to:
  • 256 GAs
  • 256 GA-ComObj relations
  • 256 ComObjects
  • 256 Parameters
0x01 System 2
Simple
Up to:
  • 128 GAs
  • 128 GA-ComObj relations
  • 128 ComObjects
  • 128 Parameters
0x02 System 3
Extended
DRAFT
Up to:
  • 65535 GAs (32*8*256)
  • 65535 GA-ComObj relations
  • 65535 ComObjects
  • 65535 Parameters

GAs = Unique GroupAddresses
GA-ComObj relations = Assignments of GAs to ComObjects
ComObjects = Number of ComObjects
Parameters = Number of Paramaters

0x02 PropertyPageResponse

Byte no# Description
2..13 12 bytes of property page data, see #Property Pages for more details

0x09 Restart

  • Message Name: Restart
  • Message-Type-ID: 9 dec / 0x09 hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: Restart device (device reboot, no memory reset)
  • Requires Programming Mode: no
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4..13 0xFF, unused


0x0A ProgrammingModeWrite

  • Message Name: ProgrammingModeWrite
  • Message-Type-ID: 10 dec / 0x0A hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: Sets/Unsets Programming-Mode for device with given individual address. Device will respond with a "Acknowledge" message.
  • Requires Programming Mode: no
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4 Mode:

0x00 = OFF
0x01 = ON

5..13 0xFF, unused


0x0B ProgrammingModeRead

  • Message Name: ProgrammingModeRead
  • Message-Type-ID: 11 dec / 0x10 hex
  • Direction: Suite -> Device
  • Expected Response: #0x0C ProgrammingModeResponse
  • Description: Reads current programming mode of all listening devices. If more than one device is in programming-mode, you will get more then one AnswerProgrammingMode messages.
  • Requires Programming Mode: no
Byte no# Description
2..13 0xFF, unused


0x0C ProgrammingModeResponse

  • Message Name: ProgrammingModeResponse
  • Message-Type-ID: 12 dec / 0x11 hex
  • Direction: Device -> Suite
  • Expected Response: n/a
  • Description: Response to ProgrammingModeRead message.
  • Requires Programming Mode: n/a
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4..13 0xFF, unused


0x14 IndividualAddressWrite

  • Message Name: IndividualAddressWrite
  • Message-Type-ID: 20 dec / 0x14 hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: Writes the individual address the device should use. Device will respond with a "Acknowledge" message.
  • Requires Programming Mode: yes
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4..13 0xFF, unused


0x15 IndividualAddressRead

  • Message Name: IndividualAddressRead
  • Message-Type-ID: 21 dec / 0x15 hex
  • Direction: Suite -> Device
  • Expected Response: #0x16 IndividualAddressResponse
  • Description: Each device in programming mode will respond with its individual address
  • Requires Programming Mode: yes
Byte no# Description
2..13 0xFF, unused


0x16 IndividualAddressResponse

  • Message Name: IndividualAddressResponse
  • Message-Type-ID: 22 dec / 0x16 hex
  • Direction: Device -> Suite
  • Expected Response: n/a
  • Description: Response to a IndividualAddressRead message with the device's individual address.
  • Requires Programming Mode: n/a
Byte no# Description
2 IndividualAddress HI
3 IndividualAddress LO
4..13 0xFF, unused


0x1E MemoryWrite

  • Message Name: MemoryWrite
  • Message-Type-ID: ?? dec / 0x?? hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: Write data to device memory
  • Requires Programming Mode: yes
Byte no# Description
2 Count: Number of bytes to write to memory, starting at "Address"
3 Address HI
4 Address LO
5..13 1..9 bytes of Data, depends on "Count". Remaining bytes: 0xFF


0x1F MemoryRead

  • Message Name: MemoryRead
  • Message-Type-ID: ?? dec / 0x?? hex
  • Direction: Suite -> Device
  • Expected Response: #0x20 MemoryResponse
  • Description: Reads data from device memory
  • Requires Programming Mode: yes
Byte no# Description
2 Count: Number of bytes to read from address. Range 1..9
3 Address HI
4 Address LO
5..13 0xFF, unused

0x20 MemoryResponse

  • Message Name: MemoryResponse
  • Message-Type-ID: ?? dec / 0x?? hex
  • Direction: Device -> Suite
  • Expected Response: n/a
  • Description: Response to MemoryRead
  • Requires Programming Mode: yes
Byte no# Description
2 Count: Number of bytes that have been read from address
3 Address HI
4 Address LO
5..13 1..9 bytes of Data, depends on "Count". Remaining bytes: 0xFF


0x28 DataPrepare

  • Message Name: DataPrepare
  • Message-Type-ID: 40 dec / 0x28 hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: prepare update
  • Requires Programming Mode: yes
Byte no# Description
2 Data Type, see below
3 Data ID
unique identifier for the data
4 size of data uint32[0]
5 size of data uint32[1]
6 size of data uint32[2]
7 size of data uint32[3]
8..13 unused, 0xFF

Data Type

hex Name Data ID range Description
0x00 UPDATE always 0x00 Firmware update for KONNEKTING device
0x01 DATA 0x00..0xFF f.i. additional configuration, images, sounds, ...

0x29 DataWrite

  • Message Name: DataWrite
  • Message-Type-ID: 41 dec / 0x29 hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: Writing data
  • Requires Programming Mode: yes
Byte no# Description
2 Count[1]: 1..11 bytes
3..13 1..11 bytes of Data, depends on "Count". Remaining bytes: 0xFF

Notes:

  1. required to determin the end of data in last DataWrite message

0x2A DataFinish

  • Message Name: DataFinish
  • Message-Type-ID: 42 dec / 0x2A hex
  • Description: finish writing data
  • Requires Programming Mode: yes
Byte no# Description
2 CRC32[0] [1]
3 CRC32[1]
4 CRC32[2]
5 CRC32[3]
6..13 unused, 0xFF

Notes:

0x2B DataRemove

  • Message Name: DataRemove
  • Message-Type-ID: 43 dec / 0x2B hex
  • Direction: Suite -> Device
  • Expected Response: #0x00 Acknowledge
  • Description: remove previously stored data
  • Requires Programming Mode: yes
Byte no# Description
2 Data Type
0x01..0xFF[1]
3 Data ID
unique identifier for the data
4..13 unused, 0xFF

Notes:

  1. 0x00 is reserved for UPDATE