TA652FC-W MQTT API

Tip

  • This section applies to both TA652FC-W and TA652FH-W.

  • Unless otherwise specified, all specifications applicable to TA652FC-W are also applicable to TA652FH-W.

Overview

TA652FC-W & TA652FH-W MQTT API is an implementation of ThingsBoard MQTT Device API (MQTT is a lightweight publish/subscribe messaging protocol).

../../_images/d4a84c56ae0904a3c2530c31437c826280877ad4be8bddad10368a4f1c55b394.svg

Features

  • MQTT protocol:

    • Support MQTT over TCP

    • NOT support MQTT over SSL with mbedtls, MQTT over Websocket, MQTT over Websocket Secure

  • Base on ThingsBoard MQTT Device API:

    • Support telemetry upload API

    • Support client-side & shared attributes, and attributes API:

      • Request attribute values from the server

      • Publish attribute update to the server

      • Subscribe to attribute updates from the server

    • Support PRC API:

      • Server-side RPC: one-way and two-way

      • Client-side RPC: one-way and two-way

    • Support Claiming devices API

    • Support Firmware API

    • NOT support Device provisioning API

MQTT Special

  • Currently support mqtt schemes

  • Currently NOT support mqtts, ws, wss schemes

  • MQTT over TCP samples:

    • mqtt://mqtt.eclipse.org : MQTT over TCP, default port 1883:

    • mqtt://mqtt.eclipse.org:1884 : MQTT over TCP, port 1884:

Flow Chart

Tip

The range of values for message fields is referred to in the following sections, see Telemetry (Time-series data), Shared attributes, Client-side attributes and Server-side RPC.

TELE.01 Time-series Data Upload

Chart:
../../_images/e4b726aef63d9c83f6f83faf16d14cb41a5a5533dd37dba98f042144958ffb68.svg../../_images/243e67b6b76bf5b2a2179820fc8f4c6f6ddac7708cdf9ab817d25ada7d6bf76c.svg
Message:
// Message Type:  Telemetry upload (MQTT, PUBLISH)
// Topic:         v1/devices/me/telemetry
// Payload - TA652FC-W:
{"roomTemp":26.2,"changeOverTemp":26.3}
// Payload - TA652FH-W:
{"roomTemp":26.2,"floorTemp":26.3}

See roomTemp, changeOverTemp (only for TA652FC-W), floorTemp (only for TA652FH-W).

See uploadFreq.

See uploadThreshold.

CTRL.01 Control Mode

Chart:
../../_images/29a60a595fbf3c75ece9db1cbef615b42f898eeafb72b8387533ed73269a6fd1.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"controlMode":"On"}
Message 2:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetControlMode","params":"Off"}

See controlMode and remoteSetControlMode.

CTRL.02 Fan Mode & Fan Status (only for TA652FC-W)

Chart:
../../_images/8b043bcffd34f882b5764f6805ffdb788c0b92e6bd514f51e37beaba465bd1a5.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"fanMode":"Auto"}
Message 2:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"fanStatus":"Low"}
Message 3:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FC-W:
{"method":"remoteSetFanMode","params":"Med"}

See fanMode (only for TA652FC-W), fanStatus (only for TA652FC-W) and remoteSetFanMode (only for TA652FC-W).

CTRL.03 Set Point & Override Status

Chart:
../../_images/fd057841b5e1a4b8fd6bdb1c6ee7a3cc29a925ee4af6fea8a098ca39c1abbad9.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"spValue":27.5}
Message 2:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"overrideStatus":false}
Message 3:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetSpValue","params":34}
Example 4:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetOverrideStatus","params":{}}

See spValue, overrideStatus, remoteSetSpValue and remoteSetOverrideStatus .

PRG.01 Program Mode & Program Status

Chart:
../../_images/a68a6b9250e354ff1b70e39df823c81bbf3a1a86335f6ab4312a2bf273aeb0c4.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgMode":"Every-day"}
Message 2:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgNextEnable":true}
Message 3:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgNextCtrlMode":"On"} //{"prgNextCtrlMode":"Off"}
Message 4:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgNextSetpoint":24.5}
Message 5:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgNextDaysTime":"Wed, 06:00 PM"}
Message 6:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetPrgMode","params":"Sun_mon-fri_sat"}

