Changelog#
[v3.0.0] - 2023-05-21#
Fixed#
MAJOR VERSION BUMP - v3.0.0
v2.5.0 inadvertently introduced a breaking change and has been withdrawn.
The breakage was introduced by GH PR #33 which moves the PySolarmanV5 socket communications to a worker thread. While this is a major improvement over the previous method, it requires that the disconnect() method is called to close the socket.
Prior to this, the socket was implicitly closed when the PySolarmanV5 object was deferenced. Many dependent applications re-instantiate a new object for each poll. These applications will need to either remain on v2.4.0, or upgrade to v3.0.0 and ensure disconnect() is called to close the connection cleanly.
Many thanks to @connesha for highlighting this breaking change in GH issue #39
Restore Windows compatibility which was broken in v2.5.0 GH PR#38
[v2.5.0] - 2023-05-10 [WITHDRAWN]#
Added#
async support (PySolarmanV5Aync) added by @githubDante in GH PR#28
Introduce sequence number on outgoing V5 request frames Enhance V5 frame validation to compare received checksum to expected value Many thanks to Michael Zanetti (@mzanetti) for highlighting this.
Added mock SolarmanV5 Server tests (thanks @githubDante)
Changed#
Improved PySolarmanV5 socket/connection reliability (again, thanks @githubDante)
Migrate from setup.py to pyproject.toml
Revamp Makefile and add venv support
[v2.4.0] - 2022-07-19#
Added#
Add link to user-contributed list of supported data loggers/devices See GH issue #11
Add solarman_scan utility
Add error_correction mode
Implement Modbus Function Codes 15 and 22: write_multiple_coils() masked_write_holding_register()
Add optional Socket parameter
Changed#
Tidy up pysolarmanv5 namespace; Move PySolarmanV5 class from pysolarmanv5.pysolarmanv5 to pysolarmanv5
Changed constructor parameters from int to bool where appropriate; Maintains backwards compatibility
Properly implement Logging. Old verbose parameter marked as deprecated
Fixed#
Fix LICENSE typo in setup.py
Remove erroneous kwargs from write_holding_register()
[v2.3.0] - 2022-02-02#
Changed#
Improve V5 Frame documentation
Fixed#
Removed erroneous shebang on pysolarmanv5.py
Fix traceback with write_holding_register() (See GH issue #2)
[v2.2.0] - 2022-01-15#
Added#
Added dependencies on Python 3.8 and uModbus
Implement Modbus Function Codes 01, 02 and 05
Changed#
Remove binascii methods
Fixed#
V5 Frame validation added in v2.1.0 corrected
[v2.1.0] - 2022-01-04#
Changed#
Add more robust validation for V5 frame replies
[v2.0.1] - 2021-12-29#
Added#
Add write_multiple_holding_registers() - function code 16
Changed#
Minor typo fixes
[v2.0.0] - 2021-11-25#
Added#
Updated examples
Changed#
Changed the return type of read_input_registers() and read_holding_registers() from an int to a list of ints.
The previous functionality is now provided by read_input_register_formatted() and read_holding_register_formatted()
Fixed#
Bitshift and bitmask parameters now work correctly
[v1.0.0] - 2021-11-25#
Added#
Initial commit