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

yeelight-node

1.1.3 • Public • Published

yeelight-node

npm Build Status

A simple Node.js library to discover and control Xiaomi Yeelights over LAN.

This solution offers a 1:1 implementation of the official docs from Xiaomi, and also includes an SSDP implementation to retrieve the IP of your light.

Competing standards

Installation

# Run this in your favourite terminal 
npm i yeelight-node

Usage

You can get started by running the example, which will discover and ping your lights over LAN:

node example/index.js

In your code, simply require and instantiate the package as a class, passing in the IP address and port of the light as an object.

const Yeelight = require('yeelight-node')
 
const yeelight = new Yeelight({ ip: '0.0.0.0', port: 55443 })
 
yeelight.set_power('on')
yeelight.set_rgb([250, 150, 120])
 
yeelight.get_prop('bright').then(
    data => console.log(data)
)

If you don't know the IP of your light, you can use the SSDP client to scan your network:

const Client = require('yeelight-node')
 
const client = new Client()
 
client.bind(yeelight => {
    yeelight.set_power('on')
    yeelight.set_rgb([250, 150, 120])
 
    yeelight.get_prop('bright').then(
        data => console.log(data)
    )
})

You can now call any of the operations from the official docs on this instance.

⚠️ Make sure you enabled the LAN Control option in the Yeelight app.

Credits

Original work by @cpav3.

Install

npm i yeelight-node

DownloadsWeekly Downloads

19

Version

1.1.3

License

MIT

Unpacked Size

25 kB

Total Files

10

Last publish

Collaborators

  • avatar