See prgMode, prgNextEnable, prgNextCtrlMode, prgNextSetpoint, prgNextDaysTime and remoteSetPrgMode.

PRG.02 Program Setpoint & Time

Chart:
../../_images/8bb41f62e8206173bc12a28ddaaa1697865b8cc4f05d5a7b809876023ab0026d.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgSpTime00":"10:00"}
Message 2:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgCtrlMode00":"On"} //{"prgCtrlMode27":"Off"}
Message 3:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"prgSpValue00":27.5}
Message 4:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetPrgSpTime27","params":"23:00"}
Message 5:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetPrgCtrlMode27","params":"Off"} //{"method":"remoteSetPrgCtrlMode00","params":"On"}
Message 6:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetPrgSpValue14","params":21.5}

See prgSpTimeXX, prgCtrlModeXX, prgSpValueXX, remoteSetPrgSpTimeXX, remoteSetPrgCtrlModeXX and remoteSetPrgSpValueXX.

SET.01 Upload Device Attributes when the device is started

Chart:
../../_images/012d144ed50e9b74b85f41b305a4aa7c72aaf18c4cc93a1320bc945fc10cf284.svg
Message 1:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"model":"TA652FC-W-TB","mac":"24:0A:C4:2C:EB:C8",
"wifiFWVersion":"1.5.4.0","mcuFWVersion":"1.4.4.1",
"wifiRSSIMin":0,"wifiRssiMax":255,"wifiRssiStep":1,
"uploadFreqMin":2,"uploadFreqMax":2592000,"uploadFreqStep":1,
"syncTimeFreqMin":1800,"syncTimeFreqMax":2592000,"syncTimeFreqStep":1}
Message 2:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"supportCtrlModeInSchedule":"Yes",
"currentTempUnit":"°C",
"envirTempMin":0,"envirTempMax":50,"envirTempStep":0.1,
"spValueMin":5,"spValueMax":40,"spValueStep":0.5,
"internalOffsetMin":-5,"internalOffsetMax":5,"internalOffsetStep":0.5,
"uploadThresholdMin":0.2,"uploadThresholdMax":5,"uploadThresholdStep":0.1}
Message 3 - TA652FC-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"switchingDiffHeatingMin":1,"switchingDiffHeatingMax":4,"switchingDiffHeatingStep":0.5,
"switchingDiffCoolingMin":1,"switchingDiffCoolingMax":4,"switchingDiffCoolingStep":0.5,
"changeOverTempHeatingMin":27,"changeOverTempHeatingMax":40,"changeOverTempHeatingStep":0.5,
"changeOverTempCoolingMin":10,"changeOverTempCoolingMax":25,"changeOverTempCoolingStep":0.5}
Message 3 - TA652FH-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FH-W:
{"floorTempLimitedMin":20,"floorTempLimitedMax":40,"floorTempLimitedStep":0.5,
"switchingDiffHeatingMin":1,"switchingDiffHeatingMax":4,"switchingDiffHeatingStep":0.5,
"switchingDiffCoolingMin":1,"switchingDiffCoolingMax":4,"switchingDiffCoolingStep":0.5}

See model, mac, wifiFWVersion, mcuFWVersion, wifiRSSIMin, wifiRssiMax, wifiRssiStep, uploadFreqMin, uploadFreqMax, uploadFreqStep, syncTimeFreqMin, syncTimeFreqMax and syncTimeFreqStep.

See supportCtrlModeInSchedule, currentTempUnit, envirTempMin, envirTempMax, envirTempStep, spValueMin, spValueMax, spValueStep, internalOffsetMin, internalOffsetMax and internalOffsetStep, uploadThresholdMin, uploadThresholdMax and uploadThresholdStep.

See floorTempLimitedMin (only for TA652FH-W), floorTempLimitedMax (only for TA652FH-W), floorTempLimitedStep (only for TA652FH-W), switchingDiffHeatingMin, switchingDiffHeatingMax, switchingDiffHeatingStep, switchingDiffCoolingMin, switchingDiffCoolingMax, switchingDiffCoolingStep, changeOverTempHeatingMin (only for TA652FC-W), changeOverTempHeatingMax (only for TA652FC-W), changeOverTempHeatingStep (only for TA652FC-W), changeOverTempCoolingMin (only for TA652FC-W), changeOverTempCoolingMax (only for TA652FC-W) and changeOverTempCoolingStep (only for TA652FC-W).

