Skip to content

Asynchronous Python 3 library for interacting with Hydrawise sprinkler controllers through the GraphQL API

License

Notifications You must be signed in to change notification settings

dknowles2/pydrawise

Repository files navigation

Pydrawise

Build and Test pypi version docs

Pydrawise is an asynchronous Python 3 library for interacting with Hydrawise sprinkler controllers.

Note that this project has no official relationship with Hydrawise or Hunter. Use at your own risk.

Usage

import asyncio

from pydrawise import Auth, Hydrawise


async def main():
    # Create a Hydrawise object and authenticate with your credentials.
    h = Hydrawise(Auth("username", "password"))

    # List the controllers attached to your account.
    controllers = await h.get_controllers()

    # List the zones controlled by the first controller.
    zones = await h.get_zones(controllers[0])

    # Start the first zone.
    await h.start_zone(zones[0])


if __name__ == "__main__":
    asyncio.run(main())

Installation

Pip

To install pydrawse, run this command in your terminal:

$ pip install pydrawise

Source code

Pydrawise is actively developed on Github, where the code is always available.

You can either clone the public repository:

$ git clone https://github.com/dknowles2/pydrawise

Or download the latest tarball:

$ curl -OL https://github.com/dknowles2/pydrawise/tarball/main

Once you have a copy of the source, you can embed it in your own Python package, or install it into your site-packages easily:

$ cd pydrawise
$ python -m pip install .