LIFX LAN Protocol implemented in Go
Find a file
2022-05-17 19:58:13 -07:00
cmd/gen-product-map gen-product-map: Add build info to -v 2022-04-23 21:50:07 -07:00
light mock: Improvements 2022-04-23 21:23:57 -07:00
mock Add relay package 2022-04-23 21:42:22 -07:00
relay Add relay package 2022-04-23 21:42:22 -07:00
tile mock: Improvements 2022-04-23 21:23:57 -07:00
.editorconfig Add .editorconfig file 2019-01-07 18:54:37 -08:00
ack.go Update context cancellation check 2021-03-07 01:26:54 -08:00
color.go Update doc links 2021-11-26 21:37:49 -08:00
color_test.go Change to vanity url 2020-12-27 02:17:13 -08:00
device.go Add EchoRequest and EchoResponse (#4) 2022-01-26 08:46:09 -08:00
discover.go Update doc links 2021-11-26 21:37:49 -08:00
doc.go Update all links to lifx official doc 2021-03-07 01:19:38 -08:00
doc_test.go Update context cancellation check 2021-03-07 01:26:54 -08:00
echo.go Add EchoRequest and EchoResponse (#4) 2022-01-26 08:46:09 -08:00
echo_test.go mock: Improvements 2022-04-23 21:23:57 -07:00
features.go Fix bug in FeatureAt not picking up all upgrades 2022-05-17 19:58:13 -07:00
features_test.go Fix bug in FeatureAt not picking up all upgrades 2022-05-17 19:58:13 -07:00
firmware.go Update doc links 2021-11-26 21:37:49 -08:00
go.mod Change to vanity url 2020-12-27 02:17:13 -08:00
header.go Update doc links 2021-11-26 21:37:49 -08:00
header_test.go Change to vanity url 2020-12-27 02:17:13 -08:00
label.go Update doc links 2021-11-26 21:37:49 -08:00
label_test.go mock: Improvements 2022-04-23 21:23:57 -07:00
LICENSE Add LICENSE 2019-01-01 03:20:22 -08:00
messages.go Add EchoRequest and EchoResponse (#4) 2022-01-26 08:46:09 -08:00
power.go Update doc links 2021-11-26 21:37:49 -08:00
power_test.go mock: Improvements 2022-04-23 21:23:57 -07:00
product_map.go Sync product_map.go 2022-04-23 21:50:19 -07:00
README.md Update all links to lifx official doc 2021-03-07 01:19:38 -08:00
response.go Update context cancellation check 2021-03-07 01:26:54 -08:00
send.go Update context cancellation check 2021-03-07 01:26:54 -08:00
target.go Make RawLabel and Target implementing flag.Getter 2019-01-06 13:23:24 -08:00
target_test.go Change to vanity url 2020-12-27 02:17:13 -08:00
time.go Change Timestamp from ms to ns since EPOCH 2019-01-06 18:03:52 -08:00
time_test.go Change to vanity url 2020-12-27 02:17:13 -08:00
timeout.go Move tile to its own package 2018-12-31 11:53:36 -08:00
unhandled.go Update doc links 2021-11-26 21:37:49 -08:00
version.go Update doc links 2021-11-26 21:37:49 -08:00
version_test.go mock: Improvements 2022-04-23 21:23:57 -07:00

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.