Skip to main content

Thermostat

1.Thermostat.getState

Get Current State

BDDP

ParamValueDesc
methodThermostat.getStateGet Current State
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;

BUDP

ParamValueDesc
data.state.tempMode<String,Necessary>The current temperature unit of the device,["c","f"],'c' is Celsius and 'f' is Fahrenheit;
data.state.temperature<Float,Necessary>Current temperature of the device,Unit is Celsius.
data.state.humidity<Float,Necessary>Current humidity of the device,Unit is %RH.
data.state.lowTemp<Float,Necessary>Current lower temperature of the device,Unit is Celsius.
data.state.highTemp<Float,Necessary>Current upper temperature of the device,Unit is Celsius.
data.state.mode<String,Necessary>Current mode of the device,['cool','heat','auto','off'].
data.state.fan<String,Necessary>Current fan mode of the device,['on','auto'].
data.state.sche<String,Necessary>Current schedule mode of the device,['run','hold'].
data.state.running<String,Necessary>Current running state of the device,['cool','heat','idle'].
data.state.sensor1<Float,Optional>Current temperature of Sensor1 on the device.
data.state.sensor2<Float,Optional>Current temperature of Sensor2 on the device.
data.state.other.auxiliaryHeat<Boolean,Optional>Is auxiliary heater running.
data.state.other.secondStage<Boolean,Optional>Is second stage running.
data.state.other.drRunning<Boolean,Optional>Is DR Events running.
data.properties.minRuntime<Object,Necessary>Minimum running time of cooling and heating.
data.properties.coolLimit<Object,Necessary>Minimum cooling temperature in celsius.
data.properties.heatLimit<Object,Necessary>Maximum heating temperature in celsius.
data.properties.mute<Boolean,Optional>Is mute.
data.properties.menuLock<Boolean,Optional>Is lock menu.
data.properties.auxStandby<Integer,Optional>Duration(in minutes) before starting AUX heating.
data.properties.auxMaxSpan<Integer,Optional>Maximum working time(in hours) of AUX heating.
data.properties.auxThreshold<Float,Optional>Minimum temperature difference for starting AUX heating.
data.properties.stage2Standby<Integer,Optional>Duration(in minutes) before starting second stage.
data.properties.stage2MaxSpan<Integer,Optional>Maximum working time(in hours) of second stage.
data.properties.stage2Threshold<Float,Optional>Minimum temperature difference for starting second stage.
data.properties.master<String,Optional>Temperature source for running.["local","sensor1","sensor2"]
data.eco<Object,Necessary>Current ECO setting of the device.
data.version<String,Necessary>Firmware Version of device
data.tz<Integer,Necessary>Timezone of device. -12 ~ 12

2.Thermostat.setState

Set Thermostat's State

BDDP

ParamValueDesc
methodThermostat.setStateSet Thermostat's State
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.lowTemp<Float,Optional>Current lower temperature of the device,Unit is Celsius.
params.highTemp<Float,Optional>Current upper temperature of the device,Unit is Celsius.
params.mode<String,Optional>Current mode of the device,['cool','heat','auto','off'].
params.fan<String,Optional>Current fan mode of the device,['on','auto'].
params.sche<String,Optional>Current schedule mode of the device,['run','hold'].

BUDP

ParamValueDesc
data.state<String,Necessary>State of device,["closed","open"];

3.Thermostat.getSchedules

Get Schedule List

BDDP

ParamValueDesc
methodThermostat.getSchedulesGet Schedule List.
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;

BUDP

ParamValueDesc
data.sches<Array,Necessary>Schedules for weekdays (from monday to saturday);
data.sches[weekday]<Array,Necessary>4 points for one day, times of these points must be continuous.
data.sches[weekday][index].time<String,Necessary>Time of this point, HH:MM formatted ;
data.sches[weekday][index].lowTemp<Float,Necessary>Lower temperature of this point
data.sches[weekday][index].highTemp<Float,Necessary>Upper temperature of this point

4.Thermostat.setSchedules

Set Schedule

BDDP

ParamValueDesc
methodThermostat.setSchedulesSet Schedule.
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.sches<Array,Necessary>Schedules for weekdays (from monday to saturday);
params.sches[weekday]<Array,Necessary>4 points for one day, times of these points must be continuous. null will be ignore
params.sches[weekday][index].time<String,Necessary>Time of this point, HH:MM formatted ;
params.sches[weekday][index].lowTemp<Float,Necessary>Lower temperature of this point
params.sches[weekday][index].highTemp<Float,Necessary>Upper temperature of this point

index from "0" to "5"

BUDP

Same as Thermostat.getSchedules

5.Thermostat.setTimeZone

Set Timezone of this device

BDDP

ParamValueDesc
methodThermostat.setTimeZoneSet Timezone of this device, It's necessary if you enable schedules
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.tz<Integer,Necessary>The Timezone (-12 ~ +12) you want to set

BUDP*

ParamValueDesc
data.tz<Integer,Necessary>Timezone of device. -12 ~ 12

