Skip to content

Releases: dalathegreat/Battery-Emulator

v5.10.0

13 May 17:59
41c54c3
Compare
Choose a tag to compare

What's Changed

Batteries

  • Renault Kangoo: Rescale SOC, Current and Power values by @dalathegreat in #218
  • Kia/Hyundai E-GMP: Better cellvoltage handling by @JorgenSeemann in #282
  • BMW i3: Less likely to go into FAULT incase it hasn't had time to read cellvoltages by @odlg in #299
  • All batteries: Added CAN-FD USB printout for easier debugging by @kukumagi in #289

Inverters

New Contributors

Full Changelog: v5.9.0...v5.10.0

v5.9.0

01 May 18:59
14432dc
Compare
Choose a tag to compare

What's Changed

This release focuses on getting Double LilyGo setups working again. The last version that this feature worked in was 5.5.0. This release also fixes some small bugs and adds minor features.

Batteries

  • BMW i3: Added cellvoltage safeties and pack size autodetect by @dalathegreat in #279

Inverters

  • Feature: Add Event when automatic contactor opening happens by @dalathegreat in #271
  • Bugfix: Serial-link (Double LilyGo) now works again by @Cabooman in #283

Housekeeping

Full Changelog: v5.8.0...v5.9.0

v5.8.0

25 Apr 17:45
97d6a27
Compare
Choose a tag to compare

What's Changed

This version adds initial support for Pylon 🔋 batteries. It also contains many bugfixes and improvements for different battery types. This version also introduces a datalayer, to make future development easier! ⚡

Batteries

  • Support for new battery! Pylon 🔋 #265
  • Kia/Hyundai64: Battery max charge/discharge values are now read from CAN instead of estimated. This increases safety significantly when using these batteries, #259
  • Kia/Hyundai64: Improved startup reliability. We wait until battery is turned ON before starting to send CAN messages towards it, #264
  • Nissan LEAF: Three new events added (EVENT_BATTERY_CAUTION, EVENT_BATTERY_REQUESTS_HEAT and EVENT_BATTERY_WARMED_UP). This alerts users incase the battery does something out of the ordinary #257
  • BMW i3: Two new events added, we now alert the user incase high voltage interlock not seated / Capacitor missing on HV side. This simplifies troubleshooting #267
  • Fixed an issue causing E-GMP batteries not to compile #258

Inverters

  • Fixed an issue where if an inverter would switch to 250kbps instead of 500kbps, it would halt the emulator for 2seconds. The board now recovers in 20ms incase it encounters a baud rate switch #260

Housekeeping

  • Refactoring: Introduced datalayer and move events to background task by @Cabooman #254
  • Bugfix: Make faulted LED solid red again 🔴 #263
  • Cleanup: Removed unnecessary USB debug messages #255
  • Cleanup: Removed images from the code repository. All images are now hosted on Github Wiki to save space, makes the .zip file 14 MB smaller #256
  • Regression in SERIAL-LINK-RECEIVER #269
  • Improvement: SERIAL-LINK-RECEIVER added to workflow #270

Contributors

@Cabooman @smaresca @kukumagi @dalathegreat

Full Changelog: v5.7.1...v5.8.0

v5.7.1

14 Apr 19:07
dcd0ebd
Compare
Choose a tag to compare

What's Changed

This is a "minor" release, that focuses on performance improvements, bugfixes and some new functionality!

Batteries

New Features

  • The board can now output CAN messages via USB Serial, for easier debugging by @dalathegreat in #248
  • Improved LED handling - CLASSIC, FLOW and HEARTBEAT animations with lower frequency (50ms). These can be set via system_settings.h file, default is now FLOW
  • Implementation of micro seconds timing macros for debugging performance - displayed in the web UI if enabled via USER_SETTINGS.h file ( FUNCTION_TIME_MEASUREMENT )

bild

Housekeeping

  • Add platformio serial logging by @kukumagi in #251
  • Refactoring: Scalability and performance by @Cabooman in #252
  • Introduction of a rudimentary hardware abstraction layer (HAL) to handle other boards
  • Untangling of settings - config.h and various other settings have moved to any of: system_settings.h hw_lilygo.h or related implementation files (e.g. WUP_PIN -> BMW i3, for now)
  • MQTT handling moved to its own task with slightly lower priority
  • Include handling improved, most files can now include "src/include.h" to get the central settings/definitions
  • An initial data layer is introduced in a moderate fashion, for Nissan Leaf power values and time measurements
  • Mapping functions supporting mapping of some value in one range to the corresponding value in a different range
  • Slightly improved compilation times by having preprocessor conditions on inverter code and charger code

Full Changelog: v5.7.0...v5.7.1

v5.7.0

08 Apr 18:38
9ec0882
Compare
Choose a tag to compare

What's Changed

This version of the emulator adds two large new features.

bild

Housekeeping

Batteries

New Contributors

Full Changelog: v5.6.0...v5.7.0

v5.6.0

30 Mar 21:42
21c42c4
Compare
Choose a tag to compare

