Stefan Allius
387c014763
reset inverter state on close
...
- workaround which reset the inverter status to
offline when the inverter has a very low
output power on connection close
2024-07-24 22:36:51 +02:00
Stefan Allius
7f81799dd9
S allius/issue131 ( #132 )
...
* Make __publish_outstanding_mqtt public
* update proxy counter
- on client mode connection establishment or
disconnecting update tje counection counter
2024-07-23 21:54:01 +02:00
Stefan Allius
dc4728122e
S allius/issue128 ( #130 )
...
* set Register.NO_INPUTS fix to 4 for GEN3PLUS
* don't set Register.NO_INPUTS per MODBUS
* fix unit tests
* register OUTPUT_COEFFICIENT at HA
* update changelog
* - Home Assistant: improve inverter status value texts
* - GEN3: add inverter status
* on closing send outstanding MQTT data to the broker
* force MQTT publish on every conn open and close
* reset inverter state on close
- workaround which reset the inverter status to
offline when the inverter has a very low
output power on connection close
* improve client modified
- reduce the polling cadence to 30s
- set controller statistics for HA
* client mode set controller IP for HA
2024-07-22 23:27:17 +02:00
Stefan Allius
6f35c47254
S allius/issue125 ( #127 )
...
* fix linter warning
* move sequence diagramm to wiki
* catch asyncio.CancelledError
2024-07-15 21:45:45 +02:00
Stefan Allius
92a5fd22b8
S allius/issue120 ( #126 )
...
* add config option to disable the modbus polling
* read more modbus regs in polling mode
* extend connection timeouts if polling mode is disabled
* update changelog
2024-07-14 17:04:05 +02:00
Stefan Allius
f3dd87e03c
make the maximum output coefficient configurable ( #124 )
2024-07-11 19:31:30 +02:00
Stefan Allius
112c7e66f2
S allius/issue117 ( #122 )
...
* 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
* add documentation for client_mode
* catch os error and log thme with DEBUG level
* update changelog
2024-07-10 20:43:03 +02:00
Stefan Allius
c7a33b4a35
MODBUS: the last digit of the inverter version is a hexadecimal number ( #121 )
2024-07-10 20:28:12 +02:00
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
a62864218d
update for version 0.8.0
2024-06-07 19:48:41 +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
6e1ed5d1e7
check the docker-compose.yaml file as last step
2024-06-03 20:59:21 +02:00
Stefan Allius
8204cae2b1
improve logging output
2024-06-03 19:52:37 +02:00
Stefan Allius
56f36e9f3f
build release candidate as paket
2024-05-31 23:09:33 +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
685c2dc07b
fix unit tests
2024-05-31 20:10:22 +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
c6eecb4791
add missing testcases
2024-05-30 19:32:53 +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
fdf3475909
fix unit test
2024-05-27 20:56:03 +02:00
Stefan Allius
edc2c12b5b
Send MQTT topic for responses to AT+ commands
2024-05-27 20:52:06 +02:00
Stefan Allius
5c6f9e7414
increase test coverage to 100%
2024-05-23 19:52:55 +02:00
Stefan Allius
0fc74b0d19
improve unit test
2024-05-22 22:54:23 +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
177706c3e6
test Modbus retries
2024-05-19 21:17:56 +02:00
Stefan Allius
9ac1f6f46d
add Modbus retrasmissions
2024-05-19 21:17:16 +02:00
Stefan Allius
23ff2bb05c
fix unit tests
2024-05-19 13:44: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
476c5f0006
adapt unit tests
2024-05-19 12:24:35 +02:00