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 erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.