Skip to content

Releases: dalathegreat/Battery-Emulator

v4.2.0 release

20 Dec 22:13
64573be
Compare
Choose a tag to compare

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

Full Changelog: v4.1.0...v4.2.0

v4.1.0 release

03 Dec 18:49
0a26c99
Compare
Choose a tag to compare

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

15 Nov 17:18
179b8ee
Compare
Choose a tag to compare

What's Changed

⚠️ NOTE: Due to the refactoring and addition to new parameters in 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
    281544935-08cb6d76-f384-4eb4-b08b-7a674d012362
    • 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

    • When enabled, the values set in TEST-FAKE-BATTERY.cpp will be sent towards your inverter of choice.
    • While in this test mode, the LED on the board will cycle thru all RGB values, letting you know you are in a special mode.
      VID20231115190406(1)
  • 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

07 Nov 21:42
0680f9e
Compare
Choose a tag to compare

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)
    bild
  • 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

New Contributors

  • @lenvm made their first contribution in #76

Full Changelog: v3.4.0...v3.5.0

v3.4.0 release

16 Oct 19:14
7a7156b
Compare
Choose a tag to compare

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!
    bild
  • 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

v3.3.0 release

30 Sep 16:21
7db8af2
Compare
Choose a tag to compare

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:
bild

Full Changelog: v3.2.0...v3.3.0

v3.2.0 release

25 Sep 18:47
c9c44bc
Compare
Choose a tag to compare

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

16 Sep 19:44
4199526
Compare
Choose a tag to compare

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

15 Sep 11:20
363fdbe
Compare
Choose a tag to compare

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

28 Aug 13:33
aa51118
Compare
Choose a tag to compare

This update adds support for Solax and FoxESS inverters. This is a highly recommended update!

What's changed