Stefan Allius
47f7580184
MQTT timestamps and protocol improvements ( #140 )
...
* add TS_INPUT, TS_GRID and TS_TOTAL
* prepare MQTT timestamps
- add _set_mqtt_timestamp method
- fix hexdump printing
* push dev and debug images to docker.io
* add unix epoche timestamp for MQTT pakets
* set timezone for unit tests
* set name für setting timezone step
* trigger new action
* GEN3 and GEN3PLUS: handle multiple message
- read: iterate over the receive buffer
- forward: append messages to the forward buffer
- _update_header: iterate over the forward buffer
* GEN3: optimize timeout handling
- longer timeout in state init and reveived
- got to state pending only from state up
* update changelog
* cleanup
2024-08-04 19:43:09 +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
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
c7a33b4a35
MODBUS: the last digit of the inverter version is a hexadecimal number ( #121 )
2024-07-10 20:28:12 +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
66657888dd
add log_level support for modbus commands
2024-05-28 19:32:20 +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
177706c3e6
test Modbus retries
2024-05-19 21:17:56 +02:00
Stefan Allius
23ff2bb05c
fix unit tests
2024-05-19 13:44:16 +02:00
Stefan Allius
476c5f0006
adapt unit tests
2024-05-19 12:24:35 +02:00
Stefan Allius
9c39ea27f7
fix unit tests
2024-05-18 23:10:47 +02:00
Stefan Allius
766774224b
adapt unit tests
2024-05-18 21:46:28 +02:00
Stefan Allius
6877465915
add more unit tests
2024-05-13 22:47:52 +02:00
Stefan Allius
92469456b7
fix unit tests
2024-05-12 23:11:55 +02:00
Stefan Allius
6fcf4f47c2
add more unit tests
2024-05-11 20:53:39 +02:00
Stefan Allius
b3f0fc97d7
add more unit tests
2024-05-09 23:23:33 +02:00
Stefan Allius
5a0456650f
avoid sending modbus cmds in critical states
2024-05-09 14:20:57 +02:00
Stefan Allius
0ae6dffc6b
Update test_talent.py
2024-05-07 22:54:23 +02:00
Stefan Allius
39beb0cb44
add more modbus tests
2024-05-07 18:02:09 +02:00
Stefan Allius
bf0f152d5a
add unit tests for modbus
2024-05-05 20:20:19 +02:00
Stefan Allius
f2c4230a49
use async_write instead of flush_send_msg()
2024-05-03 18:24:48 +02:00
Stefan Allius
1d9cbf314e
add Modbus tests
2024-05-02 23:56:42 +02:00
Stefan Allius
c1e114447a
rename unit test files for GEN3
2024-04-14 14:39:01 +02:00