hue

An easy to use wrapper for the Hue API in NodeJS

Usage no npm install needed!

<script type="module">
  import hue from 'https://cdn.skypack.dev/hue';
</script>

README

Hue.js

An easy to use wrapper from the Hue API in typescript.

Table Of Contents

Getting Started

Installing the package can be done with the following command:

npm i hue
const { Hue, Bridge } = require('hue');

Usage Examples

Example 1

Connecting to a bridge with the Hue class

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

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)

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.