Kaufberatung / Consulting  +49 228 1803 1974

Technischer Support / Technical Support  +49 30 5228 1577

Update Info

## Version 3.0.36 + Allow CSV files to be exported via TELEMETRY (cloud symbol in FILE browser). + Implement new file name modifiers %D (date) and %S (unix time) in UPLOAD module. + Fix missing 'send Interval' to MUCEASY telemetry protocol. + Better UI rendering on mobile browsers. + Improve UI button visualization (adding hover and active states). + Fix possible misconfiguration, when switching from RC w/ integrator to w/o. - Made canvas widgets (history and service) skinable. - Replace deprecated HTML tag XMP with PRE. - Limit the number of pending TCP connections (backlog) to 2. - Make LittleFS API compatible with CORE 2.0.0 for future upgrade path. - Add json formatting functions for warnings. - Add module state SAVE button to SERVICE page. - Increase factory rest button press time to 8 seconds (#301). - Better sensor data mocking, prepare for finished CSV import. - Slightly decrease ms drift in storage module. ## Version 3.0.35 + Fix possible reboot loop, when WPA2-ENTERPRISE auth failes. + Fix unstable AP while bluetooth is enabled. - Partial implementation of telemetry CSV import (#293). - Renamed global status variable 'bootup' to 'booting'. - Add new global status variable 'halting'. - Free all BLE mem when shutting down. - Clean up CaptivePortal DNS code (saves 130 bytes in flash). - New calib. scale factors for integrator-less RCs (dafdaf). - Disable TLS for model caroline. - Implement FAKE-MODE. ## Version 3.0.34 + Improve up- and download speed on FILES page. + Improve accuracy for RCs without integrator. + New 'update trigger' command for telemetry RPC console. - Make build work even when Makefile.local is missing. ## Version 3.0.33 + Add support for RCs without built in integrator. + Fix 1 hour storage interval. + Don't mark EEPROM as defect, when only one transmission fails. - Fix, reverting the fix for missing EGY values on ESP8266. - Allow 'update' to switch builds in non .99 versions (#281). - CORE updated from 1.0.5 to 1.0.6 (last stable before 2.0.0). - Add protocol version (1) to TB telemetry JSON payload (#284). ## Version 3.0.32 + Add support for AWS-IoT in TELEMETRY module. + Add support for mTLS and WPA2 Enterprise. + Restart MDNS, STORAGE, TELEMETRY and LOGGER when system name has changed. + Send summary of all energy values every X minutes. + Move keys and certs from FS to NVS. + Implement different telemetry intervals for different sensors. + Reduce DNS timeout from 15 to 3 seconds. - Allow setting config via TB attributes. - Add commands to reset energy meter and pulse counter via BLE. - Don't send negativ delta for counter when counter gets reset (#241). - Allow topics to become up to 64 bytes long. - Better error handling and reporting in config-set(). - Prefix ADE register defines with ADE- to fix name clash (#248). - Fix telemetry and storage sensor values setup in Emonio-P1. - Enable XTRM values for HLW driver. - Increase MIN mqtt buffer size from 1280 to 1536 bytes. - Make EGY-NUM-PHASES index an 8 bit counter everywhere. - Hugh code refactoring that gets rid of the SENSOR-VALUE-XXX enum. - reduce html stack buffer form 2200 to 1800 bytes. - Make log line length customizable in Makefile.local. - Disable LENERGY IRQs while waveform gets sampled. - Clear RSTREAD in LINE CYCLE ACCUMULATION MODE REGISTER. - BLE auto login, if device is not configured. - Use polling instead of IRQ based EGY reading on ESP8266. ## Version 3.0.31 + Trigger automatic CSV file upload (if enabled) when FS gets full. + Improve UPLOAD reliability under bad network conditions. + Show a history graph of the last 5 minutes of active power usage in HOME. + Do not restart the UPLOAD interval when rebooting or power is lost. + Simplify SETUP page, move CLOCK page into SETUP. + Increase measurement resolution of FREQ to 0.024Hz/LSB. + Increase WATT, VAR and VA accuracy during file uploads. + Make AP status persistent through reboots. + Do not spam log when configured SSID is unavailable. + Add network watchdog (can be activated via CLI). - Remove experimental code to reconnect on LOST-IP event. - Do not render menu entries for modules that are disabled. - Change default port for SMTP over TLS to 465. - Rename Log to Logging and Counter to Pulse Counter on SETUP page. - Improve logging when setting system and RTC time. - Remove rtc and ntp interval from config (#263). - Allow peeking into the MQTT connection state via CLI 'info mqtt'. - Add IDF version check that works for IDF3.1 upwards. - Update LITTLEFS to latest upstream code. - Rename GetKey() to KeyGet(). - Nicer Terminal::Center() method that correctly handles escape sequences. - Let Termianl::Center() fall back to Print() if width is unknown. - Fix some TAB completion and history browsing oddities during login. - Add RAT (remote administration tool) module. - Make multi-page EEPROM writes faster by the factor of 3. - Automatic config versioning (#264). - Add new HTML page 'SERVICE', move INFO into SERVICE. - New CLI command 'locate' to enable LED scanner. - Implemented EVENT logging module. - Refactor ADE7758 IRQ handling. - Initial import of OLED module. - Remove unused direct i2c esp32 API support. - Code cleanup in time functions. - Move timestamp to string function from storage to system. ## Version 3.0.30 + Change the way system load (esp. CPU) is calculated. + Reduce CPU load for TELEMETRY, LED and COUNTER modules. + Improve logging to all channels especially network logging. + Always show spinner buttons in number input elements in firefox. + Publish version information via mDNS service '_emonio._tcp'. + Redefine factory reset values. + Test if flash FS is writable on boot. + Add total reboot and operation time counters. + Fix CSV header when THD and A+B+C is enabled. + Reboot after SmartConfig has set the network credentials. + Do not send A+B+C values if no phase is connected. + Make FS readonly after power cut event. + Add experimental code to reconnect on LOST-IP event. - Make config auto loading cleaner and saver. - Make logging header adjust automatically to version string length. - Fix possible crash when unmounting SD card. - Fixed typo in web-update error string 404. - Save and restore model code when erasing config. - Bypass Serial.end() in ESP32 builds except DRAVUNI (causes reboot-hang). - Try to fix some math.h include incompatibilities. - Fixes warnings after #endif // comment - Fix missmatched curly brakets when sending empty file list over JSON. - Add functionality to abort file, ssid, log transmission over BLE. - Make triggering manual upload more robust (#253). - Add 'make mrproper' target to undo 'make deploy'. - Fix missing fs-close() in BLE. - Disable dynamic CPU clock switching for ESP8266 and set CPU clock to 160Mhz. - Make EEPROM emulation more robust. - Fix TELEMETRY logging if neither NETWORK nor FILE is selected too. - Remove double ' in logs when connecting to SMTP server. - Fix native build (host-mocking). - Update ESP32 and ESP8266 IDF and core and makeEspArduino (#254). - Fix filesystem usage numbers on LittleFS. - Safer logging to TELEMETRY when log string contains double quotes (#252). - Bring ESP8266 and ESP32 cores up to date. - Update NimBLE to latest upstream version. - Backport MODBUS upstream fixes. - Add LittleFS support to all ESP32 models. - Function name refactoring to clarify hw-name and device-id. - Do not log an error when setting RTC but RTC is disabled. - Fix potential FS running full bug, when formatted with FFATFS (#251). - Remove possiblity to disable EEPROM via config. - Basic implmentation of voltage sag and swell detection on ADE7758. - Clear FS state when FS is re-initialized. - Resume normal operation after short power glitches. - Fix critical hang on boot when MQTT is not connected and there is any error. - Disable logging to FS in case of power loss. - Better error handling in CLI update command. - Fix first sensor poll interval and ommit first sensor values. ## Version 3.0.29 + Prevent FS corruption in case of sudden power loss. + Add A+B+C values to telemetry. + Do not try to connect to empty SSID. + Use the watchdog to prevent hangs while rebooting. + Fix select arrow in firefox browser. + Implement firmware update from FS and check for update image during boot. + Remove confusing 'changelog is unavailable' error on UPDATE page, simply show no log. + Hide 'File Size' in STORAGE setup if no SD card is inserted. + Increase available space for FS. - Implement persistent relay state during power cycling (Emonio-P1). - Change relay [On]/[Off] buttons to one [Toggle] button on HOME page (Emonio-P1). - Allow the CLI update command to switch firmware to a different model (ALPHA only). - Reorder model names to match logical model hierarchy. - Implement copy protection (#237). - Implement ENV variables as a means to simple inter module communication. - Move BLE implementation to NimBLE stack (#245). - Implement ms counter from power loss to shutdown. - Make sure wifi is off on bootup. - Switch ADE7758 driver to HW SPI (#32). - Initial import of ADE9000 driver (#243). - Make BME680 sensor more robust and provide a proper sensor info and reset UI. - Better BLE support, new handshake, reboot command, wifi list, error handling. - Disable all telemetry protocols in build if TELEMETRY itself is disabled. - Implement automatic offset calibration. - Fix MODBUS server restart bug (#239). - Emmit -mfix-esp32-psram-cache-issue compiler flag when PSRAM is enabled. - Add new skins. - Normalize all model config files, add all future models to build scripts. - Add model IKEMA for new Emonio-P3 hardware version V2.2 and JARVIS for Emonio-P3pro. - Much improved CLI: TAB completion for LED and RELAY commands, better help, new 'version' command, simplified 'clock' command. - Interpret STORAGE filesize limit as MB on all filesystems (#236). - Change '(button|relay|led)-state' function names to 'status' to avoid confusion with MODULE state API. - Add support for MODBUS/TCP protocol in TELEMETRY. - Implement support for external SPI RAM. ## Version 3.0.28 + New file system to better handle FS full condition and improve performance. ## Version 3.0.27 + Prepare for pending FS change in next version. + Add 'system time not set' and 'telemetry disconnected' warning. - Limit BLE message send rate to 1 message in 20ms. - Rename -state to -status in LED, BUTTON and RELAY to avoid confusion with module state. - Rename all instances of 'relais' to the correct english word 'relay' (#235). - Refactor LED function to LED number mapping (#235). - Do not mark FS as corrupt, when write failes while FS is full. - Fix default telemetry values for model borabora (235). - Refactor relais function into own relais.cpp file to prepare for persistent state handling (#235). - Add zlib support for updates via FS (#173). - Disable Arduino initPins() function via linker wrapping (#235). - Support model specific version numbers in update script. - Fix crash when starting CaptivePortal DNS (#235). - Hide FREQ and Phases from setup page on Emonio-P1 (#235). - Fix not pulling in the right version in two stage update (#235). - Bring ESP8266 core up-to-date. - Bump CONFIG VERSION number to 12. - Force update version to 3.0.27, if current version is <3.0.27 - Completely refactor MODEL and LANGUAGE handling (rm GPIO-CONFIG). - Remove test code (not marking FS corrupt on write error). - Make FS and all depending modules more robust against mount error. - Disable CONSOLE in release builds. - Make LED code more robust against misconfiguration. - Add CRC32 calculation to ESP8266 (fixes missing version check for .99). - Fix blue LED not working on model borabora. - Add CLI commands toggle and state for led and gpio. - Implement two-stage-update (#228). - Remove confusing 'autoexec.bas script has ended' log. - Print correct chip number in HLW driver logs. - Pull button logic into its own file. - Add 'log' and 'echo' CLI commands. - Proof of concept CRON implementation (#234). ## Version 3.0.26 + Dimm values of not connected phases on DETAIL page. + Correct WATT, VAR and VA values after long blocking operations. + Add new system state WARNING and do not blink error led when out of range. + Implement min/max (XTRM) values in STORAGE and TELEMETRY. + Do not ommit disconnected phases from the sum KWH meter in STORAGE. + Remove wifi watchdog from SETUP. + Check FS usage immediately after deleteing a file to stop error LED sooner. - More polite ERRORS and WARNINGS. - Fix possible underflow of low heap warning counter. - Better support for different number of phases (i.e. 1 to 4). - Update build environment to 2.6.0 on ESP8266. - Implement new ADE polling scheduler. - Remove PING support. - Separate sensor values mask in config and drivers. - Only switch CPU speed on bootup if different from default. - Suppress unhandled net events in AP mode on ESP8266. - Implement spectrum analyzer (#48). - Clean NET code (#153) and prepare for WPA2-ENTERPRISE (#232). - Add support for FFATFS (ESP32) and LITTLEFS (ESP8266). - Add websocket API to get device model (for calib script). - Add RELAIS support (switch control) in TELEMETRY RPC API. - Implement auto start of autoxec.bas script (#74). - Remove the possibility to disable the GPIOs via config. - Remove misleading CONNECTED TO AP log message. - Add new BASIC command 'WAIT' and new CLI command 'relais'. - Allow TELEMETRY protocols MQTT anf HTTP to be disabled at compiletime. - Support new THINGSBOARD protocol with valid timestamps (#45). - Reduce flash usage by removing implicit inline String constructors. - Unify storage interval handling for minutes and seconds intervals. ## Version 3.0.25 + Avoid negative peaks in watt readings. + Stop logging to file if FS is corrupt. + Make MDNS name show up on SETUP page like any other field. + Improve net reconnetion and restart stability. + Improve wave-form sampling stability on SCOPE page. - Save IRAM by moving functions to RAM that are not called from interrupt. - Make advanced setup view the default in APLHA builds. - Update build environments. ## Version 3.0.24 + Move KWH energy meters to double precision floating point numbers. + Improve network reconnection handling. + Improve error reporting, new CLI command `info error`. + Implement calibration data import/export in CLI. + Add -o and --once to meter, counter and top CLI commands. + Reduce CPU load of idling network server instances. - Refactor [SENSOR] page, add DHTXX and DS18XX sensors. - Make room for meter and counter values bigger (#214). - Hide Environment header in [HOME] page, when no sensors active. - Improve I2C stability on ESP8266. - Use new heap statistic API (better, but slower). - Don't disable CRC check during wave sampling. - Lock RTOS task switching during ADE communication. - Add BW-SHP2 support, add calibration for HLW8012. - Increase buffer size for login page to avoid buffer reallocation. - Support for multiple DS18XX sensors (#210). - Add build flags for DallasTemperature lib for smaller build. - Update DS18XX temp sensor library to latest version (#210). - Change DHT GPIO pin from 5 to 16. - Replace ugly config key retrieval code by a nice GET-CFG-KEY() macro. - Better error detection, counting and reporting in ADE ISR. - First test version of WAVE recorder (#182). - Update build environments. ## Version 3.0.23 + Flash yellow led during FTP and SMTP uploads. + Fix crash on upload when telemetry logging is enabled. + New CLI command 'upload' to trigger manual file uploads. + Nicer logs and better 'From:' and 'Subject:' header in SMTP module. + Set WD according to filesize for up- and download (#208). + Fix typo (missing 't' in javascript) in mime type. + Reset FS full error after formatting. + Better detect and handle EEPROM and RTC hardware defects during runtime. + Implement 'cat' for telemetry (MQTT) RPC console (#142). - Reset watchdog counter, when setting new timeout. - Allow for longer tokens in JSON input string. - Increase MQTT receive buffer from 256 to 512 bytes. - Set GPIO pullups for SD card SPI bus. - Fix compile error, when TEST is enabled. - Renamed ADE register definition file. - Renamed PROM to EEPROM to remove possible confusion. - Removed support for HC06 bluetooth serial dongle. - Fixed debug log in i2c error handling. - Reduce MQTT max send buffer size. - Send errors over BLE and Telemetry (#145 and #207). - Use new unified buffer management in SMTP, WS and telemetry (#206). - F() macro fixes for small strings in JSON serializer. - Reduce stack usage in fs-cut() to avoid stack corruption on ESP8266. - Propagate return error from publish() back to the caller (#204). - Fix TB server disconnect, by removing logs in RPC callbacks. - Add support for GPIO (LED) widget in TB protocol. ## Version 3.0.22 + Ignore invalid NTP responses (fix rare time jump to year 2036). + Improve browser compatibility of Web-Interface. + Better dmesg CLI command. + Abort updates in case config cannot be exported to avoid losing config. + Fix FILES page when one or more filenames are too long. + Fix missing CPU, MEM and NET percentages in 'top' CLI command. - Improve logging over telemetry and BLE. - Removed automatic sending energy/meter values in BLE. - Check return code of File::write(), set FS corrupt on error (#200). - Move FILES JS code into html/files.js. - Make content in fieldsets slightly bigger. - Nicer box sizing by removing dependency on CSS calc(). - Refactor log JSON serialization to be less hungry on RAM (#57). - Send correct end marker after last JSON log line (#57, #145). - Do not send 'failed to send' messages over telemetry (#170). ## Version 3.0.21 + Make date and number format configurable for CSV files. + Add support for configurable timezones. + Fix possible 'inf' PF values in storage and telemetry. + Fix PF calibration not working in web-interface. + Show error on [HOME] page, when device is not calibrated. - Add MHZ sensor calibration UI (#184). - Move float2str() from util to storage. - Format numbers in the UI according to the locale set in the OS (#62). - Config read/write refactoring (#193). - Removed EEPROM emulation lib, moved implementation into config. - Fix sensor-log-values() for EGY sensor data. - Instrument setup.js with ifdefs to exclude unneeded features (#190). - Build system refactoring to support JS preprocessing (#190). - Save flash by removing unused strings and config values (#190). - Compress the list of all available CLI commands into a single string. - Compress the list of all used config keys into a single string. - Fix timezone setup on ESP8266 (no support for pos. param in printf). ## Version 3.0.20 + Show system errors on HOME page. + Don't show wrong config when AP is not running. + Fix YEL LED after scan when AP is running. + Fix possible wrong SSID of local AP. + Prefer old files in CSV upload, when more then one file is available. + Rename cos phi to pf. + Rename GAS to QUAL in ENV sensor setups. + Only scan for WiFi networks every 12h. - Add CO2 sensor support (#180). - Add new command `mhz` to calibrate and reset mhz CO2 sensor. - Fix AP always on (with wrong config) on ESP8266. - Disable RTC error, when RTC is disabled in SETUP. - Better error handling in NTP module. - Adapted model Borabora to BW-SHP2 specifics. - Update Arduino Core to latest version. - Harmonize SYSTEM info. ## Version 3.0.19 + Make sending mails more reliable on slow internet connections. + Fix possible time jump error in CSV files. + Perform wifi scan in background after boot and every half an hour. + Fix triggering updates via RPC. + Fix bug when a custom ca.cert file is used for TLS. - Remove useless output from ade-info(). - New DHTXX sensor driver (#17). - Added last will testament to the GENERIC/MQTT telemetry protocol (#157). - Add stress test module for testing PROM and ADE (#172). - Set smaller buffer size for ESP8266 TLS connection. - Make SPIFFS a compile time option (HAVE-SPIFFS=0). - Add heap fragmentation to SYSTEM page on ESP8266. - New timing for SW SPI (#172). - Prefix logs to the UDP network with device-name. - Add command line switch to mail command to force TLS on or off. - Disable progress updates in CLI via RPC (#177). - Allow firmware to be compiled as POSIX binary (#125). - Enable progress callback during update for ESP8266. - Bring ALL build environments (SDKs) up-to-date. - Rename update.h|cpp to upgrade.h|cpp to fix build on OSX. - Increase stack size for loop() to 12KB (fix crash in CLI mail command). - Increase CLI line buffer to 255 bytes on ESP32 (#176). ## Version 3.0.18 + Allow logs to be sent to THINGSBOARD. + Better RTC error handling and a new RTC setup. + Fix possible slow start in a very noisey RF environment. + Nicer favicon.ico in browser TABs [E]. + Buttons in SETUP are now always fixed on the bottom of the browser window. + Rename MENU items VALUES -> DETAIL and WAVE -> SCOPE. + Force reloading JS and CSS files after firmware update. + Improve error handling in case of update server not reachable. + Better SYSTEM page for NETWORK and SOFT AP. + Don't reboot as long as a client is connected to the local AP. + Make file and column header optional in Storage setup. + New CLI command 'counter'. + Basic bluetooth functionality (BLE/SPP) for supported HW. + The `reset` command now resets config (factory reset), meter and counter. + Log model name on system start. - Update Arduino Core with cherry-picked fixes from master. - Reset ADE if more then 5 errors per seconds happen. - Refactor logging, to get rid of MODULE prefix in each log line. - Back up PROM binary file, when FS gets formatted. - Fixed network XFER on INFO page for ESP32. - Complete UI refectoring, smaller, faster, cleaner, skinable (#165). - Remove uptime from 'time' json response. - New TEST page, added Test button on SYSTEM page. - Nicer INFO page with fixed position LOAD on the bottom. - Support HW configurations with fewer then 3 leds. - Vastly improve robustness of failed file uploads and updates via webserver. - Don't print hostname as 'espressif' when not set yet. - Print SSID as hostname on ESP8266 instead of "-". - Fix logging of AP disable timeout on ESP8266 (#158). - Unconditionally reboot when the update fails (#161). - Fix spurious WiFi disconnects rebooting the Emonio (#152). - Implement MODEL in build environment. - Allow HTTP update even when Update module is missing or disabled. - Implement emulation of PROM via file. - Support for Emonio-P1 (Sonoff POW). - Support inverted LEDs (high/low active). - Add new make target 'info' to list all enabled features and variables. - Add TAB completion for `reset` command. - Don't start/stop the mDNS responder in the WiFi event handler. - Correctly hide AP and MDNS setup if features are not compiled. ## Version 3.0.17 + Fix sporadic 'nan' values in storage CSV file. + Fix 'connected' flag being too pessimistic in storage CSV file. + Fix '0' values in combined phases when all phases are flaged disconnected. + Tolerate missing 'http://' in the URL of HTTP based telemetry protocols. + Make 'http://' prefix in Update URL optional. + Switch RC 2000A for RC 3000A in CT setup. ## Version 3.0.16 + New PULSE COUNTER module for reed contacts on expansion port. + New CLI command 'dd' (diskdump). + Suspend telemetry module while uploading CSV files via SMTP/FTP/HTTP. + Write correct OBIS codes for ITC file format. ## Version 3.0.15 + Make VALUES page more compact and add total sum of I, P, S and Q. + Fix zero average values in CSV files. + Send CSV files as multipart MIME attachments in SMTP. + Add header to GENERIC CSV files. + Dramatically improve WebServer throughput for up- and download. + Add sensor values selection to telemetry setup. + New storage setup with file format and ENV values. + Implementation of new ITC file format in storage module. + Limit telemetry debug interval to the same rate as sensor data. + Show trigram (hamburger) instead of ... in menue button. - New /test page to measure webserver throughput. - Better file name handling in presence of .bak files in upload module (#135). - Collaps telemetry values when MUCEASY protocol is selected. - Fix additional leading space when size < 1024 bytes in fs-format-size(). - Link wrap RTOS task watchdog functions to make those serial prints go away. - Disable WD before starting file download (#117). - Removed unneeded files from WebSocket library. - Add empty targets to html/Makefile to make them work again in top level dir. - Compile time modularization of complete firmware binary. - Update Arduino Core library. ## Version 3.0.14 + Remove filesize limit setup (256KB on SPIFFS and 256MB on SD card). + Speed up SD card clock rate. + Unifies selection drop down across browsers. + Make web-interface more responsive, by decreasing timeout for first poll. + Rename W to KWH in GUI, and w to kwh in telemetry and storage. + Fix possible bug when storing persistent web sessions. + Add energy values to storage and telemetry modules. + Add Upload module to periodically upload CSV files via FTP/HTTP/SMTP. + Fix red LED not blinking when the FS is already full on startup. - Move static JS and CSS files into html directory. - Add more debug code to persistent WebSessions. - Add host command to CLI to resolve host names. - Add years to storage capacity and changed min/max storage filesize limit. ## Version 3.0.13 + Fix regression that made the very first page loads slow. + Show error, if update is not available in CLI update command. + Make websockets more robust on connects. + Fix being kicked out from session on second login. - Readded support for ESP8266 devices. ## Version 3.0.12 + Allow filesize limit to be changed in storage setup. + Add 1, 5, 15 and 30 second storage intervals. + Fix reboot issue when SSID is unavailable. + Improve SPIFFS stability and avoid massive slowdown when it fills up. + Don't log when clock difference is <500ms to avoid log pollution. + Check for and fix missing line ending when opening a CSV file. + Check the filesize before sending the update image. + Add workaround for setup page not working in IE. - Limit flash writes to once in 5 minutes in file storage. - New `make deploy` target to automatically tag version in git. - Change ESP32 core repository to everslick fork. - Make compilation of BASIC interpreter optional. - Do not log ENV sensor values on each read. - Revert ignoring filesize limit for SPIFFS. - Net API refactoring #111. - Do not cut CORE and IDF debug logs before real MAX-LINE-LEN. - Save 200 bytes of flash memory by JS refactoring. ## Version 3.0.11 + Add environment sensor data to Storage module and HOME page. + Fix login not working, when more then one cookie is set. + Improve accuracy of line frequency measurement. + Better update client in CLI. - Enable SPI checksum check for all builds. - Workaround for boot hang after upgrade from 3.0.7. ## Version 3.0.10 + Support for DS18XX temperature sensors in telemetry. + Fix problem with RTC failing to set correct time after some hours. + Add support for 60 Hz line frequency. - Unifies sensor API for telemetry and storage. ## Version 3.0.9 + Show changes between current and newest firmware in update page. + Major editor improvements (i.e. Help and Save As). + Implemented BASIC commands ON, OFF, COLOR, OSCLI and OSLOG. + Improves BASIC command PRINT. + Fix a bug that prevented successful logins when username or password contained a '&' character. + Fix broken sync with browser clock. + Hide non-privileged user in standard setup view. + Add telemetry advanced setup view. + Send 'permission denied' when RPC over MQTT is disabled. + Adds config switch to disable RCP over MQTT. + Reset wifi SSID and PASSWORD on factory reset. - Added experimental SMTP support and 'mail' command line client. - Added SD card support. - Nicer date logging on boot and date switch. - Make 'vi' an alias to 'edit' in CLI. - Increase robustness of restarting the net module. - Simplifies logic for saving and rebooting on setup changes. - Major setup.js refactoring (incl. change button text). - Force immediate creation of new CSV file when file size limit is reached. - Readd support to limit the maximum transmitter output power in ALPHA builds. - Only scan network once at boot, not on net module reload. - Implement redirect with different delays on setup change (#76). - Log if brownout detection is enabled or disabled. - Disable SmartConfig when AP is started. - Fix writing of old header after storage values setting has changed. ## Version 3.0.8 + Add new generic hexdump tool. + Ported kilo text editor to Emonio. + Ported Mini-BASIC interpreter to Emonio. ## Version 3.0.7 + Add support for RPC over MQTT. + Adds support for SmarftConfig. + Show SSID in NETWORK info. + Improved command line FTP client. + Fix wrong TAB completion for first command. + Implemented FTP command line client. - Remove default value from header paramter in Confirm. - Fixes dowload of small text files (unecpected server response). - Don't set CORE-DEBUG-LEVEL in beta and relese builds. - Nicer verbose output in FTP protocol. - Fixed some minor glitches in command line parser. - Added parser functions to util. - Get rid of global sudo flag in CLI. - Refactoring setting of bitmask setup values, fix for (#69). - Moved const strings from ram to flash. - Increased max command line length from 80 to 128 bytes. - Better esp8266 compatibility. - Use FILE-READ and FILE-WRITE defines in fs-open(). - Add define for maximum filename length. - Align filename and file size in ls command. - Cleaned up code, start as root not user. - Remove extra RAM allocation at startup. - Switch off ansi colors for RPC console. - Allow ansi colors to be switched off. - Allow unlimitted sized MQTT packets to be published. - Better THINKGSBOARD RPC terminal support. - Add comment about return string from telemetry RPC callback. - Nicer logging in telemetry MQTT reveive callback. - Remove cli-set-sudo function for better sudo implementation. ## Version 3.0.6 + Changed 'Advanced' link to button on setup page + Fast start NTP to get time as soon as possible. + Renamed SoftAP to local AP in logs. + Disable low heap mem warning after 5 instead of 10 warnings. + Show username in CLI prompt, forbid login with empty username. + Treat an empty SSID the same as wifi-enabled=0. + Log date on each boot and at the beginning of each day. + Nicer logging when SSID is not configured. + Button caption on setup page changed to 'Save & Reboot'. + Correctly scale WiFi signal strength (dBm) to quality (%). + Add tooltips to CT invert checkbox and clock sync button. + Implemented inverted CT configuration. + Disable green led while button is pressed. - Show overall error in % after calibration. - Implement RPC for all MQTT protocolls. - Don't include edit command in non ALPHA builds. - Invert VAR also, not only WATT. - Fix ' vs. " mismatch in html code. - Invert only WATT, not IRMS, var nor VA. - Fix preprocessor hokum. - HTML code cleanup. - Cosmetically improved logging header. - Nicer calibration button layout. - Make session timeout persistant as well as session keys. - Removed all XHTML "/" in HTML code. - Prepare for submitting setup form without saving. - Implemented new webserver session handler. - Fix double free bug of headers in webserver destructor. - Only log todays date once a day, not every hour. - New, correct values for RCs. - Minor corrections, new -cert command. - 1st working version with integrated PLE10A. - Do not try to write to serial in 'dry' mode. - Add -u USER, -p PASSWD and -d (for dry run) command line arguments. - Added remote control of power source. - Don't record unneeded USER-AGENT header. - Do not degrade current session to user on second login. - New workaround for 'event connected' firing in AP mode. - Zero pad today's date in log entry. - Disable broken permissions check for websockets. - Disable broken websocket session cockie check. - Reserve more temporary memory for long WiFi AP lists. - Don't create empty CA file when formatting FS. - Nicly present a '403:Forbidden' error when a user tries to delete a file. - Check user authentication before allowing certain websocket API calls. - Moved variable declaration to fix compile error. - Don't try to publish empty json string in EMONCMS/HTTP protocol. - Better tooltip text for CT invertion checkbox. - Add tooltip for update refresh button. ## Version 3.0.5 + Fixes green led stopping blinking when setup is not complete. + Refactor HW button handling. + Disable serial device in console for ESP8266. + Enable upload button in ALL builds. + Added new values for additional Rogowski coils. + Better 'top' command (respect terminal window size). + Implement storage value selection. + Show '-' if AP was not configured yet. + Correctly expand/collaps network setups when WiFi is dis/en-abled. + eneable logger setup in all builds. + Fix double free crash when stopping telnet server. + Implements Confirmation for Energy Meter Reset. + Implements storage-filesize config parameter. + Better config consistancy check (force admin != user name). + Added auto-configuration of CTs. + Correct value for 600A/500mV CT. + Sort wifi list so that open WLANs are at the end. - Changed flash layout for 4MB flashes on ESP8266. - Remove old mdns.h include. - CLI refactoring. - Do not use log-print for last "rebooting ..." message. - Minor update because of changes in html pages. - Internal refactoring: rename Server variable to 'server'. - Remove bogus struct initializers from PrivateData. - Log header to CONSOLE even when logger is disabled. - Disable buffer usage log. - Fixes various bugs in release build. - Really enable logs in release builds. - Big config and setup refactoring. - Fixes possible crash in broadcast when websockets is disabled. - Network refactoring. - Reorder modules starting and polling sequence. - Move Alert and Conirm dialog boxes to common.js. - Shortened code a little. - Changed log to mach all other modules. - Remove redundant scale-var and scale-va factors. - Fix for #38. - Default 80A. Todo: auto-configure CT-values. ## Version 3.0.4 + Reverted to old, correct irms-scale values. + Added IRMS-GAIN calibration. + Fixes passwort export/import (base64). + Implemented Logger setup. + Fix timeout during WIFI disconnect. + Software calibration for IRMS GAIN. - Disable Logger setup in RELEASE builds. - Remove root-ca-crt header file. ## Version 3.0.3 + Make LEDs blink slightly faster. + Fix red led slow blinking. + Better timed reboot, to not mess up serial console. + Init GPIOs before NTP and WIFI. + Better logging, fix premature starting of NTP and NETLOG, if AP is enabled. + Start network services even when SSID is not configured. + Skip modul init on bootup, if WiFi is disabled. + Force setting DEFAULT-WIFI-ENABLE when factory resetting. + Ignore telemetry state for LED blinking if wifi is disabled. + Implement non-privileged user (#30). + Speed up reboot. + Network (re-)connection refactoring. - LED handling refactoring. - Better error logging in telemetry module. - Further extended main loop watchdog. - Nicer 'info net' display. - Test HTTP connection in 'connect' also for MUCEASY. - Rearrange some init code for setting hostname. - Increase main loop WD timeout. - Fixes permanent ADE temp calibration (#31). - Fixes wrong user privilegs on first CLI command. - Make 'cat' a sudo-only command. - whitespace fix (tabs vs. spaces). - Simplify ade temp calibration. - Slow down logging to network over UDP. - Revert shutdown delay values. - Buffer size fixes. - Implement fix for (#29). ## Version 3.0.2 + Improved CLI update client showing progress while downloading. + Added progress and blinking red led to web-update. + Wait a little bit longer before starting polling websockets. - Fixes too small telemetry setup buffer. - Increase HTTP protocol buffer size to 1400 bytes. - Added comment about net reconnect issue. - Increase main loop watchdog timeout. - IRQ error handling refactored. ## Version 3.0.1 + Sort filesystem entries alphabetically. + Show the number of actual ADE errors in log, not the error code. + Force setting of username and password, before starting. + Webinterface styling fixes, cross browser compatibility. + Show phase connected state on energy (HOME) page. + Allow cert to be loaded from FS. + Nicer Telemetry protocol and WiFi selection. + Nicer Current Sensor selection box. + Show the type of current transducer in selection menu. + New command 'update' to trigger update from within shell. + Fixes missing VOLTAGE wave. + Fixes wrong Log page on mobile devices. - HttpUpdate is now WebUpdate. - Use new 'Everslick' pimped Arduino core. - Updated calibration values for 330mV CTs. - Auto calibrate temp sensor (implements #27). - Better switching between stickbreaker repo and master. - Use linker script with 4MB (no SPIFFS) on ESP8266. - Move stringify macros to util.h - move select down arrow icon to size agnostic macro. - ADE: return 0 on checksum error. - Minor cleanup and cross browser compatibility. - Improve logging. - Fix possible lockup during IRQ wait timeout. - Fix chunked content termination in webserver. - cleaned code, added nicer logs. - Fixes build error of wrapper functions on ESP8266. - Fix tar, clean and distclean targets. - clean code a little bit, better error logging. - I2C short read workaround. - Adds workaround for unrelyable I2C communication. - Don't delete firmware binaries in distclean. - New toplevel make target 'distclean'. better color handling. - Fixes recreation of option groups after wifi scan. - Possible fix for #28. Needs testing. - Wrap log-printf() to allow system (CORE) logs to be redirected to logger. - Work around memory leak when WifiClientSecure cannot connect. - Use correct default root CA cert. - Switch on extensive debug logs. - Always try to load cert from FS, backup cert before formatting FS. - Enabled file upload in all builds. - Removed test code. - changed default certificate name to ca.crt - Allow make deploy to be customized. - Renamed load.cpp to wrapper.cpp - Recreate files after FS has been formatted. - Don't leave shell after update, let update-prepare kill the shell. - Fixes ESP8266 compilation issues after adding TLS support. - Handle make color output in a more compatible way. - Fixes MQTT connect. - New calibration script. - Updated calibration values for Rogowski coils. - Implements rudimentary TLS support in MQTT. - Updated TODO list for HW V2.0b. - Fixes HW version number on ESP32 boards. - Parse MQTT attributes into key:value pairs. - Show ENV sensor data on HOME page if no ADE present. - Do not substitute ADE temperature by RTC temperature. - Gets rid of "dummy":0 value in MQTT. - Fixes maleformed JSON string after last refactoring. - Subsribe to attribute change requests for THINGSBOARD. - Do not hide ADE temp calibration if RTC is present (#26). - Initial import of DS3231 datasheet. - Implement new JSON protocol according to #26. - Fix bitmask in ds3231 detection code. - Fixes DS3231 init bug and general wall clock refactoring. - New calibration values for Rogowski coils. - Fix crash, when BME sensor is not found. - Move initialization of GPIOs and LEDs farther down in boot order. - Fix hang in reboot command when called from timer IRQ. - YEL LED ON, when telemetry is enabled, but WiFi isn't. - Fixes network led status not always updated (#5). - Unifies sensor data handling across ADE and BME sensors. - Fixes wrong free stack counter. - Publish BME values via telemetry module. - Improve source code documentation. - Adds defer to all external JS files. - Removes experimental I2C code. - Fixes wrong value reading in BME680 driver (#7). - Updates BME680 driver to 3.5.5 (from BOSH github). - Increases BME error retry interval to 5 seconds. - Cleans up gitignore files. - Improves I2C error detection and handling. - Fixes ADE info page text alignment. - Fixes whitespace in wave JS code. - Fixes typo in link to makeEspArduino. - Proposal for better WAVE auto scaling. - Adds new error ERROR-WAVE-TIMEOUT. - Adds .swp files to .gitignore. - Fixes include path in update.php because of tools dir. - Adds tools/version.php to .gitignore files list. - Put client to version mapping in external PHP script. - Fixes possible zero length version string. - Fixes possible negative number of spaces in WIFI dropdown. - Moved supporting scripts to tools/. - Last version of old calibration script, to be replaced soon. - New values for Rogowski coils. - Add FORCE=1 to make deploy for ignoring file exists errors. - Fixes build error on ESP8266 since WAVE refactoring. - Brings back WAVE page support. - Fixes ref counting bug in fini() of FS module. - Log ADE errors in ALPHA builds. - Adds low stack watermark in system info. - Increase log line buffer on ESP32. - Use correct markup for links in README. - Fixes initial checkout and installation instructions. - Add 'make erase' target to top level Makefile. - Fixed ref counting bug in Config and Storage (again). - Fixes #19. Webserver crash on ESP8266. - Fixes #20. Disable PING, if core does not support it. - Removes excessive logging. - Fixes compilation problem on ESP8266. - Fixes potential crash after ref counter goes negative. - Forks and unifies EEPROM libratry into local tree. - Print version number when downloading new version in update. - Fixes issue when old update info is not cleared on reload. - Renames mem-free to free-mem due to nameclash with LWIP2. - Fixes colors in echo for 'make deploy'. - Finishes ESP32/ESP8266 FS integration. - Split CSV files into smaller 128KB files. - Fixes grammer, past tense of shrink is not shrinked. - Nicer log when shrinking log file. - Limit log file size to 48KB. - New file copy and file cutting functions. - New CLI commands tail and cp. - Removes obsolete ap-retrigger() call. - Fixes missing min/max range for logger-port. - Makes ap-retrigger() private. - Switch to alternativ esp32 SDK with I2C fix (stickbreaker). - Fixes mounting of OTA flash when there is no SPIFFS. - Better ESP8266 support. - Only start AP on bootup if set to PERMANENT. - Fixes AP start issue. - Fix unterminated line in env-pull. - Removes private Arduino-ESP8266 core (everslick). - Reset config version to 1, just because - Setup export refactoring, base64 encoding of passwords. - Fixes issues with min/max defines. - Changed fuse replacement text on PCB. - HW version 2.0c - Slow down retries if I2C communication fails. - Disable low mem warnings after 10 logs. - Moved all issues and bugs to github. - Sync with DFRobot-BME680 library. - Adds debug code when switching NETWORK led. - Reset I2C bus after communication error. - Removes . from library sources path. - Fix CLI merge exident. - Expose Wire.reset() through i2c-reset(). - Change getGasResistence() to getAirQuality(). - Fix leading space in float2str conversation. - Moved CLI specific functions from filesystem to cli. - Nicer BME logging, set poll interval to 30 seconds. - Correct BME state machine to avoid blocking delay. - Log reset reason on each boot. - Completely abstracted directory listing. - Improves source code documentation. - Logging refactoring. - Fixes free stack calculation for ESP32. - Disable HW watchdog. - Introduce i2c.reset(). - Prepare for advanced upload progress calculation. - Renamed NATIVE MQTT protocol to GENERIC MQTT. - Increases WD timeout on ESP8266 to 20 seconds. - Adds xxx-enabled config parameters for BME and DHT sensors. - Fix 'make deploy' installation path to include name. - Increases AP active time to 5 minutes. - BME source reformatting and stylistic improvments. - Th 'make check' target now has proper macro expansion. - Build system refactoring. - Add reminder for CORE DEBUG LEVEL compiler flag. - Stack is now 8KB instead of 4. - Adds -arduino and -telnet services to mDNS. - Shorten log buffer on ESP8266 to 25 lines. - Do not shutdown AP as long as an user stays on the WebUI. - Fixes LED colors on ESP32. - Fixes file closing log when FS is unmounted. - Fixes unencrypted WLAN symbol on ESP8266. - Added values for 200A/500mV CT. - Default to 4M flash size on ESP8266. - Fixes WAVE page on ESP8266. - Fixes argument type to ping command. - Split help screen into 3 pieces to decrease ram usage. - Set low heap watermark to zero on out of mem error. - Adds public API for update-prepare(). - Improves HTML page buffer memory management. - Use the correct linker script for ESP8266. - Print generic help as well as EMONIO specific help page when 'make help'. - Fix watchdog disable bug. - Initial BME680 support. - Add logline when initializing logger module. - WD: we have to feed the watchdog ourselfs in latest IDF. - INIT: removed old debug code. - HTML: close root dor after listing files of /. - FS: close root dir after ls. - LOG: fixed long standing bugs in logger after file handling refactoring. - SPI: use defines for all SPI GPIO numbers. - SYS: removes useless bogomips calculation, source documentation. - ADE: measuring delay loop. - SPI: speed up SPI implementation by the factor of 5. - SYS: print warning when free heap is less then 10%. - WD: blink faster before initiating reboot. - Removes debug code. - prepare for SPI optimization - Makes storage more robust agains file delete events. - nicer debug message. - Improved log, when deleting file via webinterface. - better error handling for 'mv' command. - log module name as STOR instead of CSV in storage.cpp. - Removes log when closing file. - Added nanodelay function. - remove workaround for FILE-APPEND not creating the file on open(). - Make sure system-device-name and friends are sane. - recreate storage CSV file, after it has been deleted. - Renames FS events. - Fixes nasty bug in FILE that always deletes the last file in list. - updated .gitignore file - Fix fs-open() for non exisitng files in READ mode. - New FS handling (event system). - update mkEspArduino on env-pull. - Last polishment for HW V2.0b - Improves via-stitching and via-fencing. - Layout improvements for HW version 2.0b - Dynamic CT setup genaration. Nicer SSID setup. - HW redesign 2.0b - Removes SPIFFS from local libraries. - Fixes for new SPIFFS implementation in Arduino core. - PCB redesign, SPI bus reloactaion. - Fixes reading of ADC to determine model and version. - Moves ADE chip to new SPI bitbanging bus. - fix new system-sketch-space() function name. - more robust 'make usb'. - Right aligne RSSI in wifi setup option menu. - New values for 500mV CTs. - New entries for 500mV CTs. - Added menu entries for new 500mV CTs. - Check real sketch space bofore HTTP firmware upload. - Reduces I2C clock to 10KHz. - Removes I2C related pin numbers (use standard bus). - Don't show ADE related pages, if ADE module is disabled. - Updated DHTXX library to 0.1.24 - Enables logging to file. - nicer setup selection boxes - Nice LOCK symbol for encrypted WiFi networks in setup. - Makes progrss logging to console work with minicom again. - Improves debug logs. - Makes I2C more robust in case the device is not present. - Wait longer for minicom to get killed before flashing. - Improves logging for WIFI reconects. - Improves DHT humidity sensor support. - fixes GPIO essignment - Libraries and support for DHT sensors. - Added experimental DHT11 support. - watchdog LED only active in ALPHA builds. - Better logs on module start (GPIO and LEDs). - Blink YEL led during file upload and disable watchdog. - Moves all WD ralted code to watchdg.cpp - Increase buffer for creating the FILE page. - remove IRAM-ATTR added for testing. - Code cleanup. - Fix wrong return code handling after starting STA. - Add delay to watchdog-fini() as workaround for watchdog not restarting. - Disables watchdog before formatting SPIFFS. - Cleans up main loop watchdog. - Removed old TLS code. - Turns LED handling code to real MODULE. - Increases maximum number of modules to 24. - Set the SoftAP config after the AP has been completly started. - Exposes net-ap-status() and net-ap-stop() in net.h - Improves system information. - Improves WiFi stability and general code cleanup. - Removes help string for old 'turbo' command from CLI. - implements divice side flash formatting via web interface. - Fixes z-ordering so the confirmation overlay disables the menu. - Fixes some issues with the file delete confirmation dialog. - Added support for starting AP manually. - Updated version planning. - Shows confirmation dialog before deleting a file. - Prepares for HW release V2.0b - Renames 'format' command to 'mkfs'. - Experimental Auto reconnect for WIFI. - Implements filesystem format function. - Fixes include path in webserver. - Triggers page reload after setting calibration values. - Adds a websocket command 'reload' to trigger browser side page reloads. - Adds ap-mode config. - Final HW version 2.0. - Experimental code to reconnect after AP disconnect. - Improves telemtery logging. - Fixes DOS line endings in some lines. - Avoid adding '-' to brandname if HW ID is unset (0). - Standard EEPROM library is now provided by upstream. - Nicer error logging during Updates. - Disable logging after 3 connection errors to avoid spamming of logfile. - Fixes ADC hardware pin, for version number. - Measures stack usage on ESP32. - Adds ESP32 support TODOs. - Updates EEPROM library. - Adds support for reading free flash size. - Removes wifi event handler when unloading net module. - Adds alternativ EEPROM emulation backend in NVS. - Adds 'dump' command to hexdump eeprom binary data. - Cleans up and improves configuration storage backend. - Shortens reboot time after saving Setup. - Decreases reboot spinner to 15 seconds. - Fixes file download bug in webserver. - Reserve space for exported text before exporting. - Fixes whitspace alignment. - Fixes leading '-' in device-name, when brand-name is empty. - Fixes memory corruption crash when saving Setup Form. - Remove mbedTLS library. - Changes EEPROM to use its own partition instead of Preferences API. - Removes unneeded linker scripts from ESP8266 port. - Brings features in sync with ESP8266 code base. - Increases buffer for logs in websocket API. - Improves FS support. - Adds initial SPIFFS support (not working yet). - Improves overall ESP32 support. - Adds support for RTC and EEPROM. - Cleans up API. - Use built in I2C library instead of software bitbanging. - Make clear system clock is UTC. - Adds FS lib to linked libraries. - Fixes MacOS compilation glitches. - Adds WifIClientSecure to the linked libraries. - Switched to IP instead of mDNS for speed. - Improves debug code when Setup [save] failes. - Removes unneeded FS.h include. - Makes BOOT button work. - Restart ESP32 when short pressing BOOT button. - Works around ESP.restart() not working after Serial.end(). - Consolidates menu.css and style.css again. - Fixes 'make stack' for ESP32. - Cleans up dead code. - Better logging of system time on bootup. - Less verbose debug logging in release and beta builds. - Prints I18N debugs at boot. - Improves ESP32 support. - Added reversing of power readings to wishlist. - Added ip-lookup to speed up lame mDNS resolve. - Removes CPU turbo API, Adds Reset Reason to Info. - Improves ESP32 support. - Adds webserver and websocket support to ESP32 port. ## Version 3.0.0 + Implementes CONFIG module via EEPROM emulation in Preferences. + Adds debug log to NTP connect. + Fixes generation of device-id and device-name. + First booting version on ESP32. ## Version 2.3.11 + Nicer disabling of excessive help screen. + Shortened help message for stability (memory). + Fixed writing of calib values. + Splits CLI help message into two chunks. + Send help for shell commands in one single packet. + Exchanged Q and S for command 'meter'. + Adds 'exit' alias for 'logout' command. + Fixes async meter reading bug. + Makes system load data available in BEAT builds. + Changes menu background color in BETA builds. + Stores last valid ADE Values in the ADE module itself. + Fixes some minor CSS formatting issues. + Enables module runtime loading and unloading in beta builds. + Implements new CLI command 'meter'. + Removes unused reset time variable. + Brings ESP32 support a little bit further. + Ongoing porting to ESP32. + HW revision with new fuse. + Fixes typo in comment. + Fixed writing of values, added some nonsense output. + XML for Abado finished and tested. -> done. + Changed kWh-resolution of EasyMUC protocol. + Added writing of calib values, cmdline args. + More precision for PF, changed calib. factor for I. + Added 'make help' to toplevel make file. + Implements customizable model-name config. + Fixes default MDNS name to mach brand-name. + Implements new factory reset. ## Version 2.3.10 + Adds support for custom brand name (OEM). + Final HW version 1.3. + Fixes DEFAULT-BUILD target. + Introduces new build variable DEFAULT-BUILD to fix make clean target. + Adds KiCAD cache to gitignore file. + Adds HW changes for HW 1.3. + Changes the CAD files to HW ## Version 1.3. + Adds support for 1000A CT. + Changes to calib. values, +CT option: 1000A. + Adds more detail to hardware revisions. + Implements proper ref counting in filesystem module. + Removes 'all' keyword from module related commands. + Implements TAB completion for 'info' command. + Fixes typo in old source comment. + Fixes connecting to remote log server even when NET log is disabled. + Adds the emonio.elf file to the git ignore list. + Fixes proper cursor showing/hiding on login/logout. + Reduces flicker when updating the console. + Beautifies build statistics output. + Improves stats about ram usage after linking. + Cleans up the build process. + Makes TAB completion more robust against leading and intermittent spaces. + Makes build path shorter. + Makes build path a little shorter. + Fixes some issues with silent/verbose builds. + Makes the BUILD-ROOT non-configurable. + Reverted to original (calculated) calibration values. + Fixes 'make stack' after recent build system changes. + Updates the chanlog in README. + Finally adds full support for TAB completion for all commands. + Convert code to more readable form. + Fixes missing setting of completion and hint callback. + Adds bin/, build/ and emonio.bin to .gitignore. + Changes catch all version number to 2.3.9 in update.php. + Changes project name to emonio for 'make deploy'. + Switches to Standard Setup View on login. + Makes 'make' without goal work again. ## Version 2.3.9 + Renames EPSADE to EMONIO. + Increases VRMS threshold for 'connected' to approx. 48V. + Fixes MUCEASY protocol version. + Corrects MUCEASY telemetry protocol. + Implements draft for MUCEASY telemetry protocol. + Updates the README file regarding resent changes. + Fixes a typo in a define. + Fixes some minor code formatting inconsitancies. + Little script to calibrate the Espades. + Switches off warnings when compiling LWIP. + Adds support for Espressif SDK2.0.0 form Arduino core. + Fixes missing telemetry potocol in init(). + Fixes missing DST recalculation when system time gets set. + Adds comment about possible way to limit data transmission rate. + Fixes DST calculation bug. + Fixes missing Telemetry URL field in setup. + Implements new Telemetry Setup. + Implements Advanced View for WiFi Setup. + Shows IP setup only in Advanced View unless a static IP is used. + Changes device ID to lower case. + Implements simplified CT setup for Standard View. + Fixes multiple issues in the original ESP8266WebServer. + Save 80 bytes of flash memory. + Removes old code from telnet server. + Replaces [CONF] page with Advanced View for SETUP page. + Moves Telemetry back to CONF page. ## Version 2.3.8 + Updates the README file. + Cleans up typos and debug logs. + Implements binary protocol for WAVE samples. + Tweaks som whitspaces here and there. + Corrects full scale value for voltage in WAVE sampling. + Fixes some whitespace irregularities in the CSS. + Adds auto scaling to WAVE page. + Moves ADE IRQ refactoring to DONE. + Reordered ToDo items. + Moves Telemetry from Conf to Setup page. + Removes redundant log message from HTTP update. + Adds explaining text to Update page. + Simplifies code to send WAVE data to browser. + Increases main loop watchdog intervalt to 10 seconds. + Improves WAVE page stability of time scale. + Fixes redirect to update page bug after login. + Fixes wrong clipping when drawing WAVE graph. + Cleans up ADE chip driver code. + Fixes 'always redirect to update page after login' bug. + Introduces full scale values to WAVE data. + Init ADE chip last on startup. + Makes IRQ handling more stable. + Prepares for auto scaling in WAVE page. + Updates the README file. + Fixes enabling interrupts too soon in ISR. + Improves colors on WAVE canvas. + Improve logging in case of loop WD trigger. + Add VRMS, IRMS, FREQ and PF to WAVE page. + Add support for VRMS, IRMS, FREQ and PF to wave message. + Clean up the loop watchdog code. + Improve stability of wave sampling and IRQ handling. + Refactor waveform sampling code. + Improve canvas drawing for WAVE page. + Switch off antialising for html canvas. + Fix empty MDNS field if device name is not set. + New WAVE page. + Animated expanding and collapsing of configs. + Increased update html buffer to 750 bytes. + Fixed cut'n paste error in total energy meter. + Fixed total energy meter. + Collapse configs that are disabled. + Don't show Power in WiFi setup in release and beta builds. + Added total energy meter in HOME page. + Device-id is now lower case, changed some defaults. + Changed include order of Makefiles. + Changed default path to update PHP script. + Made 'make deploy' saver. + Initial import of SMD BOM. + Initial import of new kicad footprints. ## Version 2.3.7 + finished HTTP update. + added polarization markers to silkscreen. + implmeneted configurable topic string in native MQTT. + don't kill TCP connections for http update. + new update.php script. + new HttpUpdate implementation. + added I18N-LANGUAGE-CODE define. + fixed version number and time of board layout sheet. + added 'make deploy' target. + HttpUpdate refactoring. + removed php example code from update header. + provide more device specific informations to udapter. + more system info reading functions. + added LANGUAGE define to i18n. + support for hidden files in file browser. + last polishing for version HW V1.2b. + implement config export before update and import on boot. + no need to login on serial console on ALPHA builds. + implemented config import/export to SPIFFS. + fixed coil pad distance. + do not load LOG page if logger is disabled. + prolong main loop watchdog timeout to 60 seconds. + cleanup of cad files. + initial import of new footprints. + changed some resistor and capacity values. + HW 1.2 cleanup. + added timer callback based loop watchdog. + added EMI filter. ## Version 2.3.6 + removed menu from login page. + renamed flash.ld to flash1m.ld. + use esptool.py for USB upload, remved esp07 target. + New calibration values for 80A CTs (V1.1 H/W). + Started H/W V1.2 todo. + set WDIV, VARDIV and VADIV to prolong overflow time. + avoid cos phi showing up as 'nan'. + fixed cos phi in websocket. + added items to 'nice to have' in README. + nicer forced logout message, remove '-' from -0,00. + nicer logging in telemetry. + refactored webserver buffer allocation strategy. ## Version 2.3.5 + implemented calibration of phase compensation. + fixed bug in writing phase compensation register. + added power factor to VALUES. + reload page after ADE reset. + show voltage and current peaks in ADE. + peak detection, save chip reset. + better handling of low memory condition in websocket. + formatting and cleaning. + reduce MPI buffer to 256 bytes. + free maximum amount of ram after TLS handshake completed. + mbedtls optimizations. + increased TLS buffer to 4KB. ## Version 2.3.4 + initial import of mbedTLS lib. + removed debug code. + first working TLS implementation. + changed socket read timeout. + MQTT code cleanup. + fixed connecting to MQTT broker via TLS. + fix mbedTLS includes in makefile. + do not init FS if storage is disabled. + code cleanup in telemetry. + don't log unmounted FS when calling fs-usage(). + fixed local buffer type in MQTT. ## Version 2.3.3 + implemented TLS connect. + better buffer size check in telemetry. + removed static send and receive buffer (saves 512 bytes). + TLS changes. + Shortened MQTT logs a bit. + check for NaN before sending energy values over websocket. + the very first EEPROM init also clears calib data now. + increased LOG buffer size in websocket. + moved linker file from src to root. + more MQTT connection error logging. ## Version 2.3.2 + report FS full at 80% instead of 90%. + MQTT disconnection tuning. + fixed reconnection delay bug in MQTT impl. of telemetry. + Pulse time changed. + function name shortened. + simplified MQTT API. + remove support for MQTT 3.1 (stick to standard 3.1.1). + only retain the poweron MQTT message. ## Version 2.3.1 + moved tls impl into it's own .cpp file. + mproved device shutdown procedure. + flash green led if firmware upload was successful. + improved shutdown message in net-fini(). + fixed potential crash in refresh-line(). + fixed crash in gpio-led-state if gpio was inative. + led blinking according to project manager ;-). + fixed hardware revision. + led handling now cleaner. + red led only active if compiled with QUIET. + green led blinking changed. + unified error message if a chip is not found. + more robust webserver session handling. + removed debug code / swapped GRN and YEL leds. + allow eprom-read/write to fail if chip is not present. + fixed C1/3 and C15/17 labels. + new gpio API changes. + added function to return led and relais status. + simpler led blinking code. + fixed ADE power values regression. + source code reformatting. + prepared for MQTT over TLS. + added tls stub class. + abstract network API for upcoming TLS support. + exchanged feature lists for 2.4.0 and 2.6.0. ## Version 2.3.0 + unified logging messages. + added -fomit-frame-pointer. + better remote logging debug message in logger. + simplified error handling during update. + renamed logger server to logger host. + consolidated storage html parts. ## Version 2.1.14 + changed led blink frequencies. + reworked status led heandling. + consolidated CSS files to improve performance. + added TODO to storage.cpp. + removed unneeded include from main.cpp. + simplified magic string inf config. + remofe \r\n from log. + automagically reset long term meters, when PROM is formatted. ## Version 2.1.13 + optimized ram usage in webserver implementation. + added webserver code to libs. + whitespace fix. ## Version 2.1.12 + pull in our own ram saving copy of websockets lib. + dont increment loop counter when yielding. + removed call to yield(). + reformatted all HTML to save 6KB of flash. ## Version 2.1.11 + TAB completion for all commands. + shorter key read timeout for ESC sequences. + fixed TAB completion implementation. + fixed and completed command line hints. + added shell completion test code. + added callbacks for lined hints and completion in shell.cpp. + fixed misspronounced function name in line.h. + fixed missing setting of w and h of terminal in serial console. + put lelayed reboot in a nice wrapper. + fixed shutdown procedure. + nicer first log message (version string). + removed history free API from lined. + removed empty line on logger shutdown. + made THIN MEDIUM and THICK lines 2 character wider. + fixed possible double free in lined. + fixed crash in telnet server shutdown. + turned console into a real module. + renamed DEBUG to ALPHA. + nicer yello for debug menue background. ## Version 2.1.10 + new build variant 'beta'. + don't print prompt after logout. + send unused FS space via MQTT debug message. ## Version 2.1.9 + added 'adc' command to CLI. + LOG has its own page now, SYS lost ADC and RELAIS. + brighten up html colors. + do not poll filesystem if not mounted. + blink RED led when filesystem is full. + added common filesystem usage abstraction. + nices filesystem usage table in file browser. + HTML filebrowser alignment improvements. + truncation and alignment fix for file browser. + fixed telemetry max passwd length. + added thingsboard support. + made log lines 65 chars wide. + fixed too verbose watchdog disarming log. + made ping watchdog more tolerant. + fixed non breaking of too long of log lines. ## Version 2.1.8 + implemented PING watchdog. + compile empty logger if -DQUIET is defined. + put default strings into flash memory. + added color and timestamp to logging console fallback. ## Version 2.1.7 + completed logging refactoring. + renamed syslog to logger. ## Version 2.1.6 + made syslog a real module. + log refactoring. + reorganized module initialization to prepare for log refactoring. + fixed missing \n after last log changes. + remove \r\n from all log lines, handled now by log itself. + basic support for server cert in MQTT. + include quotes changed. + show free disk space as well as total and used space. + first init STA then AP. + svae a few bytes by moving const strings into flash. + chaged TRNS: to TELE: in log lines. + scan wifi earlier in the boot process. + enable auto connect. ## Version 2.1.5 + fixed misscalculation of storage capacity for freq and temp. + made dropdown menu items the same color as main menu items. + store WIFI list in a more compact form (saves 30 bytes per AP). + added captive DNS for AP. + scan for APs even when STA is disabled. + auto log out and persistent session handling. + menu bar cleanup. + Slight changes in CSS (menue). + default device is now all lowercase. + more nav bar optimization. + make navigation bar less tall. + remove dynamic allocation of ESC sequence scrach buffer. + testing new navigation bar. + fixed potential buffer overrun for device-id. + changed default device-name to espade-XXXXXX (if device-name is empty). + redesigned login screen. + fixed too short buffe rfor device-id. + added espade- prefix to device id. + changed storage-space attr from name to id to avoid error. + fixed setting of empty config strings. + removed commented code. + take nowline into account for storage capacity. + fixed leading ' . ' in storage capacity if days is 0. ## Version 2.1.4 + storage capacity estiamtion implemented. + prefere RTC temp, fall back to ADE temp if RTC not available. + on reboot, only log out of shell, if shell is running. + Task to create new CSV-file added. + ifixed loading of config before xxtea key was set. + add timezone offset to browser time to get real UTC. + localtime handling refactoring. + transport renamed to telemtry, RTC moved to its own page. + timestamps in logs are now in localtime. + moved 2 traces slightly. ## Version 2.1.3 + simplified led code a bit. + led code refactored. + fixed include files. + HW version 1.1 ready. + optimized PCB for V1.1. + prepared for led module. + move led off into publixh function. + made green interval shorter. + finished layout. + all traces routed, only GND plane is missing. + debug code. + started routing. + removed old code. + fixed wrong decryption of premajure \0 terminated strings. + finished component placement. + fixed library. + fixed sanity check errors. + added filter between AVDD and DVDD. + started HW revision V1.1. + Reordered version numbers. + started hardware revision V1.1. ## Version 2.1.2 + moved cat command from filesystem.cpp to cli. + moved all terminal related code to terminal class. ## Version 2.1.1 + fixed crash on disconnect. + finished code reorganization. + shell code reorganisation and cleanup. + cleaned API for hard- and firmware version strings. + fixed long running tasks. + fixed uninitialized task pid. + fixed missing linefeed. + added minicom and picocom for console log. + console. shell and cli refactoring. + added print function for String. + fixed MOTD color. + console and telnet code cleaned up. + gracefully trancate too long log messages. + fixed title string in telnet login terminal. + fixed missing AP after last refactoring. + added maxlength to text input fields. + added format command. + default storage mask added. + EEPROM reconfiguration. + allow login process to be canceled with ctrl-d. + make sure there is room for padding bytes in passwords. + fixed mdns name bug after sustem.h API change. ## Version 2.1.0 + kill shell on serial console before starting OTA update. + enable history for lined. + major refactoring for telnet implementation. + return hw version as string instead of number. + start vim in insert mode for 'make stack'. + don't mess up top, if SPIFFS is not mounted. + increased space for sketch. + only scan for wifi APs after connection. + decreased reconnction delay to 5 seconds to get faster connects on boot. + added -enabled config switch, even if there is now webinterface for it. + provided own linker script to get 32KB flash more. + started development for 2.2.0 release. ## Version 2.0.0 + cleaned up 'top' command. + increase delay before wifi scan (after boot). + kill running console task before OTA update. + added formatInt() function. + implemented task 'top'. + write float values with 1 comma precision to CSV file. + implmented passwd encryption. + fine tuning of scanning for SSIDs and disabling of STA. + disabling STA mode if not connected to AP and client connects to SOFTAP. + support ctrl-c (+ ENTER) in console to stop a running task. + added CALIB, WAVE and VALUES pages to AP menues. + Moved AP-fix to v2.0. + terminal escape sequences implemented. + implemented led pulsing. + fix missing temperature. + hello world demo task. + green led blinking in release build. + possibility to deactivate websockets in SOFTAP mode. + df command support. + support for long running tasks. + fix possible crash when calling ntp-settime while module is inactive. + made green led flicker during OTA mor erobust. + correctly set led blinking when disabling transport. + flash green led when writing CSV values. + new API net-enabled(). + led blinking reworked again, web access is now visible on the red led too. + mdns is now self contained and needs no special handling in main. + made net a real module that can init() and fini() at runtime. + slower blinking, removed mdns-start/medns-stop. + fixed problem when deleting files in file browser. + added ADE-Values initializer function. + fixed little plunder of last code cleanup. + DateTime class refactoring to support TZ and automatic DST. + fixed signed unsigned bug in parameter list. + slightly improved logging. + recreate log file, if it was deleted during operation. + recreat file after it was deleted in [FILES]. + datetime class refactoring. + reorganized DST start and end definition. + disabled DST and TZ support for now. + reorganized i18n.h file. + Changed calib values, removed \r\n in CSV file. + added 'localtime' command. + reverted bogus leap year fix. + moved setting of ms as far up as possible to avoid possible bugs. + prepared for localtim conversation. + added DST start and end dates. + format [ENERGY] page according to browser locale. + show values with correct comma char. + moved f2s function to util.cpp. + i18n support for comma char. + added i18n support. + prepare for timezone and DST offset calculation. + ifixed leap days bug. + Repriorized some ToDos. + Header background changed for colorblind people. + human readable timestamp. ## Version 1.9.3 + increase time window for writing CVS file. + implemented CSV file header. + increases the maximum number of simultanious open files. + fixed rewriting of already writting loglines to file. + don't unmount FS, when shutting down storage. + remove useless disabling of watchdog. + implemented log to file. + prepared for config import/export functionality. + New calibration values, updated README. + set correct timestamp in CSV file. + dynamic module handling rewritten. ## Version 1.9.2 + Cal. values for big CTs, display fix for energy-pg. + simplified reboot. + got rid of module number define. + implemented CT config (variable scaling values). + new settings for turbo mode and ct setup. + slight delay before reboot, if there have been wrong configs. + simplified saving of config. + reformatting source code. + unified main event handling. + nicer led blinking while firmware upload. + flash green led while firmware OTA progress. + retry 3 times when clock setting fails with verify error. + nicer wifi len handling. + config get/set refactored. + configure AP before starting WiFi. ## Version 1.9.1 + removed debug log. + don't blink if wifi is disabled. + simplified LED blinking logic. + fixed wifi power default value. + fixed missing commas in wifi elements list. + fixed DS3231 RTC stopping bug. + slow down leds. + fixed disabling of power and watchdog wifi setups. + fixed possible issue of setting RTC one second too late. + improved security of RTC. + do not set RTC whenever ntp-settime() is called but at ntp-interval. + fixed console argument parser and setting of date. + implemented a metric buttload of new commands. + new datetime constructor. + allow reading and writing of config values from console. + implemented CPU turbo mode. + add setup to change wifi output power in dBm. + added net-sleep() and net-wakeup(). + increased transport buffer to 512 bytes. + got rid of dlaying for up to one second when setting RTC. + replace float calculations by integer calculation wher possible. + set also system clock, when setting RTC from browser. + removed system-delay() function. + better error handling in JSON (EMON) support. + moved strings to flash, bigger ENERGY buffer. + cleaner shutdown, when name resolution fails. + increased html buffer for transport settings. + improved EMONCMS support. + send all values over EMON/JSON not only power. + added support for EMON/JSON transport protocol. + code cleaned slightly. + improved open-energy-monitor compatibility. + added rudimentary OPEN-EMON support. ## Version 1.8.0 + reopen file after filesystem was mounted again. ## Version 1.7.12 + updated changelog and todo. + moved set-span() from sys.js to to common.js. + correctly set span to current energy meter unit. + automatic value and unit scaling for energy meters. ## Version 1.7.11 + made file storage more robust. + improved file upload. + only open CSV file once on startup. + small improvments to readability. + store energy meters in AT24C32 EEPROM. + prefixed all defines with CONFIG-. + removed energy meters from config. + remove debug code. + added AT24C32 EEPROM support. + reset energy meters when pressing PROG for 3 seconds. + save meter values on shutdown. + made datetime input filed wider (for FF). + implemented local watt meter. + added energy meter draft implementation. + changed constructor parameter from uint32-t to time-t. + fixed missing private data pointer ref. + moved broker connection log back to transport.cpp. + fixed MQTT interval (was off by 1 second). + updated hardware revision TODO section. + remove spaces from unit string array. + removed net-enabled() API. ## Version 1.7.10 + check if client connected via softap or wifi. + minor refactoring of websocket script. + posponed html buffer allocation redesign after 1.8.0. + redesigned wifi connect handling including watchdog. + moved config-init after initial boot log. + reconnect timount set from 10 to 15 seconds. + optimized CPU monitoring and usage. + module count is now 12. + removed config from module list. + fixed incredible high mem usage of SYS page. + allow all modules be disabled/enabled at once. + fixed not submitted wifi SSID. + better console info dump. + removed log-clear(), fixed missing shutdown messages on net. + split sys info in sys info and load info. + seperate console and log so that console works without log. + removed unneeded include. ## Version 1.7.9 + fixed crash when re-initializing webserver after boot. + fixed crash bug when stopping websocket from [SYS] page. + implemented listing of all module states at once. + updated README to reflect installation changes. + let green led blink before factory reset. + added functions for led on/of/blink. + fixed led blinking code after last refactring. + reimplemented switch ... case as if ... else if to save ram. + simplified LED code. ## Version 1.7.8 + fix crash bug on WAVE and CALIB pages. + switch on green led. + LED2 is now on GPIO16. + fixed wrong log in case of STA disconnect. + fixed bug when MQTT could not connect on bootup. + fixed release build. + moved spi and i2c init calls to main. + seperate pull and sync with Arduino upstream repo. ## Version 1.7.7 + code cleanup and sys page refactroing. + start/stop mdns on net connect/disconnect. + added net-fini() function. + allow independent starting and stopping of mdns responder. + added device name to device info. ## Version 1.7.6 + mdns-name is now device-name. + make all modules independent from config. + moved env- targets to top level makefile. + disable WAVE and CALIB when ADE is INACTIVE. + full support for dynamic memory management. + dynamic memory management support. + full dynamic memory support. + correctrly set number of samples in wave. + make private data static. + wrapper target for env-setup and env-sync. + support for dynamic memory management. + ade refactoring to fully support dynamic memory handling. + incresed meter buffer. + unified version string for SDK and core. + disable watchdog before mounting SPIFFS. + put mdns name in title when set. + new make targets env-setup and env-sync. + disable mdns-fini before update for now (crash). + reordered and regrouped system info items. + show MDNS name in login page if set and enabled. + use whole MAC as client id, removed 'epsade-' prefix. + fixed crash when no ADE chip is present. + protect calibrtion data from factory reset. ## Version 1.7.5 + prototype version V1.0 as ordered. + finished layout. + added eeprom address. + new board layout. + nicer [INFO] page. + disbale global object instances in Arduino core. + changed 10uF caps to polarized elkos. + cleaned schematic. + fixed warnings in ECR. + updated schematic symbols and footprints. + moved wave array creation from websocket to ade. + support for runtime module loading/unloading. + +kWh counter. + added voltage devider on ADC. + fixed schematic bugs. + added support to shut down CVS storage. + removed 20ohm shunts. ## Version 1.7.3 + clean ade shutdown. + moved components a little bit. + send 0 for all values when ADE is disabled. + moved remaining 200 bytes of strings into flash. + support disabling ade chip. + nicer shutdown messages. + added shutdown support for RTC and UPD. + implemented shutdown for NTP module. + fixed log on shutdown. + moved console code from main.cpp to console.cpp. + support module shutdown for websocket and webserver. + added RTC socket and ACPF led. + prepared for init/fini API. + fix crash when freeing memory for OTA. + fix cppcheck complaint. ## Version 1.7.2 + shut down fs and config. + allow individual module finalization and initialization. + cppcheck fixes. + removed unused code. + improved 'make check' cppcheck command line. + fixed cppcheck complaint. + changed return parameter for init() from void to bool. + added check to main make targets. + fixed cppcheck false positive in storage.cpp. + add support for static code analysis with cppcheck. + move last remaining ram strings to flash and removed old debug code. + agressivly moved all strings from RAM to FLASH. + optimize buffer sizes. + removed unneeded code from implementation. + comment transport-fini() to avoid crash before OTA. + code cleaning. + freed 700+ bytes of RAM by moving strings to flash. + switch to new (lighter) MQTT implementation. ## Version 1.6.0 + watt, var, va via MQTT and storage now as average instead of sum. + show degug/release in firmware version string. + fixed firefox button size issues. + renamed RELEASE define to DEBUG define. + removed logs. + workaround for firefox not showing .00 in number inputs. + made meter fields wider. + send meter data as string, not as number. ## Version 1.5.7 + removed debug log. + removed system-count-net-traffic by linker wrap fn. + purged some logs, minor code cleanup. + better cmd line parser with backspace support. + implemented sub-second precision for RTC. ## Version 1.5.6 + show browser time in RTC conf also in UTC. + info dump/page reformatting. + removed redundant code. ## Version 1.5.5 + implemented RTC configuration. + variable name refactoring. + removed some debug code. ## Version 1.5.4 + do not send close request in websocket from browser. + fixed bug in storage mask enum. + improved waiting for NTP response. + minor log refinements. + removed useless LWIP stats. + better workaround for Arduino UDP bug. + limit number of sockets in TIME-WAIT to 2. + removed space between [SETUP] and [CONF]. + storage save interval is now always a divisor of 60. + datetime origin is now epoch and not 2000. + write file at beginning of minutes modulo interval. + New 'calibration' values, send version number as string. + make all build targets available from top level directory. + fixed dis- and enabling of storage checkboxes. + fixed UPDATE-URL misnomer (search and replace gone wrong).

Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.