Repository navigation
Releases: SilentServices/PocketDAPNET
Release list
PocketDAPNET v0.7.2-rc1
PocketDAPNET v0.7.2-rc1
Release candidate focused on robust multi-batch POCSAG reception.
Fixed
- Long alphanumeric POCSAG pages are no longer truncated at the first 16-codeword batch.
- SX1278 RSSI sampling during pending pages uses
getRSSI(false, true), preventing RSSI reads from stopping Direct-RX after the first batch. - Continuation batches are collected across POCSAG frame-sync boundaries.
- PocketDAPNET records the exact page-end boundary and trims any bytes received after the terminator before handing the buffer to RadioLib.
- This fixes both observed frame-dependent cases:
- frame-0 RICs truncating at roughly 42 characters;
- frame-7 RICs returning only the first two characters.
- Existing protection against the RadioLib Direct-RX watchdog freeze remains in place.
Diagnostics
Verbose [POCSAG RAW] codeword dumps are disabled by default (POCKETDAPNET_POCSAG_RAW_DEBUG=0). They can be enabled temporarily in include/app_info.h when diagnosing RX edge cases.
Verification
Verified with a 48-character page spanning multiple batches on both a frame-0 RIC and frame-7 RIC. The complete message was decoded without trailing garbage.
Build
- Version:
0.7.2-rc1 - Build ID:
20260926-05
PocketDAPNET v0.7.1
PocketDAPNET v0.7.1
PocketDAPNET v0.7.1 adds event-driven receive integration for Home Assistant and other local automation systems while retaining the stable POCSAG RX/TX, DAPNET, persistent history and web-security behavior introduced in v0.7.0.
Highlights
- Optional outbound RX webhook integration.
- Only configured RIC subscriptions are forwarded; debug-all-RIC traffic is never pushed externally.
- Dedicated bounded FreeRTOS webhook worker to keep slow HTTP endpoints away from the main RX/web loop.
- Webhook delivery counters and last HTTP result available in
/status. - Atomic webhook counters for safe cross-task statistics and warning-free builds.
- PlatformIO pinned to pioarduino 55.03.38-1 with
min_spiffs.csvfor sufficient application space and LittleFS history storage. - Complete Home Assistant setup guide with webhook automation, RIC filtering,
chooseexamples andcurltesting.
Home Assistant
PocketDAPNET sends JSON events to a Home Assistant webhook immediately after a subscribed POCSAG page is decoded. Delivery is best-effort and uses a bounded RAM queue so Home Assistant cannot block the radio receive loop.
Security
- Webhook delivery is disabled by default.
- The webhook URL is treated as a secret and masked in PocketDAPNET configuration views.
- v0.7.1 accepts local
http://webhook destinations only; it does not bypass TLS certificate verification. - Use a trusted LAN or VPN and keep Home Assistant webhook IDs private.
Upgrade notes
Existing v0.7.0 NVS configuration and persistent message histories remain in place during a normal firmware update. The new RX webhook integration is disabled until explicitly configured and enabled.
PocketDAPNET v0.7.0
PocketDAPNET v0.7.0
This release builds on the verified v0.6.9 radio/DAPNET baseline and adds security, automation and long-runtime stability improvements.
Highlights
- HTTP Basic Authentication for the complete Web UI.
- First-login credentials
admin/pocketdapnet; RF TX remains blocked until the password is changed. - Optional authenticated
POST /api/sendbearer-token API with input validation and rate limiting. - Local RIC-8 station-identification fallback, only while DAPNET operation is enabled.
- Main-loop watchdog diagnostics and retained health-stage information across watchdog resets.
- POCSAG Direct-RX fix that freezes the SX1278 Direct Mode producer before reading and discards incomplete non-32-bit-aligned tails, preventing the observed RadioLib
PagerClient::readData()watchdog freeze. - Persistent bounded histories for the last 30 RX, TX and DAPNET-handled messages.
- Centralized HTML/JSON escaping and input validation.
- CSRF protection for state-changing Web UI actions.
- Security/no-cache headers including
Pragma: no-cache. - Factory reset now clears both NVS configuration and persistent history.
- Build identifier exposed in the Web UI and
/status.
API
See docs/API.md for the send API, authentication, validation rules, rate limit and status codes.
Upgrade notes
Existing NVS configuration is retained during a normal firmware update. Persistent histories begin empty the first time v0.7.0 creates its LittleFS history store. TX Inhibit and the default-password safety interlock remain authoritative.
PocketDAPNET v0.6.9
PocketDAPNET v0.6.9
Verified RF-calibration release.
Highlights
- Clarifies the difference between RF center frequency, oscillator correction and POCSAG FSK deviation.
- Keeps TX oscillator correction at a neutral
0.000000 MHzdefault. - TX diagnostics now show the programmed center and expected low/high FSK tones.
- Documents a measurement-based calibration procedure using the midpoint of both tones.
- Retains the v0.6.8 DAPNET slot-time budget check and detailed TX diagnostics.
Verified behavior
- Manual POCSAG messages were decoded successfully at 1200 baud for multiple RIC ranges when the RF center was correctly calibrated.
- DAPNET-originated queued messages were transmitted in assigned slots and decoded successfully by external POCSAG monitoring tools.
Important calibration note
The standard POCSAG shift of 4500 Hz means ±4.5 kHz around the center frequency. It must not be entered as a +0.0045 MHz oscillator correction.