Stefan Allius
e4ff17e600
S allius/issue117 ( #118 )
...
* add shutdown flag
* add more register definitions
* add start commando for client side connections
* add first support for port 8899
* fix shutdown
* add client_mode configuration
* read client_mode config to setup inverter connections
* add client_mode connections over port 8899
* add preview build
2024-07-08 19:08:58 +02:00
Stefan Allius
a42ba8a8c6
Dev 0.9 ( #115 )
...
* make timestamp handling stateless
* adapt tests for stateless timestamp handling
* initial version
* add more type annotations
* add more type annotations
* fix Generator annotation for ha_proxy_confs
* fix names of issue branches
* add more type annotations
* don't use depricated varn anymore
* don't mark all test as async
* fix imports
* fix solarman unit tests
- fake Mqtt class
* print image build time during proxy start
* update changelog
* fix pytest collect warning
* cleanup msg_get_time handler
* addapt unit test
* label debug images with debug
* dump droped packages
* fix warnings
* add systemtest with invalid start byte
* update changelog
* update changelog
* add exposed ports and healthcheck
* add wget for healthcheck
* add aiohttp
* use config validation for healthcheck
* add http server for healthcheck
* calculate msg prossesing time
* add healthy check methods
* fix typo
* log ConfigErr with DEBUG level
* Update async_stream.py
- check if processing time is < 5 sec
* add a close handler to release internal resources
* call modbus close hanlder on a close call
* add exception handling for forward handler
* update changelog
* isolate Modbus fix
* cleanup
* update changelog
* add heaithy handler
* log unrelease references
* add healtcheck
* complete exposed port list
* add wget for healtcheck
* add aiohttp
* use Enum class for State
* calc processing time for healthcheck
* add HTTP server for healthcheck
* cleanup
* Update CHANGELOG.md
* updat changelog
* add docstrings to state enum
* set new state State.received
* add healthy method
* log healthcheck infos with DEBUG level
* update changelog
* S allius/issue100 (#101 )
* detect dead connections
- disconnect connection on Msg receive timeout
- improve connection trace (add connection id)
* update changelog
* fix merge conflict
* fix unittests
* S allius/issue108 (#109 )
* add more data types
* adapt unittests
* improve test coverage
* fix linter warning
* update changelog
* S allius/issue102 (#110 )
* hotfix: don't send two MODBUS commands together
* fix unit tests
* remove read loop
* optional sleep between msg read and sending rsp
* wait after read 0.5s before sending a response
* add pending state
* fix state definitions
* determine the connection timeout by the conn state
* avoid sending MODBUS cmds in the inverter's reporting phase
* update changelog
* S allius/issue111 (#112 )
Synchronize regular MODBUS commands with the status of the inverter to prevent the inverter from crashing due to unexpected packets.
* inital checkin
* remove crontab entry for regular MODBUS cmds
* add timer for regular MODBUS polling
* fix Stop method call for already stopped timer
* optimize MB_START_TIMEOUT value
* cleanup
* update changelog
* fix buildx warnings
* fix timer cleanup
* fix Config.class_init()
- return error string or None
- release Schema structure after building thr config
* add quit flag to docker push
* fix timout calculation
* rename python to debugpy
* add asyncio log
* cleanup shutdown
- stop webserver on shutdown
- enable asyncio debug mode for debug versions
* update changelog
* update changelog
* fix exception in MODBUS timeout callback
* update changelog
2024-07-01 23:41:56 +02:00
Stefan Allius
a3c054d2b1
Dev 0.8 ( #106 )
...
* S allius/issue102 (#103 )
* hotfix: don't send two MODBUS commands together
* Update README.md
Exchange logger fw version with the real inverter fw version in the compatibility table
* Update python-app.yml
run also on pushes to issue branches
fix name for issues branches
* S allius/issue104 (#105 )
* Update README.md
Exchange logger fw version with the real inverter fw version in the compatibility table
* Update python-app.yml
run also on pushes to issue branches
fix name for issues branches
* fix forwarding of MODBUS responses
* fix unit tests
* update changelog
2024-06-21 18:12:48 +02:00
Stefan Allius
0b2631c162
beautify some traces
2024-06-07 19:27:36 +02:00
Stefan Allius
c59bd16664
change log level for some traces
2024-06-05 22:01:48 +02:00
Stefan Allius
8204cae2b1
improve logging output
2024-06-03 19:52:37 +02:00
Stefan Allius
5b60d5dae1
cleanup
2024-05-31 23:09:14 +02:00
Stefan Allius
ec4261ae84
Merge branch 'dev-0.8.0' into s-allius/issue77
2024-05-31 20:17:03 +02:00
Stefan Allius
d27fe09006
reduce size of trace file
...
- trace heartbeat and regular modbus pakets
only with log level DBEUG
- don't forwar akc pakets from tsun to inverter
since we answered in before
2024-05-31 20:03:21 +02:00
Stefan Allius
87d59d046f
add AT_COMMAND_BLOCKED counter
2024-05-30 19:32:14 +02:00
Stefan Allius
063850c7fb
add allow and block filter for AT+ commands
2024-05-30 18:38:05 +02:00
Stefan Allius
66657888dd
add log_level support for modbus commands
2024-05-28 19:32:20 +02:00
Stefan Allius
edc2c12b5b
Send MQTT topic for responses to AT+ commands
2024-05-27 20:52:06 +02:00
Stefan Allius
de1c48fa62
add keyword for timeout to argument list
2024-05-21 18:58:10 +02:00
Stefan Allius
98ef252bb0
don't forward invalid MODBUS responses
2024-05-20 18:51:55 +02:00
Stefan Allius
eff3e7558b
increase test coverage
2024-05-20 16:53:26 +02:00
Stefan Allius
9ac1f6f46d
add Modbus retrasmissions
2024-05-19 21:17:16 +02:00
Stefan Allius
c761446c11
code cleanup
2024-05-19 13:43:51 +02:00
Stefan Allius
282a459ef0
add Modbus response forwarding
2024-05-19 12:23:58 +02:00
Stefan Allius
f4da16987f
add fifo and timeout handler for modbus
2024-05-18 20:18:15 +02:00
Stefan Allius
2e214b1e71
avoid sending responses to TSUN for local at commands
2024-05-13 22:46:23 +02:00
Stefan Allius
036af8e127
move the Modbus instance to the parent class
2024-05-13 19:49:00 +02:00
Stefan Allius
1658036a26
store modbus params always on the server side
2024-05-12 23:09:51 +02:00
Stefan Allius
1ae7784bee
add more unit tests
2024-05-11 23:41:40 +02:00
Stefan Allius
0e7fbc7820
fix Modbus CRC errors
...
- parse Modbus messages well if another msg
follows in the receive buffer
2024-05-11 20:46:36 +02:00
Stefan Allius
b240b74994
avoid sending AT/Modbus commands too early
...
- wait until we have received the first data from
the inverter
2024-05-09 18:22:43 +02:00
Stefan Allius
5a0456650f
avoid sending modbus cmds in critical states
2024-05-09 14:20:57 +02:00
Stefan Allius
2ec0a59cd3
add modbus long int support
2024-05-08 23:48:41 +02:00
Stefan Allius
02d9f01947
don't send AT or Modbus cmds on closed connections
2024-05-07 18:32:56 +02:00
Stefan Allius
f804b755a4
improve modbus trace
2024-05-06 23:18:47 +02:00
Stefan Allius
eda8ef1db6
add Modbus and AT command handler
2024-05-05 20:13:51 +02:00
Stefan Allius
763af8b4cf
add send_modbus_cmd()
2024-05-03 18:24:06 +02:00
Stefan Allius
9a698781db
read inverter & logger version
2024-04-19 21:29:14 +02:00
Stefan Allius
27ac47fde9
fix incomplete format string
2024-04-18 18:45:01 +02:00
Stefan Allius
82514e9e41
calculate real timestamp for received data
2024-04-17 22:03:12 +02:00
Stefan Allius
ac0bf2f8f8
add more unittests for solarman_v5.py
2024-04-14 12:30:07 +02:00
Stefan Allius
03125782bc
experimental AT cmd handler and tests
2024-04-13 20:18:44 +02:00
Stefan Allius
74ac6c6666
fix at_commit_message(); code cleanup
2024-04-12 20:50:57 +02:00
Stefan Allius
c5c49c5f24
erase trailing whitespace
2024-04-12 19:38:06 +02:00
Stefan Allius
1d3a44c9f0
first self-sufficient island support
...
- add Sequence class to handle the sequence of packets
- send response for received packets directly
- don't forward responses anymore
- addapt tests to new behavior
2024-04-12 18:57:48 +02:00
Stefan Allius
93b89062f5
Read pv module details for HA from config file
2024-04-07 19:41:05 +02:00
Stefan Allius
04ba868b37
build model name for solarman logger
2024-04-01 22:20:46 +02:00
Stefan Allius
ef8a461569
build gen 3 inverter modell name
2024-04-01 20:05:51 +02:00
Stefan Allius
80f4dd722a
remove useless parameter from _key_obj()
2024-04-01 02:08:28 +02:00
Stefan Allius
695d8a8906
count AT commands in home assiatant
2024-03-31 23:56:18 +02:00
Stefan Allius
e4b7ef7a0c
add more unit tests
2024-03-31 23:26:14 +02:00
Stefan Allius
884d4c04e6
improve error handling
...
- for wrong start bytes and stop bytes
- for wrong checksums
2024-03-31 19:10:58 +02:00
Stefan Allius
75bdaedc31
fix error counting on checksum errors
2024-03-31 01:18:01 +01:00
Stefan Allius
c4db53bd1e
Merge branch 'main' into refactor-Infos-class
2024-03-31 01:05:54 +01:00
Stefan Allius
cdc3226adf
count invalid messages
2024-03-31 00:51:30 +01:00