Kaufberatung unter +49 30 5228 1575

Technischer Support unter +49 30 5228 1577

Update Info

## 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 1.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 espade to emonio everywhere. + 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. + Changes ESPADE to EMONIO everywhere. + 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 + colaps 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 + Reprioritized. + 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.