No Description

Paul Molluzzo 6fbe6cd9c2 Add iot to keywords 9 years ago
src 54e0b10bc3 Fix setcontroller; add setzone endpoint and tests 9 years ago
test 54e0b10bc3 Fix setcontroller; add setzone endpoint and tests 9 years ago
.babelrc 317addd0af initial commit 9 years ago
.editorconfig 317addd0af initial commit 9 years ago
.gitignore 317addd0af initial commit 9 years ago
.npmignore a565848cca Add npmignore 9 years ago
.travis.yml 317addd0af initial commit 9 years ago
README.md 25ea9e6d16 Update README 9 years ago
package.json 6fbe6cd9c2 Add iot to keywords 9 years ago

README.md

Hydrawise API

This is a client for the Hydrawise API. Hydrawise is an internet-controlled home irrigation system.

It provides access to the following endpoints:

Usage

Initial Setup

import Hydrawise from 'hydrawise-api';
const hydrawise = new Hydrawise(YOUR_API_KEY);

Customer Details

Get cusetomer info.

hydrawise.customerdetails()
  .then(data => console.log(data))
  .catch(error => console.log(error));

Status Schedule

Get the status of a controller. You can pass the param hydrawise_all or a specific tag or leave empty for the current controller. The second parameter is how far in advance (in hours) you want to get the schedule, and it will default to the maximum of 168.

hydrawise.statusschedule()
  .then(data => console.log(data))
  .catch(error => console.log(error));

Set Controller

Set a controller for controller-specific commands.

Note: This endpoint seems to not respond with any data, so a non-error is a "pass" I guess?

hydrawise.setcontroller(controller_id)
  .then()
  .catch(error => console.log(error));

Set Zone

This is how you set a zone to run, suspend, or stop. The params are an action and additional params period_id, custom for a duration in seconds, and relay_id for a specific zone.

// run all for 10 minutes
hydrawise.setzone('runall', {period_id: '666', custom: '600'})
  .then(data => console.log(data))
  .catch(error => console.log(error));

// stop all
hydrawise.setzone('stopall')
  .then(data => console.log(data))
  .catch(error => console.log(error));

// run zone for 5 minutes
hydrawise.setzone('run', {period_id: '123', custom: '300', relay_id: your_relay_id})
  .then(data => console.log(data))
  .catch(error => console.log(error));

MIT

©2016 Paul Molluzzo