Releases: dalathegreat/Battery-Emulator
v9.2.2
What's Changed 📦
This release adds support for Stellantis CMP Smart Car platform, plus some bugfixes
Taking this release into use ⚙️
Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Batteries 🔋
- Feature: New Battery 🔋 CMP Smart Car platform by @dalathegreat in #1700
- ECMP: Add reminder for preconditions when running diagnostic commands by @dalathegreat in #1672
- BMW iX Platform
- Tesla: Bugfix, re-add support for forced charging by @dalathegreat in #1703
Housekeeping 🧹
- Fixed a bug where it was not possible to save negative values for soc scaling by @frenetic1 in #1678
- Improvement: Optimize AsyncTCPSock library for smaller flash size by @dalathegreat in #1689
- Improvement: Optimize ESP32Asyncwebserver for lower flash usage by @dalathegreat in #1690
- Improvement: Rewrite LED handler to avoid floating point math by @dalathegreat in #1691
- Library 📜 Update ESPAsyncWebserver from 3.8.0 -> 3.8.1 by @dalathegreat in #1702
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1683
New Contributors
- @frenetic1 made their first contribution in #1678
Full Changelog: v9.2.1...v9.2.2
v9.2.1
What's Changed 📦
This is a minor quickfix release that fixes OTA regression with 9.2.0 that affected some users. Due to this bug it was not possible to OTA update from 9.1.4 -> 9.2.0
Taking this release into use ⚙️
Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Batteries 🔋
Hardware 🤖
- Allow using the inverter protocol as a shunt by @M4GNV5 in #1668
- Bugfix: Stark OTA failure (Dowgrade ESP32) by @dalathegreat in #1681
Housekeeping 🧹
- Fix Release Assets workflow (esptool went missing) by @jonny5532 in #1671
Full Changelog: v9.2.0...v9.2.1
v9.2.0
What's Changed 📦
This release adds support for Ford Mustang Mach-E batteries, Sungrow SBRXXX support, plus tons of bugfixes. It also enforces code warnings as errors, which raises code quality significantly.
Taking this release into use ⚙️
Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Batteries 🔋
- New Battery: Ford Mustang Mach-E by @dalathegreat in #1565
- CMFA: Allow CMFA to work as double-battery by @dalathegreat in #1651
- Zoe2 : Add event for balancing start by @dalathegreat in #1663
- BWM iX: Fixed an issue causing iX selection to revert to i3 battery by @dalathegreat in #1638
- Kia64FD: Bugfix, make startup voltage value sane by @dalathegreat in #1643
- BMW PHEV: Updated implementation to support unified image by @wjcloudy in #1640
- BMW PHEV: re-add wakeup signal requirement comment by @wjcloudy in #1648
- Safety: Implement interconnect contactor opening if voltage diffs appear on runtuime 🔋 🔋 by @dalathegreat in #1635
Inverters ⚡
- New Inverter Protocol: Sungrow SBRXXX implementation by @aferrara in #1644
- Improvement: Fronius real-time capacity display by @pmajor021 in #1645
Hardware 🤖
- Bugfix: Make devkit build compile properly by @dalathegreat in #1639
Housekeeping 🧹
- Library: 📜 Update ESP32 version to v3.3.2 by @dalathegreat in #1658
- Feature: Add configurable cutoff filter for CAN logging by @dalathegreat in #1657
- Improvement: Make successful BMS reset increment event counter properly by @dalathegreat in #1632
- Improvement: Handle SSID/password via main settings panel by @jonny5532 in #1615
- Remove/refactor redundant MEB-BATTERY code to reduce code size by @jonny5532 in #1527
- Annotate all floating literals with f suffix to avoid double promotion. by @jonny5532 in #1659
- Improvement: Lower flash usage even more by @dalathegreat in #1646
- Improvement: Enable Wextra compiler flag by @dalathegreat in #1647
- Improvement: Enable -Wall and -Werror compiler flag by @dalathegreat in #1653
Notable changes from compiler Werror
- BMW iX: Fixed DLC check (== instead of =), which improves intent of the if-checks
- Tesla: Make dayOfYearToDate function safer
- Volvo SPA: Rewrite cellvoltage handler to avoid warnings
- Volvo Hybrid: Refactor cellvoltage handler to avoid compilation warning
- Hardware: Fix missing switch case options for CAN interfaces
- Daly BMS: Added parenthesis around if-check to make it more clear what it is doing
- Kostal RS485: Added parenthesis around if-check to make it more clear what it checks
- Solax CAN: Refactor handling of 1871 incoming message
New Contributors
Full Changelog: v9.1.4...v9.2.0
v9.1.4
What's Changed 📦
This is a recommended stability update. Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Important
Some Stark CRM users reported issues with OTA updating, causing settings to be restored to factory. Always be prepared to use USB update if OTA update fails!
Batteries 🔋
- BMW iX: Fix incorrectly applied min/max voltages to get BMW iX1 batteries working by @dalathegreat in #1620
- Bugfix: Make BMW PHEV configurable in the Settings by @dalathegreat in #1626
Inverters ⚡
- Ferroamp: Make capacity writing simplified and configurable via UI by @dalathegreat in #1609
- Pylon HV: Feature, add configurable option for HV Pylon send 0/1 (Needed for ZCS Azzurro inverter) by @dalathegreat in #1627
- Feature: Prevent Kostal contactor opening, configurable option in UI added by @dalathegreat in #1628
- Feature: Added Deye offgrid configuration option by @dalathegreat in #1629
- Pylon HV: Make offsets and byteorder configurable in Settings by @dalathegreat in #1631
Hardware 🤖
- Precharge: Fixed an issue causingn precharge to get stuck at 110V without timing out by @dalathegreat in #1610
- T-2CAN: Swap RS485 TX/RX pins back due to reported issues. by @jonny5532 in #1630
- All HW: Rename the CAN interfaces and hide irrelevant options per-HW by @jonny5532 in #1603
Connectivity 🛜
- Adding the ability to set a temporary maximum charge or discharge limit via MQTT by @No-Signal in #1453
Housekeeping 🧹
- Bugfix: Make it possible to save 0% as Min Percentage for Scaled SOC feature by @dalathegreat in #1607
- Improvement: Increase CAN add-on buffer size to 32 to avoid buffer full issue by @dalathegreat in #1590
- Improvement: Disable noisy WiFi status logging to keep log quieter by @jonny5532 in #1624
- Improvement: Implement HTML escaping on index/settings, relax validation a bit by @jonny5532 in #1614
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1619
Full Changelog: v9.1.3...v9.1.4
v9.1.3
What's Changed 📦
This is a mandatory stability update for Tesla users! Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Important
Some Stark CRM users reported issues with OTA updating, causing settings to be restored to factory. Always be prepared to use USB update if OTA update fails!
Batteries 🔋
- Tesla: Fixed a bug that caused contactors to go into WELDED state randomly by @dalathegreat in #1593
Hardware 🤖
- Stark CMR: Make BMS power on by default by @dalathegreat in #1592
- LilyGo T-2CAN: Updated pin assignments for easier use by @jonny5532 in #1597
Housekeeping 🧹
- Bugfix: Allow dash as special character in usernames/passwords by @dalathegreat in #1587
- Fix three select-case-fallthrough bugs (and enable compile warning flag) by @jonny5532 in #1600
Full Changelog: v9.1.2...v9.1.3
v9.1.2
What's Changed 📦
This is a recommended stability update. Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Important
Some users reported issues with OTA updating, causing settings to be restored to factory. Always be prepared to use USB update if OTA update fails!
Batteries 🔋
- Tesla: Feature: Add initial events for things that previously required extensive log reading @greenoem in #1575
Housekeeping 🧹
- Fixed an issue where it was not possible to enter hostname/MQTT settings by @jonny5532 in #1580
Full Changelog: v9.1.1...v9.1.2
v9.1.1
What's Changed 📦
This is a recommended stability update. Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Important
Some users reported issues with OTA updating, causing settings to be restored to factory. Always be prepared to use USB update if OTA update fails!
Batteries 🔋
- Tesla: Fix GTW 0x7FF frame incorrect value written by @greenoem in #1563
- Kia E-GMP: Update valid cellvoltage filter by @dalathegreat in #1567
Housekeeping 🧹
- Performance: Reduce likelyhood of TASK_OVERRUN when using Debug settings by @dalathegreat in #1568
- Improvement: Add more input field validation on Settings page by @dalathegreat in #1572
Full Changelog: v9.1.0...v9.1.1
v9.1.0
What's Changed 📦
This is a recommended stability update. Note that v9.X.X is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached .bin file at the bottom of this page, and flash it to your board (Either via USB first time setup or Over-The-Air(OTA) update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Important
Some users reported issues with OTA updating, causing settings to be restored to factory. Always be prepared to use USB update if OTA update fails!
Batteries 🔋
- Tesla: Make contactor opening take 9s instead of 60s by @dalathegreat in #1545
- Kia eGMP: Add configurable option to use estimated SOC by @dalathegreat in #1546
- Volvo SPA: Add low 12V voltage safety, to avoid contactors bouncing on/off if 12V runs out by @dalathegreat in #1548
- Improvement: Stellantis CAN mappings improved for 50/75kWh VANs by @dalathegreat in #1491
- Bugfix: Tweak pack voltage limits for Zoe1 by @dalathegreat in #1540
Inverters ⚡
- Kostal: Revert startup counter (regression in 9.0.0) by @mbuhansen in #1554
- SMA: Rename protocol to make it more clear it is SMA by @dalathegreat in #1555
Connectivity 🛜
- Improvement: Make AP name configurable by @dalathegreat in #1557
- Bugfix: Stop erroneous events when saving an empty SSID/pw by @jonny5532 in #1541
- Bugfix: Fixed an issue causing 8 character WiFi passwords not to work by @jonny5532 in #1543
Housekeeping 🧹
- Improvement: Reduce flash usage by @dalathegreat in #1531
- Improvement: Repackage OTA html file with zopfli to save space by @korhojoa in #1535
- Enable QIO and 80mhz flash on Lilygo T-CAN485 build (50-80% more perf) by @jonny5532 in #1559
- Enable QIO and 80MHZ flash on Stark CMR (50-80% more perf) by @dalathegreat in #1560
New Contributors 🦸
Full Changelog: v9.0.0...v9.1.0
v9.0.0
What's Changed 📦
This is a major new release of the Battery-Emulator software. Users are no longer required to compile software, just use the attached file and flash it to your board (Either via USB or Over-The-Air update!)
Setting up a board for the first time? Use this webpage to flash the board!
Quickstart video: https://youtu.be/sR3t7j0R9Z0
Batteries 🔋
- New Battery! 🔋 Add support for Rivian batteries 🔋 by @dalathegreat in #1517
- New Battery! 🔋 Add support for RELi³ON LV battery protocol by @dalathegreat in #1442
- New Battery! 🔋 Add support for Kia 64kWh FD battery (37501-AO050) by @dalathegreat in #1452
- New Battery! 🔋 Add support for Samsung SDI LV by @dalathegreat in #1379
- New Battery! 🔋 Add support for Ioniq 28kWh by @dalathegreat in #1268
- Stellantis: Add initial support for 50/75kWh vans by @dalathegreat in #1484
- Tesla: Add SOC reset feature under More Battery Info page by @greenoem in #1456
- Tesla: Configurable GTW settings via Webserver by @dalathegreat in #1466
- Tesla: Simulate entire vehicle CAN network towards battery, first step towards getting Tesla batteries to balance properly, by @dalathegreat in #1314
- Volkswagen MEB: Add Init/Error display for temperatre to more battery info page by @dalathegreat in #1323
- Volkswagen MEB: Fix CAN still alive handler by @dalathegreat in #1502
- MG HS PHEV: General integration improvements by @jonny5532 in #1305
- KIA EGMP: Added More Battery Info page and startup values by @Gerwaz3 in #1352
- Stellantis: Add SOH candidate and contactor opening event by @dalathegreat in #1370
- Kia/Hyundai 40/62: Add more info to "More Battery Info" page by @dalathegreat in #1380
- Kia/Hyundai 40/64: Respect inverter_allows_contactor_closing on startup by @gwk1 in #1366
- BMW PHEV: Fix multiple bugs with native change_can_speed operation by @jonny5532 in #1494
- Hyundai Ioniq 28: Correct SOH reading. Add isolation resistance to More Battery Info by @dalathegreat in #1464
- Nissan LEAF: Add all 4x temperature measurements to More Battery Info page by @dalathegreat in #1430
- Nissan LEAF: Improve CAN message handling for 2018+ batteries, hopefully they balance better now! by @dalathegreat in #1403
- BYD Atto 3:
- Add support for 50kWh contactor closing by @freddanastrom in #1444
- Default SOC method changed to measured, to encourage people to try and crash unlock by @freddanastrom in #1436
- Volvo SPA:
- Add HVIL status to More Battery Info page by @dalathegreat in #1446
- Swap mislabeled precharge/positive state in More Battery Info page by @dalathegreat in #1461
- Value reading made more robust by @dalathegreat in #1392
- Correct datatype for current value in More Battery Info by @dalathegreat in #1373
- BMW iX, i4‐i7: Reduce incorrect startup events by @dalathegreat in #1405
- RangeRoverPHEV: Add voltage limits by @dalathegreat in #1411
- Renault Zoe Gen2: Make NVROL actually work, and CAN handler better by @dalathegreat in #1416
- Renault Zoe Gen2: Make double battery write correctly to balancing status by @dalathegreat in #1469
- Renault Zoe Gen2: Bugfix; Double Renault Zoe2 not initializing by @dalathegreat in #1516
- Increase max capacity of batteries you can have, 120kWh -> 400kWh by @dalathegreat in #1407
- Feature: Add user configurable max charge/discharge values for integrations without properly decoded ones by @dalathegreat in #1487
- Change several batteries to only flag CAN aliveness on relevant messages by @jonny5532 in #1504
- Safety: Improve stopping charge/discharge when battery is full/empty by @dalathegreat in #1364
Inverters ⚡
- New Inverter! ⚡ Sol-Ark LV CAN by @dalathegreat in #1399
- New Inverter! ⚡ Add initial support for Growatt Wit CAN by @dalathegreat in #1367
- Solax: Fixed an issue where sending too many CAN messages could overflow CAN buffer by @jonny5532 in #1346
- Kostal: change how inverter controls contactor closing by @gwk1 in #1365
- SMA (all): Add cellvoltages/temps/voltages/energy amount by @dalathegreat in #1300
- SMA (All protocols): Improve pairing success rate by @dalathegreat in #1400
- Sofar CAN: Reduced CAN sending rate, improved inverter response by @dalathegreat in #1408
- Kostal: Inverter contactor sequence improved, by @mbuhansen in #1448
Hardware 🤖
- Hardware: Add support for Lilygo T_2CAN board by @No-Signal in #1384
- Precharge: Avoid oscillation in precharge pin incase it fails/timeouts by @dalathegreat in #1439
- Raised CPU temperature setpoint from 80->87*C to avoid false positive events by @dalathegreat in #1431
- Add autodetection method for Stark V1 / V2 (No more HAL editing for V1!) by @dalathegreat in #1454
Connectivity 🛜
- MQTT: Added event_level and event_level_color to mqtt information by @No-Signal in #1450
Housekeeping 🧹
- Fixed an issue where events would show wrong date and time if over 50 days had passed, by @jonny5532 in #1347
- Improvement: Remove old method to compile, all is now Common Image by @dalathegreat in #1476
- Bugfix: Increase CAN TX buffer to avoid dropping messages (Noticed especially on BMW i3) by @dalathegreat in #1483
- Bugfix: Make setup() unable to return early by @dalathegreat in #1503
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1508
- Improvement: Add configurable static IP by @dalathegreat in #1481
- Improvement: Heavily improved UI visualization of contactor states by @dalathegreat in #1433
- Improvement: Optimize LED library for maximum performance by @dalathegreat in #1428
- Improvement: Make LED handler compatible with ESP-IDF v5.x by @dalathegreat in #1426
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1434
- Library 📜 Update ESP32AsyncWebServer to v3.8.0 by @dalathegreat in #1413
- Library 📜 Update ArduinoJson to v7.4.2 by @dalathegreat in #1368
- Cleanup 🧹 Remove obsolete uptime library by @dalathegreat in #1417
- Make Modbus inverters allocate their own register memory to save RAM by @jonny5532 in #1378
- Add static constexpr to lots of static battery CAN_frames to save RAM by @jonny5532 in #1402
- Bump softprops/action-gh-release from 1 to 2 by @dependabot[bot] in #1409
- Read watchdog (re)initialization code, disable idle timeouts by @jonny5532 in #1396
Unit testing 🧪
- CAN log based unit testing by @jonny5532 in https://github.com/d...
v9.0.RC9
What's Changed 📦
This is a release candidate (RC9) for the 9.0.0 release. Please keep in mind that this release contains lots of new features, and is not considered fully stable and production ready yet. The end goal of the 9.0.0 release is for users to just Over-The-Air update their boards with the automatically built files below, so that everything can be tuned on the fly instead of at compile time. Testers welcome!
Setting up a board for the first time? Use this webpage to flash the board!
Batteries 🔋
- New Battery! 🔋 Add support for Rivian batteries 🔋 by @dalathegreat in #1517
- BMW PHEV: Fix multiple bugs with native change_can_speed operation by @jonny5532 in #1494
- Bugfix: Double Renault Zoe2 not initializing by @dalathegreat in #1516
Housekeeping 🧹
- Fixed an issue causing T-2CAN factory image to not build correctly by @jonny5532 in #1518 #1522
- Bugfix: Add AP password to settings page by @dalathegreat in #1514
Full Changelog: v9.0.RC8...v9.0.RC9