MClimate API Documentation
  • MClimate API Documentation
  • MClimate LoRaWAN Devices
  • Basic endpoints
  • API Control - LoRaWAN devices
    • Vicki LoRaWAN
    • HT Sensor LoRaWAN
    • CO2 Sensor LoRaWAN
    • T-Valve LoRaWAN
    • Flood Sensor LoRaWAN
    • Open/Close Sensor LoRaWAN
    • Multipurpose Button LoRaWAN
    • Wireless Thermostat LoRaWAN
    • CO2 Display LoRaWAN
    • Fan Coil Thermostat LoRaWAN
  • API Control - wifi devices
    • Melissa
    • Bobbie
    • Smart Plug
    • Vicki LoRa
      • Vicki high priority commands
      • Summer Mode
    • HT Sensor LoRa
  • Functions
    • Schedules
    • Heating profiles
    • Thermostat mode
    • LoRaWAN FUOTA
    • M Token
    • Assign devices
Powered by GitBook
On this page
  • Description and API usage
  • What is Thermostat mode?
  • How does it work?
  • How to use it via MClimate’s API?
  • Endpoints
  • Create Thermostat Mode
  • Fetch Thermostat Mode
  • Update Thermostat Mode
  • Postman collection:
  1. Functions

Thermostat mode

Description and API usage

What is Thermostat mode?

Every MClimate device of type relay (Bobbie, Smart plug, Shelly 1, Shelly 1pm, Shelly em, etc) can act as a thermostat. If it is configured as such, it can use sensor data from another device that have temperature sensors (Bobbie, Melissa, Vicki, Mom, HT sensor, Shelly 1/1 pm, AQI Sensor and notifier, etc.) and use the sensor as reference to control the heating load e.g. space heater, water heater, etc.

How does it work?

Every 10 minutes an algorithm checks all created thermostat records and their settings. If the temperature that is measured by the associated sensor is under the target (-delta),, the relay is switched on. If the sensor temperature has reached the target, the relay is switched off.

How to use it via MClimate’s API?

Performing queries to MClimate API is done by making HTTP requests with Headers: Content-Type: application/json, Authorization: Bearer {access_token}

Endpoints

Create Thermostat Mode

Request URL:

POST /thermostat_mode

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
  "serial_number" : "QI***********8",
  "sensor_id" : 1****6, // - ID of the sensor device
       - can be the same as relay device if device have sensors
  "target_temperature" : 55, // hysteresis, temperature delta to switch the relay
       on (e.g. target_temperature is 25, delta is 1; the relay will be switched
       on once the sensor_temperature is 24 or lower.
  "delta" : 3, // 0-the mode is off / 1-the mode is on (optional)
  "active" : 1, 
  "state": 1, // Relay last state
  "default_state": "do_nothing", // what do you want to happen with the relay
      in case the sensor is offline - on / off / do_nothing  (optional)
  "push":1 // push notification when state is changed, 1-on/0-off
}

Response:

{
    "thermostat_mode": {
        "sensor_id": 1****0,
        "target_temperature": 50,
        "delta": 3,
        "active": 1,
        "default_state": "do_nothing",
        "push": 1,
        "controller_id": 1****,
        "user_id": 1***3,
        "id": 2**
    },
    "_links": {
        "self": {
            "href": "/v1/thermostat_mode"
        }
    }
}

Fetch Thermostat Mode

Request URL:

GET /thermostat_mode/{Controller Serial Number}

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Response:

{
    "thermostat_mode": {
        "id": 2**,
        "controller_id": 1***0,
        "user_id": 1****3,
        "sensor_id": 1****0,
        "target_temperature": 50,
        "delta": 3, //hysteresis-possible temperature before the relay is switched on
        "state": null,
        "default_state": "do_nothing",
        "push": 1,
        "active": 1 // 0-the mode is off / 1-the mode is on
    },
    "_links": {
        "self": {
            "href": "/v1/thermostat_mode/W**********W"
        }
    }
}

Update Thermostat Mode

Request URL:

PATCH /thermostat_mode/{Controller Serial Number}

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
  "target_temperature" : 24,
}

Response:

{
    "thermostat_mode": {
        "id": 2**,
        "controller_id": 1***0,
        "user_id": 1****3,
        "sensor_id": 1***0,
        "target_temperature": 24,
        "delta": 3,
        "state": null,
        "default_state": "do_nothing",
        "push": 1,
        "active": 1
    },
    "_links": {
        "self": {
            "href": "/v1/thermostat_mode/W**********AW"
        }
    }
}

Postman collection:

PreviousHeating profilesNextLoRaWAN FUOTA

Last updated 1 year ago

You can get the full postman collection from

here.