SET.02 Settings

Chart:
../../_images/5ff3ab0e22bb8afaa02dd62d65a180b15d966a097aa4b3f2a33eb654d5936f3e.svg
Message 1a:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"tempUnit":"°C"}
Message 1b:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetTempUnit","params":"°F"}
Message 2a:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"timeFormat":"12hours"}
Message 2b:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetTimeFormat","params":"24hours"}
Message 3a:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"method":"remoteSetInternalOffset","params":-3.5}
Message 3b:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"internalOffset":-3.5}
Message 4a:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"switchingDiffHeating":3.5}
Message 4b:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetSwitchingDiffHeating","params":3.5}
Message 5a:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"switchingDiffCooling":2.5}
Message 5b:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSetSwitchingDiffCooling","params":2.5}
Message 6a - TA652FH-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FH-W:
{"systemMode":"Cool"}
Message 6b - TA652FH-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FH-W:
{"method":"remoteSetSystemMode","params":"Heat"}
Message 7a - TA652FH-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FH-W:
{"sensorMode":"Internal"}
Message 7b - TA652FH-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FH-W:
{"method":"remoteSetSensorMode","params":"External"}
Message 8a - TA652FH-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FH-W:
{"floorTempLimited":29.5}
Message 8b - TA652FH-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FH-W:
{"method":"remoteSetFloorTempLimited","params":29.5}
Message 9a - TA652FH-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FH-W:
{"adaptiveControl":false}
Message 9b - TA652FH-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FH-W:
{"method":"remoteSetAdaptiveControl","params":true}
Message 10a - TA652FC-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"forceVent":true}
Message 10b - TA652FC-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FC-W:
{"method":"remoteSetForceVent","params":false}
Message 11a - TA652FC-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"changeOverMode":"Heat"}
Message 11b - TA652FC-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FC-W:
{"method":"remoteSetChangeOverMode","params":"Auto"}
Message 12a - TA652FC-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"changeOverTempHeating":27}
Message 12b - TA652FC-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FC-W:
{"method":"remoteSetChangeOverTempHeating","params":27}
Message 13a - TA652FC-W:
// Message Type:  publish client-side attributes update to the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload - TA652FC-W:
{"changeOverTempCooling":11.5}
Message 13b - TA652FC-W:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload - TA652FC-W:
{"method":"remoteSetChangeOverTempCooling","params":10}

See tempUnit and remoteSetTempUnit, timeFormat and remoteSetTimeFormat, internalOffset and remoteSetInternalOffset, switchingDiffHeating and remoteSetSwitchingDiffHeating, switchingDiffCooling and remoteSetSwitchingDiffCooling.

See systemMode and remoteSetSystemMode, sensorMode and remoteSetSensorMode, floorTempLimited and remoteSetFloorTempLimited, adaptiveControl and remoteSetAdaptiveControl.(only for TA652FH-W)

See forceVent and remoteSetForceVent, changeOverMode and remoteSetChangeOverMode, changeOverTempHeating and remoteSetChangeOverTempHeating, changeOverTempCooling and remoteSetChangeOverTempCooling.(only for TA652FC-W)

ADM.01 Request all remote parameters when the device is started

Chart:
../../_images/b9a1753b66657b72e997de3286c1a63656c1e1c0eedb1467a4991d76363f67cc.svg
Message 1:
// Message Type:  request attribute values from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes/request/$request_id
// Payload:
{"sharedKeys":"uploadFreq,uploadThreshold,syncTimeFreq,timezone,timeNTPServer"}
Message 2:
// Message Type:  receive response (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes/response/$request_id
// Payload:
{"shared":{"uploadFreq":300,"uploadThreshold":1.5,"syncTimeFreq":86400,
"timezone":480,"timeNTPServer":"pool.ntp.org"}}

See uploadFreq, uploadThreshold, syncTimeFreq, timezone and timeNTPServer.

ADM.02 Timer Parameters & upload threshold

Chart:
../../_images/2efbfdf99b67feaebba7d64d96cfd5f11a44f954268e1d9657bf69ce52571d30.svg
Message 1:
// Message Type:  receive attribute update from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"uploadFreq":300}
Message 2:
// Message Type:  receive attribute update from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"uploadThreshold":1.5}
Message 3:
// Message Type:  receive attribute update from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"syncTimeFreq":86400}

