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": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "Rain Bird",
"author": "J.J.Barrancos",
"author_email": "jordy@fusion-ict.nl",
"download_url": "https://files.pythonhosted.org/packages/e3/c6/162a04b3f8746845f44ff236ca886db23c08f515c30c81f30e9fedda1b2c/pyrainbird-6.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": "6.0.2",
"project_urls": {
"Homepage": "https://github.com/allenporter/pyrainbird"
},
"split_keywords": [
"rain",
"bird"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "52a0252914ecbd8563660deaf66bda82cc71443ddf846de5fb2fb3883844d1a2",
"md5": "feb6a9102fe32b1a72a6b3314661a042",
"sha256": "6286b3833c1f7b34a56a2d1a266adb8ae7809caed7c08bdcaa63ec1088009f2d"
},
"downloads": -1,
"filename": "pyrainbird-6.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "feb6a9102fe32b1a72a6b3314661a042",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 22622,
"upload_time": "2024-05-12T21:22:36",
"upload_time_iso_8601": "2024-05-12T21:22:36.668834Z",
"url": "https://files.pythonhosted.org/packages/52/a0/252914ecbd8563660deaf66bda82cc71443ddf846de5fb2fb3883844d1a2/pyrainbird-6.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3c6162a04b3f8746845f44ff236ca886db23c08f515c30c81f30e9fedda1b2c",
"md5": "89c8e6936e4b0c1c35e561dc771e8e63",
"sha256": "813558ad325220097350f907280973a87a2746615cb1ec9557c6aa32be008b09"
},
"downloads": -1,
"filename": "pyrainbird-6.0.2.tar.gz",
"has_sig": false,
"md5_digest": "89c8e6936e4b0c1c35e561dc771e8e63",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 27962,
"upload_time": "2024-05-12T21:22:38",
"upload_time_iso_8601": "2024-05-12T21:22:38.449378Z",
"url": "https://files.pythonhosted.org/packages/e3/c6/162a04b3f8746845f44ff236ca886db23c08f515c30c81f30e9fedda1b2c/pyrainbird-6.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-12 21:22:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "allenporter",
"github_project": "pyrainbird",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "pyrainbird"
}