The official ESPurna repository is hosted on Bitbucket. Head over to https://bitbucket.org/xoseperez/espurna.
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.7, read the changelog.
- Support for multiple ESP8266-based boards (check list)
- Wifi AP Mode or STA mode
- Up to 5 different networks can be defined
- Supports static IP
- Scans for strongest network if more than one defined
- Defaults to AP mode (also available after double clicking the main button)
- 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
- DHT11 / DHT22 / DHT21 / AM2301 (supports celsius & fahrenheit reporting)
- DS18B20 (supports celsius & fahrenheit reporting)
- HLW8012 using the HLW8012 Library (Sonoff POW)
- Non-invasive current sensor using the EmonLiteESP Library (requires some hacking)
- Fast asynchronous HTTP Server
- Configurable port
- Basic authentication
- Web-based configuration
- Relay switching and sensor data from the web interface
- Websockets-based communication between the device and the browser
- Backup and restore settings option
- 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
- Button interface
- Click to toggle relays
- Double click to enter AP mode (only main button)
- Long click (>1 second) to reboot device (only main button)
- Extra long click (>10 seconds) to go back to factory settings (only main button)
For more information please refer to the ESPurna Wiki.
Here is the list of supported hardware. For more information please refer to the ESPurna Wiki Hardware page.
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/.