Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ESPurna change log
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
[1.7.1] 2017-03-28
Fix
- Issue #113. Fix restoring color from EEPROM upon reboot
- Issue #113. Fix bug in API handlers
[1.7.0] 2017-03-27
Added
- Web interface embedded in firmware image by default
- Upload firmware image from web interface
- Added API entry point to change light color
- Added generic analog sensor. Thanks to Francesco Boscarino
- Report RSSI value in debug console and MQTT status messages
- Added support for Magic Home LED Controller
- Added support for ESPurna-H Board (based on HLW8012)
- Added forward compatible code for v2.0
Changed
- Added ellipsis (...) in debug messages longer than 80 characters
- Changed topic constants in code
- Prevent the SDK from saving WiFi configuration to flash
Fix
- Issue #113. Fix light bulb state to OFF in library prevented the bulb from turning on
- Issue #58. Added code to handle spurious readings
- Fix bug in HLW8012 calibration current parameter casting to int instead of float
- Issue #115. Removed local declaration of _mqttForward variable. Thanks to Paweł Fiedor
- Fix MQTT will topic. Thanks to Asbjorn Tronhus
[1.6.9] 2017-03-12
Added
- Two stage read for DS18B20 devices. Thanks to Izik Dubnov.
- Option to report the relay status via MQTT periodically
- Terminal commands to change relay status an light color
- Added debug via UDP (disabled by default)
- Moved debug strings to PROGMEM. ~1.5KByes memory freed
- Avoid broadcasting websocket messages if no clients connected
Fix
- Fixing use after free bug that leads to corrupted auth credentials. Thanks to David Guillen
[1.6.8] 2017-03-01
Added
- Issue #85. Heartbeat reports now free heap, uptime and VCC every 5 minutes
Changed
- Wait two minutes instead of one in AP mode before trying to reconnect to the router
- Issue #92. Debug log enabled by default in Arduino IDE
- Issue #91. Using AsyncMqttClient as default MQTT client again
Fix
- Report data from all sensors via websocket even if no MQTT connection
- Issue #92. Fix unknown reference in Arduino IDE
- Split data.h contents into 1k lines, otherwise Arduino IDE chokes on them
- Discard empty MQTT topic while subscribing
[1.6.7] 2017-02-25
Added
- Support for OpenLight / AI-Light by AI-Thinker based on MY9291 LED driver
- Issue #87. Factory reset when physical button pressed for >10 seconds
[1.6.6] 2017-02-23
Fix
- Issue #82. Fix critical bug on Sonoff Dual
[1.6.5] 2017-02-22
Added
- Option to backup and restore settings from the web interface
- Footer in the web interface
Changed
- Using PubSubClient as MQTT client by default (please read the documentation)
- Double & long clicks do nothing except for the first defined button
Fix
- Issue #79. Fix bug in WiFi led notification & MQTT connectivity (using PubSubClient)
- Issue #73. Fix bug when building without Domoticz support
- Fix Gulp tasks dependencies
[1.6.4] 2017-02-20
Added
- Option to embed the web interface in the firmware, disabled by default
- Change relay status with a GET request (browser friendly)
- Support for PROGMEM debug messages (only wifi module has been changed)
- Option to disable mDNS, enabled by default
- Show current web server port in debug log
- Issue #75. Link relays to LEDs
- Issue #76. Using http://espurna.local when in AP mode
Changed
- Images and favicon is now embedded in the HTML
- Authentication challenge only in /auth request. All static contents are un-authenticated
- HTTP response code when out of websocket slots changed from 423 to 429
Fix
- Memory leak in MQTT connection method
- Wait 60 seconds before retrying to connect when in AP mode
- Issue #24 & #74. Update ESPAsyncTCP and ESPAsyncWebServer to latest GIT version that supports MSS defragmenting
- Issue #73. Fixes for windows machines
Removed
- Captive portal removed, mDNS resolution for AP mode too
[1.6.3] 2017-02-15
Added
- Issue #69. Temperature unit configuration from the web interface
- Issue #55. WebServer port configurable from the web interface, defaults to 80
- Expand network configuration when adding a new network
Changed
- Merged web contents except images in a single compressed file for reliability
- Update support for Itead Motor Clockwise/Anticlockwise board
- Scan for strongest network only if more than 1 network configured
Fix
- Issue #71. Added default values for netmask and DNS in web configuration
- Fixed Itead 1CH self-locking/inching board definition
- Fixed PlatformIO environments for ESP8285 boards (4CH and Touch)
[1.6.2] 2017-02-10
Fix
- Check if there is an MQTT broker defined before the MQTT_MAX_TRIES check
[1.6.1] 2017-02-10
Added
- Added support for Jorge Garcia's Wifi+Relay Board Kit
- Reporting current and energy incrementals to a separate counters in Domoticz (thanks to Toni Arte)
- Force WiFi reconnect after MQTT_MAX_TRIES fails trying to connect to MQTT broker
[1.6.0] 2017-02-05
Added
- Added support for toggle switches
- Allow reset the board via an MQTT message
- Allow reset the board via an RPC (HTTP) message
- Added support for ADC121 I2C for current monitoring (Check http://tinkerman.cat/power-monitoring-sonoff-th-adc121/)
- Reporting voltage to Domoticz (only HLW8012)
- Map button events to actions (toggle relay, AP mode, reset, pulse mode)
Changed
- Reporting energy incrementals (Domoticz, MQTT)
Removed
- Removed current monitor bypass when relay is OFF
- Removed energy API entry point
[1.5.4] 2017-02-03
Fixed
- Issue #50. Fix type bug in window variable when calculating energy for HLW8012 devices (Sonoff POW)
[1.5.3] 2017-02-02
Fixed
- Issue #50 and #54. Fixed domoticz MQTT message format
Added
- Energy calculation and aggregation. API entry points and MQTT messages.
[1.5.2] 2017-01-29
Fixed
- Fix bug in emon topic payload
[1.5.1] 2017-01-28
Added
- OpenEnergyMonitor WiFi MQTT Relay / Thermostat support (thanks to Denis French)
Fixed
- NTP connection refresh upon wifi connection
- Filesystem image build using local gulp installation
[1.5.0] 2017-01-21
Added
- Pulse mode. Allows to define a pulse time after which the relay will switch back
- API entry points for sensor data (power, current, voltage, temperature and humidity)
- Export sensor data to Domoticz (power, current, voltage, temperature and humidity)
- Configurable (in code) mapping between buttons and relays
- MQTT messages for button events
- Added support for Itead Studio 1CH inching/self locking smart switch board
- Added support for Jan Goedeke Wifi Relay boards (both NC and NO versions)
- Notify OTA updates to websocket clients, automatically reload page
- Support for pulse mode notification LED and button
- Revert relay state mode on boot (thanks to Minh Phuong Ly)
Fixed
- MQTT will topic
- Crash with HLW812 interrupts while trying to create a WIFI connection
- Issue #20 Better inline documentation for Alexa and Domoticz default settings
- Issue #39 Fixed autoconnect issue with static IP (fixed in JustWifi library)
- Issue #41 Added password requirements to initial password change page
Changed
- Changed LED pattern for WIFI notifications (shorter pulses)
[1.4.4] 2017-01-13
Added
- Adding current, voltage, apparent and reactive power reports to Sonoff POW (Web & MQTT)
Fixed
- Issue #35 Fixed frequent MQTT connection drops after WIFI reconnect
- Defer wifi disconnection from web interface to allow request to return
Changed
- Move all Arduino IDE configuration values to their own file
- Using latest HLW8012 library in interrupt mode
[1.4.3] 2017-01-11
Fixed
- Issue #6 Using forked Time library to prevent conflict with Arduino Core for ESP8266 time.h file in windows machines
[1.4.2] 2017-01-09
Added
- Support for inverse logic relays
Fixed
- Issue #31. Fixed error in relay identification from MQTT messages
[1.4.1] 2017-01-05
Added
- Alexa support by default on all devices
- Added support for Wemos D1 Mini board with official Relay Shield
Fixed
- Multi-packet websocket frames
[1.4.0] 2016-12-31
Added
Fixed
- Issue #16. Enforce minimum password strength in web interface
Changed
- Using default client_id provided by AsyncMqttClient
- Allow up to 5 different WIFI networks
Removed
[1.3.1] 2016-12-31
Fixed
- data_dir fix for PlatformIO
[1.3.0] 2016-12-30
Changed
- Arduino IDE support (changes in the folder structure and documentation)
[1.2.0] 2016-12-27
Added
- Force password changing if it's the default one
- Added Last-Modified header to static contents
- Added DNS captive portal for AP mode
- Added support for Sonoff 4CH
- Added support for WorkChoice ecoPlug (ECOPLUG). Thanks to David Myers
- Added support for Sonoff SV
- Added support for Sonoff Touch
- Comment out hardware selection in hardware.h if using Arduino IDE
- Added support for MQTT get/set suffixes (/status, /set, ...)
- Added support for LED notifications via MQTT
- Added EEPROM check commands to terminal interface
Changed
- Using unreleased AsyncMqttClient with stability improvements
- Better decoupling between MQTT and relays/websockets
- Skipping retained MQTT messages (configurable)
Fixed
- Issue #11 Compile error when building sonoff-dual-debug
- Issue #14 MQTT Connection with Username an Password not working
- Issue #17 Moved static variable 'pending' to class variable
[1.1.0] 2016-12-06
Added
- Added support for DS18B20 temperature sensor. Thanks to Francesco Boscarino
- Added reset command from console
- Added support for multirelay boards like Sonoff DUAL or Electrodragon ESP Relay Board
Changed
- Not using espressif8266_stage in default environment
- Relay MQTT topics
- API entry points
Removed
[1.0.3] 2016-11-29
Added
- WeMo emulation through the fauxmoESP library (control your switch from Alexa!)
- REST API for relay management
- Better dependency definitions in platformio.ini
- Option to define inverse logic to on-board LED
- Built data folder included in repo
Changed
- Using non-interrupt driven mode for HLW8012
- Better documentation
- Small changes to web interface
- Same admin password for web, OTA and WIFI AP mode
Fixed
- Prevent fauxmoESP to be compiled by default
Removed
- Removed ESPurna board to its own repo
[1.0.1] 2016-11-13
Added
- Basic authentication and CSRF to websocket requests
[1.0.0] 2016-11-13
Added
- Using ESPAsyncWebServer (for web & websockets) and AsyncMqttClient
[0.9.9] 2016-11-12
Added
- Preliminary support for Sonoff POW
- Replace AJAX requests with websockets
- Using sprites for images
- Hostname can be changed
- Added initial relay state mode
- Reconnect and reset buttons on web interface
Changed
- Changed long click to reset and double click to AP mode
- Using officially supported platformio.ini file by default
Fixed
[0.9.8] 2016-10-06
Added
- Using PureCMS for the web interface
- Using gulp to build the filesystem files
- Using Embedis for configuration
Changed
- Updated JustWifi library
- Web interface changes
- Using custom platformio.ini file
- Loads of changes in modules
- Added DEBUG_MSG
Fixed
- Clean gulp builder script
[0.9.7] 2016-08-28
Changed
- Moving wifi management to library (JustWifi)
- Split code into modules
[0.9.6] 2016-08-12
Added
- Added heartbeat, version and fsversion MQTT messages
Changed
[0.9.5] 2016-07-31