Tip
- This section applies to both
TA652FC-W
andTA652FH-W
. - Unless otherwise specified, all specifications applicable to TA652FC-W are also applicable to TA652FH-W.
TA652FC-W & TA652FH-W MQTT API
is an implementation of /thingsboard/thingsboard-mqtt-device-api
(MQTT is a lightweight publish/subscribe messaging protocol).
node "nThingsBoard Servern" as TBSrv { }
node "nDevicen" as TBDev { }
node "nServer-side Applicationn" as TBApp { }
TBSrv <-down-> TBDev : <color:#FF0000> TA652FC-W / TA652FH-W MQTT API </color> TBSrv <-down-> TBApp : REST API, Websocket API
- MQTT protocol:
- Support MQTT over TCP
- NOT support MQTT over SSL with mbedtls, MQTT over Websocket, MQTT over Websocket Secure
- Base on
/thingsboard/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
- 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:
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.
- Chart:
caption Time-series Data Upload
participant "TA652FC-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
[-> TBDev: Timer(telemetry, period: uploadFreq) TBDev -> TBSrv: Telemetry upload (MQTT, PUBLISH) nTopic: v1/devices/me/telemetry nPayload: {"roomTemp":26.2,"changeOverTemp":26.3}
[-> TBDev: (telemetry, If temprature change n exceeds uploadThreshold, n upload immediately) TBDev -> TBSrv: Telemetry upload (MQTT, PUBLISH) nTopic: v1/devices/me/telemetry nPayload: {"roomTemp":26.2,"changeOverTemp":26.3}
caption Time-series Data Upload
participant "TA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
[-> TBDev: Timer(telemetry, period: uploadFreq) TBDev -> TBSrv: Telemetry upload (MQTT, PUBLISH) nTopic: v1/devices/me/telemetry nPayload: {"roomTemp":26.2,"floorTemp":26.3}
[-> TBDev: (telemetry, If temprature change n exceeds uploadThreshold, n upload immediately) TBDev -> TBSrv: Telemetry upload (MQTT, PUBLISH) nTopic: v1/devices/me/telemetry nPayload: {"roomTemp":26.2,"floorTemp":26.3}
- 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.
- Chart:
caption Control Mode
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local operate == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"controlMode":"On"}
== remote operate == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetControlMode","params":"Off"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"controlMode":"Off"}
- 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.
- Chart:
caption Fan Mode & Fan Status
participant "TA652FC-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local operate == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"fanMode":"Auto"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"fanStatus":"Low"}
== remote operate == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetFanMode","params":"Med"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"fanMode":"Med"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"fanStatus":"Med"}
- 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).
- Chart:
caption Setpoint & Override Status
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local adjust setpoint == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"spValue":27.5} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"overrideStatus":false}
== remote adjust setpoint == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetSpValue","params":34} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"spValue":34} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"overrideStatus":true}
== remote adjust to progrm setpoint == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetOverrideStatus","params":{}} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"overrideStatus":false} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"spValue":25.5}
- 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 .
- Chart:
caption Program Mode & Program Status
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local operate == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgMode":"Every-day"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextEnable":true} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextSetpoint":24.5} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextDaysTime":"Wed, 06:00 PM"}
== remote operate == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetPrgMode","params":"Sun_mon-fri_sat"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgMode":"Sun_mon-fri_sat"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextEnable":true} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextSetpoint":25.5} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgNextDaysTime":"Mon, 10:00 PM"}
- 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: {"prgNextSetpoint":24.5}
- Message 4:
// Message Type: publish client-side attributes update to the server (MQTT, PUBLISH) // Topic: v1/devices/me/attributes // Payload: {"prgNextDaysTime":"Wed, 06:00 PM"}
- Message 5:
// 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, prgNextSetpoint, prgNextDaysTime and remoteSetPrgMode.
- Chart:
caption Program Setpoint & Time
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local operate == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgSpTime00":"10:00"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgSpValue00":27.5}
== remote operate == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetPrgSpTime27","params":"23:00"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgSpTime27":"23:00"} TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetPrgSpValue14","params":21.5} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"prgSpValue14":21.5}
note over TBDev, TBSrv prgSpTime00 ~ prgSpTime27 prgSpValue00 ~ prgSpValue27 remoteSetPrgSpTime00 ~ remoteSetPrgSpTime27 remoteSetPrgSpValue00 ~ remoteSetPrgSpValue27 end note
- 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: {"prgSpValue00":27.5}
- Message 3:
// 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 4:
// 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, prgSpValueXX, remoteSetPrgSpTimeXX and remoteSetPrgSpValueXX.
- Chart:
caption Upload Device Attributes when the device is started
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
[-> TBDev : power on
== Upload Device Fixed attributes == TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"model":"TA652FC-W-TB","mac":"24:0A:C4:2C:EB:C8",n"wifiFWVersion":"1.5.4.0","mcuFWVersion":"1.4.4.1",n"wifiRSSIMin":0,"wifiRssiMax":255,"wifiRssiResolution":1,n"uploadFreqMin":2,"uploadFreqMax":2592000,"uploadFreqStep":1,n"syncTimeFreqMin":1800,"syncTimeFreqMax":2592000,"syncTimeFreqStep":1}
note over TBDev, TBSrv send these attributes only once when the device is started end note
== Upload temperature unit related attributes == TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"currentTempUnit":"°C",n"envirTempMin":0,"envirTempMax":50,"envirTempStep":0.1,n"spValueMin":5,"spValueMax":40,"spValueStep":0.5,n"internalOffsetMin":-5,"internalOffsetMax":5,"internalOffsetStep":0.5,n"uploadThresholdMin":0.2,"uploadThresholdMax":5,"uploadThresholdStep":0.1} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"floorTempLimitedMin":20,"floorTempLimitedMax":40,"floorTempLimitedStep":0.5,n"switchingDiffHeatingMin":1,"switchingDiffHeatingMax":4,"switchingDiffHeatingStep":0.5,n"switchingDiffCoolingMin":1,"switchingDiffCoolingMax":4,"switchingDiffCoolingStep":0.5,n"changeOverTempHeatingMin":27,"changeOverTempHeatingMax":40,"changeOverTempHeatingStep":0.5,n"changeOverTempCoolingMin":10,"changeOverTempCoolingMax":25,"changeOverTempCoolingStep":0.5}
note over TBDev, TBSrv send these attributes only once when the device is started end note
- 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: {"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 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).
- Chart:
caption Settings
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== local operate temperature unit == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes n{"tempUnit":"°C}
note over TBDev take effect after it reboots end note
== remote operate temperature unit == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetTempUnit","params":"°F"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"tempUnit":"°F"}
note over TBDev take effect after it reboots end note
== local operate time format == [-> TBDev TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes n{"timeFormat":"12hours"}
== remote operate time format == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteSetTimeFormat","params":"24hours"} TBDev -> TBSrv: publish client-side attributes update to the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"timeFormat":"24hours"}
note over TBDev, TBSrv internalOffset, remoteSetInternalOffset switchingDiffHeating, remoteSetSwitchingDiffHeating switchingDiffCooling, remoteSetSwitchingDiffCooling
systemMode, remoteSetSystemMode (only for TA652FH-W) sensorMode, remoteSetSensorMode (only for TA652FH-W) floorTempLimited, remoteSetFloorTempLimited (only for TA652FH-W) adaptiveControl, remoteSetAdaptiveControl (only for TA652FH-W)
forceVent, remoteSetForceVent (only for TA652FC-W) changeOverMode, remoteSetChangeOverMode (only for TA652FC-W) changeOverTempHeating, remoteSetChangeOverTempHeating (only for TA652FC-W) changeOverTempCooling, remoteSetChangeOverTempCooling (only for TA652FC-W) end note
- 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)
- Chart:
caption Request all remote parameters when the device is started
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
TBDev -> TBSrv: request attribute values from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes/request/$request_id nPayload: {"sharedKeys":"uploadFreq,uploadThreshold,nsyncTimeFreq,timezone,timeNTPServer"}
TBDev <-- TBSrv: receive response (MQTT, PUBLISH) nTopic: v1/devices/me/attributes/response/$request_id nPayload: {"shared":{"uploadFreq":300,"uploadThreshold":1.5,n"syncTimeFreq":86400,timezone":480,n"timeNTPServer":"pool.ntp.org"}}
- 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.
- Chart:
caption Timer Parameters
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
== Modify Timer Parameters == TBDev <- TBSrv: receive attribute update from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"uploadFreq":300} TBDev <- TBSrv: receive attribute update from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"uploadThreshold":1.5} TBDev <- TBSrv: receive attribute update from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"syncTimeFreq":86400}
- 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.
- Chart:
caption Remote Sync Time
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20 participant "SNTP Server" as SNTPSrv order 30
== Set Device Timezone, SNTP Server == TBDev <- TBSrv: receive attribute update from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"timezone":480} TBDev <- TBSrv: receive attribute update from the server (MQTT, PUBLISH) nTopic: v1/devices/me/attributes nPayload: {"timeNTPServer":"pool.ntp.org"} TBDev --> SNTPSrv: (get datetime)
== Remote Sync Time == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id n{"method":"remoteSyncTimeRequest","params":{}} TBDev -> TBDev: (refresh datetime)
- 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.
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:
caption FUOTA (firmware update over the air)
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20 participant "HTTP Server" as HTTPSrv order 30
== Wi-Fi FUOTA == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteWiFiFUOTA","params":n"http://192.168.1.106/TA652FC-W_WiFi.ino.bin"} TBDev --> TBSrv: send response (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/response/$request_id nPayload: {"method":"remoteWiFiFUOTA","results":{"result":"success"}} TBDev --> HTTPSrv: (get Wi-Fi module firmware) TBDev -> TBDev: reboot
== MCU FUOTA (NOT implemented) == TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteMcuFUOTA","params":n"http://192.168.1.106/TA652FC-W-MCU.bin"} TBDev --> TBSrv: send response (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/response/$request_id nPayload: {"method":"remoteMcuFUOTA","results":{"result":"success"}} TBDev --> HTTPSrv: (get MCU firmware) TBDev -> TBDev: reboot
- 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.
- Chart:
caption Remote Get Memeory Usage
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteGetMemoryUsage"} TBDev --> TBSrv: send response (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/response/$request_id nPayload: {"iram":162592,"spiram":4194252}
- 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.
- Chart:
caption Remote Reboot Device
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteRebootDevice","params":{}} TBDev -> TBDev: (reboot)
- 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.
- Chart:
caption Remote Clear Wi-Fi Config
participant "TA652FC-WnTA652FH-W" as TBDev order 10 participant "ThingsBoard Server" as TBSrv order 20
TBDev <- TBSrv: receive server-side RPC request from the server (MQTT, PUBLISH) nTopic: v1/devices/me/rpc/request/$request_id nPayload: {"method":"remoteClearWiFiConfig","params":{}} TBDev -> TBDev: (clear Wi-Fi config) TBDev -> TBDev: (reboot)
- 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":{}}
Refer to Claiming_API
.
Refer to Firmware_API
.
Tip
* All of these telemetry (timeseries data) is uploaded every uploadFreq seconds. * If these telemetry (timeseries data) change exceeds uploadThreshold, upload immediately.
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.
Tip
All of these shared attributes may be obtained from your ThingsBoard server.
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 add-shared-attributes-of-ta652fc-w-cloudhost . |
uploadThreshold | double | temperature | uploadThresholdMin | uploadThresholdMax | uploadThresholdStep | Default: 1.5 | ● | ● | Time-series (Telemetry) upload Threshold. see add-shared-attributes-of-ta652fc-w-cloudhost . |
syncTimeFreq | int | second | syncTimeFreqMin | syncTimeFreqMax | syncTimeFreqStep | Default: 86400 (24*3600) | ● | ● | timer period of sync datetime. see add-shared-attributes-of-ta652fc-w-cloudhost . |
timezone | int | minute | Default: 480 (8*60) | ● | ● | offset UTC. see add-shared-attributes-of-ta652fc-w-cloudhost . |
|||
timeNTPServer | string | Default: pool.ntp.org (127 char+'0') | ● | ● | SNTP server, eg: pool.ntp.org . see add-shared-attributes-of-ta652fc-w-cloudhost . |
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) | 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) | Type | Unit | Value | TA652 FC-W | TA652 FH-W | Memo |
---|---|---|---|---|---|---|
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) | 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 | |
prgNextDaysTime | float | ● | ● | Next program weekday & time | ||
prgNextSetpoint | float | currentTempUnit | ● | ● | Next program set point |
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", "External", "Combined" | ● | ● | 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 |
0 <= XX <= 27, prgSpTime00 ~ prgSpTime27
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 | ||||
prgSpValueXX | float | currentTempUnit | spValueMin | spValueMax | spValueStep | ● | ● | see remoteSetPrgSpValueXX |
Tip
* All of these server-side RPC are one-way, no response * Request format of these server-side RPC: {"method":"remoteSetTempUnit", "params":"°F"} * params value see Client-side attribute (change by server-side RPC, settings) & Client-side attribute (change by server-side RPC, control & program)
0 <= XX <= 27, remoteSetPrgSpTime00 ~ remoteSetPrgSpTime27
Server-side RPC (remote change client-side attribute)0 <= XX <= 27, remoteSetPrgSpValue00 ~ remoteSetPrgSpValue27
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 |
remoteSetPrgSpValueXX | float | ● | ● | remoteSetPrgSpValue00 ~ remoteSetPrgSpValue27, see prgSpValueXX |
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}} | ● | ● |