* Code Cleanup (#158)
* print coverage report
* create sonar-project property file
* install all py dependencies in one step
* code cleanup
* reduce cognitive complexity
* do not build on *.yml changes
* optimise versionstring handling (#159)
- Reading the version string from the image updates
it even if the image is re-pulled without re-deployment
* fix linter warning
* exclude *.pyi filese
* ignore some rules for tests
* cleanup (#160)
* Sonar qube 3 (#163)
fix SonarQube warnings in modbus.py
* Sonar qube 3 (#164)
* fix SonarQube warnings
* Sonar qube 3 (#165)
* cleanup
* Add support for TSUN Titan inverter
Fixes#161
* fix SonarQube warnings
* fix error
* rename field "config"
* SonarQube reads flake8 output
* don't stop on flake8 errors
* flake8 scan only app/src for SonarQube
* update flake8 run
* ignore flake8 C901
* cleanup
* fix linter warnings
* ignore changed *.yml files
* read sensor list solarman data packets
* catch 'No route to' error and log only in debug mode
* fix unit tests
* add sensor_list configuration
* adapt unit tests
* fix SonarQube warnings
* Sonar qube 3 (#166)
* add unittests for mqtt.py
* add mock
* move test requirements into a file
* fix unit tests
* fix formating
* initial version
* fix SonarQube warning
* Sonar qube 4 (#169)
* add unit test for inverter.py
* fix SonarQube warning
* Sonar qube 5 (#170)
* fix SonarLints warnings
* use random IP adresses for unit tests
* Docker: The description ist missing (#171)
Fixes#167
* S allius/issue167 (#172)
* cleanup
* Sonar qube 6 (#174)
* test class ModbusConn
* Sonar qube 3 (#178)
* add more unit tests
* GEN3: don't crash on overwritten msg in the receive buffer
* improve test coverage und reduce test delays
* reduce cognitive complexity
* fix merge
* fix merge conflikt
* fix merge conflict
* S allius/issue182 (#183)
* GEN3: After inverter firmware update the 'Unknown Msg Type' increases continuously
Fixes#182
* add support for Controller serial no and MAC
* test hardening
* GEN3: add support for new messages of version 3 firmwares
* bump libraries to latest versions
- bump aiomqtt to version 2.3.0
- bump aiohttp to version 3.10.5
* improve test coverage
* reduce cognective complexity
* fix target preview
* remove dubbled fixtures
* increase test coverage
* Update README.md (#185)
update badges
* S allius/issue186 (#187)
* Parse more values in Server Mode
Fixes#186
* read OUTPUT_COEFFICIENT and MAC_ADDR in SrvMode
* fix unit test
* increase test coverage
* S allius/issue186 (#188)
* increase test coverage
* update changelog
* add dokumentation
* change default config
* Update README.md (#189)
Config file is now foldable
* GEN3: Invalid Contact Info Msg (#192)
Fixes#191
* Refactoring async stream (#194)
* GEN3: Invalid Contact Info Msg
Fixes#191
* introduce ifc with FIFOs
* add object factory
* use AsyncIfc class with FIFO
* declare more methods as classmethods
* - refactoring
- remove _forward_buffer
- make async_write private
* remove _forward_buffer
* refactoring
* avoid mqtt handling for invalid serial numbers
* add two more callbacks
* FIX update_header_cb handling
* split AsyncStream in two classes
* split ConnectionG3(P) in server and client class
* update class diagramm
* refactor server creation
* remove duplicated imports
* reduce code duplication
* move StremPtr instances into Inverter class
* resolution of connection classes
- remove ConnectionG3Client
- remove ConnectionG3Server
- remove ConnectionG3PClient
- remove ConnectionG3PServer
* fix server connections
* fix client loop closing
* don't overwrite self.remote in constructor
* update class diagramm
* fixes
- fixes null pointer accesses
- initalize AsyncStreamClient with proper
StreamPtr instance
* add close callback
* refactor close handling
* remove connection classes
* move more code into InverterBase class
* remove test_inverter_base.py
* add abstract inverter interface class
* initial commit
* fix sonar qube warnings
* rename class Inverter into Proxy
* fix typo
* move class InverterIfc into a separate file
* add more testcases
* use ProtocolIfc class
* add unit tests for AsyncStream class
* icrease test coverage
* reduce cognitive complexity
* increase test coverage
* increase tes coverage
* simplify heartbeat handler
* remove obsolete tx_get method
* add more unittests
* update changelog
* remove __del__ method for proper gc runs
* check releasing of ModbusConn instances
* call garbage collector to release unreachable objs
* decrease ref counter after the with block
* S allius/issue196 (#198)
* fix healthcheck
- on infrastructure with IPv6 support localhost
might be resolved to an IPv6 adress. Since the
proxy only support IPv4 for now, we replace
localhost by 127.0.0.1, to fix this
* merge from main
* add tsun_v2 default configuration
* Add port 10000 for gen 3 plus inverters
* add monitor_sn for solarman support
* listen on port 10000 for solarman inverters
* initial version for gen 3 plus support
* refactoring split gen3 and gen3plus
* refactoring
* refactoring classes
* refactor proxy statistic counter
* - fix loggin levels
- user super() in close() and __del__()
* add config for gen 3 plus
* Add solarman config support
* refacot Message.. classes
* rename class MessageG3 into Talent
* refactor close() handler
* refactor disc() handler
* move loop() into the base class AsyncStream
* move async_read, _write and _forward into base class
* Cleanup
* move server_loop and client_loop into basic class
* add msg forwarding for solarman V5 protocol
* move server_loop() and client_loop to class AsyncStream
* rename AsyncStreamxx ton Connectionxx
* fix unit tests
* make more attributes privae
* load .env file
* wait after last test
* ignore .env
* add response handler
* Update README.md
* update unreleased changes
* home assistant add more diagnostic values
* fix typo
* Update README.md
Definition of the inverter generations added to the compatibility table
* add ha couter for 'Internal SW Exceptions'
* Update README.md
Fixes an incorrect marking in the display of the configuration file
* Update README.md
Planning documented for MS-2000 support
* S allius/issue33 (#34)
* - fix issue 33
The TSUN Cloud now responds to contact_info and get_time messages with
an empty display message and not with a response message as before.
We tried to parse data from the empty message, which led to an
exception
* Add test with empty conn_ind from inverter
* version 0.5.5
* add tsun_v2 default configuration
* Add port 10000 for gen 3 plus inverters
* add monitor_sn for solarman support
* listen on port 10000 for solarman inverters
initial version for gen 3 plus support
* refactoring split gen3 and gen3plus
* refactoring
* refactoring classes
* refactor proxy statistic counter
* - fix loggin levels
- user super() in close() and __del__()
* add config for gen 3 plus
* Add solarman config support
* refacot Message.. classes
* rename class MessageG3 into Talent
* refactor close() handler
* refactor disc() handler
* move loop() into the base class AsyncStream
* move async_read, _write and _forward into base class
* Cleanup
* move server_loop and client_loop into basic class
* add msg forwarding for solarman V5 protocol
* move server_loop() and client_loop to class AsyncStream
* rename AsyncStreamxx ton Connectionxx
* fix unit tests
* make more attributes privae
load .env file
* wait after last test
* ignore .env
* add response handler