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.

369 lines
12 KiB

8 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
  1. # ESPurna change log
  2. The format is based on [Keep a Changelog](http://keepachangelog.com/)
  3. and this project adheres to [Semantic Versioning](http://semver.org/).
  4. ## [1.7.1] 2017-03-28
  5. ### Fix
  6. - Issue #113. Fix restoring color from EEPROM upon reboot
  7. - Issue #113. Fix bug in API handlers
  8. ## [1.7.0] 2017-03-27
  9. ### Added
  10. - Web interface embedded in firmware image by default
  11. - Upload firmware image from web interface
  12. - Added API entry point to change light color
  13. - Added generic analog sensor. Thanks to Francesco Boscarino
  14. - Report RSSI value in debug console and MQTT status messages
  15. - Added support for Magic Home LED Controller
  16. - Added support for ESPurna-H Board (based on HLW8012)
  17. - Added forward compatible code for v2.0
  18. ### Changed
  19. - Added ellipsis (...) in debug messages longer than 80 characters
  20. - Changed topic constants in code
  21. - Prevent the SDK from saving WiFi configuration to flash
  22. ### Fix
  23. - Issue #113. Fix light bulb state to OFF in library prevented the bulb from turning on
  24. - Issue #58. Added code to handle spurious readings
  25. - Fix bug in HLW8012 calibration current parameter casting to int instead of float
  26. - Issue #115. Removed local declaration of _mqttForward variable. Thanks to Paweł Fiedor
  27. - Fix MQTT will topic. Thanks to Asbjorn Tronhus
  28. ## [1.6.9] 2017-03-12
  29. ### Added
  30. - Two stage read for DS18B20 devices. Thanks to Izik Dubnov.
  31. - Option to report the relay status via MQTT periodically
  32. - Terminal commands to change relay status an light color
  33. - Added debug via UDP (disabled by default)
  34. - Moved debug strings to PROGMEM. ~1.5KByes memory freed
  35. - Avoid broadcasting websocket messages if no clients connected
  36. ### Fix
  37. - Fixing use after free bug that leads to corrupted auth credentials. Thanks to David Guillen
  38. ## [1.6.8] 2017-03-01
  39. ### Added
  40. - Issue #85. Heartbeat reports now free heap, uptime and VCC every 5 minutes
  41. ### Changed
  42. - Wait two minutes instead of one in AP mode before trying to reconnect to the router
  43. - Issue #92. Debug log enabled by default in Arduino IDE
  44. - Issue #91. Using AsyncMqttClient as default MQTT client again
  45. ### Fix
  46. - Report data from all sensors via websocket even if no MQTT connection
  47. - Issue #92. Fix unknown reference in Arduino IDE
  48. - Split data.h contents into 1k lines, otherwise Arduino IDE chokes on them
  49. - Discard empty MQTT topic while subscribing
  50. ## [1.6.7] 2017-02-25
  51. ### Added
  52. - Support for OpenLight / AI-Light by AI-Thinker based on MY9291 LED driver
  53. - Issue #87. Factory reset when physical button pressed for >10 seconds
  54. ## [1.6.6] 2017-02-23
  55. ### Fix
  56. - Issue #82. Fix critical bug on Sonoff Dual
  57. ## [1.6.5] 2017-02-22
  58. ### Added
  59. - Option to backup and restore settings from the web interface
  60. - Footer in the web interface
  61. ### Changed
  62. - Using PubSubClient as MQTT client by default (please read the documentation)
  63. - Double & long clicks do nothing except for the first defined button
  64. ### Fix
  65. - Issue #79. Fix bug in WiFi led notification & MQTT connectivity (using PubSubClient)
  66. - Issue #73. Fix bug when building without Domoticz support
  67. - Fix Gulp tasks dependencies
  68. ## [1.6.4] 2017-02-20
  69. ### Added
  70. - Option to embed the web interface in the firmware, disabled by default
  71. - Change relay status with a GET request (browser friendly)
  72. - Support for PROGMEM debug messages (only wifi module has been changed)
  73. - Option to disable mDNS, enabled by default
  74. - Show current web server port in debug log
  75. - Issue #75. Link relays to LEDs
  76. - Issue #76. Using http://espurna.local when in AP mode
  77. ### Changed
  78. - Images and favicon is now embedded in the HTML
  79. - Authentication challenge only in /auth request. All static contents are un-authenticated
  80. - HTTP response code when out of websocket slots changed from 423 to 429
  81. ### Fix
  82. - Memory leak in MQTT connection method
  83. - Wait 60 seconds before retrying to connect when in AP mode
  84. - Issue #24 & #74. Update ESPAsyncTCP and ESPAsyncWebServer to latest GIT version that supports MSS defragmenting
  85. - Issue #73. Fixes for windows machines
  86. ### Removed
  87. - Captive portal removed, mDNS resolution for AP mode too
  88. ## [1.6.3] 2017-02-15
  89. ### Added
  90. - Issue #69. Temperature unit configuration from the web interface
  91. - Issue #55. WebServer port configurable from the web interface, defaults to 80
  92. - Expand network configuration when adding a new network
  93. ### Changed
  94. - Merged web contents except images in a single compressed file for reliability
  95. - Update support for Itead Motor Clockwise/Anticlockwise board
  96. - Scan for strongest network only if more than 1 network configured
  97. ### Fix
  98. - Issue #71. Added default values for netmask and DNS in web configuration
  99. - Fixed Itead 1CH self-locking/inching board definition
  100. - Fixed PlatformIO environments for ESP8285 boards (4CH and Touch)
  101. ## [1.6.2] 2017-02-10
  102. ### Fix
  103. - Check if there is an MQTT broker defined before the MQTT_MAX_TRIES check
  104. ## [1.6.1] 2017-02-10
  105. ### Added
  106. - Added support for [Jorge Garcia's Wifi+Relay Board Kit](https://www.tindie.com/products/jorgegarciadev/wifi--relays-board-kit/)
  107. - Reporting current and energy incrementals to a separate counters in Domoticz (thanks to Toni Arte)
  108. - Force WiFi reconnect after MQTT_MAX_TRIES fails trying to connect to MQTT broker
  109. ## [1.6.0] 2017-02-05
  110. ### Added
  111. - Added support for toggle switches
  112. - Allow reset the board via an MQTT message
  113. - Allow reset the board via an RPC (HTTP) message
  114. - Added support for ADC121 I2C for current monitoring (Check [http://tinkerman.cat/power-monitoring-sonoff-th-adc121/](http://tinkerman.cat/power-monitoring-sonoff-th-adc121/))
  115. - Reporting voltage to Domoticz (only HLW8012)
  116. - Map button events to actions (toggle relay, AP mode, reset, pulse mode)
  117. ### Changed
  118. - Reporting energy incrementals (Domoticz, MQTT)
  119. ### Removed
  120. - Removed current monitor bypass when relay is OFF
  121. - Removed energy API entry point
  122. ## [1.5.4] 2017-02-03
  123. ### Fixed
  124. - Issue #50. Fix type bug in window variable when calculating energy for HLW8012 devices (Sonoff POW)
  125. ## [1.5.3] 2017-02-02
  126. ### Fixed
  127. - Issue #50 and #54. Fixed domoticz MQTT message format
  128. ### Added
  129. - Energy calculation and aggregation. API entry points and MQTT messages.
  130. ## [1.5.2] 2017-01-29
  131. ### Fixed
  132. - Fix bug in emon topic payload
  133. ## [1.5.1] 2017-01-28
  134. ### Added
  135. - OpenEnergyMonitor WiFi MQTT Relay / Thermostat support (thanks to Denis French)
  136. ### Fixed
  137. - NTP connection refresh upon wifi connection
  138. - Filesystem image build using local gulp installation
  139. ## [1.5.0] 2017-01-21
  140. ### Added
  141. - Pulse mode. Allows to define a pulse time after which the relay will switch back
  142. - API entry points for sensor data (power, current, voltage, temperature and humidity)
  143. - Export sensor data to Domoticz (power, current, voltage, temperature and humidity)
  144. - Configurable (in code) mapping between buttons and relays
  145. - MQTT messages for button events
  146. - Added support for Itead Studio 1CH inching/self locking smart switch board
  147. - Added support for Jan Goedeke Wifi Relay boards (both NC and NO versions)
  148. - Notify OTA updates to websocket clients, automatically reload page
  149. - Support for pulse mode notification LED and button
  150. - Revert relay state mode on boot (thanks to Minh Phuong Ly)
  151. ### Fixed
  152. - MQTT will topic
  153. - Crash with HLW812 interrupts while trying to create a WIFI connection
  154. - Issue #20 Better inline documentation for Alexa and Domoticz default settings
  155. - Issue #39 Fixed autoconnect issue with static IP (fixed in JustWifi library)
  156. - Issue #41 Added password requirements to initial password change page
  157. ### Changed
  158. - Changed LED pattern for WIFI notifications (shorter pulses)
  159. ## [1.4.4] 2017-01-13
  160. ### Added
  161. - Adding current, voltage, apparent and reactive power reports to Sonoff POW (Web & MQTT)
  162. ### Fixed
  163. - Issue #35 Fixed frequent MQTT connection drops after WIFI reconnect
  164. - Defer wifi disconnection from web interface to allow request to return
  165. ### Changed
  166. - Move all Arduino IDE configuration values to their own file
  167. - Using latest HLW8012 library in interrupt mode
  168. ## [1.4.3] 2017-01-11
  169. ### Fixed
  170. - Issue #6 Using forked Time library to prevent conflict with Arduino Core for ESP8266 time.h file in windows machines
  171. ## [1.4.2] 2017-01-09
  172. ### Added
  173. - Support for inverse logic relays
  174. ### Fixed
  175. - Issue #31. Fixed error in relay identification from MQTT messages
  176. ## [1.4.1] 2017-01-05
  177. ### Added
  178. - Alexa support by default on all devices
  179. - Added support for Wemos D1 Mini board with official Relay Shield
  180. ### Fixed
  181. - Multi-packet websocket frames
  182. ## [1.4.0] 2016-12-31
  183. ### Added
  184. - Domoticz support via MQTT (https://www.domoticz.com/wiki/MQTT)
  185. - Support for static IP connections
  186. ### Fixed
  187. - Issue #16. Enforce minimum password strength in web interface
  188. ### Changed
  189. - Using default client_id provided by AsyncMqttClient
  190. - Allow up to 5 different WIFI networks
  191. ### Removed
  192. - File system version file
  193. ## [1.3.1] 2016-12-31
  194. ### Fixed
  195. - data_dir fix for PlatformIO
  196. ## [1.3.0] 2016-12-30
  197. ### Changed
  198. - Arduino IDE support (changes in the folder structure and documentation)
  199. ## [1.2.0] 2016-12-27
  200. ### Added
  201. - Force password changing if it's the default one
  202. - Added Last-Modified header to static contents
  203. - Added DNS captive portal for AP mode
  204. - Added support for Sonoff 4CH
  205. - Added support for WorkChoice ecoPlug (ECOPLUG). Thanks to David Myers
  206. - Added support for Sonoff SV
  207. - Added support for Sonoff Touch
  208. - Comment out hardware selection in hardware.h if using Arduino IDE
  209. - Added support for MQTT get/set suffixes (/status, /set, ...)
  210. - Added support for LED notifications via MQTT
  211. - Added EEPROM check commands to terminal interface
  212. ### Changed
  213. - Using unreleased AsyncMqttClient with stability improvements
  214. - Better decoupling between MQTT and relays/websockets
  215. - Skipping retained MQTT messages (configurable)
  216. ### Fixed
  217. - Issue #11 Compile error when building sonoff-dual-debug
  218. - Issue #14 MQTT Connection with Username an Password not working
  219. - Issue #17 Moved static variable 'pending' to class variable
  220. ## [1.1.0] 2016-12-06
  221. ### Added
  222. - Added support for DS18B20 temperature sensor. Thanks to Francesco Boscarino
  223. - Added reset command from console
  224. - Added support for multirelay boards like Sonoff DUAL or Electrodragon ESP Relay Board
  225. ### Changed
  226. - Not using espressif8266_stage in default environment
  227. - Relay MQTT topics
  228. - API entry points
  229. ### Removed
  230. - Old non protected API
  231. ## [1.0.3] 2016-11-29
  232. ### Added
  233. - WeMo emulation through the fauxmoESP library (control your switch from Alexa!)
  234. - REST API for relay management
  235. - Better dependency definitions in platformio.ini
  236. - Option to define inverse logic to on-board LED
  237. - Built data folder included in repo
  238. ### Changed
  239. - Using non-interrupt driven mode for HLW8012
  240. - Better documentation
  241. - Small changes to web interface
  242. - Same admin password for web, OTA and WIFI AP mode
  243. ### Fixed
  244. - Prevent fauxmoESP to be compiled by default
  245. ### Removed
  246. - Removed ESPurna board to its own repo
  247. ## [1.0.1] 2016-11-13
  248. ### Added
  249. - Basic authentication and CSRF to websocket requests
  250. ## [1.0.0] 2016-11-13
  251. ### Added
  252. - Using ESPAsyncWebServer (for web & websockets) and AsyncMqttClient
  253. ## [0.9.9] 2016-11-12
  254. ### Added
  255. - Preliminary support for Sonoff POW
  256. - Replace AJAX requests with websockets
  257. - Using sprites for images
  258. - Hostname can be changed
  259. - Added initial relay state mode
  260. - Reconnect and reset buttons on web interface
  261. ### Changed
  262. - Changed long click to reset and double click to AP mode
  263. - Using officially supported platformio.ini file by default
  264. ### Fixed
  265. - Removed unnecessary memory inefficient code
  266. - Temprary fix for Adafruit DHT library (see https://github.com/adafruit/DHT-sensor-library/issues/62)
  267. ## [0.9.8] 2016-10-06
  268. ### Added
  269. - Using PureCMS for the web interface
  270. - Using gulp to build the filesystem files
  271. - Using Embedis for configuration
  272. ### Changed
  273. - Updated JustWifi library
  274. - Web interface changes
  275. - Using custom platformio.ini file
  276. - Loads of changes in modules
  277. - Added DEBUG_MSG
  278. ### Fixed
  279. - Clean gulp builder script
  280. ## [0.9.7] 2016-08-28
  281. ### Changed
  282. - Moving wifi management to library (JustWifi)
  283. - Split code into modules
  284. ## [0.9.6] 2016-08-12
  285. ### Added
  286. - Added heartbeat, version and fsversion MQTT messages
  287. ### Changed
  288. - GZip 3rd party contents
  289. ## [0.9.5] 2016-07-31
  290. - Initial stable version