GithubHelp home page GithubHelp logo

mwittig / node-yeelight-wifi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bastl34/node-yeelight-wifi

0.0 2.0 0.0 18 KB

node js package for xiaomi yeelight bulbs

License: MIT License

JavaScript 100.00%

node-yeelight-wifi's Introduction

node-yeelight-wifi

"node-yeelight-wifi" is a node.js lib for controlling via wifi connected Yeelights.

It should work with the RGBW and White Yeelight-bulbs

Installation

npm install --save node-yeelight-wifi

Howto

Yeelight Lookup

You can lookup for yeelights in your local network like this:

const Lookup = require("node-yeelight-wifi").Lookup;

let look = new Lookup();

look.on("detected",(light) =>
{
    console.log("new yeelight detected: id="+light.id + " name="+light.name);
});

Methods

Once you have a Yeelight (light) object from a lookup you can use it like this:

setPower(power,duration)

Set the power of your Yeelight (on: true, off: false)

light.setPower(true).then(() =>
{
    console.log("success");
}).catch((error =>
{
    console.log("failed",error);
}));

setRGB(rgb,duration)

Set the RGB value (r: 0-255, g: 0-255, b: 0-255)

light.setRGB([255,255,0]).then(() =>
{
    console.log("success");
}).catch((error =>
{
    console.log("failed",error);
}));

setHSV(hsv,duration)

Set the HSV value (hue: 0-359, sat: 0-100, value/bright=0-100)

light.setRGB([180,70,100]).then(() =>
{
    console.log("success");
}).catch((error =>
{
    console.log("failed",error);
}));

setCT(hsv,duration)

Set the color temp value (1700 ~ 6500)

light.setCT(5000).then(() =>
{
    console.log("success");
}).catch((error =>
{
    console.log("failed",error);
}));

setBright(brightness,duration)

Set the color brightness (0-100)

light.setBright(80).then(() =>
{
    console.log("success");
}).catch((error =>
{
    console.log("failed",error);
}));

updateState()

If you want to request a state (color,bright,power) update

light.updateState().then(() =>
{
    console.log("success");
    console.log(light.rgb);
}).catch((error =>
{
    console.log("failed",error);
}));

Usable (public) Members of Yeelight-Class (read only)

  • light.power (true/false)
  • light.type ("unknown","white","color")
  • light.bright (0-100)
  • light.rgb (example: {r: 0, g: 0, b: 0})
  • light.hsb (example: {h: 0, s: 0, b: 0})

Events

A Yeelight instance has some events:

//socket connect and disconnect events
light.on("connected",() =>{ console.log("connected"); });
light.on("disconnected",() => { console.log("disconnected"); });

//if the color or power state has changed
light.on("stateUpdate",(light) => { console.log(light.rgb); });

//if something went wrong
light.on("failed",(error) => { console.log(error); });

Examples

  • see examples/examples.js

Licence

Copyright (c) 2017 Bastian Karge

MIT (see License.md)

node-yeelight-wifi's People

Contributors

bastl34 avatar

Watchers

James Cloos avatar Marcus Wittig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.