Skip to main content

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

Project description

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 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 pyintesishome 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

pyintesishome-1.8.5.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

pyintesishome-1.8.5-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyintesishome-1.8.5.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for pyintesishome-1.8.5.tar.gz
Algorithm Hash digest
SHA256 7bdfa8e61b5069211239f6af5e0d6afc972451c738ccf03c551843c2dfb2b6a8
MD5 c37b577dd9461e2d522b248b99c5f600
BLAKE2b-256 dba69a82717ae942115548f802e5110320081bd7ce625b3ecd63ddc0ac557210

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyintesishome-1.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 df29a72462a24a0963aca12631a115d4be74f2aef26bfced0db53556de7c0861
MD5 42f35404b00fac5b51d3fb9609c33fe6
BLAKE2b-256 e0ed14fd997e9680545174cdecaf9cb693fa889910edc12a27abd0519a35f16b

See more details on using hashes here.

Supported by

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