Releases: dalathegreat/Battery-Emulator
v4.2.0 release
What's Changed
The Battery-Emulator can now act as a Webserver! You can now remotely check in on what the LilyGo is reporting, and also update software over the air! How cool is that? 😎 When the setting 'WEBSERVER' is enabled, Wifi settings can be tweaked in the 'USER_SETTINGS.cpp' file. For more info on what this feature brings, see the pull request description
Got a tricky inverter that doesn't like to see automotive CAN messages on the same bus as inverter messages? No worries, you can now use two LilyGo's at the same time! One connected to the battery, the other to the inverter, these then share data between each other via the RS485 pins. Elegant solution to a tricky problem! For more info on how to use this feature, see the pull request description
Inverters
- Fixed an issue causing SOFAR CAN to never update data, by @Dimonlipko in #113
Batteries
- Tesla
- Misleading min/max voltages removed from USB printout
- Accuracy improved on Amperage value reported by battery
- Contactor closing skipped if inverter says not OK to proceed
New Contributors
- @Dimonlipko made their first contribution in #113
Full Changelog: v4.1.0...v4.2.0
v4.1.0 release
What's Changed
This update fixes some bugs for Solax & Fronius inverters, along with some battery fixes for Tesla & Nissan packs.
Inverters
- Solax: Fixed an issue where cell_max_voltage wasn't mapped properly
- Fronius: Non-LFP packs can now be used in below -10*C conditions. Explained more here: #112
Batteries
- Added a compilation warning incase user tries compiling without a battery specified in
USER_SETTINGS.h
- Tesla: Tweaked LFP cell voltage limits from user feedback
- Tesla: Charge power now ramped down when SOC% approaches 100%
- Nissan LEAF: Added SOC% plausibility detection. Incase SOC% sent by battery no longer makes sense, charge/discharge stops.
Full Changelog: v4.0.0...v4.1.0
v4.0.0 release
What's Changed
USER_SETTINGS.h
, it is required to start with a fresh user settings file when taking this release into use!
- The code now has been refactored to be more user friendly (Thanks to @lenvm 👏)
- The entire project now has pre-commit code formatting checks in place (Thanks to @lenvm 👏)
- Github Actions added, all possible combinations of inverters/batteries now tested so that they compile, by @lenvm in #84 This improves code quality in the long run.
- Min/Max voltage now uses global value for all inverters to save memory
Inverters
- BYD CAN: This PR adds a new parameters (MAXCHARGEAMP & MAXDISCHARGEAMP) to the USER_SETTINGS.h file
- You can now specify the max charge A and discharge A that will be sent over BYD CAN protocol. Some inverters did not like having over 30.0A available, so now you can restrict the value!
- Also removed the blocking of some CAN messages in BYD can when the FAULT state is active. This was not needed.
Batteries
-
Added a new Test Mode. Now you can enable a fake battery to test your inverter without a real battery on CAN bus. This can be enabled in
USER_SETTINGS.h
, by uncommenting the line#define TEST_FAKE_BATTERY
-
Tesla batteries
- Fixed a bug where Amp value was scaled incorrectly, causing inverters to report wrong W
- Fixed contactor opening for fault scenarios, the known working delay for sending 0x221 messages copied from pelle_c!
- Debug printout made easier to readd
Full Changelog: v3.5.0...v4.0.0
v3.5.0 release
What's Changed
- The entire project now has a proper folder structure, instead of having all files in one messy folder. See link for more info
- A GitHub Action is now added, to check that the Arduino sketch compiles. This action is performed on each push/pull request.
Inverters
- Luna2000 Modbus RTU protocol added. This is still work in progress, but testing with Huawei inverters can now begin!
- Inverters using BYD CAN should now show correct kWh size (BYD 19.3 instead of 5.1 for example)
- Alternate Pylon CAN "-1" message sending added, needed for some Sofar inverters
- Sofar CAN protocol added! Testers welcome :) ( Sofar CAN, extended protocol V1.0.001 20201106 )
Batteries
- iMIEV battery support improved, all values now mapped 💪
- Tesla Model 3 battery support improved
- Autodetect LFP or NCA/NCM chemistry. 🔋 These two battery types have different voltage limits, and the code now can select the correct limits automatically
- 50 new fault codes added!
⚠️ The error matrix from 0x3AA is now fully decoded, and the software will alert you if one of them is triggered. Example, "ERROR: Pack discharge current is above the safe max discharge current limit!" and another example, "ERROR: shunt current reading is not available" - RealSOC now visible in the USB printout. Previously this value was overwritten instantly by the rescaled value heading towards inverter
Pull requests included
- Fix kWh identifier for BYD CAN by @dalathegreat in #69
- Imiev fixes by @dalathegreat in #71
- Modbus luna2000 by @dalathegreat in #72
- Add ID ending with 1 by @dalathegreat in #73
- Add Sofar CAN by @dalathegreat in #77
- add GitHub Action that compiles Arduino sketch for ESP32 by @lenvm in #76
- Add folder structure by @lenvm in #78
- Tesla Model3 debug improvements by @dalathegreat in #79
New Contributors
Full Changelog: v3.4.0...v3.5.0
v3.4.0 release
What's Changed
- New inverter protocol added! 🍾BYD Battery-Box H, 7x modules. This CAN protocol can be used with the SMA Sunny Boy Storage inverter, and with the Kostal Plenticore inverter!
- USB Serial printout now runs much faster! 🚀 9600 -> 115200 , remember to set the new baud rate in the serial monitor window!
- Tesla batteries
- Improved serial printout for Tesla batteries
- Nissan LEAF batteries:
- Fixed an issue where signed values wouldn't be handled properly
- USB printing made more user friendly with correct scalings
- Fixed an issue where the Charging/Discharging/Idle field would show wrong values
Pull requests included
- Improvements to debug output for Tesla batteries. by @matvey83 in #66
- Leaf print refactor by @dalathegreat in #67
- SMA BYD CAN by @dalathegreat in #68
Full Changelog: v3.3.0...v3.4.0
v3.3.0 release
This update fixes some LEAF issues, and improves value scaling on Solax inverters
What's Changed
- Solax inverters:
- Current on screen now scaled properly
- Power value now scaled properly
- Improved CAN mappings and sending routine
- Nissan LEAF batteries:
- Current value (A) now shows real current, previously value was 2x
- Power value (W) now shows real power, previously value was 2x
- Fixed an issue where using Leafspy at the same time could cause Yellow LED on the board, active polling is now paused 100seconds incase it detects Leafspy in use.
- USB output only shows the actual min/max temperature values sent towards inverter
Example of Solax inverters, previous software version and newest one:
Full Changelog: v3.2.0...v3.3.0
- Leaf leafspy by @dalathegreat in #63
- Update SOLAX-CAN.cpp by @StarkJohan in #65
v3.2.0 release
This update fixes some issues for Tesla Model 3/Y batteries. Model Y batteries are now marked as stable! ✅
What's New
- Tesla: CAN still alive now read from BMS message
- Tesla: Add contactor opening incase of a FAULT situation
- Tesla: Added aditional HVIL safety
- Tesla Charge max value for Tesla Model3/Y now estimated
- Tesla & Nissan LEAF: Cell voltages now mapped to inverter values
v3.1.0 release
This update adds support for Tesla Model 3 batteries. These batteries are now marked as stable! ✅
What's changed
- Fixed a bug where Tesla Model 3 limits were sent as Amperage instead of Watts
- Added cell voltage monitoring and safeties for Tesla Model 3 packs
- HVIL state is now human readable for Tesla Model 3 packs
v3.0.0 release
This update improves usability. This update adds a new file, 'USER_SETTINGS.h' that now contains all the user configurable settings. You will no longer need to change individual header files when compiling for your setup, all changes are localized to one place! This also makes it easier to update to newer versions in the future, just make a backup of your 'USER_SETTINGS.h' file!
What's changed
- Added 'USER_SETTINGS.h' for easier configuration
- Fixed an issue that caused SOLAX_CAN not to compile
- Tesla Model 3 batteries: Fixed an issue that contactors would not close. Also fixed an issue with board getting stuck in error state.
v2.6.0 release
This update adds support for Solax and FoxESS inverters. This is a highly recommended update!
What's changed
- Added support for Solax X1 / X3 inverters ✅
- Added support for FoxESS H1/H3 inverters ✅ (note, second CAN channel needed)
- Added support for dual channel CAN using secondary MCP2515 chip, thanks @rjsc 🥳 https://github.com/dalathegreat/BYD-Battery-Emulator-For-Gen24/wiki/FoxESS-H1---H3
- Added support for PWM control over contactors, thanks @rjsc 🥳
- Nissan LEAF: Fixed a bug that caused the available charge power to overflow, causing slow charging