1.1.1 • Published 5 years ago
yeelight-node-binding v1.1.1
yeelight-node-binding
A simple solution to discover and control Xiaomi Yeelights.
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.
Usage
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-binding')
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-binding')
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.