Skip to main content

pyIntesisHome

This project is a python3 library for interfacing with Intesis air conditioning controllers, including cloud control of IntesisHome (Airconwithme + anywAiR) and local control of IntesisBox devices. It is fully asynchronous using the aiohttp library, and utilises the private API used by the IntesisHome mobile apps.

Home Assistant

To use with Home Assistant, add the following to your configuration.yaml

IntesisHome configuration example

climate:
  - platform: intesishome
    username: YOUR_USERNAME
    password: YOUR_PASSWORD

IntesisBox configuration example

climate:
  - platform: intesishome
    device: IntesisBox
    host: 192.168.1.50

Library usage

  • Instantiate the IntesisHome controller device with username and password for the accloud.intesis.com website.
  • Status can be polled using the poll_status command suggested maximum of once every 5 minutes.
  • Commands are sent using a TCP connection to the API which will then remain open until the connection times out.
  • While the persistent TCP connection is open, status updates are pushed to the device over the socket meaning polling is not required (check using is_connected property)
  • Callbacks to be notified of state updates can be added with the add_update_callback() method.

Library basic example

import asyncio
from pyintesishome import IntesisHome


async def main():
    controller = IntesisHome("username", "password", device_type="airconwithme")
    await controller.connect()
    print(repr(controller.get_devices()))
    # Imagine you have a device with id 12015601252591
    if not controller.is_on("12015601252591"):
        await controller.set_power_on("12015601252591")

    await controller.set_mode_heat("12015601252591")
    await controller.set_temperature("12015601252591", 22)
    await controller.set_fan_speed("12015601252591", "quiet")

    await controller.stop()


if __name__ == "__main__":
    asyncio.run(main())

Callback-driven example

Rather than polling, subscribe to state-change notifications with add_update_callback(). The callback fires whenever the controller receives a push update over its connection, so this example just connects and reacts to changes as they arrive:

import asyncio
from pyintesishome import IntesisHome


async def on_update(device_id=None):
    print(f"Device {device_id} updated")


async def main():
    controller = IntesisHome("username", "password", device_type="airconwithme")
    controller.add_update_callback(on_update)
    await controller.connect()

    # Keep the connection open to keep receiving pushed updates
    while controller.is_connected:
        await asyncio.sleep(60)

    await controller.stop()


if __name__ == "__main__":
    asyncio.run(main())

Control methods

  • set_mode_heat(deviceID)
  • set_mode_cool(deviceID)
  • set_mode_fan(deviceID)
  • set_mode_dry(deviceID)
  • set_mode_auto(deviceID)
  • set_temperature(deviceID, temperature)
  • set_fan_speed(deviceID, 'quiet' | 'low' | 'medium' | 'high' | 'auto')
  • set_power_on(deviceID)
  • set_power_off(deviceID)

Download files

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

Source Distribution

pyintesishome-2.2.1.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

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

pyintesishome-2.2.1-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file pyintesishome-2.2.1.tar.gz.

File metadata

  • Download URL: pyintesishome-2.2.1.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyintesishome-2.2.1.tar.gz
Algorithm Hash digest
SHA256 322930a56737148731f7140b3dc15cfc78cbcf65311c4d9ddef95dd32d512ce4
MD5 ec93530f68db1f6c37e25d63876454bd
BLAKE2b-256 796e9c1f260c5a989a518a144527d6c6cab08930f2099ab350fad91789321c97

See more details on using hashes here.

File details

Details for the file pyintesishome-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyintesishome-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyintesishome-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 94640092bdefae4e5f15ec62ecedd52c85060547ebdaea8f1c79d1a9c962705d
MD5 31d5debb0fe2344b07b6d16f894bd822
BLAKE2b-256 61571c8ef554c512ea47c80c0043ef9a26dcb02298ed382f346ee96919a32e7c

See more details on using hashes here.

Release history Release notifications | RSS feed

2.5.0

2 files

2.4.0

2 files

2.3.0

2 files

This release

2.2.1 This release

2 files

2.2.0

2 files

2.1.0

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.8.8

2 files

1.8.7

2 files

1.8.5

2 files

1.8.4

2 files

1.8.3

2 files

1.8.1

2 files

1.8.0

2 files

1.7.7

2 files

1.7.6

1 file

1.7.5

2 files

1.7.4

2 files

1.7.3

2 files

1.7.2

2 files

1.7.1

1 file

1.7

2 files

1.6

1 file

1.5.post2

1 file

1.5.post1

2 files

1.5

2 files

1.4

2 files

1.3

2 files

1.2

2 files

1.1

2 files

1.0

2 files

0.9

2 files

0.8

1 file

0.7

1 file

0.6

1 file

0.5

1 file

0.4

1 file

0.3

1 file

0.2

1 file

0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page