release date: Friday, 2025-02-21
- Correctly handle server redirects for OTA updates.
- Fix switched error and warning bits in crash report and update.
- Handle server side redirects (302) in web update client.
- Add 'too many redirects' error to OTA update client.
- Better help text for CLI update command.
- Support transmitting update message via HTTP header for a more robust change log message.
- Create a merged firmware binary in
make deploy
for all versions.
- Don't show build (explicitly) besides version string in update command.
- Add OTA data to boot the correct partition after installation.
- Produce all files for a BOOTSTRAP installation in
make deploy
(#410).
- Fix build for some models if HAVE_EPROM=0 or HAVE_TICK=0 [BOOTSTRAP] (#410).
- More fancy flash.sh tool, add install.sh tool.
- Allow calibration data to be stored for each range (#412).
- Embedd the Current Sensor Setup on the CALIB page.
- Fix recorder for ADE9000, now all 7 channels work.
- Implement software down-sampling for 16K and 4K SPS in ADE9000.
- Complete support for neutral current (SCOPE and RECORDER).
- Reduce CPU load in ADE9000 driver by 25%.
- Vastly improve wave sampling in ADE9000 driver.
- Do not draw invalid wave forms (ms == 0.0)i in SCOPE.
- Allow chip lock to be grabbed recursively (like ADE9000).
- Make ADE single test more reliable.
- Switch CORE 3.0.0 to SDK release/v3.0.x (IDF 5.1.5).
- Unify errors and warnings in update and crash report.
- UPD_SSH_URL was renamed to SSH_URL.
- When
make deploy
, chown of bin files so the webserver can write them.
- Rename BOOTSTRAP to TRAMPOLINE, add new BOOTSTRAP define.
- Send errors and warnings to update server.
release date: Thursday, 2024-12-05
- Do not write meter values to EEPROM in case of power loss to avoid possible meter corruption.
- Restore meters from NVS backup when CRC fails on boot.
- Do not show UNDEFINED events in EVENT log to avoid cluttering the log.
- Rename POWER RETURNED event to POWER GLITCH.
- Add 333mV/kA RC to current sensor menu.
- Use '-h' or '--help' to print command usage for all CLI commands that have a help text.
- Enable telemetry SDCARD buffer by default for supported models.
- Fix wifi scan when SSID is unavailable on CORE 3.0.0 (#406).
- Start RTC if it is not running on bootup (regardless of BUILD).
- Fix erasing the EEPROM (CLI and first initialization).
release date: Wednesday, 2024-10-30
- Update TZ data and DST start and end times.
- Fix missing ENV (and TEMP) sensor values on HOME page.
- Fix meter reset time in CLI 'meter' command.
- Use different colors for each phase in SCOPE, HARMONIX and PHASOR.
- Fix integer division for current invert function in ADE9000 driver.
- Add neutral current sensor runtime configuration.
- Add PHASOR page for P3+ models, fix and improve sensor FAKE mode.
- Avoid copying strings in some webserver functions.
- Avoid bogus URI encoding in saved crash reports.
- Reserve WARNING_RTC_ACCURACY error bit.
release date: Wednesday, 2024-08-21
- List all config values when typing the CLI command
conf
without parameters.
- Avoid WD reboot-loop on startup if active CSV file is demaged and unrepairable.
- Make new KWH IN/OUT meters available in STORAGE, TELEMETRY and MODBUS for all models.
- Fix the maximum measuring range for Rogowski Coils when on 60Hz line frequency.
- Remove hack to correct ct_didt config value after config re-import.
- Improve storing, comparing and parsing of semantic version numbers.
- Vastly improve
make env-pull
in top level make file.
- Remove support for LEGACY_SENSOR_VALUES (#386).
- Fix void pointer arithmetic warning in AT24C32 driver.
- Increase standard telemetry packet size to 2KB.
- Disable NOLOAD detection in ADE9000 driver.
- Fix potential mem leaks exposed by clang build-scan tool.
- Update ESP32 3.0.0 core to 3.0.3 (released july 17th, 2024).
release date: Wednesday, 2024-07-17
- Fix CLI command
host
when resolving multiple names at once.
- Fix missing performance counters in CLI command
top
.
- Add CLI command 'event' to list and/or clear the event log.
- Add pulse counter and energy meter reset events.
- Show kWh IN/OUT meters on DETAIL page.
- Repair event log header in case it gets demaged.
- Avoid vary rare occurence of a possible inf Irms value after meter reset.
- Simplify (and hopefully fix) LOGGER auto off handling.
- Improve system_operating_time() function output granularity.
- Fix TELEMETRY not sending values on ESP8266 (AHE, BORABORA and CAROLINE).
- Make RAM copy for EGY meters befor saving or checking (#400).
- Refactor EVENT handling a bit, create event on invalid meters (#400).
- Make BOOTSTRAP build smaller by approx. 4KB by making config read-only.
- Fix accidentially broken
make flags
target.
- Only include peek and poke on ESP32.
- Add kwh_in|out registers to modbus protocol.
release date: Tuesday, 2024-06-20
- Allow meters to be set from command line.
- Don't reset meters on very rare CRC miscalculation.
release date: Wednesday, 2024-06-12
- Update compiled in let's encrypt root cert to ISRG Root X1.
- Set resolver default timeout back to 3 seconds.
- Show warning, when CT setup is about to get changed.
- Store kWh counters as separate IN and OUT values, show them on mouse-hover.
- Rename 'Debugging' to 'Diagnosis' in all Web-UI pages.
- Reconnect websocket after disconnect without page reload.
- Improve Y2038 safty when parsing the timestamp during TELEMETRY export.
- Put a space before the file size suffix and change B -> bytes, KB -> kB.
- Fix XTRM values not being exported correctly via TELEMETRY export.
- Improve stability when pushing messages to send queue and free RAM gets very low.
- Update PCE and SMARTN fav icons (#399).
- Allow fav icon to be customized per $(BRAND) (#399).
- Rename MODEL_CODE and LANGUAGE_CODE to MODEL_ID resp. LANGUAGE_ID.
- Don't spam log when DNS response times out constantly.
- Check and show heap integrity in
info system
and on SYSTEM page.
- Define longer log lines for ESP32 and POSIX builds.
- Clean up saving crash report, rename defines, remove one memcpy().
- Close CSV file BEFORE establishing TCP connection to update server (#380).
- Add API to enable and disable debug outputs on serial console.
- Catch OOM during module intitialization in MODULE_INIT() macro.
- Fix NimBLE to use the correct logging macro for log redirection.
- Allow CORE debug level to be set (and saved in config) at runtime.
- Make sure POWERFAIL does not overwrite the next value in EEPROM (#375).
- Hide 'User Interface' setup if WiFi is disabled.
- Improve EEPROM test routines.
- Rename
tail
to cut
, better help text for some CLI commands.
- Move Resolver objects from static RAM to heap.
- Relax timout for TICK missed deadline logs.
- Replace net_resolve() with resolver->resolve() and impl. async/sync name resolution.
- Allow the language to be changed during update (e.g. update --language=eng).
- Add LOG_MEM_USAGE ifdef to system.cpp for logging memory usage each hour.
- Switch ADE9000 models to CORE 2.0.0 for better WiFi stability.
- Delete stale compressed firmware binary when newer bin file exists (#397).
- Update CT setup string in JSON for BLE (#396).
- Avoid integer underflow in TICK debug output.
- Mock ets_timer_* functions to make STORAGE and TELEMETRY work on host.
- Only send CT and RC list via BLE when the setup key is 'ct_type' (#396).
- Fix each and every compiler warning (make mock).
- Show sign of clock drift even when positive (clock is fast).
- Add API to close the logger file from other modules.
- Purge more instances of DRAVUNI from source code.
- Set brand and model name only once when installing the binary image.
- Do not force ct_range to 1 when wiping the config.
- Make WiFi scan faster for CORE 3.0.0 models.
- Shuffle around source code to make functions to be ordered more logical.
- Update core 2 to 2.0.17 and core 3 to 3.0.1, remove core 1.0.0 for good.
- Move functions not running in IRQ context from IRAM to DRAM in ADE7758 driver.
- Renamed shell variables to match repo name better in top-level Makefile.
- CORE and MAKE versions are now configurable in Makefile.local.
- Don't link JSON strings for SETUP when specific features are missing.
- Add
make mock-gdb
target to run the host binary in GDB.
release date: Thursday, 2024-05-16
- Start the websocket server on the same port as the webserver (80).
- Fix suppressing repeated
reconnect to AP
messages in log.
- Fix log file truncation from wrong file offset.
- Add a command line to the DEBUG page.
- Improve webinterface responsiveness.
- Close CSV file after checking for update via TLS (#380).
- Fix permission check in websockets.
- Fix compiling the Haru library as stand alone test program (make pdf) and host mocking.
- Get rid of all those redundant partition CSV files.
- Use FILE_NAME instead of FILE in OOM error logs.
- Disable logger buffer lock, as it can crash when WiFi disconnects (#391).
- Make HARMONIX page work again on ADE7758 if HAVE_THD=0.
- Better calculation of HW version for V3.X models.
- Update make-deploy.yml from Node.js 16 to 20.
- Add a "Hardware" and "Core" column to all model config headers.
- Check for NULL after creating a telemetry queue message (#390).
- Version pinning for specific $BRANDS, install $latest if requesting 0.0.0 in update.php script.
- Added new whitelabel customer PCE.
- Show '*' for deployed models when doing
make list
.
- Remove defining HAVE_SENSOR_ADC twice.
- Make model YASAWA the same as XUAN but with ADE9000.
release date: Tuesday, 2024-05-14
- Allow user to change CT configuration. DOING SO WILL INCREASE THE MEASURING ERROR.
- Increase accuracy of VRMS measurements.
- Close CSV file when a
file got stuck
error is detected.
- Fix crash on boot when HAVE_CONSOLE=1 and logger_enabled=0.
- Support unix time in
clock
CLI command via '-x' option.
- Fix wrong early boot timestamps on 'System Log' page when DST is active.
- Initialize LEDs sooner in boot order.
- Calculate system clock drift vs RTC and show it on SYSTEM page (#388).
- Try to save space in JSON string to work around MTU limit in model KAUEHI.
- Revamp the ADE7758 driver, especially IRQ handling and SPI arbitration (#387).
- Show EGY values on CALIB page even when there is a range error.
- Refactor test module for better expandability (-> prepare for FS test).
- Fix wrong path in crash report after renaming firmware.
- Re-activate cppcheck in
make codecheck
target and fix all warnings (#384).
release date: Thursday, 2024-04-04
- Add support for telemetry buffering (has to be activated in SETUP).
- Ignore extra headers within multipart forms upload in WebServer.
- Monitor the CSV file size and add a file_stuck error counter.
- Show INVALID DATA ERROR for OVER-CURRENT and OVER-VOLTAGE conditions.
- Fix BOOTSTRAP (3.0.0) build broken in 3.0.57 (moved calib data to NVS).
- Do not log WiFi connect events on ESP8266.
- Refactor event names and add new over-current and over-voltage events.
- Rewrite current transformer range calculation.
- Add support for per brand global configs and defaults.
- Rename firmware from "emonio" to "kapawu" (#383).
- Make crash report email, and eeprom and config magic strings configurable (#383).
release date: Wednesday, 2024-02-21
- Include new root cert for LetsEnctypt.
- Implement summed EGY values in MODBUS server.
- Allow MQTT client-id to be set in config (CLI only).
- Fix WebServer deadlock when uploading a file that ends with "--\r\n".
- Reset telemetry_url and update_url to defaults if unset or deleted.
- Double the update server poll interval each time it gets an error response.
- Nicer hover over filename effect on FILES page to work around firefox bug.
- Add support for THINGSPEAK telemetry protocol.
- Try harder to keep the browser from translating the UI.
- Add
scan temp
CLI command to list available DS18 sensors.
- Fix storage interval not set if less then 0.5 seconds.
- Don't show VIEW button for files bigger then 16MB on FILES page.
- Fix newer/latest firmware version message on UPDATE page.
- Get rid of most occurences of the "emonio" string literal (#383).
- Support different $BRAND names throughout build and update process (#383).
- Split off PHP update script config into separate config.php file.
- Use const ref for C++11 string iteration where possible.
- Show IRMSN on HOME page, allow NEUTRAL CT to be reversed (378).
- Make urlDecode faster in WebServer:Parsing.cpp
- Improve EVENT log rendering to make it easier to read, add SYSTEM INFO events.
- Fix inverting current direction for ADE9000
- Free Argument list after each page request in WebServer.
- Nicer percentage increase for file upload progress.
- Unify disabling code for devices with only one EGY phase.
- Start refactoring the WebServer, reformat code to make it somehow readable.
- Expose and use the content-length header provided by the WebServer.
- Clean up and improve HTML renderer on ROOT and FILES page.
- Do not apply PSRAM (cache) compiler workaround for CORE 3.0.0 builds.
- Improve printing CHANELOG for version 3.0.99 on UPDATE page.
- Remove generation of redundant confirm boxes per page.
- Unload config when BLE client disconnects.
- Added missing or broken sensor error.
- Do not remove CSV line from queue if
file_write()
failed.
- Set CONFIG_DISABLE_HAL_LOCKS=1 to disable HAL locks in core lib.
- Better handle short writes to FS in fs_write().
- Fix compiling against CORE 1.0.0 and 1.0.6 (legacy models).
- Remove some obsolete ADE error counters.
- Improved waveform recorder.
- Add functions to read the current state of a gpio pin.
- Log name and size of CSV file and some more in 6 hour STORAGE statistics.
- Send UINT64 types as 'int64' in JSON setup meta data.
- Implement 64 bit sensor value mask (if LEGACY_SENSOR_VALUES is not set).
- Fix ESP8266 not connecting to WLAN if AP is not available when booting.
- Emonio-P4 (ISUM and IRMSN) support in STORAGE and TELEMETRY.
- Update ESP32 CORE from 2.0.9 to 2.0.14, add support for new 3.0.0 CORE.
- Fix config not unloading after loading crash report page.
- Fix partition.py to work with python 3.
- Show build time in version info when patch level is 99.
- Handle and log OOM errors in STORAGE and TELEMETRY when new returns NULL.
- Some WebUI improvements like draw_graph_values() and SERVICE page.
- Add telemetry_buffer to CONFIG and SETUP (#45).
- Fix invalid-pp-token warning on MacOS when processing HTML and CSS files.
- Remove excessive logging from update.php script.
- Add support for semi-automatic decoding of stack traces.
- Improve crash report URL encoding, especially in the LOG part.
- Clean up our fork of the legacy MDNSResponder implementation on ESP8266.
- New concept for module TYPES, ref counted modules are now SERVICES.
- Show the reference counter of SERVICE modules on the SERVICE page.
- Don't render RELAY on HOME page when disabled.
- Fix missing menu entries after clearing crash report.
- Load and unload EEPROM module on demand and not permanently.
- Fix crash when LED module is deactivated.
- Simplify and reduce memory footprint of module loader.
- Implement missing functions to make host mocking work again.
- Implement storing calibration data in NVS instead of config (ADE9000).
- Implement first stage of support for encrypted update images.
- Remove SERVICE and SENSOR menue entries in BETA builds.
- Add HW version for Emonio-P4 and fix issue #347.
- Skip ZERO POINT calibration in ADE9000 driver.
- Update Modbus library to version 4.1.1 (Oct. 14th, 2023).
- Nicer formatting and coloring for stack trace in crash.php script.
- Use custom MAC address when available, fall back to default, if not.
release date: 2023-10-06
- Do not set time from RTC if date is before 01/01/2020.
- Decrease NTP update interval to 6 hours.
- Reset NTP server to its default, if it is empty.
- Do not force a reboot if updates take longer then 5 minutes to download.
- Vastly improve firmware update mechanism, especially via FS.
- Don't allow STORAGE intervals shorter then 0.5 seconds without SD card.
- Store, process and forward crash report in case of an exception.
- Add new EVT_SYSTEM_EXCEPTION events, first one is EXCEPTION_RTC.
- Do not deactivate LOGGER after 72 hours in BETA builds.
- Make update from FS more robust, support uncompressed images on ESP32.
- Fix message on UPDATE page when an update image was found on the FS.
- New make target
make image
to create update images via FS.
- Add and use new time calculation macros
SEC|MIN|HOURS|DAYS_TO_SEC|MS
.
- Enable 'User Defined' current sensors for CTs in SETUP.
- Add and use new function fs_on_flash().
- Reduce peaks when STORAGE writes to the internal flash.
release date: 2023-09-15
- Fix possible spurious reboots, when WLAN router is off.
- Fix missing logs in TELEMETRY logging, if timestamps are the same.
- Fix rare spikes in WATT reading on the upcoming Emonio-P3+ model.
- Fix redeclaration warning for F_CPU define.
- Update Arduino core for ESP8266 to latest master.
- Better way to erase WiFi config on system update on ESP8266.
- Avoid parse error of JSON data over websocket.
- Log TICK statistics in system.cpp every 15 minutes.## Version 3.0.54
- Automatically disable the LOGGER after 72 hours to not waste RAM and CPU.
- Fix warnings not being stored in THINGSBOARD client attributes.
- Change 'WPA2 PSK' to 'PERSONAL' and 'WPA2 ENTERPRISE' to 'ENTERPRISE' in SETUP.
- Improve the CLI command 'help'.
- Add calc_crc16 function to utility functions.
- Pre-allocate bigger buffer for errors and warnings.
- Improve TEST page (work around OOM on ESP8266, add buttons on bottom).
- Fix and clean-up compilation on host (resolver is still broken, though).
- Refactor LOGGER to remove some long standing code quirks.
- Refactor some JS code to save 112 bytes of flash.
- Fix spelling and typos in CHANGELOG file.
- Fix spelling of collaps -> collapse.
- Clean-up OLED code a little.
release date: 2023-07-13
- Fix LOGGER starting by chance even when it is disabled.
- Fix potential unintended restart in logger_sync() if logger is disabled.
- Improve firmware update via 'make http'.
- Add ANALYZER module to setup and config.
- Bring sensor values in JSON string in sync with actual sensor values.
- Remove extra defines that are the default anyway.
- Turn some logs into debug logs, clean code.
release date: 2023-06-27
- Make UPDATE page more robust and responsive.
- Add new OOM watchdog to telemetry module for devices without PSRAM.
- Fix misplaced horizontal line in STORAGE SETUP standard view.
- Don't show UPDATE button, if there is no update to install.
- Fix possible render issue on FILES page with extremely long filenames.
- Implement server side update message (#356).
More can be read in the blog article for this release: Update news 3.0.52
release date: 2023-04-24
- Fix mixing up PF and KWH in Telemetry::Export introduced in 3.0.50.
- Fix logger not processing its buffer if telemetry logging is enabled.
- Make Telemetry::Export faster and more robust.
- Improve avoiding WD resets while transmitting very long FS listings.
- Fix potential reboot when resetting the KWh meters on the HOME page.
- Improve responsiveness and performance of logger module.
- Remove Update URL in SETUP to protect it from involuntary changes.
- Refactor feeding the watchdog and combine it with task yielding.
- Poll WD in long running commands like 'cat'.
- Close log file when downloading it via telnet or webserver.
- Use dioxygen instead of squared oxygen for ENV sensors on HOME page.
- Register reboot handler only in non-release builds.
- Remove obsoletet WD test code.
- Clean up obsolete tick() save guards.
- Improve and unify the FS event handlers across all modules.
- Clean up CLI 'block' command and error handling.
- Avoid possible memory leak, if CSV line serialization failed.
- Unify runtime statistics for STORAGE and TELEMETRY.
- Implement storage CSV line queue.
- Inverting only P and not Q when CT is inverted.
- Append model to hw name in BLE API.
release date: 2023-04-06
- Update ERROR and WARNING messages on the HOME page in realtime (without page reload).
- Fully support TELEMETRY export for TEMP and PULSE COUNTER sensors.
- Fix a possible false error when reading column header in EXPORT.
- Start new CSV file when the STORAGE header config has changed.
- Do not show unavailable ENVIRONMENT sensor values in TELEMETRY and STORAGE setup.
- Clean up some overly aggressive logging on startup.
- Rename 'Logging' to 'Debugging' in SETUP to avoid possible confusion.
- Correctly reactivate ERROR and NETWORK leds after short button press events.
- Remove 'LOG' menue entry and add a 'Logging' button on SYSTEM page instead.
- Invert CURRENT waveform on SCOPE page, when current direction is inverted.
- Do not show UNDEFINED events in event log.
- Do not delete the TELEMETRY KEY and the CT config when performing a long-button-press factory reset.
-
Make CT config read-only in RELEASE builds.
-
Do not log (html, websocket and telemetry) buffer overflows in non-release builds.
-
Remove unused 'led_blink()' function in LED module.
-
Do not flash the first FS entry at first page load of FILES in ALPHA builds.
-
Better suppress 0.0 values for unset ENV values in STORAGE and WEB-UI.
-
Use 'button' instead of 'input' for all HTML buttons.
-
Turn the CALIB menu entry into a
-
Better error message for CLI commands upload and update.
-
Fix setting certain RC types (76mV and 144mV) in NEW CT CONFIG.
-
Show the AVG of the last 10 I, P and Q values on the CALIB page.
-
Limit calib values to +/- 2047 resp. +/- 63.
-
Change 330mV to 333mV for all CTs.
-
Double precision for all energy counters and values.
-
Set FULL_SCALE_VOLTAGE for new CT config to 499.5 volt.
-
Implement [Freeze] button on CALIB page.
-
Show calculated energy values on calibration page.
-
Silently ignore empty lines and comments in command line.
-
Implement DC mode in ADE7758 driver.
-
Log file position in low level IO error logs.
-
Add ENV variables for message delays and dry-run.
-
Don't skip '\n' when repairing last line of CSV file.
-
Turn net_event_cb from std::function into C function pointer.
-
Turn fs_event_cb from std::funtion into C function pointer.
-
Do not render [Logging] button if logger is disabled.
-
Improve Telemetry::Export robustnes and error logging.
-
Changed ENV function callbacks to plain function pointers.
-
Fix busy loop when resuming interrupted export but summary is OFF.
-
Better UI when buffering, sending and exporting TELEMETRY data (#45).
-
Better (cleaner) make flags
to show compile time flags.
-
Fix compile if HAVE_RTC is set but HAVE_CLOCK is not, and when HAVE_HWPIN=0.
-
Make model YASAWA a "zero features" model.
-
Add new make ALL=1 deploy
switch to compile each and every model.
-
Add callback when ENV variables get set.
-
Fix wrong length of CRC32 data in DS18 address calculation.
-
New HAVE_HELP build flag for linking SETUP to Wiki.
- Queue up TELEMETRY messages in RAM if server cannot be reached.
- Fix grouping of open and encrypted SSID in WiFi SETUP.
- Trigger rename butten when pressing enter in filename input field.
- Perform
erase config
when button is pressed and held for 15 seconds.
- Emulate formatting SD cards, by deleting all files.
- Improve HTML rendering on the HOME page, make JS smaller.
- Better file write error handling and reporting.
- Implement TELEMETRY BUFFER (#45).
- Improve TEST page FS benchmark.
- Updated URL for new FW-update server.
- Clean up and unify file creation MODE handling.
- Switch to FFATFS as the default FS in all models exept for EFATE (#344).
- Add 'nvs' to erase command to wipe esp32 NVS if needed.
- First rename boot.bat to boot.bat.exec then execute it.
- Increase watchdog timeout when uploading files via browser.
- Don't start RAT if WiFi is disabled.
- Log low level error statistics every 6 hours.
- Better error logging, and emergency chip reset in ADE drivers.
- Simplify button driver and make it more flexible regarding HOLD times.
- New NO_SAFEGUARDS define, to disable restrictions for non ALPHA builds.
- Fix setting empty default WiFi passwords, rm commit in config_fini().
- Enable all electrical values in storage values mask by default.
- Make the BETA build more like ALPHA and not like RELEASE.
- Protect and log tick() getting reentered by the next tick event.
- Avoid possible division by zero when calculating PF.
- Fix serial console in CORE 2.0.0 models.
- Correctly set 'secure' flag when protocol is missing in update URI.
- Change parameter type of fs_write() to from uint8_t * to void *.
- Use correct IRMS full value for IRMS scale calculation.
- Add modbus setup to setup groups in json API.
- Implement summary for all sensor types in TELEMETRY.
- Emergency fix for possible loss of SD card in very rare situations.
- Re-release of version 3.0.47 with CORE 1.0.6 instead of 2.0.0 in model efate.
- Use HTTPS for updates if no protocol is specified in the URL.
- Fix wifi auth error clearing itself after some time.
- Fix some UTF-8 related issues in the CLI.
- Increase WIFI password length to 64 characters.
- Improve CSV file writing robustness, when the UPLOAD module is active.
- Speed up formatting the internal flash filesystem.
- Advertize the correct port number of servers via mDNS.
- Allow the http server to be started on a different port number then 80 (CLI only).
- Don't start UPLOAD module, if URL ends with "example.com".
- Trim spaces when typing more then one space between 'conf' and 'key' in CLI.
- Fix pulse counter not being saved when resetting while counter was unchanged.
- Switch counter_factor config value from INT to FLOAT to make it more versatile.
- Fix counter value reported as 0 after reboot until first pulse was detected.
-
Fix ct_voltage and counter_factor config values allways seen as changed.
-
Remove the code to backup cert files when formatting the FS on ESP32.
-
Update CORE 2.0.0 to latest master with IDF 4.4.3, ESP8266 core is now latest master.
-
Clean up net.cpp, setting DHCP hostnames seems to work now.
-
All bytes of a config string are used now, do not store \0 in string (#345).
-
Allow passwords to be reimported, even when its size increases (#345).
-
Do not WIPE FFATFS after flashing first time.
-
Fix corrupt empty passwords, expand ALL password length from 28 to 32 bytes.
-
Drop HARMONIX request in websocket regardless of errors in the driver (do not retry).
-
Reanable DS18 for XUAN, as OneWire lib is now ready for CORE 2.0.0
-
Switch JARVIS, FAKARAVA and GAUA to CORE 2.0.0
-
Fix harmonix calculation in ADE9000 driver.
-
Implement hack for CORE 2.0.0 builds on MacOS.
-
Show stderr when doing 'make VERBOSE=1 deploy'.
-
Replace 'MODBUS/TCP' by '-' in list of TELEMETRY protocols in BLE API.
- Fix missing files in EmonioApp if there are too many of them (requires EmonioApp 1.1.2 or later).
- Don't overshoot truncation of partially written last CSV line when repairing it.
- Make TELEMETRY export of CSV files more robust in case it contains minor errors.
- Allow current direction to get inverted on the HOME page.
- Show device default name in SETUP if device name is not set.
- Speed up reading FILES page in case it holds very large CSV files.
- Don't show duration if either start or end timestamp is not available yet.
- Fix terminal window size response sometimes showing up in telnet login.
- Set UTF8 charset in content type header of web frontend to correctly render umlauts.
- Show warning in web frontend if JS is disabled.
- Add support for HTTPS in EMONCMS/HTTP telemetry protocol.
- Implement support for ALL egy values (incl. summary) over EMONCMS/MQTT.
- Add ble_enabled to the configs that are reset on factory reset.
- Remove 'dd', 'hd', 'tail' and 'touch' CLI commands, add 'erase' instead.
- Make firmware a little smaller by axing some logs.
- Add CLI batch file execution with
exec <script.bat>
.
- CLI command erase does not wipe the calibration anymore.
- Fix compilation of model ZAVE (native host build).
- Add support for generating PDF files on the Emonio.
- Fix calls to setTimeout to use correct time (ms vs. sec)
- Update the ESP8266 core to latest master, build system refinements.
- Remove config->telemetry_node.
- Rename BLE API command 'exec' to 'cli' (#329).
- Add send_progress() to exec and history BLE command API (#280, #329).
- Completely refactor the signal analysis code for future enhancements.
- Disable all IRQ code in ADE9000 driver (not needed yet).
- Stop firefox messing with our SKINS.
- Better dynamic MENU generation when single modules are disabled.
- Rename HAVE_ANALYZER to HAVE_HARMONICS.
- Fix borked freq scale in ANALYZER on ADE7758.
- Add model IKEMA (same SW as DRAVUNI, but with HW V2.1).
- Initial import of source files for Emonio-X2.
- Clean up ADE drivers, change RMS scale values according to datasheet.
- Style the checkboxes in the retro skins.
- Better text for RC without coils integrator activation SETUP.
- Refactor CT setup for future models FAKARAVA, GAUA and JARVIS.
- Add linear scale for harmonics graph on ADE9000.
- Fix WiFi reconnect if local AP is enabled and SSID is out of range.
- Fix potential issue when WiFi is connected but has no internet access.
- Fix showing timestamps with ms precision on [FILES] page.
- Implement progressive loading of [FILES] page to avoid OOM error.
- Improve performance when there are many files on the FS.
- Fix potential issue when renaming a non CSV file to .csv in FS browser.
- Fix interrupted uploads when uploading big files via webserver.
- Move fs format exec context from callbacks to main loop.
- Fix possible stack smashing bug when using ReadBytesUntil.
- Implement ANALYZER functions in ADE9000 driver (#243).
- Replace
spi_is_busy
flag with mutex in ADE9000 driver.
- Uglify CSS files (needs uglifycss:
npm install uglifycss -g
).
- Propergate socket send() errors up the API (#334).
- Use detached CORE 1.0.6 instead of official espressif repository.
- Set send and receive timeout in MQTT socket clients (#334).
- Refactor build environment handling.
- Only push network logs out the door in logger_poll().
- Implement 'reset sensor' CLI command.
- Fix TEST page PASSED/FAILED text alignment.
- Show clear text event types in CLI dump event command.
- Allocate sample buffer for ANALYZER only once in WEBSOCKET.
- Redefine FULL NET LOAD as 100KB per second.
- Increase number of TELEMETRY send queue entries from 50 to 100 entries.
- Reduce CPU load and work around distorted SCOPE when analyzer is ACTIVE.
- Switch FFT on/off depending on analyzer module state.
- Move ADE7758 analyzer code into ADE7758 driver.
- Rework HW timer based WD (WD for the WD).
- New mobile friendly [FILES] page.
- Allow files to be renamed on [FILES] page (click on filename).
- Fix possible unstable local AP, when the configured SSID is out of range.
- Allow LOG files to grow to 512KB when logging on SD card.
- Add rename and exec commands to BLE API (#329).
- Fix 'history' command in BLE API (#280).
- Avoid emitting VT100 color escape sequences on TB RPC console (#320).
- Show start- and end- times of CSV files in a tooltip on the FILE page.
- Fix reusing the last CSV file when the active file gets deleted.
- Fix telemetry export when only combined phases A+B+C are stored in CSV file.
- Fix telemtery 'va' value being exported as 'var' and 'va'.
- Fix missing A+B+C values in exported TELEMETRY data.
- Add calculation of KWH delta values to TELEMETRY export.
- Show 'Loading ...' instead of black rect in canvas during page load.
- V -> U in SCOPE for consistency with WebUI.
- Improve font rendering on HTML canvas widgets SCOPE and HISTORY.
- Fix dectecting DS18XX temperature sensors with high serial numbers.
- Support multiple RTC drivers in the same firmware binary.
- Unify tick handler in ade9000 and ade7758 driver.
- Increase ADE7758 reset on error threshold from 3 to 5 errors per second.
- Improve avoiding spikes and dips in TELEMETRY data.
- Reuse unused error peak_va as new error peak_rms.
- Improve error detection and correction handling in ADE9000 (#243).
- Read AWATTHR_HI twice to make sure register is reset (ADE9000 bug).
- Ignore bogus CRC errors when ADE=0xffff and ESP=0x0000 (#243).
- Code cleanup in all ADE drivers.
- Skip tick while WAVE sampling is active.
- Move all ADE9000 register reads from poll() to tick() (#243).
- Change pf to PF for power factor on DETAIL page.
- Limit LOG backscroll buffer to 25 entries on space constrained devices.
- Try harder to preserve log line order in network logging.
- Fix ENV values not being sent over TELEMTRY (since 3.0.39).
- Fine tune TCP connection timeouts.
- Improve UPLOAD reliability and stability.
- Fix possible reboot loop, when there is a CSV file fith 0 bytes.
- Do not call File::open() from tick in STORAGE.
- Disable tick while formatting flash FS.
- Unify heap, stack and psram diagnostic API.
- Add a second stage WD that utilizes the hardware timer, rename WD to WTDG.
- Don't compile in RAT in model DRAVUNI to save RAM.
- Temporarily disable RAT after 3 failed connection attempts.
- Fix total PF calculation in TELEMETRY.
- Trigger immediate UPLOAD of all CSV files via CLI
upload -n
.
- Make operating time calculation more precise.
- Sync selected CTs in SETUP, when RC w/o integrator is selected.
- Don't suspend STORAGE while uploading a file via UPLOAD.
- Misuse the ms part of the TB TS as unique ID.
- Ignore button press events during WIFI scan when touch is installed (#319).
- Add model-name, operating-hours and bootup-counter to telemetry startup msg.
- Disable (don't start) MHZ19 driver by default in all models (#321).
- Redefine model names and add new models.
- Remove ENERGY-DIVISOR and clean up code in ADE7758 driver.
- Rework the stack size and usage diagnostic API.
- Restructure Terminal API in preparation for #320 fix.
- Simplify watchdog counter reset.
- Make MAX-LOG-FILE-SIZE a compile time option.
- Reorder module shutdown sequence.
- Make watchdog independent from TICK module.
- Delay the start of TICK task to give ADE time to read some values.
- Implement and use new unified queue implementation in CRON and TELEMETRY.
- Implement message queue bewteen tick() and poll() to fix (#318).
- Renamed circular-queue.h -> src/fifo.h
- Shortened some function names in TELEMETRY (#318).
- Clean up TELEMETRY buffer handling (#318).
- Fix summary not exported in TELEMETRY export.
- Fix network led losing its status after any network related activity.
- Add support for 105mV/KA rogowski coils.
- Add support for sub-second STORAGE intervals.
- Add support for 'https://' for firmware updates.
- Start a new CSV file, whenever the KWh meter is reset.
- Estimate the STORAGE capacity down to minutes granularity.
- Improve the performance of the THINGSBOARD RPC shell.
- Make output stream JSON escaping much faster (#316).
- Add quirk to select the correct RC when integrator is ON (#305).
- Allow logging of peak V and I values on SCOPE page (#305).
- Correct ADE7758 scale factors, 105mV/kA coils are supported now
- Call 'update trigger' when 'update install' was typed in RPC console.
- Fix missing version string when checking for new version in CLI.
- Do not send ESC sequences to TB RPC console (#316).
- Add a proof of concept SERVO motor module.
- Remove support for legacy HTTPClient API.
- Set DEFAULT-TELEMETRY-URL to pro.emonio.de
- Remove http:// from default update URL (#294).
- Make sure there are valid RMS values from the very start of the ADE.
- Set correct WAVE full scale values when inegrator is ON (#305) .
- Move the build environment into the project root directory.
- Do not log error when '/' dir cannot be opened.
- Make writing to FS more robust in STORAGE (#313).
- Bring LittleFS up to date with upstream.
- Use simpler 'cli-run-command()' function, without stdout in CRON.
- Execute cronjob in main loop to not block tick handler (#234).
- Backup and restore crontab when formatting FS (#234).
- Show on OLED when RTC is synced wia NTP.
- Crank ADE IRQ task priority back up to 24, for better SCOPE on DRAVUNI.
- Update NimBLE library to latest upstream (#297).
- Properly average sensor values for sensor history graph.
- Clear RTC errors when module is restarted.
- Make KAUEHI official, add model YASAWA (like KAUEHI w/ RV3028).
- Switch on NET LED while establishing a TCP connection.
- Clean up and harmonize RTC drivers.
- Feature complete and clean up RV3028 RTC driver (#304).
- Add i2c scanner.
- Read ADE energy values with timer tick, instead of LENERGY IRQ.
- Do not rewrite the URL with the IP for HTTP protocols.
- Only activate 150ms button press delay for MODEL fakarava+.
- Properly check presence of all I2C devices in init().
- Add new option '--no-config-export' to the CLI update command.
- Use the uniform IRAM-ATTR for ESP8286 and ESP32.
- Make the led-pin() function available to the public HWPIN API.
- Remove the equal char from the error counters.
- Make number of fake temp sensors fixed to 4.
- Add debug log when receiving unknown UDP packet size.
- Increase ADE irq-task stack size by 1KB to 3KB.
- Better OLED display support (circle through ENV values).
- Improve TELNET session initiation and option negotiation.
- Ignore LF in shell input, sent by some TELNET clients.
- Fix wrong MODBUS address calculation for EGY values (off by 8).
- Fix telemetry EGY interval on SETUP page not stored when pressing 'Apply'.
- Improve AP activation button handling, disable AP on second press.
- Fix MUCEASY telemetry protocol KWh value scaling factor.
- New Emonio logo E favicon in Web-UI.
- Log TERM TYPE and WIN SIZE changes in TELNET server (#311).
- Fix leaking the MODBUS registers and callbacks on server restart.
- Return false on second call to 'rtc-init()'.
- Try 'ffat' and 'spiffs' partition names for LittleFS.
- Initialize I2C with 400KHz clock instead of defaulting to 100KHz.
- Move EGY meter code from individual drivers to sensor handler (#45).
- Remove unused sensor value 'sensor' from values struct (#45).
- Make current sensor values available globaly for WS, BLE, CLI, ...
- New log-debug macro that is only active in ALPHA builds.
- Simplify and cleanup sensor faking API.
- Add ADC sensors for fun and profit.
- Enable CSV export (cloud symbol in FILE browser) for all Emonio-P3 models.
- Increase precision of TELEMETRY DELTA values to 4 digits.
- Make build system and source compatible with bleeding edge cores.
- Make aborted firmware updates via webserver more robust.
- Clean up handling of old ESP32 CORE 1.0.0 HTTPClient API.
- Fix broken error log in TELEMETRY case of HTTP server dying.
- Clean up MUCEASY protocol implementation and add php test script.
- Refactor source to support different RTC low level drivers.
- 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.
- Send summary of all energy values to THINGSBOARD every 15 minutes.
- Set protocol version to 2 for TB telemetry protocol.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- New file system to better handle FS full condition and improve performance.
- 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
.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).
- 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.
- 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.
- 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.
- 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.
- 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).
- 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).
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Add new generic hexdump tool.
- Ported kilo text editor to Emonio.
- Ported Mini-BASIC interpreter to Emonio.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- optimized ram usage in webserver implementation.
- added webserver code to libs.
- whitespace fix.
- 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.
- 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.
- new build variant 'beta'.
- don't print prompt after logout.
- send unused FS space via MQTT debug message.
- 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.
- implemented PING watchdog.
- compile empty logger if -DQUIET is defined.
- put default strings into flash memory.
- added color and timestamp to logging console fallback.
- completed logging refactoring.
- renamed syslog to logger.
- 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.
- 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.
- 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.
- 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.
- moved cat command from filesystem.cpp to cli.
- moved all terminal related code to terminal class.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- reopen file after filesystem was mounted again.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- show browser time in RTC conf also in UTC.
- info dump/page reformatting.
- removed redundant code.
- implemented RTC configuration.
- variable name refactoring.
- removed some debug code.
- 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).