%global _empty_manifest_terminate_build 0 Name: python-pyintesishome Version: 1.8.4 Release: 1 Summary: A python3 library for running asynchronus communications with IntesisHome Smart AC Controllers License: MIT URL: https://github.com/jnimmo/pyIntesisHome Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ee/fe/4ecb455a92870d5c15ce50162f4806e6884175f1691d3a87937e611aa694/pyintesishome-1.8.4.tar.gz BuildArch: noarch Requires: python3-aiohttp %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](https://www.home-assistant.io/integrations/intesishome/), add the following to your configuration.yaml #### IntesisHome configuration example ```yaml climate: - platform: intesishome username: YOUR_USERNAME password: YOUR_PASSWORD ``` #### IntesisBox configuration example ```yaml 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 ```python 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) %package -n python3-pyintesishome Summary: A python3 library for running asynchronus communications with IntesisHome Smart AC Controllers Provides: python-pyintesishome BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyintesishome # 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](https://www.home-assistant.io/integrations/intesishome/), add the following to your configuration.yaml #### IntesisHome configuration example ```yaml climate: - platform: intesishome username: YOUR_USERNAME password: YOUR_PASSWORD ``` #### IntesisBox configuration example ```yaml 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 ```python 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) %package help Summary: Development documents and examples for pyintesishome Provides: python3-pyintesishome-doc %description help # 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](https://www.home-assistant.io/integrations/intesishome/), add the following to your configuration.yaml #### IntesisHome configuration example ```yaml climate: - platform: intesishome username: YOUR_USERNAME password: YOUR_PASSWORD ``` #### IntesisBox configuration example ```yaml 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 ```python 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) %prep %autosetup -n pyintesishome-1.8.4 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pyintesishome -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu May 18 2023 Python_Bot - 1.8.4-1 - Package Spec generated