Releases: dalathegreat/Battery-Emulator
v9.0.RC8
What's Changed 📦
This is a release candidate (RC8) 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 🔋
- MEB: Fix CAN still alive handler by @dalathegreat in #1502
- Fix cellvoltages index on RJXZS population by @jonny5532 in #1507
- Change several batteries to only flag CAN aliveness on relevant messages by @jonny5532 in #1504
Housekeeping 🧹
- Improvement: Make CAN-FD frequency configurable by @dalathegreat in #1512
- Bugfix: Make setup() unable to return early by @dalathegreat in #1503
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1508
Unit testing 🧪
- Add unit tests to make sure batteries aren't renewing aliveness on bogus CAN frames by @jonny5532 in #1509
- Tidy up parameterized test names by @jonny5532 in #1505
- Make CAN log base tests check for aliveness by @jonny5532 in #1506
- Tweak CAN still-alive tests to more reliably construct batteries by @jonny5532 in #1510
Full Changelog: v9.0.RC7...v9.0.RC8
v9.0.RC7
What's Changed 📦
This is a release candidate (RC6) 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 🔋
- Improvement: Add estimated charge setting for Kia eGMP by @dalathegreat in #1489
- Fix RJXZS cell count population (and tidy up code) by @jonny5532 in #1496
Housekeeping 🧹
- Bugfix: Fix underflow regression bug when scaling SOC negatively by @dalathegreat in #1492
- Crashfix: remove faulty Sofar print causing crash by @dalathegreat in #1498
- Remove the duplicate CanBattery constructor. by @jonny5532 in #1495
- CAN log based unit testing by @jonny5532 in #1443
Full Changelog: v9.0.RC6...v9.0.RC7
v9.0.RC6
What's Changed 📦
This is a release candidate (RC6) 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 🔋
- Stellantis: Add initial support for 50/75kWh vans by @dalathegreat in #1484
Housekeeping 🧹
- Bugfix: Increase CAN TX buffer to avoid dropping messages (Noticed especially on BMW i3) by @dalathegreat in #1483
- Bugfix: Fixed an issue where using MQTT would crash the board by @No-Signal in #1485
- Feature: Add user configurable max charge/discharge values for integrations without properly decoded ones by @dalathegreat in #1487
Full Changelog: v9.0.RC5...v9.0.RC6
v9.0.RC5
What's Changed 📦
This is a release candidate (RC5) 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!
Battery 🔋
- Hyundai Ioniq 28: Correct SOH reading. Add isolation resistance to More Battery Info by @dalathegreat in #1464
Housekeeping 🧹
- Improvement: Add configurable static IP by @dalathegreat in #1481
- Improvement: Remove old method to compile, all is now Common Image by @dalathegreat in #1476
- Restore CAN-FD library to v2.1.4 to avoid crashes by @dalathegreat in #1480
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1477
Progress towards Common Image
- Improvement: More settings webserver by @dalathegreat in #1474
- Improvement: Move Contactor settings to common-image by @dalathegreat in #1475
- Improvement: Remove USER_SETTINGS entirely by @dalathegreat in #1478
Full Changelog: v9.0.RC4...v9.0.RC5
v9.0.RC4
What's Changed 📦
This is a release candidate (RC4) 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!
Recommended ESP32 version: 3.3.0
Batteries 🔋
- New Battery 🔋 Add support for RELi³ON LV battery protocol by @dalathegreat in #1442
- Tesla: Add SOC reset feature under More Battery Info page by @greenoem in #1456
- Tesla: Configurable GTW settings via Webserver by @dalathegreat in #1466
- Renault Zoe Gen2: Make double battery write correctly to balancing status by @dalathegreat in #1469
Inverters ⚡
- 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
Housekeeping 🧹
- Library 📜 Update ACAN2517FD to version 2.1.16 by @dalathegreat in #1437
Common Image progress
- Improvement: Debug Web/USB as configurable setting by @dalathegreat in #1468
- Bugfix: Make tests pass after 2_CAN board merge by @dalathegreat in #1470
- Feature: Build common image on release for LilyGo T-2CAN by @dalathegreat in #1471
- Common Image: Fix crash for some integrations by @dalathegreat in #1472
New Contributors 🦸
- @mbuhansen made their first contribution in #1448
Full Changelog: v9.0.RC3...v9.0.RC4
v9.0.RC3
What's Changed 📦
This is a release candidate (RC3) 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 to compile all combinations of hardware into a common image, so that parameters can be tuned on the fly instead of at compile time. Testers welcome!
Recommended ESP32 version: 3.3.0
Batteries 🔋
- New battery 🔋 Add support for Kia 64kWh FD battery (37501-AO050) by @dalathegreat in #1452
- Nissan LEAF: Add all 4x temperature measurements to More Battery Info page by @dalathegreat in #1430
- 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
Housekeeping 🧹
- 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
Connectivity 🛜
- MQTT: Added event_level and event_level_color to mqtt information by @No-Signal in #1450
Hardware 🤖
- 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
Common Image progress
- Make custom-BMS voltage limits configurable via settings by @jonny5532 in #1424
- Make more inverter settings configurable by @jonny5532 in #1425
- Remove hardcoded cell counts from custom-BMS batteries by @jonny5532 in #1423
Full Changelog: v9.0RC2...v9.0.RC3
v9.0.RC2
What's Changed 📦
This is a release candidate (RC2) 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 to compile all combinations of hardware into a common image, so that parameters can be tuned on the fly instead of at compile time. Testers welcome!
Recommended ESP32 version: 3.3.0
Batteries 🔋
- Increase max capacity of batteries you can have, 120kWh -> 400kWh by @dalathegreat in #1407
- Nissan LEAF: Improve CAN message handling for 2018+ batteries, hopefully they balance better now! by @dalathegreat in #1403
- Volvo SPA: Value reading made more robust by @dalathegreat in #1392
- BMW iX, i4‐i7: Reduce incorrect startup events by @dalathegreat in #1405
- RangeRoverPHEV: Add voltage limits by @dalathegreat in #1411
- Renault ZoePH2: Make NVROL actually work, and CAN handler better by @dalathegreat in #1416
Inverters ⚡
- New inverter protocol ⚡ Sol-Ark LV CAN by @dalathegreat in #1399
- SMA (All protocols): Improve pairing success rate by @dalathegreat in #1400
- Sofar CAN: Reduced CAN sending rate, improved inverter response by @dalathegreat in #1408
Housekeeping 🧹
- Library 📜 Update ESP32AsyncWebServer to v3.8.0 by @dalathegreat in #1413
- 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
Common Image progress
- Update secret name by @kyberias in #1401
- Back to using GITHUB_TOKEN but with more permissions by @kyberias in #1404
- Add release assets workflow by @kyberias in #1394
- Fix double battery contactor control settings by @kyberias in #1397
- Add factory builds and push to web installer by @jonny5532 in #1412
- Keep factory images out of release assets by @jonny5532 in #1415
Full Changelog: v9.0.RC1...v9.0RC2
v9.0.RC1
What's Changed 📦
This is a release candidate (RC1) 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 to compile all combinations of hardware into a common image, so that parameters can be tuned on the fly instead of at compile time. Testers welcome!
Recommended ESP32 version: 3.3.0
Batteries 🔋
- New Battery 🔋 : Add support for Samsung SDI LV by @dalathegreat in #1379
- New Battery 🔋 : Add support for Ioniq 28kWh by @dalathegreat in #1268
- 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
- MG HS PHEV: General integration improvements by @jonny5532 in #1305
- KIA EGMP: Added More Battery Info page and startup values by @Gerwaz3 in #1352
- Volvo SPA: Correct datatype for current value in More Battery Info by @dalathegreat in #1373
- 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
- Safety: Improve stopping charge/discharge when battery is full/empty by @dalathegreat in #1364
Inverters ⚡
- 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
Housekeeping 🧹
- Fixed an issue where events would show wrong date and time if over 50 days had passed, by @jonny5532 in #1347
- Make CAN log output show in correct order on Webserver by @jonny5532 in #1357
- Feature: Add user configurable BMS reset off time by @dalathegreat in #1343
- Use ESP 3.3.0 and build only common image with Platform IO by @kyberias in #1363
- Library 📜 Update ArduinoJson to v7.4.2 by @dalathegreat in #1368
- Library 📜 Update ESPAsyncWebServer to v3.7.10 by @dalathegreat in #1369
- Unit tests by @kyberias in #1358
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1390
Progress towards common image 🎨
- Hal refactoring and GPIO allocations by @kyberias in #1287
- Build fail: Fix build system for common image with Solxpow protocl by @dalathegreat in #1339
- Reduce direct usage of global can_config by @kyberias in #1345
- Tidy up MG-HS-PHEV include/ifdefs and add to BATTERIES.cpp by @jonny5532 in #1356
- Eliminate include.h by @kyberias in #1353
- Fix crash when saving settings by @kyberias in #1344
- Fix WiFi to use settings by @kyberias in #1359
- Fix build when logging enabled and add workflow that uses logging by @kyberias in #1360
- Stark and Wifi fixes by @kyberias in #1362
- Fix equipment stop button and remove dupe code by @jonny5532 in #1371
Full Changelog: v8.16.0...v9.0.RC1
v8.16.0
What's Changed 📦
This is a small bugfix release, that also adds support for the Sofar CAN protocol (useful for putting multiple batteries in parallel towards Sofar inverters), and it also includes a dedicated CAN protocol for Solxpow inverters.
Recommended ESP32 version: 3.2.0
Batteries 🔋
- Atto 3: Added ramp down of discharge power by @freddanastrom in #1315
- Atto 3: Max discharge power, charge power scaling and unknown values now decoded in More Battery Info page by @freddanastrom in #1328
- GM BEV2: Added SOC estimation by @dalathegreat in #1301
- GM BEV2: Add rest of missing values needed for stable integration by @dalathegreat in #1298
- Volkswagen MEB: Fixed an issue causing contactors to open after 49 days of operation by @dalathegreat in #1308
- BMW i3: Handle WUP pin better for reboots by @dalathegreat in #1318
Inverters ⚡
- Regression: Fixed RS485 inverters by proper registration of a receiver by @kyberias in #1320
- Feature: Sofar CAN protocol ⚡ by @dalathegreat in #1277
- Feature: Solxpow CAN protocol ⚡ by @dalathegreat in #1307
Housekeeping 🧹
- Library 📜 : Update eModbus and ESP32 core (v3.2.0 -> 3.2.1) by @dalathegreat in #1325
- Fixed compiler warning for overflow on Sono by @dalathegreat in #1324
- Fixed display of event dates getting messed up after 49 days of uptime by @kyberias in #1327
- Fixed erroneous 53.3C CPU temperature value that ESP32 often returns by @jonny5532 in #1333
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1296
New Contributors
- @jonny5532 made their first contribution in #1333
Full Changelog: v8.15.0...v8.16.0
v8.15.0
What's Changed 📦
Important info for Double Battery setups running automatic GPIO control! This version simplifies the handling of the secondary battery handling, requiring only 1 output to activate the POS+NEG contactor when the second battery joins. This will require wiring changes if you already wired this up. See #1232 for more info
This version also adds basic support for the MG HS PHEV battery
This version also adds double battery support for CMFA-EV and ZoePH2 batteries 🔋 🔋
Recommended ESP32 version: 3.2.0
Batteries 🔋
- New Battery: MG HS PHEV Battery support 🔋 by @dalathegreat in #1292
- Feature: Add support for Double CMFA-EV batteries 🔋 🔋 by @dalathegreat in #1233
- Feature: Add support for Double ZoePH2 batteries 🔋 🔋 by @dalathegreat in #1234
- BYD Atto3:
- Improvement: Always show correct estimated SOC in more battery info page by @freddanastrom in #1246
- Feature: Add charged/discharged energy to more battery info page by @freddanastrom in #1251
- Kia-64/40: Fixed an issue where 90/98S detection would incorrectly count theh cells by @dalathegreat in #1249
- Chademo:
- Bugfix: Improve startup to throw less events by @dalathegreat in #1240
- Feature: Add "More battery info" page for Chademo by @dalathegreat in #1264
- BMW i3: Fixed a crash that could occur with double battery setups by @kyberias in #1258
- Volvo SPA: Fixed a bug that caused the More battery info page to be missing by @kyberias in #1270
- Stellantis eCMP: Fixed current sign, and improved CAN sending to be less resource intensive by @dalathegreat in #1238
Hardware 🤖
- Feature: Simplify GPIO for secondary battery by @dalathegreat in #1232
Connectivity 🛜
- Add cell balancing data to MQTT publishing by @copilot-swe-agent in #1290
- Add feature to set a custom device hostname to improve Wifi management by @freddanastrom in #1288
Housekeeping 🧹
- Improvement: Make Webserver More Battery Info page more crash proof by @dalathegreat in #1221
- Improvement: Update USER_SETTINGS.h note by @dalathegreat in #1265
- Eliminate BMW i3 extended datalayer by @kyberias in #1271
- Eliminate BMW IX extended datalayer by @kyberias in #1291
- Progress towards Common Image:
New Contributors 🦸
- @copilot-swe-agent made their first contribution in #1290
Full Changelog: v8.14.1...v8.15.0