All Projects β†’ homieiot β†’ Homie Esp8266

homieiot / Homie Esp8266

Licence: mit
πŸ’‘ ESP8266 framework for Homie, a lightweight MQTT convention for the IoT

Projects that are alternatives of or similar to Homie Esp8266

Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-99.36%)
Mutual labels:  home-automation, arduino, mqtt, iot, esp8266
Freedomotic
Open IoT Framework
Stars: ✭ 354 (-71.47%)
Mutual labels:  home-automation, framework, arduino, mqtt, iot
Sonoff Homeassistant
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant
Stars: ✭ 354 (-71.47%)
Mutual labels:  home-automation, arduino, mqtt, iot, esp8266
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+94.44%)
Mutual labels:  home-automation, arduino, mqtt, esp8266
Tasmota
Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
Stars: ✭ 16,624 (+1239.56%)
Mutual labels:  arduino, mqtt, iot, esp8266
Temper Esp8266
Temper is a compact temperature sensor based on ESP8266 and SHT30 with large 13x7 pixel led display.
Stars: ✭ 155 (-87.51%)
Mutual labels:  home-automation, mqtt, iot, esp8266
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (-83.72%)
Mutual labels:  home-automation, arduino, iot, esp8266
Hass Yaap
Yet another alarm (control) panel for Home Assistant.
Stars: ✭ 44 (-96.45%)
Mutual labels:  home-automation, arduino, mqtt, esp8266
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (-11.76%)
Mutual labels:  arduino, mqtt, iot, esp8266
Esphome Core
🚨 No longer used 🚨 - The C++ framework behind ESPHome
Stars: ✭ 545 (-56.08%)
Mutual labels:  home-automation, arduino, iot, esp8266
Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+110.72%)
Mutual labels:  arduino, mqtt, iot, esp8266
Hugo Esp8266
Hugo is a 4-button ESP8266 Wi-Fi Remote, Arduino compatible and simple to use.
Stars: ✭ 77 (-93.8%)
Mutual labels:  home-automation, arduino, mqtt, esp8266
Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (-86.38%)
Mutual labels:  arduino, mqtt, iot, esp8266
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (-85.5%)
Mutual labels:  home-automation, arduino, iot, esp8266
Blinker Doc
blinkerδΈ­ζ–‡ζ–‡ζ‘£
Stars: ✭ 139 (-88.8%)
Mutual labels:  arduino, mqtt, iot, esp8266
Home Assistant Config
My Home Assistant Configuration 🏑🏑
Stars: ✭ 133 (-89.28%)
Mutual labels:  arduino, mqtt, iot, esp8266
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+248.43%)
Mutual labels:  home-automation, mqtt, iot, esp8266
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (-33.92%)
Mutual labels:  home-automation, arduino, mqtt, esp8266
Mysensors
MySensors library and examples
Stars: ✭ 1,150 (-7.33%)
Mutual labels:  home-automation, arduino, iot, esp8266
Esp8266 thing dev
An all-in-one development board for the ESP8266 including an FTDI FT231X for USB programming.
Stars: ✭ 11 (-99.11%)
Mutual labels:  arduino, iot, esp8266

Build Status Latest Release Gitter PlatformIO

Homie for ESP8266 / ESP32

homie-esp8266 banner

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

This branch of Homie for ESP8266 implements Homie 3.0.1 and adds support for ESP32.

works with MQTT Homie

Download

The Git repository contains the development version of Homie for ESP8266. Stable releases are available on the releases page.

Using with PlatformIO

PlatformIO is an open source ecosystem for IoT development with cross platform build system, library manager and full support for Espressif ESP8266 development. It works on the popular host OS: Mac OS X, Windows, Linux 32/64, Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard).

  1. Install PlatformIO IDE
  2. Create new project using "PlatformIO Home > New Project"
  3. Open Project Configuration File platformio.ini

Stable version

  1. Add "Homie" to project using platformio.ini and lib_deps option:
[env:myboard]
platform = espressif8266
board = ...
framework = arduino
build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
lib_deps = Homie

Add the PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY build flag to ensure reliable OTA updates.

Development version

  1. Update dev/platform to staging version:

  2. Before editing platformio.ini as shown below, you must install "git" if you don't already have it. For Windows, just go to http://git-scm.com/download/win and the download will start automatically. Note, this is only a requirement for the development versions.

  3. Add development version of "Homie" to project using platformio.ini and lib_deps option:

[env:myboard]
platform = ...
board = ...
framework = arduino
build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY

; the latest development branch (convention V3.0.x)
lib_deps = https://github.com/homieiot/homie-esp8266.git#develop


Happy coding with PlatformIO!

Features

#include <Homie.h>

const int PIN_RELAY = 5;

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

bool lightOnHandler(const HomieRange& range, const String& value) {
  if (value != "true" && value != "false") return false;

  bool on = (value == "true");
  digitalWrite(PIN_RELAY, on ? HIGH : LOW);
  lightNode.setProperty("on").send(value);
  Homie.getLogger() << "Light is " << (on ? "on" : "off") << endl;

  return true;
}

void setup() {
  Serial.begin(115200);
  Serial << endl << endl;
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, LOW);

  Homie_setFirmware("awesome-relay", "1.0.0");

  lightNode.advertise("on", "On", "boolean").settable(lightOnHandler);

  Homie.setup();
}

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

Requirements, installation and usage

The project is documented on https://homieiot.github.io/homie-esp8266/ with a Getting started guide and every piece of information you will need.

Donate

I am a student and maintaining Homie for ESP8266 takes time. I am not in need and I will continue to maintain this project as much as I can even without donations. Consider this as a way to tip the project if you like it. πŸ˜‰

Donate button

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].