Skip to content

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.

@HotNoob HotNoob deleted the branch HotNoob:v1.1.10 August 13, 2025 01:34
@HotNoob HotNoob closed this Aug 13, 2025
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