Fan Coil Thermostat LoRaWAN

Get device data

Request URL:
POST /provider/fetch
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number" : "{Serial Number}"
}
Response:
{
"provider": {
"joinRequestCount": 43,
"activeFrom": "2023-09-25 10:27:42",
"application": "mc-devices-testing",
"batteryVoltage": 0.27,
"deviceVersions": {
"hardware": 4,
"software": 1
},
"frameCount": 9,
"joinRetryPeriod": 10,
"keepAliveTime": 2,
"lastActive": "2023-11-02 16:02:19",
"lux": 112,
"network_provider": "the_things_industries",
"pir": true,
"powerSourceStatus": 1,
"relativeHumidity": 44.92,
"rssi": -67,
"sensorTemperature": 26.6,
"spf": "7",
"targetTemperature": 20,
"uplinkType": "00",
"watchDogParams": {
"wdpC": 12,
"wdpUc": 2
},
"childLock": false,
"actualFanSpeed": 7,
"deviceStatus": 1,
"displayedFanSpeed": 2,
"operationalMode": 1,
"valveStatus": 0,
"deltaTemperature1": 100,
"deltaTemperature2and3": {
"deltaTemperature2": 100,
"deltaTemperature3": 100
},
"fanSpeedNotOccupied": 0,
"wiringDiagram": 1,
"occupancySensorStatusSetPoint": 128,
"keysLock": 1,
"targetTemperatureStep": 50,
"fanSpeed": 1,
"fanSpeedLimit": 2,
"ecmVoltageRange": {
"min": 250,
"max": 710
},
"ecmStartUpTime": 2,
"ecmRelay": 1,
"frostProtection": 0,
"frostProtectionSettings": {
"threshold": 6,
"setpoint": 9
},
"allowedOperationalModes": 1,
"coolingSetpointNotOccupied": 23,
"automaticChangeover": 0,
"automaticChangeoverThreshold": {
"coolingThreshold": 16,
"heatingThreshold": 33
},
"mac": "70B3D52DDA000003",
"online": false,
"scheduleInfo": {
"inSchedule": false,
"mainTarget": null,
"inPriority": false
}
},
"_links": {
"self": {
"href": "/v1/provider/fetch"
}
}
}

Set KeepAlive Time

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetKeepAlive",
"command_params" : {
"time": 2 // in minutes
}

Get Pending Commands

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "get_pending_commands"
}
Response:
{
"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:
POST /provider/fetch
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number" : "{Serial Number}",
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetDeviceVersion",
"command_params" : {}
}

Set Join Retry Period

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetJoinRetryPeriod",
"command_params" : {
"period" : 2, //minutes, cannot be 0
}
}
Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetUplinkType",
"command_params" : {
"type" : "01" // string, "00" - unconfirmed, "01" - confirmed
}
}

Set Watch Dog Params

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetWatchDogParams",
"command_params" : {
"confirmedUplinks": 17, // in minutes, if it is disabled "0"
"unconfirmedUplinks": 24,// in hours, if it is disabled "0"
}
}

Set Display refresh period

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number" : "{Serial Number}",
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetDisplayRefreshPeriod",
"command_params" : {
"period": 10 // in hours. The default is 10hours. range(1hour – 24hours).
}
}

Set Min/Max Range

Request URL:
POST /provider/send
Headers:
Content-Type: application/json
Authorization: Bearer {access_token}
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetTemperatureRange",
"command_params" : {
"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!

Set Current temperature visibility

*Set a flag to show/hide the current temperature on the display. Default is show (1)
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetCurrentTemperatureVisibility",
"command_params" : {
"state" : 1 // possible values 1/0
}
}

Set Humidity visibility

*Set a flag to show/hide the humidity on the display. Default is show (1)
Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetHumidityVisibility",
"command_params" : {
"state" : 1 // possible values 1/0
}
}

Set FCT target temperature

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFanCoilTarget",
"command_params" : {
"value": 15
}
}

Set target temperature step

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetTargetTemperatureStep",
"command_params" : {
"value": 0.5
}
}

Set Keys Lock

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetKeysLock",
"command_params" : {
"value": 2
}
}

Set Valve Open Close Time

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetValveOpenCloseTime",
"command_params" : {
"value": 3 // in seconds
}
}

Set Fan Speed

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFanSpeed",
"command_params" : {
"value": 2
}
}

Set Fan Speed Not Occupied

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFanSpeedNotOccupied",
"command_params" : {
"value": 0
}
}

Set Fan Speed Limit

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFanSpeedLimit",
"command_params" : {
"value": 2
}
}

Set ECM Voltage Range

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetEcmVoltageRange",
"command_params" : {
"min": 2.5, // V
"max": 7.1 // voltage
}
}

Set ECM Start Up Time

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetEcmStartUpTime",
"command_params" : {
"value": 2 // in seconds
}
}

Set ECM Relay

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetEcmRelay",
"command_params" : {
"value": 1 // 1-activated / 0-deactivated
}
}

Set Frost Protection

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFrostProtection",
"command_params" : {
"value": 0
}
}

Set Frost Protection Settings

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFrostProtectionSettings",
"command_params" : {
"threshold": 6,
"setpoint": 9
}
}

Get Frost Protection Status

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetFrostProtectionStatus",
"command_params" : {}
}

Set FCT Operational Mode

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetFctOperationalMode",
"command_params" : {
"value": 1
}
}

Set Allowed Operational Modes

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetAllowedOperationalModes",
"command_params" : {
"value": 1 // see modes in more info
}
}

Set Cooling Setpoint Not Occupied

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetCoolingSetpointNotOccupied",
"command_params" : {
"value": 23 // in degrees
}
}

Set Heating Setpoint Not Occupied

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetHeatingSetpointNotOccupied",
"command_params" : {
"value": 20
}
}

Set Temp Sensor Compensation

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetTempSensorCompensation",
"command_params" : {
"compensation": 0, // 0 - Compensation is positive, 1- negative
"temperature": 2.1
}
}

Set Automatic Changeover

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetAutomaticChangeover",
"command_params" : {
"value": 0
}
}

Set Wiring Diagram

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetWiringDiagram",
"command_params" : {
"value": 1
}
}

Set OCC Function

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetOccFunction",
"command_params" : {
"value": 1
}
}

Set Device Status

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetDeviceStatus",
"command_params" : {
"value": 1
}
}

Set Return Of Power Operation

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetReturnOfPowerOperation",
"command_params" : {
"value": 1
}
}

Set Delta Temperature 1

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetDeltaTemperature1",
"command_params" : {
"value": 0.5
}
}

Set Delta Temperature 2 and 3

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetDeltaTemperature2and3",
"command_params" : {
"deltaTemperature2": 1.5,
"deltaTemperature3": 2
}
}

Get Occupancy Sensor Status Set-Point

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetOccupancySensorStatusSetPoint",
"command_params" : {}
}

Get Occupancy Sensor Status

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetOccupancySensorStatus",
"command_params" : {}
}

Get Dew Point Sensor Status

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetDewPointSensorStatus",
"command_params" : {}
}

Get Filter Alarm

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "GetFilterAlarm",
"command_params" : {}
}

Set External Automatic temperature control mode

Body:
{
"serial_number": “{Serial Number}”,
"command" : "send_command_to_fan_coil_thermostat",
"command_name" : "SetExtAutomaticTemperatureControl",
"command_params" : {
"value": 0 // 0 or 1
}