An open API service indexing awesome lists of open source software.

https://github.com/jorenvandeweyer/hue.js

An easy to use wrapper for the Hue API in NodeJS
https://github.com/jorenvandeweyer/hue.js

hacktoberfest hue hue-api hue-bridge javascript lights nodejs smart-home wrapper

Last synced: 11 months ago
JSON representation

An easy to use wrapper for the Hue API in NodeJS

Awesome Lists containing this project

README

          

# Hue.js
An easy to use wrapper from the [Hue API](https://developers.meethue.com/develop/hue-api/) in typescript.

## Table Of Contents
- [Getting Started](#getting-started)
- [Example](#usage-examples)
- [Documentation](#documentation)

## Getting Started

Installing the package can be done with the following command:

```
npm i hue
```

```js
const { Hue, Bridge } = require('hue');
```
## Usage Examples

### Example 1
Connecting to a bridge with the `Hue` class

```js
const { Hue } = require('hue');

const { HUE_BRIDGE, HUE_USER } = process.env;

const hue = new Hue(HUE_BRIDGE, HUE_USER);

hue.on('ready', async (bridge) => {
const groups = await bridge.Group.all();
const group = groups[0];

await group.toggle();
});

hue.on('error', (msg) => {
setTimeout(() => {
hue.connect();
}, 30*1000);
});
```

### Example 2
Connecting directly to a bridge

```js
const { Bridge } = require('hue');

const { HUE_BRIDGE, HUE_USER } = process.env;

Bridge.one(HUE_BRIDGE).then(bridge => {
const groups = await bridge.Group.all();
const group = groups[0];

await group.on();
});
```

### Example 3
Connecting to the first (and mostly only bridge found)

```js
const { Bridge } = require('hue');

const { HUE_BRIDGE, HUE_USER } = process.env;

Bridge.all().then(bridges => {
const bridge = bridges[0];

const lights = await bridge.Light.all();
const light = lights[0];

await light.off();
});
```
## Documentation
Detailed documentation in [`docs.md`](./docs.md).