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: version: "12.0.0" title: Heatit WiFi Panel description: The API documentation for WiFi Panel 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: - name: "Panel" description: Get data from the device - name: "Parameters" description: Change parameters on the device - name: "BlueFusion" description: Get data and change parameters on BlueFusion connected devices. - name: "DirectLink" description: Set and delete DirectLinks between devices. - name: "Reset" description: Reset settings, kwh or entire device to factory defaults paths: /api/status: get: tags: - Panel 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: Set parameters on the device. description: Change parameters on the device. At least one parameter is required. parameters: - $ref: "#/components/parameters/panelMode" - $ref: "#/components/parameters/sensorCalibration" - $ref: "#/components/parameters/temperatureDisplay" - $ref: "#/components/parameters/sensorMode" - $ref: "#/components/parameters/externalSensorFallback" - $ref: "#/components/parameters/activeDisplayBrightness" - $ref: "#/components/parameters/standbyDisplayBrightness" - $ref: "#/components/parameters/heatingSetpoint" - $ref: "#/components/parameters/ecoSetpoint" - $ref: "#/components/parameters/minimumTemperatureLimit" - $ref: "#/components/parameters/maximumTemperatureLimit" - $ref: "#/components/parameters/openWindowDetection" - $ref: "#/components/parameters/loadLimit" - $ref: "#/components/parameters/disableButtons" - $ref: "#/components/parameters/lowTemperatureProtection" responses: "200": description: Successful content: application/json: schema: oneOf: - $ref: "#/components/schemas/panelMode" - $ref: "#/components/schemas/sensorCalibration" - $ref: "#/components/schemas/temperatureDisplay" - $ref: "#/components/schemas/sensorMode" - $ref: "#/components/schemas/externalSensorFallback" - $ref: "#/components/schemas/activeDisplayBrightness" - $ref: "#/components/schemas/standbyDisplayBrightness" - $ref: "#/components/schemas/heatingSetpoint" - $ref: "#/components/schemas/ecoSetpoint" - $ref: "#/components/schemas/minimumTemperatureLimit" - $ref: "#/components/schemas/maximumTemperatureLimit" - $ref: "#/components/schemas/openWindowDetection" - $ref: "#/components/schemas/loadLimit" - $ref: "#/components/schemas/disableButtons" - $ref: "#/components/schemas/lowTemperatureProtection" examples: Panel Mode (MODE): value: status: success panelMode: 1 Sensor calibration (CAL): value: status: success sensorCalibration: -1.0 Temperature display: value: status: success temperatureDisplay: true Sensor mode: value: status: success sensorMode: false External sensor fallback: value: status: success externalSensorFallback: true Active display brightness (BR1): value: status: success activeDisplayBrightness: 7 Standby display brightness (BR2): value: status: success standbyDisplayBrightness: 5 heatingSetpoint: value: status: success heatingSetpoint: 23.0 ecoSetpoint: value: status: success ecoSetpoint: 19.0 Minimum temperature limit (MIN): value: status: success minimumTemperatureLimit: 6.0 Maximum temperature limit (MAX): value: status: success maximumTemperatureLimit: 35.0 Open Window Detection (OWD): value: status: success openWindowDetection: true Load limit (LOLI): value: status: success loadLimit: 5 Disable buttons: value: status: success disableButtons: 0 Low temperature protection: value: status: success lowTemperatureProtection: 0 Multiple parameters at the same time: value: status: success panelMode: 1 sensorCalibration: -1.0 temperatureDisplay: true sensorMode: false externalSensorFallback: true activeDisplayBrightness: 7 standbyDisplayBrightness: 5 heatingSetpoint: 23.0 ecoSetpoint: 19.0 minimumTemperatureLimit: 6.0 maximumTemperatureLimit: 35.0 openWindowDetection: true loadLimit: 5 disableButtons: 0 lowTemperatureProtection: 0 "400": description: Failed content: application/json: schema: type: object properties: status: type: string reason: type: string 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/reset/factory: delete: tags: - Reset summary: Reset the device to factory default. description: Reset the device to factory defaults. This will reset network settings or remove the device from the app. parameters: - name: reset description: Reset the device to factory defaults. 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 on the device to factory default. description: Reset settings on the device to factory defaults. This will not reset network settings or remove the device from the app. parameters: - name: resetSettings description: Resets all settings to factory defaults. 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" "400": description: Failed content: application/json: schema: type: object properties: reset: $ref: "#/components/schemas/ResetInfo/properties/statusFailed" /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 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: [] 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 reason: type: string 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 /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: 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: status: type: string examples: Success: value: status: success 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: 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: status: type: string examples: Success: value: status: success Failed: value: status: failed reason: no response from device /api/directlink: get: tags: - DirectLink summary: Get current DirectLink connections description: Returns list of all DirectLink connections for this 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: "df4g8b7n2gh9a1c4r4sd2f7" name: "Relay living room" macAddress: "AA:BB:CC:DD:EE:FF" masterThermostat: - id: "9d8c7a6b5f4g1h2i3j4k5l6" name: "Thermostat bedroom" macAddress: "11:22:33:44:55:66" 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 - name: ipAddress description: IP address of the device to connect to in: query required: true schema: type: string format: ipv4 example: "192.168.1.100" responses: "200": description: Successful content: application/json: schema: type: object properties: status: type: string macAddress: type: string description: MAC address of the connected device examples: Success: value: status: success. macAddress: "AA:BB:CC:DD:EE:FF" 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. parameters: - name: directLink description: Choose which DirectLink function you want to remove from. in: query required: false schema: type: string enum: - relayControl - masterThermostat - name: device description: Enter the id of the device you want to remove from the DirectLink connections. in: query required: false schema: type: string format: id example: sdf87g4bnfc87a523rbsdf4 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 components: parameters: panelMode: name: panelMode description: Chooses the mode of the panel
**0** = Off
**1** = Heating
**2** = Eco in: query required: false schema: $ref: "#/components/schemas/panelMode" example: 1 sensorCalibration: name: sensorCalibration description: Calibrate the sensor
**-6.0** = -6.0°
**6.0** = 6.0° in: query required: false schema: $ref: "#/components/schemas/sensorCalibration" temperatureDisplay: name: temperatureDisplay description: Choose what temperature to show in the display in standby mode.
**false** = Display setpoint temperature
**true** = Display measured temperature in: query required: false schema: $ref: "#/components/schemas/temperatureDisplay" sensorMode: name: sensorMode description: Choose which sensor mode the device should operate with
**false** = Internal sensor (Default)
**true** = External wireless sensor in: query required: false schema: $ref: "#/components/schemas/sensorMode" externalSensorFallback: name: externalSensorFallback description: Choose what happens if the external sensor stops reporting.
**false** = Off
**true** = internal sensor (Default) in: query required: false schema: $ref: "#/components/schemas/externalSensorFallback" activeDisplayBrightness: name: activeDisplayBrightness description: Set display brightness for active state
**1** = 10%
**10** = 100% in: query required: false schema: $ref: "#/components/schemas/activeDisplayBrightness" standbyDisplayBrightness: name: standbyDisplayBrightness description: Set display brightness for standby state
**0** = 0%
**10** = 100% in: query required: false schema: $ref: "#/components/schemas/standbyDisplayBrightness" heatingSetpoint: name: heatingSetpoint description: Desired heating temperature
**5.0** = 5.0°
**40.0** = 40.0° in: query required: false schema: $ref: "#/components/schemas/heatingSetpoint" ecoSetpoint: name: ecoSetpoint description: Desired ECO temperature
**5.0** = 5.0°
**40.0** = 40.0° in: query required: false schema: $ref: "#/components/schemas/ecoSetpoint" minimumTemperatureLimit: name: minimumTemperatureLimit description: Set lowest temperature
**5.0** = 5.0°
**40.0** = 40.0° in: query required: false schema: $ref: "#/components/schemas/minimumTemperatureLimit" maximumTemperatureLimit: name: maximumTemperatureLimit description: Set highest temperature
**5.0** = 5.0°
**40.0** = 40.0° in: query required: false schema: $ref: "#/components/schemas/maximumTemperatureLimit" openWindowDetection: name: openWindowDetection description: Shows if the Open Window Detection feature is enabled or disabled.
**false** = disabled
**true** = enabled in: query required: false schema: $ref: "#/components/schemas/openWindowDetection" loadLimit: name: loadLimit description: The power the Panel should operate at. **1**=100W, **2**=200W, etc. in: query required: false schema: $ref: "#/components/schemas/loadLimit" disableButtons: name: disableButtons description: Disable device buttons
**0** = Buttons are not disabled
**1** = Buttons are disabled
**2** = lock menu in: query required: false schema: $ref: "#/components/schemas/disableButtons" lowTemperatureProtection: name: lowTemperatureProtection description: Will turn on heating if the temperature drops below the value set in the parameter
**0** = disabled (Default)
**1-10** = Turn on when temperature is below value in °C in: query required: false schema: $ref: "#/components/schemas/lowTemperatureProtection" schemas: panelMode: type: integer description: Chooses the mode of the panel
**0** = Off
**1** = Heating
**2** = Eco enum: - 0 - 1 - 2 default: 1 minimum: 0 maximum: 2 sensorCalibration: type: number format: float pattern: '^-?\d+\.\d{1}$' description: Calibrate the sensor
**-6.0** = -6.0° (minimum)
**6.0** = 6.0° (maximum) default: 0.0 minimum: -6.0 maximum: 6.0 example: 0.0 temperatureDisplay: type: boolean description: Choose what temperature to show in the display in standby mode.
**false** = Display setpoint temperature
**true** = Display measured temperature enum: - false - true default: false sensorMode: type: boolean description: Choose which sensor mode the device should operate with
**false** = Internal sensor (Default)
**true** = External wireless sensor enum: - false - true default: false externalSensorFallback: type: boolean description: Choose what happens if the external sensor stops reporting.
**false** = Off
**true** = internal sensor (Default) enum: - false - true default: true activeDisplayBrightness: type: integer description: Set display brightness for active state
**1** = 10%
**10** = 100% default: 10 minimum: 1 maximum: 10 standbyDisplayBrightness: type: integer description: Set display brightness for standby state
**0** = 0%
**10** = 100% default: 5 minimum: 0 maximum: 10 heatingSetpoint: type: number format: float pattern: '^\d+\.\d{1}$' description: Desired heating temperature
**5.0** = 5.0°
**40.0** = 40.0° default: 21.0 minimum: 5.0 maximum: 40.0 ecoSetpoint: type: number format: float pattern: '^\d+\.\d{1}$' description: Desired ECO temperature
**5.0** = 5.0°
**40.0** = 40.0° default: 18.0 minimum: 5.0 maximum: 40.0 minimumTemperatureLimit: type: number format: float pattern: '^\d+\.\d{1}$' description: Set lowest temperature
**5.0** = 5.0°
**40.0** = 40.0° default: 5.0 minimum: 5.0 maximum: 40.0 maximumTemperatureLimit: type: number format: float pattern: '^\d+\.\d{1}$' description: Set highest temperature
**5.0** = 5.0°
**40.0** = 40.0° default: 40.0 minimum: 5.0 maximum: 40.0 openWindowDetection: type: boolean description: Shows if the Open Window Detection feature is enabled or disabled.
**false** = disabled
**true** = enabled default: false loadLimit: type: integer description: The power the Panel should operate at. **1**=100W, **2**=200W, etc. default: 15 minimum: 1 maximum: 15 disableButtons: type: integer description: Disable device buttons
**0** = Buttons are not disabled
**1** = Buttons are disabled
**2** = lock menu enum: - 0 - 1 - 2 default: 0 lowTemperatureProtection: type: integer description: Will turn on heating if the temperature drops below the value set in the parameter
**0** = disabled (Default)
**1-10** = Turn on when temperature is below value in °C default: 0 minimum: 0 maximum: 10 DeviceInfo: type: object properties: id: type: string description: Unique id for each device example: sdf87g4bnfc87a523rbsdf4 name: type: string description: Device name used in the MyHeatit app. example: Panel hall room: type: string description: The room the device is assigned to in the MyHeatit app. example: hall state: type: string description: The current state for heating. Is the heating element currently on? enum: - Idle - Heating example: Idle currentPower: type: integer pattern: '^\d+$' description: Power consumption in W minimum: 0 maximum: 1500 example: 1500 totalConsumption: type: number format: float pattern: '^\d+\.\d{2}$' description: Total consumption in kWh example: 624.25 roomTemperature: type: number format: float pattern: '^-?\d+\.\d{1}$' description: Current temperature measurement example: 22.2 parameters: type: object properties: panelMode: $ref: "#/components/schemas/panelMode" sensorCalibration: $ref: "#/components/schemas/sensorCalibration" temperatureDisplay: $ref: "#/components/schemas/temperatureDisplay" sensorMode: $ref: "#/components/schemas/sensorMode" externalSensorFallback: $ref: "#/components/schemas/externalSensorFallback" activeDisplayBrightness: $ref: "#/components/schemas/activeDisplayBrightness" standbyDisplayBrightness: $ref: "#/components/schemas/standbyDisplayBrightness" heatingSetpoint: $ref: "#/components/schemas/heatingSetpoint" ecoSetpoint: $ref: "#/components/schemas/ecoSetpoint" minimumTemperatureLimit: $ref: "#/components/schemas/minimumTemperatureLimit" maximumTemperatureLimit: $ref: "#/components/schemas/maximumTemperatureLimit" lowTemperatureProtection: type: object properties: lowTemperatureProtection: $ref: "#/components/schemas/lowTemperatureProtection" activeNow: type: string description: Shows the current state of the Low Temperature Protection.
**disabled** = Feature is disabled
**Idle** = Feature is enabled but not active
**Heating** = Feature is active and heating enum: - disabled - Idle - Heating default: disabled example: Idle OWD: type: object properties: openWindowDetection: $ref: "#/components/schemas/openWindowDetection" activeNow: type: boolean description: Shows the current state of the Open Window Detection. false = No open window detected. true = Open window detected. Setpoint is lowered. enum: - false - true default: false example: false activeTime: type: integer pattern: '^\d+$' description: Seconds left until the Open Window Detection done. default: 0 example: 3245 loadLimit: $ref: "#/components/schemas/loadLimit" maxLoad: type: integer description: Maximum load the device can handle. Varies on the model of the device. default: 15 minimum: 4 maximum: 15 disableButtons: $ref: "#/components/schemas/disableButtons" 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 example: "1.2" 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: type: string description: Unique id for each device 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