Stefan Allius
d4b618742c
merge from main
2024-10-13 17:31:55 +02:00
Stefan Allius
719c6f703a
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
2024-10-13 17:13:07 +02:00
Stefan Allius
62ea2a9e6f
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
2024-10-13 16:07:01 +02:00
Stefan Allius
166a856705
GEN3: Invalid Contact Info Msg ( #192 )
...
Fixes #191
2024-09-19 19:17:22 +02:00
Stefan Allius
d5ec47fd1e
Merge branch 'main' of https://github.com/s-allius/tsun-gen3-proxy into dev-0.11
2024-09-16 00:37:39 +02:00
Stefan Allius
828f26cf24
Update README.md ( #189 )
...
Config file is now foldable
2024-09-16 00:17:43 +02:00
Stefan Allius
0b3d84ff36
change default config
2024-09-16 00:12:30 +02:00
Stefan Allius
5642c912a8
add dokumentation
2024-09-15 15:17:45 +02:00
Stefan Allius
614acbf32d
update changelog
2024-09-15 01:18:36 +02:00
Stefan Allius
57525ca519
S allius/issue186 ( #188 )
...
* increase test coverage
2024-09-15 01:02:49 +02:00
Stefan Allius
5ef68280b1
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
2024-09-14 19:49:29 +02:00
Stefan Allius
e12c78212f
Update README.md ( #185 )
...
update badges
2024-09-14 08:40:53 +02:00
Stefan Allius
2ab35a8257
increase test coverage
2024-09-07 18:04:28 +02:00
Stefan Allius
865216b8d9
remove dubbled fixtures
2024-09-07 18:03:50 +02:00
Stefan Allius
5d5d7c218f
fix target preview
v0.11.0-preview.1
2024-09-07 13:49:45 +02:00
Stefan Allius
be4c6ac77f
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
2024-09-07 11:45:16 +02:00
Stefan Allius
a9dc7e6847
Dev 0.11 ( #181 )
...
* 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
2024-09-03 18:58:24 +02:00
Stefan Allius
270732f1d0
fix merge conflict
2024-09-03 18:54:49 +02:00
Stefan Allius
7b4fabdc25
fix merge conflikt
2024-09-03 18:48:21 +02:00
Stefan Allius
2351ec314a
fix merge
2024-09-03 18:42:48 +02:00
Stefan Allius
604d30c711
Merge branch 'main' of https://github.com/s-allius/tsun-gen3-proxy into dev-0.11
2024-09-03 18:39:27 +02:00
Stefan Allius
ab5256659b
reduce cognitive complexity
sonar_establ
2024-09-03 18:32:44 +02:00
Stefan Allius
a76c0ac440
improve test coverage und reduce test delays
2024-09-03 17:23:09 +02:00
Stefan Allius
215dcd98e6
GEN3: don't crash on overwritten msg in the receive buffer
2024-09-03 17:22:34 +02:00
Stefan Allius
627ca97360
Test modbus_tcp ( #179 )
...
* add more unit tests
2024-08-30 20:40:53 +02:00
Stefan Allius
d2b88ab838
Sonar qube 3 ( #178 )
...
* add more unit tests
2024-08-29 23:47:30 +02:00
Stefan Allius
6d9addc7d5
Merge branch 'main' of https://github.com/s-allius/tsun-gen3-proxy into dev-0.11
2024-08-27 21:41:11 +02:00
Stefan Allius
1bb08fb211
Update README.md ( #177 )
2024-08-27 15:03:57 +02:00
Stefan Allius
193eea65af
Update README.md ( #176 )
...
add SonarCloude shields
2024-08-27 00:24:11 +02:00
Stefan Allius
2b8dacb0de
Dev 0.11 ( #175 )
...
* 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
2024-08-26 23:49:23 +02:00
Stefan Allius
cb0c69944f
Merge branch 'main' of https://github.com/s-allius/tsun-gen3-proxy into dev-0.11
2024-08-26 23:45:48 +02:00
Stefan Allius
7f41365815
Sonar qube 6 ( #174 )
...
* test class ModbusConn
2024-08-26 23:37:24 +02:00
Stefan Allius
5db3fbf495
Update README.md ( #173 )
2024-08-26 21:28:44 +02:00
Stefan Allius
d44726c0f3
S allius/issue167 ( #172 )
...
* cleanup
2024-08-25 23:28:35 +02:00
Stefan Allius
1985557bce
Docker: The description ist missing ( #171 )
...
Fixes #167
2024-08-25 23:05:25 +02:00
Stefan Allius
7dc2595d71
use random IP adresses for unit tests
2024-08-25 12:02:27 +02:00
Stefan Allius
6d9a446bfe
Sonar qube 5 ( #170 )
...
* fix SonarLints warnings
2024-08-24 23:03:02 +02:00
Stefan Allius
f9c1b83ccd
Sonar qube 4 ( #169 )
...
* add unit test for inverter.py
* fix SonarQube warning
2024-08-24 22:21:55 +02:00
Stefan Allius
58b42f7d7c
SonarCloud setup ( #168 )
...
* 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
2024-08-23 21:24:01 +02:00
Stefan Allius
27045cac6e
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
2024-08-23 00:26:01 +02:00
Stefan Allius
54de2aecfe
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
2024-08-16 21:07:08 +02:00
Stefan Allius
5a39370cc3
Sonar qube 3 ( #164 )
...
* fix SonarQube warnings
2024-08-13 22:22:45 +02:00
Stefan Allius
7a9b23d068
Sonar qube 3 ( #163 )
...
fix SonarQube warnings in modbus.py
2024-08-13 21:11:56 +02:00
Stefan Allius
e34afcb523
cleanup ( #160 )
2024-08-11 23:22:07 +02:00
Stefan Allius
22df381da5
ignore some rules for tests
2024-08-11 00:48:19 +02:00
Stefan Allius
117e6a7570
exclude *.pyi filese
2024-08-10 23:55:19 +02:00
Stefan Allius
65de946992
fix linter warning
2024-08-10 23:53:35 +02:00
Stefan Allius
33d385db10
optimise versionstring handling ( #159 )
...
- Reading the version string from the image updates
it even if the image is re-pulled without re-deployment
2024-08-10 22:53:25 +02:00
Stefan Allius
1e610af1df
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
2024-08-10 20:41:31 +02:00
Stefan Allius
db1169f61f
Update README.md ( #156 )
...
add modbus_polling to example config
2024-08-10 16:49:18 +02:00