summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 03:23:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 03:23:43 +0000
commit549203857bd04f9c6d324a3b9a8c6bf8fe1f2519 (patch)
treea19c00eef02e05b0b2cf04a6407e275fdef85a1b
parentef7a4aa2857f08bfbee89c53b457be709f1d901b (diff)
automatic import of python-pyintesishome
-rw-r--r--.gitignore1
-rw-r--r--python-pyintesishome.spec268
-rw-r--r--sources1
3 files changed, 270 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..18cce64 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyintesishome-1.8.4.tar.gz
diff --git a/python-pyintesishome.spec b/python-pyintesishome.spec
new file mode 100644
index 0000000..15c0780
--- /dev/null
+++ b/python-pyintesishome.spec
@@ -0,0 +1,268 @@
+%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 <Python_Bot@openeuler.org> - 1.8.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..6075022
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+40ea9e97a06d76fa4ca10537214e1393 pyintesishome-1.8.4.tar.gz