Regenmaschine (German for "rain machine") is a simple, clean, well-tested Python library for interacting with RainMachine™ smart sprinkler controllers. It gives developers an easy API to manage their controllers over a LAN or via RainMachine™'s cloud.
$ pip install regenmaschine
import regenmaschine as rm
# Authenticate against the local device or the remote API:
auth = rm.Authenticator.create_local('192.168.1.100', 'MY_RM_PASSWORD')
auth = rm.Authenticator.create_remote('EMAIL_ADDRESS', 'MY_RM_PASSWORD')
# Create a client:
client = rm.Client(auth)
# Get information on all programs:
program_info = client.programs.all()
# Turn on program 1:
client.programs.start(1)
# Stop program 1:
client.programs.stop(1)
# Get information on all zones:
zone_info = client.zones.all()
# Turn on zone 3 for 5 minutes:
client.zones.start(3, 300)
Full documentation for Regenmaschine can be found here: http://bachya.github.io/regenmaschine
- Check for open features/bugs or initiate a discussion on one.
- Fork the repository.
- Install the dev environment:
make init
. - Enter the virtual environment:
pipenv shell
- Code your new feature or bug fix.
- Write a test that covers your new functionality.
- Run tests:
make test
- Build new docs:
make docs
- Add yourself to AUTHORS.rst.
- Submit a pull request!