openems icon indicating copy to clipboard operation
openems copied to clipboard

Edge2Edge: filter undefined integer modbus values

Open tcdrop opened this issue 4 weeks ago • 1 comments

This change fixes an issue with the internal OpenEMS Edge-2-Edge communication. It has been discussed in this forum post.

Short Summary: when an OpenEMS edge has an undefined integer channel value, it sets the value to the max. int value (e.g. 65535 for 16bit unsigned integer) in the Modbus API. The master edge then reads this Modbus value, but doesn't recognize it as undefined. Instead, the value gets used just like any other value. This can lead to problems like SOC of 65535%.

This fix adds a converter for integer values to the AbstractEdge2Edge class, that sets channel values to null, if the Modbus value is undefined.

tcdrop avatar Dec 16 '25 13:12 tcdrop

Codecov Report

:x: Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.

:x: Your patch check has failed because the patch coverage (0.00%) is below the target coverage (75.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #3479      +/-   ##
=============================================
- Coverage      59.60%   59.60%   -0.00%     
  Complexity       112      112              
=============================================
  Files           2922     2922              
  Lines         126328   126333       +5     
  Branches        9412     9412              
=============================================
+ Hits           75285    75286       +1     
- Misses         48185    48188       +3     
- Partials        2858     2859       +1     
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Dec 16 '25 13:12 codecov[bot]

Is it feasible to add some kind of unit test for this?

parapluplu avatar Dec 17 '25 17:12 parapluplu