feat: implement reliable event counting via 1E/1F chain and update device info

This commit is contained in:
Brian Harrison
2026-04-03 16:02:10 -04:00
parent 7cd8fda5e8
commit 2cb95cd45e
2 changed files with 49 additions and 6 deletions

View File

@@ -264,7 +264,11 @@ def device_info(
try:
def _do():
with _build_client(port, baud, host, tcp_port) as client:
return client.connect()
info = client.connect()
# SUB 08 event_count is unreliable (always returns 1 regardless of
# actual storage). Count via 1E/1F chain instead.
info.event_count = client.count_events()
return info
info = _run_with_retry(_do, is_tcp=_is_tcp(host))
except HTTPException:
raise