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
a279c219ae
Refactor LoRa protocol to batch+ack with ACK-based time bootstrap
2026-02-13 23:57:34 +01:00
5ad5d3a0cc
Normalize power/energy output formatting
2026-02-13 23:57:34 +01:00
43c572a111
Scale ACK RX window to LoRa airtime
...
- Compute ACK receive window from airtime with bounds and margin
- Retry once if initial window misses
- Document ACK window sizing
2026-02-13 23:57:34 +01:00
06847a9da4
Add RX reject reasons to telemetry and UI
...
BACKWARD-INCOMPATIBLE: MeterBatch schema bumped to v2 with err_rx_reject.
- Track and log RX reject reasons (CRC/protocol/role/payload/length/id/batch)
- Include rx_reject in sender telemetry JSON and receiver web UI
- Add lora_receive reject reason logging under SERIAL_DEBUG_MODE
2026-02-13 23:57:34 +01:00