5.12.0 20180209
* Change library PubSubClient.h define MQTT_MAX_PACKET_SIZE from 512 to
1000 for Home Assistant support
* Change relation of define MESSZ being dependent on PubSubClient.h
define MQTT_MAX_PACKET_SIZE
* Change command color parameter input checks to less strict for Home
Assistant support
* Change command Ina219Mode into command Sensor13
* Change commands HlwPCal, HlwUCal and HlwICal to PowerCal, VoltageCal
and CurrentCal to be used for both Pow and S31 calibration
* Change commands HlwPSet, HlwUSet and HlwISet to PowerSet, VoltageSet
and CurrentSet to be used for both Pow and S31 calibration
* Change uptime from hour to second resulting in a display of
123T13:45:21 where 123 is days
* Change module name Wemos D1 mini into Generic (#1220)
* Change HTML from width=100% to style=width:100% supporting HTML5
(#1358)
* Change OSWATCH_RESET_TIME (Blocked loop) from 30 to 120 seconds to
allow slow networks (#1556)
* Change WIFI_MANAGER_SEC into WIFI_CONFIG_SEC (#1616)
* Change function pointers code to save code space and memory (#1683)
* Change webserver argument processing gaining 5k code space (#1705)
* Change weblog memory usage (#1730, #1793, #1819)
* Update TasmotaSerial library to 1.1.0
* Update language files Italian (#1594), Dutch (#1723) and Spanish
(#1722)
* Fix Non-English JSON temperature unit attachement
* Fix Arilux RF induced exception by moving interrupt handler to iram on
non ESP8266/Arduino lib v2.3.0
* Fix truncated command names and wrong response for DomoticzSwitchIdx
(#1571)
* Fix %-sign issue as printf escape character in Humidity and Sonoff SC
(#1579)
* Fix DS18B20 temperature JSON decimal dot (#1561)
* Fix Energy JSON message (#1621)
* Fix IRSend parameter translation (#1636)
* Fix TSL2561 device detection (#1644, #1825)
* Fix BME680 teleperiod resistance measuring (#1647)
* Fix Energy Monitoring Energy Today and Energy Total reading after
restart (#1648)
* Fix IRReceive Data value (#1663)
* Fix Energy Monitoring Energy Period roll-over (#1688)
* Fix compiler warnings (#1774)
* Fix command PWM response if no PWM channel is configured (#1783)
* Add locale Decimal Separator to Web sensor page
* Add ColorTemperature to light status message
* Add command PowerOnState option 5 which inverts PulseTime and allows
for delayed always on after power on
* Add OtaMagic two step Web server OTA upgrade using filename-minimal
image if OTA free space is too small
* Add support for PMS5003 and PMS7003 particle concentration sensor
* Add command SetOption21 1 to allow Energy Monitoring when power is off
on Sonoff Pow and Sonoff S31 (#1420)
* Add Chinese language file (#1551)
* Add French language file (#1561)
* Add Spanish language file (#1589)
* Add HTTP Allow Cross Origin removed from ESP8266/Arduino lib v2.4.0
(#1572)
* 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)
* Add command State to retrieve device state information (same data as
teleperiod state and status 11 in slightly different JSON format)
* Add optional login to Webserver AP mode (#1587, #1635)
* Add command Sensor15 2 to start MHZ19(B) Zero Point Calibration
(#1643)
* Add support for Sonoff S31 Smart Socket with Power Consumption
Detection (#1626)
* Add command SetOption20 to allow update of Dimmer/Color/Ct without
turning power on (#1719, #1741)
* Add NTP sync time slot based on chip id (#1773)
* Add cursor pointer to web button (#1836)
5.11.0 20180107
* Minor webpage HTML optimizations (#1358)
* Updated
German translation (#1438)
* Change Sonoff Pow Energy MQTT data message
and consolidate Status 8 into Status 10
* Change ADS1115 default
voltage range from +/-2V to +/-6V (#1289)
* Change text to Active for 3
minutes (#1364)
* Change Wemo SetBinaryState to distinguish from
GetBinaryState (#1357)
* Change output of HTTP command to valid JSON
and Array only (#1363)
* Removed all MQTT, JSON and Command language
defines from locale files and set fixed to English (#1473)
* Renamed
commands Color2,3,4 to Color3,4,5
* Fix BME280 calculation (#1051)
*
Fix Sonoff Bridge missed learned key if learned data contains 0x55 (End
of Transmission) flag (#1095, #1294)
* Fix PWM initialization in
Dimmer/Color mode (#1321)
* Fix Wemo Emulation (#1357)
* Fix display
of build date and time in non-english locale (#1465)
* Fix Wemo and Hue
emulation by adding M-Search response delay (#1486)
* Add libraries
Adafruit_BME680-1.0.5, Adafruit_Sensor-1.0.2.02, TasmotaSerial-1.0.0 and
TSL2561-Arduino-Library
* Add command Color2 to set color while keeping
same dimmer value
* Add device function pointers
* Add support for
SenseAir S8 CO2 sensor
* Add color led signal to Carbon Dioxide (CO2)
sensors using defines CO2_LOW and CO2_HIGH in user_config.h
* Add
support for Domoticz Air Quality sensor to be used by MH-Z19(B) and
SenseAir sensors
* Add support for PZEM004T energy sensor
* Add
support for iTead SI7021 temperature and humidity sensor by
consolidating DHT22 into AM2301 and using former DHT22 as SI7021 (#735)
* Add support for BME680 using adafruit libraries (#1212)
* Add support
for MH-Z19(B) CO2 sensor (#561, #1248)
* Add multipress support and
more user configurable GPIO to Sonoff Dual R2 (#1291)
* Add support for
TSL2561 using adafruit library (#661, #1311)
* Add support for SHT3x
(#1314)
* Add support for Arilux LC06 (#1414)
* Add Italian language
file (#1449)
* Add 2nd Gen Alexa support to Wemo emulation discovery
(#1357, #1450)
* Add define for additional number of WS2812 schemes
(#1463)
5.10.0 20171201
* Upgrade library ArduinoJson to 5.11.2
* Upgrade
library IRRemoteEsp8266 to 2.2.1 + 2 commits but disabled some protocols
(code size reduction)
* Upgrade library NeoPixelBus to 2.2.9
* Upgrade
library OneWire to 2.3.3 + 6 commits and disabled CRC lookup-table
(#define ONEWIRE_CRC8_TABLE 0) (code size reduction)
* Update library
PubSubClient to 2.6 + 9 commits and additional delay (#790)
* Update
core_esp8266_wiring_digital.c to latest (staged) level
* Patch library
I2Cdevlib-Core for esp8266-core 2.4.0-rc2 compatibility
* Remove
command EnergyReset 1..3 now replaced by ENergyReset1 to EnergyReset3
*
Remove spaces in JSON messages (code size reduction)
* Renamed
xsns_05_ds18x20.ino to xsns_05_ds18x20_legacy.ino still using library
OneWire and providing dynamic sensor scan
* Fix possible iram1_0_seg
compile error by shrinking ICACHE_RAM_ATTR code usage
* Fix PWM
watchdog timeout if Dimmer is set to 100 or Color set to 0xFF (#1146)
*
Fix Sonoff Bridge Learn Mode hang caused by unrecognised RF code
(#1181)
* Fix blank console log window by using XML character encoding
(#1187)
* Fix wrong response name for command HlwISet (#1214)
* Fix
DHT type sensor timeout recognition by distinguish "signal already
there" from "timeout" (#1233)
* Add fixed color options 1..12 to
command Color
* Add + (plus) and - (minus) to commands Dimmer
(+10/-10), Speed and Scheme
* Add + (plus) and - (minus) to command
Color to select 1 out of 12 preset colors
* Add + (plus) and - (minus)
to command Ct to control ColdWarm led ColorTemperature (+34/-34)
* Add
commands EnergyReset1 0..42500, EnergyReset2 0..42500 and EnergyReset3
0..42500000
* to (Re)set Energy Today, Yesterday or Total respectively
in Wh (#406, #685, #1202)
* Add optional ADS1115 driver as alternative
for unsupported I2Cdevlib in esp8266-core 2.4.0-rc2
* Add support for
INA219 Voltage and Current sensor to be enabled in user_config.h with
define USE_INA219
* Add support for Arilux LC11 (Clearing RF home code
when selecting no Arilux module)
* Add support for WS2812 RGBW
ledstrips to be enabled in user_config.h with define USE_WS2812_CTYPE
(#1156)
* Add SettingsSaveAll routine to command SaveData to be used
before controlled power down (#1202)
* Add option PUSHBUTTON_TOGGLE
(SwitchMode 7) to allow toggling on any switch change (#1221)
* Add new
xdrv_05_ds18x20.ino free from library OneWire and add the following
features:
* Add support for DS1822
* Add forced setting of 12-bit
resolution for selected device types (#1222)
* Add read temperature
retry counter (#1215)
* Fix lost sensors by performing sensor probe at
restart only thereby removing dynamic sensor probe (#1215)
* Fix
sensor address sorting using ascending sort on sensor type followed by
sensor address
* Rewrite JSON resulting in shorter message allowing
more sensors in default firmware image:
*
"DS18B20-1":{"Id":"00000483C23A","Temperature":19.5},"DS18B20-2":{"Id":"0000048EC44C","Temperature":19.6}
* 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)
* Add clock support for more different
pixel counts (#1226)
* Add support for Sonoff Dual R2 (#1249)
* Add
FriendlyName to web page tab and add program information to web page
footer (#1275)
5.9.0 20171030
* Rewrite code (partly) using Google C++ Style Guide
(https://google.github.io/styleguide/cppguide.html)
* Rewrite code by using command lookup tables and javascript (client
side) web page expansions
* Change HTML/CSS to enable nicer form field entry
* Change default PWM assignments for H801 RGB(CW) led controller to
support optional Color/Dimmer control
* GPIO04 (W2) from GPIO_PWM2 to GPIO_USER to be user configurable
for GPIO_PWM5 (second White - Warm if W1 is Cold)
* GPIO12 (Blue) GPIO_PWM3 no change
* GPIO13 (Green) from GPIO_PWM4 to GPIO_PWM2
* GPIO14 (W1) from GPIO_PWM1 to GPIO_USER to be user configurable
for GPIO_PWM4 (first White - Cold or Warm)
* GPIO15 (Red) from GPIO_PWM5 to GPIO_PWM1
* Change default PWM assignments for MagicHome RGB(W) led controller to
support optional Color/Dimmer control
* GPIO05 (Green) from GPIO_PWM4 to GPIO_PWM2
* GPIO12 (Blue) from GPIO_PWM5 to GPIO_PWM3
* GPIO13 (White) GPIO_USER to be user configurable for GPIO_PWM4
(White - Cold or Warm)
* GPIO14 (Red) from GPIO_PWM3 to GPIO_PWM1
* Change default PWM assignment for Witty Cloud to support optional
Color/Dimmer control (#976)
* GPIO12 (Green) from GPIO_PWM4 to GPIO_PWM2
* GPIO13 (Blue) from GPIO_PWM5 to GPIO_PWM3
* GPIO15 (Red) from GPIO_PWM3 to GPIO_PWM1
* Change when another module is selected now all GPIO user configuration
is removed
* Change command name IRRemote to IRSend (#956)
* Remove Arduino IDE version too low warning as it interferes with
platformio.ini platform = espressif8266_stage
* Fix command FullTopic entry when using serial or console interface
* Fix possible UDP syslog blocking
* Fix minimum TelePeriod of 10 seconds set by web page
* Fix command GPIOx JSON response (#897)
* Fix inverted relay power on state (#909)
* Fix compile error when DOMOTICZ_UPDATE_TIMER is not defined (#930)
* Fix alignment of web page items in some browsers (#935)
* Fix setting all saved power settings to Off when SetOption0
(SaveState) = 0 (#955)
* Fix timezone range from -12/12 to -13/13 (#968)
* Fix Southern Hemisphere TIME_STD/TIME_DST (#968)
* Fix TLS MQTT SSL fingerprint test (#970, #808)
* Fix virtual relay status message used with Color/Dimmer control (#989)
* Fix command IRSend and IRHvac case sensitive parameter regression
introduced with version 5.8.0 (#993)
* Fix pressure calculation for some BMP versions regression introduced
with version 5.8.0i (#974)
* Fix Domoticz Dimmer set to same level not powering on (#945)
* Fix Blocked Loop when erasing large flash using command reset 2
(#1002)
* Fix relay power control when light power control is also configured as
regression from 5.8.0 (#1016)
* Fix Mqtt server mDNS lookup only when MqttHost name is empty (#1026)
* Add debug information to MQTT subscribe
* Add translations to I2Cscan
* Add translation to BH1750 unit lx
* Add light scheme options (Color cycle Up, Down, Random) and moving
WS2812 schemes up by 3
* Add Domoticz counter sensor to IrReceive representing Received IR
Protocol and Data
* Add option 0 to MqttHost to allow empty Mqtt host name
* Add support for Arilux AL-LC01 RGB Led controller (#370)
* Add esp8266 de-blocking to PubSubClient library (#790)
* Add Domoticz sensors for Voltage and Current (#903)
* Add platformio OTA upload support (#928, #934)
* Add warning to webpage when USE_MINIMAL is selected (#929)
* Add smoother movement of hour hand in WS2812 led clock (#936)
* Add support for Magic Home RGBW and some Arilux Led controllers (#940)
* Add command SetOption15 0 (default) for command PWM control or
SetOption15 1 for commands Color/Dimmer control to PWM RGB(CW) leds
(#941)
* Add Domoticz counter sensor to Sonoff Bridge representing Received RF
code (#943)
* Add support for Luani HVIO board
(https://luani.de/projekte/esp8266-hvio/) (#953)
* Add PWM initialization after restart (#955)
* Add IR Receiver support. Disable in user_config.h (#956)
* Add support for inverted PWM (#960)
* Add Sea level pressure calculation and Provide command Altitude (#974)
* Add support for up to 8 relays (#995)
* Add commands RfSync, RfLow, RfHigh, RfHost and RfCode to allow sending
custom RF codes (#1001)
* Add retain to ENERGY messages controlled by command SensorRetain
(#1013)
* Add commands Color2, Color3, Color4, Width2, Width3, Width4 and
SetOption16 to set Ws2812 Clock parameters (#1019)
* Add German language file (#1022)
* Add support for connecting to MQTT brokers without userid and/or
password (#1023)
* Add support for esp8266 core v2.4.0-rc2 (#1024)
* Add commands PwmRange 1,255..1023 and PwmFrequency 1,100..4000 (#1025)
* Add Polish language file (#1044, #1047)
* Add support for KMC 70011 Power Monitoring Smart Plug (#1045)
* Add support for VEML6070 I2C Ultra Violet level sensor (#1053)
* Add light turn Off Fade (#925)
* Add IrSend command option Panasonic as IrSend {"Protocol":"Panasonic",
"Bits":16388, "Data":<Panasonic data>}
* where 16388 is 0x4004 hexadecimal (#1014)
* Add retry counter to DHT11/21/22 sensors (#1082)
5.7.0 20170907
* Shrink module configuration webpage
* Fix settings order during startup to allow for displaying debug
messages
* Fix some string length issues
* Add more string length tests by using strncpy
* Add Ai-Thinker RGBW led (AiLight)
* Add Power check and add PulseTime to power check at startup (#526)
* Add Supla Espablo support (#755)
* Add more precision to Sonoff Pow period and power results using
command WattRes 0|1 (#759)
* Add basic internationalization and localization (#763)
* Add more Sonoff Pow range checking (#772)
* Fix invalid JSON (#786, #822)
* Add duplicate check to received RF signal within 2 seconds for Sonoff
Bridge (#810)
5.6.1 20170818
* Change module list order in webpage
* Fix Sonoff T1 1CH and 2CH configuration (#751)
*
* 5.6.0 20170818
* Fix Sonoff Pow intermittent exception 0
* Change Sonoff Pow sending Domoticz telemetry data only
* Add Ai-Thinker RGBW led (AiLight) (experimental)
* Add NeoPixelBus library to Sonoff Led for Hue support
* Add user configurable GPIO4 and GPIO5 to module Sonoff Bridge
* Add Sonoff B1 RGBCW led support with command Color RRGGBBCCWW (#676)
* Add command CT 152..500 to Sonoff Led and Sonoff B1 to control Color
Temperature
* Add Cold-Warm slider to web page for Sonoff Led and Sonoff B1
* Add CT parameter to Hue
* Add Sonoff T1 support (#582)
* Add AnalogInput0 if configured as Analog Input to webpage (#697, #746)
* Add command SetOption14 0|1 to enable interlock mode (#719, #721)
* Fix Mitsubishi HVAC IR power controll (#740)
5.5.1 20170805
* Fix Sonoff Rf Bridge issues
* Add Sonoff RF Bridge MQTT messages on received and learned RF signal
* Add command VoltRes 0|1 to select voltage resolution to 0.1 V (#654)
* Add averaging to Analog input (#686)
* Add Energy tele data on Sonoff Pow Threshold change (#688)
* Fix inconsistent property names in Messages (#690)
5.5.0 20170730
* Reduce code space by removing the following commands as they are
replaced by SetOption alternatives:
* SaveState = SetOption0
* ButtonRestrict = SetOption1
* Units = SetOption2
* MQTT = SetOption3
* MQTTResponse = SetOption4
* TempUnit = SetOption8
* Smoothing WS2812 animation poll, invert fade speed and max allowed
wakeup time down to 3000 seconds
* Fix initial button press detection
* Add support for Sonoff RF Bridge 433 using command RfKey
* Fix regression from 5.0.7 by increasing message buffer size from 360
to 368 to accomodate 4 x DS18x20 sensors (#637)
* Add GroupTopic to Topic test when using ButtonTopic/SwitchTopic to
send either ON/OFF or TOGGLE (#642)
* Adjust HLW calibration limits to accomodate HuaFan device and add
commands HlwPSet, HlwUSet and HlwISet (#654)
5.4.0 20170725
* Fix command reset regression introduced in 5.2.0
* Increase polling from 0.1 second to 0.05 second
* Add multipress to all buttons
* Fix button 1 double press behaviour on multi relay devices
* Add support for Hua Fan Smart Socket (#479)
* Add support for Sonoff 4ch Pro (#565)
* Add command SetOption13 1 to allow immediate action on single button
press
* (disables multipress, hold and unrestricted commands) (#587)
5.2.0 20170619
* Add command SetOption12 1 to disable newly released configuration
flash rotate to reduce flash wear
* Fix command CounterDebounce by removing test for active GPIO (#524)
* Add command SetOption33 1..250 to allow user configure POW
Max_Power_Retry count (#525)
5.1.7 20170616
* Prep removal of SetOptions alternatives
* Restore webpage upgrade error messages removed in 5.1.5
* Add hold button functionality to buttons 2 to 4
* Add command SetOption32 1..100 to set Key Hold Time from 0.1 seconds
to 10 seconds (#200)
* Allow slashes in Topic, GroupTopic, ButtonTopic and SwitchTopic (#507)
* Changed webpage form actions from post to get and use relative path
url (#434, #522)
5.1.6 20170606
* Shrink code
* Removed online configuration of Domoticz In and Domoticz Out MQTT
strings
* Removed commands DomoticzInTopic and DomoticzOutTopic
* Add define KEY_HOLD_TIME to configure button hold threshold before
sending MQTT Hold message
* Add command StateText4 to configure button MQTT Hold text (=
MQTT_CMND_HOLD)
* Add command SetOption11 0|1 to swap pushbutton single and double press
functionality (#200)
* Add command SwitchMode<x> 5 (PUSHBUTTONHOLD) and 6
(PUSHBUTTONHOLD_INV) (#489)
5.1.1 20170517
* Allow command FullTopic in group mode
* Prepare for more use of RTC memory
* Add independant WS2812 led string power control (#386, #390)
* Add command Counter<x> to control up to four GPIO falling edge
interrupt counters or timers (#459)
* Add command CounterType<x> to select between pulse counting or pulse
timing
* Add command CounterDebounce to select global counter debounce time in
mSec
5.1.0 20170513
* Fix Offline/Removal of retained topic when FullTopic is changed
* Add FullTopic to MQTT Configuration and Information web page
* Adde license model GPLv3 (#188)
5.0.7 20170511
* Fix possible exception 28 on empty command
* Add command SetOption0 as replacement for SaveState
* Add command SetOption1 as replacement for ButtonRestrict
* Add command SetOption2 as replacement for Units
* Add command SetOption4 as replacement for MqttResponse
* Add command SetOption8 as replacement for TempUnit
* Add command SetOption10 On|Off to select between Offline or Removing
previous retained topic (#417, #436)
5.0.6 20170510
* Remove hyphen in case of a single DHT sensor connecetd (#427)
* Add command MqttRetry <seconds> to change default MQTT reconnect retry
timer from minimal 10 seconds (#429)
5.0.5 20170508
* Add command FullTopic with tokens %topic% (replaced by command Topic
value) and
* %prefix% (replaced by command Prefix<x> values) for more flexible
topic definitions (#244)
* See wiki > MQTT Features
https://github.com/arendst/Sonoff-Tasmota/wiki/MQTT-Features for more
information
5.0.4 20170505
* Add Sonoff Pow Energy Total up to 40 MWh
* Add command EnergyReset 1|2|3 to reset Energy counters (#406)
* Fix Domoticz Energy logging (#411)
* Add command PowerOnState 4 to keep relay always on and disabling all
power control (#418)
5.0.3 20170504
* Add command SensorRetain on|off to enable retaining of mqtt message
tele/sonoff/SENSOR (#74)
* Change WifiConfig timeout from 60 seconds to 180 seconds (#212)
* Change Sonoff Touch command Ledstate functionality by turning led on
if power is off (#214)
* Add 4 seconds delay after power on before enabling button to
workaround Wemos D1 mini RTS circuit (#380)
5.0.2 20170503
* Reset SaveData, SaveState and MqttResponse to default values due to
rearranging settings
* Moved some settings flag area
* Add command TempUnit Celsius|Fahrenheit for selecting Celsius or
Fahrenheit (#347)
* Add command TempRes 0..3 for selecting Temperature Resolution (#347)
* Add command HumRes 0..3 for selecting Humidity Resolution (#347)
* Add command PressRes 0..3 for selecting Pressure Resolution (#347)
* Add command EnergyRes 0..5 for selecting Energy Resolution (#347)
* Add "TemperatureUnit":"C|F" to sensor JSON output (#347)
* Add support for up to three DHT type sensors each using a different
GPIO (#339, #404)
4.1.1 20170329
* Fix default Telemetry for command Prefix3
* Fix webserver Module parameters for disabled select
* Fix sensor status for enabled switches
* Remove Light as alternative for Power (save code space)
* Remove migration option from pre V3 (code cleanup)
* Remove unofficial SPIFFS support (code cleanup)
* Remove command list when unknown command is entered (save code space)
* Rename Status11 json from StatusPWR to unique StatusSTS
* Rename command Gateway to IPAddres2, Subnetmask to IPAddress3 and
DnsServer to IPAddress4 (save code space)
* Add Command MqttResponse to select either command or RESULT topic as
response (#258)
* Add command StateText1 to StateText3 to assign MQTT_STATUS_OFF,
MQTT_STATUS_ON and MQTT_CMND_TOGGLE respectively (#286)
* Remove restart after IPAddress changes (#292)
* Add support for MAX31850 in xsns_ds18x20.ino (#295)
* Fix possible uptime update misses (#302)
4.1.0 20170325
* Change static IP addresses in user_config.h from list (using commas)
to string (using dots)
* Unify display result of commands Modules, Module and Gpios
* Rewrite Module selection web page to bring size down from 18651 to
4319 bytes (!) (#234, #240)
* Add basic support for (Lixada) H801 RGBWW controller (#252)
* Add command Prefix1 to Prefix3 to assign SUB_PREFIX, PUB_PREFIX and
PUB_PREFIX2 respectively (#255)
* Add static ip addresses to flash (#262)
* Add commands IpAddress, Gateway, Subnetmask and DnsServer to select
static ip addresses (#273)
4.0.8 20170321
* Fix entering non-numeric webpassword
* Force selection between TLS or Webserver due to memory restraint
(#240)
* Allow entering empty string using "0" for selected commands (#242)
* Fix exception when posting commands to web console containing % (#250)
4.0.7 20170319
* Increased Sonoff Led PWM frequency from 432 to 1000
* Fix possible watch dog reboot after changing module type on web page
* Fix reporting of GPIO usage from web page
* Fix Sonoff Led blank during firmware upgrade
* Fix Sonoff Led flicker and possible flash corruption by using latest
Arduino-esp8266 versions
* of pwm core files included in sonoff library (#211)
* Add PWM output control with commands PWM1 to PWM5 using user
selectable GPIOs (#211)
* Fix exceptions due to low values of commands HlwPCal (10000), HlwUCal
(1000) and HlwICal (2500) (#223)
* Add Switch state to sensor status (#227, #233)
* Add user configuarble GPIO to module Sonoff Touch (#228)
* Add define WEB_PORT to user_config.h to change default web server port
from 80 (#232)
* Fix failed Ota Firmware upgrade started from Web page (#235)
4.0.5 20170314
* Add command Status 11 to show power status with Vcc if define
USE_ADC_VCC is enabled (default)
* Add ADC input to Sonoff SV and Wemos D1 mini - Needs recompile with
define USE_ADC_VCC disabled (#137)
* Add MQTT host:port to timeout message (#199)
4.0.5 20170314
* Add command Status 11 to show power status with Vcc if define
USE_ADC_VCC is enabled (default)
* Add ADC input to Sonoff SV and Wemos D1 mini - Needs recompile with
define USE_ADC_VCC disabled (#137)
* Add MQTT host:port to timeout message (#199)
4.0.4 20170312
* Add pulse timers for up to 4 relays (#106)
* Fix Sonoff Led power state when dimmer or color is 0 (#176)
* Add command NtpServer<x> to configure up to three NTP servers (#177)
* Delete module User Test as module Wemos D1 mini has same/more user
configurable GPIO (#178)
* Add more user configurable GPIO to module ElectroDragon (#183)
4.0.2 20170308
* Restore correct seriallog level after Serial logging was disabled
* Add simple dimmer slider to Sonoff Led web page
* Reduced root webpage size by 31%
* Expand Status 2 with Build date/time and core version
* Fix webserver redirection when not in WifiManager mode (#156)
* Add command ButtonRestrict On/Off to restrict access to button hold
and button multi press options above 2 (#161)
* Fix DS18S20 negative temperature readings (#165)
* Fix crlf compilation error due to bad syntax (#144, #167)
4.0.0 20170303
* Add define to remove config migration code for versions below 3.0 (See
Wiki-Upgrade-Migration path)
* Free memory by switching from String to char[]
* Raised Sonoff Led PWM frequency from 200Hz to 432Hz in search of
stability (hardware watchdog timeouts) (#122)
* Increase message size and suggested minimum MQTT_MAX_PACKET_SIZE to
512 (#114, #124)
* Remove runtime warning message regarding MQTT_MAX_PACKET_SIZE too
small as it is now moved to compile time (#124)
* Fix possible panics with web console and http commands while UDP
syslog is active (#127)
* Add optional static IP address (#129)
* Add define ENERGY_RESOLUTION in user_config.h to allow user control
over precision (#136)
3.9.22 20170228
* Update web console
* Fix Status 4 JSON message
* Add Exception info during restart if available
* Add osWatch service to detect loop hangs that might happen during
(OTA) upgrades
* Add WiOn support for relay and switch only (#82, #102)
* Allow for user specified relay count up to four in sonoff_template.h
(#109)
* Add support for HTU21 compatible I2C sensors SI7013, SI7020 and SI7021
(#118)
* Add NodeMCU or Wemos configuration option (#119)
3.9.21 20170224
* Add ajax to web root page and web console (#79)
* Add commands SwitchMode1..4 and enable user switches 2, 3 and 4 (#84,
#88)
* Fix MQTT upgrade when webserver is active