Skip to content

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

License

Notifications You must be signed in to change notification settings

stutzlab/homie-esp8266

This branch is 283 commits behind homieiot/homie-esp8266:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

528a4f7 · Sep 22, 2016
Sep 22, 2016
Sep 22, 2016
Sep 22, 2016
Apr 23, 2016
Dec 13, 2015
Sep 22, 2016
Sep 22, 2016
Apr 15, 2016
Sep 22, 2016
Sep 22, 2016
Sep 22, 2016
Apr 23, 2016

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.9%
  • C 0.1%