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.
Raw data
{
"_id": null,
"home_page": "https://github.com/allenporter/pyrainbird",
"name": "pyrainbird",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "Rain Bird",
"author": "J.J.Barrancos",
"author_email": "jordy@fusion-ict.nl",
"download_url": "https://files.pythonhosted.org/packages/0e/39/1a46bde9fe0985ea36287926692e12a7dce7d6978daca867093d18942d79/pyrainbird-4.0.2.tar.gz",
"platform": null,
"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.\n\nThis 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.\n\nSee [documentation](https://allenporter.github.io/pyrainbird/) for full quickstart and API reference.\nSee the [github project](https://github.com/allenporter/pyrainbird).\n\n# Quickstart\n\nThis is an example usage to get the current irrigation state for all available\nirrigation zones:\n```\nimport aiohttp\nfrom pyrainbird import async_client\n\nasync with aiohttp.ClientSession() as client:\n controller: AsyncRainbirdController = async_client.CreateController(\n client,\n \"192.168.1.1\",\n \"password\"\n )\n zones = await controller.get_available_stations()\n states = await controller.get_zone_states()\n for zone in zones:\n if zone in states.active_set:\n print(\"Sprinkler zone {zone} is active\")\n```\n\nSee [examples](examples/) for additional details on how to use the APIs and an example command\nline tool for querying the device.\n\n# Compatibility\n\nThis library has been tested with the following devices:\n\n - ESP-TM2\n\nYou are welcome to file an issue for improved compatibility with your device especially if you\ninclude debug logs that capture the API responses form the device.\n\nSee [CONTRIBUTING](CONTRIBUTING.md) for details on developing in the library itself, such as\nrunning the tests and other tooling used in development.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Rain Bird Controller",
"version": "4.0.2",
"project_urls": {
"Homepage": "https://github.com/allenporter/pyrainbird"
},
"split_keywords": [
"rain",
"bird"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8b144d0e30c7b6e17ecf826302bee95d293b11b2488b57e86f3711646991efd6",
"md5": "b24b331884428c149381ee89b5d08bf1",
"sha256": "344154858e476d4d24b17db426494c58cb1bcde47b0d30d7c24a74f4bd312221"
},
"downloads": -1,
"filename": "pyrainbird-4.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b24b331884428c149381ee89b5d08bf1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 22334,
"upload_time": "2024-02-17T18:14:47",
"upload_time_iso_8601": "2024-02-17T18:14:47.412081Z",
"url": "https://files.pythonhosted.org/packages/8b/14/4d0e30c7b6e17ecf826302bee95d293b11b2488b57e86f3711646991efd6/pyrainbird-4.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e391a46bde9fe0985ea36287926692e12a7dce7d6978daca867093d18942d79",
"md5": "71abb13b2024923eafa45120305191a6",
"sha256": "c726d35bd560daccf57f5034cbff45cc0bc01535d3d4379ef5d95f7b75e8455d"
},
"downloads": -1,
"filename": "pyrainbird-4.0.2.tar.gz",
"has_sig": false,
"md5_digest": "71abb13b2024923eafa45120305191a6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 27026,
"upload_time": "2024-02-17T18:14:48",
"upload_time_iso_8601": "2024-02-17T18:14:48.786651Z",
"url": "https://files.pythonhosted.org/packages/0e/39/1a46bde9fe0985ea36287926692e12a7dce7d6978daca867093d18942d79/pyrainbird-4.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-17 18:14:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "allenporter",
"github_project": "pyrainbird",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "pyrainbird"
}