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.11.3, read the changelog.
NOTICE: 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.
NOTICE: 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.
Features
KRACK vulnerability free (when built against Arduino Core 2.4.0 RC2)
Support for multiple ESP8266-based boards (check list)
Power saving options
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)
Network visibility
Supports mDNS (service reporting and metadata)
Supports NetBIOS, LLMNR and Netbios (when built against Arduino Core 2.4.0 RC2) and SSDP (experimental)
Switch management
Support for push buttons and toggle switches
Configurable status on boot per switch (always ON, always OFF, same as before or toggle)
Support for pulse mode per switch (normally ON or normally OFF) with configurable time
Support for relay synchronization (all equal, only one ON, one and only on ON)
Support for MQTT groups to sync switches between devices
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/.