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.

825 lines
39 KiB

8 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 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
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
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
  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.12.2] 2018-01-29
  5. ### Added
  6. - Repository migrated over to GitHub
  7. - Travis CI build test and deploy
  8. - Pre-commit hook to change README.md file depending on the branch
  9. - {hostname} and {mac} placeholders for MQTT root topic
  10. - Added support for timezones with minutes ([#265](https://github.com/xoseperez/espurna/issues/265))
  11. - SSDP support ([#282](https://github.com/xoseperez/espurna/issues/282), [#423](https://github.com/xoseperez/espurna/issues/423), disabled by default since current implementation is not compatible with Alexa [#479](https://github.com/xoseperez/espurna/issues/479))
  12. - HA auto-discover for multi-relay boards and sensors ([#392](https://github.com/xoseperez/espurna/issues/392), [#465](https://github.com/xoseperez/espurna/issues/465))
  13. - Reset the pulse timeout every time an MQTT message is sent with the non-normal payload value ([#454](https://github.com/xoseperez/espurna/issues/454))
  14. - Option to disable schedules without deleting them ([#453](https://github.com/xoseperez/espurna/issues/453))
  15. - Added LED_MODE_STATUS ([#458](https://github.com/xoseperez/espurna/issues/458))
  16. - Support to set on/off state per channel using switches ([#457](https://github.com/xoseperez/espurna/issues/457))
  17. - Added support for MagicHome LED Controller 2.3
  18. - Alexa message queue (thanks to Qubeck)
  19. - Secondary Serial RX port for H801 and H802 boards ([#386](https://github.com/xoseperez/espurna/issues/386), thanks to Pablo Pousada Rial)
  20. - Added compatibility with https://github.com/rhx/RF-Bridge-EFM8BB1 to RF Bridge (Thanks to Rene Hexel)
  21. - Added message queue to RF Bridge
  22. - Added MAC to mDNS text fields
  23. - Added wifi.ap command to go into AP mode
  24. - Added message id on MQTT JSON payloads
  25. - Added hooks for 3rd party code (custom modules)
  26. - Local broker to broadcast messages internally
  27. - Added timestamp to debug output
  28. - Common I2C interface to abstract backend library (Wire or Brzo I2C)
  29. - Added espurnaLoopRegister
  30. ### Fixed
  31. - Fixed support for 4CH Pro different modes ([#333](https://github.com/xoseperez/espurna/issues/333))
  32. - Fixed several sensor modules to enable hot-unplug-plug ([#398](https://github.com/xoseperez/espurna/issues/398))
  33. - Fixed crash when calling idbSend from an MQTT callback ([#410](https://github.com/xoseperez/espurna/issues/410))
  34. - Checking trailing slash in mqttTopic ([#422](https://github.com/xoseperez/espurna/issues/422))
  35. - Fixed pulse and pulse_ms order in relay_t structure ([#424](https://github.com/xoseperez/espurna/issues/424))
  36. - Use same buffer size across all terminal-realted classes/methods. Set to 128 chars ([#477](https://github.com/xoseperez/espurna/issues/477), [#478](https://github.com/xoseperez/espurna/issues/478))
  37. - Fix WiFi scan status in web UI
  38. - Several code quality fixes (thanks to Lazar Obradovic)
  39. - Fixed error message on first command over telnet
  40. ### Changed
  41. - BMX280 sensor module now doesn't depend on third party libraries
  42. - Changed time management in ntp, mqtt and scheduler modules
  43. ## Deprecated
  44. - {identifier} placeholder for MQTT root topic
  45. ## [1.12.1] 2018-01-14
  46. ### Added
  47. - Option to perform a WiFi network scan from web UI
  48. - Added hostname to web UI side menu ([#404](https://github.com/xoseperez/espurna/issues/404))
  49. - Option to flash multiple devices with ESPurna OTA Manager
  50. ### Fixed
  51. - Fix web UI layout so signature does not overlay buttons ([#396](https://github.com/xoseperez/espurna/issues/396))
  52. - Option to disable network scan and allow connecting to hidden SSID ([#392](https://github.com/xoseperez/espurna/issues/392), [#399](https://github.com/xoseperez/espurna/issues/399))
  53. - Fix crash caused by a delay in UDP debugging code ([#397](https://github.com/xoseperez/espurna/issues/397))
  54. - Fix memory leak in influxDB module ([#410](https://github.com/xoseperez/espurna/issues/410))
  55. - Fix typos in web UI ([#394](https://github.com/xoseperez/espurna/issues/394), [#421](https://github.com/xoseperez/espurna/issues/421))
  56. ### Changed
  57. - Updated to fauxmoESP 2.4.2
  58. - Changed default I2C GPIO for Wemos D1 ([#420](https://github.com/xoseperez/espurna/issues/420))
  59. - Some terminal commands have changed. See docs or type "help".
  60. ## [1.12.0] 2018-01-11
  61. ### Added
  62. - Scheduler (contributed by Stefano Cotterli, thank you!, [#131](https://github.com/xoseperez/espurna/issues/131))
  63. - Added "wifi.scan" command to terminal
  64. - Added ESPurna Switch board support
  65. - Added support for python3 in memanalyzer and ota scripts (thanks to Ryan Jarvis)
  66. - Added BSSID, RSSI, channels and distance to web UI status tab
  67. - Added mDNS name resolving to MQTT, InfluxDB and NoFUSS modules ([#129](https://github.com/xoseperez/espurna/issues/129), disabled by default)
  68. ### Fixed
  69. - Update FauxmoESP library to 2.4.1, solves dependency issue ([#388](https://github.com/xoseperez/espurna/issues/388))
  70. - Fixed hardware definition in Sonoff Basic and Dual R2 causing wrong relay state on boot ([#365](https://github.com/xoseperez/espurna/issues/365))
  71. ### Changed
  72. - Removed auto-recursion check in Domoticz module ([#379](https://github.com/xoseperez/espurna/issues/379))
  73. - Rename terminal commands: reset.wifi to wifi.reset, reset.mqtt to mqtt.reset.
  74. - Update JustWifi library to 1.1.6 (support for multiple SSIDs with the same name)
  75. - Changed the way Home Assistant module handles disabling auto-discovery ([#383](https://github.com/xoseperez/espurna/issues/383))
  76. ## [1.11.4] 2018-01-09
  77. ### Fixed
  78. - Fix bug in RF Bridge when RF code contains the stop byte. Check overflow ([#357](https://github.com/xoseperez/espurna/issues/357))
  79. - Fixed typos in code and wiki (Thanks to Ryan Jarvis)
  80. - Fix bug in magnitude topic and units ([#355](https://github.com/xoseperez/espurna/issues/355))
  81. ### Added
  82. - Small core build to allow two-step flashing method for big binaries
  83. - Thingspeak support ([#371](https://github.com/xoseperez/espurna/issues/371), disabled by default)
  84. - Color synchronization between lights using MQTT ([#362](https://github.com/xoseperez/espurna/issues/362))
  85. - Support for Arilux AL-LC02 ([#347](https://github.com/xoseperez/espurna/issues/347))
  86. - Support for Tarpuna Shield for Wemos D1
  87. - Build option to disable password checking ([#373](https://github.com/xoseperez/espurna/issues/373))
  88. - Option to report sensor address via MQTT ([#377](https://github.com/xoseperez/espurna/issues/377), I2C address, GPIO, Dallas address,...)
  89. - Added binary size to memanalyzer script
  90. - Option to specify custom client ID for MQTT connection ([#368](https://github.com/xoseperez/espurna/issues/368))
  91. - Cross-platform ESPurna OTA Manager implemented in python (untested)
  92. - Terminal command to get or set digital GPIO
  93. ### Changed
  94. - Using 2.3.0 for prebuilt binaries
  95. - Fix delay in DHT sensor
  96. - Allow MQTT keep alive value of up to 3600s
  97. - Changed Sonoff 4CH Pro definitions to support built-in interlock mode ([#333](https://github.com/xoseperez/espurna/issues/333))
  98. ## [1.11.3] 2018-01-02
  99. ### Fixed
  100. - Fix uninitialized PWM channels bug ([#356](https://github.com/xoseperez/espurna/issues/356))
  101. ### Added
  102. - Added memory analyzer
  103. ## [1.11.2] 2017-12-30
  104. ### Fixed
  105. - Fix my92xx and pwm references for Arduino IDE ([#346](https://github.com/xoseperez/espurna/issues/346))
  106. - Fix SHT3X I2C sensor magnitude count ([#337](https://github.com/xoseperez/espurna/issues/337))
  107. - Fix timing for DHT11 sensors ([#294](https://github.com/xoseperez/espurna/issues/294))
  108. - Fix overflow in relayParsePayload with long MQTT messages ([#344](https://github.com/xoseperez/espurna/issues/344))
  109. - Fix loading of Dallas and DHT sensors for Sonoff TH images ([#352](https://github.com/xoseperez/espurna/issues/352))
  110. - Subscribe to Domoticz MQTT topics only if Domotic< is enabled
  111. ### Added
  112. - Added option to change MQTT retain flag, QoS and keepalive time from webUI ([#321](https://github.com/xoseperez/espurna/issues/321))
  113. - Added LED modes "always off" and "always on" ([#348](https://github.com/xoseperez/espurna/issues/348))
  114. - Defined new ESPurna switch (no HLW8012 support & touch button ready)
  115. ### Changed
  116. - Stop requiring definition of boards in migrate module
  117. ## [1.11.1] 2017-12-29
  118. ### Fixed
  119. - Fixed relay status on reboot
  120. ### Added
  121. - Added support for Arilux AL-LC01 and AL-LC11
  122. - Added support for BH1750 luminosity sensor
  123. - Added automatic memory size identification in ota_flash script
  124. ## [1.11.0] 2017-12-28
  125. ### Fixed
  126. - Fixed Arduino IDE compilation issues ([#330](https://github.com/xoseperez/espurna/issues/330))
  127. - Fixed issues with IE
  128. - Fixed websocket auth issue with Safari (temporary)
  129. - Fixed MQTT group sync when different switches share same group
  130. - Fixed casting issue in buttonStore ([#327](https://github.com/xoseperez/espurna/issues/327))
  131. - Fixed crash in InfluxDB initial heartbeat ([#318](https://github.com/xoseperez/espurna/issues/318))
  132. - Fixed LED logic for ESPurna H08 board
  133. ### Added
  134. - New sensors module (major change)
  135. + Existing sensor have been migrated: EMON*, ECH1560, V9261F, HLW8012, DHT, DALLAS, ANALOG, DIGITAL and EVENTS
  136. + New sensor have bee added: BMP280/BME280, EMON over ADS1115, MHZ19, PMSX003 (thanks to Òscar Rovira), SHT3X over I2C and SI7021
  137. - Option to change boot and pulse modes per relay from the web UI
  138. - Option to select sensor read interval and report interval from web UI
  139. - Itead RF Bridge
  140. + Match MQTT RFOUT codes to relays
  141. + Force RFBridge to send messages even if switch is already in requested state ([#324](https://github.com/xoseperez/espurna/issues/324))
  142. + Implemented RFbridge message queue asynchronously
  143. - Added option to load config via HTTP POST & reset ([#335](https://github.com/xoseperez/espurna/issues/335))
  144. - Added option to define behaviour of the first LED between WIFI, MQTT, FIND-ME ([#317](https://github.com/xoseperez/espurna/issues/317))
  145. - Added HTML linter to gulp builder
  146. - Added Help command on terminal ([#338](https://github.com/xoseperez/espurna/issues/338))
  147. - Added preliminary support for SSDP (untested, disabled by default) ([#282](https://github.com/xoseperez/espurna/issues/282))
  148. - Reporting NTP datetime on MQTT heartbeat (thanks to Eldon R. Brown)
  149. - Added version tracking and migration code
  150. - I2C and GPIO locking features
  151. - Changed default button action for touch button devices (TOUCH and T1) ([#327](https://github.com/xoseperez/espurna/issues/327))
  152. - Generic 8 channel board ([#336](https://github.com/xoseperez/espurna/issues/336))
  153. ### Changed
  154. - Added more sensor data filters (Max, MobileAverage)
  155. - Changed max pulse time to 1h ([#316](https://github.com/xoseperez/espurna/issues/316))
  156. - Renamed "reset" to "reboot" for clarity ([#315](https://github.com/xoseperez/espurna/issues/315))
  157. - UI refactor
  158. - Change apiRegister signature
  159. ## [1.10.1] 2017-12-05
  160. ### Fixed
  161. - Fix Sonoff RFBridge learn message from web UI ([#287](https://github.com/xoseperez/espurna/issues/287))
  162. - Fix unstability in "one and just one" sync mode ([#290](https://github.com/xoseperez/espurna/issues/290))
  163. - Fix unnecessary inclusion of my92xx library ([#293](https://github.com/xoseperez/espurna/issues/293))
  164. - Limit the MQTT queue to 10 messages when "Use JSON payload" enabled ([#296](https://github.com/xoseperez/espurna/issues/296))
  165. - Fix Sonoff RFBridge OFF button toggling switch ([#303](https://github.com/xoseperez/espurna/issues/303))
  166. - Allow defining only ON or OFF codes in Sonoff RFBridge ([#304](https://github.com/xoseperez/espurna/issues/304))
  167. - Disabled terminal support for Sonoff Dual ([#310](https://github.com/xoseperez/espurna/issues/310))
  168. ### Added
  169. - Support for SI7021-based sensor by Itead Studio compatible with Sonoff TH ([#216](https://github.com/xoseperez/espurna/issues/216))
  170. - Support for Sonoff Dual R2 ([#286](https://github.com/xoseperez/espurna/issues/286))
  171. - MQTT group topics (sync two or more switches from different devices, [#300](https://github.com/xoseperez/espurna/issues/300))
  172. - Color transitions (enabled by default, can be disabled from web UI)
  173. - Option to disable MQTT support at build time
  174. ### Changed
  175. - Decreased PWM frequency for dimmer lights
  176. - Changed password policy ([#297](https://github.com/xoseperez/espurna/issues/297))
  177. ## [1.10.0] 2017-11-26
  178. ### Fixed
  179. - Temperatures with 1 decimal resolution
  180. - Issues with Sonoff B1 due to bad driver management (using my92xx library now)
  181. - Avoid recursive messages on Domoticz ([#272](https://github.com/xoseperez/espurna/issues/272))
  182. - Fixed Sonoff T1 configuration
  183. - Simplify and fix web auth ([#284](https://github.com/xoseperez/espurna/issues/284))
  184. - Fix Embedis custom parser
  185. ### Added
  186. - Added option to define a temperature correction factor (thanks to Pawel Raszewski)
  187. - Option to disable system check on build time
  188. - Power saving features (loopDelay and wifi sleep)
  189. - Added Sonoff TH build environment
  190. - Send Home Assistant auto discover messages on connect ([#279](https://github.com/xoseperez/espurna/issues/279))
  191. - Implemented Home Assistant availability topic ([#280](https://github.com/xoseperez/espurna/issues/280))
  192. - Update time, uptime and heap on webUI every heartbeat
  193. - Support for LLMNR and NetBIOS ([#282](https://github.com/xoseperez/espurna/issues/282))
  194. - Added I2C clean bus code
  195. - Added realm to auth challenge
  196. ### Changed
  197. - Changed default hostname to "ESPURNA_XXXXXX"
  198. - Binaries built against stable core (~40Kb less, [#274](https://github.com/xoseperez/espurna/issues/274))
  199. - Enabled TERMINAL_SUPPORT for Sonoff Dual (only available via TELNET)
  200. - Dinamically resize debug strings (now messages are not cropped)
  201. - MQTT: unsubscribe to '#' before subscribing
  202. - Updated ESPAsyncWebServer and ESPAsyncTCP libraries
  203. - Removed InfluxDB support by default
  204. - Using stock slider in webUI to reduce size
  205. - Unify DHT and DS18B20 code, show NOT CONNECTED on webUI
  206. ## [1.9.9] 2017-11-09
  207. ### Fixed
  208. - Fixed bug in MY9291-based light bulbs at full brightness
  209. ### Added
  210. - RFBridge: toggle when RF codes for ON and OFF are the same ([#270](https://github.com/xoseperez/espurna/issues/270))
  211. - Support for HSV color schema (MQTT, API and webUI via a selector)
  212. ### Changed
  213. - "COLOR" entry point deprecated, use "RGB" instead (MQTT and API, ex. topic "light/rgb/set" instead of "light/color/set")
  214. ## [1.9.8] 2017-11-08
  215. ### Fixed
  216. - Removed dimmer lights flicker when saving to EEPROM ([#191](https://github.com/xoseperez/espurna/issues/191))
  217. - Fixed low brightness in dimmer lights ([#157](https://github.com/xoseperez/espurna/issues/157))
  218. - Fixed blank fields in energy ([#258](https://github.com/xoseperez/espurna/issues/258), [#259](https://github.com/xoseperez/espurna/issues/259))
  219. - Fixed support for Arilux AL-LC06
  220. - Updated fauxmoESP library with support for GetBinaryState actions
  221. ### Added
  222. - Support for IR remotes
  223. - Option to select power read and report interval from webUI
  224. - Option to report real-time values in API, configurable via webUI
  225. - Support for ESPurna-H Board v0.8
  226. - Support for Arilux E27 light bulb (untested)
  227. - Support for YJZK 2-gang switch
  228. ### Changed
  229. - PWM using ESP8266_new_pwm by Stephan Bruens (https://github.com/StefanBruens/ESP8266_new_pwm)
  230. - Using own DHT implementation (removed dependency on Adafruit libraries)
  231. - Disabled serial debug for Sonoff RFBridge
  232. ## [1.9.7] 2017-10-25
  233. ### Fixed
  234. - Fix Alexa interface switching on all lights ([#256](https://github.com/xoseperez/espurna/issues/256))
  235. ## [1.9.6] 2017-10-23
  236. ### Fixed
  237. - Fix power report in Domoticz ([#236](https://github.com/xoseperez/espurna/issues/236))
  238. - Fix Sonoff POW in AP mode ([#241](https://github.com/xoseperez/espurna/issues/241))
  239. - Fix Home Automation auto-discovery (support for single relay switches and RGB lights, [#235](https://github.com/xoseperez/espurna/issues/235))
  240. - Check WS authentication only on start event
  241. ### Added
  242. - Support for 2.4.0 RC2 Arduino Core that fixes KRACK vulnerablity (pre-built images are compiled against this, [#242](https://github.com/xoseperez/espurna/issues/242))
  243. - Support for ManCaveMade ESPLive board (thanks to Michael A. Cox)
  244. - Support for InterMIT Tech QuinLED 2.6 (thanks to Colin Shorts)
  245. - Support for Magic Home LED Controller 2.0 (thanks to users @gimi87 and @soif, [#231](https://github.com/xoseperez/espurna/issues/231))
  246. - Support for Arilux AL-LC06 (thanks to Martijn Kruissen)
  247. - Support for Xenon SM-PW702U Wifi boards (thanks to Joshua Harden, [#212](https://github.com/xoseperez/espurna/issues/212))
  248. - Support for Authometion LYT8266 (testing, thanks to Joe Blellik, [#213](https://github.com/xoseperez/espurna/issues/213))
  249. - Support for an external button for D1 Mini boards (thanks to user @PieBru, [#239](https://github.com/xoseperez/espurna/issues/239))
  250. - Option to query relay status via MQTT or WS (thanks to Wesley Tuzza)
  251. - Automatically install dependencies for web interface builder (thanks to Hermann Kraus)
  252. - Support for HSV and IR for Magic Home LED Controller (optional, disabled by default, thanks to Wesley Tuzza)
  253. - Added option to report DS18B20 temperatures based on changes (thanks to Michael A. Cox)
  254. - Safer buffer handling for websocket data (thanks to Hermann Kraus & Björn Bergman)
  255. - Updates HL8012 library with energy counting support (thanks to Hermann Kraus)
  256. - Added option to disable light color persistence to avoid flickering ([#191](https://github.com/xoseperez/espurna/issues/191))
  257. - Option to enable TELNET in STA mode from web UI ([#203](https://github.com/xoseperez/espurna/issues/203))
  258. ### Changed
  259. - Changed default MQTT base topic to "{identifier}" (no leading slashes, [#208](https://github.com/xoseperez/espurna/issues/208))
  260. - Prevent reconnecting when in AP mode if a web session or a telnet session is active ([#244](https://github.com/xoseperez/espurna/issues/244))
  261. - Web UI checks for pending changes before reset/reconnect options ([#226](https://github.com/xoseperez/espurna/issues/226))
  262. - Increase WIFI connect timeout and reconnect interval
  263. ## [1.9.5] 2017-09-28
  264. ### Fixed
  265. - Revert to JustWifi 1.1.4 ([#228](https://github.com/xoseperez/espurna/issues/228))
  266. ## [1.9.4] 2017-09-22
  267. ### Added
  268. - Added ESPurna specific mDNS text registers (app_name, app_version, device_name)
  269. - Crash dump info is stored in EEPROM and retrieved via terminal ("crash" command)
  270. - Support for Huacanxing H802
  271. - Support for powermeters based on V9261F IC
  272. - Support for powermeters based on ECH1560 IC (beta, untested)
  273. ### Changed
  274. - Changed behaviour on MQTT connection failure ([#215](https://github.com/xoseperez/espurna/issues/215))
  275. - Removed boot delay
  276. - Refactor power modules
  277. - Updated JustWifi library
  278. ### Fixed
  279. - Set all esp8285 devices to use esp01_1m ([#210](https://github.com/xoseperez/espurna/issues/210), [#225](https://github.com/xoseperez/espurna/issues/225))
  280. - Removed wifi gain option since it prevents some devices to connect ([#204](https://github.com/xoseperez/espurna/issues/204))
  281. ## [1.9.3] 2017-09-04
  282. ### Added
  283. - New "erase.config" option in terminal to delete SDK settings
  284. - Added error code to error message when updating from web UI
  285. - Fixed Web UI to be behind a proxy (http://tinkerman.cat/secure-remote-access-to-your-iot-devices/)
  286. - 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/)
  287. ### Changed
  288. - Updated fauxmoESP library to 2.2.0
  289. ### Fixed
  290. - Fix HLW8012 calibration ([#194](https://github.com/xoseperez/espurna/issues/194))
  291. - Fix telnet dropping connection
  292. - Fix WiFiSecureClient connection with PubSubClient ([#64](https://github.com/xoseperez/espurna/issues/64))
  293. ## [1.9.2] 2017-08-31
  294. ### Added
  295. - System stability check (turns off everything except WIFI AP, OTA and telnet if there is a boot crash loop) ([#196](https://github.com/xoseperez/espurna/issues/196))
  296. - Telnet support (enabled by default only on AP interface)
  297. - Option to set WiFi gain from web UI
  298. - Option to disable MQTT from web UI
  299. - MQTT autodiscover, with the option to autoconnect if no broker defined
  300. - Home Assistant MQTT autodiscover feature
  301. - List enabled modules in INIT debug info
  302. - Counter module (counts and reports transitions in a digital pin)
  303. ### Changed
  304. - Updated NoFUSS support
  305. - Web UI documentation changes
  306. - Changes in terminal commands ("reconnect" is now "reset.wifi", also new commands added)
  307. ### Fixed
  308. - Crash in settings saving ([#190](https://github.com/xoseperez/espurna/issues/190)) and fixed UDP debug conditional build clauses
  309. ## [1.9.1] 2017-08-27
  310. ### Added
  311. - Support to build without NTP support
  312. - Added current time, uptime, free heap, firmware size and free space to web interface
  313. ### Changed
  314. - Changed settings keys for Itead Sonoff RF Bridge
  315. - Disable Domoticz by default
  316. ### Fixed
  317. - Fixed build flags for DHT and DS18B20 in platformio.ini file
  318. - Fixed Itead Sonoff B1 by updating the my9291 library
  319. - Fixed light status on boot ([#157](https://github.com/xoseperez/espurna/issues/157))
  320. - Fixed CSS bug cause by a bad merge
  321. ## [1.9.0] 2017-08-25
  322. ### Added
  323. - Support for IteadStudio BN-SZ01 Ceiling Light ([#132](https://github.com/xoseperez/espurna/issues/132))
  324. - Support for IteadStudio Sonoff RF Bridge ([#173](https://github.com/xoseperez/espurna/issues/173))
  325. - Support for IteadStudio Sonoff 4CH Pro ([#174](https://github.com/xoseperez/espurna/issues/174))
  326. - Support for IteadStudio Sonoff B1
  327. - Support for IteadStudio Sonoff LED
  328. - Support for IteadStudio Sonoff T1 wall switches (1, 2 and 4 channels)
  329. - Support for WiOn 50055 WiFi Wall Outlet & Tap
  330. - Support for EXS WiFi Relay v3.1 (and other future latching relay boards) ([#152](https://github.com/xoseperez/espurna/issues/152))
  331. - TLS/SSL support for MQTT (caution: eats a lot of memory, do not use with web interface) ([#64](https://github.com/xoseperez/espurna/issues/64))
  332. - Add support for delayed ON/OFF switches ([#123](https://github.com/xoseperez/espurna/issues/123), [#161](https://github.com/xoseperez/espurna/issues/161), [#188](https://github.com/xoseperez/espurna/issues/188))
  333. - Added ON and OFF actions for button events (previously only TOGGLE available) ([#182](https://github.com/xoseperez/espurna/issues/182))
  334. - Sliders in web interface to control dimmer channels independently (also for brightness)
  335. - Debug info about MQTT disconnect reason
  336. ### Changed
  337. - MQTT setters ending with "/set" by default
  338. - Using DOUT flash mode on all devices ([#167](https://github.com/xoseperez/espurna/issues/167))
  339. - Longer timeout for WiFi connection (better chances for Sonoff Basic to connect)
  340. - Changed MQTT topics for light devices (COLOR, BRIGHTNESS, MIRED, KELVIN, CHANNEL) ([#144](https://github.com/xoseperez/espurna/issues/144))
  341. - Changed the way light devices are defined (see LIGHT_PROVIDER_DIMMER)
  342. - Allow to disable color picker in web interface
  343. - API returns processed values for HLW8012 sensor (not raw values anymore) ([#176](https://github.com/xoseperez/espurna/issues/176))
  344. - Major refactoring of settings
  345. ### Fixed
  346. - Discard MQTT messages with empty payload ([#185](https://github.com/xoseperez/espurna/issues/185))
  347. - Wifi connection issue (https://github.com/esp8266/Arduino/issues/2186)
  348. - Alexa connection issue
  349. ## [1.8.3] 2017-07-23
  350. ### Added
  351. - Issue [#85](https://github.com/xoseperez/espurna/issues/85) and [#90](https://github.com/xoseperez/espurna/issues/90). Option to report MQTT messages with JSON payloads
  352. - Issue [#170](https://github.com/xoseperez/espurna/issues/170). Updated DebouceEvent library to allow disabling double click and get faster click responses
  353. - Using memory layout with no SPIFFS for 1Mb devices
  354. ### Changed
  355. - Rename settings s/POW/HLW8012/
  356. - Return times in ISO8601 format
  357. ### Fixed
  358. - Issue [#168](https://github.com/xoseperez/espurna/issues/168). Added H801 to arduino.h file
  359. - Issue [#171](https://github.com/xoseperez/espurna/issues/171). Fix corrupted will message
  360. ## [1.8.2] 2017-07-16
  361. ### Added
  362. - InfluxDB support via HTTP API
  363. - Added custom reset reason to debug log
  364. - Enable WIFI debug on hardware reset (button long click)
  365. ### Changed
  366. - Issue [#159](https://github.com/xoseperez/espurna/issues/159). Allow decimals in relay pulse interval
  367. - Updated HLW8012 library
  368. ### Fixed
  369. - Issue [#148](https://github.com/xoseperez/espurna/issues/148). Fix bug in conditional compilation check
  370. - Issue [#149](https://github.com/xoseperez/espurna/issues/149). Using different pulse counters for each relay (thanks to Lauris Ieviņš)
  371. - Issue [#141](https://github.com/xoseperez/espurna/issues/141). Limit relay pulse interval to 60s
  372. - Fixed units for apparent & reactive power (thanks to Lauris Ieviņš)
  373. - Fixed mDNS setup when using custom HTTP port for web interface
  374. ## [1.8.1] 2017-05-22
  375. ### Fixed
  376. - Issue [#140](https://github.com/xoseperez/espurna/issues/140). Fix no relay control bug in Sonoff Dual
  377. ## [1.8.0] 2017-05-21
  378. ### Added
  379. - Added gamma correction to RGB strips. Thanks to Chris Ward.
  380. - Added support for Huacanxing H801 WiFi LED Controller. Thanks to Minh Phuong Ly.
  381. - Issue [#138](https://github.com/xoseperez/espurna/issues/138). Added NTP configuration from web interface
  382. - Issue [#128](https://github.com/xoseperez/espurna/issues/128). Report color when booting and in heartbeat stream.
  383. - Issue [#126](https://github.com/xoseperez/espurna/issues/126). Show NTP status in web interface.
  384. - Added filter limits on POW readings.
  385. - Added color temperature to RGB calculation. Thanks to Sacha Telgenhof.
  386. - Issue [#120](https://github.com/xoseperez/espurna/issues/120). Added relay flood protection. Thanks to Izik Dubnov.
  387. - Support for "#RRGGBB", "RRR,GGG,BBB" and "WWW" color formats.
  388. - Issue [#117](https://github.com/xoseperez/espurna/issues/117). Added build date & time to web interface.
  389. ### Fixed
  390. - Fix MQTT_RELAY board conifugration. Thanks to Denis French.
  391. - Issue [#125](https://github.com/xoseperez/espurna/issues/125). Fix bug in relay status reading from EEPROM
  392. - Issue [#127](https://github.com/xoseperez/espurna/issues/127). Fix button action in DUAL.
  393. - Fix bug in Sonoff POW current reading. Thanks to Emmanuel Tatto.
  394. - Minimizing my9291 flickering when booting.
  395. - Fix conditional flags in hardware.ino to support Arduino IDE.
  396. ## [1.7.1] 2017-03-28
  397. ### Fixed
  398. - Issue [#113](https://github.com/xoseperez/espurna/issues/113). Fix restoring color from EEPROM upon reboot
  399. - Issue [#113](https://github.com/xoseperez/espurna/issues/113). Fix bug in API handlers
  400. ## [1.7.0] 2017-03-27
  401. ### Added
  402. - Web interface embedded in firmware image by default
  403. - Upload firmware image from web interface
  404. - Added API entry point to change light color
  405. - Added generic analog sensor. Thanks to Francesco Boscarino
  406. - Report RSSI value in debug console and MQTT status messages
  407. - Added support for Magic Home LED Controller
  408. - Added support for ESPurna-H Board (based on HLW8012)
  409. - Added forward compatible code for v2.0
  410. ### Changed
  411. - Added ellipsis (...) in debug messages longer than 80 characters
  412. - Changed topic constants in code
  413. - Prevent the SDK from saving WiFi configuration to flash
  414. ### Fixed
  415. - Issue [#113](https://github.com/xoseperez/espurna/issues/113). Fix light bulb state to OFF in library prevented the bulb from turning on
  416. - Issue [#58](https://github.com/xoseperez/espurna/issues/58). Added code to handle spurious readings
  417. - Fix bug in HLW8012 calibration current parameter casting to int instead of float
  418. - Issue [#115](https://github.com/xoseperez/espurna/issues/115). Removed local declaration of _mqttForward variable. Thanks to Paweł Fiedor
  419. - Fix MQTT will topic. Thanks to Asbjorn Tronhus
  420. ## [1.6.9] 2017-03-12
  421. ### Added
  422. - Two stage read for DS18B20 devices. Thanks to Izik Dubnov.
  423. - Option to report the relay status via MQTT periodically
  424. - Terminal commands to change relay status an light color
  425. - Added debug via UDP (disabled by default)
  426. - Moved debug strings to PROGMEM. ~1.5KByes memory freed
  427. - Avoid broadcasting websocket messages if no clients connected
  428. ### Fixed
  429. - Fixing use after free bug that leads to corrupted auth credentials. Thanks to David Guillen
  430. ## [1.6.8] 2017-03-01
  431. ### Added
  432. - Issue [#85](https://github.com/xoseperez/espurna/issues/85). Heartbeat reports now free heap, uptime and VCC every 5 minutes
  433. ### Changed
  434. - Wait two minutes instead of one in AP mode before trying to reconnect to the router
  435. - Issue [#92](https://github.com/xoseperez/espurna/issues/92). Debug log enabled by default in Arduino IDE
  436. - Issue [#91](https://github.com/xoseperez/espurna/issues/91). Using AsyncMqttClient as default MQTT client again
  437. ### Fixed
  438. - Report data from all sensors via websocket even if no MQTT connection
  439. - Issue [#92](https://github.com/xoseperez/espurna/issues/92). Fix unknown reference in Arduino IDE
  440. - Split data.h contents into 1k lines, otherwise Arduino IDE chokes on them
  441. - Discard empty MQTT topic while subscribing
  442. ## [1.6.7] 2017-02-25
  443. ### Added
  444. - Support for OpenLight / AI-Light by AI-Thinker based on MY9291 LED driver
  445. - Issue [#87](https://github.com/xoseperez/espurna/issues/87). Factory reset when physical button pressed for >10 seconds
  446. ## [1.6.6] 2017-02-23
  447. ### Fixed
  448. - Issue [#82](https://github.com/xoseperez/espurna/issues/82). Fix critical bug on Sonoff Dual
  449. ## [1.6.5] 2017-02-22
  450. ### Added
  451. - Option to backup and restore settings from the web interface
  452. - Footer in the web interface
  453. ### Changed
  454. - Using PubSubClient as MQTT client by default (please read the documentation)
  455. - Double & long clicks do nothing except for the first defined button
  456. ### Fixed
  457. - Issue [#79](https://github.com/xoseperez/espurna/issues/79). Fix bug in WiFi led notification & MQTT connectivity (using PubSubClient)
  458. - Issue [#73](https://github.com/xoseperez/espurna/issues/73). Fix bug when building without Domoticz support
  459. - Fix Gulp tasks dependencies
  460. ## [1.6.4] 2017-02-20
  461. ### Added
  462. - Option to embed the web interface in the firmware, disabled by default
  463. - Change relay status with a GET request (browser friendly)
  464. - Support for PROGMEM debug messages (only wifi module has been changed)
  465. - Option to disable mDNS, enabled by default
  466. - Show current web server port in debug log
  467. - Issue [#75](https://github.com/xoseperez/espurna/issues/75). Link relays to LEDs
  468. - Issue [#76](https://github.com/xoseperez/espurna/issues/76). Using http://espurna.local when in AP mode
  469. ### Changed
  470. - Images and favicon is now embedded in the HTML
  471. - Authentication challenge only in /auth request. All static contents are un-authenticated
  472. - HTTP response code when out of websocket slots changed from 423 to 429
  473. ### Fixed
  474. - Memory leak in MQTT connection method
  475. - Wait 60 seconds before retrying to connect when in AP mode
  476. - Issue [#24](https://github.com/xoseperez/espurna/issues/24) & [#74](https://github.com/xoseperez/espurna/issues/74). Update ESPAsyncTCP and ESPAsyncWebServer to latest GIT version that supports MSS defragmenting
  477. - Issue [#73](https://github.com/xoseperez/espurna/issues/73). Fixes for windows machines
  478. ### Removed
  479. - Captive portal removed, mDNS resolution for AP mode too
  480. ## [1.6.3] 2017-02-15
  481. ### Added
  482. - Issue [#69](https://github.com/xoseperez/espurna/issues/69). Temperature unit configuration from the web interface
  483. - Issue [#55](https://github.com/xoseperez/espurna/issues/55). WebServer port configurable from the web interface, defaults to 80
  484. - Expand network configuration when adding a new network
  485. ### Changed
  486. - Merged web contents except images in a single compressed file for reliability
  487. - Update support for Itead Motor Clockwise/Anticlockwise board
  488. - Scan for strongest network only if more than 1 network configured
  489. ### Fixed
  490. - Issue [#71](https://github.com/xoseperez/espurna/issues/71). Added default values for netmask and DNS in web configuration
  491. - Fixed Itead 1CH self-locking/inching board definition
  492. - Fixed PlatformIO environments for ESP8285 boards (4CH and Touch)
  493. ## [1.6.2] 2017-02-10
  494. ### Fixed
  495. - Check if there is an MQTT broker defined before the MQTT_MAX_TRIES check
  496. ## [1.6.1] 2017-02-10
  497. ### Added
  498. - Added support for [Jorge Garcia's Wifi+Relay Board Kit](https://www.tindie.com/products/jorgegarciadev/wifi--relays-board-kit/)
  499. - Reporting current and energy incrementals to a separate counters in Domoticz (thanks to Toni Arte)
  500. - Force WiFi reconnect after MQTT_MAX_TRIES fails trying to connect to MQTT broker
  501. ## [1.6.0] 2017-02-05
  502. ### Added
  503. - Added support for toggle switches
  504. - Allow reset the board via an MQTT message
  505. - Allow reset the board via an RPC (HTTP) message
  506. - 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/))
  507. - Reporting voltage to Domoticz (only HLW8012)
  508. - Map button events to actions (toggle relay, AP mode, reset, pulse mode)
  509. ### Changed
  510. - Reporting energy incrementals (Domoticz, MQTT)
  511. ### Removed
  512. - Removed current monitor bypass when relay is OFF
  513. - Removed energy API entry point
  514. ## [1.5.4] 2017-02-03
  515. ### Fixed
  516. - Issue [#50](https://github.com/xoseperez/espurna/issues/50). Fix type bug in window variable when calculating energy for HLW8012 devices (Sonoff POW)
  517. ## [1.5.3] 2017-02-02
  518. ### Fixed
  519. - Issue [#50](https://github.com/xoseperez/espurna/issues/50) and [#54](https://github.com/xoseperez/espurna/issues/54). Fixed domoticz MQTT message format
  520. ### Added
  521. - Energy calculation and aggregation. API entry points and MQTT messages.
  522. ## [1.5.2] 2017-01-29
  523. ### Fixed
  524. - Fix bug in emon topic payload
  525. ## [1.5.1] 2017-01-28
  526. ### Added
  527. - OpenEnergyMonitor WiFi MQTT Relay / Thermostat support (thanks to Denis French)
  528. ### Fixed
  529. - NTP connection refresh upon wifi connection
  530. - Filesystem image build using local gulp installation
  531. ## [1.5.0] 2017-01-21
  532. ### Added
  533. - Pulse mode. Allows to define a pulse time after which the relay will switch back
  534. - API entry points for sensor data (power, current, voltage, temperature and humidity)
  535. - Export sensor data to Domoticz (power, current, voltage, temperature and humidity)
  536. - Configurable (in code) mapping between buttons and relays
  537. - MQTT messages for button events
  538. - Added support for Itead Studio 1CH inching/self locking smart switch board
  539. - Added support for Jan Goedeke Wifi Relay boards (both NC and NO versions)
  540. - Notify OTA updates to websocket clients, automatically reload page
  541. - Support for pulse mode notification LED and button
  542. - Revert relay state mode on boot (thanks to Minh Phuong Ly)
  543. ### Fixed
  544. - MQTT will topic
  545. - Crash with HLW812 interrupts while trying to create a WIFI connection
  546. - Issue [#20](https://github.com/xoseperez/espurna/issues/20) Better inline documentation for Alexa and Domoticz default settings
  547. - Issue [#39](https://github.com/xoseperez/espurna/issues/39) Fixed autoconnect issue with static IP (fixed in JustWifi library)
  548. - Issue [#41](https://github.com/xoseperez/espurna/issues/41) Added password requirements to initial password change page
  549. ### Changed
  550. - Changed LED pattern for WIFI notifications (shorter pulses)
  551. ## [1.4.4] 2017-01-13
  552. ### Added
  553. - Adding current, voltage, apparent and reactive power reports to Sonoff POW (Web & MQTT)
  554. ### Fixed
  555. - Issue [#35](https://github.com/xoseperez/espurna/issues/35) Fixed frequent MQTT connection drops after WIFI reconnect
  556. - Defer wifi disconnection from web interface to allow request to return
  557. ### Changed
  558. - Move all Arduino IDE configuration values to their own file
  559. - Using latest HLW8012 library in interrupt mode
  560. ## [1.4.3] 2017-01-11
  561. ### Fixed
  562. - Issue [#6](https://github.com/xoseperez/espurna/issues/6) Using forked Time library to prevent conflict with Arduino Core for ESP8266 time.h file in windows machines
  563. ## [1.4.2] 2017-01-09
  564. ### Added
  565. - Support for inverse logic relays
  566. ### Fixed
  567. - Issue [#31](https://github.com/xoseperez/espurna/issues/31). Fixed error in relay identification from MQTT messages
  568. ## [1.4.1] 2017-01-05
  569. ### Added
  570. - Alexa support by default on all devices
  571. - Added support for Wemos D1 Mini board with official Relay Shield
  572. ### Fixed
  573. - Multi-packet websocket frames
  574. ## [1.4.0] 2016-12-31
  575. ### Added
  576. - Domoticz support via MQTT (https://www.domoticz.com/wiki/MQTT)
  577. - Support for static IP connections
  578. ### Fixed
  579. - Issue [#16](https://github.com/xoseperez/espurna/issues/16). Enforce minimum password strength in web interface
  580. ### Changed
  581. - Using default client_id provided by AsyncMqttClient
  582. - Allow up to 5 different WIFI networks
  583. ### Removed
  584. - File system version file
  585. ## [1.3.1] 2016-12-31
  586. ### Fixed
  587. - data_dir fix for PlatformIO
  588. ## [1.3.0] 2016-12-30
  589. ### Changed
  590. - Arduino IDE support (changes in the folder structure and documentation)
  591. ## [1.2.0] 2016-12-27
  592. ### Added
  593. - Force password changing if it's the default one
  594. - Added Last-Modified header to static contents
  595. - Added DNS captive portal for AP mode
  596. - Added support for Sonoff 4CH
  597. - Added support for WorkChoice ecoPlug (ECOPLUG). Thanks to David Myers
  598. - Added support for Sonoff SV
  599. - Added support for Sonoff Touch
  600. - Comment out hardware selection in hardware.h if using Arduino IDE
  601. - Added support for MQTT get/set suffixes (/status, /set, ...)
  602. - Added support for LED notifications via MQTT
  603. - Added EEPROM check commands to terminal interface
  604. ### Changed
  605. - Using unreleased AsyncMqttClient with stability improvements
  606. - Better decoupling between MQTT and relays/websockets
  607. - Skipping retained MQTT messages (configurable)
  608. ### Fixed
  609. - Issue [#11](https://github.com/xoseperez/espurna/issues/11) Compile error when building sonoff-dual-debug
  610. - Issue [#14](https://github.com/xoseperez/espurna/issues/14) MQTT Connection with Username an Password not working
  611. - Issue [#17](https://github.com/xoseperez/espurna/issues/17) Moved static variable 'pending' to class variable
  612. ## [1.1.0] 2016-12-06
  613. ### Added
  614. - Added support for DS18B20 temperature sensor. Thanks to Francesco Boscarino
  615. - Added reset command from console
  616. - Added support for multirelay boards like Sonoff DUAL or Electrodragon ESP Relay Board
  617. ### Changed
  618. - Not using espressif8266_stage in default environment
  619. - Relay MQTT topics
  620. - API entry points
  621. ### Removed
  622. - Old non protected API
  623. ## [1.0.3] 2016-11-29
  624. ### Added
  625. - WeMo emulation through the fauxmoESP library (control your switch from Alexa!)
  626. - REST API for relay management
  627. - Better dependency definitions in platformio.ini
  628. - Option to define inverse logic to on-board LED
  629. - Built data folder included in repo
  630. ### Changed
  631. - Using non-interrupt driven mode for HLW8012
  632. - Better documentation
  633. - Small changes to web interface
  634. - Same admin password for web, OTA and WIFI AP mode
  635. ### Fixed
  636. - Prevent fauxmoESP to be compiled by default
  637. ### Removed
  638. - Removed ESPurna board to its own repo
  639. ## [1.0.1] 2016-11-13
  640. ### Added
  641. - Basic authentication and CSRF to websocket requests
  642. ## [1.0.0] 2016-11-13
  643. ### Added
  644. - Using ESPAsyncWebServer (for web & websockets) and AsyncMqttClient
  645. ## [0.9.9] 2016-11-12
  646. ### Added
  647. - Preliminary support for Sonoff POW
  648. - Replace AJAX requests with websockets
  649. - Using sprites for images
  650. - Hostname can be changed
  651. - Added initial relay state mode
  652. - Reconnect and reset buttons on web interface
  653. ### Changed
  654. - Changed long click to reset and double click to AP mode
  655. - Using officially supported platformio.ini file by default
  656. ### Fixed
  657. - Removed unnecessary memory inefficient code
  658. - Temprary fix for Adafruit DHT library (see https://github.com/adafruit/DHT-sensor-library/issues/62)
  659. ## [0.9.8] 2016-10-06
  660. ### Added
  661. - Using PureCMS for the web interface
  662. - Using gulp to build the filesystem files
  663. - Using Embedis for configuration
  664. ### Changed
  665. - Updated JustWifi library
  666. - Web interface changes
  667. - Using custom platformio.ini file
  668. - Loads of changes in modules
  669. - Added DEBUG_MSG
  670. ### Fixed
  671. - Clean gulp builder script
  672. ## [0.9.7] 2016-08-28
  673. ### Changed
  674. - Moving wifi management to library (JustWifi)
  675. - Split code into modules
  676. ## [0.9.6] 2016-08-12
  677. ### Added
  678. - Added heartbeat, version and fsversion MQTT messages
  679. ### Changed
  680. - GZip 3rd party contents
  681. ## [0.9.5] 2016-07-31
  682. - Initial stable version