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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bdfa8e61b5069211239f6af5e0d6afc972451c738ccf03c551843c2dfb2b6a8 |
|
MD5 | c37b577dd9461e2d522b248b99c5f600 |
|
BLAKE2b-256 | dba69a82717ae942115548f802e5110320081bd7ce625b3ecd63ddc0ac557210 |
File details
Details for the file pyintesishome-1.8.5-py3-none-any.whl
.
File metadata
- Download URL: pyintesishome-1.8.5-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df29a72462a24a0963aca12631a115d4be74f2aef26bfced0db53556de7c0861 |
|
MD5 | 42f35404b00fac5b51d3fb9609c33fe6 |
|
BLAKE2b-256 | e0ed14fd997e9680545174cdecaf9cb693fa889910edc12a27abd0519a35f16b |