6.Thermostat.setECO

ECO settings of thermostat

BDDP

ParamValueDesc
methodThermostat.setECOSet ECO of this device
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.mode<String,Optional>State of ECO,["on","off"]
params.lowTemp<Float,Optional>Lower adjustment temperature of ECO mode,0~5 degrees Celsius
params.highTemp<Float,Optional>Upper adjustment temperature of ECO mode,0~5 degrees Celsius

BUDP

ParamValueDesc
data.eco<Object,Necessary>Current ECO setting of the device.

7.Thermostat.setProperties

Set running properties of thermostat

BDDP

ParamValueDesc
methodThermostat.setPropertiesSet properties of this device
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.minRuntime<Integer,Optional>Minimum running time of cooling and heating
params.coolLimit<Float,Optional>Minimum cooling temperature in celsius. Cooling temperature will be override by this when less then this value
params.heatLimit<Float,Optional>Maximum heating temperature in celsius. Heating temperature will be override by this when greater then this value
params.mute<Boolean,Optional>Is mute.
params.menuLock<Boolean,Optional>Is lock menu.
params.auxStandby<Integer,Optional>Duration(in minutes) before starting AUX heating.
params.auxMaxSpan<Integer,Optional>Maximum working time(in hours) of AUX heating.
params.auxThreshold<Float,Optional>Minimum temperature difference for starting AUX heating.
params.stage2Standby<Integer,Optional>Duration(in minutes) before starting second stage.
params.stage2MaxSpan<Integer,Optional>Maximum working time(in hours) of second stage.
params.stage2Threshold<Float,Optional>Minimum temperature difference for starting second stage.
params.master<String,Optional>Temperature source for running.["local","sensor1","sensor2"]

BUDP

ParamValueDesc
data.minRuntime<Object,Necessary>Minimum running time of cooling and heating.
data.coolLimit<Object,Necessary>Minimum cooling temperature in celsius.
data.heatLimit<Object,Necessary>Maximum heating temperature in celsius.

8.Thermostat.getVersion

Get firmware info

BDDP

ParamValueDesc
methodThermostat.getVersionGet firmware info;
targetDevice<String,Necessary>DeviceId of this device;
token<String,Necessary>Net Token of this device;

BUDP

ParamValueDesc
data.version<String,Necessary>Current Version;
data.newVersion.versionId<String,Optional>Id of the newest version;
data.newVersion.versionCode<String,Optional>Code of the newest version;
data.newVersion.fileSize<String,Optional>File Size of the newest version;

9.Thermostat.startUpgrade

Start Upgrade

BDDP

ParamValueDesc
methodThermostat.startUpgradeStart Upgrade
targetDevice<String,Necessary>DeviceId of this device;
token<String,Necessary>Net Token of this device;
params.versionId<String,Necessary>Version Id you want to upgrade;

BUDP

ParamValueDesc
data.isStarted<Boolean,Necessary>Is upgrading started;

10.Callbacks

You can receive it with Http Callback API or MQTT report topic

BUDP

<Same as 1.Thermostat.getState>

11.Thermostat.getActivityLogs

Used to retrieve device activity records through search parameters or retrieval key.

caution

"DEVICE.HISTORICAL_DATA.READ" permission is required to access this interface

BDDP

ParamValueDesc
methodThermostat.getActivityLogsGet device's activity records
targetDevice<String,Necessary>DeviceId of the device you use;
token<String,Necessary>Net token of the device you use; You can get it here
params.search<Object,Optional>Retrieve records through search parameters.
params.search.startDate<String,Necessary>Specify the start date of the search scope, with "YYYY-MM-DD" formatted
params.search.endDate<String,Necessary>Specify the end date of the search scope, with "YYYY-MM-DD" formatted
params.retrievalKey<string,Optional>Retrieve records through retrieval key.

BUDP

ParamValueDesc
data.logs<Array,Necessary>Records of device activity logs
data.logs[*].id<Array,Necessary>Id of record
data.logs[*].time<Date,Necessary>Time of record
data.logs[*].data<Object,Necessary>Data of record
data.retrievalKeys<Object,Optional>When search results are not fully returned in this data packet, retrieval keys will be provided for retrieving other results.
data.retrievalKeys.next<Object,Necessary>It indicates that there is more data available and can be retrieved through this key.

12.Thermostat.setCorrection

Set temperature and humidity correction of local sensor

BDDP

ParamValueDesc
methodThermostat.setCorrectionSet properties of this device
targetDevice<String,Necessary>DeviceId of the Thermostat you use;
token<String,Necessary>Net token of the Thermostat you use;
params.temperature<Float,Optional>Valve of temperature correction, +/-5.0(โ„ƒ).
params.humidity<Integer,Optional>Valve of humidity correction, +/-10(%).

BUDP

ParamValueDesc
data.temperature<Float,Optional>Valve of temperature correction, +/-5.0(โ„ƒ).
data.humidity<Integer,Optional>Valve of humidity correction, +/-10(%).