{{ hintText }}
Een oproep voor twee diensten telt bij allebei mee, dus samen zijn ze meer dan het totaal. Klik een balk om erop te filteren.
Gefilterd op {{ hourFilterLabel }} — geldt ook voor de berichten, de kaart en de posten.
Klik een uur om alleen die berichten te zien.
Aandeel van de {{ activity.total.toLocaleString() }} berichten. “Geen” is geen gat in de grafiek: dat zijn meestal proefalarmen en berichten aan de meldkamer, en daar valt niet op te filteren.
De oproepen waar de meeste berichten aan te pas kwamen. Eén ongeval kost al gauw één bericht per eenheid, en die staan overal elders op deze pagina als losse balkjes. Oproepen waar alleen maar proefalarmen in zaten, tellen niet mee.
Klik een dag om alles van die dag te zien.
| Regio | Posten | Berichten |
|---|---|---|
| {{ r.region }} | {{ r.stations }} | {{ r.messages.toLocaleString() }} |
| Post | Dienst | Capcodes | Berichten |
|---|---|---|---|
| {{ s.location }} {{ s.mapped.name }} | {{ s.service || '—' }} | {{ s.capcodes }} | {{ s.messages.toLocaleString() }} |
Kies een post om de berichten daarop te filteren. Waar OpenStreetMap één kazerne of post bij de capcodes kent, staat die eronder; posten die op meerdere gebouwen uitkomen — of op geen — houden hun regel zonder naam.
Alleen capcodes waar de referentie een plaats bij kent staan hier — vrijwel de hele brandweer, weinig van ambulance en politie.
Zoek je straat, postcode of woonplaats en kies die uit de lijst. Hij blijft alleen in deze browser — de server hoort waar hij moet kijken, maar onthoudt het niet.
Je locatie opvragen kan alleen op een https-adres — deze pagina is dat niet, dus de knop zou toch niets kunnen doen. Typ je straat hierboven.
Deze browser geeft geen locatie door. Typ je straat hierboven.
De browser gaf geen toestemming. Zet locatie voor deze site aan en probeer het opnieuw, of typ je straat hierboven.
Het duurde te lang om een positie te krijgen — binnen lukt dat vaak niet.
Het toestel kon geen positie bepalen.
Locatie bepalen mislukt.
Nu {{ home.label }}. Alleen berichten die tot een straat, postcode of adres zijn teruggebracht tellen mee — een bericht dat niet verder kwam dan een plaats zou het midden van die plaats aanwijzen in plaats van het incident, dus dat valt af.
Latere berichten met {{ draft.snippet }} komen op deze locatie te staan in plaats van geraden te worden. Een naam van een gebouw werkt net zo goed als een straat — zoek hem op en kies de juiste.
Wat er niet klopt aan dit bericht — de speld, het adres, de dienst. Wat er op je scherm staat gaat mee, dus je hoeft niet uit te leggen welk bericht je bedoelt.
Wat er niet klopt, wat je mist, wat je anders verwacht had. Kort mag.
Meegestuurd: de versie, waarop je gefilterd had en hoe groot je scherm is — genoeg om het na te kijken. Geen naam, geen e-mailadres, niet waar je bent.
{{ feedbackError }}
Dank je — het staat genoteerd. Er komt geen antwoord terug: dit is een briefje, geen gesprek. Het wordt gelezen.
Van de Oudnoorse naam Birgir, waarschijnlijk afgeleid van bjarga, dat “helpen, redden, bergen” betekent.
Deze app luistert mee met P2000 en laat zien wat brandweer, ambulance en politie binnenkrijgen. Alles hieronder gebeurt in je eigen browser; je hoeft nergens voor in te loggen om mee te kijken.
Elke regel is één oproep: het tijdstip, de prioriteit en de tekst zoals die is uitgezonden. De kleur van het icoon links zegt welke dienst is opgeroepen — rood is brandweer, geel ambulance, blauw politie. Ging de oproep naar meerdere diensten tegelijk, dan staat er
Klik een regel aan en het bericht opent naast de lijst, met de kaart, alle opgeroepen capcodes en de onbewerkte tekst zoals die binnenkwam.
Naast groeperen staat een knop die tussen twee standen wisselt. Het icoon zegt in welke je staat: dunne regels is lijst, gestapelde blokken is kaarten. De lijst is één regel per bericht — het meeste op één scherm, en de tekst afgekapt op de breedte van de kolom. Bij kaarten krijgt elk bericht een blok met de hele tekst, welke eenheid is opgeroepen, uit welke post en regio, en de code zoals de meldkamer die uitzond (A1, P 2, B1) naast de prioriteit. Je ziet minder berichten tegelijk en je hoeft er minder voor open te klikken.
Het schakelt alleen hoe de lijst leest: er valt niets weg en er komt niets bij, precies als bij groeperen. Wat je kiest onthoudt deze browser.
Eén ongeval kost zelden één oproep. De brandweer krijgt er een, elke ambulance een eigen, de politie nog een, en als er wordt opgeschaald komen er later nog een paar bij — verspreid over een half uur, met tientallen berichten uit de rest van het land ertussen. De knop groeperen naast het zoekveld neemt die samen tot één regel per melding.
Groeperen filtert niets weg: zet je het uit, dan zie je weer elk bericht apart. Filter je op brandweer, dan komt een gemengde melding met al zijn ambulance- en politieberichten mee — je zocht tenslotte de melding, niet de losse oproep. Open je een bericht, dan staat onder de kop Bij deze melding met alle andere berichten die erbij hoorden; dat blok staat er ook als je niet groepeert.
De app leidt zelf af wat bij elkaar hoort, uit de tekst, het incidentnummer als dat erin staat, en hoe dicht de meldingen bij elkaar liggen. Dat gaat meestal goed en soms niet: twee losse oproepen in dezelfde straat binnen het halfuur kunnen als één melding op de lijst komen, en heel af en toe blijft één melding in tweeën liggen.
Bovenaan staat een zoekveld en de knop filters. Het getal op die knop is het aantal filters dat op dit moment aan staat — staat er niets, dan zie je alles. Heb je een bewaard filter gekozen, dan staat zijn naam op die knop in plaats van het woord "filters". Klik erop en het paneel klapt open met alle filters bij elkaar:
Bovenin het paneel staat op een rij wat er aan staat. Klik zo'n label aan en dat ene filter gaat eraf; alle filters wissen zet alles terug. Het zoekveld zoekt door de hele database, niet alleen door wat je nu ziet.
Een set filters waar je vaker naar terugkeert kun je een naam geven — bijvoorbeeld Thuis en Werk. Zet de filters zoals je ze wilt en klik bovenin het paneel op + huidige filters bewaren. Daarna staat er een knopje met die naam: één klik zet hem aan, nog een klik zet alle filters weer uit.
Ze staan in deze browser, net als je favorieten en je thuislocatie. Op een andere telefoon of computer zie je ze dus niet, en niemand anders die dezelfde ontvanger gebruikt ziet ze.
Wil je wél delen wat je ziet, gebruik dan link kopiëren onderin het paneel. Dat maakt een adres van de filters die nu aan staan, zodat iemand anders dezelfde selectie te zien krijgt. Je thuislocatie en je favorieten gaan niet mee — die zijn van deze browser.
Elke plaats en elke veiligheidsregio heeft een eigen adres: /plaats/delft, /regio/haaglanden. Wie zo binnenkomt ziet alleen de meldingen daar, met boven de lijst een balkje dat zegt welke plaats het is en een knop om weer alles te tonen. Handig om door te sturen, en het is ook hoe iemand deze app via een zoekmachine vindt.
Onder het tandwiel rechtsboven staat geluid bij melding. Dat volgt precies dit filter: je hoort een toon zodra er iets binnenkomt dat er doorheen komt. Staat er geen filter, dan piept alles — dus zet eerst scherp wat je wilt horen. Met in de buurt aan blijft het stil: waar een melding ligt weet de app pas even later, en dan is de toon te laat om nog iets te betekenen.
Het meeste wat je op het scherm ziet is ook een filter. Je hoeft er dus niet eerst een menu voor te openen:
Bovenaan wissel je van weergave. Kaart zet dezelfde berichten als speldjes op de kaart, Activiteit laat zien wanneer het druk is, en Posten telt per regio en per kazerne. Ze kijken alle drie door hetzelfde filter, dus wat je in de lijst instelt geldt daar ook.
Op Activiteit staat ook Prioriteit — welk deel van wat je hebt staan een P1 was en welk deel een proefalarm — en Grootste meldingen: de oproepen waar de meeste berichten aan te pas kwamen. Dat laatste is het enige op deze pagina dat niet per bericht telt maar per melding: één ongeval kost al gauw één bericht per eenheid, en in de grafieken erboven staan die als losse balkjes door elkaar. Klik zo’n regel en de melding gaat open.
Open een bericht en klik op het deel-icoon rechtsboven in het bericht. Je krijgt een link die rechtstreeks naar dat ene bericht wijst. Plak je die in WhatsApp of Teams, dan komt er een kaartje bij te staan met de plek erop. De link blijft werken, ook voor iemand die de app nog nooit had geopend.
Onder de kaart staat per gealarmeerde post wanneer die er naar schatting is. De balk is de hele opkomsttijd van die post: het gearceerde deel is het uitrukken, het volle deel het rijden. De lijst staat op volgorde van aankomst, niet van alarmering — een post die later gepiept werd maar dichterbij zit, staat dus bovenaan. Zijn er meerdere posten, dan kun je met terugkijken de hele uitruk in een paar seconden afspelen.
Dit is een schatting en geen meting. P2000 zendt alleen de alarmering uit: niet wanneer een voertuig vertrekt, niet wanneer het aankomt, en niet dat een melding is afgeblazen. Van de vier getallen zijn er twee echt — het moment van de piep, en de rijtijd van een routeplanner over de echte weg — en twee een aanname: de uitruktijd is een ingesteld getal per post, en het uur dat een melding zou duren is een rond getal. Een voertuig met optische signalen rijdt harder dan de planner rekent, dus de aankomst is eerder een bovengrens dan een voorspelling.
Staat de speld op een straat, dan kun je onder de kaart een huisnummer invullen. Birgir zoekt dat op in de Basisregistratie Adressen en Gebouwen en laat zien wat daar staat: waar het voor gebruikt wordt, hoe groot het is, uit welk jaar het pand komt, hoeveel adressen erin zitten en hoe hoog het is. Daaronder staat het gebouw zelf, zoals het is ingemeten — sleep eraan om het te draaien. Het opent op de gevel die je vanaf de straat ziet. De omtrek komt ook op de kaart te staan.
Heeft één nummer meerdere adressen, zoals 15, 15A en 15A-1, dan krijg je een lijstje om uit te kiezen. Een nummer dat niet bestaat levert niets op — dat is met opzet: een geocoder die het dichtstbijzijnde huis teruggeeft, geeft je een zelfverzekerd verkeerd antwoord.
Het nummer blijft in jouw browser. De server weet niet welk huisnummer bij welke melding hoorde; die bewaart alleen wat de basisregistratie over een huis zegt, zodat de tweede die hetzelfde huis opvraagt niets extra's kost. Volgende keer dat je dit bericht opent staat het er meteen weer; met wissen gooi je het weg.
In een geopend bericht staat naast elke capcode een ster. Wat je ster geeft is van jouw browser alleen — een ander die deze app gebruikt ziet jouw sterren niet. In het filterpaneel kun je daarna alleen favorieten tonen.
Onder het tandwiel staat op je beginscherm zetten. Birgir opent dan schermvullend, zonder de balken van de browser, en meldingen op je telefoon werken pas als hij daar staat.
Op een iPhone moet dat vanuit Safari: tik op delen en kies Zet op beginscherm. In Samsung Internet lukt het niet — Android blokkeert de app die die browser er zelf van maakt, en toch installeren levert een app op die niet werkt. Open Birgir in dat geval in Chrome.
Meldingen bevatten vaak afkortingen die geen geocoder begrijpt. Klopt het speldje niet, klik dan in het geopende bericht op adres instellen en geef op wat er bedoeld wordt. De app onthoudt dat voor volgende meldingen met dezelfde tekst, en je kunt het aan één capcode koppelen of aan alle.
Hieronder heb je een account nodig. Dat is alleen nodig als je meldingen ergens anders naartoe wilt sturen — om mee te kijken is het niet nodig.
Een account is niet meer dan een naam die je zelf kiest en een sleutel die de app voor je aanmaakt. Er komt geen e-mailadres of wachtwoord aan te pas.
Die sleutel is je account. Wie hem heeft, is jou. Bewaar hem ergens waar je hem terugvindt: op een andere telefoon of na het wissen van je browser is het het enige waarmee je er weer in komt. Je vindt hem terug op de accountpagina, via het poppetje linksboven. Je kunt je account daar ook zelf weer weggooien; wat eraan hing gaat dan mee.
Een webhook stuurt binnengekomen meldingen door naar een adres dat jij opgeeft — bijvoorbeeld naar Home Assistant, ntfy, Teams of Slack. Je stelt er twee dingen voor in:
{{ph('display')}}, {{ph('service')}} en zo meer. Bij het opstellen zie je meteen wat er uit komt.Met de testknop stuur je er één echte melding heen, zodat je aan de andere kant kunt zien of het aankomt. Elke poging komt in het logboek van die webhook te staan, met wat de ontvanger antwoordde — daaraan zie je het verschil tussen "mijn adres doet het niet" en "mijn filter komt nooit voor". Blijft het lang misgaan, dan zet de app de webhook uit en zegt erbij waarom.
Er geldt een uurlimiet per account. Dat is er niet om de server te ontzien maar om te sturen: een filter dat alles doorlaat levert vooral gedropte meldingen op, en een scherper filter levert precies wat je zocht. Bij het opstellen rekent de app voor hoe vaak jouw filter de afgelopen 24 uur voorkwam. De beheerder kan die limiet er voor een account af halen.
Adressen moeten https zijn en op het openbare internet staan. Een adres binnen je eigen netwerk wordt geweigerd: de app draait zelf binnen dat netwerk, en anders zou je haar kunnen laten rondkijken waar jij niet bij kunt.
In plaats van een adres kun je ook je telefoon kiezen. Dat werkt hetzelfde — zelfde filter, zelfde logboek — alleen komt de melding als pushbericht binnen.
Op een iPhone moet je de app eerst vanuit Safari aan je beginscherm toevoegen, en hem daarna vandaaruit openen. Doe je dat vanuit Chrome of Firefox, dan lijkt het aanmelden te lukken maar komt er nooit iets aan. Op Android kan het ook zonder, al werkt het ook daar het prettigst als je de app aan je beginscherm toevoegt.
De kaart is de BRT-achtergrondkaart van het Kadaster, geleverd via PDOK (CC BY 4.0), en het zoeken op adres, de straat zelf en wat voor weg het is komen daar ook vandaan — die laatste uit de Basisregistratie Topografie (TOP10NL).
Wat er langs de straat staat — brandkranen, AED's, scholen, tramhaltes — komt van OpenStreetMap-bijdragers (ODbL).
De gegevens over een huis — adres, gebruiksdoel, oppervlakte, bouwjaar en het pand — komen uit de Basisregistratie Adressen en Gebouwen van het Kadaster, via PDOK. Die staat in het publieke domein (CC0 1.0).
De hoogte, het aantal bouwlagen en het gebouw zelf — de vorm die je kunt draaien — komen uit de 3DBAG van de 3D-geoinformatiegroep (TU Delft) en 3DGI (CC BY 4.0) — © 3DBAG by tudelft3d and 3DGI.
Het weer bij binnenkomst komt van Open-Meteo (CC BY 4.0), dat voor Nederland het HARMONIE-AROME-model van het KNMI gebruikt.
De kaart wordt getekend met Leaflet (BSD-2-Clause) en het gebouw met three.js (MIT). Deze app zelf staat onder GPLv3; de volledige lijst met licenties staat in THIRD-PARTY.md in de broncode.