See uploadFreq, uploadThreshold and syncTimeFreq.

ADM.03 Remote Sync Time

Chart:
../../_images/111dc1b4a584468391e419f6bd02b88318a7550305e201819bce50d0658e74a1.svg
Message 1:
// Message Type:  receive attribute update from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"timezone":480}
Message 2:
// Message Type:  receive attribute update from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/attributes
// Payload:
{"timeNTPServer":"pool.ntp.org"}
Message 3:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteSyncTimeRequest","params":{}}

See timezone, timeNTPServer and remoteSyncTimeRequest.

ADM.04 FUOTA (firmware update over the air)

The flow is to download the firmware from your HTTP server. For the flow of downloading firmware from ThingsBoard server, please refer to Firmware API.

Chart:
../../_images/ce0e4a0e4a3ca63b62f5dc528fbbb671f16f68db1a7d8e3fec639ddfce59dc7f.svg
Message 1a:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteWiFiFUOTA",
"params":"http://192.168.1.106/TA652FC-W_WiFi.ino.bin"}
Message 1b:
// Message Type:  send response (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/response/$request_id
// Payload:
{"method":"remoteWiFiFUOTA","results":{"result":"success"}}
Message 2a (NOT implemented):
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
 {"method":"remoteMcuFUOTA",
 "params":"http://192.168.1.106/TA652FC-W_MCU.bin"}
Message 2b (NOT implemented):
// Message Type:  send response (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/response/$request_id
// Payload:
{"method":"remoteMcuFUOTA","results":{"result":"success"}}

See remoteWiFiFUOTA and remoteMcuFUOTA.

ADM.05 Remote Get Memeory Usage

Chart:
../../_images/3e84b2b3afc5478df3fef64d07b9cb7890763de19bba83412527332246f6b1db.svg
Message 1a:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteGetMemoryUsage"}
Message 1b:
 // Message Type:  send response (MQTT, PUBLISH)
 // Topic:         v1/devices/me/rpc/response/$request_id
 // Payload:
{"iram":162592,"spiram":4194252}

See remoteGetMemoryUsage.

ADM.06 Remote Reboot Device

Chart:
../../_images/28b8907a5e94968864fc40dc83f2d5ff06d56667e983d4c2e9de9bab45ce1b32.svg
Message 1:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteRebootDevice","params":{}}

See remoteRebootDevice.

ADM.07 Remote Clear Wi-Fi Config

Chart:
../../_images/0805322c18bf11c059f9c913866a1738fcbdbbef000971b4a231c16514199b54.svg
Message 1:
// Message Type:  receive server-side RPC request from the server (MQTT, PUBLISH)
// Topic:         v1/devices/me/rpc/request/$request_id
// Payload:
{"method":"remoteClearWiFiConfig","params":{}}

See remoteClearWiFiConfig.

Claiming

Refer to Claiming API.

Firmware update with ThingsBoard Server

Refer to Firmware API.

Telemetry (Time-series data)

Tip

  • All of these telemetry (timeseries data) is uploaded every uploadFreq seconds.

  • If these telemetry (timeseries data) change exceeds uploadThreshold, upload immediately.

roomTemp

changeOverTemp

floorTemp

wifiRssi

Telemetry (Time-series data)

Time-series

Type

Unit

Min

Max

Step/Precision

Value

TA652
FC-W

TA652
FH-W

Memo

roomTemp

float

currentTempUnit

envirTempMin

envirTempMax

envirTempStep

Room temperature

changeOverTemp

float

currentTempUnit

envirTempMin

envirTempMax

envirTempStep

Change Over
Temperatue

floorTemp

float

currentTempUnit

envirTempMin

envirTempMax

envirTempStep

Floor Temperatue

wifiRssi (deprecated)*

int

wifiRssiMin

wifiRssiMax

wifiRssiStep

Received Signal
Strength Indicator

Tip

In order to reduce the load on ThingsBoard server, wifiRssi is no longer sent.

Shared attributes

Tip

All of these shared attributes may be obtained from your ThingsBoard server.

uploadFreq

uploadThreshold

syncTimeFreq

timezone

timeNTPServer

Shared attributes

Shared
attribute

Type

Unit

Min

Max

