Omahub
← All plugins
T

P2000 Alarmeringen

by taufderl

Live P2000 emergency dispatch alerts for a Dutch municipality (or nationwide) you choose, powered by 112-nu.nl.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
3a4516b
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
3a4516b
Reviewed
1 month ago

This is a straightforward QML bar widget that polls a public RSS feed via curl and displays emergency alerts. The code includes sensible hardening: bounded fetch size, sanitized display text, and link-opening restricted to 112-nu.nl. No install-time scripts, obfuscation, persistence, or destructive behavior was found, and the deterministic scan agrees.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/taufderl/omarchy.taufderl.p2000-alarmeringen --enable
Widgets #bar #media

P2000 Alarmeringen

A bar widget for the Omarchy Quattro shell that shows live P2000 emergency dispatch alerts (police/fire/ambulance/trauma helicopter/KNRM) for a Dutch municipality — or nationwide — you choose.

Click the bar item to open a panel listing recent alerts with discipline, priority, and time. Click an alert to open its page on 112-nu.nl (map included); click the footer to open 112-nu.nl itself.

P2000 Alarmeringen panel showing live Amsterdam dispatch alerts

Data source

This plugin polls a region-scoped RSS feed from 112-nu.nl:

https://112-nu.nl/regio/<region-slug>/alles/0/rss

112-nu.nl publishes one of these per Dutch municipality (~347, slugs like gemeente-amsterdam) — browse the full list at 112-nu.nl/regio/. region: "alle" is a special case routed to /hulpdiensten/rss instead — every discipline, nationwide. Filtering by region happens server-side: every item the feed returns is already inside the chosen municipality, so there's no coordinate data (or lack of it) to reason about client-side.

An earlier version of this plugin also offered all 25 official veiligheidsregio-<name> (safety region) slugs, e.g. veiligheidsregio-amsterdam-amstelland, as a broader-than-one-city option. Those looked live (HTTP 200) but always returned a permanently empty feed — confirmed against 5 different regions, at two different times. 112-nu.nl's own usage/feed docs only ever document per-municipality and nationwide-per-discipline feeds; there's no real region tier above a single municipality. If you had this saved from before, the panel will silently show no alerts — reselect your municipality (or "Heel Nederland") via ⚙.

This replaced an earlier version built on the P2000 Livemonitor feed (Brandweer Berkel-Enschot). That feed is nationwide-only with no server-side region filtering, and roughly half of its entries carried no coordinates at all, so a client-side radius filter left most of what it showed unfiltered regardless of the configured radius. Verified live while switching: e.g. gemeente-amsterdam returned only genuinely Amsterdam-area dispatches, vs. the old feed showing alerts from Groningen, Hengelo, Rotterdam etc. under an "8 km of Amsterdam" header.

It's an unofficial community site with no formal SLA — keep pollSeconds at 15 or above so as not to hammer it. Its usage policy permits embedding this feed provided a live link back to 112-nu.nl is shown, which the panel's footer and this README both do.

The feed has no separate priority field; codes like A1/A2 (ambulance), P1–P3 (police/fire), B1/B2 are embedded as the first word of the message text, so Model.js extracts that with a regex. The feed's <category> only distinguishes AMB/BRA/POL/KNRM — trauma helicopter dispatches are still filed under AMB, so Model.js detects those instead by matching "helikopter"/"lifeliner" in the item's link.

Requires

  • curl — fetches the RSS feed. Ships by default on Omarchy.

Install

omarchy plugin add https://github.com/taufderl/omarchy.taufderl.p2000-alarmeringen.git --enable

Configure

Settings are edited through Setup → Plugins (or directly in ~/.config/omarchy/shell.json on the widget's bar.layout entry):

Setting Description Default
region 112-nu.nl municipality slug (gemeente-<city>), or alle for nationwide gemeente-amsterdam
pollSeconds How often to re-poll the feed (keep ≥ 15) 30
maxItems How many events to keep per poll 15

Filters

Click the ⚙ in the panel for more, stored inline in the widget's own shell.json entry (not through the schema form above):

  • Region search — type to filter by municipality name (or "Heel Nederland" for nationwide); pick a result to apply it. A plain text-field-plus-list, not qs.Ui's SearchableDropdown — that component clips the first line of typed text against its own search box's top border in this theme, and it's not this plugin's file to patch.
  • Discipline chips — Ambulance / Brandweer / Politie / Traumaheli / KNRM. Unchecking one hides that discipline; alerts with an unrecognized discipline are always shown.

Move it around the bar with:

omarchy bar move taufderl.p2000-alarmeringen --section right

Remove

omarchy plugin remove taufderl.p2000-alarmeringen

Credits

Feed courtesy of 112-nu.nl.