Get device data
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number" : "{Serial Number}"
}
Response:
Copy {
"provider": {
"joinRequestCount": 18,
"CO2": 617,
"activeFrom": "2023-05-30 14:12:21",
"application": "mclimate-dev",
"batteryVoltage": 3.31,
"deviceVersions": {
"hardware": 26,
"software": 10
},
"frameCount": 32,
"keepAliveTime": 2,
"lastActive": "2023-09-08 11:21:53",
"lux": 307,
"network_provider": "the_things_industries",
"pir": false,
"powerSourceStatus": 0,
"relativeHumidity": 52.73,
"rssi": -67,
"sensorTemperature": 23.9,
"spf": "7",
"uplinkType": "00",
"currentTemperatureVisibility": 1,
"measurementBlindTime": 15,
"displayRefreshPeriod": 12,
"imagesVisibility": {
"chart": 1,
"digital_value": 1,
"emoji": 0
},
"joinRetryPeriod": 10,
"watchDogParams": {
"wdpC": 37,
"wdpUc": 24
},
"mac": "70B3D52DD9000007",
"online": true,
"scheduleInfo": {
"inSchedule": false,
"mainTarget": null,
"inPriority": false
}
},
"_links": {
"self": {
"href": "/v1/provider/fetch"
}
}
}
Set KeepAlive Time
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_keepalive_time",
"time" : 3 // in minutes
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "60366d3cbc2b0345b984da00",
"commandName": "SetKeepAlive",
"commandParams": {
"time": 3
},
"deviceId": "70B************4",
"createdAt": "2021-02-24T15:14:04.444Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get KeepAlive Time
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_keepalive_time"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6036b85b25304f575e082397",
"commandName": "GetKeepAliveTime",
"commandParams": [],
"deviceId": "70B************4",
"createdAt": "2021-02-24T20:34:35.934Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Pending Commands
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{CO2 Serial Number}”,
"command" : "get_pending_commands"
}
Response:
Copy {
"provider": [
{
"_id": "652d43a7c4ff3228464dfb08",
"deviceId": "70B**********8B",
"commandName": "GetKeepAliveTime",
"commandParams": [],
"status": "queued",
"createdAt": "2023-10-16T14:07:35.872Z",
"__v": 0
}
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Device Version
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number" : "{Serial Number}",
"command" : "get_device_version"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "603672f5bc2b0345b984da43",
"commandName": "GetDeviceVersion",
"commandParams": [],
"deviceId": "70B************4",
"createdAt": "2021-02-24T15:38:29.537Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Join Retry Period
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_join_retry_period",
"period" : 2, //minutes, cannot be 0
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "603675a7bc2b0345b984da63",
"commandName": "SetJoinRetryPeriod",
"commandParams": {
"period": 2
},
"deviceId": "70B************4",
"createdAt": "2021-02-24T15:49:59.095Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Join Retry Period
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_join_retry_period"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6036caaf994ab35c7c701bbe",
"commandName": "GetJoinRetryPeriod",
"commandParams": [],
"deviceId": "70B************4",
"createdAt": "2021-02-24T21:52:47.045Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Uplink Type
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_uplink_type",
"type" : "01" // string, "00" - unconfirmed, "01" - confirmed
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6036bf46ed10eb592440aea5",
"commandName": "SetUplinkType",
"commandParams": {
"type": "01"
},
"deviceId": "70B************4",
"createdAt": "2021-02-24T21:04:06.611Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Uplink Type
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_uplink_type"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6036be66ed10eb592440ae9b",
"commandName": "GetUplinkType",
"commandParams": [],
"deviceId": "70B************4",
"createdAt": "2021-02-24T21:00:22.088Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Watch Dog Params
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_watch_dog_params",
"confirmed_uplinks": 17, // in minutes, if it is disabled "0"
"unconfirmed_uplinks":24, // in hours, if it is disabled "0"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6035505708f81715fffd19c0",
"commandName": "SetWatchDogParams",
"commandParams": {
"periodConfirmenUplinks": 17,
"periodUnconfirmenUplinks": 24,
"deviceKeepAlive": 3
},
"deviceId": "36*************8",
"createdAt": "2021-02-23T18:58:31.945Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Watch Dog Params
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_watch_dog_params"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "6036ce5bf6c1b85f22d280cc",
"commandName": "GetWatchDogParams",
"commandParams": [],
"deviceId": "36*************8",
"createdAt": "2021-02-24T22:08:27.116Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Thermostat Target Temperature
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_wireless_thermostat_target",
"temp" : 20
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da71643e482a0027bc77b1",
"commandName": "SetWirelessThermostatTarget",
"commandParams": {
"targetTemperature": 20
},
"deviceId": "70************1",
"createdAt": "2023-02-01T14:04:20.907Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Child Lock
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "child_lock",
"enabled" : true, // true if we want to enable it or false if we want to
disable it
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "60353b9308f81715fffd18fb",
"commandName": "SetChildLock",
"commandParams": {
"enabled": true
},
"deviceId": "70*************E",
"createdAt": "2021-02-23T17:29:55.911Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Child Lock
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_child_lock"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da7f5a3e482a0027bc7c09",
"commandName": "GetChildLock",
"commandParams": [],
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:03:54.453Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Heating status
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number" : "{Serial Number}",
"command" : "set_heating_status",
"status": 0 // 1-on heating status, 0-off
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da80cd3e482a0027bc7c63",
"commandName": "SetHeatingStatus",
"commandParams": {
"status": 0
},
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:10:05.324Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Heating status
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_heating_status"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da7f5a3e482a0027bc7c09",
"commandName": "GetHeatingStatus",
"commandParams": [],
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:03:54.453Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Display refresh period
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number" : "{Serial Number}",
"command" : "set_display_refresh_period",
"period": 10 // in hours. The default is 10hours. range(1hour – 24hours).
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da80cd3e482a0027bc7c63",
"commandName": "SetDisplayRefreshPeriod",
"commandParams": {
"period": 10
},
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:10:05.324Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Display refresh period
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_display_refresh_period"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da7f5a3e482a0027bc7c09",
"commandName": "GetDisplayRefreshPeriod",
"commandParams": [],
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:03:54.453Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Target Send Delay
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number" : "{Serial Number}",
"command" : "set_target_send_delay",
"time": 10// Time delay in seconds. The default value is 10sec (0sec. – 255sec).
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da80cd3e482a0027bc7c63",
"commandName": "SetTargetSendDelay",
"commandParams": {
"time": 10
},
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:10:05.324Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Target Send Delay
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_target_send_delay"
}
Response:
Copy {
"provider": {
"status": "pending",
"_id": "63da7f5a3e482a0027bc7c09",
"commandName": "getTargetSendDelay",
"commandParams": [],
"deviceId": "70*************E",
"createdAt": "2023-02-01T15:03:54.453Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Min/Max Range
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Vicki Serial Number}”,
"command" : "set_range",
"min" : 10, // the minimum value* for the device range
"max" : 20 // the maximum value* for the device range
}
*Note that the min/max values should be between 5 and 30!
Response:
Copy {
"provider": {
"status": "pending",
"_id": "60353c9e08f81715fffd1907",
"commandName": "SetTemperatureRange",
"commandParams": {
"min": 10,
"max": 20
},
"deviceId": "70B3D52DD300015E",
"createdAt": "2021-02-23T17:34:22.884Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Min/Max Range
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Vicki Serial Number}”,
"command" : "get_range"
}
Response:
Copy {
"provider": {
"min": 10,
"max": 20
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set Min/Max Range
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_range",
"min" : 10, // the minimum value* for the device range
"max" : 20 // the maximum value* for the device range
}
*Note that the min/max values should be between 5 and 30!
Response:
Copy {
"provider": {
"status": "pending",
"_id": "60353c9e08f81715fffd1907",
"commandName": "SetTemperatureRange",
"commandParams": {
"min": 10,
"max": 20
},
"deviceId": "70B3D52DD300015E",
"createdAt": "2021-02-23T17:34:22.884Z",
"__v": 0
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Get Min/Max Range
Request URL:
Headers:
Copy Content-Type: application/json
Authorization: Bearer {access_token}
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_range"
}
Response:
Copy {
"provider": {
"min": 10,
"max": 20
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}
Set automatic heating status mode
* In automatic mode, the heating state is on when the target temperature is above the measured temperature.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_automatic_heating_status",
"state" : 1 // possible values 1/0
}
Get automatic heating status mode
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_automatic_heating_status"
}
Set device sensor mode
* In sensor mode, the device only displays measurements from available sensors.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_sensor_mode",
"state" : 1 // possible values 1/0
}
Get device sensor mode
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_automatic_heating_status"
}
Set device deep sleep mode
* In deep sleep mode, the consumption of the device is significantly reduced.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_deep_sleep",
"state" : 1 // possible values 1/0
}
Set PIR sensor Status
* Set the status of the PIR sensor to on or off.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_sensor_status",
"state" : 1 // possible values 1/0
}
Get PIR sensor Status
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_sensor_status"
}
Set PIR sensor sensitivity
* Set the sensitivity of the PIR sensor. The default value is 20.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_sensor_sensitivity",
"sensitivity" : 20
}
Get PIR sensor sensitivity
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_sensor_sensitivity"
}
Set Current temperature visibility
* Set a flag to show/hide the current temperature on the display. Default is show (1)
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_current_temperature_visibility",
"state" : 1 // possible values 1/0
}
Get Current temperature visibility
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_current_temperature_visibility"
}
Set Humidity visibility
* Set a flag to show/hide the humidity on the display. Default is show (1)
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_humidity_visibility",
"state" : 1 // possible values 1/0
}
Get Humidity visibility
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_humidity_visibility"
}
Set Light Intensity visibility
* Set a flag to show/hide the light intensity on the display. The default state is show. (1)
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_light_intensity_visibility",
"state" : 1 // possible values 1/0
}
Get Light Intensity visibility
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_light_intensity_visibility"
}
Set PIR init period
* Set the initialization time period of the PIR sensor. Minimum value = 3sec. Default value = 3sec.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_init_period",
"time" : 3 // in seconds. default is 3sec
}
Get PIR init period
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_init_period"
}
Set PIR measurement period
* Set the measurement time period for motion detection by a PIR sensor. Minimum value = 3sec. Default value = 3sec.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_measurement_period",
"time" : 3 // in seconds. default is 3sec
}
Get PIR measurement period
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_measurement_period"
}
Set PIR check period
* It is used to periodically check for motion detected by the PIR sensor. When the period is set to 0, then it is constantly monitored for detected motion. Minimum value = 0sec. Default value = 54sec.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_check_period",
"time" : 54 // in seconds. Default is 54sec, minimum 0
}
Get PIR check period
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_check_period"
}
Set PIR blind period
* The blind period is used after motion is detected for how long to disable detection. Minimum value = 15sec. Default value = 10min.
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_pir_blind_period",
"time" : 600 // in seconds. Default is 600 sec, minimum 15
}
Get PIR blind period
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "get_pir_blind_period"
}
Set CО2 Measurement Blind Time
*More info: https://docs.mclimate.eu/mclimate-lorawan-devices/devices/mclimate-co2-display/co2-display-device-communication-protocol/co2-measurement-settings#co2-measurement-blind-time
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_co2_measurement_blind_time",
"time": 15 // in minutes
}
Set CО2 Images Visibility
*More info: https://docs.mclimate.eu/mclimate-lorawan-devices/devices/mclimate-co2-display/co2-display-device-communication-protocol/hiding-data-from-the-display#co2-related-images-to-be-shown-on-the-display
Body :
Copy {
"serial_number": “{Serial Number}”,
"command" : "set_co2_images_visibility",
"chart": 1, // 1-show; 0-hide
"digital_value": 1, // 1-show; 0-hide
"emoji": 0 // 1-show; 0-hide
}