Commit Graph

217 Commits

Author SHA1 Message Date
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
Stefan Allius
5a0456650f avoid sending modbus cmds in critical states 2024-05-09 14:20:57 +02:00
Stefan Allius
41d9a2a1ef improve logger 2024-05-09 14:19:37 +02:00
Stefan Allius
a869ead89a add MAX_DESIGNED_POWER (only readable by Modbus) 2024-05-09 14:16:15 +02:00
Stefan Allius
91873d0c34 await wait_closed() on disconnects 2024-05-08 23:52:31 +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
e15387b1ff fix modbus trace 2024-05-07 19:41:07 +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
d5010fe053 parse modbus corect if we have received more than one message 2024-05-07 17:56:54 +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
29ee540a19 add cron tasks for modbus requests every minute 2024-05-05 20:18:45 +02:00
Stefan Allius
283ae31af2 parse modbus message and store values in db 2024-05-05 20:16:28 +02:00
Stefan Allius
808bf2fe87 add MQTT topic for AT commands 2024-05-05 20:15:36 +02:00
Stefan Allius
fa2626ec7a add modbus resp handler 2024-05-05 20:14:51 +02:00
Stefan Allius
eda8ef1db6 add Modbus and AT command handler 2024-05-05 20:13:51 +02:00
Stefan Allius
3dbcee63f6 add Modbus topics 2024-05-03 18:25:37 +02:00
Stefan Allius
763af8b4cf add send_modbus_cmd() 2024-05-03 18:24:06 +02:00
Stefan Allius
a2f67e7d3e use async_write() instead of flush_send_msg() 2024-05-03 18:23:08 +02:00
Stefan Allius
f78d4ac310 remove flush_send_msg() 2024-05-03 18:22:31 +02:00
Stefan Allius
fdedfcbf8e reneme Modbus constants 2024-05-03 18:21:59 +02:00
Stefan Allius
494c30e489 renme __async_write() into async_write() 2024-05-03 18:21:15 +02:00
Stefan Allius
30dc802fb2 Add MQTT subscrition for modbus experiences 2024-05-03 00:05:34 +02:00
Stefan Allius
5fdad484f4 add flush_send_msg() implementation 2024-05-03 00:03:02 +02:00