The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Relay locks can be disabled through API (d3c113b7, 78c9e6a2)
- Preserve existing relay locks when using sync modes (30f3123c, d3c113b7)
- Fix Zero-Or-One and Just-One sync modes causing relays to stay locked forever (#2574) (11c89789)
- Disable UART for
MAXCIO_WDE004
(#2573)
- Uninitialized sensor info in Homeassistant discovery causing 'Unknown' entity (#2572) (d798052d)
- Fallback AP should be disabled after timeout (#2571) (f387b864)
- Invalid Domoticz settings strings (#2569) by @m-kozlowski
- Lights value adjustments should work with floating point numbers (#2566) by @davebuk
- Relay provider for lights state, rework hardware headers to include relay configuration (#2568) (b5a03dac, faeedee5)
- IFAN / FAN relay provider and state handling improvements (73620687)
- Even more relay and button providers (9b28d640, dca13574, ef086ac0, f373e137)
- Publish relay names to MQTT (7514dee5)
- Handle telnet socket buffer when eol is missing; fix PuTTY (542188dd, 53633cfc)
- Configurable accuracy and sensitivity (mtreg) for BH1750 (988a9724)
- Power factor allowed values are 0...100 (52266684)
- More GPIO source locations (b9dcf3e0)
- API setting relay pulse to zero should stop the timer (bc2ce115)
- Fix
PULSE
terminal command behaviour when we don't want to toggle relay status. RenameNORMAL STATUS
toTOGGLE
(PULSE <ID> <TIME> [<TOGGLE>]
,TOGGLE
set totrue
by default) (69471b0a) - Fix overflow detection when parsing unsigned numbers (997c4d01)
- Add 'value' slider to recover from a fully black RGB color picker (767cd72e)
- Really parse V9261F messages, including writes and write acks (bea8508e)
- Increase BH1750 MODE2 decimal places (b8921b9a)
- Separate RGB color temperature in color and non-color modes (9126a983)
- Revert default PWM frequency to 500Hz (or its equivalent) (d664b9d4)
- Prevent GPIOs configured as relays from being initialized on software reset (824e1214)
- Fix inverted relays being incorrectly initialized on boot (d78d7835)
- Consistent warm and cold lights channel order in hardware header (144f2a72)
- Fix V9261F UART parity mode (6154f40a)
- Avoid printing raw network buffers or error strings that are not null-terminated (7296eca2)
- Do not update brightness when changing HSV (2471c16f)
- Runtime UART configuration. (
uartBaud#
,uartInv#
, etc.), seeuart
anduart <id>
terminal commands output. (574fbf19)
- Change command-line parser (ef202109 for latest version; ref. #2245 and #2247 for previous implementation)
- Do not share terminal output. Calling some command(s) in WebUI will no longer stream them to Serial; consistent with the output of API calls. (ef202109)
- Add
pio run -e $env -t .pio/build/$env/firmware.bin.gz
build target (038f1ffe) - Renamed espurna-core to espurna-minimal (5bc55cd1)
- Unauthenticated telnet session no longer receives debug messages (79ef68b4)
__UNIX_TIMESTAMP__
removed; build time remains__TIMESTAMP__
and as YYYY-MM-DD HH:MM:SS string (a8fe3e46)
- Remove HWDT exception in RTCMEM, repeated hardware watchdog trigger will eventually trigger SAFE MODE (59c4246c, 7659a634)
- Updated stack decoder script (a6df38e8)
NOTIFY
terminal command (cc16c367)- Add
pio run -e $env -t build-and-copy
, more configuration options for the version string (6f122f5e, 4c33cacf)
- Move -dev builds from mcspr/espurna-nightly-builder to xoseperez/espurna releases
- Correctly scale NTC value based on input voltage (#2500, 1b49326e)
- Arduino Core (
analogWrite()
) PWM provider (optional, configured at build-time) (b0da3e8c, 2365d08b) - Generic conversion for metric units, in both directions (b366d77a)
- Magnitude variables may not end in number when there's only one of that type (5fcac5d2)
- Add support for Itead Sonoff POW R3 (#2506, thanks to @nixkj)
- Add PM1006 air quality sensor, found inside the IKEA VINDRIKTNING (#2505, thanks to @xoseperez)
- Show all of correction / offset settings in the WebUI (#2491, 62b2edad)
- Update IRremoteESP8266 to 2.8.2 (6b1a2de0)
- Updated most of dependencies to use PlatformIO Registry (2b50620f)
- Don't cancel saving the
relayBootMask
when relays are processed in a certain order (0c57f0bc)
- Update websocket client timeout and update message configuration to use seconds instead of milliseconds (135c7b80)
- Add support for Yagusmart switches (#2488, thanks to @MelanieT)
- Use 64bit microseconds time source for uptime, no need to count overflows manually (1ca98880)
- Update load average and system stability check intervals to use seconds instead of milliseconds (1ca98880)
- SHT3X: add missing I2C address A (0x44) (#2484, thanks to @drc38)
- Deprecate
..._MIN_CHANGE
and..._MAX_CHANGE
build flags in favour of per-magnitude runtime settings (1ef22e16) - Reduce IRAM usage in sensors using attachInterrupt() (9db679f9)
- Terminal commands to set expected ratio (
EXPECTED
) and total energy recorded by the sensor (ENERGY
) 8f7f1c96 - Remove
PZ.RESET
andPZ.VALUE
commands in favour ofEXPECTED
,ENERGY
andMAGNITUDES
(8f7f1c96)
- Off-by-one error when formatting to allocated buffer (efcb863c)
- Check the return code of the git process and fail early, when trying to generate the version string (bdd821db)
- Don't treat static PROGMEM and generic C-strings differently (b167d616, d9662bd6)
- Separate lights IDX from relays, migrate existing configuration from
dczRelayIdx0
todczLightIdx
(94f31241) - Update latest Arduino Core platform to 3.0.2 (1ca8d5e7)
- HLW8012: gpio runtime configuration (#2142 (initial Pull Request), fa5e4f7d)
- Try to connect to a better AP, when the current RSSI is below -73dBm (only when WiFi scanning is enabled) (f0f7dcc8, dde5f374, 5a973298 (initial commit))
- Allow to set bssid and channel, when scanning is disabled (c5f70286)
- Display the device name in the WebUI (6b2c34ea)
- Set websocket buffer to
nullptr
before returning control to the webserver, which will try tofree()
it (256e790e) - Use eslint and html-validate in CI (433f399d)
- Set MQTT variables just before running the rules (32b864c5, 658ce105)
- Remove jquery dependencies and clean-up websocket API (fa3deeff, 84a7f633, 8e5ab5c9)
- Make brzo i2c library buildable again (19f32145, ref. pasko-zh/brzo_i2c#44)
- Shared ADS1X115 I2CPort, support common gain & data rate settings (c056c54d)
- MDNS auto-connect only works when MQTT is enabled (06fa5b1c)
- Bump to 0.4.0 (fork) to support the latest Core version (0422d61c)
- Schedule restore no longer depends on relays (c945c239, e22f67e5)
- Fix setting up GPIO0 as INPUT when preparing to use analogRead(A0) (ff11e581)
- Fix a typo when getting local index for Nth magnitude (6ba5f95e)
- Rework build.sh & new release script generator (75b51f1e, 74e18a59)
- Remove Core 2.3.0 support from .ld scripts (a1e7941f)
- lightfox relay provider & buttonAdd (bd3a5889)
- Use SoftwareSerial library from the Core (23da0b74)
- Consistent shared libs location with CI and local install, prefer $repo/code/libraries (f18f128e, 5ccc70e4)
- Further EmonSensor fixes and refactoring (b19905a3)
- Rename generic pwr keys with a typed prefix (1a36efb8)
- Tweak analogRead() frequency in Emon sensor (c136678a)
- Fix saving base2 integers (71ddf350)
- Add support for SmartMeasure SM300D2-VO2 air quality multi-sensor (#2447, thanks to @xoseperez)
- Fix sync reentrancy lock (94169dcb)
- Stable configuration IDs (04569c6a)
- Rework stability counter (474f0e93)
- Refactor build configurations (f9211634)
- Clean-up helper classes & functions (ec220b7d)
- Send lights channel value directly (012c3818)
- Always run the discovery (2a08ccb2)
- Get rid of tabindex= property (14c69a4a)
- External url clean-up (d60fb47c)
- Remove hard-coded group keys list (1627e311)
- Send alert messages directly (458fb7d9)
- New module for digital LED strips (#2408, c4d817c4, 46daa929, d11f82d0, 4923377e, 6508f6bd, 24550a5b, 4efc417a, f640cd8e, 518d56b4, 0f73df7c, 3fe68748, dad8878c, 660ae138, thanks to @ElderJoy)
- Add support for Mirabella Genio White A60 globe (#2439, 2fc559fa, thanks to @andrewleech)
- Reworked discovery, implement retries and queueing using the MQTT broker ACKs (59269789)
- Scheduler API (#2431, thanks to @profawk)
- Updated build defaults based on #2414 discussion (92d5e7be)
- Create .map file for the resulting .elf to debug possible compilation issues (21794b78, 1ed00f57)
- Support MQTT wildcards (
#
and+
) in group subscription topic (dcc423ec) - Keep serial disabled in the sonoff rfbridge hardware.h entry (10519cc2)
- Allow to use
<code>,<times>
in rfbON# / rfbOFF# settings keys, just like with the API payload (19947c12) - Terminal commands to send the code (52a244db)
- Add BME680 sensor support (#2429, #2361, #2295, thanks to @ruimarinho)
- Controlling global state no longer requires
RELAY_SUPPORT
or specifying a virtual relay in the configuration. Updated modules and APIs to use light controls directly (2f39d0db) - Do not call the provider or run any transitions when channel values remain unchanged (2f39d0db)
- Set default heartbeat mode to repeat (f4726d99)
- Simplify NTP tick callback, dont use broker (13cbc031)
- Remove legacy module based on NtpClient (2de44ed5)
- Use direct status update functions instead of broker (78b4007f)
- Rework boot info and terminal commands (7ea73554)
- Custom action type (ef194c9c, 8ceeebdb)
- Refactor iFan into a separate module (a40eca30)
- Updated build defaults based on #2414 discussion (92d5e7be)
- Use iro.js as color picker (808981ca)
- Use terser as js minifier, WebUI is no longer limited to ES5 feature set (cfd6e36d)
- New module for digital LED strips (#2408, c4d817c4, 46daa929, d11f82d0, 4923377e, 6508f6bd, 24550a5b, 4efc417a, f640cd8e, 518d56b4, 0f73df7c, 3fe68748, dad8878c, 660ae138, thanks to @ElderJoy)
- Rework plain and JSON implementations (#2405)
- Default Emon ratios at compile time (12ae9d15)
- Add support for Gosund P1 Power Strip (#2391, thanks to @alextircovnicu)
- Add support for LSC E27 10W white bulb (#2375, thanks to @tom-kaltofen)
- Add support for Benexmart GU5.3 RGBWW light (#2381, thanks to @ngilles)
- Only change EventSensor counter from the ISR (735e5c0e)
- add missing lights #include for rpn rules (#2367, thanks to @ngilles)
- Detect Tasmota magic numbers when booting, and do a preventive factory reset (#2370)
- Resistor ladder / analog buttons support (#2357)
- Add support for Gosund SP111 (hardware version 1.1 16A) (#2360, #2369, thanks to @alextircovnicu)
- system operators
sleep
andrtcmem
(#2366)
- Add support for Fcmila E27 7W RGB+W light bulb (#2353, thanks to @user176176)
- Prometheus metrics support (#2332)
- rfbridge operators (
rfb_send
,rfb_pop
,rfb_info
,rfb_sequence
,rfb_match
,rfb_match_wait
) and mqtt fixes (#2302) - Use fork of rc-switch (7a24806a)
- Fix swapped device model and manufacturer fields in the discovery (#2322, thanks to @alextircovnicu)
- Fixed build error in case IR TX is not used in raw mode (#2322, thanks to @alextircovnicu)
- Allow dimmer device to control the brightness (#2317, thanks to @m-kozlowski)
- Fix idx truncation when reading from settings (#2316, thanks to @m-kozlowski)
- Fix general.h comment typo (#2311, thanks to @ruimarinho)
- Set pH decimals to 3 (#2306, thanks to @ruimarinho)
- Add support for AG-L4 v3 (#2276), thanks to @andrej-peterka
- Including support for Arlec PC190HA/PB89HA (#2286, thanks to @mafrosis)
- Refactor WS implementation, add some comments to the header (#2261)
- Handle received data as terminal command (#2247)
- Handle received payload as terminal input (by default,
<root topic>/cmd
) (#2247)
- Fix nofuss.cpp typo (#2251, thanks to @CmPi)
- Kingart curtain switch UI support (#2250, thanks to @echauvet)
- rpn $relayX variables were not populated on boot (#2246, thanks to @pezinek)
- Properly dispatch emon sensor ratio defaults (#2241)
- Directly iterate over internal callbacks array (#2248, #2261)
- Add support for HUGOAI smart socket plug. (#2243, thanks to @estebanz01)
- Load ratios after boot + show pwr defaults with
get
(#2241)
- KingArt WiFi Curtain Switch (#2063, thanks to @AlbertWeterings)
- Add support for Aoycocr X5P Plug. (#2235, thanks to @estebanz01)
- Do not put floats into nvalue (#2230)
- Constrain pressure to 0...100 (#2230)
- HLW8012: energy_delta (#2230)
- Fix ADC_MODE_VALUE use in preprocessor (#2227, thanks to @vtochq)
- Add HDC1080 sensor (#2227, thanks to @vtochq)
- Emon refactoring (#2213)
- Add workaround for pressure sensors (#2215)
- Add SI1145 sensor (#2216, thanks to @HilverinkJ)
- Gosund WP3 LED documentation and provide reasonable default actions (#2200, thanks to @ziggurat29)
- Board definition for the Gosund WP3 smart socket (#2191, thanks to @ziggurat29)
- Example for Generic ESP01 boards with 512KiB flash (#2185, thanks to @ziggurat29)
- Allow to disable Web(UI) OTA support (#2190)
- Always buffer incoming MQTT (#2181)
- Apparent, reactive power measurement unit corrections (#2161, thanks to @irmishappy)
- Add support for read PIO-A of DS2406 (#2174, thanks to @rmcbc)
- Update migrate configuration & conditions, allow each module to access the current & previous version (#2176)
- Fix for button long click (#2172, thanks to @ElderJoy)
- Fixes and updates for thermostat and display (#2173, thanks to @ElderJoy)
- Use development version of PlatformIO Core in CI (#2146, thanks to @ivankravets)
- Bump RFM69 version (#2148)
- Pin arduino-mqtt version (#2154)
- Fix http response parsing, refactor module scope (#2153)
- Set keepalive to be less than heartbeat interval (#2154)
- Config for Teckin SP23 & Maxcio W-UK007S (#2157, thanks to @julianwb)
- Fix latched pulse always being HIGH (#2145, thanks to @antonio-fiol)
- Configure Thingspeak URL at runtime (#2124, thanks to @sametflo)
- Refactor deprecated WiFiClientSecure (#2140, #2144)
- WebUI: alert when web socket connection closes (#2131, thanks to @foxman69)
- Show pretty uptime string with
NTP_SUPPORT=1
(#2137)
- Configure light dimmer pins from settings (#2129)
- Use sntp app from lwip on latest Cores, replace NtpClient (#2132)
- Refactor get/set/del/hasSetting (#2048)
- Fix GPIO16 support (#2110, thanks to @foxman69)
- Optionally preserve boot log in RAM (#2109)
- Log modes, allow to disable debug messages on boot (#2116)
- Set MQTT will topic after /get suffix initialization (#2106, #2115, thanks to @tomas-bara)
- Deprecate -ota envs, handle OTA condition in extra script (#2099)
- Add support for Kogan Smarter Home Plug With Energy Meter (#2086, thanks to @aureq)
- Add support for Teckin SB53 smart bulb (#2090, thanks to @marcuswinkler)
- Add Shelly 1PM GPIO picture (#2092, thanks to @lblabr)
- Add MagicHome ZJ_LB_RGBWW_L support (#2100, thanks to @wwilsman)
- Deltaco smart home devices (#2103, thanks to @orrpan)
- Set button pullup on shpx-v23 boards (#2074, thanks to @RDobrinov)
- Fix unresponsive switches, use proper datastructure to track state (#2049)
- Use sensor "report" instead of sending data each reading. Use async client, send data in batches (#2061)
- Don't queue any new data while connecting
- Verify data stream and properly handle errors. Do not write to flash when any error was encountered. (#2067)
- Use different Broker instances for read and report data (#2061)
- Fix LED mode title style (#2038, thanks to @foxman69)
- Properly handle websocket payloads when scheduler is disabled (#2050)
- Fix colorpicker not working in RGB mode (#2053)
- Remove some unused code from resulting image (#2053)
- Add GENERIC_E14, e14 rgb+w 4,5w (#2039, thanks to @orrpan)
- Add support for LinkSprite R4 (#2042, thanks to @mpcusack)
- Add support for eHomeDIY devices. (#2046, thanks to @user890104)
- Add support for MAGICHOME_ZJ_WFMN_C_11 (#2051, thanks to @davebuk)
- Add support for the LSC LED LIGHT STRIP from ACTION using a tuya chip. (#2065, thanks to @sehraf)
- Add LOHAS_E26_A19, rename LOHAS_9W to LOHAS_E27_9W (#2068, thanks to @cro for providing A19 configuration)
- Try to avoid conflict with useCSS (#2075)
- WebUI fix change detection of input elements (#1986)
- Removed unneeded reference to Ticker library in RFBridge module
- Update latest Arduino core platform to 2.6.3 (#2069, thanks to @Niek)
- Test espurna-core feature build (#2080)
- Using python3 by default in OTA manager
- Force get_device_size to return an int in OTA manager
- Beautify build script size output
- ota.py version 0.4 (#2020)
- Do not run test stages on tag in Travis CI (#2052)
- Web OTA: check authentication result before accepting payload (#1812)
- Authenticate /reset endpoint (#1858, thanks to @foxman69)
- Avoid crashes when using NTPClientLib (#1642)
- Safer loop delay default (#1574, #1631, #1699)
- Patch lwip1 MTU bug in travis-ci releases (#1723)
- Store default LED settings exactly once (#1719, #1724)
- Backup EEPROM before performing OTA (#1808, #1809, #2028, thanks to @arihantdaga)
- Properly handle telnet negotiation (#1927, thanks to @Niek)
- Markdown Typo Fix (#1926, thanks to @mx-web)
- Port PROGMEM definition from Cores 2.5.0+ for Core 2.3.0 to fix flashstring use in classes (#1374)
- Use relative time for relay scheduling (#1962)
- Enable all heartbeat messages when
hbReport => "1"
(#2003)
- Add config for push button of Arilux AL-LC06 (#1794, thanks to @user890104)
- Don't change softAP configuration while user is still connected (#1881)
- Place WIFIN_... strings in flash (#1893)
- Reset connection timer with PubSubClient / ArduinoMQTT (#1702)
- Remove 'connecting' flag when connected (#1757)
- Fix Arduino-MQTT setWill parameters order (#1978, thanks to @Niek)
- Fix crashes with unknown idx values (#1588)
- Treat nvalue >= 1 as true (#1606)
- Lights: handle cmode=2 (#1880)
- Several async client fixes to avoid crashes (#1806)
- Send brightness topic to HA regardless of color setting (#1730, thanks to @copyrights)
- Rework discovery mechanism to prevent loosing messages (#1969)
- Send discovery messages after reconnecting (#1637, #1969)
- Fix relay provider setting of Xiaomi Smart Desk Lamp (#1627, thanks to @Ctrl-F4)
- Prepare for .cpp migration (#1874)
- Fix inconsistent light transitions (#1901, #1923)
- WebUI relayOnDisc selector typo (#1643)
- Avoid memory leak when using captive portal (#1768)
- Updated WS protocol structure to reduce memory usage (#1843, #1851, #1857)
- Send debug messages in batches (#1851)
- Wait for data to be saved before rebooting (#1863, thanks to @foxman69)
- Fix cse7766 missing energy magnitude (#1665, thanks to @lipoforall)
- Fix stored energy values when using kWh (#1334
- Remove pinMode(0, ...) from AnalogSensor (#1777, #1827)
- Check value range for PMSX005 and SenseAir CO2 sensor (#1865, thanks to @Yonsm)
- DHT: Increase read delay to 1100 usec per datasheet value for
DHT_CHIP_DHT22
(#1918, #1979, thanks to @JavierAder and @structuralB) - DHT: Add
DHT_CHIP_SI7021
forITEAD_SONOFF_TH
, use 500 usec read delay (#1918, #2000, thanks to @icevoodoo) - DHT: Set pin mode before digitalWrite (#1979)
- DHT: Wait DHT_MIN_INTERVAL after initialization (#1979)
- Fix Travis failing with INFLUXDB_SUPPORT (#1565)
- Build with platformio 4 (#1805)
- Update wrong pinout on ag-l4 (#1746, thanks to @zerog2k)
- Core 2.6.0+ fixes (#1852)
- Add missing DOMOTICZ_... #ifndef guards (#1839)
- Add #ifndef guard for BMX280_... defines (#1867, thanks to @0x3333)
- MQTT: update MQTT_MAX_PACKET_SIZE to fit JSON payload (#1888)
- RPN Rules - custom rules to execute actions (mostly changing relay and light statuses) based on different inputs (#1984, thanks to @xoseperez)
- Initial implementation of RTCMEM storage to preserve state (relay status, stability counter, energy etc.) between reboots (#1420, #1770)
- Allow to configure all LEDs from UI (#1429, thanks to @xoseperez)
- SYNC_FIRST relay sync mode (#1609, thanks to @foxel)
- Fix ESP.eraseConfig() when using Core 2.3.0 (#1595, #1616)
- Add UNUSED macro to prevent warnings
- Log in travis-ci if WebUI files have changed
- Terminal: heap fragmentation stat (#1740)
- Recommend using basic BearSSL ciphers with low memory boards (#1810, thanks to @Niek)
- New boot mode to lock relay status on boot (
RELAY_BOOT_LOCKED_OFF
andRELAY_BOOT_LOCKED_ON
) (#1705) - Add netstat and dns probing (Core 2.5.2+) (#1907)
- Add setting for WiFi TX power (
wifiTxPwr
) (#1915) - SoftAP button action will now toggle back to STA mode (#1942)
- Detect esp8285 chip to allow the use of GPIO9 and GPIO10 (#1958, #1964 and thanks to @Niek for bitset::test fix in #1977)
- Restore last schedule after reboot (#1948, thanks to @foxman69)
- Add
relayDelayOnN
,relayDelayOffN
,relayFloodTime
,relayFloodCount
as runtime settings (#1594, #1962) - Add experimental
relayDelayInterlock
to add a pause after turning relay off in SYNC_ONE or SYNC_NONE_OR_ONE modes (#1510, #1962) - Add experimental
TUYA_SUPPORT
andLIGHT_PROVIDER_TUYA
(#1729, #1997) - Add
bssid
as heartbeat option (#1995) - Generic feature checks through
<type_traits>
(#1974, thanks to @Niek) - Support binary, octal and hex literal prefixes (
0b
,0o
and0x
respectively) forhbReport
setting (#2003)
- Add option to disable relay reporting (#1645, thanks to @Niek)
- Safer settings reload and change detection (#1701)
mqtt.info
command (#1757)- MQTT rewrite with SSL fixes (#1751, #1829, thanks to @Niek)
- Generic secure client configuration (#1873)
- Custom relay status payloads (#1885, #1889)
- Log size instead of message itself when size is > 128 bytes (#1969)
- Add espurna-base for tuya-convert, thanks to @xoseperez
- Add espurna-core-wps
- Add espurna-core-smartconfig
- LightFox dual support (#1468, thanks to @foxel)
- Support for Digoo/Oxaoxe NX-SP202 (#1502, thanks to @kobuki)
- HAMA outlet model number 00176552 (#1598, thanks to @markusrudolf)
- Added LITESUN LA-WF3 support. (#1618, thanks to @Zebble)
- Added Teckin SP20 Power Plug. (#1611, thanks to @brmo)
- Adding support for Generic GU10 from #1549 (#1650, thanks to @ColinShorts)
- Add support for JINVOO VALVE SM-AW713 (#1774, thanks to @reaper7)
- Add support for MagicHome RGBWW LED strip (#1787, thanks to @user890104)
- Nexete A19 RGBW bulb (#1814, thanks to @konsgn)
- Add Shelly 1PM (#1822, thanks to @tonilopezmr)
- Support Shelly 2.5 (#1827, thanks to @tonilopezmr)
- Add itead-sonoff-s31-lite (#1830, thanks to @CrazyIvan359)
- Add etekcity-esw01-usa (#1836, thanks to @sirpatil)
- Add iselector-sm-pw702 (#1837, thanks to @lwalkera)
- Itead Sonoff Mini support (#1886, thanks to @xoseperez)
- ESP8266 FS-UAP1 Control board (#1925, thanks to @NemoN)
- Support for Teckin SP21 (Thanks to @xoseperez)
- Support for TFlag NX-SM100 and NX-SM200 power monitoring switches (Thanks to @xoseperez)
- Add tuya-generic-dimmer (#1729, #1997)
- Add support for Hykker Smart Plug with power meter (#2010, thanks to @reaper7)
- Add support for BW-SHP5 (#2029, thanks to @aligator)
- Configure WEB_REMOTE_DOMAIN at runtime (#1789)
- Add Thermostat module (#1603, thanks to @ElderJoy)
- RF/RFBRIDGE Update (#1693)
- Send Vcc, LoadAvg and Ssid to influxdb (#1714, thanks to @lucciano)
- Separate device name for alexa integration (#1727, thanks to @m-kozlowski)
- Telnet/WiFiServer: alternative to ESPAsyncTCP (#1799) (Thanks to @Niek)
- Periodically call etharp_gratuitous (#1877)
- Added support for reverse telnet (#1920, thanks to @Niek)
- MH-Z19 auto-calibration setting (#1580 , #1592, thanks to @eschava)
- CSE7766: Add reactive power calculation (#1591, thanks to @AlbertWeterings)
- MAX6675: default pins and SENSOR_SUPPORT dependency (#1646, #1666)
- Add
bmx280Number
andbmx280Address
settings (#1690) - PZEM004T: settings & dev board (#1712)
- Added LDR sensor (Thanks to Altan Altay)
- ADE9753 Support (#1827, thanks to @tonilopezmr)
- Telaire T6613 Support (#1956, thanks to @james-coder)
- Adding support for miobulb001 (#1973, thanks to @ealfaroc)
- Allow to set relative brightness, channel value and color in mireds using +N and -N notation (#1607, #1938, thanks to @tsymbaliuk)
- Two channel CCT (#1732, thanks to @copyrights)
- Send to mired topic if CCT is in use (#1732, #1742, thanks to @copyrights)
- Add description for each channel when using terminal commands (#1826)
- Channel value change detection to reduce light provider updates (#1914)
- special dummy printf to disable Serial using some boards (#1664)
- Experimental support of HTTPUpdate for OTA (#1751)
- Add ability to print all GPIO values at once (#1798, thanks to @Niek)
- DEBUG_SUPPORT check for crashSetup (#1807)
- Build date in ota.py (mDNS) (#1736, thanks to @m-kozlowski)
- Updated Copyright notice to 2019
- Use espurna.io as CORS domain
- Small design change in memanalyzer output and fix out-of-range error
- Update PlatformIO Core versions (#1734)
- Show Core revision as hex string (#1786)
- Update debugSend / debugSend_P (#1788)
- Send RF MQTT message with retain off (#1679, thanks to @Niek)
- Thermostat upgrade (#1711, thanks to @ElderJoy)
- Update crash handler (#1796, #1947)
- Drop legacy relay settings migration (#1797)
- MQTT & OTA Fingerprint setting capitalization fix (#1952, thanks to @Niek)
- Let JustWifi fallback mode handle AP (#1784)
- Start SmartConfig without any networks configured (#1785)
- Less debugging for lights code (#1588)
- Send status right after boot to avoid some empty fields on Status page (#1700)
- Parse host query via browser api, add console logging (#1901)
- Update to jquery 3.4.1 and wheelcolorpicker 3.0.8 (#1901)
- Import Encoder library (#1769)
- Apply brightness to all channels only when
useWhite
is disabled (#1826) - Move gamma table to PROGMEM (#1826)
- Don't show v for hsv in wheelcolorpicker, use brightness instead (#1901)
- Fix kelvin/mired constants naming (#1902)
- Store pwm constants as PROGMEM data (#1906)
- Schedule provider update in CONT instead of SYS context (#1901, #1923)
- Configurable cold and warm mired values (#1945)
- Update
XIAOMI_SMART_DESK_LAMP
warm mired value (#1945)
- Change from BMX280_ADDRESS2 notation to BMX280_NUMBER for number of sensors (#1647, thanks to @CraigMarkwardt)
- Allow sensor class can specify the number of decimals to represent its magnitude types (#1648, thanks to @CraigMarkwardt)
- Default to one BMX280 sensor (#1690)
- Rename NTC/LDR_SENSOR to NTC/LDR_SUPPORT (#1758)
- Faster event handling for EventsSensor (#1771)
- Use indexed keys for energy saving (#1875)
- Enable multiple Digital & Events sensors (#1832, thanks to @pilotak)
- .ld scripts refactoring to allow building with Cores 2.3.0 ... 2.6.0 (#1559)
- Pin ArduinoJson version (#1613)
- Remove gosund-sp1-v23 env in favour of blitzwolf-shpx-v23 (#1703)
- Update ESPAsyncTCP to 7e9ed22 (#1752, #1806)
- PIO4: default_envs (#1793, thanks to @Niek)
- PIO: Use up-to-date platforms, update comments (#1811, #2023)
- Move DEVICE and MANUFACTURER check to the top of hardware.h (#1816, thanks to @rmcbc)
- Revert loopDelay dependency on wifi sleep mode (#1574)
- Fix hardcoded serial objects in _debugSendSerial, terminalLoop and PZEM sensor (#1573)
- Fix RFBridge not showing codes in web UI as per @mcspr suggested change (#1571)
- Fix BSSIDs in scan output (#1567)
- Fix PZEM004TSensor pointer use
- RFBridge: fix webui codes parsing
- Avoid websocket ping back on fw upgrade via web UI form (#1574)
- Removing line break before templated variable to fix issue with Windows Arduino IDE (#1579, thanks to @AlbertWeterings)
- Send brightness to websocket
- Relay MQTT group receive-only sync mode setting
- Set wifi sleep mode from settings
- Add unique id and device support for better HA UI integration (#1547, thanks to @abmantis)
- Improved inline documentation of BMX280 settings (#1585, thanks to CraigMarkwardt)
- Travis fixes
- IR results on raw mode (thanks to @vtochq)
- Missing configuration in HTTP API (#1288)
- NTP sync changes (#1342)
- Proper buffer size to fit two digit rfbOFF key (#1348)
- Use correct arguments for stat on macOS (#1355, thanks to @jackwilson)
- Enable
reload
command when no web support (#1383) - Wrong GPIO value for dummy relay (#1386)
- Wait until mqtt client has finished trying to connect
- Disable EEPROM Rotate before NoFUSS update (#1398, thanks to @arihantdaga)
- Only check domoticz state in broker callback (#1562)
- Fix upload_port and upload_args
- Fix heartbeat dropdown size
- Setup settings before using them in system module (#1542)
- Fix HEARTBEAT_REPORT_DESCRIPTION typo (#1539)
- Fix wsDebugSend prototype
- Fix pulse for dummy relays (#1496, thanks to @Niek)
- Fix RFBridge websocket data
- Only process Domoticz RGB MQTT Messages for the current idx (#1489, thanks to @soif)
- Fix pulse for dummy relays
- Fix compile error when both RF_SUPPORT and API_SUPPORT are enabled (#1479, thanks to @Niek)
- Fix compile error when TERMINAL_SUPPORT is disabled (#1426)
- Fix compile error when RF_SUPPORT is enabled (#1475)
- Fix CodingStyle link (#1473)
- Fix: Add Debug flag for compilation of wifiDebug() function (#1454)
- Fix bug in RFM69 that counted packets twice
- Escape hyphens in img.shields.io urls
- Fix travis builds based on latest core
- Increase buffer size to fit B0 code (#1423)
- Fix function call typo in RF code (#1421)
- Fix RF code conversion to long (#1410)
- Support for MAXCIO W-DE003 device (thanks to @kerk1v)
- Support for Tonbux XS-SSA01 device (thanks to @StevenWolfe)
- Support for Blitzwolf BW-SHP2 v2.3 (#1351)
- Support for Tecking SP22 v1.4+
- Support for Lombez Lux Nova 2 smart bulbs (thanks to @kcghost)
- Support for Orvibo B25 (#1402, thanks to @plutec)
- Support for GBLife RGBW Socket (#1305)
- Support for Generic Relay ESP01 V4.0 in inverse relay version (#1504, #1554)
- Support for Gosund WS1 aka KS-602S (#1551, thanks to @nsvrana)
- Support for Oukitel P1 smart switch (#1553, thanks to @quinnsam)
- Support for Lyasi light bulb (#1533, thanks to Eichhoernchen)
- Support for RGB(WW) controlled using Domoticz MQTT messages (#1459, thanks to @sq5gvm)
- Support for newer AL-LC02 boards with different pinout (#1469, thanks to @sq5gvm)
- Support for SmartLife Mini Smart Socket RGB (thanks to @kuppe234, #1411)
- Support for Gosund SP1 v2.3 (#1448)
- Support for OBI Wifi Schuko Plug V2 (#1408, thanks to @arthurf1969)
- Support for pulse meter power sensor for new-generation smart-meters
- Support for VL53L1X ToF sensor (thanks to @ruimarinho)
- Support for VEML6075 UV sensor (thanks to @ruimarinho)
- Support for EZO pH Circuit sensor (thanks to @ruimarinho)
- Support for MAX6675 temperature sensor (#1375, thanks to @lucciano)
- Support for MagicHome ZJ WFMN A/B v1.1 (#1339)
- Support for multiple PZEM004T sensors (thanks to @0x3333)
- Support for Support PMS5003S (#1511, thanks to @Yonsm)
- Support for pulse meter power sensor for new-generation smart-meters (including debouncing and energy ratio support by @jackwilson)
- Support for BMP085 and BMP180 sensors (#1082)
- Add dim up and down actions to button handler (#1250)
- Compact WS data (#1387)
- Improved analog sensor (#1326, thanks to @cconde)
- Report SSID in heartbeat messages
- Option to send full data to thinkgspeak on every message (#1369)
- Added RSSI to InfluxDB heartbeat (#1400, tahnks to @BuildTheRobots)
- Option to report time even if no NTP sync (#1310)
- Support for mixed combination of real and dummy relays (#1305)
- Report target color values on MQTT and API
- Note on WiFi tab about hostname (#1555)
- Allow saving heartbeat settings from web (#1538)
- Build images for Sonoff Basic R2 with DHT and DALLAS support
- Add warning about TELNET_PASSWORD
- Domoticz: track last relay state (#1536)
- Adding description field to web UI, reporting it via MQTT (#1523)
- ESP-01 + 2ch 5v relay LC tech Exclusive relay on (#1519, thanks to @clabnet)
- Add OTA support over MQTT (#1424, thanks to @Niek)
- Configure Heartbeat from WebUI & option HEARTBEAT_REPEAT_STATUS (#1474, thanks to martiera)
- Delay light comms (mqtt, ws, broker) to avoid jamming
- Added message type to broker
- Yield() after handling OTA request
- Disconnect websocket when auth fails
- Manage relay changes in third party modules via broker
- Added API entry points for RFBridge module (#1407)
- Domoticz over MQTT to Espurna RGB/RGBW/RGBWW
- Debug check position to make sure definition is not nullified to avoid putting checks in all places
- MQTT reconnect delay based on last disconnection
- Add terminal support for wifiDebug
- Created contribute.md and support.md files
- Created issue templates
- Runtime heartbeat configuration (#1406)
- APP_VERSION suffix (#1418)
- Allow {hostname} and {mac} placeholder for mqtt user and client_id fields (#1338)
- Split ws messages for relays and rf codes (#262)
- Added learn and forget terminal commands to RFBridge and RF modules (#1253)
- Change light transition time via MQTT or API (#1412)
- Telnet password requirements (#1382)
- Separate tab for NoFUSS options (#1404)
- Updated to use gulp4 (#1403)
- Updated to EEPROM_Rotate 0.9.2
- Show proper switches names in web UI
- Removing loop delay if WIFI is not set to sleep, reducing it to 1ms otherwise (#1541)
- Change naming for BlitzWolf SHP2 and SHP6 (now SHPX) boards
- Print each HA config entry separately (#1535)
- Updated DebounceEvent to 2.0.5 (#1527, #1254)
- Python cleanup (@1526, thanks to Cabalist)
- Normalize naming for Arilux AL LC02 v14
- Increase version field size in OTA manager
- Merge RF and RFBridge code (#1435, thanks to @Niek)
- Update to fauxmoESP 3.1.0
- Move crash code to it's own module
- Honour build time settings for MQTT on fresh install (#719)
- Fix custom_crash_callback declaration for Arduino IDE 1.8.6 (#1169)
- Fix eneUnits key in web UI (#1177)
- Fix HA names (#1183)
- API is now restful (issue a PUT to change a relay status). It can be disabled from web UI (#1192)
- Remove static array to prevent out of bound in relay.ino (#1217)
- Remove duplicate call to EEPROMr.begin (#1214)
- Fix issue when SPIFFS_SUPPORT is enabled (#1225)
- Fix quoting units_of_measurement in HA config output (#1227)
- Fix "Clear counts" on rfm69 does not reset node count properly (thanks to @Trickx, #1239)
- Fix homecube 3rd led setting (thanks to @mcspr)
- Fix typo in static IP hint text (@thanks to @zafrirron)
- Fix hostname/password length requirements (thanks to @mcspr and @djwmarcx)
- Do not quote numbers in MQTT JSON payloads
- Fix telnet client object deletion (thanks to @mcspr)
- Call wakeUp PMS on first reading cycle to avoid not data in a long period (thanks to @Yonsm)
- Small fixes and windows support for ESPurna OTA Manager (thanks to @mcspr)
- Fix for YiDian XS-SSA05 configs (thanks to @ducky64)
- Send MQTT messages only for button events with assigned actions (thanks to @Valcob)
- Avoid EEPROM commits on callbacks (#1214)
- Option to report energy based on delta since last report (#369)
- Support for IR-MQTT bridge, also in RAW mode (#556, #907)
- Allow faster sensor reading intervals, down to 1 second (#848)
- Support for Xiaomi Smart Desk Lamp (#884)
- Retry up to 3 times on bad response to Thingspeak server (#1213)
- Support for apparent power and power factor on CSE7/XX sensor (#1215)
- Support for encoders
- Support for Allterco Shelly2
- Added SDS011 sensor support (thanks to @derlucas)
- Added password check to telnet (option to disable it)
- Added PHYX support (thanks to @whitebird)
- Added config command that outputs the configuration in JSON
- Support for MICS-2710, MICS-5525 and MICS-4514, gas sensors
- Support for iWoole LED Table Lamp (thanks to @CollinShorts)
- Command to output free stack
- Password management from web UI (thanks to @mcspr)
- Added BESTEK MRJ1011 support (thanks to @InduPrakash)
- Support for EXS WiFi Relay 5.0 (thanks to @cheise, #1218)
- Allowing disabling or single heartbeat on MQTT connect or repeat (default) (#1196)
- Command to save settings when SETTINGS_AUTOSAVE is off
- Upgraded to JustWifi 2.0.2
- Upgraded to FauxmoESP 3.0.1
- Upgraded to DebounceEvent 2.0.4 to properly support BUTTON_SWITCH
- Split
info
command output intoinfo
andwifi
. Refactor output. - Custom HA payloads (thanks to @Yonsm)
- Fix relay overflow window length
- Fix TravisCI release condition (thanks to @mcspr, #1042)
- Fix Sonoff RFBridge build in Arduino IDE (#1043)
- Using corrent path separator in gulpfile.js (thanks to @InduPrakash, #1045)
- Fix KMC70011 LED logic (thanks to @zerog2k, #1056)
- Fix Luani HVIO to use 1MB flash size and toggle switch (thanks to @BauerPh, #1065 and #1068)
- Fix switches in Microsoft Edge (thanks to @Valcob, #1066)
- Fix build.sh error handling (thanks to @mcspr, #1075)
- Correctly init Serial on RELAY_PROVIDER_STM (#1130)
- Disconnect before running WPS and SmartConfig discovery (#1146)
- Fix sort fields in OTA manager
- Support for YJZK 1Ch and 3CH switches (thanks to @CollinShorts and @q32103940, #1047)
- Support for AG-L4 color desk lamp (thanks to @zerog2k, #1050)
- Option to cofigure ON/OFF payload at build time (#1085)
- Option to change default payload for HA (#1085)
- Support for Allterco Shelly1 (thanks to @abmantis, #1128)
- Support for HomeCube 16A (thanks to @hyteoo, #1106)
- Support for multiple sonar sensors (thanks to @ruimarinho, #1116)
- Support for hardware serial on PMSX003 device (thanks to @ruimarinho, #1122)
- Support for Lohas 9W bulbs (thanks to @steveway, #1135)
- Show literal for webUI image in info (#1142)
- Add RFBRIDGE code to full webUI image (#1157)
- Handle events in EventSensor
- Option to remove API_SUPPORT at build time
- Option to save total energy in EEPROM after X reports, disabled by default
- Support for DHT12 sensor (thanks to Altan Altay)
- Support for 2MB flash boards
- Update PlatformIO support to 3.6.X branch
- Explicitly disable ATC on RFM69 gateway (#938)
- Reduce memory footprint of API calls (#1133)
- Init relay GPIO when in inverse mode to be OFF (#1078)
- Build issues with Arduino IDE (#975)
- Right web interface image for with RF Bridge
- Full web interface image if light and sensor together (#981)
- Some devices still not using DOUT flash mode
- Crash on loading malformed configuration file
- Mismatch between memory size and layout size for some boards (this might require reflashing)
- Wrong settings report after factory reset
- Memory leak in JustWifi library
- New buttons not rendering right in Safari (#1028)
- Support for RFM69GW board (see http://tinkerman.cat/rfm69-wifi-gateway/)
- Support for Sonoff IFAN02
- Support for NTC sensors (#1001)
- Support for single-pin latched relays (#1039)
- Check binary flash mode in web upgrade
- Sampling to AnalogSensor
- Parallel builds in Travis (thanks to @lobradov)
- Reworked platformio.ini, build.sh files (thanks to @gn0st1c and @mcspr)
- Fixed PZEM004T compilation issues, working when using hardware serial (#837)
- Fixed per channel state on/off for lights (#830)
- Fixed overflow in CSE7766 energy calculation (#856)
- Fixed On MQTT disconnect in web UI (#845)
- Check valid hostnames (#874, #879)
- Fix Sonoff POW R2 configuration
- Fixed InfluxDB sensor by id (#882)
- Fix build when disabling WEB_SUPPORT (#923)
- Fix calibration error in EmonSensor (#876)
- Fix telnet and web debug responsiveness (#896)
- Use double quotes in JSON for non-numeric values (#929)
- Support connections over HTTPS via proxy (#937)
- EEPROM sector rotation using EEPROM_Rotate library
- Code filtering when building web UI images
- Added pulsing a relay via MQTT and REST API (#896, #902)
- Support for WPS (not available in pre-built binaries)
- Support for Smart Config (not available in pre-built binaries)
- Support for CCT lights (thanks to @Skaronator)
- Allow RELAYx_DELAY_ON/OFF also for none GPIO relay types (thanks to @zafrirron)
- Added relay status to Domoticz on MQTT connection (#872)
- Added configurable UART-to-MQTT terminator
- Added telnet link to web UI
- Reload terminal command to force all modules to reload settings from config (#816)
- Added security headers to each HTTP response (thanks to @ITNerdBox)
- Customized GET terminal command (thanks to @mcspr)
- More RC codes supported on TX for RF Bridge (thanks to @wildwiz)
- Support for BL0937 power monitoring chip with unmodified HLW8012 library (#737)
- Enable CORS
- Support for Allnet ESP8266 UP Relay (thanks to @bajo)
- Support for Tonbux Mosquito Killer (thanks to @gn0st1c)
- Support for Neo Coolcam NAS-WR01W WiFi Smart Power Plug
- Support for TYWE3S-based Estink WiFi Power Strip (thanks to @sandman, #852)
- Support for Pilotak ESP DIN V1
- Support for DIY Geiger counter (thanks to @Trickx)
- Support for HomeCube / Blitzwolf BW-SHP2
- Support for Vanzavanzu Smart Wifi Plug Mini
- Support for Bruno Horta's OnOfre board
- Updated PlatformIO to use Core 3.5.3
- Updated to JustWifi 2.0
- CSS optimizations (#870, #871)
- Several changes in OTA Manager
- Better memory layout info
- MQTT keep alive time increased to 300s
- Using ticket-based authentication for WS
- Refactor module and sensor listings (#896)
- Using alternative math methods to save ~8Kb with lights
- Simpligying mired/kelvin methods
- Changed web UI checkboxes with pure CSS versions
- {identifier} place-holder in MQTT base topic
- Check NTP_SUPPORT for sensors (thanks to @mcspr)
- Fix AM2302 sensor
- Fix hostname truncated to 20 chars when advertised to DHCP (#774)
- Decouple Serial object from Terminal, Debug modules (#787)
- Fix Arilux LC-01 definitions (#797)
- Do not uppercase hostname in web interface (#799)
- Ensure scheduler has access to all channels independently of the color mode (#807)
- Support for IteadStudio Sonoff S31 (#497)
- Option to ignore daylight saving in scheduler (#783)
- Report last energy reset datetime in web interface (#784)
- Added captive portal in AP mode
- Support for IR toggle mode (thanks to @darshkpatel)
- Support for IteadStudio Sonoff POW R2 (thanks to @ColinShorts)
- Support for Luani HVIO (thanks to @wildwiz)
- Support for Zhilde ZLD-EU55-W power strip (thanks to @wildwiz)
- Support for RFB_DIRECT Sonoff Bridge EFM8BB1 bypass hack (thanks to @wildwiz)
- Support for SenseAir S8 CO2 sensor (thanks to @Yonsm)
- Support for PMS5003T/ST sensors (thanks to @Yonsm)
- Updated JustWifi Library
- Some cleanup in the web interface
- Refactored configuration files (thanks to @lobradov, @mcspr)
- Changes pre-commit hook (thanks to @mcspr)
- Fixed expected power calibration (#676)
- Do not show empty time strings (#691, thanks to @PieBru)
- Fix load average calculation when system check is disabled (#707)
- Fixed unstability issues with NtpClientLib using temporary fork (#743)
- Fixed typos in homeassistant module (thanks to @Cabalist)
- Fixed default HLW8012 calibration for KMC devices (thanks to @gn0st1c)
- Fix MQTT query request
- Fix scheduler debug message
- Fix NTP offset value
- Option to change NTP timeout via compile-time setting (#452)
- Added humidity correction to web UI (#626, tahnks to @ManuelW77)
- Added support for USA DST calculation (#664)
- Option to reset energy count (#671)
- Added Sonoff SV prebuild image (#698, thanks to @akasma74)
- Check and remove unused config keys (#730)
- Visual Studio metadata files added to .gitignore (#731, thanks to @gn0st1c)
- Added default MQTT and SSL settings to web UI (#732, thanks to @mcspr)
- Added option to the web UI to set the light transition length in milliseconds (#739)
- Improved testing with Travis (thanks to @lobradov)
- Change dimmers using schedule (thanks to @wysiwyng)
- Debug console in web UI (thanks to @lobradov), including command execution
- Option to reset relays in MQTT disconection (thanks to @a-tom-s)
- Option to disable system check from custom header (thanks to @phuonglm)
- Added "board" topic to the heartbeat messages (thanks to @mcspr)
- Added methods to create hierarchical MQTT JSON responses
- Added RESET.SAFE command to reboot into safe mode
- Added SDK and Core versions to the web UI
- Added revision to web UI (only when built from build.sh)
- Support for OBI Powerplug Adapter (#622, thanks to @Geitde)
- Support for Tunbox Powerstrip02 (thanks to @gn0st1c)
- Support for Lingan SWA1 (thanks to @gn0st1c)
- Support for Heygo HY02 (thanks to @gn0st1c)
- Support for Maxcio WUS0025 (thanks to @gn0st1c)
- Support for Yidian XSSSA05 SWA1 (thanks to @gn0st1c)
- Support for ArnieX Swifitch (thanks to @LubergAlexander)
- Support for IKE ESPIKE board
- Support for AM2320 sensors via I2C (thanks to @gn0st1c)
- Support for GUVAS12SD sensor (thanks to @gn0st1c)
- Removed hostname size limit (#576, #659)
- Reworked RGBW implementation (thanks to @Skaronator)
- Several web UI layout changes (thanks to @lobradov & @mcspr)
- Button MQTT messages will not have the retain flag (thanks to @lobradov)
- Remove unnecessary code from boot log (thanks to @gn0st1c)
- Updated logo and favicon, added gitter channel
- Force reporting power values as 0 if relay is off
- Using gulp-crass for CSS minification
- Using WIFI_NONE_SLEEP by default
- Adding a 1ms delay after UDP send to avoid loosing packets (#438)
- Fixed void return in BMX280 sensor (#489)
- Fix MQTT keep alive cannot be more than 255 seconds (#515)
- Do not show scheduler tab in Web UI if build without scheduler support (#527)
- Fix inline documentation for Sonoff 4CH Pro button modes (#551)
- Prevent resending messages from rfin in RF Bridge (#561)
- Fix AnalogSensor description (#601)
- Fixed missing setting in HASS WS callback (thanks to @mcspr)
- ECH1560 call sync from tick method
- Fixed several issues reported by codacy
- UART to MQTT module (thanks to Albert Weterings, #529)
- Added option to show HASS configuration code in ESPurna web UI (#616)
- OTA upgrade via terminal (using 'ota' command, with SSL support)
- Added I2C scan and clear commands to terminal (only when I2C enabled)
- Added new relay & wifi led mode (#604)
- Option to enable/disable web auth from web UI
- Added "Reset to factory settings" in web UI (thanks to Teo Pavel, #569)
- Added {magnitude} placeholder to MQTT root topic
- Option to report energy in kWh and power in kW (#523)
- Check upgrade file size and signature in web UI
- Automatically dump info on telnet connection if TERMINAL_SUPPORT is disabled
- Two different ESPURNA_CORE images for 1MB and 4MB boards, freeing GPIOs (#557)
- Initial support for PZEM004T sensor (still beta)
- Support for STM_RELAY board (thanks to Maciej Czerniak)
- Support for KMC 70011 energy monitor (thanks to Wayne Manion, #598)
- Support for Wifi Stecker Shuko device (thanks to @Geitde, #622)
- Support for GizWits Witty Cloud device (thanks to Theonedemon)
- BMX280 changes to allow for hot-plug (#353)
- Increase the initial check interval for NTP (#452)
- Force turning relays off before turning others on when synced (#491)
- Publish slampher as light to Home Assistant (#494)
- Force API to return the target status of the relay (#548)
- Increasing max number of messages in JSON payload to 20 (#588)
- Change copy from 'Use colorpicker' to 'Use color'. Better hint. (#590)
- Completely reworked the RF module to use the same web UI as the RFBridge module to learn new codes (#594)
- Several spelling and grammar changes by Lee Marlow
- Always enabled telnet access in ESPURNA_CORE image
- Updated ESPSoftwareSerial, ESPAsyncTCP and ESPAsyncWebServer libraries
- Remove dependency from gulp-util (#493)
- Removed specific support for Magic Home LED Controller 2.3 (#512)
- Disabled floating point support when building against Arduino Core 2.4.0 with PIO
- Removed WiFi distance calculation
- Fix telnet crash due to local reference (#487)
- Repository migrated over to GitHub
- Travis CI build test and deploy
- Pre-commit hook to change README.md file depending on the branch
- {hostname} and {mac} placeholders for MQTT root topic
- Added support for timezones with minutes (#265)
- SSDP support (#282, #423, disabled by default since current implementation is not compatible with Alexa #479)
- HA auto-discover for multi-relay boards and sensors (#392, #465)
- Reset the pulse timeout every time an MQTT message is sent with the non-normal payload value (#454)
- Option to disable schedules without deleting them (#453)
- Added LED_MODE_STATUS (#458)
- Support to set on/off state per channel using switches (#457)
- Added support for MagicHome LED Controller 2.3
- Alexa message queue (thanks to Qubeck)
- Secondary Serial RX port for H801 and H802 boards (#386, thanks to Pablo Pousada Rial)
- Added compatibility with https://github.com/rhx/RF-Bridge-EFM8BB1 to RF Bridge (Thanks to Rene Hexel)
- Added message queue to RF Bridge
- Added MAC to mDNS text fields
- Added wifi.ap command to go into AP mode
- Added message id on MQTT JSON payloads
- Added hooks for 3rd party code (custom modules)
- Local broker to broadcast messages internally
- Added timestamp to debug output
- Common I2C interface to abstract backend library (Wire or Brzo I2C)
- Added espurnaLoopRegister
- Fixed support for 4CH Pro different modes (#333)
- Fixed several sensor modules to enable hot-unplug-plug (#398)
- Fixed crash when calling idbSend from an MQTT callback (#410)
- Checking trailing slash in mqttTopic (#422)
- Fixed pulse and pulse_ms order in relay_t structure (#424)
- Use same buffer size across all terminal-realted classes/methods. Set to 128 chars (#477, #478)
- Fix WiFi scan status in web UI
- Several code quality fixes (thanks to @lobradov)
- Fixed error message on first command over telnet
- BMX280 sensor module now doesn't depend on third party libraries
- Changed time management in ntp, mqtt and scheduler modules
- {identifier} placeholder for MQTT root topic
- Option to perform a WiFi network scan from web UI
- Added hostname to web UI side menu (#404)
- Option to flash multiple devices with ESPurna OTA Manager
- Fix web UI layout so signature does not overlay buttons (#396)
- Option to disable network scan and allow connecting to hidden SSID (#392, #399)
- Fix crash caused by a delay in UDP debugging code (#397)
- Fix memory leak in influxDB module (#410)
- Fix typos in web UI (#394, #421)
- Updated to fauxmoESP 2.4.2
- Changed default I2C GPIO for Wemos D1 (#420)
- Some terminal commands have changed. See docs or type "help".
- Scheduler (contributed by Stefano Cotterli, thank you!, #131)
- Added "wifi.scan" command to terminal
- Added ESPurna Switch board support
- Added support for python3 in memanalyzer and ota scripts (thanks to @Cabalist)
- Added BSSID, RSSI, channels and distance to web UI status tab
- Added mDNS name resolving to MQTT, InfluxDB and NoFUSS modules (#129, disabled by default)
- Update FauxmoESP library to 2.4.1, solves dependency issue (#388)
- Fixed hardware definition in Sonoff Basic and Dual R2 causing wrong relay state on boot (#365)
- Removed auto-recursion check in Domoticz module (#379)
- Rename terminal commands: reset.wifi to wifi.reset, reset.mqtt to mqtt.reset.
- Update JustWifi library to 1.1.6 (support for multiple SSIDs with the same name)
- Changed the way Home Assistant module handles disabling auto-discovery (#383)
- Fix bug in RF Bridge when RF code contains the stop byte. Check overflow (#357)
- Fixed typos in code and wiki (Thanks to @Cabalist)
- Fix bug in magnitude topic and units (#355)
- Small core build to allow two-step flashing method for big binaries
- Thingspeak support (#371, disabled by default)
- Color synchronization between lights using MQTT (#362)
- Support for Arilux AL-LC02 (#347)
- Support for Tarpuna Shield for Wemos D1
- Build option to disable password checking (#373)
- Option to report sensor address via MQTT (#377, I2C address, GPIO, Dallas address,...)
- Added binary size to memanalyzer script
- Option to specify custom client ID for MQTT connection (#368)
- Cross-platform ESPurna OTA Manager implemented in python (untested)
- Terminal command to get or set digital GPIO
- Using 2.3.0 for prebuilt binaries
- Fix delay in DHT sensor
- Allow MQTT keep alive value of up to 3600s
- Changed Sonoff 4CH Pro definitions to support built-in interlock mode (#333)
- Fix uninitialized PWM channels bug (#356)
- Added memory analyzer
- Fix my92xx and pwm references for Arduino IDE (#346)
- Fix SHT3X I2C sensor magnitude count (#337)
- Fix timing for DHT11 sensors (#294)
- Fix overflow in relayParsePayload with long MQTT messages (#344)
- Fix loading of Dallas and DHT sensors for Sonoff TH images (#352)
- Subscribe to Domoticz MQTT topics only if Domotic< is enabled
- Added option to change MQTT retain flag, QoS and keepalive time from webUI (#321)
- Added LED modes "always off" and "always on" (#348)
- Defined new ESPurna switch (no HLW8012 support & touch button ready)
- Stop requiring definition of boards in migrate module
- Fixed relay status on reboot
- Added support for Arilux AL-LC01 and AL-LC11
- Added support for BH1750 luminosity sensor
- Added automatic memory size identification in ota_flash script
- Fixed Arduino IDE compilation issues (#330)
- Fixed issues with IE
- Fixed websocket auth issue with Safari (temporary)
- Fixed MQTT group sync when different switches share same group
- Fixed casting issue in buttonStore (#327)
- Fixed crash in InfluxDB initial heartbeat (#318)
- Fixed LED logic for ESPurna H08 board
- New sensors module (major change)
- Existing sensor have been migrated: EMON*, ECH1560, V9261F, HLW8012, DHT, DALLAS, ANALOG, DIGITAL and EVENTS
- New sensor have bee added: BMP280/BME280, EMON over ADS1115, MHZ19, PMSX003 (thanks to Òscar Rovira), SHT3X over I2C and SI7021
- Option to change boot and pulse modes per relay from the web UI
- Option to select sensor read interval and report interval from web UI
- Itead RF Bridge
- Match MQTT RFOUT codes to relays
- Force RFBridge to send messages even if switch is already in requested state (#324)
- Implemented RFbridge message queue asynchronously
- Added option to load config via HTTP POST & reset (#335)
- Added option to define behaviour of the first LED between WIFI, MQTT, FIND-ME (#317)
- Added HTML linter to gulp builder
- Added Help command on terminal (#338)
- Added preliminary support for SSDP (untested, disabled by default) (#282)
- Reporting NTP datetime on MQTT heartbeat (thanks to Eldon R. Brown)
- Added version tracking and migration code
- I2C and GPIO locking features
- Changed default button action for touch button devices (TOUCH and T1) (#327)
- Generic 8 channel board (#336)
- Added more sensor data filters (Max, MobileAverage)
- Changed max pulse time to 1h (#316)
- Renamed "reset" to "reboot" for clarity (#315)
- UI refactor
- Change apiRegister signature
- Fix Sonoff RFBridge learn message from web UI (#287)
- Fix unstability in "one and just one" sync mode (#290)
- Fix unnecessary inclusion of my92xx library (#293)
- Limit the MQTT queue to 10 messages when "Use JSON payload" enabled (#296)
- Fix Sonoff RFBridge OFF button toggling switch (#303)
- Allow defining only ON or OFF codes in Sonoff RFBridge (#304)
- Disabled terminal support for Sonoff Dual (#310)
- Support for SI7021-based sensor by Itead Studio compatible with Sonoff TH (#216)
- Support for Sonoff Dual R2 (#286)
- MQTT group topics (sync two or more switches from different devices, #300)
- Color transitions (enabled by default, can be disabled from web UI)
- Option to disable MQTT support at build time
- Decreased PWM frequency for dimmer lights
- Changed password policy (#297)
- Temperatures with 1 decimal resolution
- Issues with Sonoff B1 due to bad driver management (using my92xx library now)
- Avoid recursive messages on Domoticz (#272)
- Fixed Sonoff T1 configuration
- Simplify and fix web auth (#284)
- Fix Embedis custom parser
- Added option to define a temperature correction factor (thanks to Pawel Raszewski)
- Option to disable system check on build time
- Power saving features (loopDelay and wifi sleep)
- Added Sonoff TH build environment
- Send Home Assistant auto discover messages on connect (#279)
- Implemented Home Assistant availability topic (#280)
- Update time, uptime and heap on webUI every heartbeat
- Support for LLMNR and NetBIOS (#282)
- Added I2C clean bus code
- Added realm to auth challenge
- Changed default hostname to "ESPURNA_XXXXXX"
- Binaries built against stable core (~40Kb less, #274)
- Enabled TERMINAL_SUPPORT for Sonoff Dual (only available via TELNET)
- Dinamically resize debug strings (now messages are not cropped)
- MQTT: unsubscribe to '#' before subscribing
- Updated ESPAsyncWebServer and ESPAsyncTCP libraries
- Removed InfluxDB support by default
- Using stock slider in webUI to reduce size
- Unify DHT and DS18B20 code, show NOT CONNECTED on webUI
- Fixed bug in MY9291-based light bulbs at full brightness
- RFBridge: toggle when RF codes for ON and OFF are the same (#270)
- Support for HSV color schema (MQTT, API and webUI via a selector)
- "COLOR" entry point deprecated, use "RGB" instead (MQTT and API, ex. topic "light/rgb/set" instead of "light/color/set")
- Removed dimmer lights flicker when saving to EEPROM (#191)
- Fixed low brightness in dimmer lights (#157)
- Fixed blank fields in energy (#258, #259)
- Fixed support for Arilux AL-LC06
- Updated fauxmoESP library with support for GetBinaryState actions
- Support for IR remotes
- Option to select power read and report interval from webUI
- Option to report real-time values in API, configurable via webUI
- Support for ESPurna-H Board v0.8
- Support for Arilux E27 light bulb (untested)
- Support for YJZK 2-gang switch
- PWM using ESP8266_new_pwm by Stephan Bruens (https://github.com/StefanBruens/ESP8266_new_pwm)
- Using own DHT implementation (removed dependency on Adafruit libraries)
- Disabled serial debug for Sonoff RFBridge
- Fix Alexa interface switching on all lights (#256)
- Fix power report in Domoticz (#236)
- Fix Sonoff POW in AP mode (#241)
- Fix Home Automation auto-discovery (support for single relay switches and RGB lights, #235)
- Check WS authentication only on start event
- Support for 2.4.0 RC2 Arduino Core that fixes KRACK vulnerablity (pre-built images are compiled against this, #242)
- Support for ManCaveMade ESPLive board (thanks to Michael A. Cox)
- Support for InterMIT Tech QuinLED 2.6 (thanks to Colin Shorts)
- Support for Magic Home LED Controller 2.0 (thanks to users @gimi87 and @soif, #231)
- Support for Arilux AL-LC06 (thanks to Martijn Kruissen)
- Support for Xenon SM-PW702U Wifi boards (thanks to Joshua Harden, #212)
- Support for Authometion LYT8266 (testing, thanks to Joe Blellik, #213)
- Support for an external button for D1 Mini boards (thanks to user @PieBru, #239)
- Option to query relay status via MQTT or WS (thanks to Wesley Tuzza)
- Automatically install dependencies for web interface builder (thanks to Hermann Kraus)
- Support for HSV and IR for Magic Home LED Controller (optional, disabled by default, thanks to Wesley Tuzza)
- Added option to report DS18B20 temperatures based on changes (thanks to Michael A. Cox)
- Safer buffer handling for websocket data (thanks to Hermann Kraus & Björn Bergman)
- Updates HL8012 library with energy counting support (thanks to Hermann Kraus)
- Added option to disable light color persistence to avoid flickering (#191)
- Option to enable TELNET in STA mode from web UI (#203)
- Changed default MQTT base topic to "{identifier}" (no leading slashes, #208)
- Prevent reconnecting when in AP mode if a web session or a telnet session is active (#244)
- Web UI checks for pending changes before reset/reconnect options (#226)
- Increase WIFI connect timeout and reconnect interval
- Revert to JustWifi 1.1.4 (#228)
- Added ESPurna specific mDNS text registers (app_name, app_version, device_name)
- Crash dump info is stored in EEPROM and retrieved via terminal ("crash" command)
- Support for Huacanxing H802
- Support for powermeters based on V9261F IC
- Support for powermeters based on ECH1560 IC (beta, untested)
- Changed behaviour on MQTT connection failure (#215)
- Removed boot delay
- Refactor power modules
- Updated JustWifi library
- Set all esp8285 devices to use esp01_1m (#210, #225)
- Removed wifi gain option since it prevents some devices to connect (#204)
- New "erase.config" option in terminal to delete SDK settings
- Added error code to error message when updating from web UI
- Fixed Web UI to be behind a proxy (http://tinkerman.cat/secure-remote-access-to-your-iot-devices/)
- Support "ON", "OFF" and "TOGGLE" (also lowercase) as payload in relay MQTT, API and WS (http://tinkerman.cat/using-google-assistant-control-your-esp8266-devices/)
- Updated fauxmoESP library to 2.2.0
- Fix HLW8012 calibration (#194)
- Fix telnet dropping connection
- Fix WiFiSecureClient connection with PubSubClient (#64)
- System stability check (turns off everything except WIFI AP, OTA and telnet if there is a boot crash loop) (#196)
- Telnet support (enabled by default only on AP interface)
- Option to set WiFi gain from web UI
- Option to disable MQTT from web UI
- MQTT autodiscover, with the option to autoconnect if no broker defined
- Home Assistant MQTT autodiscover feature
- List enabled modules in INIT debug info
- Counter module (counts and reports transitions in a digital pin)
- Updated NoFUSS support
- Web UI documentation changes
- Changes in terminal commands ("reconnect" is now "reset.wifi", also new commands added)
- Crash in settings saving (#190) and fixed UDP debug conditional build clauses
- Support to build without NTP support
- Added current time, uptime, free heap, firmware size and free space to web interface
- Changed settings keys for Itead Sonoff RF Bridge
- Disable Domoticz by default
- Fixed build flags for DHT and DS18B20 in platformio.ini file
- Fixed Itead Sonoff B1 by updating the my9291 library
- Fixed light status on boot (#157)
- Fixed CSS bug cause by a bad merge
- Support for IteadStudio BN-SZ01 Ceiling Light (#132)
- Support for IteadStudio Sonoff RF Bridge (#173)
- Support for IteadStudio Sonoff 4CH Pro (#174)
- Support for IteadStudio Sonoff B1
- Support for IteadStudio Sonoff LED
- Support for IteadStudio Sonoff T1 wall switches (1, 2 and 4 channels)
- Support for WiOn 50055 WiFi Wall Outlet & Tap
- Support for EXS WiFi Relay v3.1 (and other future latching relay boards) (#152)
- TLS/SSL support for MQTT (caution: eats a lot of memory, do not use with web interface) (#64)
- Add support for delayed ON/OFF switches (#123, #161, #188)
- Added ON and OFF actions for button events (previously only TOGGLE available) (#182)
- Sliders in web interface to control dimmer channels independently (also for brightness)
- Debug info about MQTT disconnect reason
- MQTT setters ending with "/set" by default
- Using DOUT flash mode on all devices (#167)
- Longer timeout for WiFi connection (better chances for Sonoff Basic to connect)
- Changed MQTT topics for light devices (COLOR, BRIGHTNESS, MIRED, KELVIN, CHANNEL) (#144)
- Changed the way light devices are defined (see LIGHT_PROVIDER_DIMMER)
- Allow to disable color picker in web interface
- API returns processed values for HLW8012 sensor (not raw values anymore) (#176)
- Major refactoring of settings
- Discard MQTT messages with empty payload (#185)
- Wifi connection issue (esp8266/Arduino#2186)
- Alexa connection issue
- Issue #85 and #90. Option to report MQTT messages with JSON payloads
- Issue #170. Updated DebouceEvent library to allow disabling double click and get faster click responses
- Using memory layout with no SPIFFS for 1Mb devices
- Rename settings s/POW/HLW8012/
- Return times in ISO8601 format
- InfluxDB support via HTTP API
- Added custom reset reason to debug log
- Enable WIFI debug on hardware reset (button long click)
- Issue #159. Allow decimals in relay pulse interval
- Updated HLW8012 library
- Issue #148. Fix bug in conditional compilation check
- Issue #149. Using different pulse counters for each relay (thanks to Lauris Ieviņš)
- Issue #141. Limit relay pulse interval to 60s
- Fixed units for apparent & reactive power (thanks to Lauris Ieviņš)
- Fixed mDNS setup when using custom HTTP port for web interface
- Issue #140. Fix no relay control bug in Sonoff Dual
- Added gamma correction to RGB strips. Thanks to Chris Ward.
- Added support for Huacanxing H801 WiFi LED Controller. Thanks to Minh Phuong Ly.
- Issue #138. Added NTP configuration from web interface
- Issue #128. Report color when booting and in heartbeat stream.
- Issue #126. Show NTP status in web interface.
- Added filter limits on POW readings.
- Added color temperature to RGB calculation. Thanks to Sacha Telgenhof.
- Issue #120. Added relay flood protection. Thanks to Izik Dubnov.
- Support for "#RRGGBB", "RRR,GGG,BBB" and "WWW" color formats.
- Issue #117. Added build date & time to web interface.
- Fix MQTT_RELAY board conifugration. Thanks to Denis French.
- Issue #125. Fix bug in relay status reading from EEPROM
- Issue #127. Fix button action in DUAL.
- Fix bug in Sonoff POW current reading. Thanks to Emmanuel Tatto.
- Minimizing my9291 flickering when booting.
- Fix conditional flags in hardware.ino to support Arduino IDE.
- Web interface embedded in firmware image by default
- Upload firmware image from web interface
- Added API entry point to change light color
- Added generic analog sensor. Thanks to Francesco Boscarino
- Report RSSI value in debug console and MQTT status messages
- Added support for Magic Home LED Controller
- Added support for ESPurna-H Board (based on HLW8012)
- Added forward compatible code for v2.0
- Added ellipsis (...) in debug messages longer than 80 characters
- Changed topic constants in code
- Prevent the SDK from saving WiFi configuration to flash
- Issue #113. Fix light bulb state to OFF in library prevented the bulb from turning on
- Issue #58. Added code to handle spurious readings
- Fix bug in HLW8012 calibration current parameter casting to int instead of float
- Issue #115. Removed local declaration of _mqttForward variable. Thanks to Paweł Fiedor
- Fix MQTT will topic. Thanks to Asbjorn Tronhus
- Two stage read for DS18B20 devices. Thanks to Izik Dubnov.
- Option to report the relay status via MQTT periodically
- Terminal commands to change relay status an light color
- Added debug via UDP (disabled by default)
- Moved debug strings to PROGMEM. ~1.5KByes memory freed
- Avoid broadcasting websocket messages if no clients connected
- Fixing use after free bug that leads to corrupted auth credentials. Thanks to David Guillen
- Issue #85. Heartbeat reports now free heap, uptime and VCC every 5 minutes
- Wait two minutes instead of one in AP mode before trying to reconnect to the router
- Issue #92. Debug log enabled by default in Arduino IDE
- Issue #91. Using AsyncMqttClient as default MQTT client again
- Report data from all sensors via websocket even if no MQTT connection
- Issue #92. Fix unknown reference in Arduino IDE
- Split data.h contents into 1k lines, otherwise Arduino IDE chokes on them
- Discard empty MQTT topic while subscribing
- Support for OpenLight / AI-Light by AI-Thinker based on MY9291 LED driver
- Issue #87. Factory reset when physical button pressed for >10 seconds
- Issue #82. Fix critical bug on Sonoff Dual
- Option to backup and restore settings from the web interface
- Footer in the web interface
- Using PubSubClient as MQTT client by default (please read the documentation)
- Double & long clicks do nothing except for the first defined button
- Issue #79. Fix bug in WiFi led notification & MQTT connectivity (using PubSubClient)
- Issue #73. Fix bug when building without Domoticz support
- Fix Gulp tasks dependencies
- Option to embed the web interface in the firmware, disabled by default
- Change relay status with a GET request (browser friendly)
- Support for PROGMEM debug messages (only wifi module has been changed)
- Option to disable mDNS, enabled by default
- Show current web server port in debug log
- Issue #75. Link relays to LEDs
- Issue #76. Using http://espurna.local when in AP mode
- Images and favicon is now embedded in the HTML
- Authentication challenge only in /auth request. All static contents are un-authenticated
- HTTP response code when out of websocket slots changed from 423 to 429
- Memory leak in MQTT connection method
- Wait 60 seconds before retrying to connect when in AP mode
- Issue #24 & #74. Update ESPAsyncTCP and ESPAsyncWebServer to latest GIT version that supports MSS defragmenting
- Issue #73. Fixes for windows machines
- Captive portal removed, mDNS resolution for AP mode too
- Issue #69. Temperature unit configuration from the web interface
- Issue #55. WebServer port configurable from the web interface, defaults to 80
- Expand network configuration when adding a new network
- Merged web contents except images in a single compressed file for reliability
- Update support for Itead Motor Clockwise/Anticlockwise board
- Scan for strongest network only if more than 1 network configured
- Issue #71. Added default values for netmask and DNS in web configuration
- Fixed Itead 1CH self-locking/inching board definition
- Fixed PlatformIO environments for ESP8285 boards (4CH and Touch)
- Check if there is an MQTT broker defined before the MQTT_MAX_TRIES check
- Added support for Jorge Garcia's Wifi+Relay Board Kit
- Reporting current and energy incrementals to a separate counters in Domoticz (thanks to Toni Arte)
- Force WiFi reconnect after MQTT_MAX_TRIES fails trying to connect to MQTT broker
- Added support for toggle switches
- Allow reset the board via an MQTT message
- Allow reset the board via an RPC (HTTP) message
- Added support for ADC121 I2C for current monitoring (Check http://tinkerman.cat/power-monitoring-sonoff-th-adc121/)
- Reporting voltage to Domoticz (only HLW8012)
- Map button events to actions (toggle relay, AP mode, reset, pulse mode)
- Reporting energy incrementals (Domoticz, MQTT)
- Removed current monitor bypass when relay is OFF
- Removed energy API entry point
- Issue #50. Fix type bug in window variable when calculating energy for HLW8012 devices (Sonoff POW)
- Energy calculation and aggregation. API entry points and MQTT messages.
- Fix bug in emon topic payload
- OpenEnergyMonitor WiFi MQTT Relay / Thermostat support (thanks to Denis French)
- NTP connection refresh upon wifi connection
- Filesystem image build using local gulp installation
- Pulse mode. Allows to define a pulse time after which the relay will switch back
- API entry points for sensor data (power, current, voltage, temperature and humidity)
- Export sensor data to Domoticz (power, current, voltage, temperature and humidity)
- Configurable (in code) mapping between buttons and relays
- MQTT messages for button events
- Added support for Itead Studio 1CH inching/self locking smart switch board
- Added support for Jan Goedeke Wifi Relay boards (both NC and NO versions)
- Notify OTA updates to websocket clients, automatically reload page
- Support for pulse mode notification LED and button
- Revert relay state mode on boot (thanks to Minh Phuong Ly)
- MQTT will topic
- Crash with HLW812 interrupts while trying to create a WIFI connection
- Issue #20 Better inline documentation for Alexa and Domoticz default settings
- Issue #39 Fixed autoconnect issue with static IP (fixed in JustWifi library)
- Issue #41 Added password requirements to initial password change page
- Changed LED pattern for WIFI notifications (shorter pulses)
- Adding current, voltage, apparent and reactive power reports to Sonoff POW (Web & MQTT)
- Issue #35 Fixed frequent MQTT connection drops after WIFI reconnect
- Defer wifi disconnection from web interface to allow request to return
- Move all Arduino IDE configuration values to their own file
- Using latest HLW8012 library in interrupt mode
- Issue #6 Using forked Time library to prevent conflict with Arduino Core for ESP8266 time.h file in windows machines
- Support for inverse logic relays
- Issue #31. Fixed error in relay identification from MQTT messages
- Alexa support by default on all devices
- Added support for Wemos D1 Mini board with official Relay Shield
- Multi-packet websocket frames
- Domoticz support via MQTT (https://www.domoticz.com/wiki/MQTT)
- Support for static IP connections
- Issue #16. Enforce minimum password strength in web interface
- Using default client_id provided by AsyncMqttClient
- Allow up to 5 different WIFI networks
- File system version file
- data_dir fix for PlatformIO
- Arduino IDE support (changes in the folder structure and documentation)
- Force password changing if it's the default one
- Added Last-Modified header to static contents
- Added DNS captive portal for AP mode
- Added support for Sonoff 4CH
- Added support for WorkChoice ecoPlug (ECOPLUG). Thanks to David Myers
- Added support for Sonoff SV
- Added support for Sonoff Touch
- Comment out hardware selection in hardware.h if using Arduino IDE
- Added support for MQTT get/set suffixes (/status, /set, ...)
- Added support for LED notifications via MQTT
- Added EEPROM check commands to terminal interface
- Using unreleased AsyncMqttClient with stability improvements
- Better decoupling between MQTT and relays/websockets
- Skipping retained MQTT messages (configurable)
- Issue #11 Compile error when building sonoff-dual-debug
- Issue #14 MQTT Connection with Username an Password not working
- Issue #17 Moved static variable 'pending' to class variable
- Added support for DS18B20 temperature sensor. Thanks to Francesco Boscarino
- Added reset command from console
- Added support for multirelay boards like Sonoff DUAL or Electrodragon ESP Relay Board
- Not using espressif8266_stage in default environment
- Relay MQTT topics
- API entry points
- Old non protected API
- WeMo emulation through the fauxmoESP library (control your switch from Alexa!)
- REST API for relay management
- Better dependency definitions in platformio.ini
- Option to define inverse logic to on-board LED
- Built data folder included in repo
- Using non-interrupt driven mode for HLW8012
- Better documentation
- Small changes to web interface
- Same admin password for web, OTA and WIFI AP mode
- Prevent fauxmoESP to be compiled by default
- Removed ESPurna board to its own repo
- Basic authentication and CSRF to websocket requests
- Using ESPAsyncWebServer (for web & websockets) and AsyncMqttClient
- Preliminary support for Sonoff POW
- Replace AJAX requests with websockets
- Using sprites for images
- Hostname can be changed
- Added initial relay state mode
- Reconnect and reset buttons on web interface
- Changed long click to reset and double click to AP mode
- Using officially supported platformio.ini file by default
- Removed unnecessary memory inefficient code
- Temprary fix for Adafruit DHT library (see adafruit/DHT-sensor-library#62)
- Using PureCMS for the web interface
- Using gulp to build the filesystem files
- Using Embedis for configuration
- Updated JustWifi library
- Web interface changes
- Using custom platformio.ini file
- Loads of changes in modules
- Added DEBUG_MSG
- Clean gulp builder script
- Moving wifi management to library (JustWifi)
- Split code into modules
- Added heartbeat, version and fsversion MQTT messages
- GZip 3rd party contents
- Initial stable version