Hoi,
Om wat voort te borduren op de aanzet van TS hier rondom API-koppeling, heb ik een eerste draft gemaakt van "HTTP POST". Oftewel, je kunt instellen dat voor iedere melding een HTTP POST call wordt gemaakt naar een door jou op te geven HTTP endpoint, met in de JSON-body het bericht + metadata vanuit PDW.
Dit is allemaal very much draft, maar mocht er hier iemand meelezen die interesse zou hebben, test eens mee alsjeblieft!
Download hier. Code changes hier op Github.
Onder Options -> HTTP POST stel je het endpoint in en (voor nu) eventueel basic Auth. Zal later nog wel wat toevoegen dat je custom headers kan definieren voor API keys e.d.
Je kunt dan aan de andere kant van de lijn bijvoorbeeld iets doen als:
<?php
$raw = file_get_contents('php://input');
$data = json_decode($raw, true);
if (json_last_error() !== JSON_ERROR_NONE) {
$data = [
'raw' => $raw,
'json_error' => json_last_error_msg(),
];
}
$entry = date('Y-m-d H:i:s') . "\n" . print_r($data, true) . "\n";
file_put_contents(__DIR__ . '/log.txt', $entry, FILE_APPEND | LOCK_EX);
En dan krijg je output zoals:

Berichten worden verzonden vanuit een eigen queue om te voorkomen dat, bij HTTP issues, heel PDW hangt. De inhoud wordt altijd geconvert naar UTF-8. Alle feedback welkom!
Dit is een interessante optie om even over te sparren.
Mijn huidige setup is grotendeels gebaseerd op RTL-SDR’s met een Python‑script dat realtime meldingen verstuurt naar mijn MQTT‑broker en een Home Assistant webhook. Daarmee krijg ik direct iOS‑pushberichten voor specifieke capcodes, worden mijn Nest‑speakers aangestuurd en gaat ’s nachts automatisch het licht aan bij een uitruk.
Omdat ik vanuit mijn werk veel met hoogbeschikbare IT‑omgevingen bezig ben, draai ik daarnaast een tweede RTL‑SDR met PagerMon. Die draait los van een webfrontend en stuurt ook HTTP‑webhooks naar Home Assistant (zie screenshot).
Voor de liefhebbers: Python MQTT is het snelst, gevolgd door de Python HTTP‑webhook en daarna PagerMon HTTP-webhook. We praten over microseconden verschil, diep achter de komma. PagerMon heb ik herschreven zodat hij goed omgaat met GROUP berichten op het Nederlandse P2000 netwerk.
Beide RTL‑SDR’s draaien nu op één Pi 5, en dat is meteen het risico: bij een reboot heb ik geen input meer. Door jouw bericht Simon werd ik getriggerd om eens te kijken naar een losse ontvanger met PDW en daar een webhook aan te koppelen, als echte redundante feed.
Dat bracht meteen de vervolgvraag: welk webhook‑formaat houden we aan? Mijn gedachte is om het bestaande "Home Assistant‑formaat" te blijven gebruiken, zoals ooit ontworpen is in
https://github.com/cyberjunky/RTL-SDR-P2000Receiver-HA, waar ik mijn Python‑script verder op heb doorgebouwd.
Standaard PagerMon Simple Webhook
1 {
2 "address": "1234567 2345678",
3 "message": "BR 1 BRAND WEGVERVOER (AUTO) DORPSSTRAAT DORP",
4 "source": "DAPNET",
5 "timestamp": 1715158800,
6 "alias_id": 42,
7 "alias": "Brandweer Dorp",
8 "agency": "Brandweer",
9 "icon": "fire-truck",
10 "color": "red"
11 }Mijn HA compatible mode, hieronder, in PagerMon om de output gelijk te houden aan het ooit door CyberJunky bedachte formaat. Waarbij ik wel zaken heb gestript om snelle transmissies te garanderen.
De vraag is moet je alle filter labels meesturen in een PDW webhook, of heb je alleen het raw bericht nodig en de capcodes als string? En hoe is je formaat dan bij groepscodes waar alles in één package over de lijn gaat?
1 {
2 "payload": "BR 1 BRAND WEGVERVOER (AUTO) DORPSSTRAAT DORP",
3 "data": {
4 "new_state": {
5 "state": "BR 1 BRAND WEGVERVOER (AUTO) DORPSSTRAAT DORP",
6 "attributes": {
7 "address": "1234567 2345678"
8 }
9 }
10 }
11 }