Releases: dalathegreat/Battery-Emulator
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
v8.14.1
What's Changed 📦
This is a small optional bugfix release, mainly deployed to fix the MQTT crashing on startup.
Recommended ESP32 version: 3.2.0
Batteries 🔋
- Improvement: ECMP contactors now possible to close via CAN by @dalathegreat in #1177
- Added support for Double ZoeGen1 batteries 🔋 🔋 by @dalathegreat in #1231
- Renault Zoe PH2:
- Correct location of balancing status info by @dalathegreat in #1226
- Bugfix, Make NVROL reset survive WDT trigger by @dalathegreat in #1236
Housekeeping 🧹
- Fix MQTT-related startup crash by @kyberias in #1242
- Improvement: Make Webserver UI more compact by @dalathegreat in #1244
Full Changelog: v8.14.0...v8.14.1
v8.14.0
What's Changed 📦
This is mainly a bugfix release, aiming to fix problems with specific batteries and inverters. Please read these notes, and if you see mentions of any component that you are using, it is a good idea to update to this version.
This release introduces cell balancing status overview for Nissan LEAF and Renault Zoe PH2 batteries. You can now see in the Cellmonitor webpage which cells are being actively balanced. Same method can potentially be added to other battery integrations!
Recommended ESP32 version: 3.2.0
Batteries 🔋
- Feature: Add balancing status (Nissan LEAF & ZoeGen2) by @dalathegreat in #1186
- Zoe Gen1: Added More Battery Info page by @dalathegreat in #1153
- Tesla: Increase voltage precision by @dalathegreat in #1180
- Tesla: Fix regression where "More Battery Info" page was not accessible by @kyberias in #1185
- Chademo: Correct SOC and capacity scaling by @dalathegreat in #1181
- Nissan LEAF: Make fully charged kWh capacity scale according to SOH% by @dalathegreat in #1199
- BYD Atto 3: Add feature to changing SOC method (Estimated/Measured) in More Battery Info page by @freddanastrom in #1212
- Kia/Hyundai 40/64: Made 90S celldetection method more reliable by @dalathegreat in #1219
Inverters ⚡
- Bugfix: Discharge below 1% SOC was not possible on any inverter by @dalathegreat in #1178
- SMA BYD H: Add content previously added to SMA_BYD_HVS by @lenvm in #1169
- SMA BYD HVS: Split up pairing sending into batches to improve success rate by @dalathegreat in #1156
- SMA (all): Add event for pairing event to aid troubleshooting by @dalathegreat in #1216
- Pylon: Fix for allowing high capacity >255Ah batteries by @Morris3190 in #1192
- Pylon: Better handling of charge/discharge allowed flags by @dalathegreat in #1179
- Ferroamp: Fix for allowing large capacity > 255Ah batteries by @Morris3190 in #1194
- Sofar CAN: Now formatting CAN messages properly by @Gerwaz3 in #1207
Hardware 🤖
- Improvement: Increase stack size for add on ACAN2515 by @dalathegreat in #1172
Housekeeping 🧹
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1200
- Update readme to remove confusing diagrams by @jymbob in #1205
- Bugfix: Add Daly to build system by @dalathegreat in #1206
- Progress towards Common Image
- Convert two remaining batteries to use the base class by @kyberias in #1189
- Fix Ferroamp/Pylon CAN send conflict by @kyberias in #1197
- Batteries implement HTML renderers for status and commands by @kyberias in #1193
- fix RS485Battery::transmit_rs485 not being defined/used correctly by @M4GNV5 in #1201
- Generalize comm 'transmit' and introduce common class for shunts by @kyberias in #1208
- Fix compiler warning/error by @kyberias in #1217
- Batteries and inverter protocols receive data using run-time registered interfaces by @kyberias in #1214
- Fix Geely battery compilation by @kyberias in #1218
New Contributors
- @Morris3190 made their first contribution in #1192
- @jymbob made their first contribution in #1205
- @Gerwaz3 made their first contribution in #1207
- @freddanastrom made their first contribution in #1212
Full Changelog: v8.13.0...v8.14.0
v8.13.0
What's Changed
This is an optional bugfix release. Please read the release notes, and see if there are any improvements for the components you are using.
Recommended ESP32 version: 3.2.0
Batteries 🔋
- New Battery: Add starting point for Geely Geometry C battery 🔋 by @dalathegreat in #1049
- Renault Zoe 52kWh: Fixed some CAN sending issues and added all cellvoltages to monitor page by @dalathegreat in #1159
- Stellantis eCMP: Add more CAN mappings. Integration almost complete now! by @dalathegreat in #1120
- Pylon Battery: Added startup values for SOH and SOC to avoid false positive events on startup by @dalathegreat in #1157
- BMW iX: Add functionality to close and open contactors by @lenvm in #1130
- Chademo: Bugfix, add missing break; to CAN handler by @dalathegreat in #1168
Inverters ⚡
- SMA: BYD-HVS protocol, Update battery error handling, and CAN inverter still alive by @lenvm in #1129
- Ferroamp: Bugfix, Now possible to set TOTAL_CELL_AMOUNT over 255 by @dalathegreat in #1161
Hardware 🤖
- Stark: Updated MEB precharge control logic to support Stark CMR by defauly by @dalathegreat in #1137
Connectivity 🛜
- MQTT: CPU temperature now available via MQTT by @kyberias in #1154
- MQTT: Bugfix for MQTT memory leak overtime by @No-Signal in #1125
Housekeeping 🧹
- Improvement: Reduce millis() calls to improve performance by @dalathegreat in #1128
- Improvement: Add emojis to make builds more identifiable by @dalathegreat in #1139
- Library: Update ArduinoJSON to 7.4.1 📜 by @dalathegreat in #1142
- Progress towards Common Image:
- The remaining 21 batteries and BMS converted to use the base class by @kyberias in #1162
- Contactor closing variable fix and more double batteries converter to use the base class by @kyberias in #1152
- Convert the remaining inverter protocols to use the common base class and build them all by @kyberias in #1143
- Kostal inverter class and RS485/Modbus refactoring by @kyberias in #1135
- Nissan Leaf battery class with double battery support by @kyberias in #1114
- All chargers built regardless of build-time selection by @kyberias in #1124
- BYD CAN inverter protocol class by @kyberias in #1117
- Use common base class for Afore CAN inverter protocol by @kyberias in #1121
- Chargers use a base class by @kyberias in #1122
- Ferroamp CAN inverter protocol code converter to use the base class by @kyberias in #1127
- BYD Atto 3 battery converted to use the base class by @kyberias in #1140
- BMW I3 battery implemented as a class with double battery support by @kyberias in #1126
Full Changelog: v8.12.0...v8.13.0
v8.12.0
What's Changed 📦
This version is a highly suggested upgrade for BYD Atto 3 owners, since it improves safety significantly by using the Allowed charge power signal coming directly from the BMS (instead of an estimated value). For other users, please read if any of the following improvements are applicable to your system.
Recommended ESP32 version: 3.2.0
Battery 🔋
- BMW i3: Proper time format now sent towards battery, by @dalathegreat in #1086
- Volvo SPA: Added support for 64 kWh (96S) battery by @dalathegreat in #1093
- BYD Atto 3:
- Add crashed BMS unlocking via "More Battery Info" page 🔒 by @dalathegreat in #1057
- Integration now uses allowed charge power sent by BMS for safer operation by @dalathegreat in #1101
- Tweaked SOC voltage estimation lookup tables by @dalathegreat in #1101
- Added More PID polls to the "More Battery Info" page by @dalathegreat in #1101
- Renault Zoe Gen2 50kWh: Added NVROL reset function via "More Battery Info" page by @lenvm in #1017
- Renault Kangoo: Add battery closing allowed flag on startup for a few batteries that were missing this, preventing GPIO contactor control to function by @dalathegreat in #1112
Inverter ⚡
- SMA: Add Event for missing enable line, to simplify troubleshooting, by @dalathegreat in #1094
Hardware 🤖
- Bugfix: Edit SMA inverter input pin for Stark CMR hardware by @dalathegreat in #1095
Housekeeping 🧹
- Microfeature: Added CPU temperature grossly overheated fault event 🌡️ by @dalathegreat in #1106
- Refactoring: Simplify CAN sending routine and improve performance by @dalathegreat in #1090
- Bugfix: Scaled capacity overhaul by @dalathegreat in #1110
- Progress towards Common Image:
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1109
Full Changelog: v8.11.0...v8.12.0
v8.11.0
What's Changed 📦
This update mainly aims to fix an issue with the newly released Fronius "1.36.5-1" software, causing the Battery-Emulator to stop functioning. So if you have a Fronius inverter, this is a mandatory update!
Recommended ESP32 version: 3.2.0
Batteries 🔋
- CMFA-EV: Improved scaling of raw SOC value by @dalathegreat in #1052
- BMW iX: Improve CAN message sending to make BMS throw less error codes by @lenvm in #1045
- E-GMP: Improved SoC estimation algorithm by @ilia92 in #1060
Inverters ⚡
- BYD Modbus: Update FW and Serial number to pass Fronius new Modbus requirements, by @dalathegreat in #1085
- Safety: Write charge/discharge power to 0 incase packvoltage get out of hand
⚠️ by @dalathegreat in #1067
Housekeeping 🧹
- Microfeature: Added event incase ESP32 CPU overheats, by @dalathegreat in #1064
- Improvement: Made the event description for Equipment Stop easier to understand by @dalathegreat in #1068
New Contributors 🦸
Full Changelog: v8.10.0...v8.11.0
v8.10.0
What's Changed
This release adds support for the CMFA-EV platform (Dacia Spring, Renault K-ZE), 50kWh BYD Atto3 batteries, tons of bugfixes.
Suggested ESP32 version: 3.2.0
Batteries 🔋
- New Battery: Added support for CMFA-EV battery by @dalathegreat in #971
- New Battery: Added support for 50kWh standard range BYD Atto3 by @dalathegreat in #1026
- Volkswagen MEB:
- BMW iX: update values in CAN messages by @lenvm in #1041
- Renault Zoe Gen2 50kWh: General stability fixes by @dalathegreat in #1038
- Tesla S/3/X/Y: Added BMS ECU reset to "More battery info" page, and basic UDS response logging by @greenoem in #1042
Inverters ⚡
- Feature: Add negative SOC scaling 📉 by @dalathegreat in #1040
Housekeeping 🧹
- Microfeature: Add ESP32 CPU temperature monitoring in Webserver 🌡️ by @dalathegreat in #1050
- Crash fix: Removed faulty DEBUG_LOG section that could cause the board to crash when using logging by @dalathegreat in #1037
- Housekeeping: Fix compilation warning from build system by @dalathegreat in #1032
- Improvement: Performance and cleanup by @dalathegreat in #1031
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1044
New Contributors
- @pre-commit-ci made their first contribution in #1044
Full Changelog: v8.9.0...v8.10.0
v8.9.0
What's Changed
This release adds support for Double Pylon batteries, fixes an issue that could crash the board when using MQTT commands, and adds several bugfixes to batteries and inverters
Note
Deye inverters, should now use BYD_CAN_DEYE instead of BYD_CAN. Deye offgrid inverters require a specific implementation, that would not play nicely with other BYD_CAN inverters.
Suggested ESP32 version: 3.1.3
Batteries 🔋
- Feature: Add double Pylon battery support by @dalathegreat in #967
- Renault Twizy: Fixed a bug causing compilation to fail when selecting this protocol by @lenvm in #1011
- Volkswagen MEB: Improve "More battery info" page for easier debugging. by @mvgalen in #983
- Kia eGMP platform: Add SOC estimation from cellvoltage min-max by @dalathegreat in #923
- Tesla S/3/X/Y:
- Bugfix: Fixed a typo causing battery_OverTemperatureFault not to be mapped correctly by @stamp in #1008
- Bugfix: Improve blown pyrofuse event check by @dalathegreat in #1015
Inverters ⚡
- Growatt HV:
- Fixed an issue causing status bits to never clear, affecting charge/discharge by @ErikssonPer in #982
- Fixed an issue where CAN sending towards inverter would sometimes fail by @dalathegreat in #980
- Kostal: Fixed an issue where contactors would not close on startup by @gwk1 in #986
- Deye: Separate Deye offgrid BYD_CAN_DEYE protocol now implemented to avoid Solis misbehaving by @dalathegreat in #981
- Solax: Added reported_total_capacity_Wh to code, and taken into use in Solax protocol by @mvgalen in #1002
Housekeeping 🧹
- Feature: Add (dis)charged_energy_Wh to datalayer and MQTT, by @mvgalen in #1003
- Crashfix: Fixed an issue where MQTT commands could crash the board, by @No-Signal in #989
- Improvement: Improve performance of the LED handler by @dalathegreat in #1014
- Improvement: Combine GitHub Action to compile all combinations into one file and reduce triggers by @lenvm in #1012
- Improvement: General code cleanup to imrpove performance 🧹 by @dalathegreat in #1009
New Contributors
- @ErikssonPer made their first contribution in #982
- @stamp made their first contribution in #1008
Full Changelog: v8.8.1...v8.9.0
v8.8.1
What's Changed 📦
This is a minor update mainly to fix a watchdog reset issue that could happen when using MQTT
Important
It is highly recommended to update to this version if you are using MQTT
Suggested ESP32 version: 3.1.3
Battery 🔋
- Daly BMS: Minor stability tweaks by @M4GNV5 in #930
- MEB platform: Make transmit_obd_can_frame canFD aware. by @mvgalen in #969
Inverters ⚡
- Foxess: Reduce CAN sending load by @dalathegreat in #958
Housekeeping 🧹
- Crashfix: Fixes to MQTT to prevent delays when the broker is unavailable which can trigger the watchdog timer reset by @No-Signal in #955
- Improvement: Remove EE event log by @Cabooman in #959
- Library update: Adafruit_NeoPixel by @lenvm in #954
Full Changelog: v8.8.0...v8.8.1