%global _empty_manifest_terminate_build 0 Name: python-pyrainbird Version: 2.0.1 Release: 1 Summary: Rain Bird Controller License: MIT URL: https://github.com/allenporter/pyrainbird Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f7/61/9605169475f3d6d537fac4509fdc2dd4964d9dab65e73601209dc5cfadca/pyrainbird-2.0.1.tar.gz BuildArch: noarch Requires: python3-pycryptodome Requires: python3-requests Requires: python3-PyYAML Requires: python3-pydantic Requires: python3-dateutil Requires: python3-ical %description Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. See the [github project](https://github.com/allenporter/pyrainbird). # Quickstart This is an example usage to get the current irrigation state for all available irrigation zones: ``` import aiohttp from pyrainbird import async_client async with aiohttp.ClientSession() as client: controller: AsyncRainbirdController = async_client.CreateController( client, "192.168.1.1", "password" ) zones = await controller.get_available_stations() states = await controller.get_zone_states() for zone in zones: if zone in states.active_set: print("Sprinkler zone {zone} is active") ``` See [examples](examples/) for additional details on how to use the APIs and an example command line tool for querying the device. # Compatibility This library has been tested with the following devices: - ESP-TM2 You are welcome to file an issue for improved compatibility with your device especially if you include debug logs that capture the API responses form the device. See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as running the tests and other tooling used in development. %package -n python3-pyrainbird Summary: Rain Bird Controller Provides: python-pyrainbird BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyrainbird Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. See the [github project](https://github.com/allenporter/pyrainbird). # Quickstart This is an example usage to get the current irrigation state for all available irrigation zones: ``` import aiohttp from pyrainbird import async_client async with aiohttp.ClientSession() as client: controller: AsyncRainbirdController = async_client.CreateController( client, "192.168.1.1", "password" ) zones = await controller.get_available_stations() states = await controller.get_zone_states() for zone in zones: if zone in states.active_set: print("Sprinkler zone {zone} is active") ``` See [examples](examples/) for additional details on how to use the APIs and an example command line tool for querying the device. # Compatibility This library has been tested with the following devices: - ESP-TM2 You are welcome to file an issue for improved compatibility with your device especially if you include debug logs that capture the API responses form the device. See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as running the tests and other tooling used in development. %package help Summary: Development documents and examples for pyrainbird Provides: python3-pyrainbird-doc %description help Python module for interacting with [WiFi LNK](https://www.rainbird.com/products/module-wi-fi-lnk) module of the Rain Bird Irrigation system. This project has no affiliation with Rain Bird. This module communicates directly towards the IP Address of the WiFi module. You can start/stop the irrigation, get the currently active zone, and other controller settings. This library currently only has very limited cloud support. Also there are a number of Rain Bird devices with very different command APIs. See [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference. See the [github project](https://github.com/allenporter/pyrainbird). # Quickstart This is an example usage to get the current irrigation state for all available irrigation zones: ``` import aiohttp from pyrainbird import async_client async with aiohttp.ClientSession() as client: controller: AsyncRainbirdController = async_client.CreateController( client, "192.168.1.1", "password" ) zones = await controller.get_available_stations() states = await controller.get_zone_states() for zone in zones: if zone in states.active_set: print("Sprinkler zone {zone} is active") ``` See [examples](examples/) for additional details on how to use the APIs and an example command line tool for querying the device. # Compatibility This library has been tested with the following devices: - ESP-TM2 You are welcome to file an issue for improved compatibility with your device especially if you include debug logs that capture the API responses form the device. See [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as running the tests and other tooling used in development. %prep %autosetup -n pyrainbird-2.0.1 %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-pyrainbird -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 2.0.1-1 - Package Spec generated