The profile service lets you send and receive configuration for motion, lighting, and effects to and from the Amp. Currently, there are five commands that you can utilize:
Command | Description |
| Retrieves configuration as binary MsgPack |
| Sends Amp profile as MsgPack (also the format that get:config returns config) |
| Sets the name of the Amp |
| Changes the effect for how a lighting region reacts to an action |
| Saves the effect for how a lighting region reacts to an action |
When sending / receiving data to the amp, you must take into account the MTU. The data will be received or needs to be sent in packets of MTU - 3 bytes.
In both directions, a flow control characteristic is sent with the size of the data in bytes so that both the Amp and the client knows how much data is being sent (i.e. how many notifications to look for before parsing the data)
Get a refresher on MTU considerations here
Transmits profile data to the amp as a series of notifications. Must be preceded by an Amp Flow Control message with value 1,<data size in bytes>
Receives profile data from the amp as a series of notifications. Will be preceded by an Amp Flow Control with value 2,<data size in bytes>
Dictates between the Amp and a Bluetooth LE client the direction of data being received and the amount of data being sent
Bytes 1-4 are a packed unsigned 32-bit integer that dictates the size of the data being sent
Byte | Operations | Description |
0 | R/W | FlowControl |
1 | R/W | Data size byte 1 (MSB) |
2 | R/W | Data size byte 2 |
3 | R/W | Data size byte 3 |
4 | R/W | Data size byte 4 (LSB) |