Novices Plagiarizing Mozart
Miss any of our Open RFC calls?Watch the recordings here! »

magic-hue-controller

1.0.1 • Public • Published

magic-hue-controller

A nodejs library for controlling a magic hue (magic home) lamp. Based on the work of kirillsimin magichue python cli tool.

Installation

npm i magic-hue-controller

Example

In this example we check if the bulb is online. After this we power it on and after a second it will turn purple and print the status.

const BulbController = require("magic-hue-controller");
 
const bulbController = new BulbController("192.168.0.15");
bulbController.isOnline().then(async (status) => {
    if(status) {
        await bulbController.sendPower(true)
        setTimeout(async () => {
            await bulbController.sendRGB("255,0,255")
            console.log(await bulbController.getStatus())
        }, 1000)
    }else {
        console.log("offline")
    }
})

API

Contructor

throws an Error if this is not an ip

new BulbController("bulb ip");

isOnline()

returns a promise with a boolean if the bulb is online

bulbController.isOnline().then((status) => console.log(status))

getStatus()

gets the status of the bulb (power, rgb values, warm value) returns a promise with a BulbStatus

bulbController.getStatus().then((bulbStatus) => console.log(bulbStatus))

sendPower(boolean)

turn the bulb on or off returns a void promise

// on
bulbController.sendPower(true)
 
// off
bulbController.sendPower(false)

sendRGB(string, string?)

set the rgb color of the bulb, the rgb values must be between 0 - 255 returns a void promise

bulbController.sendRGB("r,g,b")

optional value is a version string of the bulb.

bulbController.sendRGB("r,g,b", "version")

sendWarmLevel(number)

set the warm level of the bulb this is a value between 0 - 255 returns a void promise

bulbController.sendWarmLevel(255)

BulbStatus

interface BulbStatus {
    power: string;
    rgb: number[];
    warm: number;
}

Install

npm i magic-hue-controller

DownloadsWeekly Downloads

3

Version

1.0.1

License

MIT

Unpacked Size

9.63 kB

Total Files

5

Last publish

Collaborators

  • avatar