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
039a021cda
cleanup trace output
2024-06-04 21:55:57 +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
e850a8c534
set tracer log level by environment value
2024-05-31 20:02: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
3980ac013b
catch all OSError errors in the read loop
2024-05-28 21:55:42 +02:00
Stefan Allius
66657888dd
add log_level support for modbus commands
2024-05-28 19:32:20 +02:00
Stefan Allius
ab9e798152
add typing
2024-05-28 19:30:58 +02:00
Stefan Allius
edc2c12b5b
Send MQTT topic for responses to AT+ commands
2024-05-27 20:52:06 +02:00
Stefan Allius
87cc3fb205
fix frong MQTT not found logs
2024-05-22 22:53:52 +02:00
Stefan Allius
8fc5eb3670
log MQTT to data topic
2024-05-22 22:53:04 +02:00
Stefan Allius
55fc834a1e
reduce default loggings
2024-05-22 22:52:02 +02:00
Stefan Allius
da2388941e
allow only one MODBUS retry
...
- More than one retry usually makes no sense, as
random errors are usually corrected. If the
first retry also fails, the chance that a second
or third retry will be successful is very small
2024-05-21 19:37:55 +02:00
Stefan Allius
9e38cb93ea
send StatusReq additionally every 30 minutes
2024-05-21 18:59:30 +02:00
Stefan Allius
de1c48fa62
add keyword for timeout to argument list
2024-05-21 18:58:10 +02:00
Stefan Allius
e432441134
don't log Events as Infos
2024-05-21 18:56:52 +02:00
Stefan Allius
98ef252bb0
don't forward invalid MODBUS responses
2024-05-20 18:51:55 +02:00
Stefan Allius
3ac48dad1f
cleanup
2024-05-20 18:33:01 +02:00
Stefan Allius
eff3e7558b
increase test coverage
2024-05-20 16:53:26 +02:00
Stefan Allius
6ef6f4cd34
cleanup
2024-05-20 00:48:23 +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
f30aa07431
don't frwd received modbus req directly
...
- use always the fifoto sent valid req to the inverter
- code cleanup
2024-05-19 13:42:29 +02:00
Stefan Allius
282a459ef0
add Modbus response forwarding
2024-05-19 12:23:58 +02:00
Stefan Allius
d25173e591
fix sending next pdu before we have parsed the last response
2024-05-18 23:11:49 +02:00
Stefan Allius
f4da16987f
add fifo and timeout handler for modbus
2024-05-18 20:18:15 +02:00
Stefan Allius
841877305d
timeout handler removed again, as it has no positive effect
2024-05-15 23:15:20 +02:00
Stefan Allius
14425da5fa
improve Modbus logging
2024-05-13 22:48:44 +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
e43a02c508
improve modbus parsing
...
- parse Modbus messages well if another msg
follows in the receive buffer
2024-05-11 23:40:46 +02:00
Stefan Allius
4ea70dee64
improve connection handling
...
- insure close() call after graceful disconnect,
to release proxy internal resources
- timeout handler disconnect inverter connection
if no message was received for longer than 2.5
minutes
2024-05-11 20:55:31 +02:00
Stefan Allius
73baffe9e0
also get the 'Daily Generation' every minute
2024-05-11 20:50:26 +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
26f108cc51
build version string in the same format as TSUN
2024-05-10 20:50:37 +02:00
Stefan Allius
dd438bf201
add comment
2024-05-09 23:38:34 +02:00
Stefan Allius
6a64484174
read `Designed Power' with Modbus
2024-05-09 23:34:29 +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
93e82a2284
move state variable to the parent class
2024-05-09 18:22:08 +02:00
Stefan Allius
537d81fa19
add graceful shutdown
2024-05-09 16:49:59 +02:00
Stefan Allius
5fe455e42f
fix typo
2024-05-09 16:46:59 +02:00