Releases: dalathegreat/Battery-Emulator
v7.2.0
What's Changed
This release improves OTA behaviour of the Battery-Emulator significantly. We now pause the battery operation before an OTA update is started. This avoids premature contactor wear, and makes inverters less likely to trigger fault codes. You can also manually trigger a pause from the Webserver. Pauses generate events that can be seen in the event log. Bonus, the OTA view also specifies which software/hardware version you are currently on.
This release also improves MQTT functionality , events are now sent via MQTT!
Finally, this release adds authentication to the Webserver. You can now protect it with an username and password!
Batteries 🔋
- Tesla S/3/X/Y:
- Change how power ramping is performed by @dalathegreat in #433
- Add support for 108S Model X +refactor by @dalathegreat in #445
- Combine SX and 3Y by @dalathegreat in #458
- Jaguar iPace: Send proper keep alive message by @obbardc in #437
Inverter ⚡
- Bugfix: Improve SMA pairing reliability, by @dalathegreat in #452
Connectivity 📶
- Web Server Authentication by @amarofarinha in #446
- Add Battery Pause Feature to webserver (Max Charge/Discharge Power) by @amarofarinha in #457
- OTA Update Optimization by @amarofarinha in #457
- MQTT:
- Added additional sensors to the MQTT info topic. by @amarofarinha in #453
- Publish Battery Emulator Events to MQTT by @amarofarinha in #435
Housekeeping 🧹
- Update ElegantOTA library to 3.1.5 by @amarofarinha in #454
- Ignore built binary files by @obbardc in #440
- Update Readme by @obbardc in #436
Full Changelog: v7.1.1...v7.2.0
v7.1.1
What's Changed
Important
It is highly recommended to update to this version.
This release fixes a single issue, event EEPROM writing causing the code to halt for up to 70milliseconds. This caused contactors to open on some battery setups, since CAN message reading/writing was essentially blocked when events were stored to EEPROM. So for now, events wont be stored to persistent memory until we can find a way to do so without halting the program.
- Triage: Remove EEPROM writing by @dalathegreat in #431
Full Changelog: v7.1.0...v7.1.1
v7.1.0
What's Changed
This version introduces support for the SMA-BYD protocol. It is now possible to use SMA Sunny Boy Storage inverters with the Battery-Emulator. This release also contains a few bugfixes.
Taking v7.X.X into use
There are new configurable parameters in the USER_SETTINGS files.
The CAN configuration needs to be set incase you are running extra CAN channels attached to the board. Via this new configuration option, you can define what is connected to which CAN channel. Some components are OK with sharing a CAN channel, others need a dedicated channel. The new CAN configuration also allows you to connect normal CAN devices to a CAN-FD interface. Simply enable the USE_CANFD_INTERFACE_AS_CLASSIC_CAN
option in the USER_SETTINGS incase this functionality is desired. There is a whole lot more flexibility with the newconfiguration CAN configuration interface!
Inverters ⚡
- New protocol: BYD-SMA by @dalathegreat in #410
Batteries 🔋
- Bugfix: BMW i3, temperature swap + SOC improvement by @dalathegreat in #417
- Bugfix: BMW i3, Add skip for CRC incase it fails initially by @dalathegreat in #419
- Feature: BMW i3, cellvoltages now supported + small fixes by @dalathegreat in #381
- Bugfix: eGMP now compiles again, by @dalathegreat in #411
Housekeeping 🧹
- Bugfix: Update CAN pins from hard coded to using HAL by @StarkJohan in #424
- Bugfix: SMA Cleanup by @dalathegreat in #420
- Bugfix: Remove extra closing script tag by @puffnfresh in #425
- Microfeature: User settings for MDNS, WIFI AP, Home Assistant autodiscovery by @paulusbrand in #423
- Cleanup: Remove unused LUNA2000 library by @dalathegreat in #428
New Contributors
- @paulusbrand made their first contribution in #423
Full Changelog: v7.0.0...v7.1.0
v7.0.0
What's Changed
The new 7.0.0 version of the Battery-Emulator is now available. The amount of work put in by everyone involved has been massive. We now have official support for the Stark CMR hardware, and a shiny new CAN handler that will make scaling the project up to the next level way more manageable. Massive thanks to everyone that has been reporting bugs, testing, coding and in other ways contributing to make the emulator shine. 🙌
Taking v7.X.X into use
There are new configurable parameters in the USER_SETTINGS files.
The CAN configuration needs to be set incase you are running extra CAN channels attached to the board. Via this new configuration option, you can define what is connected to which CAN channel. Some components are OK with sharing a CAN channel, others need a dedicated channel. The new CAN configuration also allows you to connect normal CAN devices to a CAN-FD interface. Simply enable the USE_CANFD_INTERFACE_AS_CLASSIC_CAN
option in the USER_SETTINGS incase this functionality is desired. There is a whole lot more flexibility with the newconfiguration CAN configuration interface!
Batteries 🔋
- BMW i3: Add error about pin usage by @dalathegreat in #397
- Triplets: Only update values that are sane by @dalathegreat in #391
- BMW i3: Fix initialization of WUP_PIN by @dalathegreat in #408
- BYD Atto 3: Change CAN id and content for contactor by @dalathegreat in #409
Inverters ⚡
- Feature: Configurable solax voltage range by @dalathegreat in #402
- Feature: Make pylon more configurable by @dalathegreat in #399
Housekeeping 🧹
- Feature: Stark CMR introduction by @dalathegreat in #406
- Refactor: CAN abstraction layer by @dalathegreat in #400
Full Changelog: v6.5.0...v7.0.0
v6.5.0
What's Changed
This version adds support for Double Battery setups. It is now possible to use two EV packs at the same time, to get an even larger battery. See this video for the first install using double battery: https://youtu.be/skBhH_EwBUE
🔋 Batteries
- New battery! Santa Fe PHEV added and marked stable ✔️ @dalathegreat in #392
- Feature: Double battery 🔋 🔋 🥈 by @dalathegreat in #261
⚡ Inverters
Full Changelog: v6.4.0...v6.5.0
v6.4.0
What's Changed
- The Mitsubishi/Citroen/Peugeot triplet batteries are now marked stable! 🥳
- Added support for FerroAmp EnergyHub inverters! 🥳
Batteries 🔋
- Tesla S/3/X/Y :
- Revert broken SOH% calculation by @dalathegreat in #375
- Remove misleading info messages by @dalathegreat in #382
- BYD Atto 3: Add contactor closing allowed signal by @dalathegreat in #378
- Mitsubishi/Citroen/Peugeot Triplets: Add cellvoltage safeties and improved SOC handling. by @dalathegreat in #384
Inverters ⚡
- Pylon CAN has new configurable options in
PYLON-CAN.cpp
- Add function to byte-swap all 16bit values
- Add function to enable 30k offset for currents
- Add function to limit charge/discharge currents from User settings
- Add status bits
by @willyfromtheblock in #359
by @LevinSwe in #287
Housekeeping 🧹
- Feature: Add SSID/Password writing from webserver! by @dalathegreat in #376
- Bugfix: Webserver settings page now handles decimals by @GubbJVL in #386
New Contributors
- @willyfromtheblock made their first contribution in #359
- @GubbJVL made their first contribution in #386
Full Changelog: v6.3.0...v6.4.0
v6.3.0
What's Changed
Batteries 🔋
- Feature: New battery, Kia Niro Hybrid HEV (Not stable yet!) by @dalathegreat in #365
- Feature: New battery, Jaguar I-PACE (Not stable yet!) by @obbardc in #368
- Tesla S/3/X/Y: Improve error message on why HVIL blocks contactors by @dalathegreat in #367
- BYD Atto 3: Improved value mappings by @dalathegreat in #352
- CHAdeMO: Shunt support refactor by @smaresca in #357
- PYLON battery parameters scaled wrong by @dalathegreat in #362
Housekeeping 🧹
- CPU load improvement: Apply less filtering on CAN signals by @dalathegreat in #345
- CPU load improvement: Removed unused MQTT subscription functionality by @fspijkerman in #358
- CPU load improvement: Improve performance on LED driver by @dalathegreat in #364
- Use unsupported but working ESP32 version in PlatformIO to enable using this IDE by @puffnfresh in #361
- Create CONTRIBUTING.md file to instr by @dalathegreat in #363
- Bump arduino/setup-arduino-cli from 1 to 2 by @dependabot in #371
New Contributors
- @fspijkerman made their first contribution in #358
- @puffnfresh made their first contribution in #361
- @obbardc made their first contribution in #368
Full Changelog: v6.2.1...v6.3.0
v6.2.1
What's Changed ❔
This version focuses on improving CPU load, along with some battery fixes. Flaky Wifi connections could result in contactors opening, so the Wifi task is now moved out of the core task to keep batteries satisfied without any CAN interrupts. Who knew embedded real-time was so hard 😅
Taking 6.X.X into use ℹ️
When compiling this latest version, you need to update the ESP32 package by Espressif System, in the Arduino IDE, to at least v3.0.0 , failure to do this will result in compilation errors. This is the spot in Arduino IDE to do it:
Housekeeping 🧹
- Bugfix: CAN overrun events are now cleared to help spot CPU load issues, by @dalathegreat in #344
- Bugifx: Move WIFI out from the core task by @Cabooman in #346
Batteries 🔋
- BYD Atto 3: Rescale voltage, by @dalathegreat in #347
- Renault Zoe: Split Zoe handling with OVMS info by @dalathegreat in #343
- 800V E-GMP: Fixed sign on current value by @dalathegreat in #349
Full Changelog: v6.2.0...v6.2.1
v6.2.0
What's Changed ❔
This version focuses on improving CPU load, along with some battery fixes. Flaky Wifi connections could result in contactors opening, so the Wifi task is now moved out of the core task to keep batteries satisfied without any CAN interrupts. Who knew embedded real-time was so hard 😅
Taking 6.X.X into use ℹ️
When compiling this latest version, you need to update the ESP32 package by Espressif System, in the Arduino IDE, to at least v3.0.0 , failure to do this will result in compilation errors. This is the spot in Arduino IDE to do it:
Housekeeping 🧹
- Bugfix: CAN overrun events are now cleared to help spot CPU load issues, by @dalathegreat in #344
- Bugifx: Move WIFI out from the core task by @Cabooman in #346
Batteries 🔋
- BYD Atto 3: Rescale voltage, by @dalathegreat in #347
- Renault Zoe: Split Zoe handling with OVMS info by @dalathegreat in #343
Full Changelog: v6.1.0...v6.2.0
v6.1.0
What's Changed ❔
This version fixes a rare reset issue, adds reset reason to Events view, and adds initial support for BYD Atto 3 batteries! It is a highly recommended update.
Taking 6.X.X into use ℹ️
When compiling this latest version, you need to update the ESP32 package by Espressif System, in the Arduino IDE, to at least v3.0.0 , failure to do this will result in compilation errors. This is the spot in Arduino IDE to do it:
Batteries 🔋
- Feature: Add initial support for BYD Atto 3 batteries 🔋 by @dalathegreat in #325
- Improved code performance on LEAF and Kia batteries, by copying the cellvoltages in a smarter way, by @amarofarinha in #332
Inverters ⚡
- Bugfix: Division by 0 could crash the emulator. Affected protocols Solax, SMA and BYD. Fixed by @dalathegreat in #340
Housekeeping 🧹
- Feature: The reason a reset happened is now posted in Event view, by @dalathegreat in #335
- Microfeature: Show which hardware is used in WebUI, by @dalathegreat in #339
- MQTT Bugfix, calculate number of cell in KIA pack by @amarofarinha in #341
Full Changelog: v6.0.0...v6.1.0