Skip to content

Several improvements and fixes #99

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 43 commits into
base: v1.1.10
Choose a base branch
from
Open

Conversation

jaredmauch
Copy link

  • Fix reading from multiple inverters at once
  • Fix data typing for influxdb
  • soft-disable registers not available for 12 hours
  • cleanup some debugs

@HotNoob
Copy link
Owner

HotNoob commented Jul 2, 2025

hmmmm....

way too complex...

the variable register timing already provides a mechanism for "locking out registers"

elif register.next_read_timestamp < timestamp_ms:

so, instead of creating a new class ect...
just tap into that... it's a decent idea...

usually when a "range" of register bugs out, it can be due to a single register within that range, not the entire range.
so it would be best to attempt to identify the exact register that is problematic, and extend the "next_read_timestamp" on an per entry / register level.

improved modbus error handling is cool, but theres too much hardcoding, which increases maintence.
best to use python's "reflection methods" ( not sure what they are called in python )

to just grab the names from python.
i think pymodbus has a function for that already defined, called decode.

@jaredmauch
Copy link
Author

I've solved my big issue which is there was a concurrency issue that required the deep copy to prevent some issues. This looks to have resolved a few more issues. The soft disable is really about registers that may be in the CSV that do not respond, perhaps due to the firmware version on the device or something else. No sense in trying to read them if they don't exist.

I did try to bring in all the error values from pymodbus, but that may not work on older versions of pymodbus.

Not sure how happy I am with that, but I'm going to keep watching my setup and fixing bugs as I find them. The concurrency stuff was fairly challenging to sort through.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants