openapi: 3.0.0
servers:
# Added by API Auto Mocking Plugin
- description: Local HTTP API
url: http://{APIUrl}
variables:
APIUrl:
default: "192.168.1.100"
description: Base Url to API
##########
## Info ##
##########
info:
version: "2.0.0"
title: Heatit WiFi7
description: The API documentation for WiFi7 thermostat mode.
contact:
name: Heatit Support
url: https://heatit.com/contact
email: post@heatit.com
termsOfService: https://heatit.com/terms-of-use-private
externalDocs:
description: Heatit's documents page
url: http://documents.heatit.com
##########
## Tags ##
##########
tags:
- name: "Status"
description: Get data from the device.
- name: "Parameters"
description: Change parameters on the device
- name: "Reset"
description: Reset settings, kwh or entire device to factory defaults
- name: "DirectLink"
description: Set and delete DirectLinks between devices.
- name: "BlueFusion"
description: Get data and change parameters on BlueFusion connected devices.
###########
## Paths ##
###########
paths:
/api/status:
get:
tags:
- Status
summary: Gets status of the device.
description: Returns all information about the device.
responses:
"200":
description: Get the information from the device.
content:
application/json:
schema:
$ref: "#/components/schemas/deviceInfo"
/api/parameters:
post:
tags:
- Parameters
summary: Change parameters on the device.
description: Change parameters on the device. At least one parameter is required.
parameters:
- $ref: "#/components/parameters/disableButtons"
- $ref: "#/components/parameters/sensorMode"
- $ref: "#/components/parameters/externalSensorFallback"
- $ref: "#/components/parameters/sensorValue"
- $ref: "#/components/parameters/internalMinimumTemperatureLimit"
- $ref: "#/components/parameters/floorMinimumTemperatureLimit"
- $ref: "#/components/parameters/externalMinimumTemperatureLimit"
- $ref: "#/components/parameters/internalMaximumTemperatureLimit"
- $ref: "#/components/parameters/floorMaximumTemperatureLimit"
- $ref: "#/components/parameters/externalMaximumTemperatureLimit"
- $ref: "#/components/parameters/internalSensorCalibration"
- $ref: "#/components/parameters/floorSensorCalibration"
- $ref: "#/components/parameters/externalSensorCalibration"
- $ref: "#/components/parameters/regulationMode"
- $ref: "#/components/parameters/temperatureControlHysteresis"
- $ref: "#/components/parameters/temperatureDisplay"
- $ref: "#/components/parameters/activeDisplayBrightness"
- $ref: "#/components/parameters/standbyDisplayBrightness"
- $ref: "#/components/parameters/actionAfterError"
- $ref: "#/components/parameters/heatingSetpoint"
- $ref: "#/components/parameters/coolingSetpoint"
- $ref: "#/components/parameters/ecoSetpoint"
- $ref: "#/components/parameters/powerRegulatorActiveTime"
- $ref: "#/components/parameters/operatingMode"
- $ref: "#/components/parameters/openWindowDetection"
- $ref: "#/components/parameters/sizeOfLoad"
responses:
"200":
description: Successful
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/disableButtons"
- $ref: "#/components/schemas/sensorMode"
- $ref: "#/components/schemas/externalSensorFallback"
- $ref: "#/components/schemas/sensorValue"
- $ref: "#/components/schemas/internalMinimumTemperatureLimit"
- $ref: "#/components/schemas/floorMinimumTemperatureLimit"
- $ref: "#/components/schemas/externalMinimumTemperatureLimit"
- $ref: "#/components/schemas/internalMaximumTemperatureLimit"
- $ref: "#/components/schemas/floorMaximumTemperatureLimit"
- $ref: "#/components/schemas/externalMaximumTemperatureLimit"
- $ref: "#/components/schemas/internalSensorCalibration"
- $ref: "#/components/schemas/floorSensorCalibration"
- $ref: "#/components/schemas/externalSensorCalibration"
- $ref: "#/components/schemas/regulationMode"
- $ref: "#/components/schemas/temperatureControlHysteresis"
- $ref: "#/components/schemas/temperatureDisplay"
- $ref: "#/components/schemas/activeDisplayBrightness"
- $ref: "#/components/schemas/standbyDisplayBrightness"
- $ref: "#/components/schemas/actionAfterError"
- $ref: "#/components/schemas/heatingSetpoint"
- $ref: "#/components/schemas/coolingSetpoint"
- $ref: "#/components/schemas/ecoSetpoint"
- $ref: "#/components/schemas/powerRegulatorActiveTime"
- $ref: "#/components/schemas/operatingMode"
- $ref: "#/components/schemas/openWindowDetection"
- $ref: "#/components/schemas/sizeOfLoad"
examples:
Disable buttons:
value:
status: Success
disableButtons: 1
Sensor mode:
value:
status: Success
sensorMode: 1
External sensor fallback:
value:
status: Success
externalSensorFallback: 2
Sensor value:
value:
status: Success
sensorValue: 1
Internal sensor min temp:
value:
status: Success
internalMinTemperatureLimit: 5.0
Floor sensor min temp:
value:
status: Success
floorMinTemperatureLimit: 5.0
External sensor min temp:
value:
status: Success
externalMinTemperatureLimit: 5.0
Internal sensor max temp:
value:
status: Success
internalMaxTemperatureLimit: 40.0
Floor sensor max temp:
value:
status: Success
floorMaxTemperatureLimit: 40.0
External sensor max temp:
value:
status: Success
externalMaxTemperatureLimit: 40.0
Internal sensor calibration:
value:
status: Success
internalSensorCalibration: 0.0
Floor sensor calibration:
value:
status: Success
floorSensorCalibration: 0.0
External sensor calibration:
value:
status: Success
externalSensorCalibration: 0.0
Regulation mode:
value:
status: Success
regulationMode: false
Temperature control hysteresis:
value:
status: Success
temperatureControlHysteresis: 0.5
Temperature display:
value:
status: Success
temperatureDisplay: false
Active display brightness:
value:
status: Success
activeDisplayBrightness: 100
Standby display brightness:
value:
status: Success
standbyDisplayBrightness: 50
Action after error:
value:
status: Success
actionAfterError: 0
Heating setpoint:
value:
status: Success
heatingSetpoint: 21.0
Cooling setpoint:
value:
status: Success
coolingSetpoint: 18.0
Eco setpoint:
value:
status: Success
ecoSetpoint: 18.0
Power regulator active time:
value:
status: Success
powerRegulatorActiveTime: 20
Operating mode:
value:
status: Success
operatingMode: 1
Open window detection:
value:
status: Success
openWindowDetection: 0
Size of Load:
value:
status: Success
sizeOfLoad: 0
Multiple parameters at the same time:
value:
status: Success
disableButtons: 1
sensorMode: 1
externalSensorFallback: 2
sensorValue: 1
internalMinTemperatureLimit: 5.0
floorMinTemperatureLimit: 5.0
externalMinTemperatureLimit: 5.0
internalMaxTemperatureLimit: 40.0
floorMaxTemperatureLimit: 40.0
externalMaxTemperatureLimit: 40.0
internalSensorCalibration: 0.0
floorSensorCalibration: 0.0
externalSensorCalibration: 0.0
regulationMode: false
temperatureControlHysteresis: 0.5
temperatureDisplay: false
activeDisplayBrightness: 100
standbyDisplayBrightness: 50
actionAfterError: 0
heatingSetpoint: 21.0
coolingSetpoint: 18.0
ecoSetpoint: 18.0
powerRegulatorActiveTime: 20
operatingMode: 1
openWindowDetection: 0
sizeOfLoad: 0
"400":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: out of range.
Failed2:
value:
status: failed
reason: invalid data.
"422":
description: Validation Error - At least one parameter needs to be changed
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: failed
description: Status of the request.
reason:
type: string
example: You need to change at least one parameter.
description: Reason for the failure.
example:
status: failed
reason: You need to change at least one parameter.
/api/reset/factory:
delete:
tags:
- Reset
summary: Reset the device to factory default.
description: Reset to factory defaults.
parameters:
- name: reset
description: Resets the device to factory defaults. This will reset network settings or remove the device from the app.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
reset:
$ref: "#/components/schemas/ResetInfo/properties/statusSuccess"
/api/reset/settings:
delete:
tags:
- Reset
summary: Reset settings to factory default.
description: Reset settings to factory defaults.
parameters:
- name: resetSettings
description: Resets all settings to factory defaults. This will not reset network settings or remove the device from the app.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
reset:
$ref: "#/components/schemas/ResetInfo/properties/statusSuccess"
/api/reset/kwh:
delete:
tags:
- Reset
summary: Reset Kwh to 0.
description: Reset Kwh to zero.
parameters:
- name: resetKwh
description: Resets the Kwh counter to 0.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
reset:
$ref: "#/components/schemas/ResetInfo/properties/statusSuccess"
/api/directlink:
get:
tags:
- DirectLink
summary: Get current DirectLink connections
description: Returns list of all DirectLink connections for the Thermostat device
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
relayControl:
type: array
items:
type: object
properties:
id:
type: string
description: Unique id of the connected device
name:
type: string
description: Name of the connected device
macAddress:
type: string
description: MAC address of the connected device
masterThermostat:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
macAddress:
type: string
examples:
Success:
value:
relayControl:
- id: "sdf87g4bnfc87a523rbsdf4"
name: "Relay living room"
macAddress: "AA:BB:CC:DD:EE:FF"
- id: "df4g8b7n2gh9a1c4r4sd2f7"
name: "Relay kitchen"
macAddress: "11:22:33:44:55:66"
masterThermostat:
- id: "9d8c7a6b5f4g1h2i3j4k5l6"
name: "Thermostat bedroom"
macAddress: "12:34:56:78:90:AB"
Empty:
value:
relayControl: []
masterThermostat: []
post:
tags:
- DirectLink
summary: Set a DirectLink connection.
description: Set a DirectLink. Requires IP address of the device to connect to.
parameters:
- name: directLink
description: Choose which function you want to DirectLink
in: query
required: true
schema:
type: string
enum:
- relayControl
- masterThermostat
- externalSensor
- name: nodeId
description: Node ID of the device to connect to
in: query
required: true
schema:
type: string
example: "8AQycyKLaaiEEQRrm7KkEb"
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
nodeId:
type: string
description: Node ID of the connected device.
examples:
Success:
value:
status: success
nodeId: "8AQycyKLaaiEEQRrm7KkEb"
"422":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: No response from device
Incompatible:
value:
status: failed
reason: This DirectLink is not supported on the receiving device.
delete:
tags:
- DirectLink
summary: Delete a DirectLink connection.
description: Removes a DirectLink connection from the Thermostat device.
parameters:
- name: directLink
description: Choose which DirectLink function you want to remove from.
in: query
required: true
schema:
type: string
enum:
- relayControl
- masterThermostat
- slaveThermostat
- externalSensor
- name: nodeId
description: Enter the id of the device you want to remove from the DirectLink connections.
in: query
required: true
schema:
type: string
example: "8AQycyKLaaiEEQRrm7KkEb"
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
status:
type: string
examples:
Success:
value:
status: success
Failed:
value:
status: failed
reason: no response from device
"422":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: No response from device
Not Found:
value:
status: failed
reason: DirectLink not found
/api/bluefusion/devices:
get:
tags:
- BlueFusion
summary: Get list of devices connected via BlueFusion
description: returns list of devices connected via BlueFusion
responses:
"200":
description: All devices connected via BlueFusion
content:
application/json:
schema:
$ref: "#/components/schemas/Devices"
/api/bluefusion/{id}/status:
get:
tags:
- BlueFusion
summary: Get information from the BlueFusion device
description: Returns all information about the BlueFusion device. See the documentation for each device for response schema.
responses:
"200":
description: All the devices
content:
application/json:
examples:
BLE-Temp3:
value:
id: sdf87g4bnfc87a523rbsdf4
name: BLE-Temp3 hall
room: hall
state: false
temperature: 22.2
currentHumidity: 45
batteryPercentage: 100
parameters:
disableButton: 2
minimumTemperatureLimit: 8.5
maximumTemperatureLimit: 35.5
calibration: -2.5
regulationMode: false
temperatureControlHysteresis: 0.5
temperatureDisplay: false
activeDisplayBrightness: 10
heatingSetpoint: 21.0
coolingSetpoint: 18.0
ecoSetpoint: 18.0
operatingMode: 1
OWD:
openWindowDetection: 0
activeNow: false
activeTime: 0
directLink:
relayControl: []
masterThermostat: []
model: "Heatit BLE-Temp3"
firmware: 1.2.2
/api/bluefusion/{id}/parameters:
post:
tags:
- BlueFusion
summary: Adjust parameters on a BlueFusion device.
description: Adjust parameters on a BlueFusion connected device. See the documentation for each device for available parameters.
responses:
"200":
description: Successful
content:
application/json:
examples:
Disable Buttons:
value:
status: success
disableButton: 0
Minimum temperature limit (MIN):
value:
status: success
minimumTemperature: 8.5
Maximum temperature limit (MAX):
value:
status: success
maximumTemperature: 35.5
Sensor calibration (CAR):
value:
status: success
sensorCalibration: -1.0
Regulation mode (REG):
value:
status: success
regulationMode: false
Temperature control hysteresis:
value:
status: success
temperatureControlHysteresis: 0.5
Temperature display:
value:
status: success
temperatureDisplay: true
Active Display Brightness:
value:
status: success
activeDisplayBrightness: 10
Heating setpoint:
value:
status: success
setpoint: 21.5
Cooling setpoint:
value:
status: success
setpoint: 18.5
ECO setpoint:
value:
status: success
setpoint: 18.5
Operating mode:
value:
status: success
operationMode: 1
Open Window Detection (OWD):
value:
status: success
openWindowDetection: false
Multiple parameters at the same time:
value:
status: success
disableButton: true
minimumTemperature: 5.0
maximumTemperature: 40.0
sensorCalibration: -1.2
regulationMode: false
temperatureControlHysteresis: 0.5
temperatureDisplay: true
activeDisplayBrightness: 10
heatingSetpoint: 21.0
coolingSetpoint: 18.0
ecoSetpoint: 18.0
operationMode: 1
openWindowDetection: false
"400":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: out of range.
Failed2:
value:
status: failed
reason: invalid data.
"422":
description: Validation Error - At least one parameter needs to be changed
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: failed
reason:
type: string
example: You need to change at least one parameter.
example:
status: failed
reason: You need to change at least one parameter.
/api/bluefusion/{id}/reset/factory:
delete:
tags:
- BlueFusion
summary: Reset the BlueFusion device to factory default.
description: Reset the BlueFusion device to factory defaults. This will reset network settings or remove the device from the app.
parameters:
- name: reset
description: Reset the BlueFusion device to factory defaults.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
status:
type: string
examples:
Success:
value:
status: success
Failed:
value:
status: failed
reason: no response from device
"400":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: No response from device
/api/bluefusion/{id}/reset/settings:
delete:
tags:
- BlueFusion
summary: Reset settings on a BlueFusion device to factory default.
description: Reset settings on a BlueFusion device to factory defaults. This will not reset network settings or remove the device from the app.
parameters:
- name: reset
description: Resets all settings to factory defaults. This will not reset network settings or remove the device from the app.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
status:
type: string
examples:
Success:
value:
status: success
Failed:
value:
status: failed
reason: no response from device
"400":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: No response from device
/api/bluefusion/{id}/reset/kwh:
delete:
tags:
- BlueFusion
summary: Reset the kWh counter on a BlueFusion device to 0.
description: Reset the kWh counter on a BlueFusion device to 0.
parameters:
- name: reset
description: Resets the Kwh counter to 0.
in: query
required: false
schema:
type: string
enum:
- Reset
responses:
"200":
description: Successful
content:
application/json:
schema:
type: object
properties:
status:
type: string
examples:
Success:
value:
status: success
Failed:
value:
status: failed
reason: no response from device
"400":
description: Failed
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Status of the request.
reason:
type: string
description: Reason for the failure.
examples:
Failed:
value:
status: failed
reason: No response from device
################
## Components ##
################¨
components:
parameters:
disableButtons:
name: disableButtons
description: >
Disable buttons, must be enabled through the parameter, or turned back on locally by holding the center and right button for 30 seconds until the display shows "UNLK"
**0** = Buttons are not disabled. (Default)
**1** = Buttons are disabled.
**2** = Lock menu, buttons will function as normal, but the menu cannot be accessed.
in: query
required: false
schema:
$ref: "#/components/schemas/disableButtons"
example: 0
sensorMode:
name: sensorMode
description: >
Choose which sensor mode the device should operate with.
**0** = Floor sensor (F)
**1** = Internal sensor (A) (Default)
**2** = Internal sensor & floor sensor limitation (AF)
**3** = External sensor (A2)
**4** = External sensor & floor sensor limitation (A2F)
**5** = Power regulator mode (PWER)
**6** = External wireless sensor
**7** = Relay mode
in: query
required: false
schema:
$ref: "#/components/schemas/sensorMode"
example: 1
externalSensorFallback:
name: externalSensorFallback
description: >
Choose what happens if the external wireless sensor stops reporting.
**0** = Off
**1** = Floor sensor (F)
**2** = Internal sensor (A) (Default)
**3** = Internal sensor & floor sensor limitation (AF)
**4** = External sensor (A2)
**5** = External sensor & floor sensor limitation (A2F)
**6** = Power regulator mode (PWER)
in: query
required: false
schema:
$ref: "#/components/schemas/externalSensorFallback"
example: 2
sensorValue:
name: sensorValue
description: >
Select the resistance value of the connected NTC.
**0** = 6.8KΩ
**1** = 10KΩ (Default)
**2** = 12KΩ
**3** = 15KΩ
**4** = 22KΩ
**5** = 33KΩ
**6** = 47KΩ
**7** = 100KΩ
in: query
required: false
schema:
$ref: "#/components/schemas/sensorValue"
example: 1
internalMinimumTemperatureLimit:
name: internalMinimumTemperatureLimit
description: >
Decides the lowest temperature allowed by the thermostat when using sensor mode A.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/internalMinimumTemperatureLimit"
example: 5.5
internalMaximumTemperatureLimit:
name: internalMaximumTemperatureLimit
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode A.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
in: query
required: false
schema:
$ref: "#/components/schemas/internalMaximumTemperatureLimit"
example: 39.5
floorMinimumTemperatureLimit:
name: floorMinimumTemperatureLimit
description: >
Decides the lowest temperature allowed by the thermostat when using sensor mode AF, F, A2F.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/floorMinimumTemperatureLimit"
example: 5.5
floorMaximumTemperatureLimit:
name: floorMaximumTemperatureLimit
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode AF, F, A2F.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
in: query
required: false
schema:
$ref: "#/components/schemas/floorMaximumTemperatureLimit"
example: 39.5
externalMinimumTemperatureLimit:
name: externalMinimumTemperatureLimit
description: >
Decide the lowest temperature allowed by the thermostat when using sensor mode A2.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/externalMinimumTemperatureLimit"
example: 5.5
externalMaximumTemperatureLimit:
name: externalMaximumTemperatureLimit
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode A2.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
in: query
required: false
schema:
$ref: "#/components/schemas/externalMaximumTemperatureLimit"
example: 39.5
internalSensorCalibration:
name: internalSensorCalibration
description: >
Manually calibrate sensor A ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/internalSensorCalibration"
example: -2.3
floorSensorCalibration:
name: floorSensorCalibration
description: >
Manually calibrate sensor F ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/floorSensorCalibration"
example: -2.3
externalSensorCalibration:
name: externalSensorCalibration
description: >
Manually calibrate sensor A2 ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/externalSensorCalibration"
example: -2.3
regulationMode:
name: regulationMode
description: >
Choose between regulation modes PWM and Hysteresis.
**false** = **0** = Hysteresis (Default)
**true** = **1** = PWM
in: query
required: false
schema:
$ref: "#/components/schemas/regulationMode"
example: false
temperatureControlHysteresis:
name: temperatureControlHysteresis
description: >
Choose the hysteresis used when regulation mode is set to HYST.
Minimum: **0.3** = 0.3°C
Default: **0.5** = 0.5°C
Maximum: **3.0** = 3.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/temperatureControlHysteresis"
example: 0.5
temperatureDisplay:
name: temperatureDisplay
description: >
Select what is shown on the display during Standby state.
**false** = **0** = Display setpoint (Default)
**true** = **1** = Display measured temperature
in: query
required: false
schema:
$ref: "#/components/schemas/temperatureDisplay"
example: false
activeDisplayBrightness:
name: activeDisplayBrightness
description: >
Configure the brightness of the display during active state.
Minimum: **10** = 10%
Maximum: **100** = 100% (Default)
in: query
required: false
schema:
$ref: "#/components/schemas/activeDisplayBrightness"
example: 100
standbyDisplayBrightness:
name: standbyDisplayBrightness
description: >
Configure the brightness of the display during standby state.
Minimum: **0** = 0%
Default: **50** = 50%
Maximum: **100** = 100%
in: query
required: false
schema:
$ref: "#/components/schemas/standbyDisplayBrightness"
example: 5
actionAfterError:
name: actionAfterError
description: >
Decide how the device should react when the overload / overheating features have turned OFF the relay (Default 0).
**0** = Device will turn off and show an error on the display. (Default)
**10** - **65535** = Device will attempt to turn on again after an error based on the delay specified (10 to 65535 seconds).
in: query
required: false
schema:
$ref: "#/components/schemas/actionAfterError"
example: 300
heatingSetpoint:
name: heatingSetpoint
description: >
Set setpoint for Heating mode.
Minimum: **5.0** = 5.0°C
Default: **21.0** = 21.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/heatingSetpoint"
example: 21.5
coolingSetpoint:
name: coolingSetpoint
description: >
Set setpoint for Cooling mode.
Minimum: **5.0** = 5.0°C
Default: **18.0** = 18.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/coolingSetpoint"
example: 18.5
ecoSetpoint:
name: ecoSetpoint
description: >
Set setpoint for ECO mode.
Minimum: **5.0** = 5.0°C
Default: **18.0** = 18.0°C (Default)
Maximum: **40.0** = 40.0°C
in: query
required: false
schema:
$ref: "#/components/schemas/ecoSetpoint"
example: 18.5
powerRegulatorActiveTime:
name: powerRegulatorActiveTime
description: >
Set the % of time the relay should be active when using PWER mode. (30-minute duty cycle)
Minimum: **10** = 10% = 3 minutes on - 27 minutes off.
Default: **20** = 20% = 6 minutes on - 24 minutes off.
Maximum: **100** = 100% = 30 minutes on - 0 minutes off.
in: query
required: false
schema:
$ref: "#/components/schemas/powerRegulatorActiveTime"
example: 20
operatingMode:
name: operatingMode
description: >
Set the thermostat mode.
**0** = OFF (Thermostat will not operate)
**1** = Heating mode (Default)
**2** = Cooling mode
**3** = ECO mode
in: query
required: false
schema:
$ref: "#/components/schemas/operatingMode"
example: 1
openWindowDetection:
name: openWindowDetection
description: >
Choose to enable or disable the Open Window Detection.
**false** = **0** = Open Window Detection is disabled. (Default)
**true** = **1** = Open Window Detection is enabled.
in: query
required: false
schema:
$ref: "#/components/schemas/openWindowDetection"
example: false
sizeOfLoad:
name: sizeOfLoad
description: >
Allows the user to decide the power consumption of the connected load in 100W increments.
**0** = Uses power metering values. (Default)
**100** - **9900** = 100W - 9900W = Allows the user to set the size of the load, used when connected to a contactor.
in: query
required: false
schema:
$ref: "#/components/schemas/sizeOfLoad"
example: 0
#################
## SCHEMAS ##
#################
schemas:
disableButtons:
type: integer
pattern: '^(?:0|1|2)$'
description: >
Disable buttons, must be enabled through the parameter, or turned back on locally by holding the center and right button for 30 seconds until the display shows "UNLK"
**0** = Buttons are not disabled. (Default)
**1** = Buttons are disabled.
**2** = Lock menu, buttons will function as normal, but the menu cannot be accessed.
enum:
- 0
- 1
- 2
default: 0
sensorMode:
type: integer
pattern: '^(?:0|1|2|3|4|5|6|7)$'
description: >
Choose which sensor mode the device should operate with.
**0** = Floor sensor (F)
**1** = Internal sensor (A) (Default)
**2** = Internal sensor & floor sensor limitation (AF)
**3** = External sensor (A2)
**4** = External sensor & floor sensor limitation (A2F)
**5** = Power regulator mode (PWER)
**6** = External wireless sensor
**7** = Relay mode (RELA)
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
default: 1
externalSensorFallback:
type: integer
pattern: '^(?:0|1|2|3|4|5|6)$'
description: >
Choose what happens if the external sensor stops reporting.
**0** = Off
**1** = Floor sensor (F)
**2** = Internal sensor (A) (Default)
**3** = Internal sensor & floor sensor limitation (AF)
**4** = External sensor (A2)
**5** = External sensor & floor sensor limitation (A2F)
**6** = Power regulator mode (PWER)
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
default: 2
sensorValue:
type: integer
pattern: '^(?:0|1|2|3|4|5|6|7)$'
description: >
Select the resistance value of the connected NTC.
**0** = 6.8KΩ
**1** = 10KΩ (Default)
**2** = 12KΩ
**3** = 15KΩ
**4** = 22KΩ
**5** = 33KΩ
**6** = 47KΩ
**7** = 100KΩ
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
default: 1
internalMinimumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decides the lowest temperature allowed by the thermostat when using sensor mode A.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
default: 5.0
minimum: 5.0
maximum: 40.0
internalMaximumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode A.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
multipleOf: 0.5
default: 40.0
minimum: 5.0
maximum: 40.0
floorMinimumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decides the lowest temperature allowed by the thermostat when using sensor mode AF, F, A2F.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 5.0
floorMaximumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode AF, F, A2F.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 40.0
externalMinimumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decide the lowest temperature allowed by the thermostat when using sensor mode A2.
Minimum: **5.0** = 5.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 5.0
externalMaximumTemperatureLimit:
type: number
format: float
pattern: '^\d{1,2}\.\d{1}$'
description: >
Decide the highest temperature allowed by the thermostat when using sensor mode A2.
Minimum: **5.0** = 5.0°C
Maximum: **40.0** = 40.0°C (Default)
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 40.0
internalSensorCalibration:
type: number
format: float
pattern: '^-?\d{1}\.\d{1}$'
description: >
Manually calibrate sensor A ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
multipleOf: 0.1
minimum: -6.0
maximum: 6.0
default: 0.0
floorSensorCalibration:
type: number
format: float
pattern: '^-?\d{1}\.\d{1}$'
description: >
Manually calibrate sensor F ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
multipleOf: 0.1
minimum: -6.0
maximum: 6.0
default: 0.0
externalSensorCalibration:
type: number
format: float
pattern: '^-?\d{1}\.\d{1}$'
description: >
Manually calibrate sensor A2 ±6°C.
Minimum: **-6.0** = -6.0°C
Default: **0.0** = 0.0°C
Maximum: **6.0** = +6.0°C
multipleOf: 0.1
minimum: -6.0
maximum: 6.0
default: 0.0
regulationMode:
type: boolean
description: >
Choose between regulation modes PWM and Hysteresis.
**false** = **0** = Hysteresis (Default)
**true** = **1** = PWM
enum:
- false
- true
- 0
- 1
default: false
temperatureControlHysteresis:
type: number
format: float
pattern: '^\d{1}\.\d{1}$'
description: >
Choose the hysteresis used when regulation mode is set to HYST.
Minimum: **0.3** = 0.3°C
Default: **0.5** = 0.5°C
Maximum: **3.0** = 3.0°C
multipleOf: 0.1
minimum: 0.3
maximum: 3.0
default: 0.5
temperatureDisplay:
type: boolean
description: >
Select what is shown on the display during Standby state.
**false** = **0** = Display setpoint (Default)
**true** = **1** = Display measured temperature
enum:
- false
- true
- 0
- 1
default: false
activeDisplayBrightness:
type: integer
pattern: '^\d{2,3}$'
description: >
Configure the brightness of the display during active state.
Minimum: **10** = 10%
Maximum: **100** = 100% (Default)
enum:
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
multipleOf: 10
minimum: 10
maximum: 100
default: 100
standbyDisplayBrightness:
type: integer
pattern: '^\d{1,2}$'
description: >
Configure the brightness of the display during standby state.
Minimum: **0** = 0%
Default: **50** = 50%
Maximum: **100** = 100%
enum:
- 0
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
multipleOf: 10
minimum: 0
maximum: 100
default: 50
actionAfterError:
type: integer
pattern: '^\d{1,5}$'
description: >
Decide how the device should react when the overload / overheating features have turned OFF the relay (Default 0).
**0** = Device will turn off and show an error on the display. (Default)
**10** - **65535** = Device will attempt to turn on again after an error based on the delay specified (10 to 65535 seconds).
minimum: 0
maximum: 65535
default: 0
example: 300
heatingSetpoint:
type: number
format: float
pattern: '^(?:(?:[5-9]|[1-2]\d|3[0-9])(?:\.0|\.5)|40\.0)$'
description: >
Set setpoint for Heating mode.
Minimum: **5.0** = 5.0°C
Default: **21.0** = 21.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 21.0
coolingSetpoint:
type: number
format: float
pattern: '^(?:(?:[5-9]|[1-2]\d|3[0-9])(?:\.0|\.5)|40\.0)$'
description: >
Set setpoint for Cooling mode.
Minimum: **5.0** = 5.0°C
Default: **18.0** = 18.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 18.0
ecoSetpoint:
type: number
format: float
pattern: '^(?:(?:[5-9]|[1-2]\d|3[0-9])(?:\.0|\.5)|40\.0)$'
description: >
Set setpoint for ECO mode.
Minimum: **5.0** = 5.0°C
Default: **18.0** = 18.0°C (Default)
Maximum: **40.0** = 40.0°C
multipleOf: 0.5
minimum: 5.0
maximum: 40.0
default: 18.0
powerRegulatorActiveTime:
type: integer
pattern: '^\d{1,2}$'
description: >
Set the % of time the relay should be active when using PWER mode. (30-minute duty cycle)
Minimum: **10** = 10% = 3 minutes on - 27 minutes off.
Default: **20** = 20% = 6 minutes on - 24 minutes off.
Maximum: **100** = 100% = 30 minutes on - 0 minutes off.
minimum: 10
maximum: 100
default: 20
operatingMode:
type: integer
pattern: '^(?:0|1|2|3)$'
description: >
Set the thermostat mode.
**0** = OFF (Thermostat will not operate)
**1** = Heating mode (Default)
**2** = Cooling mode
**3** = ECO mode
enum:
- 0
- 1
- 2
- 3
default: 1
openWindowDetection:
type: boolean
pattern: '^\d(true|false|0|1)$'
description: >
Choose to enable or disable the Open Window Detection.
**false** = **0** = Open Window Detection is disabled. (Default)
**true** = **1** = Open Window Detection is enabled.
enum:
- false
- true
- 0
- 1
default: false
sizeOfLoad:
type: integer
pattern: '^\d{1,2}$'
description: >
Allows the user to decide the power consumption of the connected load in 100W increments.
**0** = Uses power metering values. (Default)
**100** - **9900** = 100W - 9900W = Allows the user to set the size of the load, used when connected to a contactor.
minimum: 0
maximum: 9900
default: 0
#################
## Device Info ##
#################
deviceInfo:
type: object
properties:
id:
type: string
description: Unique id for each device.
example: dfkfj38f652900jd
name:
type: string
description: Device name from the MyHeatit app.
example: Thermostat hall
room:
type: string
description: The room the device is linked to in the MyHeatit app.
example: hall
state:
type: string
description: Current heating state of the thermostat.
**Idle** = relay is open.
**Heating** = relay is closed in heating- or eco mode.
**Cooling** = relay is closed in cooling mode.
enum:
- Idle
- Heating
- Cooling
example: Idle
currentPower:
type: integer
pattern: '^\d{1,4}$'
description: Current power draw of the device in watt.
example: 2500
totalConsumption:
type: number
format: float
pattern: '^\d+\.\d{2}$'
description: Total consumption in kWh
example: 624.24
internalTemperature:
type: number
format: float
pattern: '^-?\d{1,3}\.\d{1}$'
description: Current measurement from the internal temperature sensor.
example: 20.2
floorTemperature:
type: number
format: float
pattern: '^-?\d{1,3}\.\d{1}$'
description: Current measurement from the floor temperature sensor.
example: 21.2
externalTemperature:
type: number
format: float
pattern: '^-?\d{1,3}\.\d{1}$'
description: Current measurement from the external temperature sensor.
example: 22.2
parameters:
type: object
properties:
disableButtons:
$ref: '#/components/schemas/disableButtons'
sensorMode:
$ref: '#/components/schemas/sensorMode'
externalSensorFallback:
$ref: '#/components/schemas/externalSensorFallback'
sensorValue:
$ref: '#/components/schemas/sensorValue'
internalMinimumTemperatureLimit:
$ref: '#/components/schemas/internalMinimumTemperatureLimit'
internalMaximumTemperatureLimit:
$ref: '#/components/schemas/internalMaximumTemperatureLimit'
floorMinimumTemperatureLimit:
$ref: '#/components/schemas/floorMinimumTemperatureLimit'
floorMaximumTemperatureLimit:
$ref: '#/components/schemas/floorMaximumTemperatureLimit'
externalMinimumTemperatureLimit:
$ref: '#/components/schemas/externalMinimumTemperatureLimit'
externalMaximumTemperatureLimit:
$ref: '#/components/schemas/externalMaximumTemperatureLimit'
internalSensorCalibration:
$ref: '#/components/schemas/internalSensorCalibration'
floorSensorCalibration:
$ref: '#/components/schemas/floorSensorCalibration'
externalSensorCalibration:
$ref: '#/components/schemas/externalSensorCalibration'
regulationMode:
$ref: '#/components/schemas/regulationMode'
temperatureControlHysteresis:
$ref: '#/components/schemas/temperatureControlHysteresis'
temperatureDisplay:
$ref: '#/components/schemas/temperatureDisplay'
activeDisplayBrightness:
$ref: '#/components/schemas/activeDisplayBrightness'
standbyDisplayBrightness:
$ref: '#/components/schemas/standbyDisplayBrightness'
actionAfterError:
$ref: '#/components/schemas/actionAfterError'
heatingSetpoint:
$ref: '#/components/schemas/heatingSetpoint'
coolingSetpoint:
$ref: '#/components/schemas/coolingSetpoint'
ecoSetpoint:
$ref: '#/components/schemas/ecoSetpoint'
powerRegulatorActiveTime:
$ref: '#/components/schemas/powerRegulatorActiveTime'
operatingMode:
$ref: '#/components/schemas/operatingMode'
openWindowDetection:
$ref: '#/components/schemas/openWindowDetection'
sizeOfLoad:
$ref: '#/components/schemas/sizeOfLoad'
OWD:
type: object
properties:
openWindowDetection:
$ref: '#/components/schemas/openWindowDetection'
activeNow:
type: boolean
description: Shows the current status of the Open Window Detection
**false** = Open Window detection is currently not triggered.
**true** = An Open Window has been detected and the setpoint is lowered.
example: false
activeTime:
type: integer
description: Number of seconds left until Open Window Detection returns to normal setpoint.
Device can also return to previous setpoint if the temperature is changed from the local controls, or if the temperature rises by 3°.
example: 3600
blueFusion:
type: object
description: >
Devices connected with BlueFusion to this device.
properties:
link:
type: array
items:
type: object
properties:
id:
description: Unique id for each device
format: id
name:
type: string
description: Device name used in the MyHeatit app.
device:
type: string
description: What type of product the device is.
example:
- id: df4g8b7n2gh9a1c4r4sd2f7
name: Thermostat living room
device: Heatit BLE-Temp3
- id: 6f7g8s5a4h9j2k3l1m0n5b2
name: Thermostat kitchen
device: Heatit BLE-Temp3
directLink:
type: object
properties:
relayControl:
type: array
items:
type: string
masterThermostat:
type: array
items:
type: string
network:
type: object
properties:
SSID:
type: string
description: SSID of the connected wifi network
example: "Home WiFi"
mac:
type: string
description: Mac address of the device
example: "aa:bb:cc:11:22:33"
ipAddress:
type: string
description: IP address of the device on the local network.
example: "192.168.1.10"
wifiSignalStrength:
type: string
description: Wifi signal strength
example: "65dBm"
status:
type: string
description: Status of the connection.
example: "ok"
firmware:
type: string
description: Current firmware version of the device.
example: "1.2"
model:
type: string
description: Model of the device.
example: "Heatit WiFi7"
ResetInfo:
type: object
properties:
statusSuccess:
type: string
enum:
- success
example: success
statusFailed:
type: string
enum:
- failed
example: failed
Devices:
type: array
items:
type: object
properties:
id:
description: Unique id for each device
type: string
format: id
example: sdf87g4bnfc87a523rbsdf4
name:
type: string
description: Device name used in the MyHeatit app.
example: BLE-Temp3 hall
device:
type: string
description: What type of product the device is.
example: BLE-Temp3
example:
- id: df4g8b7n2gh9a1c4r4sd2f7
name: Thermostat living room
device: Heatit BLE-Temp3
- id: 6f7g8s5a4h9j2k3l1m0n5b2
name: Thermostat kitchen
device: Heatit BLE-Temp3
- id: 9d8c7a6b5f4g1h2i3j4k5l6
name: Thermostat bedroom
device: Heatit BLE-Temp3