Skip to content

A Java implementation of YeeLight's Third Party Protocol

Notifications You must be signed in to change notification settings

moppletop/YeeLight-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YeeLight Java API

Overview

This library is a Java implementation of YeeLight's Third Party Protocol. In order to enable your lights to use this library, you must enable LAN Mode via the official app. This library was built on the specification published by YeeLight.

Usage

Building the API

        // All values in this example are the defaults
        YeeApiBuilder builder = new YeeApiBuilder();
                
        // When calling .build(), if this is true. api.discoverLights with a timeout of 1000ms
        // will be called automatically, set to false if you want to handle this yourself
        builder.autoDiscovery(true);
        
        // Finalises the build and starts the UDP discovery thread
        YeeApi api = builder.build();

Changing the colour of the lights

        YeeApi api = new YeeApiBuilder()
                .build();

        // getLights() returns an immutable collection of all lights currently known to the library..
        // The objects in this collection are a snapshot of the current state of the lights and will not be updated as
        // state changes.
        api.getLights().forEach(yeeLight -> {
            
            // To change the colour of the light you would use the setRgb method
            api.setRgb(id, red, green, blue, duration);
            
            // This would change the lights to red over 3 seconds
            api.setRgb(yeeLight.getId(), 255, 0, 0, YeeDuration.seconds(3));

            // This would change the lights to light blue/cyan instantly
            api.setRgb(yeeLight.getId(), 0, 255, 255, YeeDuration.instant());
        });

YeeApi contains almost all methods supported under the third party protocol. Scenes are not supported.

About

A Java implementation of YeeLight's Third Party Protocol

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages