Skip to main content

A python3 library for running asynchronus communications with IntesisHome Smart AC Controllers

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

pyIntesisHome2

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 user.intesishome.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_callback() method.

Library basic example

import asyncio
from pyintesishome2 import IntesisHome

async def main(loop):
    controller = IntesisHome('username', 'password', loop=loop, device_type='airconwithme')
    await controller.connect()
    print(repr(controller.get_devices()))
    # Imagine you have a device with id 12015601252591
    if await controller.get_power_state('12015601252591') == 'off':
        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')

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    result = loop.run_until_complete(main(loop))

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)

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

pyintesishome2-1.8.8.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

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

pyintesishome2-1.8.8-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file pyintesishome2-1.8.8.tar.gz.

File metadata

  • Download URL: pyintesishome2-1.8.8.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyintesishome2-1.8.8.tar.gz
Algorithm Hash digest
SHA256 7cbd98ba7410f434ecdfe0aab591d5db8542518e8b12aefa9ae9d233b73f6d39
MD5 75a25cd930bbdba016852241edc6a001
BLAKE2b-256 5ca847939946be6cf2af63cc05b8e1c97017b60990bdf9b431eac0e5953f49d7

See more details on using hashes here.

File details

Details for the file pyintesishome2-1.8.8-py3-none-any.whl.

File metadata

  • Download URL: pyintesishome2-1.8.8-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyintesishome2-1.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7483d12b5a9d3defcc914eca8ffc85454fd0d37a7abdd94725698520a0450da6
MD5 dc76221827590a9428beea71589ba21c
BLAKE2b-256 0e8c41009176b8e9601a5f955172f6fdb2d6d8e77f159d77390ce8e93013ae53

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