Stefan Allius
a779c90965
don't send MODBUS request when state is not up ( #147 )
...
* adapt timings
* don't send MODBUS request when state is note up
* adapt unit test
2024-08-08 19:46:27 +02:00
Stefan Allius
95954fa84e
S allius/issue134 ( #135 )
...
* add polling invertval and method ha_remove()
* add client_mode arg to constructors
- add PollingInvervall
* hide some topics in client mode
- we hide topics in HA by sending an empty register
MQTT topic during HA auto configuration
* add client_mode value
* update class diagram
* fix modbus close handler
- fix empty call and cleanup que
- add unit test
* don't sent an initial 1710 msg in client mode
* change HA icon for inverter status
* increase test coverage
* accelerate timer tests
2024-07-27 19:37:40 +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
f3dd87e03c
make the maximum output coefficient configurable ( #124 )
2024-07-11 19:31:30 +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
0b2631c162
beautify some traces
2024-06-07 19:27:36 +02:00
Stefan Allius
039a021cda
cleanup trace output
2024-06-04 21:55:57 +02:00
Stefan Allius
66657888dd
add log_level support for modbus commands
2024-05-28 19:32:20 +02:00
Stefan Allius
8fc5eb3670
log MQTT to data topic
2024-05-22 22:53:04 +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
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
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
14425da5fa
improve Modbus logging
2024-05-13 22:48:44 +02:00
Stefan Allius
26f108cc51
build version string in the same format as TSUN
2024-05-10 20:50:37 +02:00
Stefan Allius
41d9a2a1ef
improve logger
2024-05-09 14:19:37 +02:00
Stefan Allius
2ec0a59cd3
add modbus long int support
2024-05-08 23:48:41 +02:00
Stefan Allius
3fd528bdbe
improve logging
2024-05-07 21:20:12 +02:00
Stefan Allius
54d2bf4439
set err value for unit tests
2024-05-07 17:52:51 +02:00
Stefan Allius
f804b755a4
improve modbus trace
2024-05-06 23:18:47 +02:00
Stefan Allius
283ae31af2
parse modbus message and store values in db
2024-05-05 20:16:28 +02:00
Stefan Allius
fdedfcbf8e
reneme Modbus constants
2024-05-03 18:21:59 +02:00
Stefan Allius
58c3333fcc
initial checkin
2024-05-02 23:55:59 +02:00