Step/Precision

Value

TA652
FC-W

TA652
FH-W

Memo

uploadFreq

int

second

uploadFreqMin

uploadFreqMax

uploadFreqStep

Default: 300

Time-series (Telemetry)
upload Frequency. see
Step 4.2 Add shared attributes of new device.

uploadThreshold

double

temperature

uploadThresholdMin

uploadThresholdMax

uploadThresholdStep

Default: 1.5

Time-series (Telemetry)
upload Threshold. see
Step 4.2 Add shared attributes of new device.

syncTimeFreq

int

second

syncTimeFreqMin

syncTimeFreqMax

syncTimeFreqStep

Default:
86400 (24*3600)

timer period of
sync datetime. see
Step 4.2 Add shared attributes of new device.

timezone

int

minute

Default:
480 (8*60)

offset UTC. see
Step 4.2 Add shared attributes of new device.

timeNTPServer

string

Default:
pool.ntp.org
(127 char+’0’)

SNTP server, eg:
pool.ntp.org . see
Step 4.2 Add shared attributes of new device.

Client-side attributes

Client-side attribute (static/fixed)

model

mac

wifiFWVersion

mcuFWVersion

Client-side attribute (static/fixed)

Client-side
attribute
(static/fixed)

Type

Unit

Value

TA652
FC-W

TA652
FH-W

Memo

model

string

“TA652FC-W-TB”,
“TA652FH-W-TB”

Product Model

mac

string

eg:
“34:02:86:5F:23:A9”

Mac Address

wifiFWVersion

string

eg:
“1.5.5”

WiFi Module
F/W version

mcuFWVersion

string

eg:
“1.5.4”

Main MCU
F/W version

Client-side attribute (static/fixed, metadata)

wifiRssiMin

wifiRssiMax

wifiRssiStep

uploadFreqMin

uploadFreqMax

uploadFreqStep

syncTimeFreqMin

syncTimeFreqMax

syncTimeFreqStep

Client-side attribute (static/fixed, metadata)

Client-side
attribute
(static/fixed,
metadata)

Type

Unit

Value

TA652
FC-W

TA652
FH-W

Memo

wifiRssiMin

int

0

the minimum value
of wifiRssi

wifiRssiMax

int

255

the maximum value
of wifiRssi

wifiRssiStep

int

1

the step value
of wifiRssi

uploadFreqMin

int

second

2

the minimum value
of uploadFreq

uploadFreqMax

int

second

30*24*3600 (2592000)

the maximum value
of uploadFreq

uploadFreqStep

int

second

1

the step value
of uploadFreq

syncTimeFreqMin

int

second

30*60

the minimum value
of syncTimeFreq

syncTimeFreqMax

int

second

30*24*3600

the maximum value
of syncTimeFreq

syncTimeFreqStep

int

second

1

the step value
of syncTimeFreq

Client-side attribute (semi-static)

supportCtrlModeInSchedule

currentTempUnit

tempResolution

envirTempMin

envirTempMax

envirTempStep

spValueMin

spValueMax

spValueStep

internalOffsetMin

internalOffsetMax

internalOffsetStep

uploadThresholdMin

uploadThresholdMax

uploadThresholdStep

floorTempLimitedMin

floorTempLimitedMax

floorTempLimitedStep

switchingDiffHeatingMin

switchingDiffHeatingMax

switchingDiffHeatingStep

switchingDiffCoolingMin

switchingDiffCoolingMax

switchingDiffCoolingStep

changeOverTempHeatingMin

changeOverTempHeatingMax

changeOverTempHeatingStep

changeOverTempCoolingMin

changeOverTempCoolingMax

changeOverTempCoolingStep

Client-side attribute (semi-static)

Client-side
attribute
(semi-static)

Type

Unit

Value

TA652
FC-W

TA652
FH-W

Memo

supportCtrlModeInSchedule

string

“Yes” / “No”

Control On/Off
in schedule

currentTempUnit

string

“°C” / “°F”

Centigrade,
Fahrenheit

envirTempMin

float

currentTempUnit

0.0 (°C) / 32 (°F)

the minimum value of
roomTemp
changeOverTemp,
floorTemp

envirTempMax

float

currentTempUnit

50.0 (°C) / 120 (°F)

the maximum value of
roomTemp
changeOverTemp,
floorTemp

