magic-hue-controller
v1.0.1
Published
A class for controlling a magic home controlled lamp
Downloads
7
Maintainers
Readme
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;
}