Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

innova-controls

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

innova-controls

Innova Air Conditioner Control API

  • 2.2.3
  • Source
  • PyPI
  • Socket score

Maintainers
1

PyPI version

Innova Control API

Tested on a Innova 2.0 unit

Also supports AirLeaf

Installation

pip install innova_controls

Innova class usage

See test_main.py for some example usage.

This is far from perfect documentation, but it is a start.

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 https://innovaenergie.cloud/api/v/1 (or https://fancoil.innovaenergie.cloud/api/v/1 for AirLeaf, but currently not working). The serial number and the MAC Address of the unit are needed when using cloud mode.

The following custom http headers are added to requests to identify units

  • "X-serial": UNIT_SERIAL_NUMBER
  • "X-UID": UNIT_MAC_ADDRESS

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
ActionHTTP VerbAPI EndpointData Needed (Content-Type: application/x-www-form-urlencoded)Extra Info
StatusGET/statusReturns json object
Power ONPOST/power/on
Power OFFPOST/power/off
Scheduling ONPOST/set/calendar/on
Scheduling OFF (Manual)POST/set/calendar/off
Night Mode ONPOST/set/feature/nightvalue=1
Night Mode OFFPOST/set/feature/nightvalue=0
Set pointPOST/set/setpointp_temp=24
Rotation ONPOST/set/feature/rotationvalue=0
Rotation OFFPOST/set/feature/rotationvalue=7
Fan SpeedPOST/set/fanvalue=[0-4]0=auto,1=low,2=med,3=high,4=high++
CoolingPOST/set/mode/cooling
HeatingPOST/set/mode/heating
DehumidificationPOST/set/mode/dehumidification
Fan OnlyPOST/set/mode/fanonly
AutoPOST/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                         <--- Working 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
ActionHTTP VerbAPI EndpointData Needed (Content-Type: application/json)Extra Info
StatusGET/statusReturns json object
Power ONPOST/power/on
Power OFFPOST/power/off
Scheduling ONPOST/set/calendar/on
Scheduling OFF (Manual)POST/set/calendar/off
Set pointPOST/set/setpointtemp=240On AirLeaf, temperatures are multiplied by 10
Fan Function AutoPOST/set/function/autovalue=1
Fan Function NightPOST/set/function/nightvalue=1
Fan Function MinPOST/set/function/minvalue=1
Fan Function MaxPOST/set/function/maxvalue=1
CoolingPOST/set/mode/cooling
HeatingPOST/set/mode/heating

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,                          <--- Working Mode: 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
  }
}

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc