Wer merkt, wenn der Friseur seine Öffnungszeiten ändert?
Posted by m_fuhrmann on 7 September 2026 in German (Deutsch).In OpenStreetMap veraltet nichts so schnell wie opening_hours. Ein Betrieb schiebt den Ruhetag von Montag auf Dienstag, ändert eine Zeile auf seiner Website, und in der Karte steht weiter der alte Stand. Auffallen tut das erst, wenn jemand vor einer verschlossenen Tür steht.
Für Fulda läuft deshalb seit ein paar Wochen ein kleiner Wächter: 559 Websites von Betrieben in Stadt und Landkreis, jede alle drei Tage geprüft, und zwar nicht die ganze Seite, sondern genau der Block, in dem die Zeiten stehen. Ändert sich dort ein Zeichen, gibt es eine Nachricht.
Das Interessante daran ist weniger die Technik dahinter, sondern wie wenig man braucht, um mitzumachen. Zwei Oberflächen reichen, und beide hat man vermutlich schon offen: GitHub zum Hinzufügen, Matrix zum Mitlesen.
Einen Betrieb hinzufügen: ein Issue, eine Zahl, ein Klick
Wer eine Seite kennt, deren Öffnungszeiten beobachtet werden sollten, öffnet ein Issue über die Vorlage Watch vorschlagen. Drei Angaben: die Seite, der Name des Betriebs, seine OSM-Id.
Danach übernimmt ein Bot. Er holt die Seite, sucht die Textblöcke, die nach Öffnungszeiten aussehen, und kommentiert sie durchnummeriert im Issue. Nicht als Code, nicht als XPath, sondern als den Text, den er einfangen würde:
1) Montag - Freitag 09:00 - 18:00 Uhr / Samstag 09:00 - 13:00 Uhr
2) Termine nach Vereinbarung, Telefon 0661 ...
3) Bürozeiten der Hausverwaltung: Mo, Mi 10 - 12 Uhr
Man antwortet mit /pick X. Der Bot schreibt die Datei, schiebt den Branch und kommentiert einen Link, der den Pull Request mit ausgefülltem Titel öffnet. Ein Klick, fertig.
Kein Fork, keine Installation, kein API-Schlüssel, keine XPath-Kenntnisse. Was der Bot bewusst nicht abnimmt, ist das Lesen: welcher der drei Blöcke oben wirklich die Öffnungszeiten dieses Betriebs trägt und nicht die Bürozeiten des Vermieters, ein Terminfenster oder eine mitlaufende Uhr. Das ist die eigentliche Entscheidung im Projekt, und sie bleibt beim Menschen.
Der Bot weiß auch, wann er absagt: Seiten, die schon beobachtet werden, nennt er samt der Datei, die sie abdeckt. Seiten, die schon einmal geprüft und für untauglich befunden wurden, weist er mit Grund und Datum zurück, statt einen Vorschlag zu bauen, den die Prüfung ohnehin kassiert.
Der Alarm kommt in Matrix an
Meldet sich eine Seite, landet das in einem Zimmer, das mit anderen Mappern geteilt wird: #osm-fulda-openinghours:matrix.org. So kam die Meldung am 4. September an, echt und ungekürzt:
Öffnungszeiten geändert: Klosterladen Abtei Fulda
Webseite: https://www.abtei-fulda.de/stadtkloster/klosterladen/
OpenStreetMap: https://www.openstreetmap.org/node/5511605749
+ Dienstag, 8. September, geöffnet: 13 – 16 Uhr
Zu tun: Zeiten in OSM prüfen, dann check_date:opening_hours setzen.
Zeigt der Diff keine Öffnungszeiten, ist es ein Fehlalarm: OSM bleibt unberührt, der Filter
muss nachgezogen werden.
Wie Fehlalarme entstehen
Fehlalarm melden
Titel, Seite, OSM-Objekt, die geänderte Zeile, Auftrag. Der Link auf das Objekt macht aus der Meldung einen Klick statt einer Suche in der Karte; die zwei letzten Zeilen sind Links, ihre Adressen stehen im Text nicht im Weg.
Fehlalarme gibt es, deshalb steht der Meldeweg gleich in der Nachricht. Ein Filter, der heute die Zeiten einfängt, kann nach einem Relaunch der Website plötzlich die Neuigkeiten-Box treffen. Dann zeigt der Diff keine Zeiten, OSM bleibt unberührt, und der Filter wird nachgezogen: wieder ein Issue-Formular, wieder ohne Fork.
Wer mitlesen will, braucht nur einen Matrix-Account. Kein Abo, keine E-Mail-Flut: Bei rund 560 beobachteten Seiten sind das ein paar Nachrichten pro Woche, wenn überhaupt. Dazu montags früh ein kurzer Bericht, welche Watches ihre Zeiten nicht mehr sauber einfangen.
Warum die Kette bei Matrix endet und nicht bei OSM
Es wäre technisch machbar, die neue Zeit direkt in OpenStreetMap zu schreiben. Aber das wäre falsch.
Eine Website kann irren. Eine Änderung kann ein Feiertagshinweis sein, der nächste Woche wieder verschwindet. Ein Schild an der Tür schlägt im Zweifel die Website. Und ein falscher Watch ist Lärm, ein falscher Tag sind fremde Daten. Deshalb endet die Automatik bei der Nachricht: Der Monitor zeigt auf etwas, das man sonst übersieht, den Rest macht ein Mensch, der auch zur Not mal hinfahren könnte.
Was nicht funktioniert
Ehrlicherweise: nicht jede Seite taugt etwas. Ketten veröffentlichen ihre Filialzeiten hinter einer Postleitzahlensuche, ein Diff auf der Konzernseite sagt nichts über den Laden in der Stadt. Öffnungszeiten als abfotografiertes Schild sind ein Bild, kein Text. Manche Seiten blocken jeden automatischen Abruf. Und überraschend oft nennt eine Website ihre Zeiten schlicht gar nicht.
Diese Fälle werden nicht stillschweigend verworfen, sondern mit Begründung und Wiedervorlagedatum festgehalten. Ein Betrieb, der heute nur eine Social-Media-Seite hat, kann nächstes Jahr eine eigene haben.
Das geht auch eine Nummer kleiner. Und eine Nummer größer
Angefangen hat es sogar eine Nummer kleiner. Der OSM-Nutzer GeoMH hatte für sich entschieden, changedetection auf dem eigenen Rechner laufen zu lassen, um wichtige Infrastruktur in seinem Landkreis aktuell zu halten, allen voran Apotheken. Dabei ist er über die Kreisgrenze in unsere Ecke geraten, so kam der Kontakt zustande, und aus seinem Vorgehen wurde die Idee, das Konzept weiter auszubauen. Alles, was hier steht, ist ein Ausbau seiner Fassung, nicht der Ersatz dafür.
Fulda betreibt das dauerhaft auf einem Server, weil dort mehrere Leute mitlesen. Nötig ist das nicht. Der Kern ist changedetection.io, ein Container, den man auf dem eigenen Rechner startet, wenn man Zeit für Kartenarbeit hat: Er prüft die hinterlegten Seiten, zeigt, was sich seit dem letzten Mal geändert hat, und darf danach wieder aus sein. Ein Abend im Monat reicht für eine Kleinstadt.
Auch Matrix und GitHub sind austauschbar, sie sind hier nur die bequemste Wahl:
- Ohne Matrix. changedetection schickt seine Meldungen über gängige Kanäle, E-Mail, ntfy, Telegram, was man eben liest. Bei uns steht ein kleines Relais davor, weil matrix.org kurzlebige Zugangstoken ausgibt. Wer allein arbeitet, braucht überhaupt keine Benachrichtigung: Dann ist die Liste der geänderten Seiten im Programm selbst die Arbeitsliste.
- Ohne GitHub. Ein Watch ist eine kleine Datei. Wer für sich mappt, hält die Dateien einfach lokal. GitHub kauft drei Dinge dazu, die erst zählen, wenn mehr als eine Person mitmacht: ein Review vor dem Scharfschalten, eine automatische Prüfung jedes Vorschlags und den Weg für Leute, die kein Repository anfassen wollen.
Nach oben ist genauso offen. Das Gebiet steckt im Kategorie-Tag jedes Eintrags (fulda-bakery), also können mehrere Orte in derselben Instanz liegen, ohne sich zu vermischen, und die Erkennung von Wochentagen und Zeitformaten ist eine eigene kleine Datei, die weitere Sprachen aufnimmt. Ob daraus 60 Watches für einen Landkreis werden oder ein paar tausend für ein Bundesland, ändert am Aufbau nichts, nur an der Frage, wer die Alarme liest.
Nachbauen
Alles liegt offen, GPL-3.0. Das Handwerk steht in eigenen Dokumenten und auf Englisch, damit eine andere Stadt damit anfangen kann: wie man den Zeitenblock einer Seite findet, woran man merkt, dass der Filter den falschen erwischt hat, und warum ein Watch eine Datei ist und kein Formular. Was zum Mitmachen nötig ist, steht auf Deutsch.
Wer in Fulda einen Betrieb kennt, dessen Zeiten in OSM veraltet sind: Das Issue-Formular liegt offen, und der Bot antwortet schneller als jeder Maintainer.
Discussion
Comment from Harald Hartmann on 8 September 2026 at 06:59
Ich finde es spannend, wie sehr sich in letzter Zeit um die Öffnungszeiten gekümmert wird, u.v.a. welche unterschiedlichen Ansätze dabei verfolgt werden:
Comment from m_fuhrmann on 8 September 2026 at 07:24
@Harald: Ich denke das liegt daran, dass man mehr von Google weg will und die meisten Unternehmer sich halt nicht bemühen in OSM vertreten zu sein. Die Datenqualität erhöhen ist somit nur logisch.
Ich kann es halt auch ein wenig verstehen: Ein Unternehmer will/muss Geld verdienen. Die Hoffnung, dass Google sie bekannter macht ist ja nachvollziehbar. Ich kenne dann aber doch fast keine Ladenbesitzer, die mir geziehlt bestätigen konnten, dass sie wegen Google mehr verkaufen. Also, das geht schon glaube ich. Ist nur nicht der Großteil.
Was wir alle hinbekommen müssten ist eigentlich nur, dass an Gewerbeämtern, IHK oder sonst wo, neuen Gewerbetreibenden kA Flyer in die Hand gedrückt bekommen wie: Trag dich auch in OSM ein, damit dein Unternehmen besser gefunden wird. Services wie wie https://osmybiz.osm.ch oder https://www.onosm.org ( leider aktuell down), machen es ziemlich leicht Business einzutragen.