Skip to main content

Innova Air Conditioner Control API

Project description

PyPI version

Innova Control API

Tested on a Innova 2.0 unit

Also supports AirLeaf

Installation

pip install innova_controls

Innova class usage

Communication protocol

Local Mode

All commands are sent to the unit itself through http at its network IP address: http://[IP_ADDRESS]/api/v/1.

Cloud Mode

Commands are sent to Innova's cloud services at http://innovaenergie.cloud/api/v/1. The serial number and the MAC Address of the unit are needed when using cloud mode.

Protocol definition

We just need to append the following commands and parameters where needed.

Ex: curl http://192.168.1.155/api/v/1/status

It is highly recommended to set the IP of your unit to a static DHCP address.

2.0 Commands and Statuses

Action HTTP Verb API Endpoint Data Needed Extra Info
Status GET /status Returns json object
Power ON POST /power/on
Power OFF POST /power/off
Scheduling ON POST /set/calendar/on Not implemented by this library
Scheduling OFF (Manual) POST /set/calendar/off Not implemented by this library
Night Mode ON POST /set/feature/night value=1
Night Mode OFF POST /set/feature/night value=0
Set point POST /set/setpoint p_temp=24
Rotation ON POST /set/feature/rotation value=0
Rotation OFF POST /set/feature/rotation value=7
Fan Speed POST /set/fan value=[0-4] 0=auto,1=low,2=med,3=high,4=high++
Cooling POST /set/mode/cooling
Heating POST /set/mode/heating
Dehumidification POST /set/mode/dehumidification
Fan Only POST /set/mode/fanonly
Auto POST /set/mode/auto

JSON returned by status endpoint:

{
    "RESULT": {
        "a": [],
        "cci": 0,
        "ccv": 0,
        "cfg_lastWorkingMode": 4,
        "cloudConfig": 1,
        "cloudStatus": 4,
        "cm": 0,                       <--- Scheduling Mode: 0=off, 1=on
        "connectionStatus": 2,
        "coolingDisabled": 0,
        "cp": 0,
        "daynumber": 0,
        "fr": 7,                       <--- Fan Rotation: 0=on, 7=off
        "fs": 0,                       <--- Fan Speed: 0=auto, 1=low, 2=med, 3=high, 4=high++
        "heap": 11760,
        "heatingDisabled": 1,
        "heatingResistance": 0,
        "hotelMode": 0,
        "inputFlags": 0,
        "kl": 0,
        "lastRefresh": 3956,
        "ncc": 0,
        "nm": 0,                        <--- Night Mode: 0=off, 1=on
        "ns": 0,
        "ps": 0,                        <--- Power: 0=off, 1=on
        "pwd": "************",
        "sp": 26,                       <--- Temperature Set point
        "t": 16,                        <--- Ambient Temperature
        "timerStatus": 0,
        "uptime": 159660,
        "uscm": 0,
        "wm": 4                         <--- Mode: 0=heating, 1=cooling, 3=dehumidification, 4=fanonly. 5=auto
    },
    "UID": "[MAC ADDRESS]",
    "deviceType": "001",
    "net": {
        "dhcp": "1",
        "gw": "XXX.XXX.XXX.XXX",
        "ip": "XXX.XXX.XXX.XXX",
        "sub": "255.255.255.0"
    },
    "setup": {
        "name": "Device Name",
        "serial": "YYYYYYYYY"
    },
    "success": true,
    "sw": {
        "V": "1.0.42"
    },
    "time": {
        "d": 5,
        "h": 17,
        "i": 40,
        "m": 2,
        "y": 2022
    }
}

AirLeaf Commands and Statuses

Action HTTP Verb API Endpoint Data Needed Extra Info
Status GET /status Returns json object
Power ON POST /power/on
Power OFF POST /power/off
Scheduling ON POST /set/calendar/on Not implemented by this library
Scheduling OFF (Manual) POST /set/calendar/off Not implemented by this library
Set point POST /set/setpoint p_temp=240
Fan Function POST /set/fan value=[1-4] 1=auto,2=night,3=min,4=max
Cooling POST /set/mode/cooling
Heating POST /set/mode/heating
Auto POST /set/mode/auto

JSON returned by status endpoint:

{
  "success": true,
  "sw": {
    "V": "1.0.3"
  },
  "UID": "f4:cf:a2:5f:29:ef",
  "deviceType": "002",
  "time": {
    "d": 18,
    "m": 10,
    "y": 2022,
    "h": 6,
    "i": 14
  },
  "net": {
    "gw": "XXX.XXX.XXX.XXX",
    "ip": "XXX.XXX.XXX.XXX",
    "sub": "255.255.255.0"
    "dhcp": "1"
  },
  "setup": {
    "name": "Device Name",
    "serial": "YYYYYYYYY"
  },
  "RESULT": {
    "sp": 200,                        <--- Temperature Set point (x10)
    "wm": 3,                          <--- Mode: 0=auto,  3=heating. 5=cooling
    "fn": 1,                          <--- Fan Function: 1=auto, 2=night, 3=min, 4=max
    "kl": 0,
    "lastworkingModeSet": 0,
    "ps": 0,                          <--- Power: 0=off, 1=on
    "cm": 0,                          <--- Scheduling Mode: 0=off, 1=on
    "a": [],
    "ta": 210,                        <--- Ambient Temperature (x10)
    "tw": 219,                        <--- Water Temperature (x10)
    "ns": 0,
    "cloudStatus": 4,
    "connectionStatus": 2,
    "cloudConfig": 1,
    "timerStatus": 0,
    "inputFlags": 0,
    "ncc": 0,
    "lcc": 0,
    "pwd": "",
    "heap": 11496,
    "ccv": 0,
    "cci": 0,
    "daynumber": 0,
    "uptime": 90675,
    "fclFw": 24,
    "uscm": 0,
    "lastRefresh": 2
  }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

innova-controls-2.0.4.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

innova_controls-2.0.4-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file innova-controls-2.0.4.tar.gz.

File metadata

  • Download URL: innova-controls-2.0.4.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for innova-controls-2.0.4.tar.gz
Algorithm Hash digest
SHA256 5fc7adc266a63774a4ce69e52a86c4521ce46ed4ed388a800422a0eb9a5b1f14
MD5 2e118332b294c801e10260ca1a8eaa2d
BLAKE2b-256 8b1c05b7259e38bcd01c113d703a76cdd6536ee3822cab56911b5025cef09009

See more details on using hashes here.

File details

Details for the file innova_controls-2.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for innova_controls-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1e61d09e6f4604df05e070ad12e22068437e1e8533bd0685dc288a498d105b09
MD5 e9028998780e6e1a7894f4ac60b992f9
BLAKE2b-256 02ae4c58dbaa9306daa0a917a1e616d2ac1a7bfb22fca9742b2282ac36e32497

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page