4 Commits

Author SHA1 Message Date
36de1623c2 Add HMAC-SHA256 API authentication to board drivers and edit UI
- Both olimex_esp32_c6_evb and olimex_esp32_c6_evb_pn532 drivers now
  sign every API request with X-Request-Time / X-Request-Sig headers
  using HMAC-SHA256(api_secret, METHOD:path:unix_timestamp)
- Board model gains api_secret column (nullable, default None)
- boards.py edit route saves api_secret from form
- edit.html adds API Secret input with cryptographic Generate button
- If api_secret is empty/None, headers are omitted (backward compat)
2026-03-15 12:33:45 +02:00
4766faa682 Add NFC access control support to Olimex ESP32-C6-EVB driver
- Add get_nfc_status() to retrieve NFC reader state (last UID, access state, auth config)
- Add set_nfc_config() to push NFC access-control config (auth_uid, relay_num, pulse_ms)
- Update API endpoint documentation in module docstring
2026-03-15 08:46:35 +02:00
ske087
b4db41a400 Fix offline board flooding: fail-fast probe in hardware driver poll()
All three hardware drivers (Olimex, generic_esp32, generic_esp8266) now
probe with the first request and bail immediately on failure.

Before: offline board with 4 relays + 3 inputs = 7 requests × 3 s timeout
        = up to 21 s of blocking + 7 log lines per recheck cycle.
After:  exactly 1 request × 3 s timeout regardless of I/O count.
2026-02-27 16:20:10 +02:00
ske087
7a22575dab Initial commit: Location Management Flask app 2026-02-26 19:24:17 +02:00