envirTempStep

float

currentTempUnit

0.1 (°C) / 0.5 (°F)

the step value of
roomTemp
changeOverTemp,
floorTemp

spValueMin

float

currentTempUnit

5.0 (°C) / 40 (°F)

the minimum value of
spValue
prgSpValueXX

spValueMax

float

currentTempUnit

40.0 (°C) / 104 (°F)

the maximum value of
spValue
prgSpValueXX

spValueStep

float

currentTempUnit

0.5 (°C) / 1.0 (°F)

the step value of
spValue
prgSpValueXX

internalOffsetMin

float

currentTempUnit

-5.0 (°C) / -10 (°F)

the minimum value of
internalOffset

internalOffsetMax

float

currentTempUnit

5.0 (°C) / 10 (°F)

the maximum value of
internalOffset

internalOffsetStep

float

currentTempUnit

0.1 (°C) / 0.5 (°F)

the step value of
internalOffset

uploadThresholdMin

float

currentTempUnit

0.2 (°C) / 32 (°F)

the minimum value of
uploadThreshold

uploadThresholdMax

float

currentTempUnit

5.0 (°C) / 41 (°F)

the maximum value of
uploadThreshold

uploadThresholdtep

float

currentTempUnit

0.1 (°C) / 0.5 (°F)

the step value of
uploadThreshold

floorTempLimitedMin

float

currentTempUnit

20.0 (°C) / 68 (°F)

the minimum value of
floorTempLimited

floorTempLimitedMax

float

currentTempUnit

5.0 (°C) / 10 (°F)

the maximum value of
floorTempLimited

floorTempLimitedStep

float

currentTempUnit

40.0 (°C) / 104 (°F)

the step value of
floorTempLimited

switchingDiffHeatingMin

float

currentTempUnit

0.5 (°C) / 1 (°F)

the minimum value of
switchingDiffHeating

switchingDiffHeatingMax

float

currentTempUnit

4.0 (°C) / 8 (°F)

the maximum value of
switchingDiffHeating

switchingDiffHeatingStep

float

currentTempUnit

0.5 (°C) / 1 (°F)

the step value of
switchingDiffHeating

switchingDiffCoolingMin

float

currentTempUnit

0.5 (°C) / 1 (°F)

the minimum value of
switchingDiffCooling

switchingDiffCoolingMax

float

currentTempUnit

4.0 (°C) / 8 (°F)

the maximum value of
switchingDiffCooling

switchingDiffCoolingStep

float

currentTempUnit

0.5 (°C) / 1 (°F)

the step value of
switchingDiffCooling

changeOverTempHeatingMin

float

currentTempUnit

27.0 (°C) / 80 (°F)

the minimum value of
changeOverTempHeating

changeOverTempHeatingMax

float

currentTempUnit

40.0 (°C) / 104 (°F)

the maximum value of
changeOverTempHeating

changeOverTempHeatingStep

float

currentTempUnit

0.5 (°C) / 1 (°F)

the step value of
changeOverTempHeating

changeOverTempCoolingMin

float

currentTempUnit

10.0 (°C) / 50 (°F)

the minimum value of
changeOverTempCooling

changeOverTempCoolingMax

float

currentTempUnit

25.0 (°C) / 77 (°F)

the maximum value of
changeOverTempCooling

changeOverTempCoolingStep

float

currentTempUnit

0.5 (°C) / 1 (°F)

the step value of
changeOverTempCooling

Client-side attribute (application state)

fanStatus

overrideStatus

prgNextEnable

prgNextCtrlMode

prgNextDaysTime

prgNextSetpoint

Client-side attribute (application state)

Client-side
attribute
(application
state)

Type

Unit

Value

TA652
FC-W

TA652
FH-W

Memo

fanStatus

string

“Off”,
“Low”,
“Med”,
“High”

overrideStatus

bool

true,
false

see spValue

prgNextEnable

bool

true,
false

Next program
enabled

prgNextCtrlMode

string

“On”,
“Off”

Next program
control On/Off

prgNextDaysTime

float

Next program
weekday
& time

prgNextSetpoint

float

currentTempUnit

Next program
set point

Client-side attribute (change by server-side RPC, settings)

tempUnit

timeFormat

systemMode

sensorMode

internalOffset

floorTempLimited

switchingDiffHeating

