Uplink Data
This chapter describes the uplink packets reported by the device.
Basic Information Packet
After joining the network, the device reports a packet containing the basic device information, totaling four reports.
| Item | Byte | Command | Description |
|---|---|---|---|
| Device Status | 1+1 | c8 | 00: Off, 01: On |
| TSL Version | 1+2 | df | Example: 01 02 = V1.2 |
| Device Request | 1 | ee | Send after reset |
| Device Version | 1+8 | da | Hardware version (2B) + Software version (2B) + 00000000 |
| OEM ID | 1+2 | d9 | 4 digits |
| Device Type | 2+1 | cf00 | 00: Class A, 01: Class B, 02: Class C, 03: Class C to B |
| Serial Number | 1+8 | db | 16 digits |
- Example:
- Json output after using Milesight default decoder:
df0100 ee db6407068ec3790001 da0102010100000000 d90000 c801 cf0002 Command Value df TSL Version: 01 00 => V1.0 ee Reset db SN: 6407068ec3790001 da Hardware Version: 0102 => V1.2 Software Version: 0101=> V1.1
d9 OEM ID: 0000 c8 01: Device is on cf00 02: Class C { "all_configurations_request_by_device": 1, "device_status": 1, "lorawan_configuration_settings": { "mode": 2 }, "oem_id": "0000", "product_sn": "6407068ec3790001", "tsl_version": "v1.0", "version": { "firmware_version": "v1.1", "hardware_version": "v1.2" } }
Periodic Data Packet
The device reports a data packet at a configured reporting interval.
| Item | Byte | Command | Description |
|---|---|---|---|
| Data Source | 1+1 | 05 | 03=WT401 |
| Temperature | 1+2 | 06 | INT16/100, Unit: °C |
| Temperature Exception | 1+1 | 03 | 03=No data |
| Humidity | 1+2 | 08 | INT16/10, Unit: %RH |
| Humidity Exception | 1+1 | 07 | 03=No data |
| Temperature Control Mode and Status | 1+1 | 0c | Bit 7-4: 0000=Heat,
0010=Cool,
0011=Auto Bit 3-0: 0000=Standby, 0001=Stage-1 Heat, 0010=Stage-2 Heat, 0111=Stage-1 Cool |
| Fan Mode and Status | 1+1 | 0d |
Bit 7-4: Fan Mode, 0000=Auto, 0001=Circulate, 0010=On, 0011=Low, 0100=Medium, 0101=High |
| System Status | 1+1 | 0f | Bit 2-1: 00=Vacant, 01=Occupied, 10=Night Occupied Bit 0: 0=System Off, 1=System On |
| Heating Target Temperature | 1+2 | 10 | INT16/100, Unit: °C |
| Cooling Target Temperature | 1+2 | 12 | INT16/100, Unit: °C |
- Example:
- Json output after using Milesight default decoder:
0503 069b0a 085f02 0c30 0d00 0f03 10a406 12f00a Command Value 05 Data source: 03=WT401 06 Temperature: 9b 0a=>0a 9b =2715/100=27.15°C 08 Humidity: 5f 02 => 02 5f = 607/10=60.7%RH 0c 30=>0011 0000 Temperature Control Mode: 0011=Auto
Temperature Control Status: 0000=Standby
0d 00=> 0000 00000 Fan Mode: 0000=Auto
Fan Status: 0000=Off0f 03=0011, 1=System On, 01=Occupied 10 Heating Target Temperature: a4 06=>06 a4=1700/100=17°C 12 Cooling Target Temperature: f0 0a => 0a f0=2800/100=28°C { "celsius_target_temperature1": 17, "celsius_target_temperature2": 28, "celsius_temperature": 27.15, "fahrenheit_target_temperature1": 62.6, "fahrenheit_target_temperature2": 82.4, "fahrenheit_temperature": 80.87, "fan_control_info": { "mode": 0, "status": 0 }, "humidity": 60.7, "system_status": { "occupy_status": 1, "reserved": 0, "system_switch": 1 }, "temperature_control_info": { "mode": 3, "status": 0 }, "temperature_humi_data_source": 3 }
Alarm Packet
| Item | Byte | Command | Description |
|---|---|---|---|
| Temperature Alarm | 1+3 | 02 |
Byte 1: Alarm type, 10= Freeze Protection Alarm Release, 11=Freeze Protection Alarm Byte 2-3: Temperature, INT16/100, Unit: °C |
| 02116400 | |
|---|---|
| Command | Value |
| 02 | 11=Freeze Protection
Alarm 64 00 => 00 64=100/100=1°C |
{
"anti_freeze_protection_status": 1,
"celsius_temperature": 1,
"fahrenheit_temperature": 33.8,
"temperature_alarm": {
"anti_freeze_protection_trigger": {
"celsius_temperature": 1,
"fahrenheit_temperature": 33.8
},
"type": 17
}
}Status Change Packet
The device reports a packet when a parameter or status is changed.
- Configuration Change Report
A configuration change report is sent when system status, target temperature, temperature control mode or fan mode changes. The change report format is the same as the periodic data report.
- Relay status change reportWhen Relay Change Report is enabled, the device will send this report whenever the relay status changes.
Byte Command Description 1+1 01 For per bit 0=disconnected, 1=connected Bit 0: Y1
Bit 1: W1
Bit 2: O/B
Bit 3: GL
Bit 4: GM
Bit 5: GHExample:0103 Command Value 01 03 => 0000 0011 =Y1&W1 connected, others disconnected - Bluetooth Status Packet.A Bluetooth status packet will be reported once after the device joins the network or when Bluetooth pairing status changes.Example:
Byte Command Description 1+10 ba Byte 1: 00 Byte 2: 00=Not paired, 01=Paired, 02=Disconnected
Byte 3-10: Paired device EUI
Json output after using Milesight default decoder:ba000224e124826068b876 Command Value ba 02=Disconnected Paired device EUI: 24e124826068b876
{ "ble_new_event": [ { "index": 0, "mac": "24e124826068b876", "status": 2 } ] }
Thermostat Data Packet
- Battery Level: transfer when the thermostat turns on or the battery level changes;
- Battery Alarm: transfer when a low battery alarm is triggered or cleared;
- Button Event Report: transfer when the corresponding button is pressed;
- Device Status: transfer when the thermostat turns off.
| Byte | Command | Description |
|---|---|---|
| 1+3 | 30 | Byte 1:
00 Byte 2: Data type, 00=Battery Level, 0f=Battery Alarm, 0d=Button Event Report, c8=Device Status
|
| 30000062 | |
|---|---|
| Command | Value |
| 30 | 00=Battery Level, 62=>98% |
{
"data_transparent": {
"res_cmd": 0,
"res_cmd1": {
"battery": 98,
"command": 0
}
}
}