Skip to content

fishy/lifxlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e25f4fb · May 18, 2022
Apr 24, 2022
Apr 24, 2022
Apr 24, 2022
Apr 24, 2022
Apr 24, 2022
Jan 8, 2019
Jan 1, 2019
Mar 7, 2021
Mar 7, 2021
Nov 27, 2021
Dec 27, 2020
Jan 26, 2022
Nov 27, 2021
Mar 7, 2021
Mar 7, 2021
Jan 26, 2022
Apr 24, 2022
May 18, 2022
May 18, 2022
Nov 27, 2021
Dec 27, 2020
Nov 27, 2021
Dec 27, 2020
Nov 27, 2021
Apr 24, 2022
Jan 26, 2022
Nov 27, 2021
Apr 24, 2022
Apr 24, 2022
Mar 7, 2021
Mar 7, 2021
Jan 6, 2019
Dec 27, 2020
Jan 7, 2019
Dec 27, 2020
Dec 31, 2018
Nov 27, 2021
Nov 27, 2021
Apr 24, 2022

Repository files navigation

PkgGoDev Go Report Card

LIFX LAN

This is a library that provides API implemented in Go for LIFX LAN Protocol.

Overview

The root package focuses on the base stuff, device discovery, and capabilities shared by all types of devices. Subpackages provide more concreted capabilities by different types of LIFX devices like light control and tile control.

Currently this library is not complete and implement all possible LIFX LAN Protocols is not the current goal of this library. The design choice for this library is that it exposes as much as possible, so another third party package can implement missing device APIs by wrapping Devices returned by this package. Please refer to the subpackage code for an example of extending device capabilities. The reason its split into subpackages is to make sure that it's extendible.

The main focus right now is on tile API support. The reason is that at the time of writing, although there are several Go projects implemented LIFX LAN Protocol available, none of them support tile APIs. Please refer to tile subpackage on GoDoc for more details.

All API with (potential) I/O calls takes a context arg and checks for (and in most cases, relies on) context cancellations.

The API is unstable right now, but I try very hard not to break them.

Examples

Besides examples on GoDoc, there are also some example command line apps in lifxlan-examples repository.

License

BSD License.