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.

527 lines
18 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
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
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
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
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.9.5] 2017-09-28
  5. ### Fixed
  6. - Revert to JustWifi 1.1.4 (#228)
  7. ## [1.9.4] 2017-09-22
  8. ### Added
  9. - Added ESPurna specific mDNS text registers (app_name, app_version, device_name)
  10. - Crash dump info is stored in EEPROM and retrieved via terminal ("crash" command)
  11. - Support for Huacanxing H802
  12. - Support for powermeters based on V9261F IC
  13. - Support for powermeters based on ECH1560 IC (beta, untested)
  14. ### Changed
  15. - Changed behaviour on MQTT connection failure (#215)
  16. - Removed boot delay
  17. - Refactor power modules
  18. - Updated JustWifi library
  19. ### Fixed
  20. - Set all esp8285 devices to use esp01_1m (#210, #225)
  21. - Removed wifi gain option since it prevents some devices to connect (#204)
  22. ## [1.9.3] 2017-09-04
  23. ### Added
  24. - New "erase.config" option in terminal to delete SDK settings
  25. - Added error code to error message when updating from web UI
  26. - Fixed Web UI to be behind a proxy (http://tinkerman.cat/secure-remote-access-to-your-iot-devices/)
  27. - Support "ON", "OFF" and "TOGGLE" (also lowercase) as payload in relay MQTT, API and WS (http://tinkerman.cat/using-google-assistant-control-your-esp8266-devices/)
  28. ### Changed
  29. - Updated fauxmoESP library to 2.2.0
  30. ### Fixed
  31. - Fix HLW8012 calibration (#194)
  32. - Fix telnet dropping connection
  33. - Fix WiFiSecureClient connection with PubSubClient (#64)
  34. ## [1.9.2] 2017-08-31
  35. ### Added
  36. - System stability check (turns off everything except WIFI AP, OTA and telnet if there is a boot crash loop) (#196)
  37. - Telnet support (enabled by default only on AP interface)
  38. - Option to set WiFi gain from web UI
  39. - Option to disable MQTT from web UI
  40. - MQTT autodiscover, with the option to autoconnect if no broker defined
  41. - Home Assistant MQTT autodiscover feature
  42. - List enabled modules in INIT debug info
  43. - Counter module (counts and reports transitions in a digital pin)
  44. ### Changed
  45. - Updated NoFUSS support
  46. - Web UI documentation changes
  47. - Changes in terminal commands ("reconnect" is now "reset.wifi", also new commands added)
  48. ### Fixed
  49. - Crash in settings saving (#190) and fixed UDP debug conditional build clauses
  50. ## [1.9.1] 2017-08-27
  51. ### Added
  52. - Support to build without NTP support
  53. - Added current time, uptime, free heap, firmware size and free space to web interface
  54. ### Changed
  55. - Changed settings keys for Itead Sonoff RF Bridge
  56. - Disable Domoticz by default
  57. ### Fixed
  58. - Fixed build flags for DHT and DS18B20 in platformio.ini file
  59. - Fixed Itead Sonoff B1 by updating the my9291 library
  60. - Fixed light status on boot (#157)
  61. - Fixed CSS bug cause by a bad merge
  62. ## [1.9.0] 2017-08-25
  63. ### Added
  64. - Support for IteadStudio BN-SZ01 Ceiling Light (#132)
  65. - Support for IteadStudio Sonoff RF Bridge (#173)
  66. - Support for IteadStudio Sonoff 4CH Pro (#174)
  67. - Support for IteadStudio Sonoff B1
  68. - Support for IteadStudio Sonoff LED
  69. - Support for IteadStudio Sonoff T1 wall switches (1, 2 and 4 channels)
  70. - Support for WiOn 50055 WiFi Wall Outlet & Tap
  71. - Support for EXS WiFi Relay v3.1 (and other future latching relay boards) (#152)
  72. - TLS/SSL support for MQTT (caution: eats a lot of memory, do not use with web interface) (#64)
  73. - Add support for delayed ON/OFF switches (#123, #161, #188)
  74. - Added ON and OFF actions for button events (previously only TOGGLE available) (#182)
  75. - Sliders in web interface to control dimmer channels independently (also for brightness)
  76. - Debug info about MQTT disconnect reason
  77. ### Changed
  78. - MQTT setters ending with "/set" by default
  79. - Using DOUT flash mode on all devices (#167)
  80. - Longer timeout for WiFi connection (better chances for Sonoff Basic to connect)
  81. - Changed MQTT topics for light devices (COLOR, BRIGHTNESS, MIRED, KELVIN, CHANNEL) (#144)
  82. - Changed the way light devices are defined (see LIGHT_PROVIDER_DIMMER)
  83. - Allow to disable color picker in web interface
  84. - API returns processed values for HLW8012 sensor (not raw values anymore) (#176)
  85. - Major refactoring of settings
  86. ### Fixed
  87. - Discard MQTT messages with empty payload (#185)
  88. - Wifi connection issue (https://github.com/esp8266/Arduino/issues/2186)
  89. - Alexa connection issue
  90. ## [1.8.3] 2017-07-23
  91. ### Added
  92. - Issue #85 and #90. Option to report MQTT messages with JSON payloads
  93. - Issue #170. Updated DebouceEvent library to allow disabling double click and get faster click responses
  94. - Using memory layout with no SPIFFS for 1Mb devices
  95. ### Changed
  96. - Rename settings s/POW/HLW8012/
  97. - Return times in ISO8601 format
  98. ### Fixed
  99. - Issue #168. Added H801 to arduino.h file
  100. - Issue #171. Fix corrupted will message
  101. ## [1.8.2] 2017-07-16
  102. ### Added
  103. - InfluxDB support via HTTP API
  104. - Added custom reset reason to debug log
  105. - Enable WIFI debug on hardware reset (button long click)
  106. ### Changed
  107. - Issue #159. Allow decimals in relay pulse interval
  108. - Updated HLW8012 library
  109. ### Fixed
  110. - Issue #148. Fix bug in conditional compilation check
  111. - Issue #149. Using different pulse counters for each relay (thanks to Lauris Ieviņš)
  112. - Issue #141. Limit relay pulse interval to 60s
  113. - Fixed units for apparent & reactive power (thanks to Lauris Ieviņš)
  114. - Fixed mDNS setup when using custom HTTP port for web interface
  115. ## [1.8.1] 2017-05-22
  116. ### Fixed
  117. - Issue #140. Fix no relay control bug in Sonoff Dual
  118. ## [1.8.0] 2017-05-21
  119. ### Added
  120. - Added gamma correction to RGB strips. Thanks to Chris Ward.
  121. - Added support for Huacanxing H801 WiFi LED Controller. Thanks to Minh Phuong Ly.
  122. - Issue #138. Added NTP configuration from web interface
  123. - Issue #128. Report color when booting and in heartbeat stream.
  124. - Issue #126. Show NTP status in web interface.
  125. - Added filter limits on POW readings.
  126. - Added color temperature to RGB calculation. Thanks to Sacha Telgenhof.
  127. - Issue #120. Added relay flood protection. Thanks to Izik Dubnov.
  128. - Support for "#RRGGBB", "RRR,GGG,BBB" and "WWW" color formats.
  129. - Issue #117. Added build date & time to web interface.
  130. ### Fixed
  131. - Fix MQTT_RELAY board conifugration. Thanks to Denis French.
  132. - Issue #125. Fix bug in relay status reading from EEPROM
  133. - Issue #127. Fix button action in DUAL.
  134. - Fix bug in Sonoff POW current reading. Thanks to Emmanuel Tatto.
  135. - Minimizing my9291 flickering when booting.
  136. - Fix conditional flags in hardware.ino to support Arduino IDE.
  137. ## [1.7.1] 2017-03-28
  138. ### Fixed
  139. - Issue #113. Fix restoring color from EEPROM upon reboot
  140. - Issue #113. Fix bug in API handlers
  141. ## [1.7.0] 2017-03-27
  142. ### Added
  143. - Web interface embedded in firmware image by default
  144. - Upload firmware image from web interface
  145. - Added API entry point to change light color
  146. - Added generic analog sensor. Thanks to Francesco Boscarino
  147. - Report RSSI value in debug console and MQTT status messages
  148. - Added support for Magic Home LED Controller
  149. - Added support for ESPurna-H Board (based on HLW8012)
  150. - Added forward compatible code for v2.0
  151. ### Changed
  152. - Added ellipsis (...) in debug messages longer than 80 characters
  153. - Changed topic constants in code
  154. - Prevent the SDK from saving WiFi configuration to flash
  155. ### Fixed
  156. - Issue #113. Fix light bulb state to OFF in library prevented the bulb from turning on
  157. - Issue #58. Added code to handle spurious readings
  158. - Fix bug in HLW8012 calibration current parameter casting to int instead of float
  159. - Issue #115. Removed local declaration of _mqttForward variable. Thanks to Paweł Fiedor
  160. - Fix MQTT will topic. Thanks to Asbjorn Tronhus
  161. ## [1.6.9] 2017-03-12
  162. ### Added
  163. - Two stage read for DS18B20 devices. Thanks to Izik Dubnov.
  164. - Option to report the relay status via MQTT periodically
  165. - Terminal commands to change relay status an light color
  166. - Added debug via UDP (disabled by default)
  167. - Moved debug strings to PROGMEM. ~1.5KByes memory freed
  168. - Avoid broadcasting websocket messages if no clients connected
  169. ### Fixed
  170. - Fixing use after free bug that leads to corrupted auth credentials. Thanks to David Guillen
  171. ## [1.6.8] 2017-03-01
  172. ### Added
  173. - Issue #85. Heartbeat reports now free heap, uptime and VCC every 5 minutes
  174. ### Changed
  175. - Wait two minutes instead of one in AP mode before trying to reconnect to the router
  176. - Issue #92. Debug log enabled by default in Arduino IDE
  177. - Issue #91. Using AsyncMqttClient as default MQTT client again
  178. ### Fixed
  179. - Report data from all sensors via websocket even if no MQTT connection
  180. - Issue #92. Fix unknown reference in Arduino IDE
  181. - Split data.h contents into 1k lines, otherwise Arduino IDE chokes on them
  182. - Discard empty MQTT topic while subscribing
  183. ## [1.6.7] 2017-02-25
  184. ### Added
  185. - Support for OpenLight / AI-Light by AI-Thinker based on MY9291 LED driver
  186. - Issue #87. Factory reset when physical button pressed for >10 seconds
  187. ## [1.6.6] 2017-02-23
  188. ### Fixed
  189. - Issue #82. Fix critical bug on Sonoff Dual
  190. ## [1.6.5] 2017-02-22
  191. ### Added
  192. - Option to backup and restore settings from the web interface
  193. - Footer in the web interface
  194. ### Changed
  195. - Using PubSubClient as MQTT client by default (please read the documentation)
  196. - Double & long clicks do nothing except for the first defined button
  197. ### Fixed
  198. - Issue #79. Fix bug in WiFi led notification & MQTT connectivity (using PubSubClient)
  199. - Issue #73. Fix bug when building without Domoticz support
  200. - Fix Gulp tasks dependencies
  201. ## [1.6.4] 2017-02-20
  202. ### Added
  203. - Option to embed the web interface in the firmware, disabled by default
  204. - Change relay status with a GET request (browser friendly)
  205. - Support for PROGMEM debug messages (only wifi module has been changed)
  206. - Option to disable mDNS, enabled by default
  207. - Show current web server port in debug log
  208. - Issue #75. Link relays to LEDs
  209. - Issue #76. Using http://espurna.local when in AP mode
  210. ### Changed
  211. - Images and favicon is now embedded in the HTML
  212. - Authentication challenge only in /auth request. All static contents are un-authenticated
  213. - HTTP response code when out of websocket slots changed from 423 to 429
  214. ### Fixed
  215. - Memory leak in MQTT connection method
  216. - Wait 60 seconds before retrying to connect when in AP mode
  217. - Issue #24 & #74. Update ESPAsyncTCP and ESPAsyncWebServer to latest GIT version that supports MSS defragmenting
  218. - Issue #73. Fixes for windows machines
  219. ### Removed
  220. - Captive portal removed, mDNS resolution for AP mode too
  221. ## [1.6.3] 2017-02-15
  222. ### Added
  223. - Issue #69. Temperature unit configuration from the web interface
  224. - Issue #55. WebServer port configurable from the web interface, defaults to 80
  225. - Expand network configuration when adding a new network
  226. ### Changed
  227. - Merged web contents except images in a single compressed file for reliability
  228. - Update support for Itead Motor Clockwise/Anticlockwise board
  229. - Scan for strongest network only if more than 1 network configured
  230. ### Fixed
  231. - Issue #71. Added default values for netmask and DNS in web configuration
  232. - Fixed Itead 1CH self-locking/inching board definition
  233. - Fixed PlatformIO environments for ESP8285 boards (4CH and Touch)
  234. ## [1.6.2] 2017-02-10
  235. ### Fixed
  236. - Check if there is an MQTT broker defined before the MQTT_MAX_TRIES check
  237. ## [1.6.1] 2017-02-10
  238. ### Added
  239. - Added support for [Jorge Garcia's Wifi+Relay Board Kit](https://www.tindie.com/products/jorgegarciadev/wifi--relays-board-kit/)
  240. - Reporting current and energy incrementals to a separate counters in Domoticz (thanks to Toni Arte)
  241. - Force WiFi reconnect after MQTT_MAX_TRIES fails trying to connect to MQTT broker
  242. ## [1.6.0] 2017-02-05
  243. ### Added
  244. - Added support for toggle switches
  245. - Allow reset the board via an MQTT message
  246. - Allow reset the board via an RPC (HTTP) message
  247. - 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/))
  248. - Reporting voltage to Domoticz (only HLW8012)
  249. - Map button events to actions (toggle relay, AP mode, reset, pulse mode)
  250. ### Changed
  251. - Reporting energy incrementals (Domoticz, MQTT)
  252. ### Removed
  253. - Removed current monitor bypass when relay is OFF
  254. - Removed energy API entry point
  255. ## [1.5.4] 2017-02-03
  256. ### Fixed
  257. - Issue #50. Fix type bug in window variable when calculating energy for HLW8012 devices (Sonoff POW)
  258. ## [1.5.3] 2017-02-02
  259. ### Fixed
  260. - Issue #50 and #54. Fixed domoticz MQTT message format
  261. ### Added
  262. - Energy calculation and aggregation. API entry points and MQTT messages.
  263. ## [1.5.2] 2017-01-29
  264. ### Fixed
  265. - Fix bug in emon topic payload
  266. ## [1.5.1] 2017-01-28
  267. ### Added
  268. - OpenEnergyMonitor WiFi MQTT Relay / Thermostat support (thanks to Denis French)
  269. ### Fixed
  270. - NTP connection refresh upon wifi connection
  271. - Filesystem image build using local gulp installation
  272. ## [1.5.0] 2017-01-21
  273. ### Added
  274. - Pulse mode. Allows to define a pulse time after which the relay will switch back
  275. - API entry points for sensor data (power, current, voltage, temperature and humidity)
  276. - Export sensor data to Domoticz (power, current, voltage, temperature and humidity)
  277. - Configurable (in code) mapping between buttons and relays
  278. - MQTT messages for button events
  279. - Added support for Itead Studio 1CH inching/self locking smart switch board
  280. - Added support for Jan Goedeke Wifi Relay boards (both NC and NO versions)
  281. - Notify OTA updates to websocket clients, automatically reload page
  282. - Support for pulse mode notification LED and button
  283. - Revert relay state mode on boot (thanks to Minh Phuong Ly)
  284. ### Fixed
  285. - MQTT will topic
  286. - Crash with HLW812 interrupts while trying to create a WIFI connection
  287. - Issue #20 Better inline documentation for Alexa and Domoticz default settings
  288. - Issue #39 Fixed autoconnect issue with static IP (fixed in JustWifi library)
  289. - Issue #41 Added password requirements to initial password change page
  290. ### Changed
  291. - Changed LED pattern for WIFI notifications (shorter pulses)
  292. ## [1.4.4] 2017-01-13
  293. ### Added
  294. - Adding current, voltage, apparent and reactive power reports to Sonoff POW (Web & MQTT)
  295. ### Fixed
  296. - Issue #35 Fixed frequent MQTT connection drops after WIFI reconnect
  297. - Defer wifi disconnection from web interface to allow request to return
  298. ### Changed
  299. - Move all Arduino IDE configuration values to their own file
  300. - Using latest HLW8012 library in interrupt mode
  301. ## [1.4.3] 2017-01-11
  302. ### Fixed
  303. - Issue #6 Using forked Time library to prevent conflict with Arduino Core for ESP8266 time.h file in windows machines
  304. ## [1.4.2] 2017-01-09
  305. ### Added
  306. - Support for inverse logic relays
  307. ### Fixed
  308. - Issue #31. Fixed error in relay identification from MQTT messages
  309. ## [1.4.1] 2017-01-05
  310. ### Added
  311. - Alexa support by default on all devices
  312. - Added support for Wemos D1 Mini board with official Relay Shield
  313. ### Fixed
  314. - Multi-packet websocket frames
  315. ## [1.4.0] 2016-12-31
  316. ### Added
  317. - Domoticz support via MQTT (https://www.domoticz.com/wiki/MQTT)
  318. - Support for static IP connections
  319. ### Fixed
  320. - Issue #16. Enforce minimum password strength in web interface
  321. ### Changed
  322. - Using default client_id provided by AsyncMqttClient
  323. - Allow up to 5 different WIFI networks
  324. ### Removed
  325. - File system version file
  326. ## [1.3.1] 2016-12-31
  327. ### Fixed
  328. - data_dir fix for PlatformIO
  329. ## [1.3.0] 2016-12-30
  330. ### Changed
  331. - Arduino IDE support (changes in the folder structure and documentation)
  332. ## [1.2.0] 2016-12-27
  333. ### Added
  334. - Force password changing if it's the default one
  335. - Added Last-Modified header to static contents
  336. - Added DNS captive portal for AP mode
  337. - Added support for Sonoff 4CH
  338. - Added support for WorkChoice ecoPlug (ECOPLUG). Thanks to David Myers
  339. - Added support for Sonoff SV
  340. - Added support for Sonoff Touch
  341. - Comment out hardware selection in hardware.h if using Arduino IDE
  342. - Added support for MQTT get/set suffixes (/status, /set, ...)
  343. - Added support for LED notifications via MQTT
  344. - Added EEPROM check commands to terminal interface
  345. ### Changed
  346. - Using unreleased AsyncMqttClient with stability improvements
  347. - Better decoupling between MQTT and relays/websockets
  348. - Skipping retained MQTT messages (configurable)
  349. ### Fixed
  350. - Issue #11 Compile error when building sonoff-dual-debug
  351. - Issue #14 MQTT Connection with Username an Password not working
  352. - Issue #17 Moved static variable 'pending' to class variable
  353. ## [1.1.0] 2016-12-06
  354. ### Added
  355. - Added support for DS18B20 temperature sensor. Thanks to Francesco Boscarino
  356. - Added reset command from console
  357. - Added support for multirelay boards like Sonoff DUAL or Electrodragon ESP Relay Board
  358. ### Changed
  359. - Not using espressif8266_stage in default environment
  360. - Relay MQTT topics
  361. - API entry points
  362. ### Removed
  363. - Old non protected API
  364. ## [1.0.3] 2016-11-29
  365. ### Added
  366. - WeMo emulation through the fauxmoESP library (control your switch from Alexa!)
  367. - REST API for relay management
  368. - Better dependency definitions in platformio.ini
  369. - Option to define inverse logic to on-board LED
  370. - Built data folder included in repo
  371. ### Changed
  372. - Using non-interrupt driven mode for HLW8012
  373. - Better documentation
  374. - Small changes to web interface
  375. - Same admin password for web, OTA and WIFI AP mode
  376. ### Fixed
  377. - Prevent fauxmoESP to be compiled by default
  378. ### Removed
  379. - Removed ESPurna board to its own repo
  380. ## [1.0.1] 2016-11-13
  381. ### Added
  382. - Basic authentication and CSRF to websocket requests
  383. ## [1.0.0] 2016-11-13
  384. ### Added
  385. - Using ESPAsyncWebServer (for web & websockets) and AsyncMqttClient
  386. ## [0.9.9] 2016-11-12
  387. ### Added
  388. - Preliminary support for Sonoff POW
  389. - Replace AJAX requests with websockets
  390. - Using sprites for images
  391. - Hostname can be changed
  392. - Added initial relay state mode
  393. - Reconnect and reset buttons on web interface
  394. ### Changed
  395. - Changed long click to reset and double click to AP mode
  396. - Using officially supported platformio.ini file by default
  397. ### Fixed
  398. - Removed unnecessary memory inefficient code
  399. - Temprary fix for Adafruit DHT library (see https://github.com/adafruit/DHT-sensor-library/issues/62)
  400. ## [0.9.8] 2016-10-06
  401. ### Added
  402. - Using PureCMS for the web interface
  403. - Using gulp to build the filesystem files
  404. - Using Embedis for configuration
  405. ### Changed
  406. - Updated JustWifi library
  407. - Web interface changes
  408. - Using custom platformio.ini file
  409. - Loads of changes in modules
  410. - Added DEBUG_MSG
  411. ### Fixed
  412. - Clean gulp builder script
  413. ## [0.9.7] 2016-08-28
  414. ### Changed
  415. - Moving wifi management to library (JustWifi)
  416. - Split code into modules
  417. ## [0.9.6] 2016-08-12
  418. ### Added
  419. - Added heartbeat, version and fsversion MQTT messages
  420. ### Changed
  421. - GZip 3rd party contents
  422. ## [0.9.5] 2016-07-31
  423. - Initial stable version