switchingDiffCooling

adaptiveControl

forceVent

changeOverMode

changeOverTempHeating

changeOverTempCooling

Client-side attribute (change by server-side RPC, settings)

Client-side
attribute

Type

Unit

Min

Max

Step/
Precision

Value

TA652
FC-W

TA652
FH-W

Memo

tempUnit

string

“°C” / “°F”

Centigrade, Fahrenheit, see
remoteSetTempUnit

timeFormat

string

“12hours”,
“24hours”

see remoteSetTimeFormat

systemMode

string

“Heat”,
“Cool”

see remoteSetSystemMode

sensorMode

string

“Internal”,
“External”,
“Combined”

see remoteSetSensorMode

internalOffset

float

currentTempUnit

internalOffsetMin

internalOffsetMax

internalOffsetStep

Internal Sensor
Temperture Offset, see
remoteSetInternalOffset

floorTempLimited

float

currentTempUnit

floorTempLimitedMin

floorTempLimitedMax

floorTempLimitedStep

floor temperature limited
(combined mode), see
remoteSetFloorTempLimited

switchingDiffHeating

float

currentTempUnit

switchingDiffHeatingMin

switchingDiffHeatingMax

switchingDiffHeatingStep

Switching Differential Heating, see
remoteSetSwitchingDiffHeating

switchingDiffCooling

float

currentTempUnit

switchingDiffCoolingMin

switchingDiffCoolingMax

switchingDiffCoolingStep

Switching Differential Cooling, see
remoteSetSwitchingDiffCooling

adaptiveControl

bool

true,
false

see remoteSetAdaptiveControl

forceVent

bool

true,
false

Force Ventialation, see
remoteSetForceVent

changeOverMode

string

“Heat”,
“Cool”,
“Auto”

see remoteSetChangeOverMode

changeOverTempHeating

float

currentTempUnit

changeOverTempHeatingMin

changeOverTempHeatingMax

changeOverTempHeatingStep

Change Over Temp Heating, see
remoteSetChangeOverTempHeating

changeOverTempCooling

float

currentTempUnit

changeOverTempCoolingMin

changeOverTempCoolingMax

changeOverTempCoolingStep

Change Over Temp Cooling, see
remoteSetChangeOverTempCooling

Client-side attribute (change by server-side RPC, control & program)

controlMode

fanMode

spValue

prgMode

prgSpTimeXX

0 <= XX <= 27, prgSpTime00 ~ prgSpTime27

prgCtrlModeXX

0 <= XX <= 27, prgCtrlMode00 ~ prgCtrlMode27

prgSpValueXX

0 <= XX <= 27, prgSpValue00 ~ prgSpValue27

Client-side attribute (change by server-side RPC, control & program)

Client-side
attribute

Type

Unit

Min

Max

Step/
Precision

Value

TA652
FC-W

TA652
FH-W

Memo

controlMode

string

“Off”,
“On”

see remoteSetControlMode

fanMode

string

“Auto”,
“Low”,
“Med”,
“High”

see remoteSetFanMode

spValue

float

currentTempUnit

spValueMin

spValueMax

spValueStep

see remoteSetSpValue,
see overrideStatus

prgMode

string

“No-program”,
“One-day”,
“Sun_mon-fri_sat”,
“Every-day”

see remoteSetPrgMode

prgSpTimeXX

string

“hh:mm”,
eg: “23:50”

see remoteSetPrgSpTimeXX

prgCtrlModeXX

string

“On”,
“Off”

see remoteSetPrgCtrlModeXX

prgSpValueXX

float

currentTempUnit

spValueMin

spValueMax

spValueStep

see remoteSetPrgSpValueXX

Server-side RPC

Server-side RPC (remote change client-side attribute)

Tip

remoteSetTempUnit

remoteSetTimeFormat

remoteSetSystemMode

remoteSetSensorMode

remoteSetInternalOffset

remoteSetFloorTempLimited

remoteSetSwitchingDiffHeating

remoteSetSwitchingDiffCooling

remoteSetAdaptiveControl

remoteSetForceVent

remoteSetChangeOverMode

remoteSetChangeOverTempHeating

remoteSetChangeOverTempCooling

remoteSetControlMode

remoteSetFanMode

remoteSetSpValue

remoteSetPrgMode

remoteSetPrgSpTimeXX

