PatriotLight (community library)

Summary

Name Value
Name PatriotLight
Version 5.1.0
Installs 2197
License BSD
Author Ron Lisle
URL http://www.github.com/rlisle/Patriot
Repository http://www.github.com/rlisle/Patriot
Download .tar.gz
All Versions 5.1.0, 5.0.0, 3.1.0, 3.0.0, 2.0.0, 1.0.2, 1.0.1, 1.0.0

Extend Patriot IoT to support lights. Patriot provides support for controlling IoT devices using Alexa and iOS devices. This plugin adds support for dimmable lights.

Example Build Testing

Device OS Version:

This table is generated from an automated build. Success only indicates that the code compiled successfully.

Library Read Me

This content is provided by the library maintainer and has not been validated or approved.

PatriotLight

A Patriot plugin to support dimmable light devices.

This library makes it used to support dimmable lights using PWM, or simple on/off lights if connected to a non-PWM pin.

Usage

Include this library in any Photon sketch that needs to support a light. Refer to the included example sketch, or to the more complex examples in the main Patriot IoT examples directory.

The example below creates a single LED device connected to pin D7 named "blue". This is the pin used by the onboard blue LED, so no additional hardware is needed.

An additional behavior is setup to control this LED with an event named "Photon".

Also, a switch connected to the D0 pin is used to control the LED locally.

Since Patriot supports automatic detection by the iOS app and Alexa, either of these can be used to control the LED once this sketch is loaded to a Photon. There may be a 15 minute delay before Alexa starts to work, since a "Discover Devices" cycle is needed. You can manually invoke a discovery using the Alexa app to eliminate the delay.

#include <IoT.h>
#include <PatriotLight.h>

IoT *iot;

void setup() {
iot = IoT::getInstance();
iot->begin();

Light *light1 = new Light(kLed1Pin, "blue", false, true);
light1->setLocalPin(D0, "Switch");
iot->addDevice(light1);

iot->addBehavior(light1, new Behavior("Photon", '>', 0, 100));
}

void loop() {
iot->loop();
}

Documentation

Refer to the Patriot Github repository and documentation for more information.

Contributing

Here's how you can make changes to this library and eventually contribute those changes back.

To get started, clone the library from GitHub to your local machine.

Change the name of the library in library.properties to something different. You can add your name at then end.

Modify the sources in and with the new behavior.

To compile an example, use particle compile examples/usage command in Particle CLI or use our Desktop IDE.

After your changes are done you can upload them with particle library upload or Upload command in the IDE. This will create a private (only visible by you) library that you can use in other projects. Do particle library add IoT_myname to add the library to a project on your machine or add the IoT_myname library to a project on the Web IDE or Desktop IDE.

At this point, you can create a GitHub pull request with your changes to the original library.

If you wish to make your library public, use particle library publish or Publish command.

LICENSE

Copyright 2017-2019 Ron Lisle

Refer to the included LICENSE file.

Browse Library Files