What's Changed

Massive efforts have been made to reduce CPU load drastically in this version, to improve CAN sending reliability and timing. Some users noticed that BMW i3 batteries opened contactors when Modbus requests were coming in, causing 10ms periodic messages to get delayed to 200ms. This is unacceptable for an embedded realtime system. This new version not only lowers CPU usage, but also warns the user via Events incase the sending of CAN messages start to get delayed.

317531654-444c20b1-c2bf-45ff-8e0c-cc180169ddcc

Housekeeping

  • Bugfix: Update libraries used by the project
    • Updated eModbus to v1.7.1stable
    • Updated ArduinoJSON to v7.0.4
    • Updated ElegantOTA to v3.1.1
  • Autoupdate of the pre-commit configuration
  • CPU load improvements:
    • Event added for notifing users incase CAN message timing starts to be affected
    • Mainloop now runs as background task with same priority as modbus
    • Webserver loads 30% faster
    • Pressing "Event" button in webserver caused the sending of 10ms CAN messages to skyrocket to 185ms. This is now fixed

Inverters

  • Bugfix: Solax inverters no longer get stuck with open contactors at 0%SOC
    • Inverter contactor opening changed from Error -> Info event
    • CAN interface is now restarted incase Solax has timed out

Batteries

  • Triplet battery:
    • Cellvoltages now mapped to the global array, and can be viewed in webserver cellvoltage view
    • Temperature values scaled correctly
    • Revised safety limits for under/overvoltage
  • BMW i3 battery:
    • Current value now scaled correctly
    • Power value now calculated correctly
    • Fixed an issue where max allowed charge/discharge would overflow
    • Fixed an issue where CRC check would always complain about 2BD message being broken

New Contributors

  • @odlg made their first contribution in #236

Full Changelog: v5.5.0...v5.6.0

v5.5.0

16 Mar 19:34
c2f8d5d
Compare
Choose a tag to compare

What's Changed

This release adds support for BMW i3 batteries. Massive thanks to odlg over on the Discord server for testing and logging! by @dalathegreat in #224

Batteries

  • New batteries supported:
    • BMW i3 60AH (2014 - 2016) ✅
    • BMW i3 94AH (2017 - 2018) ✅
    • BMW i3 120AH (2019 - 2022) ✅
  • Tesla: The code autodetects incase you have an LFP battery, but the detection method can take up to 5minutes. Incase you want to speed this up for additional safety, it's now possible to define LFP_CHEMISTRY in the TESLA-MODEL-3-BATTERY.h file @dalathegreat in #216
  • Kona 40kWh batteries now have functional cellvoltageview @dalathegreat in #213
  • Kia/Hyundai: Current value now signed right way, webserver no longer shows discharging while charging, and vice versa. By @dalathegreat in #217

Inverters

  • BYD CAN: Swap discharge/charge limits in CAN mapping. This fixes Sungrow inverters limiting charge incorrectly, by @dalathegreat in #215

Connectivity

New Contributors

Full Changelog: v5.4.0...v5.5.0

v5.4.0

03 Mar 19:11
c6a98a9
Compare
Choose a tag to compare

What's Changed

This version adds support for Volvo SPA / Polestar batteries. Massive thanks to niclashedlund over on the Discord server for this amazing work 🙌

Batteries

Webserver

Full Changelog: v5.3.0...v5.4.0

v5.3.0

26 Feb 11:12
bdcaa16
Compare
Choose a tag to compare

What's Changed

⚠️ This update brings some mandatory charging safety updates for Tesla batteries. If you use a Tesla battery, please update to this version asap!

The Webserver now has an improved Cellmonitor page, with a nice graph view. Massive thanks to @Cabooman 🙌
bild

Inverters

Batteries

Connectivity

Housekeeping

Full Changelog: v5.2.0...v5.3.0

v5.2.0

13 Feb 20:29
a238c8b
Compare
Choose a tag to compare

What's Changed

New features

  • This release adds event handling. The webserver can now display a list of events that have triggered in the system. For instance anything out of the ordinary; cell overvoltage, overheating, CAN failures etc. all get logged to the event list. The events are also stored to EEPROM for an additional layer of security. Event handling makes troubleshooting a problematic situation much easier. Massive thanks to @Cabooman for implementing most of it 🙌

bild
The event log can show you how many events have occured, when the last event of this type happened, severity of event and data. Events get stored to EEPROM, so if you later on power on the board, it will spit out the last events via serial on bootup. How neat is that? 👍

Note for devs: Events should be used for further development of all battery handlers, since it centralizes the writing of BMS status and handling of LED color and serial printouts.

Inverters

Batteries

Connectivity

  • Wifi connections are now even more robust, and better error handling.
  • Wifi channel can now be configured if desired
  • Wifi channel is now shown in Webserver UI
  • Add MQTT autoconfig for homeassistant for other data than just cell voltages by @kharnt0x in #166

Misc

Housekeeping for repository

New Contributors

Full Changelog: v5.0.1...v5.2.0