Have ideas to improve npm?Join in the discussion! »

    yeelight-node

    1.1.5 • 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

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

    You can get started by running the example, which will discover and ping your devices 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 device 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 device, 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.

    As stated in the docs, Xiaomi devices support up to 4 simultaneous TCP connections. Any further connect attempt will be rejected. This library exposes the yeelight.closeConnection() to close the TCP connection at will, should your use case require it.

    Credits

    Original work by @cpav3.

    Install

    npm i yeelight-node

    DownloadsWeekly Downloads

    3

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    27.1 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar