Commit Graph

109 Commits

Author SHA1 Message Date
cef1d184ed test: add payload codec regression suite 2026-02-20 21:22:10 +01:00
6acb588069 refactor: move html_util into legacy core library 2026-02-20 21:17:48 +01:00
2cfdc719c2 test: expand legacy html_util coverage 2026-02-20 21:13:48 +01:00
ae5b4a940a Rework test mode to use normal LoRa batching and ACK flow 2026-02-20 20:42:06 +01:00
1169eab626 Consolidate Rust port requirements and remove refactor notes docs 2026-02-20 20:13:25 +01:00
9495e7e8de chore: unify HA manufacturer and add refactor guards 2026-02-18 02:25:07 +01:00
00b2eb859a refactor: move receiver role logic into receiver_pipeline 2026-02-18 02:20:33 +01:00
56960e05e2 refactor: move sender role logic into sender_state_machine 2026-02-18 02:17:12 +01:00
9d7f2ae076 refactor-main-split-baseline 2026-02-18 02:08:27 +01:00
53cc982566 docs: reflect sender catch-up and local-date CSV/history behavior 2026-02-18 01:36:20 +01:00
92ac7e8810 receiver: store CSVs by local date and keep UTC history fallback 2026-02-18 01:34:47 +01:00
6f359b11d3 sender: drain backlog with ack-gated catch-up sends 2026-02-18 01:26:43 +01:00
1bdae03cc4 Document hourly and first-sync sender fault counter resets 2026-02-17 01:28:20 +01:00
3aff6ea666 Reset sender fault stats on first sync and hourly boundary 2026-02-17 01:27:04 +01:00
d327f9b68a Document sender efficiency and reliability improvements 2026-02-17 01:17:35 +01:00
e0f3ffc21c Throttle hot-path debug logging for sender stability 2026-02-17 01:15:35 +01:00
d7b5bb0f0b Adapt sender ACK receive window based on observed timing 2026-02-17 01:14:38 +01:00
07d0e6c3e0 Cache encoded inflight payload for retry efficiency 2026-02-17 01:13:27 +01:00
cc5881974c Add sender-local serial diagnostics for pipeline health 2026-02-17 01:12:31 +01:00
ea3e99f350 Use fixed-point meter parsing and early-exit on complete frame 2026-02-17 01:10:43 +01:00
557420c200 Refactor meter parser to single-pass OBIS dispatch 2026-02-17 01:09:56 +01:00
c33fb3274c Update docs for auth, time, discovery, and history changes 2026-02-17 00:45:39 +01:00
fea3749a93 Require AP web authentication by default 2026-02-17 00:39:44 +01:00
16b8827dca Use local hh:mm:ss in SD CSV human-readable column 2026-02-17 00:39:23 +01:00
318b81adbe Update HA discovery IDs and manufacturer metadata 2026-02-17 00:37:38 +01:00
3ef13bf865 Separate plausible clock from explicit sync state 2026-02-17 00:33:45 +01:00
8d42631045 Harden history parsing and single-point chart rendering 2026-02-17 00:32:48 +01:00
5c71bf841a Handle WiFi config save failures safely 2026-02-17 00:31:55 +01:00
96192d4b2f Fix HA discovery device identifiers format 2026-02-17 00:30:36 +01:00
16aad906a0 Harden receiver ingest against unknown senders 2026-02-17 00:30:06 +01:00
ee849433c8 Refresh README and add firmware requirements for Rust port 2026-02-16 14:38:50 +01:00
6ea8d9d5fc Use configured local timezone in web UI and drop legacy history CSV parsing 2026-02-16 11:14:30 +01:00
4de1dda82b Add human-readable UTC time alongside epoch in web UI and CSV 2026-02-16 08:57:16 +01:00
0a2e4e5a68 docs: update README to current lora-refactor state 2026-02-13 23:57:34 +01:00
5e27e2e7e8 Add meter Sekundenindex anchoring for epoch timestamps
Parse 0-0:96.8.0*255 meter seconds, derive sample epoch from anchored offset, and detect meter-time jumps via monotonic/delta checks.
2026-02-13 23:57:34 +01:00
c58e1627f4 Switch LoRa batch payload to present-mask schema v3
BREAKING CHANGE: schema v2 is no longer supported.

Replaces fixed dt_s timing with a 30-bit present_mask while keeping MQTT JSON unchanged.
2026-02-13 23:57:34 +01:00
7ad0a16a8d Improve meter ingestion resilience under UART gaps 2026-02-13 23:57:34 +01:00
78a880e56f Track receiver duplicate batches in web and OLED 2026-02-13 23:57:34 +01:00
1981a91415 Remove legacy state JSON size cutoff and raise doc capacity 2026-02-13 23:57:34 +01:00
9f5ad5f47e Backfill missed sender sample intervals to keep dt_s consistent 2026-02-13 23:57:34 +01:00
f65a6d28d9 Remove auto-reboot and make timezone configurable 2026-02-13 23:57:34 +01:00
32851ea61b Decouple sender meter reads and harden meter RX robustness 2026-02-13 23:57:34 +01:00
e569c8d627 Add web last-update timestamp and debug auto-reboot 2026-02-13 23:57:34 +01:00
3951183954 Fix sender stale sample reuse and add append helper 2026-02-13 23:57:34 +01:00
acidburns
1769949dc8 docs: refresh README for lora-refactor behavior 2026-02-13 23:57:34 +01:00
db18c549ea Reset RX signal state at start of each receive window 2026-02-13 23:57:34 +01:00
bd3f89a374 Drain oversized LoRa packets to prevent RX FIFO corruption 2026-02-13 23:57:34 +01:00
194c8a40cc Add detailed sender ACK RX diagnostics with reject context 2026-02-13 23:57:34 +01:00
780cf8dc97 Use protocol constants for ACK airtime window sizing 2026-02-13 23:57:34 +01:00
b056b2035a Document minimal batch/ack protocol and timestamp safety rules 2026-02-13 23:57:34 +01:00