Skip to content

Home automation firmware for ESP8266-based devices

License

Notifications You must be signed in to change notification settings

wyattearp/espurna

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESPurna Firmware

ESPurna ("spark" in Catalan) is a custom firmware for ESP8266 based smart switches. It was originally developed with the IteadStudio Sonoff in mind but now it supports a growing number of ESP8266-based boards. It uses the Arduino Core for ESP8266 framework and a number of 3rd party libraries.

Current Release Version is 1.6.0, read the changelog.

Features

  • Support for multiple ESP8266-based boards (check list)
  • Wifi AP Mode or STA mode with multiple network definitions with support for static IP
  • Switch management
    • Support for push buttons and toggle switches
    • Configurable status on boot (always ON, always OFF, same as before or toggle)
    • Support for pulse mode (normally ON or normally OFF) with configurable time
    • Support for relay synchronization (all equal, only one ON, one and only on ON)
  • MQTT enabled
    • Switch on/off and toggle relays
    • Report button event notifications
    • Enable/disable pulse mode
    • Change LED notification mode
    • Remote reset the board
  • Alexa integration using the FauxmoESP Library
  • Domoticz integration via MQTT
  • Home Assistant integration via MQTT
  • Support for different sensors
  • Fast asynchronous HTTP Server
    • Basic authentication
    • Web-based configuration
    • Relay switching and sensor data from the web interface
    • Websockets-based communication between the device and the browser
  • REST API (enable/disable from web interface)
    • GET and PUT relay status
    • GET sensor data (power, current, voltage, temperature and humidity) depending on the available hardware
  • RPC API (enable/disable from web interface)
    • Remote reset the board
  • Over-The-Air (OTA) updates even for 1Mb boards
    • Manually from PlatformIO or Arduino IDE
    • Automatic updates through the NoFUSS Library
  • Command line configuration

Documentation

For more information please refer to the ESPurna Wiki.

Supported hardware

Here is the list of supported hardware. For more information please refer to the ESPurna Wiki Hardware page.

IteadStudio S20 IteadStudio Slampher IteadStudio Sonoff 4CH
IteadStudio S20 IteadStudio Slampher IteadStudio Sonoff 4CH
IteadStudio Sonoff Basic IteadStudio Motor Switch IteadStudio 1CH Inching
IteadStudio Sonoff Basic IteadStudio Motor Switch IteadStudio 1CH Inching
IteadStudio Sonoff Dual IteadStudio Sonoff POW IteadStudio Sonoff TH10/TH16
IteadStudio Sonoff Dual IteadStudio Sonoff POW IteadStudio Sonoff TH10/TH16
IteadStudio Sonoff RF IteadStudio Sonoff SV IteadStudio Sonoff Touch
IteadStudio Sonoff RF IteadStudio Sonoff SV IteadStudio Sonoff Touch
Wemos D1 Mini Relay Shield Electrodragon Relay Board WorkChoice EcoPlug
Wemos D1 Mini Relay Shield Electrodragon Relay Board WorkChoice EcoPlug
JanGoe Wifi Relay (NO/NC) OpenEnergyMonitor WiFi MQTT Relay / Thermostat Jorge García Wifi + Relays Board Kit
JanGoe Wifi Relay (NO/NC) OpenEnergyMonitor WiFi MQTT Relay / Thermostat Jorge García Wifi + Relays Board Kit

License

Copyright (C) 2016-2017 by Xose Pérez (@xoseperez)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

Home automation firmware for ESP8266-based devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 65.4%
  • C 20.4%
  • HTML 6.6%
  • JavaScript 3.9%
  • Python 2.8%
  • CSS 0.5%
  • Shell 0.4%