DavidStacer / homie-esp8266

ESP8266 framework for Homie, a lightweight MQTT convention for the IoT

Home Page:https://git.io/homie-esp8266

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homie for ESP8266

homie-esp8266

An Arduino for ESP8266 implementation of Homie, an MQTT convention for the IoT.

Features

#include <Homie.h>

const int PIN_RELAY = 5;

HomieNode lightNode("light", "switch");

bool lightOnHandler(String value) {
  if (value == "true") {
    digitalWrite(PIN_RELAY, HIGH);
    Homie.setNodeProperty(lightNode, "on", "true"); // Update the state of the light
    Serial.println("Light is on");
  } else if (value == "false") {
    digitalWrite(PIN_RELAY, LOW);
    Homie.setNodeProperty(lightNode, "on", "false");
    Serial.println("Light is off");
  } else {
    return false;
  }

  return true;
}

void setup() {
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, LOW);

  Homie.setFirmware("awesome-relay", "1.0.0");
  lightNode.subscribe("on", lightOnHandler);
  Homie.registerNode(lightNode);
  Homie.setup();
}

void loop() {
  Homie.loop();
}

Requirements, installation and usage

The project is documented on the /docs folder, with a Getting started guide and every piece of informations you will need.

About

ESP8266 framework for Homie, a lightweight MQTT convention for the IoT

https://git.io/homie-esp8266

License:MIT License


Languages

Language:C++ 99.9%Language:C 0.1%