For fun I decided to log some things to AdafruitIO:
- motion start/end
- light level when motion is detected
- when lights are turned on/off
Feeds are created in the preamble:
// Setup MQTT #define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 const char MQTT_SERVER[] PROGMEM = AIO_SERVER; const char MQTT_USERNAME[] PROGMEM = AIO_USER; const char MQTT_PASSWORD[] PROGMEM = AIO_KEY; Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USER, AIO_KEY); Adafruit_MQTT_Publish photocell_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-photocell"); Adafruit_MQTT_Publish motion_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-motion"); Adafruit_MQTT_Publish control_feed(&mqtt, AIO_USER "/feeds/hue-controller.hue-control");
We make use of those feeds in loop(). For example:
if (motion_started) {
motion_feed.publish((const char*)"started"));
photocell_feed.publish(light_level));
} else if (motion_ended) {
motion_feed.publish((const char*)"ended"));
}
Page last edited March 08, 2024
Text editor powered by tinymce.