0 <= XX <= 27, remoteSetPrgSpTime00 ~ remoteSetPrgSpTime27

remoteSetPrgCtrlModeXX

0 <= XX <= 27, remoteSetPrgCtrlMode00 ~ remoteSetPrgCtrlMode27

remoteSetPrgSpValueXX

0 <= XX <= 27, remoteSetPrgSpValue00 ~ remoteSetPrgSpValue27

Server-side RPC (remote change client-side attribute)

Server-side RPC
(remote change
client-side attribute)

params
value
type

params
value

TA652
FC-W

TA652
FH-W

Memo

remoteSetTempUnit

string

“°C” / “°F”

tempUnit

remoteSetTimeFormat

string

“12hours”
“24hours”

timeFormat

remoteSetSystemMode

string

“Heat”
“Cool”

systemMode

remoteSetSensorMode

string

“Internal”
“External”
“Combined”

sensorMode

remoteSetInternalOffset

float

internalOffset

remoteSetFloorTempLimited

float

floorTempLimited

remoteSetSwitchingDiffHeating

float

switchingDiffHeating

remoteSetSwitchingDiffCooling

float

switchingDiffCooling

remoteSetAdaptiveControl

bool

true
false

adaptiveControl

remoteSetForceVent

bool

true
false

forceVent

remoteSetChangeOverMode

string

“Heat”
“Cool”
“Auto”

changeOverMode

remoteSetChangeOverTempHeating

float

changeOverTempHeating

remoteSetChangeOverTempCooling

float

changeOverTempCooling

remoteSetControlMode

string

“Off”
“On”

controlMode

remoteSetFanMode

string

“Auto”
“Low”
“Med”
“High”

fanMode

remoteSetSpValue

float

spValue

remoteSetPrgMode

string

“No-program”
“One-day”
“Sun_mon-fri_sat”
“Every-day”

prgMode

remoteSetPrgSpTimeXX

string

“hh:mm”,
eg: “23:50”

remoteSetPrgSpTime00 ~
remoteSetPrgSpTime27,
see prgSpTimeXX

remoteSetPrgCtrlModeXX

string

“On”
“Off”

remoteSetPrgCtrlMode00 ~
remoteSetPrgCtrlMode27,
see prgCtrlModeXX

remoteSetPrgSpValueXX

float

remoteSetPrgSpValue00 ~
remoteSetPrgSpValue27,
see prgSpValueXX

Server-side RPC (remote control)

remoteSetOverrideStatus

remoteSyncTimeRequest

remoteClearWiFiConfig

remoteRebootDevice

remoteWiFiFUOTA

remoteMcuFUOTA

remoteGetMemoryUsage

Server-side RPC (remote control)

Server-side RPC

one-way |
two-way

Request

Response

TA652
FC-W

TA652
FH-W

Memo

remoteSetOverrideStatus

one-way

{“method”:”remoteSetOverrideStatus”,
“params”:{}}

Assign a prgSpValueXX to
spValue, 0 <= XX <= 27

remoteSyncTimeRequest

one-way

{“method”:”remoteSyncTimeRequest”,
“params”:{}}

remoteClearWiFiConfig

one-way

{“method”:”remoteClearWiFiConfig”,
“params”:{}}

remoteRebootDevice

one-way

{“method”:”remoteRebootDevice”,
“params”:{}}

remoteWiFiFUOTA

two-way

{“method”:”remoteWiFiFUOTA”,
“params”:”http://192.168.1.2/x.img”}

{“method”:”remoteWiFiFUOTA”,
“results”:{“result”:”success”}}, or
{“method”:”remoteWiFiFUOTA”,
“results”:{“result”:”failure”, “description”:”xxx”}}

remoteMcuFUOTA
(NOT implemented)

two-way

{“method”:”remoteMcuFUOTA”,
“params”:”http://192.168.1.1/y.img”}

{“method”:”remoteMcuFUOTA”,
“results”:{“result”:”success”}}, or
{“method”:”remoteMcuFUOTA”,
“results”:{“result”:”failure”, “description”:”xxx”}}

remoteGetMemoryUsage

two-way

{“method”:”remoteGetMemoryUsage”,
“params”:{}}

{“method”:”remoteGetMemoryUsage”,
“results”:{“iram”:123123, “spiram”:2345678}}