TimHess / LifxIoT

Library for controlling Lifx bulbs via their API on Windows IoT machines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LifxIoT

.NET wrapper to control Lifx bulbs via their cloud API. This code is based on that created by Daniel Porry here with changes made to the await methods now having their continueOnCapturedContext property set to false so as to prevent the code hanging when deployed to a Raspberry Pi 3 running Windows IoT and a SelectorSearch type class added.

Installation

To use LifxIoT in your C# project, you can either download the LifxIoT C# .NET libraries directly from the Github repository or, if you have the NuGet package manager installed, you can grab them automatically.

PM> Install-Package LifxIoT

Once you have the LifxIoT libraries properly referenced in your project, you can include calls to them in your code.

Add the following namespaces to use the library:

using LifxIoT.Api;
using LifxIoT.Models;

Dependencies

A Lifx account (and bulbs) are required for use, an access token should be generated in the Lifx account.

Usage

This is intended for usage in Windows IoT projects.

The below code in MainPage.xaml.cs lists all bulbs linked to the account.

        public MainPage()
        {
            this.InitializeComponent();

            LifxApi api = new LifxApi("YOUR_TOKEN_HERE");

            SelectorList selectors = new SelectorList();

            selectors.Add(LifxIoT.Models.Selector.All);

            IEnumerable<Light> lights = api.ListLights(selectors).Result;
        }

And this is how to use the new SelectorSearch class to return only bulbs in the bedroom group.

		public MainPage()
		{
			this.InitializeComponent();

			LifxApi api = new LifxApi("YOUR_TOKEN_HERE");

			SelectorList selectors = new SelectorList();
			SelectorSearch selector = new SelectorSearch();

			selector.SearchType = "group";
			selector.SearchValue = "Bedroom";

			selectors.Add(selector);

			IEnumerable<Light> lights = api.ListLights(selectors).Result;
		}

About

Library for controlling Lifx bulbs via their API on Windows IoT machines

License:GNU General Public License v3.0


Languages

Language:C# 100.0%