Version: 1.1
Protocol: MQTT 3.1.1 / 5.0
This document outlines the MQTT topics and payloads for integrating the Haptique RS90.
Note: The RS90 uses Retained Messages for state and configuration. You do not need to send “Get” commands. Simply subscribe to the topics below, and the broker will automatically deliver the current data immediately.
1. Device ID (Auto-Reported)
- Topic:
Haptique/{RemoteID} - Type: Subscribe
- Retained:
Yes
2. System Status (Auto-Reported)
Connection Status
The Haptique updates this topic automatically when it connects or disconnects (via Last Will & Testament).
- Topic:
Haptique/{RemoteID}/status - Type: Subscribe
- Retained:
Yes - Payload:
onlineoffline
3. Resource Discovery (Auto-Reported)
The remote publishes its configuration to these topics upon connection.
Device List
A list of all devices configured on the remote.
- Topic:
Haptique/{RemoteID}/device/list - Type: Subscribe
- Retained:
Yes - Value: JSON Array
[
{
"Id":"{id}",
"name":"{deviceName}"
},
{
"id":"{id}",
"name":"{deviceName}"
}
]
Topics to Subscribe
1. Macro List
A list of all macros configured on the remote.
- Topic:
Haptique/{RemoteID}/macro/list - Type: Subscribe
- Retained:
Yes - Value: JSON Array
[
{
"Id":"{id}",
"name":"{macroname}"
},
{
"id":"{id}",
"name":"{macroname}"
}
]
2. Trigger macro
-
Topic:
Haptique/{RemoteID}/macro/{macroname}/trigger -
Type: Subscribe
-
Retained:
Yes -
Payload: JSON Array
onoff
3. Device commands
A list of commands of device configured on the remote.
- Topic:
Haptique/{RemoteID}/device/{devicename}/detail - Type: Subscribe
- Retained:
Yes - Value: JSON Array
[
{
"Id":"{commandID}",
"name":"{commandname}"
},
{
"id":"{commandID}",
"name":"{commandname}"
}
]
4. Trigger command
-
Topic:
Haptique/{RemoteID}/device/{devicename}/trigger -
Type: Subscribe
-
Payload: JSON
{commandID}
5. Battery Level
The remote reports battery level in response to the topic below is published.
- Topic:
Haptique/{RemoteID}/battery/status - Type: Subscribe
- Retained:
Yes
Response - : RAW
{%}
6. Key event
The remote reports physical button press level in response to the topic below is published.
- Topic:
Haptique/{RemoteID}/keys - Type: Subscribe
- Retained:
Yes - Payload: JSON
keys = button:#
7. RGB Ring light
Toggle RGB ring default animation.
- Topic:
Haptique/{RemoteID}/ledlight/on (on/off) - Type: Subscribe
- Payload: JSON
{seconds 1-10}
8.Installed App List
Returns a list of all installed apps on the Haptique Remote.
- Topic:
Haptique/{RemoteID}/app/list - Type: Subscribe
- Retained:
Yes - Value: JSON Array
[
{
"Id":"{package}",
"name":"{name}"
},
{
"Id":"{package}",
"name":"{name}"
}
]
9.Open Installed Apps
Opens an installed app using either the app name or package name.
- Topic:
Haptique/{RemoteID}/app/{app name or package}/open - Type: Subscribe
