wink-api

0.6.8 • Public • Published

Wink API

Build Status NPM Downloads Test Coverage

A typescript/javascript binding for Wink's v2 API.

Installation

npm install wink-api

for typescript users, this can install the module's typings globally:

typings install file:node_modules/wink-api/@types/wink-api.d.ts --save --global

Setup

Add an app at https://developer.wink.com and wait under a day for acceptance.
You'll need to get the client ID and secret.

Your app should get the access token via OAuth. More details are at http://docs.winkapiv2.apiary.io/#reference/oauth

Examples

Get the devices for a user:

import {GetDevices} from "wink-api";

GetDevices.execute({
    host: 'https://api.wink.com',
    access_token: access_token
}).then((devicesResponse: WinkAPI.IUserDevicesResponse) => {
    // do something
}).catch((err: WinkAPI.IRequestError) => {
    // error handling 
});

Available Requests

The following requests are supported via the wink-api module (each with "execute" as the method that queries):

  • ActivateScene
  • CreateGroup
  • CreateRobot
  • CreateScene
  • CreateUser
  • DeleteGroup
  • DeleteRobot
  • DeleteScene
  • GetDevice
  • GetDeviceUsers
  • GetDevices
  • GetGroup
  • GetGroups
  • GetRobot
  • GetRobots
  • GetScene
  • GetScenes
  • SetDesiredState
  • ShareDevice
  • UnshareDevice
  • UpdateGroup
  • UpdateGroupState
  • UpdateRobot
  • UpdateScene
  • UpdateUser

Interesting use-cases

Turning off a group of lights:

import {UpdateGroupState} from "wink-api";

UpdateGroupState.execute({
    host: 'https://api.wink.com',
    access_token: '<access_token>',
    group_id: '<group id>'
}, {
    powered: false
}).then((groupResponse: WinkAPI.IUserGroupResponse) => {
    // do something
}).catch((err: WinkAPI.IRequestError) => {
      // error handling 
});

Readme

Keywords

none

Package Sidebar

Install

npm i wink-api

Weekly Downloads

2

Version

0.6.8

License

ISC

Last publish

Collaborators

  • markdicksonjr