Socket
Socket
Sign inDemoInstall

node-yeelight-wifi-extended

Package Overview
Dependencies
19
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-yeelight-wifi-extended

Node.js library for yeelight bulbs - extended methods


Version published
Weekly downloads
0
Maintainers
1
Install size
3.11 MB
Created
Weekly downloads
 

Readme

Source

node-yeelight-wifi-extended

"node-yeelight-wifi-extended" is a Node.js lib for controlling via wifi connected Yeelights. This package is a fork of the original node-yeelight-wifi which adds additional methods toi control the bulbs.

It works with the RGBW bulbs, white bulbs and ceiling lights.

You need to activate "Lan control" on your lights. (see Troubleshooting)

Installation

npm install --save node-yeelight-wifi-extended

Howto

Yeelight Lookup

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

const Lookup = require("node-yeelight-wifi-extended").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 (true to turn on, false to turn off)

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.setHSV([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 brightness (1-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

Troubleshooting

Licence

Copyright (c) Bastian Karge

MIT (see License.md)

Keywords

FAQs

Last updated on 17 Jan 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc