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.
Show debug info and allows to run terminal commands
Unstable system check
Detects unstable system (crashes on boot continuously) and defaults to a stable system
Only WiFi AP, OTA and Telnet available if system is flagged as unstable
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)
Specific definitions for touch button devices (ESPurna Switch, Sonoff Touch & T1)
Notices
2018-01-11: As of current version (1.12.0) ESPurna is tested using Arduino Core 2.3.0 and it's meant to be built against that version.
2017-08-26: since version 1.9.0 the default MQTT topics for commands have changed. They all now end with "/set". This means you will have to change your controller software (Node-RED or alike) to send messages to -for instance- "/home/living/light/relay/0/set". The device will publish its state in "/home/living/light/relay/0" like before.
2017-07-24: Default flash layout changed in 1.8.3, as an unpredicted consequence devices will not be able to persist/retrieve configuration if flashed with 1.8.3 via OTA from PlatformIO. Please check issue #187.
Contribute
There are several ways to contribute to ESpurna development. You can contribute to the repository by doing:
Pull requests (fixes, enhancements, new features... are very welcome)
Documentation (I reckon I'm bad at it)
Testing (filing issues or help resolving them, they take a lot of time and sometimes I don't have the required hardware to test them all)
And of course you can always buy me a beer, coffee, tea,... via the donation button below.
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.
Copyright (C) 2016-2018 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/.