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.

1790 lines
97 KiB

1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. /* 6.5.0.16 20190611
  2. * Refactored TLS based on BearSSL, warning breaking change for fingerprints validation (see doc)
  3. * Add checkbox to GUI password field enabling visibility during password entry only (#5934)
  4. * Add using heap when more than 199 IRSend values need to be send. May need increase of define MQTT_MAX_PACKET_SIZE too (#5950)
  5. * Fix channel command for dual dimmers (#5940)
  6. * Add define USE_COUNTER to my_user_config.h to save space in sonoff-basic.bin and sonoff-minimal.bin
  7. * Add define USE_DHT to my_user_config.h to save space in sonoff-basic.bin
  8. * Change TLS+AWS IoT optimization for speed, code and memory footprint
  9. * Add command SetOption40 0..250 to disable button functionality if activated for over 0.1 second. Needs SetOption1 1 and SetOption13 0 (#5449)
  10. *
  11. * 6.5.0.15 20190606
  12. * Change pubsubclient MQTT_KEEPALIVE from 10 to 30 seconds in preparation of AWS IoT support
  13. * Add support for AWS IoT with TLS 1.2 on core 2.5.2. Full doc here: https://github.com/arendst/Sonoff-Tasmota/wiki/AWS-IoT
  14. * Add some MQTT housekeeping which might solve issue (#5755)
  15. * Add command SetOption65 0/1 and more Tuya Serial based device support (#5815)
  16. * Fix include of my_user_config.h in sonoff_aws_iot.cpp (#5930)
  17. * Fix exception 9 when syslog is enabled and NTP is just synced (#5917)
  18. * Fix Toggle functionality to button double press when one button and two devices are detected (#5935)
  19. *
  20. * 6.5.0.14 20190602
  21. * Change webserver HTML input, button, textarea, and select name based on id
  22. * Fix webserver multiple Javascript window.onload functionality
  23. * Fix PZem startup issue (#5875)
  24. * Add command SetOption39 1..255 to control CSE7766 (Pow R2) or HLW8032 (Blitzwolf SHP5) handling of power loads below 6W. Default setting is 128 (#5756)
  25. * Add Toggle functionality to button double press when more devices are detected
  26. *
  27. * 6.5.0.13 20190527
  28. * Add command SetOption38 6..255 to set IRReceive protocol detection sensitivity mimizing UNKNOWN protocols (#5853)
  29. * Fix missing white channel for WS2812 (#5869)
  30. * Add reset of Energy values when connection to sensor is lost for over 4 seconds (#5874, #5881)
  31. * Work-around for Philips Hue emulation issue by using part of MAC address for LightId (#5849)
  32. * Add support to Stage Arduino Core (next 2.6.0)
  33. *
  34. * 6.5.0.12 20190521
  35. * Add AriLux RF control GPIO option "ALux IrSel" (159) replacing "Led4i" (59) for full LED control (#5709)
  36. * Add LED GPIO option "LedLink" (157) and "LedLinki" (158) to select dedicated link status LED (#5709)
  37. * Add support for up to four LEDs related to four power outputs. Enabled when "LedLink(i)" is configured too (#5709)
  38. * Add extended LED power control using command LedPowerX where X is 1 to 4. Enabled when "LedLink(i)" is configured too (#5709)
  39. * Fix core 2.5.x ISR not in IRAM exception (#5837)
  40. * Add support for VL53L0x time of flight sensor. Might interfere with TSL2561 using same I2C address (#5845)
  41. * Add command AdcParam to control ADC0 Temperature and Light formula parameters
  42. * Change default PowerDelta from 80% to 0% on new installations (#5858, #5028, #4813, #4130, #4145, #3795, #3778, #3660, #3648)
  43. *
  44. * 6.5.0.11 20190517
  45. * Add command SetOption64 0/1 to switch between "-" or "_" as sensor index separator impacting DS18X20, DHT, BMP and SHT3X sensor names (#5689)
  46. * Add initial support for Scripts as replacement for Rules. Default disabled but can be enabled in my_user_config.h (#5689)
  47. * Add rule System#Save executed just before a planned restart
  48. * Add HX711 weight restore after controlled restart or after power restore just before executing command Sensor34 7 (#5367, #5786)
  49. * Remove define USE_EMULATION from my_user_config.h (#5826)
  50. * Add defines USE_EMULATION_WEMO and USE_EMULATION_HUE to my_user_config.h to control emulation features at compile time (#5826)
  51. * Add support for SPS30 Particle sensor thanks to Gerhard Mutz (#5830)
  52. *
  53. * 6.5.0.10 20190513
  54. * Enable ADC0 by default in my_user_config.h (#5671)
  55. * Add user configurable ADC0 to Module and Template configuration compatible with current FLAG options (#5671)
  56. * Add support for Shelly 1PM Template {"NAME":"Shelly 1PM","GPIO":[56,0,0,0,82,134,0,0,0,0,0,21,0],"FLAG":2,"BASE":18} (#5716)
  57. * Fix Sonoff Pow R2 / S31 invalid energy increments (#5789)
  58. * Add device OverTemp (>73 Celsius) detection to any Energy Monitoring device with temperature sensor powering off all outputs
  59. * Add rule support for single JSON value pair like {"SSerialReceived":"on"} by expanding it to {"SSerialReceived":{"Data":"on"}} allowing for trigger SSerialReceived#Data=on (#5638)
  60. *
  61. * 6.5.0.9 20190418
  62. * Add command SetOption63 0/1 to disable relay state feedback scan at restart (#5594, #5663)
  63. * Fix TasmotaSerial at 9600 bps solving DFPlayer comms (#5528)
  64. * Fix Shelly 2.5 overtemp
  65. * Set gamma correction as default behavior, ie "Ledtable 1"
  66. * Refactored management of lights, using classes and integers instead of floats.
  67. * Extend PWM resolution from 8 to 10 bits for low brightness lights
  68. * Allow all 5 PWM channels individually adressable with LEDs. (#5741)
  69. * Fixed inversion of WC/WW channels, back to RGBCW
  70. * Fixed the Unescape() function and the SendSerial3 behaviour
  71. *
  72. * 6.5.0.8 20190413
  73. * Add Tuya Dimmer 10 second heartbeat serial packet required by some Tuya dimmer secondary MCUs
  74. * Fix use of SerialDelimiter value 128 (#5634)
  75. * Fix lost syslog connection regression from 6.5.0.4
  76. * Add Shelly 2.5 Energy Monitoring (#5592)
  77. * Add all temperature, humidity and pressure for global access
  78. * Add Shelly 2.5 overtemp functionality
  79. * Fix Shelly 2.5 I2C address priority issue when VEML6070 code is present by disabling VEML6070 for Shelly 2.5 (#5592)
  80. * Support for color and colortone for Philips Hue emulation via Alexa (#5600 #4809)
  81. *
  82. * 6.5.0.7 20190410
  83. * Add command LedMask to assign which relay has access to power LED (#5602, #5612)
  84. *
  85. * 6.5.0.6 20190409
  86. * Add WebColor parameters to Settings making them persistent and remove the need for using a rule
  87. * Add alternative IRSend command syntax IRSend raw,<freq>,<header mark>,<header space>,<bit mark>,<zero space>,<one space>,<bit stream> (#5610)
  88. *
  89. * 6.5.0.5 20190406
  90. * Add compile time GUI hexadecimal only color options in my_user_config.h (#5586)
  91. * Fix template activation and/or module selection regression from 6.5.0.4 (#5598)
  92. * Add rule Http#Initialized
  93. * Add command WebColor to change non-persistent GUI colors on the fly
  94. Use a rule like:
  95. rule3 on http#initialized do webcolor {"webcolor":["#eeeeee","#181818","#4f4f4f","#000000","#dddddd","#008000","#222222","#ff0000","#008000","#ffffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#ffffff","#999999"]} endon
  96. or
  97. rule3 on http#initialized do webcolor {"webcolor":["#eee","#181818","#4f4f4f","#000","#ddd","#009800","#222"]} endon
  98. to make color changes persistent)
  99. *
  100. * 6.5.0.4 20190402
  101. * Fix Configure Timer Web GUI (#5568)
  102. * Add validation check when loading settings from flash
  103. * Fixed Display Bug in KNX webmenu for Physical Address
  104. *
  105. * 6.5.0.3 20190328
  106. * Add command Sensor20 1..255 to change Nova Fitness SDS01 working period in minutes (#5452)
  107. * Change some defines to const
  108. * Change IRsend and receive for 64-bit support (#5523)
  109. * Change IRSend Panasonic protocol to 64-bit (#5523)
  110. *
  111. * 6.5.0.2 20190325
  112. * Change UDP initial message handling from string to char using static memory and add debug info (#5505)
  113. * Add optional support for Badger HR-E Water Meter (#5539)
  114. *
  115. * 6.5.0.1 20190319
  116. * Change Web GUI sensor data collection
  117. *
  118. * 6.5.0 20190319
  119. * Remove commands SetOption14 and SetOption63 as it has been superseded by command Interlock
  120. * Remove command SetOption35 0-255 for mDNS start-up delay (#4793)
  121. * Remove support for MQTT_LIBRARY_TYPE, MQTT_ARDUINOMQTT and MQTT_TASMOTAMQTT (#5474)
  122. * Change webserver content handling from single String to small Chunks increasing RAM
  123. * Change code use of boolean to bool and byte to uint8_t
  124. * Change code uint8_t flags to bool flags
  125. * Change sonoff_template.h layout regarding optional module flags like ADC0
  126. * Change sonoff_template.h module lay-out by removing non-configurable GPIOs
  127. * Change button driver making it modular
  128. * Change switch driver making it modular and introduce input filter (#4665, #4724)
  129. * Change switch input detection by optimizing switch debounce (#4724)
  130. * Change web authentication (#4865)
  131. * Change image name BE_MINIMAL to FIRMWARE_MINIMAL and USE_xyz to FIRMWARE_xyz (#5106)
  132. * Change GUI weblog from XML to plain text solving possible empty screens (#5154)
  133. * Fix most compiler warnings
  134. * Fix Display exception 28 when JSON value is nullptr received
  135. * Fix epaper driver (#4785)
  136. * Fix HAss Sensor Discovery Software Watchdog restart (#4831, #4988)
  137. * Fix allowable MAX_RULE_VARS to 16 (#4933)
  138. * Fix mDNS addService (#4938, #4951)
  139. * Fix HAss discovery of MHZ19(B) sensors (#4992)
  140. * Fix some exceptions and watchdogs due to lack of stack space (#5215)
  141. * Fix GUI wifi password acception starting with asteriks (*) (#5231, #5242)
  142. * Fix command WebSend intermittent results (#5273, #5304)
  143. * Fix additional characters in fallbacktopic, hostname and mqttclient on core 2.5.0 (#5359, #5417)
  144. * Fix Energy TotalStartTime when commands EnergyReset0 and/or EnergyReset3 used (#5373)
  145. * Fix DS18S20 temperature calculation (#5375)
  146. * Fix float calculations in range from 0 to -1 (#5386)
  147. * Fix exception on GUI Configure Logging and Configure Other (#5424)
  148. * Add commands PowerCal, VoltageCal and CurrentCal for HLW8012, HJL01 and BL0937 based energy sensors
  149. * Add command SerialDelimiter 128 to filter reception of only characters between ASCII 32 and 127 (#5131)
  150. * Add command SSerialSend5 \<hexdata\> to SerialBridge
  151. * Add command Interlock 0 / 1 / 1,2 3,4 .. to control interlock ON/OFF and add up to 8 relays in 1 to 4 interlock groups (#4910, #5014)
  152. * Add command Template 255 to copy module configuration over to current active template and store as user template named Merged (#5371)
  153. * Add command WifiConfig 7 to allow reset of device in AP mode without admin password (#5297)
  154. * Add command SetOption36 to control boot loop default restoration (#4645, #5063)
  155. * Add command SetOption37 for RGBCW color mapping (#5326)
  156. * Add command SetOption55 0/1 and define MDNS_ENABLE to disable/enable mDNS (#4793, #4923)
  157. * Add command SetOption62 0/1 to disable retain on Button or Switch hold messages (#5299)
  158. * Add support for Smanergy KA10 Smart Wall Socket with Energy monitoring
  159. * Add support for commands in sensor drivers
  160. * Add support for MAX31855 K-Type thermocouple sensor using softSPI (#4764)
  161. * Add support for Near Field Communication (NFC) controller PN532 using Serial (#4791, #5162)
  162. * Add support for OBI Power Socket 2 (#4829)
  163. * Add support for YTF IR Bridge (#4855)
  164. * Add support for Mi LED Desk Lamp with rotary switch (#4887)
  165. * Add support for Digoo DG-SP202 Smart Socket with Energy monitoring (#4891)
  166. * Add support for MAX44009 Ambient Light sensor (#4907)
  167. * Add support for inverted buttons and inverted buttons without pullup (#4914)
  168. * Add support for Luminea ZX2820 Smart Socket with Energy monitoring (#4921)
  169. * Add support for multiple ADS1115 I2C devices (#5083)
  170. * Add support for online template change using command Template or GUI Configure Other (#5177)
  171. * Add support for Korean language translations (#5344)
  172. * Add support for sensor SCD30 (#5434)
  173. * Add parameter CFG_HOLDER to status 1 message (#5206)
  174. * Add SetOption32 until SetOption49 diagnostic information to Status 3 report as replacement for second property value in SetOption property name
  175. * Add Resolution property to Status 3 report providing previous SetOption second value property
  176. * Add property MqttCount to status 6 message representing number of Mqtt re-connections
  177. * Add property LinkCount to state and status 11 message representing number of Wifi Link re-connections
  178. * Add property Downtime to state and status 11 message representing the duration of wifi connection loss
  179. * Add variable %timestamp% to rules (#4749)
  180. * Add rule support for "==", "!=" ">=" and "<=" (#5122)
  181. * Add rule expression enabled by define USE_EXPRESSION in my_user_config.h (#5210)
  182. * Add Power status functionality to LED2 when configured leaving LED1 for Link status indication
  183. * Add user configuration of HLW8012 and HJL-01/BL0937 Energy Monitoring as used in Sonoff Pow and many Tuya based devices
  184. * Add user configuration of MCP39F501 Energy Monitoring as used in Shelly2
  185. * Add online template configuration using both commands and Configure Template menu option in GUI
  186. * Add (S)SerialSend3 escape sequence \x to allow hexadecimal byte value (#3560, #4947)
  187. * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (#4738)
  188. * Add button control when no relay configured (#4682)
  189. * Add startup delay of 4 seconds to button control (#4829)
  190. * Add core version conditional compile options to provided PWM files (#4917)
  191. * Add resiliency to saved Settings (#5065)
  192. * Add MHZ19 Temperature as Domoticz Temperature selection (#5128)
  193. * Add HAss status sensor (#5139)
  194. * Add status message to former declined group commands (#5145)
  195. * Add 0x to IRRemote (SetOption29) and RCSwitch (SetOption28) received hexadecimal data (#5431)
  196. *
  197. * 6.4.1 20181224
  198. * Change RAM usage BMP/BME I2C sensors
  199. * Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (#1528)
  200. * Change FallbackTopic detection (#4706)
  201. * Change Hass discovery to short MQTT messages as used by Hass 0.81 and up (#4711)
  202. * Change MQTT GUI password handling (#4723)
  203. * Fix possible dtostrf buffer overflows by increasing buffers
  204. * Fix wifi strongest signal detection (#4704)
  205. * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (#3159, #4712)
  206. * Add Slovak language file (#4663)
  207. * Add support for AZ-Instrument 7798 CO2 meter/datalogger (#4672)
  208. * Add define WIFI_SOFT_AP_CHANNEL in my_user_config.h to set Soft Access Point Channel number between 1 and 13 as used by Wifi Manager web GUI (#4673)
  209. * Add define USE_MQTT_TLS_CA_CERT for checking MQTT TLS against root ca using Let's Encrypt cert from sonoff_letsencrypt.h - not supported with core 2.3.0 (#4703)
  210. *
  211. * 6.4.0 20181217
  212. * Change GUI Configure Module by using AJAX for data fetch to cut page size (and memory use) by 40%
  213. In case of web page errors clear your browser cache or do Page Reload (F5 or Ctrl+R)
  214. * Change enforcing flashmode dout but it is still mandatory
  215. * Change bootcount update (being first) flash write to 10 seconds after restart
  216. * Change display and epaper drivers
  217. * Change command WebSend Host header field from IP address to hostname (#4331)
  218. * Change log buffer size from 512 to 520 to accommodate http sensor data (#4354)
  219. * Change default WIFI_CONFIG_TOOL from WIFI_WAIT to WIFI_RETRY in my_user_config.h (#4400)
  220. * Change webgui refresh time delay for Save Settings and local OTA Upload (#4423)
  221. * Change SR-04 driver to use NewPing library (#4488)
  222. * Change MCP230xx driver to support interrupt retention over teleperiod (#4547)
  223. * Change support for MPU6050 using DMP (#4581)
  224. * Fix unintended function overload of WifiState
  225. * Fix wifi connection errors using wifi disconnect and ESP.reset instead of ESP.restart
  226. * Fix Sonoff Pow R2 and Sonoff S31 Serial interface hang caused by Sonoff Basic R2 driver delay implementation (and possibly core bug)
  227. * Fix MQTT connection error after restart
  228. * Fix wifi re-scan connection baseline
  229. * Fix possible strncat buffer overflows
  230. * Fix intermittent Pzem sensor energy overflow calculation error
  231. * Fix shelly2 ghost switching caused by lack of pull-up inputs (#4255)
  232. * Fix hardware serial pin configuration. To keep using hardware serial swap current Rx/Tx pin configuration only (#4280)
  233. * Fix MqttRetry values above 255 seconds (#4424)
  234. * Fix WifiManager functionality on initial installation (#4433)
  235. * Fix ArduinoOTA for Core 2.5.0 (#4620)
  236. * Add minutes to commands Timezone to allow all possible world timezones
  237. * Add more strict checks for GPIO selections
  238. * Add code image and optional commit number to version
  239. * Add dynamic delay to main loop providing time for wifi background tasks
  240. * Add additional start-up delay during initial wifi connection
  241. * Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
  242. * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 weather stations using 868MHz RF sensor receiver
  243. * Add user definition of defines WIFI_RSSI_THRESHOLD (default 10) and WIFI_RESCAN_MINUTES (default 44)
  244. * Add command SetOption58 0/1 to enable IR raw data info in JSON message (#2116)
  245. * Add command IRSend <frequency>|0,<rawdata1>,<rawdata2>,.. to allow raw data transmission (#2116)
  246. * Add command SetOption56 0/1 to enable wifi network scan and select highest RSSI (#3173)
  247. * Add command SetOption57 0/1 to enable wifi network re-scan every 44 minutes with a rssi threshold of 10 to select highest RSSI (#3173)
  248. * Add support for SDM220 (#3610)
  249. * Add default sleep 1 to sonoff-basic to lower energy consumption (#4217)
  250. * Add wifi status to Tuya (#4221)
  251. * Add delays to reduce CPU usage at boot time (#4233)
  252. * Add command SetOption24 0/1 to select pressure unit as hPa or mmHg (#4241)
  253. * Add optional hardware serial when GPIO13(Rx) and GPIO15(Tx) are selected removing hardware serial from GPIO01(Tx) and GPIO03(Rx) (#4288)
  254. * Add support for Gosund SP1 v2.3 Power Socket with Energy Monitoring (#4297)
  255. * Add support for Armtronix dimmers. See wiki for info (#4321)
  256. * Add to command WebSend option to send a direct path when command starts with a slash (#4329)
  257. * Add support for LG HVac and IrRemote (#4377)
  258. * Add initial support for Hass sensor discovery (#4380)
  259. * Add support for Fujitsu HVac and IrRemote (#4387)
  260. * Add support for I2C MGC3130 Electric Field Effect sensor by Christian Baars (#3774, #4404)
  261. * Add command CalcRes to set number of decimals (0 - 7) used in commands ADD, SUB, MULT and SCALE (#4420)
  262. * Add CPU average load to state message (#4431)
  263. * Add command SetOption59 0/1 to change state topic from tele/STATE to stat/RESULT (#4450)
  264. * Add support for SM Smart Wifi Dimmer PS-16-DZ (#4465)
  265. * Add support for Teckin US Power Socket with Energy Monitoring (#4481)
  266. * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (#4497)
  267. * Add support for iFan02 Fanspeed in Domoticz using a selector (#4517)
  268. * Add support for GPIO02 for newer Sonoff Basic (#4518)
  269. * Add Announce Switches to MQTT Discovery (#4531)
  270. * Add support for Manzoku Power Strip (#4590)
  271. *
  272. * 6.3.0 20181030
  273. * Change web Configure Module GPIO drop down list order for better readability
  274. * Change status JSON message providing more switch and retain information
  275. * Change xsns_17_senseair.ino to use TasmotaModbus library
  276. * Change MCP230xx driver
  277. * Change PubSubClient Mqtt library to non-blocking EspEasy version
  278. * Change energy monitoring using energy sensor driver modules
  279. * Change Webserver page handler for easier extension (thx to Adrian Scillato)
  280. * Change pinmode for no-pullup defined switches to pullup when configured as switchmode PUSHBUTTON (=3 and up) (#3896)
  281. * Change default OTA Url to http://thehackbox.org/tasmota/release/sonoff.bin (#4170)
  282. * Remove support for MQTT Client esp-mqtt-arduino by #define MQTT_LIBRARY_TYPE MQTT_ESPMQTTARDUINO
  283. * Remove commands PowerCal, VoltageCal and CurrentCal as more functionality is provided by commands PowerSet, VoltageSet and CurrentSet
  284. * Remove restart after ntpserver change and force NTP re-sync (#3890)
  285. * Fix showing Period Power in energy threshold messages
  286. * Fix header file execution order by renaming user_config.h to my_user_config.h
  287. * Fix some TSL2561 driver issues (#3681)
  288. * Fix KNX PA exception. Regression from 6.2.1 buffer overflow caused by subStr() (#3700, #3710)
  289. * Fix setting and getting color temperature for Philips Hue emulation (#3733)
  290. * Fix ButtonRetain to not use default topic for clearing retain messages (#3737)
  291. * Fix syslog when emulation is selected (#2109, #3784)
  292. * Fix rule trigger POWER1#STATE execution after restart and SetOption0 is 0 (#3856)
  293. * Fix Home Assistant forced light discovery (#3908)
  294. * Fix invalid configuration restores and decode_config.py crc error when savedata = 0 (#3918)
  295. * Fix timer offset -00:00 causing 12:00 hour offset (#3923)
  296. * Fix I2CScan invalid JSON error message (#3925)
  297. * Fix exception when wrong Domoticz JSON message is received (#3963)
  298. * Fix Sonoff Bridge RfRaw receive (#4080, #4085)
  299. * Fix possible wifi connection error (#4044, #4083)
  300. * Fix invalid JSON floating point result from nan (Not a Number) and inf (Infinity) into null (#4147)
  301. * Fix rule mqtt#connected trigger when mqtt is disabled (#4149)
  302. * Add support for LCD, Matrix, TFT and Oled displays
  303. * Add support for Neo Coolcam Wifi Smart Power Plug
  304. * Add support for Michael Haustein ESP Switch
  305. * Add support for MQTT Client based on lwmqtt to be selected by #define MQTT_LIBRARY_TYPE MQTT_ARDUINOMQTT
  306. * Add support for Neo Coolcam Wifi Smart Power Plug
  307. * Add support for Michael Haustein ESP Switch
  308. * Add support for MQTT Client based on lwmqtt to be selected by #define MQTT_LIBRARY_TYPE MQTT_ARDUINOMQTT
  309. * Add support for DS3231 Real Time Clock
  310. * Add support for HX711 Load Cell with optional web GUI scale interface to demonstrate easy GUI plug-in
  311. * Add support for serial 8N2 communication to TasmotaModbus and TasmotaSerial libraries
  312. * Add support for RF transceiving using library RcSwitch (#2702)
  313. * Add support for Shelly 1 and Shelly 2 (#2789)
  314. * Add support for La Crosse TX20 Anemometer (#2654, #3146)
  315. * Add support for MP3 player using DFRobot RB-DFR-562 (#3723)
  316. * Add Support for Xiaomi-Philips Bulbs (#3787)
  317. * Add support for PCA9685 12bit 16pin hardware PWM driver (#3866)
  318. * Add support for EXS Relay V5.0 (#3810)
  319. * Add support for OBI Power Socket (#1988, #3944)
  320. * Add support for Teckin Power Socket with Energy Monitoring (#3950)
  321. * Add support for Pzem-003/017 DC Energy monitoring module (#3694)
  322. * Add support for Pzem-014/016 AC Energy monitoring module (#3694)
  323. * Add support for CSL Aplic WDP 303075 Power Socket with Energy Monitoring (#3991, #3996)
  324. * Add support for Tuya Dimmer (#469, #4075)
  325. * Add command Display to show all settings at once
  326. * Add command SerialSend5 to send raw serial data like "A5074100545293"
  327. * Add command WebRefresh 1000..10000 to control web page refresh in milliseconds. Default is 2345
  328. * Add command WeightRes 0..3 to control display of decimals for kilogram
  329. * Add command RGBWWTable to support color calibration (#3933)
  330. * Add command Reset 4 (reset to defaults but keep wifi params) and Reset 5 (as reset 4 and also erase flash) (#4061)
  331. * Add command SetOption35 0..255 (seconds) to delay mDNS initialization to control possible Wifi connect problems
  332. * Add command SetOption52 0/1 to control display of optional time offset from UTC in JSON messages (#3629, #3711)
  333. * Add command SetOption53 0/1 to toggle gui display of Hostname and IP address (#1006, #2091)
  334. * Add authentication to HTTP web pages
  335. * Add decimals as input to commands PowerSet, VoltageSet and CurrentSet
  336. * Add tools/decode-config.py by Norbert Richter to decode configuration data. See file for information
  337. * Add define USE_DISPLAYS for selecting image sonoff-display
  338. * Add define USE_BASIC for selecting image sonoff-basic without most sensors
  339. * Add auto reload of main web page to some web restarts
  340. * Add TasmotaModbus library as very basic modbus wrapper for TasmotaSerial
  341. * Add more API callbacks and document API.md
  342. * Add Apparent Power and Reactive Power to Energy Monitoring devices (#251)
  343. * Add token %hostname% to command FullTopic (#3018)
  344. * Add Wifi channel number to state message (#3664)
  345. * Add user configurable GPIO02 and GPIO03 on H801 devices (#3692)
  346. * Add toggle function RGBW lights (#3695, #3697)
  347. * Add network information to display start screen (#3704)
  348. * Add sleep to Nova Fitness SDS01X sensor (#2841, #3724, #3749)
  349. * Add Analog input AD0 enabled to sonoff-sensors.bin (#3756, #3757)
  350. * Add power value below 5W to Sonoff Pow R2 and S31 (#3745)
  351. * Add RF Receiver control to module MagicHome to be used on Arilux LC10 (#3792)
  352. * Add userid/password option to decode-status.py (#3796)
  353. * Add delay after restart before processing rule sensor data (#3811)
  354. * Add force_update to Home Assistant discovery (#3873)
  355. * Add rule triggers SWITCH1#BOOT and POWER1#BOOT (#3904, #3910)
  356. * Add Hebrew language file (#3960)
  357. * Add TotalStartTime to Energy JSON message (#3971)
  358. * Add whitespace removal from RfRaw and SerialSend5 (#4020)
  359. * Add support for two BMP/BME sensors (#4195)
  360. *
  361. * 6.2.1 20180905
  362. * Fix possible ambiguity on command parameters if StateText contains numbers only (#3656)
  363. * Fix Wemo emulation to select the first relay when more than one relay is present (#3657)
  364. * Fix possible exception due to buffer overflow (#3659)
  365. * Fix lost energy today and total energy value after power cycle (#3689)
  366. *
  367. * 6.2.0 20180901
  368. * Allow user override of define MAX_RULE_VARS and MAX_RULE_TIMERS (#3561)
  369. * Disable wifi sleep for both Esp8266/Arduino core 2.4.1 and 2.4.2 to solve device freeze caused by Espressif SDK bug (#3554)
  370. * Change DS18B20 driver to provide better instant results
  371. * Change some sensor drivers to provide instant results
  372. * Change define USE_ALL_SENSORS to USE_SENSORS as it doesn't contain all sensors due to duplicate I2C addresses
  373. * Change some sensor update timings: AdcEvery 200 -> 250, Senseair 300 -> 250, SDM120 300 -> 250, SDM630 300 -> 250
  374. * Change default Wifi config option from WPS to Wifi Manager if WPS is disabled or Wifi Smartconfig if webserver is disabled or Wifi Serial input if Smartconfig is disabled
  375. * Change SHT1x driver to provide better instant results and fix I2C interference
  376. * Change DHT driver to provide better instant results and add decimals to DHT11 (#3164)
  377. * Change DS18x20 driver to provide better instant results (#3169)
  378. * Change CounterType 1 from milliseconds to microseconds (#3437)
  379. * Change scheduler for better sleep support using Uptime, Delay, PulseTime and TelePeriod, Blinktime (#3581)
  380. * Remove unused functionality from Sonoff-minimal to save space
  381. * Remove WPS and SmartConfig from sonoff-minimal saving 56k code space
  382. * Remove TSL2561 debug message and update library (#2415)
  383. * Remove forced restart when sleep command is executed (#3554)
  384. * Fix invalid response using more than 4 switches and domoticz
  385. * Fix sonoff-minimal not using default settings
  386. * Fix unsecure main webpage update
  387. * Fix DHT driver mixing values for different sensors (#1797)
  388. * Fix EnergyReset3 regression not clearing total energy (#2723)
  389. * Fix rules once regression from v6.1.0 (#3198, #3226)
  390. * Fix command Scale buffer overflow (#3236)
  391. * Fix possible WDT due to long MQTT publish handling (#3313)
  392. * Fix command TimeDst/TimeStd invalid JSON (#3322)
  393. * Fix handling of default names when using names starting with shortcut character ",0,1 or 2 (#3392, #3600, #3618)
  394. * Fix LM75AD I2C sensor detection (#3408)
  395. * Fix iFan02 power on state (#3412, #3530)
  396. * Fix some Pow R2 and S31 checksum errors using optimized re-sync (#3425)
  397. * Fix SDM120 reporting wrong negative values to Domoticz (#3521)
  398. * Fix MQTT reconnection detection when using TasmotaMqtt library (#3558)
  399. * Fix OtaMagic when file path contains a dash (-) (#3563)
  400. * Fix Sonoff Bridge data reception when using Portisch EFM8 firmware using in data buffer length (#3605)
  401. * Add read sensor retry to DS18B20, DS18x20, DHT, SHT1X and HTU21
  402. * Add user selection of Wifi Smartconfig as define USE_SMARTCONFIG in user_config.h
  403. * Add boot loop detection and perform some solutions
  404. * Add wifi and mqtt status led blinkyblinky to be disabled by SetOption31 1. Does not work when LedPower is On (deliberate) (#871, #2230, #3114, #3155)
  405. * Add support for TM1638 switch (#2226)
  406. * Add GPIO options ButtonXn, SwitchXn and CounterXn to select INPUT mode instead of INPUT_PULLUP (#2525)
  407. * Add support for APDS9960 proximity sensor (#3051)
  408. * Add support for MPR121 controller in input mode for touch buttons (#3142)
  409. * Add support for MCP230xx for general purpose input expansion and command Sensor29 (#3188)
  410. * Add default Wifi Configuration tool as define WIFI_CONFIG_NO_SSID in user_config.h if no SSID is configured (#3224)
  411. * Add command Timers 0/1 to globally disable or enable armed timers (#3270)
  412. * Add support for CCS811 sensor (#3309)
  413. * Add Turkish language file (#3332)
  414. * Add command SerialSend4 to send binary serial data (#3345)
  415. * Add initial support for sensor MPU6050 (#3352)
  416. * Add rule triggers Wifi#Connected and Wifi#Disconnected (#3359)
  417. * Add option + to command Rule to concatenate new rule with existing rules (#3365)
  418. * Add message when JavaScript is not enabled in webbrowser (#3388)
  419. * Add build time setting of ButtonTopic and SwitchTopic (#3414)
  420. * Add iFan02 Fanspeed + and Fanspeed - command options (#3415)
  421. * Add Individual HSBColorX commands (#3430, #3615)
  422. * Add output support on MCP23008/MCP23017 (#3436)
  423. * Add modulo option to rules like rule1 on Time#Minute|5 do backlog power on;delay 200;power off endon (#3466)
  424. * Add RGB support for Domoticz (#3547)
  425. * Add all ruletimer values to command RuleTimer result message (#3571)
  426. * Add command Publish2 for publishing retained MQTT messages (#3593)
  427. * Add commands ButtonDebounce 40..1000 and SwitchDebounce 40..1000 to have user control over debounce timing. Default is 50mS (#3594)
  428. * Add RuleX debug options 8,9,10 (StopOnError) to control RuleX execution status after an exception restart (#3607)
  429. * Add rule variables %sunrise%, %sunset%, %uptime% and %time% (#3608)
  430. * Add optional MQTT_TELE_RETAIN to Energy Margins message (#3612, 3614)
  431. *
  432. * 6.1.1 20180714
  433. * Revert wifi changes (#3177)
  434. * Revert sonoff-minimal removals causing failure of wifi connection (#3177)
  435. *
  436. * 6.1.0 20180706
  437. * Remove version 3, 4 and pre 5.2 settings auto-upgrade. See https://github.com/arendst/Sonoff-Tasmota/wiki/Upgrade#migration-path
  438. * Change default CFG_HOLDER from 0x20161209 to 4617 (=0x1209) - no impact on default upgrades
  439. * Change number of supported switches from 4 to 8 (#2885, #3086)
  440. * Change BME680 driver from Adafruit to Bosch BME680 library (#2969)
  441. * Fix Pzem004T checksum error
  442. * Fix KNX bug when doing reply of sensors values
  443. * Fix rules induced LWT message
  444. * Fix possible wifi connection problem (#1366)
  445. * Fix some Pow R2 and S31 checksum errors (#1907)
  446. * Fix display selection of un-available GPIO options in Module Configuration webpage (#2718)
  447. * Fix timer re-trigger within one minute after restart (#2744)
  448. * Fix IRSend not accepting data value of 0 by David Conran (#2751)
  449. * Fix vars on rules by Adrian Scillato (#2769)
  450. * Fix bug in KNX menu by Adrian Scillato (#2770)
  451. * Fix anomalies in rules (#2778)
  452. * Fix HUE bridge V1 software version by Heiko Krupp (#2788)
  453. * Fix Hardware Watchdog restart when using event command (#2853)
  454. * Add Ukrainian language file
  455. * Add KNX support for DS18S20 Temperature sensor
  456. * Add CRC to Settings making future upgrades more fail-safe
  457. * Add feature information to Status 4
  458. * Add tools folder with python script decode-status.py for decoding some status fields like SetOption and Features
  459. * Add Slots on the KNX Web Menu to select Group Addess to receive data to trigger rules
  460. * Add two rule sets of 511 characters using commands rule1, rule2 and rule3
  461. * Add Console Commands to send KNX Commands and KNX Values
  462. * Add Slots on the KNX Web Menu to select Group Addess to send data from console commands
  463. * Add Events to trigger rules when a command or read requests is received from KNX
  464. * Add command SetOption30 to enforce Hass discovery as light group (#1784)
  465. * Add support for BlitzWolf BW-SHP2 (and Homecube, Gosund SP1) Energy Monitoring Smart Socket (#2223)
  466. * Add time in minutes to rule Time#Initialized, Time#set and Time#Minute (#2669)
  467. * Add Eastron SDM630 energy meter by Gennaro Tortone (#2735)
  468. * Add KNX communication enhancement by Adrian Scillato (#2742)
  469. * Add KNX energy data by Adrian Scillato (#2750)
  470. * Add rule support for IrReceive and RfReceive (#2758)
  471. * Add python script fw-server.py in tools folder to create a simple OTA server by Gennaro Tortone (#2759)
  472. * Add rule variables %time% for minutes since midnight, %uptime%, %sunrise% and %sunset% giving time in minutes (#2669)
  473. * Add rules %mem1% to %mem5% variable names storing data in flash (#2780)
  474. * Add rules test on %varx% or %memx% (#2780)
  475. * Add optional token %id% substituting the unique MAC address to fulltopic by Michael Graf (#2794)
  476. * Add support for Sonoff S26 Smart Socket (#2808)
  477. * Add command WebSend [<host>(:<port>,<user>:<password>)] <command> (#2821)
  478. * Add increment and decrement value to command Counter (#2838)
  479. * Add support for Sonoff iFan02 as module 44 introducing command FanSpeed 0..3 (#2839)
  480. * Add source information to command execution to be shown with logging option 3 (#2843)
  481. * Add support for uploading Sonoff Bridge firmware found in tools/fw_efm8bb1 folder build by Portisch using Web Gui File Upload (#2886)
  482. * Add command RfRaw to control Portisch firmware features
  483. * Add support for I2C temperature sensor LM75AD (#2909)
  484. * Add option 0 to command Timers disarming all timers (#2962)
  485. * Add performance improvement when updating multiple individual WS2812 pixels (#3007)
  486. * Add command SetOption28 to switch between hex or decimal Sonoff Bridge RF received data format (#3008)
  487. * Add command SetOption29 to switch between hex or decimal IR received data format
  488. * Add decimal values support for commands ADD, SUB, MULT and SCALE (#3083, #3089)
  489. * Add support for bitflags SetOption50 .. SetOption81 (#3118)
  490. *
  491. * 5.14.0 20180515
  492. * Update language files
  493. * Update TasmotaSerial to 2.0.0 allowing Hardware Serial Fallback when correct connections are configured
  494. * Change command handling
  495. * Change user_config(_override).h defines TIME_STD and TIME_DST
  496. * Change user_config(_override).h otaurl to http://sonoff.maddox.co.uk/tasmota/sonoff.bin (#2588, #2602)
  497. * Fix configuration restore regression from 5.13.1
  498. * Fix compile error when ADC is enabled and Rules are disabled (#2608)
  499. * Fix rule power trigger when no backlog command is used (#2613)
  500. * Fix several timer data input and output errors (#2597, #2620)
  501. * Fix KNX config error (#2628)
  502. * Fix sensor MHZ-19 vanishing data over time (#2659)
  503. * Fix KNX reconnection issue (#2679)
  504. * Fix DST and STD time for Southern Hemisphere by Adrian Scillato (#2684, #2714)
  505. * Add Portuguese in Brazil language file
  506. * Add SetOption26 to enforce use of indexes even when only one relay is present (#1055)
  507. * Add support for sensor SI1145 UV Index / IR / Visible light (#2496)
  508. * Add rule state test for On/Off in addition to 0/1 (#2613)
  509. * Add hardware serial option to MHZ-19 sensor (#2659)
  510. * Add Eastron SDM120 energy meter by Gennaro Tortone (#2694)
  511. * Add user entry DST/STD using commands TimeStd and TimeDst (See wiki for parameter syntax) (#2721)
  512. *
  513. * 5.13.1 20180501
  514. * Fix JSON buffers size too small for execution in some situations (#2580)
  515. * Fix configuration restore (#2591)
  516. * Add define MODULE for user selecting default model although it preferably should not be changed (#569, #2589)
  517. *
  518. * 5.13.0 20180430
  519. * Change platformio option sonoff-ds18x20 to sonoff-allsensors enabling ds18x20 and all other sensors in one image
  520. * Change status display of Ssid and SetOption
  521. * Change default option SetOption15 from 0 to 1 providing better initial PWM experience
  522. * Change webpage parameter communication
  523. * Change max number of commands in Backlog from 15 to 30 and ignore commands overflowing
  524. * Change TSL2561 driver to joba library and delete Adafruit library (#1644)
  525. * Change default parameters in user_config.h to undefined for easy installation (#1851)
  526. * Change max user configurable hold time from 10 to 25 seconds (#1851)
  527. * Change Sonoff SC JSON format (#1939)
  528. * Change Polish language to using Diacritics (#2005)
  529. * Change user_config_override usage by providing user_config_override_sample.h (#2228)
  530. * Change MQTT response topic for Energy changes from ENERGY to SENSOR (#2229, #2251)
  531. * Change default Reset configuration time from 4 seconds to 40 seconds on Button hold (#2268)
  532. * Change ESP8266 Analog JSON message from {"Analog0:123"} to {"ANALOG":{"A0:123"}} to accomodate rules (#2560)
  533. * Change Counter JSON message from {"Counter1":0,"Counter3":0} to {"COUNTER":{"C1":0,"C3":0}} to accomodate rules
  534. * Change ADS1115 JSON message from {"ADS1115":{"Analog0":123,"Analog1":123}} to {"ADS1115":{"A0":123,"A1":123}}
  535. * Fix intermittent exception when dns lookup is used while sleep is enabled
  536. * Fix 5.4.0 regression turning off single press after button hold during 4x hold time
  537. * Fix possible wifi connection problem by erasing sdk configuration parameters
  538. * Fix NTP sync to Thu Jan 01 08:00:10 1970 results in uptime 17651+ days (core2.4.1/sdk2.2.1)
  539. * Fix MAX31850 higher temperatures (#1269)
  540. * Fix freeing more code space when emulation is disabled (#1592)
  541. * Fix providing web page configuratin option for Friendly Name when no device (relay or light) is configured (#1850)
  542. * Fix compile error when define HOME_ASSISTANT_DISCOVERY_ENABLE is not set (#1937)
  543. * Fix MQTT TLS fingerprint validation (#2033)
  544. * Fix update temperature on DS18x20 drivers (#2328)
  545. * Fix compile error when not defined USE_TIMERS (#2400)
  546. * Fix configuration filename truncation when it contains spaces (#2484, #2490)
  547. * Fix Energy Today and Yesterday overflow (#2543)
  548. * Add serial debug info
  549. * Add Portuguese language file
  550. * Add Czech language file
  551. * Add Bulgarian language file
  552. * Add Domoticz dust (custom) sensors to PMS5003 and NovaFitness SDS drivers as PM1, PM2.5 and PM10
  553. * Add commands Publish, Rule, RuleTimer and Event. See Wiki about Rule restriction, usage and examples
  554. * Add sonoff-classic, sonoff-allsensors and sonoff-knx
  555. * Add some coloring to important web buttons
  556. * Add support for sensor HC-SR04 ultrasonic (#113, #1964, #2444)
  557. * Add define MQTT_TELE_RETAIN compile option default set to 0 (#1071)
  558. * Add 16 timers using commands Timer and Timers (#1091)
  559. * Add optional Timer configuration webpage to be enabled in user_config.h with define USE_TIMERS_WEB
  560. * Add Multichannel Gas sensor using MultiChannel_Gas_Sensor library (#1245)
  561. * Add Domoticz Battery and RSSI Quality (#1604)
  562. * Add command HSBColor Hue,Sat,Bri (#1642, #2203)
  563. * Add compile time support for WS2812 BRG and RBG led configurations to be defined in user_config.h (#1690)
  564. * Add optional usage of %d or %X suffices in MQTT client to append chipid (#1871)
  565. * Add optional usage of %d or %X suffices in MQTT topic to append chipid (#1871)
  566. * Add optional usage of %d or %04d in ota url to be replaced with chipid (#1871)
  567. * Add Sonoff Bridge command RfKey<x> 5 to show current RF key values either default or learned (#1884)
  568. * Add user configurable serial GPIOs to MagicHome and Arilux modules (#1887)
  569. * Add Russian language file (#1909)
  570. * Add Webserver upload preflight request support (#1927)
  571. * Add Home Assistant clear other device (#1931)
  572. * Add Restart time to Status 1 (#1938)
  573. * Add optional TSL2561 driver using library Joba_Tsl2561 to be enabled in user_config.h with define USE_TSL2561_JOBA (#1951)
  574. * Add support for sensor SHTC3 (#1967)
  575. * Add compiler check for stable lwIP version v1.4 (#1940)
  576. * Add support for multiple SHT3X sensors (#1949, #2110)
  577. * Add always suffix with device number in Mqtt discovery topic (#1962)
  578. * Add support for optional MQTT drivers to be selected in user_config.h (#1992)
  579. * Add optional Arduino OTA support to be enabled in user_config.h (#1998)
  580. * Add diacritics to Polish language file (#2005)
  581. * Add Hungarian language file (#2024)
  582. * Add support for Nova Fitness SDS011 and possibly SDS021 particle concentration sensor (#2070)
  583. * Add single decimal precision to Nova Fitness SDS0x1 sensor values (#2093)
  584. * Add Chinese (Traditional) in Taiwan language file (#2108)
  585. * Add Sonoff SC domoticz support for Sound level as Counter and Air quality (#2118)
  586. * Add a second TLS fingerprint to allow switching keys in TLS mode (#2033, #2102)
  587. * Add display of remaining pulse time to command PulseTime (#2085)
  588. * Add additional time offset to Wifi Retry based on device mac address (#2089)
  589. * Add command Color6 RRGGBB for Clock hour marker color and command Rotation pixels for Clock rotation (#2092)
  590. * Add HTML language header in local language (#2123)
  591. * Add command PowerDelta 0..100 (percentage) to Energy monitoring devices to report on active power load change (#2157)
  592. * Add Restart Reason to Status 1 report (#2161)
  593. * Add command Channel 0..100 to control dimmer value for individual color channels (#2111, #2203)
  594. * Add support for Hardware Serial bridge using commands SerialDelimiter, Baudrate and SerialSend. Supports 8N1 and text only (#2182)
  595. * Add support for Software Serial bridge using commands SerialDelimiter, SBaudrate and SSerialSend. Supports 8N1 and text only (#2190)
  596. * Add support for Zengge WF017 PWM Led strip controller (#2202)
  597. * Add PWM status to command State if PWM enabled (#2203)
  598. * Add all FriendlyNames to Status information (#2208)
  599. * Add Channel status information (#2211)
  600. * Add hexadecimal Data entry to command IrSend using 0x notation (#1290, #2314)
  601. * Add Home Assistant MQTT Discovery for Buttons and change SetOption19 response (#2277)
  602. * Add multiple color entry support for command Led like Led2 120000 001200 000012 setting led2 as Red, Led3 as Green and Led4 as Blue (#2303)
  603. * Add hexadecimal RGB color entry on RGBCW leds (#2304)
  604. * Add support for SGP30 gas and air quality sensor (#2307)
  605. * Add optional Sunrise and Sunset timers with commands Latitide and Longitude to be enabled with define USE_SUNRISE in user_config.h (#2317)
  606. * Add timer sunrise and sunset offset (#2378)
  607. * Add user selectable defines for Sunrise/set Dawn option (#2378)
  608. * Add optional KNX IP Protocol Support (#2402)
  609. * Add random window to timers (#2447)
  610. * Add Greek language file (#2491)
  611. * Add support for Sonoff Pow R2 (#2340)
  612. * Add GPIO_User to GPIO02 for all Sonoff T1 (#2524)
  613. *
  614. * 5.12.0 20180209
  615. * Change library PubSubClient.h define MQTT_MAX_PACKET_SIZE from 512 to 1000 for Home Assistant support
  616. * Change relation of define MESSZ being dependent on PubSubClient.h define MQTT_MAX_PACKET_SIZE
  617. * Change command color parameter input checks to less strict for Home Assistant support
  618. * Change command Ina219Mode into command Sensor13
  619. * Change commands HlwPCal, HlwUCal and HlwICal to PowerCal, VoltageCal and CurrentCal to be used for both Pow and S31 calibration
  620. * Change commands HlwPSet, HlwUSet and HlwISet to PowerSet, VoltageSet and CurrentSet to be used for both Pow and S31 calibration
  621. * Change uptime from hour to second resulting in a display of 123T13:45:21 where 123 is days
  622. * Change module name Wemos D1 mini into Generic (#1220)
  623. * Change HTML from width=100% to style=width:100% supporting HTML5 (#1358)
  624. * Change OSWATCH_RESET_TIME (Blocked loop) from 30 to 120 seconds to allow slow networks (#1556)
  625. * Change WIFI_MANAGER_SEC into WIFI_CONFIG_SEC (#1616)
  626. * Change function pointers code to save code space and memory (#1683)
  627. * Change webserver argument processing gaining 5k code space (#1705)
  628. * Change weblog memory usage (#1730, #1793, #1819)
  629. * Update TasmotaSerial library to 1.1.0
  630. * Update language files Italian (#1594), Dutch (#1723) and Spanish (#1722)
  631. * Fix Non-English JSON temperature unit attachement
  632. * Fix Arilux RF induced exception by moving interrupt handler to iram on non ESP8266/Arduino lib v2.3.0
  633. * Fix truncated command names and wrong response for DomoticzSwitchIdx (#1571)
  634. * Fix %-sign issue as printf escape character in Humidity and Sonoff SC (#1579)
  635. * Fix DS18B20 temperature JSON decimal dot (#1561)
  636. * Fix Energy JSON message (#1621)
  637. * Fix IRSend parameter translation (#1636)
  638. * Fix TSL2561 device detection (#1644, #1825)
  639. * Fix BME680 teleperiod resistance measuring (#1647)
  640. * Fix Energy Monitoring Energy Today and Energy Total reading after restart (#1648)
  641. * Fix IRReceive Data value (#1663)
  642. * Fix Energy Monitoring Energy Period roll-over (#1688)
  643. * Fix compiler warnings (#1774)
  644. * Fix command PWM response if no PWM channel is configured (#1783)
  645. * Add locale Decimal Separator to Web sensor page
  646. * Add ColorTemperature to light status message
  647. * Add command PowerOnState option 5 which inverts PulseTime and allows for delayed always on after power on
  648. * Add OtaMagic two step Web server OTA upgrade using filename-minimal image if OTA free space is too small
  649. * Add support for PMS5003 and PMS7003 particle concentration sensor
  650. * Add command SetOption21 1 to allow Energy Monitoring when power is off on Sonoff Pow and Sonoff S31 (#1420)
  651. * Add Chinese language file (#1551)
  652. * Add French language file (#1561)
  653. * Add Spanish language file (#1589)
  654. * Add HTTP Allow Cross Origin removed from ESP8266/Arduino lib v2.4.0 (#1572)
  655. * Add Home Assistant MQTT Discovery for switch and light to be enabled by command SetOption19 1 (#1534) or define HOME_ASSISTANT_DISCOVERY_ENABLE in user_config.h (#1685)
  656. * Add command State to retrieve device state information (same data as teleperiod state and status 11 in slightly different JSON format)
  657. * Add optional login to Webserver AP mode (#1587, #1635)
  658. * Add command Sensor15 2 to start MHZ19(B) Zero Point Calibration (#1643)
  659. * Add support for Sonoff S31 Smart Socket with Power Consumption Detection (#1626)
  660. * Add command SetOption20 to allow update of Dimmer/Color/Ct without turning power on (#1719, #1741)
  661. * Add NTP sync time slot based on chip id (#1773)
  662. * Add cursor pointer to web button (#1836)
  663. *
  664. * 5.11.1 20180107
  665. * Fix Sonoff Pow command handling (#1542)
  666. *
  667. * 5.11.0 20180107
  668. * Minor webpage HTML optimizations (#1358)
  669. * Updated German translation (#1438)
  670. * Change Sonoff Pow Energy MQTT data message and consolidate Status 8 into Status 10
  671. * Change ADS1115 default voltage range from +/-2V to +/-6V (#1289)
  672. * Change text to Active for 3 minutes (#1364)
  673. * Change Wemo SetBinaryState to distinguish from GetBinaryState (#1357)
  674. * Change output of HTTP command to valid JSON and Array only (#1363)
  675. * Removed all MQTT, JSON and Command language defines from locale files and set fixed to English (#1473)
  676. * Renamed commands Color2,3,4 to Color3,4,5
  677. * Fix BME280 calculation (#1051)
  678. * Fix Sonoff Bridge missed learned key if learned data contains 0x55 (End of Transmission) flag (#1095, #1294)
  679. * Fix PWM initialization in Dimmer/Color mode (#1321)
  680. * Fix Wemo Emulation (#1357)
  681. * Fix display of build date and time in non-english locale (#1465)
  682. * Fix Wemo and Hue emulation by adding M-Search response delay (#1486)
  683. * Add libraries Adafruit_BME680-1.0.5, Adafruit_Sensor-1.0.2.02, TasmotaSerial-1.0.0 and TSL2561-Arduino-Library
  684. * Add command Color2 to set color while keeping same dimmer value
  685. * Add device function pointers
  686. * Add support for SenseAir S8 CO2 sensor
  687. * Add color led signal to Carbon Dioxide (CO2) sensors using defines CO2_LOW and CO2_HIGH in user_config.h
  688. * Add support for Domoticz Air Quality sensor to be used by MH-Z19(B) and SenseAir sensors
  689. * Add support for PZEM004T energy sensor
  690. * Add support for iTead SI7021 temperature and humidity sensor by consolidating DHT22 into AM2301 and using former DHT22 as SI7021 (#735)
  691. * Add support for BME680 using adafruit libraries (#1212)
  692. * Add support for MH-Z19(B) CO2 sensor (#561, #1248)
  693. * Add multipress support and more user configurable GPIO to Sonoff Dual R2 (#1291)
  694. * Add support for TSL2561 using adafruit library (#661, #1311)
  695. * Add support for SHT3x (#1314)
  696. * Add support for Arilux LC06 (#1414)
  697. * Add Italian language file (#1449)
  698. * Add 2nd Gen Alexa support to Wemo emulation discovery (#1357, #1450)
  699. * Add define for additional number of WS2812 schemes (#1463)
  700. *
  701. * 5.10.0 20171201
  702. * Upgrade library ArduinoJson to 5.11.2
  703. * Upgrade library IRRemoteEsp8266 to 2.2.1 + 2 commits but disabled some protocols (code size reduction)
  704. * Upgrade library NeoPixelBus to 2.2.9
  705. * Upgrade library OneWire to 2.3.3 + 6 commits and disabled CRC lookup-table (#define ONEWIRE_CRC8_TABLE 0) (code size reduction)
  706. * Update library PubSubClient to 2.6 + 9 commits and additional delay (#790)
  707. * Update core_esp8266_wiring_digital.c to latest (staged) level
  708. * Patch library I2Cdevlib-Core for esp8266-core 2.4.0-rc2 compatibility
  709. * Remove command EnergyReset 1..3 now replaced by EnergyReset1 to EnergyReset3
  710. * Remove spaces in JSON messages (code size reduction)
  711. * Renamed xsns_05_ds18x20.ino to xsns_05_ds18x20_legacy.ino still using library OneWire and providing dynamic sensor scan
  712. * Fix possible iram1_0_seg compile error by shrinking ICACHE_RAM_ATTR code usage
  713. * Fix PWM watchdog timeout if Dimmer is set to 100 or Color set to 0xFF (#1146)
  714. * Fix Sonoff Bridge Learn Mode hang caused by unrecognised RF code (#1181)
  715. * Fix blank console log window by using XML character encoding (#1187)
  716. * Fix wrong response name for command HlwISet (#1214)
  717. * Fix DHT type sensor timeout recognition by distinguish "signal already there" from "timeout" (#1233)
  718. * Add fixed color options 1..12 to command Color
  719. * Add + (plus) and - (minus) to commands Dimmer (+10/-10), Speed and Scheme
  720. * Add + (plus) and - (minus) to command Color to select 1 out of 12 preset colors
  721. * Add + (plus) and - (minus) to command Ct to control ColdWarm led ColorTemperature (+34/-34)
  722. * Add commands EnergyReset1 0..42500, EnergyReset2 0..42500 and EnergyReset3 0..42500000
  723. * to (Re)set Energy Today, Yesterday or Total respectively in Wh (#406, #685, #1202)
  724. * Add optional ADS1115 driver as alternative for unsupported I2Cdevlib in esp8266-core 2.4.0-rc2
  725. * Add support for INA219 Voltage and Current sensor to be enabled in user_config.h with define USE_INA219
  726. * Add support for Arilux LC11 (Clearing RF home code when selecting no Arilux module)
  727. * Add support for WS2812 RGBW ledstrips to be enabled in user_config.h with define USE_WS2812_CTYPE (#1156)
  728. * Add SettingsSaveAll routine to command SaveData to be used before controlled power down (#1202)
  729. * Add option PUSHBUTTON_TOGGLE (SwitchMode 7) to allow toggling on any switch change (#1221)
  730. * Add new xdrv_05_ds18x20.ino free from library OneWire and add the following features:
  731. * Add support for DS1822
  732. * Add forced setting of 12-bit resolution for selected device types (#1222)
  733. * Add read temperature retry counter (#1215)
  734. * Fix lost sensors by performing sensor probe at restart only thereby removing dynamic sensor probe (#1215)
  735. * Fix sensor address sorting using ascending sort on sensor type followed by sensor address
  736. * Rewrite JSON resulting in shorter message allowing more sensors in default firmware image:
  737. * "DS18B20-1":{"Id":"00000483C23A","Temperature":19.5},"DS18B20-2":{"Id":"0000048EC44C","Temperature":19.6}
  738. * Add additional define in user_config.h to select either single sensor (defines disabled), new multi sensor (USE_DS18X20) or legacy multi sensor (USE_DS18X20_LEGACY)
  739. * Add clock support for more different pixel counts (#1226)
  740. * Add support for Sonoff Dual R2 (#1249)
  741. * Add FriendlyName to web page tab and add program information to web page footer (#1275)
  742. *
  743. * 5.9.1 20171107
  744. * Add external sensor function pointer interface to enable easy sensor addition
  745. * Add support for ADS1115 to be enabled in user_config.h and needs libraries i2cdevlib-Core and i2cdevlib-ADS1115 (#338, #660)
  746. * Fix Backup Configuration file download failure by defining proper file size (#1115)
  747. * Fix Exception 26 and empty console screen after usage of command WakeupDuration (#1133)
  748. * Fix some changed iTead web links in README.md (#1137)
  749. *
  750. * 5.9.0 20171030
  751. * Rewrite code (partly) using Google C++ Style Guide (https://google.github.io/styleguide/cppguide.html)
  752. * Rewrite code by using command lookup tables and javascript (client side) web page expansions
  753. * Change HTML/CSS to enable nicer form field entry
  754. * Change default PWM assignments for H801 RGB(CW) led controller to support optional Color/Dimmer control
  755. * GPIO04 (W2) from GPIO_PWM2 to GPIO_USER to be user configurable for GPIO_PWM5 (second White - Warm if W1 is Cold)
  756. * GPIO12 (Blue) GPIO_PWM3 no change
  757. * GPIO13 (Green) from GPIO_PWM4 to GPIO_PWM2
  758. * GPIO14 (W1) from GPIO_PWM1 to GPIO_USER to be user configurable for GPIO_PWM4 (first White - Cold or Warm)
  759. * GPIO15 (Red) from GPIO_PWM5 to GPIO_PWM1
  760. * Change default PWM assignments for MagicHome RGB(W) led controller to support optional Color/Dimmer control
  761. * GPIO05 (Green) from GPIO_PWM4 to GPIO_PWM2
  762. * GPIO12 (Blue) from GPIO_PWM5 to GPIO_PWM3
  763. * GPIO13 (White) GPIO_USER to be user configurable for GPIO_PWM4 (White - Cold or Warm)
  764. * GPIO14 (Red) from GPIO_PWM3 to GPIO_PWM1
  765. * Change default PWM assignment for Witty Cloud to support optional Color/Dimmer control (#976)
  766. * GPIO12 (Green) from GPIO_PWM4 to GPIO_PWM2
  767. * GPIO13 (Blue) from GPIO_PWM5 to GPIO_PWM3
  768. * GPIO15 (Red) from GPIO_PWM3 to GPIO_PWM1
  769. * Change when another module is selected now all GPIO user configuration is removed
  770. * Change command name IRRemote to IRSend (#956)
  771. * Remove Arduino IDE version too low warning as it interferes with platformio.ini platform = espressif8266_stage
  772. * Fix command FullTopic entry when using serial or console interface
  773. * Fix possible UDP syslog blocking
  774. * Fix minimum TelePeriod of 10 seconds set by web page
  775. * Fix command GPIOx JSON response (#897)
  776. * Fix inverted relay power on state (#909)
  777. * Fix compile error when DOMOTICZ_UPDATE_TIMER is not defined (#930)
  778. * Fix alignment of web page items in some browsers (#935)
  779. * Fix setting all saved power settings to Off when SetOption0 (SaveState) = 0 (#955)
  780. * Fix timezone range from -12/12 to -13/13 (#968)
  781. * Fix Southern Hemisphere TIME_STD/TIME_DST (#968)
  782. * Fix TLS MQTT SSL fingerprint test (#970, #808)
  783. * Fix virtual relay status message used with Color/Dimmer control (#989)
  784. * Fix command IRSend and IRHvac case sensitive parameter regression introduced with version 5.8.0 (#993)
  785. * Fix pressure calculation for some BMP versions regression introduced with version 5.8.0i (#974)
  786. * Fix Domoticz Dimmer set to same level not powering on (#945)
  787. * Fix Blocked Loop when erasing large flash using command reset 2 (#1002)
  788. * Fix relay power control when light power control is also configured as regression from 5.8.0 (#1016)
  789. * Fix Mqtt server mDNS lookup only when MqttHost name is empty (#1026)
  790. * Add debug information to MQTT subscribe
  791. * Add translations to I2Cscan
  792. * Add translation to BH1750 unit lx
  793. * Add light scheme options (Color cycle Up, Down, Random) and moving WS2812 schemes up by 3
  794. * Add Domoticz counter sensor to IrReceive representing Received IR Protocol and Data
  795. * Add option 0 to MqttHost to allow empty Mqtt host name
  796. * Add support for Arilux AL-LC01 RGB Led controller (#370)
  797. * Add esp8266 de-blocking to PubSubClient library (#790)
  798. * Add Domoticz sensors for Voltage and Current (#903)
  799. * Add platformio OTA upload support (#928, #934)
  800. * Add warning to webpage when USE_MINIMAL is selected (#929)
  801. * Add smoother movement of hour hand in WS2812 led clock (#936)
  802. * Add support for Magic Home RGBW and some Arilux Led controllers (#940)
  803. * Add command SetOption15 0 (default) for command PWM control or SetOption15 1 for commands Color/Dimmer control to PWM RGB(CW) leds (#941)
  804. * Add Domoticz counter sensor to Sonoff Bridge representing Received RF code (#943)
  805. * Add support for Luani HVIO board (https://luani.de/projekte/esp8266-hvio/) (#953)
  806. * Add PWM initialization after restart (#955)
  807. * Add IR Receiver support. Disable in user_config.h (#956)
  808. * Add support for inverted PWM (#960)
  809. * Add Sea level pressure calculation and Provide command Altitude (#974)
  810. * Add support for up to 8 relays (#995)
  811. * Add commands RfSync, RfLow, RfHigh, RfHost and RfCode to allow sending custom RF codes (#1001)
  812. * Add retain to ENERGY messages controlled by command SensorRetain (#1013)
  813. * Add commands Color2, Color3, Color4, Width2, Width3, Width4 and SetOption16 to set Ws2812 Clock parameters (#1019)
  814. * Add German language file (#1022)
  815. * Add support for connecting to MQTT brokers without userid and/or password (#1023)
  816. * Add support for esp8266 core v2.4.0-rc2 (#1024)
  817. * Add commands PwmRange 1,255..1023 and PwmFrequency 1,100..4000 (#1025)
  818. * Add Polish language file (#1044, #1047)
  819. * Add support for KMC 70011 Power Monitoring Smart Plug (#1045)
  820. * Add support for VEML6070 I2C Ultra Violet level sensor (#1053)
  821. * Add light turn Off Fade (#925)
  822. * Add IrSend command option Panasonic as IrSend {"Protocol":"Panasonic", "Bits":16388, "Data":<Panasonic data>}
  823. * where 16388 is 0x4004 hexadecimal (#1014)
  824. * Add retry counter to DHT11/21/22 sensors (#1082)
  825. *
  826. * 5.8.0 20170918
  827. * Remove the need for NeoPixelBus library for Hue support
  828. * Consolidate WS2812 into Sonoff Led for flexible future led strip library changes
  829. * Invert WS2812 fade speed to align with Sonoff led (Speed 1 = fast, Speed 8 = slow)
  830. * Remove upper case MQTT receive buffer
  831. * Reduce code and string length for output of commands Modules and GPIOs
  832. * Add Sonoff SC debug information
  833. * Change syslog service
  834. * Removed webserver syslog disable as now no longer needed
  835. * Increased default MQTT message size from 368 to 405 bytes while keeping MQTT_MAX_PACKET_SIZE = 512 (because we can)
  836. * Fix MQTT Offline or Remove MQTT retained topic code
  837. * Fix Domoticz loop when Emulation is selected
  838. * Add blink to WS2812 and Sonoff Led (#643)
  839. * Add option WIFI_WAIT (5) to command WifiConfig to allow connection retry to same AP without restart or update flash (#772, #869)
  840. * Add support for Witty Cloud (#794)
  841. * Add GPIO14 to Sonoff Dual (#797, #839)
  842. * Add support for Yunshan Wifi Relay (#802)
  843. * Add GPIO16 input pulldown (#827)
  844. * Add timeout to DHT and DS18B20 sensors (#852)
  845. * Fix watchdog timeout caused by lack of stack space by moving to heap (#853)
  846. * Allow LogPort and MqttPort up to 65535 and add LogPort tot Status 3 (#859)
  847. * Allow command SwitchTopic in group mode (#861)
  848. * Allow command SwitchMode if no switches are defined (#861)
  849. * Add optional dimmer parameter to command Wakeup for WS2812, AiLight, Sonoff B1, Led and BN-SZ01 (#867)
  850. * Fix basic On, Off, Toggle, Blink and BlinkOff commands when other language is selected (#874)
  851. *
  852. * 5.7.1 20170909
  853. * Remove leading spaces from MQTT data
  854. * Fix webconsole special character entry
  855. * Allow # as prefix for color value
  856. * Fix Alexa detection and Hue App Update Request (#698, #854)
  857. *
  858. * 5.7.0 20170907
  859. * Shrink module configuration webpage
  860. * Fix settings order during startup to allow for displaying debug messages
  861. * Fix some string length issues
  862. * Add more string length tests by using strncpy
  863. * Add Ai-Thinker RGBW led (AiLight)
  864. * Add Power check and add PulseTime to power check at startup (#526)
  865. * Add Supla Espablo support (#755)
  866. * Add more precision to Sonoff Pow period and power results using command WattRes 0|1 (#759)
  867. * Add basic internationalization and localization (#763)
  868. * Add more Sonoff Pow range checking (#772)
  869. * Fix invalid JSON (#786, #822)
  870. * Add duplicate check to received RF signal within 2 seconds for Sonoff Bridge (#810)
  871. *
  872. * 5.6.1 20170818
  873. * Change module list order in webpage
  874. * Fix Sonoff T1 1CH and 2CH configuration (#751)
  875. *
  876. * 5.6.0 20170818
  877. * Fix Sonoff Pow intermittent exception 0
  878. * Change Sonoff Pow sending Domoticz telemetry data only
  879. * Add Ai-Thinker RGBW led (AiLight) (experimental)
  880. * Add NeoPixelBus library to Sonoff Led for Hue support
  881. * Add user configurable GPIO4 and GPIO5 to module Sonoff Bridge
  882. * Add Sonoff B1 RGBCW led support with command Color RRGGBBCCWW (#676)
  883. * Add command CT 152..500 to Sonoff Led and Sonoff B1 to control Color Temperature
  884. * Add Cold-Warm slider to web page for Sonoff Led and Sonoff B1
  885. * Add CT parameter to Hue
  886. * Add Sonoff T1 support (#582)
  887. * Add AnalogInput0 if configured as Analog Input to webpage (#697, #746)
  888. * Add command SetOption14 0|1 to enable interlock mode (#719, #721)
  889. * Fix Mitsubishi HVAC IR power controll (#740)
  890. *
  891. * 5.5.2 20170808
  892. * Extent max number of WS2812 pixels from 256 to 512 (#667)
  893. * Add OTA handling if server responds with no update available (#695)
  894. * Removed undocumented command FlashMode (#696)
  895. * Fix compile time error message due to increased message buffer size (#703)
  896. *
  897. * 5.5.1 20170805
  898. * Fix Sonoff Rf Bridge issues
  899. * Add Sonoff RF Bridge MQTT messages on received and learned RF signal
  900. * Add command VoltRes 0|1 to select voltage resolution to 0.1 V (#654)
  901. * Add averaging to Analog input (#686)
  902. * Add Energy tele data on Sonoff Pow Threshold change (#688)
  903. * Fix inconsistent property names in Messages (#690)
  904. *
  905. * 5.5.0 20170730
  906. * Reduce code space by removing the following commands as they are replaced by SetOption alternatives:
  907. * SaveState = SetOption0
  908. * ButtonRestrict = SetOption1
  909. * Units = SetOption2
  910. * MQTT = SetOption3
  911. * MQTTResponse = SetOption4
  912. * TempUnit = SetOption8
  913. * Smoothing WS2812 animation poll, invert fade speed and max allowed wakeup time down to 3000 seconds
  914. * Fix initial button press detection
  915. * Add support for Sonoff RF Bridge 433 using command RfKey
  916. * Fix regression from 5.0.7 by increasing message buffer size from 360 to 368 to accomodate 4 x DS18x20 sensors (#637)
  917. * Add GroupTopic to Topic test when using ButtonTopic/SwitchTopic to send either ON/OFF or TOGGLE (#642)
  918. * Adjust HLW calibration limits to accomodate HuaFan device and add commands HlwPSet, HlwUSet and HlwISet (#654)
  919. *
  920. * 5.4.0 20170725
  921. * Fix command reset regression introduced in 5.2.0
  922. * Increase polling from 0.1 second to 0.05 second
  923. * Add multipress to all buttons
  924. * Fix button 1 double press behaviour on multi relay devices
  925. * Add support for Hua Fan Smart Socket (#479)
  926. * Add support for Sonoff 4ch Pro (#565)
  927. * Add command SetOption13 1 to allow immediate action on single button press
  928. * (disables multipress, hold and unrestricted commands) (#587)
  929. *
  930. * 5.3.0 20170715
  931. * Major Hue rewrite which might introduce Alexa problems. If so, initiate an issue
  932. * Add support for Sonoff Led and BN-SZ01 Ceiling Led brightness control to Hue
  933. * Fix Sonoff Led Power, Dimmer and Color MQTT response (#176)
  934. * Add commands Delay and Backlog to allow multiple commands at once separated by ";" (#593)
  935. * Use default flashmode DOUT to solve restart hangs on esp8285 chips (#453, #598)
  936. * Change Web console column width from 99 to 300 (#599)
  937. *
  938. * 5.2.4 20170703
  939. * Removed flash mode update after selecting different module solving esp8285 related problems
  940. * Add device type flag to sonoff_template.ino
  941. * Change Sonoff Led Wakeup and add support for Sonoff BN-SZ01 Led (#567)
  942. *
  943. * 5.2.3 20170630
  944. * Change Sonoff Led color conversion code
  945. * Fix SetOption12 handling
  946. * Simplify auto configuration upgrade
  947. * Add option Upgrade <version_number> to only upgrade to any higher version (Old PR #213)
  948. * Change FallbackTopic to cmnd/<MQTTClient>/<command> <parameter> bypassing FullTopic and Prefix (#538)
  949. *
  950. * 5.2.2 20170625
  951. * Add configuration SaveAddress to Status 1 and Information Page
  952. * Change Sonoff Led Color conversion from AtoH to strtol
  953. * Fix possible wrong uploads due to configuration overwrites (#542)
  954. * Fix payload negative numbers (#547)
  955. *
  956. * 5.2.1 20170622
  957. * Fix Restore Configuration in case of lower version
  958. * Revert auto configuration upgrade allowing easy upgrade which was removed in version 5.2.0
  959. * Fix config auto upgrade from versions below version 4.1.1 (#530)
  960. *
  961. * 5.2.0 20170619
  962. * Add command SetOption12 1 to disable newly released configuration flash rotate to reduce flash wear
  963. * Fix command CounterDebounce by removing test for active GPIO (#524)
  964. * Add command SetOption33 1..250 to allow user configure POW Max_Power_Retry count (#525)
  965. *
  966. * 5.1.7 20170616
  967. * Prep removal of SetOptions alternatives
  968. * Restore webpage upgrade error messages removed in 5.1.5
  969. * Add hold button functionality to buttons 2 to 4
  970. * Add command SetOption32 1..100 to set Key Hold Time from 0.1 seconds to 10 seconds (#200)
  971. * Allow slashes in Topic, GroupTopic, ButtonTopic and SwitchTopic (#507)
  972. * Changed webpage form actions from post to get and use relative path url (#434, #522)
  973. *
  974. * 5.1.6 20170606
  975. * Shrink code
  976. * Removed online configuration of Domoticz In and Domoticz Out MQTT strings
  977. * Removed commands DomoticzInTopic and DomoticzOutTopic
  978. * Add define KEY_HOLD_TIME to configure button hold threshold before sending MQTT Hold message
  979. * Add command StateText4 to configure button MQTT Hold text (= MQTT_CMND_HOLD)
  980. * Add command SetOption11 0|1 to swap pushbutton single and double press functionality (#200)
  981. * Add command SwitchMode<x> 5 (PUSHBUTTONHOLD) and 6 (PUSHBUTTONHOLD_INV) (#489)
  982. *
  983. * 5.1.5 20170604
  984. * Shrink code in preparation to ESP8266-Arduino 2.4.0-rc1
  985. * Add effect parameter to HUE Device (#464)
  986. *
  987. * 5.1.4 20170601
  988. * Removed pre-compiled versions from repository as they are available within the release
  989. * Changed HUE Device type to color supporting version (#464)
  990. * Fix compile error when BE_MINIMAL is selected (#467, #476)
  991. * Add multiple compiled versions to release using updated Travis script and platformio.ini (#467)
  992. *
  993. * 5.1.3 20170520
  994. * Add Domoticz Counter
  995. *
  996. * 5.1.2 20170519
  997. * Fix Counter/Timer JSON message and update Counter/Timer on webpage
  998. * Fix WS2812 Domoticz related regression issues
  999. *
  1000. * 5.1.1 20170517
  1001. * Allow command FullTopic in group mode
  1002. * Prepare for more use of RTC memory
  1003. * Add independant WS2812 led string power control (#386, #390)
  1004. * Add command Counter<x> to control up to four GPIO falling edge interrupt counters or timers (#459)
  1005. * Add command CounterType<x> to select between pulse counting or pulse timing
  1006. * Add command CounterDebounce to select global counter debounce time in mSec
  1007. *
  1008. * 5.1.0 20170513
  1009. * Fix Offline/Removal of retained topic when FullTopic is changed
  1010. * Add FullTopic to MQTT Configuration and Information web pages
  1011. * Add license model GPLv3 (#188)
  1012. *
  1013. * 5.0.7 20170511
  1014. * Fix possible exception 28 on empty command
  1015. * Add command SetOption0 as replacement for SaveState
  1016. * Add command SetOption1 as replacement for ButtonRestrict
  1017. * Add command SetOption2 as replacement for Units
  1018. * Add command SetOption4 as replacement for MqttResponse
  1019. * Add command SetOption8 as replacement for TempUnit
  1020. * Add command SetOption10 On|Off to select between Offline or Removing previous retained topic (#417, #436)
  1021. *
  1022. * 5.0.6 20170510
  1023. * Remove hyphen in case of a single DHT sensor connected (#427)
  1024. * Add command MqttRetry <seconds> to change default MQTT reconnect retry timer from minimal 10 seconds (#429)
  1025. *
  1026. * 5.0.5 20170508
  1027. * Add command FullTopic with tokens %topic% (replaced by command Topic value) and
  1028. * %prefix% (replaced by command Prefix<x> values) for more flexible topic definitions (#244)
  1029. * See wiki > MQTT Features https://github.com/arendst/Sonoff-Tasmota/wiki/MQTT-Features for more information
  1030. *
  1031. * 5.0.4 20170505
  1032. * Add Sonoff Pow Energy Total up to 40 MWh
  1033. * Add command EnergyReset 1|2|3 to reset Energy counters (#406)
  1034. * Fix Domoticz Energy logging (#411)
  1035. * Add command PowerOnState 4 to keep relay always on and disabling all power control (#418)
  1036. *
  1037. * 5.0.3 20170504
  1038. * Add command SensorRetain on|off to enable retaining of mqtt message tele/sonoff/SENSOR (#74)
  1039. * Change WifiConfig timeout from 60 seconds to 180 seconds (#212)
  1040. * Change Sonoff Touch command Ledstate functionality by turning led on if power is off (#214)
  1041. * Add 4 seconds delay after power on before enabling button to workaround Wemos D1 mini RTS circuit (#380)
  1042. *
  1043. * 5.0.2 20170503
  1044. * Reset SaveData, SaveState and MqttResponse to default values due to rearranging settings
  1045. * Moved some settings to flag area
  1046. * Add command TempUnit Celsius|Fahrenheit for selecting Celsius or Fahrenheit (#347)
  1047. * Add command TempRes 0..3 for selecting Temperature Resolution (#347)
  1048. * Add command HumRes 0..3 for selecting Humidity Resolution (#347)
  1049. * Add command PressRes 0..3 for selecting Pressure Resolution (#347)
  1050. * Add command EnergyRes 0..5 for selecting Energy Resolution (#347)
  1051. * Add "TempUnit":"C|F" to sensor JSON output (#347)
  1052. * Add support for up to three DHT type sensors each using a different GPIO (#339, #404)
  1053. *
  1054. * 5.0.1 20170429
  1055. * Adjust Sonoff SC messages to prepare for display feature
  1056. * Move static data from RAM to Flash
  1057. * Fix PowerOnState for some devices not reporting "Power on" state (#284, #380, #383)
  1058. *
  1059. * 5.0.0 20170425
  1060. * Memory status message update
  1061. * Fix setting migration to better preserve settings during move (#382)
  1062. * Best practice is first doing a Backup Configuration before installing version 5.0.0
  1063. * Reset save count after setting move
  1064. * Start using new linker script without SPIFFS
  1065. *
  1066. * 4.2.0 20170424
  1067. * Prepare for SPIFFS removal by moving settings to EEPROM area
  1068. * Fix compilation error when webserver is disabled (#378)
  1069. *
  1070. * 4.1.3 20170410
  1071. * Add user configuarble GPIO to module S20 Socket and Slampher
  1072. * Add support for Sonoff SC (#112)
  1073. * Set PWM frequency from 1000Hz to 910Hz as used on iTead Sonoff Led firmware (#122)
  1074. * Set Sonoff Led unconfigured floating outputs to 0 to reduce exceptions due to power supply instabilities (#122)
  1075. * Add Access Point Mac Address to Status 11 and Telemetry (#329)
  1076. * Fix DS18B20 negative temperature readings (#334)
  1077. *
  1078. * 4.1.2 20170403
  1079. * Rename Unrecognised command to Unknown command
  1080. * Remove all command lists
  1081. * Remove command SmartConfig (superseded by WifiConfig)
  1082. * Fix boot loop when selecting module Sonoff 4CH or Sonoff Touch on non ESP8285 hardware
  1083. * Add optional support for Toshiba and Mitsubishi HVAC IR control (needs updated IRremote8266 library) (#83, #257)
  1084. * Add all configured switches to Domoticz Configuration web page (#305)
  1085. * Fix compile error when selecting WS2812 DMA (#313)
  1086. *
  1087. * 4.1.1 20170329
  1088. * Fix default Telemetry for command Prefix3
  1089. * Fix webserver Module parameters for disabled select
  1090. * Fix sensor status for enabled switches
  1091. * Remove Light as alternative for Power (save code space)
  1092. * Remove migration option from pre V3 (code cleanup)
  1093. * Remove unofficial SPIFFS support (code cleanup)
  1094. * Remove command list when unknown command is entered (save code space)
  1095. * Rename Status11 json from StatusPWR to unique StatusSTS
  1096. * Rename command Gateway to IPAddres2, Subnetmask to IPAddress3 and DnsServer to IPAddress4 (save code space)
  1097. * Add Command MqttResponse to select either command or RESULT topic as response (#258)
  1098. * Add command StateText1 to StateText3 to assign MQTT_STATUS_OFF, MQTT_STATUS_ON and MQTT_CMND_TOGGLE respectively (#286)
  1099. * Remove restart after IPAddress changes (#292)
  1100. * Add support for MAX31850 in xsns_ds18x20.ino (#295)
  1101. * Fix possible uptime update misses (#302)
  1102. *
  1103. * 4.1.0 20170325
  1104. * Change static IP addresses in user_config.h from list (using commas) to string (using dots)
  1105. * Unify display result of commands Modules, Module and Gpios
  1106. * Rewrite Module selection web page to bring size down from 18651 to 4319 bytes (!) (#234, #240)
  1107. * Add basic support for (Lixada) H801 RGBWW controller (#252)
  1108. * Add command Prefix1 to Prefix3 to assign SUB_PREFIX, PUB_PREFIX and PUB_PREFIX2 respectively (#255)
  1109. * Add static ip addresses to flash (#262)
  1110. * Add commands IpAddress, Gateway, Subnetmask and DnsServer to select static ip addresses (#273)
  1111. *
  1112. * 4.0.8 20170321
  1113. * Fix entering non-numeric webpassword
  1114. * Force selection between TLS or Webserver due to memory restraint (#240)
  1115. * Allow entering empty string using "0" for selected commands (#242)
  1116. * Fix exception when posting commands to web console containing % (#250)
  1117. *
  1118. * 4.0.7 20170319
  1119. * Increased Sonoff Led PWM frequency from 432 to 1000
  1120. * Fix possible watch dog reboot after changing module type on web page
  1121. * Fix reporting of GPIO usage from web page
  1122. * Fix Sonoff Led blank during firmware upgrade
  1123. * Fix Sonoff Led flicker and possible flash corruption by using latest Arduino-esp8266 versions
  1124. * of pwm core files included in sonoff library (#211)
  1125. * Add PWM output control with commands PWM1 to PWM5 using user selectable GPIOs (#211)
  1126. * Fix exceptions due to low values of commands HlwPCal (10000), HlwUCal (1000) and HlwICal (2500) (#223)
  1127. * Add Switch state to sensor status (#227, #233)
  1128. * Add user configuarble GPIO to module Sonoff Touch (#228)
  1129. * Add define WEB_PORT to user_config.h to change default web server port from 80 (#232)
  1130. * Fix failed Ota Firmware upgrade started from Web page (#235)
  1131. *
  1132. * 4.0.6 20170316
  1133. * Fix to better find device by Wifi hostname
  1134. * Fix compile error when some I2C devices are disabled
  1135. * Add (experimental) support for SHT1X emulating I2C (#97)
  1136. * Add ADC to ElectroDragon (#203)
  1137. * Add support for Sonoff Dev (#206)
  1138. *
  1139. * 4.0.5 20170314
  1140. * Add command Status 11 to show power status with Vcc if define USE_ADC_VCC is enabled (default)
  1141. * Add ADC input to Sonoff SV and Wemos D1 mini - Needs recompile with define USE_ADC_VCC disabled (#137)
  1142. * Add MQTT host:port to timeout message (#199)
  1143. *
  1144. * 4.0.4 20170312
  1145. * Add pulse timers for up to 4 relays (#106)
  1146. * Fix Sonoff Led power state when dimmer or color is 0 (#176)
  1147. * Add command NtpServer<x> to configure up to three NTP servers (#177)
  1148. * Delete module User Test as module Wemos D1 mini has same/more user configurable GPIO (#178)
  1149. * Add more user configurable GPIO to module ElectroDragon (#183)
  1150. *
  1151. * 4.0.3 20170309
  1152. * Renamed Module NodeMCU to WeMos D1 mini
  1153. * Add GPIO1 as user option to some modules
  1154. * Add Buttons, Relays and Leds to user configurable options (#159)
  1155. * Add description on Module parameters web page to some well known GPIOs (#107, #171)
  1156. *
  1157. * 4.0.2 20170308
  1158. * Restore correct seriallog level after Serial logging was disabled
  1159. * Add simple dimmer slider to Sonoff Led web page
  1160. * Reduced root webpage size by 31%
  1161. * Expand Status 2 with Build date/time and core version
  1162. * Fix webserver redirection when not in WifiManager mode (#156)
  1163. * Add command ButtonRestrict On/Off to restrict access to button hold and button multi press options above 2 (#161)
  1164. * Fix DS18S20 negative temperature readings (#165)
  1165. * Fix crlf compilation error due to bad syntax (#144, #167)
  1166. *
  1167. * 4.0.1 20170305
  1168. * Fix char default sizes and set MESSZ to 360 (#143)
  1169. * Fix SerialLog setting status
  1170. * Disable syslog when emulation is active
  1171. * Add DS18B20 web page display refresh
  1172. *
  1173. * 4.0.0 20170303
  1174. * Add define to remove config migration code for versions below 3.0 (See Wiki-Upgrade-Migration path)
  1175. * Free memory by switching from String to char[]
  1176. * Raised Sonoff Led PWM frequency from 200Hz to 432Hz in search of stability (hardware watchdog timeouts) (#122)
  1177. * Increase message size and suggested minimum MQTT_MAX_PACKET_SIZE to 512 (#114, #124)
  1178. * Remove runtime warning message regarding MQTT_MAX_PACKET_SIZE too small as it is now moved to compile time (#124)
  1179. * Fix possible panics with web console and http commands while UDP syslog is active (#127)
  1180. * Add optional static IP address (#129)
  1181. * Add define ENERGY_RESOLUTION in user_config.h to allow user control over precision (#136)
  1182. *
  1183. * 3.9.22 20170228
  1184. * Update web console
  1185. * Fix Status 4 JSON message
  1186. * Add Exception info during restart if available
  1187. * Add osWatch service to detect loop hangs that might happen during (OTA) upgrades
  1188. * Add WiOn support for relay and switch only (#82, #102)
  1189. * Allow for user specified relay count up to four in sonoff_template.h (#109)
  1190. * Add support for HTU21 compatible I2C sensors SI7013, SI7020 and SI7021 (#118)
  1191. * Add NodeMCU or Wemos configuration option (#119)
  1192. *
  1193. * 3.9.21 20170224
  1194. * Add ajax to web root page and web console (#79)
  1195. * Add commands SwitchMode1..4 and enable user switches 2, 3 and 4 (#84, #88)
  1196. * Fix MQTT upgrade when webserver is active
  1197. *
  1198. * 3.9.20 20170221
  1199. * Add minimal basic authentication to Web Admin mode (#87)
  1200. * Fix Hue and add HSB support (#89)
  1201. *
  1202. * 3.9.19 20170219
  1203. * Sonoff Led: Made GPIO04, 05 and 15 available for user
  1204. * Sonoff Led: Add commands Fade, Speed, WakupDuration, Wakeup and LedTable
  1205. *
  1206. * 3.9.18 20170218
  1207. * Fix ledstate 0 to turn off led
  1208. * Fix Sonoff Led dimmer range (#16)
  1209. * Change Sonoff Led command Dimmer to act on both cold and warm color
  1210. * Add Sonoff Led command Color CCWW where CCWW are hexadecimal values fro 00 - FF
  1211. * Reduce Sonoff Led flickering by disabling interrupts during flash save and disabling
  1212. * Led during OTA upgrade and Web upload (#16)
  1213. *
  1214. * 3.9.17 20170217
  1215. * Fix possible ArduinoJSON related memory fragmentation
  1216. * Changed console logging using less memory
  1217. * Add GPIO04 as user selectable for Sonoff Dual (#75)
  1218. *
  1219. * 3.9.16 20170214
  1220. * Update latching relay handler
  1221. * Add support for IR led using IRremoteESP8266 library (#59)
  1222. * Add Hue argument passing using ArduinoJSON library (#59)
  1223. *
  1224. * 3.9.15 20170213
  1225. * Change JSON float values from string to number according to http://json.org (#56)
  1226. * Add support for exs latched relay module https://ex-store.de/ESP8266-WiFi-Relay-V31 (#58)
  1227. * Add support for inverted relays
  1228. * Changed MAX_LOG_LINES from 70 to 60 to preserve memory
  1229. *
  1230. * 3.9.14 20170211
  1231. * Add False and True as alternatives for 0/Off and 1/On (#49)
  1232. * Fix Status10 JSON format (#52)
  1233. * Fix DS18x20 using OneWire library (#53)
  1234. *
  1235. * 3.9.13 20170210
  1236. * Add FlashChipMode to Status 4
  1237. * Removed redundant DHT2 option and code
  1238. * Add Sonoff SV GPIO pin 05 configuration (#40)
  1239. * Add configuration file backup and restore via web page
  1240. * Fix latency due to light_sleep mode even if sleep was set to zero (#50)
  1241. *
  1242. * 3.9.12 20170208
  1243. * Fix compile error when webserver is disabled (#30)
  1244. * Fix possible ESP8285 flash problem by updating Flash Chip Mode to DOUT during OTA upload
  1245. * Fix hostname issues by not allowing user entry of string formatting and removing from user_config.h (#36)
  1246. *
  1247. * 3.9.11 20170204
  1248. * Fix command I2Cscan
  1249. * Fix not allowed spaces in Topic, ButtonTopic and SwitchTopic
  1250. * Make all TELEMETRY, STATUS and COMMAND message topics unique (#4)
  1251. * Advertise command topic to be used by iobroker (#299)
  1252. * Fix butten (non)detection if no GPIO_KEY1 is defined (#13)
  1253. * Change WeMo serialnumber from 7 decimal chars to 8 hexadecimal chars (#18)
  1254. * Update web page with Build Date/Time, Emulation and mDNS Discovery and Advertise information (#21)
  1255. *
  1256. * 3.9.10 20170130
  1257. * Add WS2812 Color Type selection (RGB or GRB) to user_config.h (#7)
  1258. * Hue api changes to support HUE App(s) (#8)
  1259. *
  1260. * 3.9.9 20170130
  1261. * Add command status 10 showing sensor data
  1262. * Fix hlw status messages if hlw is disabled
  1263. *
  1264. * 3.9.8 20170130
  1265. * Remove GPIO07 and GPIO08 from user selectable (#5)
  1266. *
  1267. * 3.9.7 20170129
  1268. * Fix possible WS2812 exceptions when using emulation
  1269. * Add command Emulation to dynamic configure Belkin WeMo and Hue Bridge for Alexa
  1270. *
  1271. * 3.9.6 20170129
  1272. * Add dynamic sleep for WS2812 animation (#1)
  1273. *
  1274. * 3.9.5 20170128
  1275. * Fix error message in case of wrong Domoticz command
  1276. *
  1277. * 3.9.4 20170127
  1278. * Fix Sonoff Dual Relay switching (#287)
  1279. *
  1280. * 3.9.3 20170127
  1281. * Add confirmation before Restart via webpage
  1282. * Expand Domoticz Configuration webpage with Key, Switch and Sensor Index and
  1283. * add commands DomoticzSwitchIdx and DomoticzSensorIdx (#86) (#174) (#219)
  1284. * Fix default DHT11 sensor driver selection
  1285. * Fix LedPower status after button press (#279)
  1286. * Add command Sleep 0 - 250 mSec for optional light sleep mode to lower energy consumption (#272)
  1287. * (Expect overall button/key/switch misses and wrong values on Sonoff Pow)
  1288. * Add Hue brightness extension (#281)
  1289. * Fix Hue brightness and change to call by reference (#283)
  1290. *
  1291. * 3.9.2 20170124
  1292. * Add confirmation before Reset Configuration via webpage (#244)
  1293. * Add WS2812 features (see Wiki commands)
  1294. *
  1295. * 3.9.1 20170124
  1296. * Change PowerOnState function to only trigger when Power On (and not just restart) (#238)
  1297. * Move HLW interrupts back to RAM and make WS2812_DMA optional as it generates Exception on Pow (#264)
  1298. * Add charset=utf-8 to webpages (#266)
  1299. * Update Hue emulation (#268)
  1300. * Fix status module number
  1301. * Add support for domoticz Dimmer on Sonoff_Led and WS2812
  1302. * Fix possible ESP8285 flash problem by updating Flash Chip Mode to DOUT during web upload
  1303. *
  1304. * 3.2.6a 20170120
  1305. * Fix Sonoff Pow compile error (#255)
  1306. * Move HLW interrupts back to ROM (Needed for WS2812 DMA interrupts)
  1307. * Removed all IO config from user_config.h as this will be done by commands or webpage
  1308. * Removed MessageFormat and supports JSON only except POWER/LIGHT status
  1309. * Add command LedPower to control main led (#247)
  1310. * Add more FriendlyNames for Hue (#254)
  1311. * Add DMA support for WS2812 when using pin 3 while other pins work just as well in my case...
  1312. * Add HUE emulation for Alexa (#229)
  1313. * Add basic WS2812 support (#229)
  1314. * Fix Wemo when MQTT is disabled (#245)
  1315. * Revert ButtonTopic and change SwitchTopic1 - 4 to one SwitchTopic
  1316. * Rename MqttUnits to Units
  1317. * Add Mqtt command to enable/disable MQTT
  1318. *
  1319. * 3.2.2a 20170115
  1320. * Add dynamic (Sonoff) Module, user GPIO and sensor selection (one size fits (almost) all)
  1321. * Add support for Sonoff LED
  1322. * Add Seriallog disable after 600 seconds for Sonoff Dual and 4 Channel
  1323. * Add ButtonTopic2 - 4, SwitchTopic1 - 4 and SwitchRetain
  1324. *
  1325. * 3.2.2 20170113
  1326. * Fix PowerOnState 2 functionality after re-applying power (#230)
  1327. *
  1328. * 3.2.1 20170113
  1329. * Fix some failed command decoding (#228)
  1330. * Removed passwords from status messages (#216)
  1331. *
  1332. * 3.2.0 20170111
  1333. * Add I2C BH1750 sensor (#222)
  1334. * Sensor rewrite preparing for online selection
  1335. *
  1336. * 3.1.16 20170109
  1337. * Fix Domoticz possible error condition
  1338. * Remove Wifi password from connection message (#216)
  1339. * Add Configure Other menu item to web page (#209)
  1340. * Add command FriendlyName, field Friendly Name and define FRIENDLY_NAME to be used by Alexa
  1341. * eliminating current use of MQTT_CLIENT_ID (#209)
  1342. * Add friendlyname to webpage replacing former hostname
  1343. *
  1344. * 3.1.15 20170108
  1345. * Fix Domoticz send key regression with Toggle command
  1346. *
  1347. * 3.1.14 20170107
  1348. * Add support for command TOGGLE (define MQTT_CMND_TOGGLE) when ButtonTopic is in use and not equal to Topic (#207)
  1349. *
  1350. * 3.1.13 20170107
  1351. * Fix web console command input when SUB_PREFIX contains '/' (#152)
  1352. * Add command response to web command (#200)
  1353. * Add option to disable MQTT as define USE_MQTT in user_config.h (#200)
  1354. *
  1355. * 3.1.12 20170106
  1356. * Add OTA retry to solve possible HTTP transient errors (#204)
  1357. * Fix MQTT host discovery
  1358. *
  1359. * 3.1.11 20170105
  1360. * Add mDNS to advertise webserver as <hostname>.local/
  1361. *
  1362. * 3.1.10 20170105
  1363. * Fix ButtonTopic when SUB_PREFIX = PUB_PREFIX
  1364. * Add workaround for possible MQTT queueing when SUB_PREFIX = PUB_PREFIX
  1365. * Add optional MQTT host discovery using define USE_DISCOVERY in user_config.h (#115)
  1366. *
  1367. * 3.1.9 20170104
  1368. * Fix Power Blink start position (toggled)
  1369. * Change PulseTime increments: 1 .. 111 in 0.1 sec (max 11 seconds) and 112 .. 64900 in seconds (= 12 seconds until 18 hours) (#188)
  1370. * Add support for SUB_PREFIX = PUB_PREFIX (#190)
  1371. *
  1372. * 3.1.8 20170103
  1373. * Add retain flag to LWT offline and only send "tele/sonoff/LWT Offline" (#179)
  1374. * Change retained LWT Online message to only send "tele/sonoff/LWT Online"
  1375. *
  1376. * 3.1.7 20161231
  1377. * Add retained message LWT Online when sonoff makes MQTT connection (#179)
  1378. *
  1379. * 3.1.6 20161230
  1380. * Add blinking using commands BlinkTime, BlinkCount and Power Blink|3|BlinkOff|4 (#165)
  1381. *
  1382. * 3.1.5 20161228
  1383. * Fix serial space command exception (28)
  1384. *
  1385. * 3.1.4 20161227
  1386. * Fix MQTT subscribe regression exception (3) (#162)
  1387. * Fix serial empty command exception (28)
  1388. *
  1389. * 3.1.3 20161225
  1390. * Extent Domoticz configuration webpage with optional indices (#153)
  1391. * Fix multi relay legacy tele message from tele/sonoff/2/POWER to tele/sonoff/POWER2
  1392. * Add support for iTead Motor Clockwise/Anticlockwise
  1393. *
  1394. * 3.1.2 20161224
  1395. * Extent command PowerOnState with toggle at power on (option 2 is now option 3!) (#156)
  1396. *
  1397. * 3.1.1 20161223
  1398. * Add support for Sonoff Touch and Sonoff 4CH (#40)
  1399. * Update DomoticzIdx and DomoticzKeyIdx with relay/key index (DomoticzIdx1/DomoticzKeyIdx1)
  1400. * Add command PowerOnState to control relay(s) at power on (#154)
  1401. *
  1402. * 3.1.0 20161221
  1403. * Add Sonoff Pow measurement smoothing
  1404. * Fix serial command topic preamble error (#151)
  1405. * Fix 2.x to 3.x migration inconsistencies (#146)
  1406. *
  1407. * 3.0.9 20161218
  1408. * Add Sonoff Pow voltage reading when relay is on but no load present (#123)
  1409. *
  1410. * 3.0.8 20161218
  1411. * Add temperature conversion to Fahrenheit as option in user_config.h (TEMP_CONVERSION) (#145)
  1412. *
  1413. * 3.0.7 20161217
  1414. * Add user_config_override.h to be used by user to override some defaults in user_config.h (#58)
  1415. * Fix Sonoff Pow low power (down to 4W) intermittent measurements (#123)
  1416. *
  1417. * 3.0.6 20161217
  1418. * Fix MQTT_CLIENT_ID starting with % sign as in "%06X" (#142)
  1419. * Add auto power off after PulseTime * 0.1 Sec to relay 1 (#134)
  1420. *
  1421. * 3.0.5 20161215
  1422. * Add more control over LED with command LedState options (#136, #143)
  1423. * LED_OFF (0), LED_POWER (1), LED_MQTTSUB (2), LED_POWER_MQTTSUB (3), LED_MQTTPUB (4), LED_POWER_MQTTPUB (5), LED_MQTT (6), LED_POWER_MQTT (7)
  1424. * Add option WIFI_RETRY (4) to command WifiConfig to allow connection retry to other AP without restart (#73)
  1425. *
  1426. * 3.0.4 20161211
  1427. * Fix intermittent Domoticz update misses (#133)
  1428. *
  1429. * 3.0.3 20161210
  1430. * Fix compiler warnings (#132)
  1431. * Remove redundant code
  1432. * Fix Domoticz pushbutton support
  1433. *
  1434. * 3.0.2 20161209
  1435. * Add pushbutton to SwitchMode (#130)
  1436. *
  1437. * 3.0.1 20161209
  1438. * Fix initial config
  1439. *
  1440. * 3.0.0 20161208
  1441. * Migrate and clean-up flash layout
  1442. * Settings from version 2.x are saved but settings from version 3.x can not be used with version 2.x
  1443. * Change SEND_TELEMETRY_RSSI to SEND_TELEMETRY_WIFI and add AP and SSID to telemetry
  1444. * Split long JSON messages
  1445. * Fix inconsistent status messages
  1446. * Fix all status messages to return JSON if enabled
  1447. * Remove relay index in cmnd/sonoff/<relay>/POWER now changed
  1448. * to cmnd/sonoff/POWER for single relay units
  1449. * and cmnd/sonoff/POWER<relay> for multi relay units like Sonoff dual
  1450. * Add retain option to Power/Light status controlled by command PowerRetain On|Off (#126)
  1451. *
  1452. * 2.1.2 20161204
  1453. * Add support for second wifi AP (#73)
  1454. * Update command WifiConfig
  1455. * Fix possible WifiManager hang
  1456. *
  1457. * 2.1.1a 20161203
  1458. * Fix scan for wifi networks if WeMo is enabled
  1459. * Fix syslog setting using web page
  1460. *
  1461. * 2.1.1 20161202
  1462. * Add support for ElectroDragon second relay and button (only toggle with optional ButtonTopic) (#110)
  1463. *
  1464. * 2.1.0 20161202
  1465. * Add optional EXPERIMENTAL TLS to MQTT (#49)
  1466. * Fix MQTT payload handling (#111)
  1467. * Optimzed WeMo code
  1468. *
  1469. * 2.0.21a 20161201
  1470. * Fix WeMo PowerPlug emulation
  1471. *
  1472. * 2.0.21 20161130
  1473. * Add Belkin WeMo PowerPlug emulation enabled with USE_WEMO_EMULATION in user_config.h (Heiko Krupp) (#105, #109)
  1474. *
  1475. * 2.0.20 20161130
  1476. * Relax MQTTClient naming but only allows hexadecimal uppercase numbers (#107)
  1477. * Add I2C support with command I2CScan
  1478. * Add I2C sensor driver for HTU21 as alternate sensor using TH10/16 connectors (Heiko Krupp) (#105)
  1479. * Add I2C sensor driver for BMP085/BMP180/BMP280/BME280 as alternate sensor using TH10/16 connectors
  1480. *
  1481. * 2.0.19a 20161127
  1482. * Add support for ButtonTopic and ButtonRetain to wall switch function
  1483. * Add pullup to SWITCH_PIN and command SwitchMode to syntax
  1484. *
  1485. * 2.0.18 20161126
  1486. * Add SUB_PREFIX multi level support allowing 'cmnd' or 'cmnd/level2/level3'
  1487. * Add wall switch function to GPIO14 and command SwitchMode (Alex Scott) (#103)
  1488. *
  1489. * 2.0.17 20161123
  1490. * Calibrate HLWPCAL from 12345 to 12530
  1491. * Add alternative sensor driver DHT2 using Adafruit DHT library
  1492. * Add define MESSAGE_FORMAT to user_config.h
  1493. * Throttle console messages
  1494. * Shorten JSON messages
  1495. * Fix possible Panic
  1496. * Fix User mode webserver security
  1497. *
  1498. * 2.0.16 20161118
  1499. * Add alternative sensor driver DS18x20 using OneWire library (#95)
  1500. * Change sensor MQTT message from tele/sonoff/TEMPERATURE to tele/sonoff/DHT/TEMPERATURE or
  1501. * tele/sonoff/DS18B20/TEMPERATURE or tele/sonoff/DS18x20/1/TEMPERATURE
  1502. * Add sensors to root webpage and auto refresh every 4 seconds (#92)
  1503. * Add optional JSON messageformat to all telemetry data
  1504. * Enforce minimum TelePeriod to be 10 seconds
  1505. * Fix Energy Yesterday reset after restart
  1506. * Add Energy Today restore after controlled restart
  1507. *
  1508. * 2.0.15 20161116
  1509. * Change TODAY_POWER and PERIOD_POWER to TODAY_ENERGY and PERIOD_ENERGY
  1510. * Fix serial regression
  1511. * Fix syslog hangs when loghost is unavailable
  1512. *
  1513. * 2.0.14 20161115
  1514. * Add HLW threshold delay
  1515. * Fix HLW intermittent current deviation
  1516. * Fix button functionality during wificonfig
  1517. * Add CRC check to DS18B20 sensor (#88)
  1518. *
  1519. * 2.0.13 20161113
  1520. * Add additional upload error code descriptions
  1521. * Add PlatformIO support (#80)
  1522. *
  1523. * 2.0.12 20161113
  1524. * Fix Serial and Web response regression when no MQTT connection available
  1525. * Fix Sonoff Dual power telemetric data for second relay
  1526. * Removed MQTT password from Information web page
  1527. * Hide MQTT password from Configure MQTT web page
  1528. *
  1529. * 2.0.11 20161111
  1530. * Rewrite button and web toggle code
  1531. * Fix NTP sync
  1532. * Add HLW calibration commands HLWPCAL, HLWUCAL and HLWICAL (need define USE_POWERCALIBRATION)
  1533. * Fix power threshold tests
  1534. *
  1535. * 2.0.10 20161109
  1536. * Add additional Domoticz define (#63)
  1537. * Add defines MQTT_STATUS_ON and MQTT_STATUS_OFF in user_config.h to select status On/Off string
  1538. * Fix status response differences (#65)
  1539. * Fix divide by zero exception (#70)
  1540. * Fix syslog loop exception
  1541. *
  1542. * 2.0.9 20161108
  1543. * clarify MODULE in user_config.h
  1544. * Fix hlw false values
  1545. *
  1546. * 2.0.8 20161108
  1547. * Add initial status after power on
  1548. * Seperate driver files
  1549. * Fix hlw code and calibrate Pow
  1550. * Move user config defines to user_config.h (#61)
  1551. *
  1552. * 2.0.7 20161030
  1553. * Make Ticker mandatory
  1554. * Add Domoticz support (Increase MQTT_MAX_PACKET_SIZE to 400) (#54)
  1555. * Add command MessageFormat 0|1 to select either legacy or JSON output
  1556. *
  1557. * 2.0.6 20161024
  1558. * Add Sonoff Pow power factor
  1559. * Initial support for up to four relays using iTEAD PSB (4Channel)
  1560. * - Currently only supports one button (All buttons behave the same)
  1561. * - Use command MODEL 4 to select four relay option
  1562. * (After first power on it will support 2 relays like Sonoff Dual)
  1563. * Fix ledstate
  1564. * Add command Status 9 to display Sonoff Pow thresholds
  1565. * Add commands PowerLow, PowerHigh, VoltageLow, VoltageHigh, CurrentLow and CurrentHigh for use
  1566. * with Sonoff Pow thresholds
  1567. *
  1568. * 2.0.5 20161018
  1569. * Add updates to user_config.h - moved SEND_TELEMETRY_DS18B20 and SEND_TELEMETRY_DHT to module area.
  1570. * As Sonoff TH10/16 does not have the logic installed for GPIO04 You'll have to select ONE of both
  1571. * Add Sonoff Pow support (experimental until Pow tested)
  1572. * Add command Status 8 to display Sonoff Pow energy values
  1573. * Add command MqttUnits On|Off to add units to values
  1574. * Change web main page header character size
  1575. * Change On/Off to ON/OFF status messages to satisfy openHAB
  1576. * Change TEMP to TEMPERATURE and HUM to HUMIDITY
  1577. *
  1578. * 2.0.4 20161009
  1579. * Add MQTT_BUTTON_RETAIN, SAVE_DATA and SAVE_STATE defines to user_config.h (#35)
  1580. * Update ButtonRetain to remove retained message(s) from broker when turned off
  1581. * Add Retain for second relay on Sonoff Dual
  1582. * Provide power status messages with device topic index if requested
  1583. *
  1584. * 2.0.3 20161008
  1585. * Update wifi initialization
  1586. * Add command BUTTONRETAIN for optional MQTT retain on button press (#35)
  1587. * Add command SAVESTATE to disable power state save. May be used with MQTT retain
  1588. *
  1589. * 2.0.2 20161006
  1590. * Fix wifi issue 2186
  1591. *
  1592. * 2.0.1 20161002
  1593. * Fix button press
  1594. *
  1595. * 2.0.0 20161002
  1596. * Update Sonoff TH10/16 sensor pins (My TH10 only has GPIO14 connected)
  1597. * Add full support for Sonoff dual
  1598. *
  1599. * 1.0.35 20160929
  1600. * Add more lines to console
  1601. * Add timeout and disable MQTT on web upload
  1602. * Add command SAVEDATA to control parameter save (for flash wear afficionados) (#30)
  1603. *
  1604. * 1.0.34 20160926
  1605. * Fix button press six and seven
  1606. * Add more information to webserver
  1607. *
  1608. * 1.0.33 20160915
  1609. * Better WPS error message
  1610. * Separate webserver code from support.ino into webserver.ino
  1611. * Fix webserver User by removing unwanted restart option
  1612. *
  1613. * 1.0.32 20160913
  1614. * Add Wifi Protected Setup (WPS) as third option for initial config
  1615. * Add command WIFICONFIG replacing deprecated command SMARTCONFIG
  1616. * Add option WIFICONFIG 3 to start WPSconfig
  1617. * Add option WIFICONFIG 0 to start saved Wifi config tool (WPSconfig, Smartconfig or Wifimanager)
  1618. * Change button behaviour - See Wiki
  1619. *
  1620. * 1.0.31 20160907
  1621. * Fix DS18B20 misread if teleperiod = 2
  1622. * Tuned sensor code
  1623. * Updated prefered ElectroDragon connection to Relay 1 and Button 1
  1624. * Moved SONOFF and ELECTRO_DRAGON port config to user_config.h
  1625. *
  1626. * 1.0.30 20160902
  1627. * Fix command TELEPERIOD 0
  1628. * Add ESP- tag to UDP log message for easy rsyslogd filtering
  1629. * Add ElectroDragon (Relay 2 only) functionality. Select with #define MODULE ELECTRO_DRAGON
  1630. * Add ? as null message alternative
  1631. * Add DHT temperature and humidity telemetry support. Enable with #define SEND_TELEMETRY_DHT
  1632. * Add DS18B20 temperature telemetry support. Enable with #define SEND_TELEMETRY_DS18B20
  1633. * Restrict HOSTNAME, MQTTCLIENT, TOPIC and BUTTONTOPIC in topic mode only
  1634. *
  1635. * 1.0.29 20160831
  1636. * Allow UPGRADE, OTAURL, RESTART, RESET, MQTTHOST, MQTTPORT, MQTTUSER, MQTTPASSWORD and WEBSERVER also in group mode
  1637. *
  1638. * 1.0.28 20160831
  1639. * Add webserver state to status 5
  1640. * Add optional PUB_PREFIX2 (tele) for telemetry usage
  1641. * Add command TELEPERIOD
  1642. * Fix syntax message
  1643. * Change memory status display
  1644. *
  1645. * 1.0.27 20160831
  1646. * Add sketch flash size
  1647. * Add console to webserver
  1648. * Add command weblog
  1649. * Change WifiManager web pages to minimal
  1650. * Change display default hostname and MQTT client id in webserver
  1651. * Change HTTP command interface to http://sonoff-1234/cm?cmnd=light 2
  1652. * Change HEARTBEAT to UPTIME
  1653. *
  1654. * 1.0.26 20160829
  1655. * Add define USE_WEBSERVER to disable web server code in source
  1656. * Add file upload as alternative for ota upload to webserver
  1657. * Add information to webserver
  1658. * Add command hostname
  1659. * Add command logport
  1660. * Change HTTP command interface to http://sonoff-1234/cmd?cmnd=light 2
  1661. * Change button behaviour with regards to Smartconfig and OTA upload. See README.md
  1662. * Enforce default hostname to either "%s-%04d" or user defined without any %
  1663. * Enforce default mqtt client id to either "DVES_%06X" or user defined without any %
  1664. *
  1665. * 1.0.25 20160822
  1666. * Remove config system halts to keep ota available
  1667. *
  1668. * 1.0.24 20160821
  1669. * Add test for MQTT_SUBTOPIC
  1670. * Change log range to LOG_LEVEL_ALL
  1671. * Change MQTT introduction messages
  1672. * Moved MQTT_MAX_PACKET_SIZE warning message to introduction messages
  1673. *
  1674. * 1.0.23 20160821
  1675. * Add option USE_SPIFFS to move config from flash to spiffs
  1676. * Add webserver with options 0 (off), 1 (user) and 2 (admin)
  1677. * Add HTTP command interface (http://sonoff-1234/c?cmnd=light 2)
  1678. * Add wifimanager countdown counter
  1679. * Add command line webpage
  1680. * Add relay control to wifimanager
  1681. * Add restart option 99 to force restart
  1682. * Fix wifi hostname
  1683. * Fix NETBIOS hostname problem by reducing default hostname length
  1684. * Fix possible exception if WIFI_HOSTNAME is changed
  1685. * Fix upgrade messages
  1686. * Reduce memory use by redesigning config routines
  1687. * Split syntax message
  1688. * Rename define SERIAL_IO to USE_SERIAL
  1689. *
  1690. * 1.0.22 20160814
  1691. * Add all MQTT parameters for configuration
  1692. * Add wifimanager to configure Wifi and MQTT via web server
  1693. * Change NTP time handling
  1694. * Fix Smartconfig parameter buffer overflow
  1695. * Fix PlatformIO warnings
  1696. *
  1697. * 1.0.21 20160808
  1698. * Remove semaphore as subscription flooding (more than 15 subscriptions per second) is managed by SDK (LmacRxBlk:1)
  1699. * Add optional RTC interrupt (define USE_TICKER) to keep RTC synced during subscription flooding
  1700. * Remove heartbeatflag
  1701. *
  1702. * 1.0.20 20160805
  1703. * Add semaphore to handle out of memory when too many subscriptions requested
  1704. * Use Daylight Saving (DST) parameters from user_config.h when timezone = 99
  1705. * Add status 7 option displaying RTC information
  1706. * Add ledstate to status 0
  1707. *
  1708. * 1.0.19 20160803
  1709. * Fix possible MQTT_CLIENT_ID induced Exception(28)
  1710. *
  1711. * 1.0.18 20160803
  1712. * Moved Cfg_Default
  1713. * Fix negative data handling
  1714. * Remove MQTT information from status 1 and add labels to status 1
  1715. * Add mac address to status 5
  1716. * Add MQTT ClientId, UserId and Password to status 6
  1717. *
  1718. * 1.0.17 20160731
  1719. * Better variable range checking
  1720. * Change ambiguous connection messages
  1721. * Add timestamp to serial message
  1722. *
  1723. * 1.0.16 20160729
  1724. * Moved wifi, rtc, syslog and config to support.ino
  1725. * Fixed button action when buttontopic is used. Introduced with 1.0.15
  1726. * Better buffer overflow checks (strlcpy)
  1727. *
  1728. * 1.0.15 20160728
  1729. * Removed pubsubclient config changes from sonoff.ino as it doesn't work
  1730. * reapply MQTT_MAX_PACKET_SIZE 256 and MQTT_KEEPALIVE 120 to PubSubClient.h
  1731. * Add status 0 option displaying all status messages
  1732. * Change MQTT_MAX_PACKET_SIZE from 1024 to 256
  1733. * Add buffer overflow checks (snprintf and strncpy)
  1734. * Implemented common string sizes
  1735. *
  1736. * 1.0.14 20160722
  1737. * Seperate user config from sonoff.ino to user_config.h (pucebaboon)
  1738. * Change defaults from sidnas2 to domus1
  1739. * Add MQTT status message as status 6 (pucebaboon)
  1740. * Add status type to message (pucebaboon)
  1741. * Add pubsubclient config changes to sonoff.ino (pucebaboon)
  1742. *
  1743. * 1.0.13 20160702
  1744. * Add Ledstate 1 option to show power state on led
  1745. *
  1746. * 1.0.12 20160529
  1747. * Allow disable of button topic using "0"
  1748. *
  1749. * 1.0.11 20160524
  1750. * Provide button response if MQTT connection lost
  1751. *
  1752. * 1.0.10 20160520
  1753. * Add optional button topic to assist external MQTT clients
  1754. * Change version notation
  1755. * Reset default values
  1756. *
  1757. * 1.0.9 20160503
  1758. * Add more blinks
  1759. * Add reset 2 option erasing flash
  1760. * Add status 5 option displaying network info
  1761. * Add syslog check for Wifi connection
  1762. * Resize MqttPublish log array
  1763. * Change Wifi smartconfig active from 100 to 60 seconds
  1764. * Update Wifi initialization
  1765. *
  1766. * 1.0.8 20160430
  1767. * Remove use of Wifi config data from SDK
  1768. * Add status 3 (syslog info) and status 4 (flash info)
  1769. * Add restart option to button (5 quick presses)
  1770. *
  1771. * 1.0.7 20160420
  1772. * Add UDP syslog support
  1773. * Change HOST command to MQTTHOST command
  1774. * Add commands SYSLOG, SERIALLOG and LOGHOST
  1775. * Change hostname to lower case to distinguise between open-sdk version
  1776. * Add support for ESP-12F used in my modified wkaku power socket switch
  1777. * Fix timezone command
  1778. * Add RTC month names for future use
  1779. * Modify button code
  1780. * Remove initialization errors by better use of MQTT loop
  1781. *
  1782. * 1.0.6 20160406
  1783. * Removed Wifi AP mode (#1)
  1784. * Add test for Arduino IDE version >= 1.6.8
  1785. * Fix RTC time sync code
  1786. *
  1787. * 1.0.5 20160310
  1788. * Initial public release
  1789. * Show debug info by selecting option from IDE Tools Debug port: Serial
  1790. */