ℹ️ Info & Funktionsweise

💊
Worum geht's hier?

MediPlaner erinnert dich per Push-Benachrichtigung aufs Handy und/oder E-Mail an deine Medikamente – egal wo auf der Welt du gerade bist. Wenn du verreist, kannst du die Erinnerungszeiten automatisch (und optional schrittweise) an die Zeitzone deines Reiseziels anpassen lassen. Diese Seite erklärt, wie alles zusammenhängt.

🏠 Heute – die Startseite

Das ist der erste Bildschirm, den du beim Öffnen der App siehst. Er zeigt ausschließlich die Medikamente des heutigen Tages – schön aufbereitet, mit Fortschrittsbalken oben ("2 von 3 erledigt").

  • Jede Karte zeigt Uhrzeit, Name, den gewählten Erinnerungskanal (✉️ E-Mail und/oder 🔔 Push) sowie den aktuellen Status.
  • ✅ Eingenommen / ⏭️ Ausgelassen quittiert die Dosis direkt – der Fortschrittsbalken aktualisiert sich sofort.
  • ↩️ Rückgängig setzt eine bereits quittierte Dosis wieder zurück auf "offen", falls du dich vertippt hast.
Das bisherige Zeitzonen-Dashboard ist nicht verschwunden – es heißt jetzt 🕐 Zeitzonen-Dashboard und ist über das Menü (☰ oben rechts) weiterhin erreichbar. Die neue "Heute"-Seite ist bewusst schlanker und für den täglichen Gebrauch gedacht, das Dashboard für die Reiseplanung im Detail.
🔔 Push-Benachrichtigungen

Push-Benachrichtigungen kommen direkt aufs Handy – auch wenn die App gerade nicht geöffnet ist. Sie funktionieren ohne separate App aus dem App Store, indem die Seite auf dem Homescreen installiert wird.

Einmalig aktivieren:

  • iPhone: Seite in Safari öffnen → Teilen → "Zum Home-Bildschirm". Die App dann von diesem Icon aus starten (nicht mehr aus Safari) – erst dort lässt sich Push aktivieren (iOS 16.4+). Dann wie bei Android: Menü (☰) → 🔔 Push → aktivieren.
  • Android: App öffnen, oben rechts auf das Menü (☰) tippen und 🔔 Push auswählen. Dort auf "🔔 Push-Erlaubnis abfragen & aktivieren" tippen. "Zum Startbildschirm hinzufügen" ist optional, aber empfehlenswert.

Diese Aktivierung gilt pro Gerät – hast du mehrere Handys/Tablets, kannst du auf jedem einzeln aktivieren, und alle bekommen die Erinnerung gleichzeitig.

Wie eine Push-Erinnerung abläufst:

  1. Zur eingestellten Zeit kommt eine Benachrichtigung mit Name und Uhrzeit des Medikaments.
  2. Tippst du darauf, öffnet sich die App automatisch und springt direkt zu genau diesem Medikament (kurz blau hervorgehoben).
  3. Dort bestätigst du ganz normal mit "✅ Eingenommen" oder "⏭️ Ausgelassen".
Die Bestätigung erfolgt bewusst in der App und nicht direkt über Buttons in der Benachrichtigung selbst – auf manchen Android-Geräten haben sich Schnellaktions-Buttons in System-Benachrichtigungen als unzuverlässig erwiesen. Der Umweg über einen Tipp mehr sorgt dafür, dass immer der richtige Status gespeichert wird.

Wiederholung, bis quittiert: Ist bei einem Medikament "🔁 Push wiederholen, bis quittiert" aktiviert (siehe Medikamente-Abschnitt unten), kommt die Erinnerung in einem festen Intervall (einstellbar im Admin-Panel, Standard 30 Minuten) so lange erneut, bis die Dosis als eingenommen oder ausgelassen markiert wurde.

Die einmalige Grundeinrichtung (Verschlüsselungsschlüssel erzeugen) ist mit dem Admin-Passwort geschützt und normalerweise bereits erledigt. Das Aktivieren auf einem einzelnen Gerät ("Dieses Gerät anmelden") braucht dagegen kein Passwort.
💊 Medikamente verwalten

Hier legst du fest, welches Medikament du wann (Ortszeit) einnehmen möchtest. Jeder Eintrag hat einen Namen, eine Ziel-Uhrzeit sowie optional einen Gültigkeitszeitraum (Start-/Enddatum).

Statt das Formular manuell auszufüllen, kannst du den 🧙 Schritt-für-Schritt-Assistenten nutzen. Er fragt dich zunächst, was du vorhast, und führt dich dann passend weiter:

  • 🆕 Neues Medikament dauerhaft anlegen – läuft ab sofort unbegrenzt weiter.
  • 🩹 Befristete Einnahme / Kur anlegen – mit festem Start- und Enddatum.
  • ⏰ Weitere Einnahmezeit für ein bestehendes Medikament – z.B. zusätzlich morgens und abends.
  • 🔄 Uhrzeit/Dosierung eines bestehenden Medikaments ab einem Datum ändern – der alte Eintrag wird automatisch am Vortag beendet, ein neuer beginnt nahtlos.
Wichtig: Die hier eingegebene Uhrzeit ist immer als Ortszeit am jeweiligen Aufenthaltsort zu verstehen (z.B. "ich möchte es immer um 10:00 einnehmen, egal wo ich gerade bin"). Sie ändert sich nicht automatisch durch Reisen – das übernimmt das Reise-Setup (siehe unten).

🔔 Erinnerung – neu pro Medikament einstellbar:

  • Kanal: ✉️ E-Mail und/oder 🔔 Push – auch beides gleichzeitig ist möglich. Ist keines ausgewählt, springt die App sicherheitshalber auf E-Mail zurück, damit kein Medikament stumm bleibt.
  • Wie oft: entweder 📅 Wochentage (per Antippen der Tages-Kürzel Mo–So; sind alle ausgewählt, gilt das als "täglich") oder 🔁 Intervall – z.B. "alle 5 Tage" ab einem gewählten Ankerdatum. Das Ankerdatum selbst zählt als fälliger Tag, danach ist es immer wieder im selben Abstand fällig.
  • 🔁 Push wiederholen, bis quittiert: Ist das aktiviert, kommt die Push-Erinnerung in Intervallen erneut, bis die Dosis in der App als eingenommen oder ausgelassen markiert wurde (mehr dazu im Push-Abschnitt oben). Die E-Mail-Erinnerung ist davon nicht betroffen – die wird wie gehabt genau einmal pro Tag verschickt.
✈️ Reise-Setup

Hier legst du fest, wo du dich gerade aufhältst bzw. wohin du reist – das entscheidet, zu welcher deutschen Uhrzeit die Erinnerungs-Mail tatsächlich verschickt wird, damit sie zu deiner gewünschten Ortszeit ankommt.

Manuell hinzufügen: Name, Zeitzone und Startdatum eines Reiseziels eintragen – ab diesem Tag gilt diese Zeitzone, bis ein neuerer Eintrag sie ablöst.

🧙 Assistent – Schrittweise Zeitanpassung: Statt abrupt umzuschalten, kannst du dich über mehrere Tage hinweg gleitend an die neue Zeitzone gewöhnen (sinnvoll bei größeren Zeitverschiebungen). Der Assistent fragt:

  1. Wie heißt dein Reiseziel?
  2. Welche Zeitzone hat es? (inkl. Halb-/Viertelstunden-Zonen wie Indien +5:30 oder Myanmar +6:30)
  3. Ab wann soll die Anpassung beginnen, und über wie viele Tage?
  4. Optional: Rückreise gleich mitplanen (Ankunftsdatum + Dauer der Rück-Anpassung)?

Daraus wird automatisch eine Rampe berechnet – immer in festen 60-Minuten-Schritten pro Tag (nur der letzte Schritt zur exakten Zielzeitzone kann kleiner ausfallen, falls diese selbst keine volle Stunde ist, z.B. bei Myanmar).

Beispiel: Start in Deutschland (MESZ, UTC+2), Ziel Myanmar (UTC+6:30), 5 Tage Tag 1: UTC+2:00 Tag 2: UTC+3:00 Tag 3: UTC+4:00 Tag 4: UTC+5:00 Tag 5: UTC+6:00 Tag 6: UTC+6:30 (Ankunft)

Alle Etappen einer Reise (Hin- und ggf. Rückreise) gehören intern zu einer gemeinsamen "Reise-Gruppe". In der Liste "Geplante Standorte" werden sie deshalb zusammengefasst angezeigt – mit zwei Aktionen auf Gruppenebene:

  • ✏️ Bearbeiten öffnet den Assistenten erneut, vorausgefüllt mit deinen ursprünglichen Antworten, damit du einzelne Werte korrigieren kannst. Beim erneuten Speichern werden die alten Etappen ersetzt (nicht dupliziert).
  • 🗑️ Ganze Reise löschen entfernt alle Etappen dieser Reise auf einmal.

Jeder Standort-Eintrag zeigt außerdem eine live tickende Uhrzeit vor Ort sowie die Zeitdifferenz zu Deutschland (mit korrekter MEZ/MESZ-Berücksichtigung).

Achtung bei mehrfachen Testläufen: Jeder Assistenten-Durchlauf legt eine neue, eigenständige Reise an. Alte/nicht mehr benötigte Reisen werden nicht automatisch gelöscht – räume sie bei Bedarf über "🗑️ Ganze Reise löschen" auf, damit die Anzeige übersichtlich bleibt und keine veralteten Daten die Berechnung verfälschen.
📬 Wie wird die Versandzeit der Erinnerung berechnet?

Das ist das Herzstück der App, läuft aber komplett automatisch im Hintergrund (regelmäßig per Cronjob ausgeführt):

  1. Für jedes aktive Medikament wird die hinterlegte Ziel-Uhrzeit (Ortszeit) geladen.
  2. Für den heutigen Tag wird geprüft, welcher Reise-Eintrag (travel_log) gerade gültig ist (der mit dem letzten Startdatum, das nicht in der Zukunft liegt).
  3. Sonderfall: Heißt der Ort "Deutschland", "DE" oder enthält "Anpassung", wird die Ziel-Uhrzeit unverändert als deutsche Versandzeit verwendet (kein Umrechnen nötig, du bist ja schon "richtig" eingestellt).
  4. Andernfalls wird die Differenz zwischen der Zeitzone des Reise-Eintrags und der aktuell gültigen deutschen Zeit (MEZ im Winter, MESZ im Sommer – automatisch korrekt ermittelt) berechnet und von der Ziel-Uhrzeit abgezogen. Das Ergebnis ist die deutsche Serverzeit, zu der die Mail verschickt wird.
Beispiel: Ziel-Uhrzeit 10:00, Reiseziel-Zeitzone UTC+6:30, deutsche Zeit gerade UTC+2 (MESZ) Differenz: 6:30 - 2:00 = 4:30 Versandzeit (Deutschland): 10:00 - 4:30 = 05:30 Uhr → Die Mail kommt um 05:30 Uhr deutscher Serverzeit an - und das ist exakt der Moment, in dem es am Reiseziel 10:00 Uhr ist.

Auf diese Weise kommt die Erinnerung immer zur "gefühlt richtigen" Uhrzeit an, egal wo du gerade bist und egal ob gerade Sommer- oder Winterzeit in Deutschland ist.

🕐 Zeitzonen-Dashboard

Dieses Dashboard war früher die Startseite und ist jetzt über das Menü (☰) erreichbar. Es zeigt dir auf einen Blick:

  • Zeitzonen-Karte oben: die aktuelle Uhrzeit in Deutschland (live, inkl. MEZ/MESZ-Anzeige) im Vergleich zur Uhrzeit an deinem nächsten/aktuellen Reiseziel.
  • Tageskarten: für jeden Tag eine Liste deiner Medikamente mit zwei Uhrzeiten nebeneinander – Deutschland (die tatsächliche Versandzeit, siehe oben) und der Reiseziel-Name (die echte Ortszeit dort zum selben Zeitpunkt, mit der tatsächlichen Ziel-Zeitzone berechnet).
  • Der ursprünglich geplante Einnahmezeitpunkt steht zusätzlich in Klammern direkt im Medikamentennamen.
  • 📍 Aktiver Reise-Eintrag: unter jedem Datum siehst du, welcher travel_log-Eintrag für diesen Tag herangezogen wird – mit Info-Symbol (ℹ️) zum Erklärtext per Mouseover. Das ist deine visuelle Bestätigung, dass die Berechnung den richtigen Eintrag verwendet.
  • Abstand-Badge: zeigt den zeitlichen Abstand zur vorherigen Einnahme desselben Medikaments (grün = normal, gelb/rot = auffällig kurz/lang).
📊 Gesamtübersicht & 📅 Visuelle Zeitachse

Gesamtübersicht: eine tabellarische Langzeit-Ansicht – jede Zeile ein Tag, jede Spalte ein Medikament. Praktisch, um auf einen Blick zu prüfen, ob die Einnahme-Abstände über einen längeren Zeitraum stimmig sind, auch über Reisen hinweg.

Visuelle Zeitachse: ein Stundenraster (in 30-Minuten-Schritten, damit auch Halbstunden-Zeitzonen wie Myanmar exakt passen) mit zwei Kopfzeilen – Deutschland und dein Reiseziel – sowie deinen Medikamenten als farbige Kästchen zur jeweiligen Uhrzeit. Gut geeignet, um auf einen Blick zu sehen, wie nah Einnahmen beieinander liegen.

Kleine Einschränkung der Zeitachse: Echte Viertelstunden-Zeitzonen (z.B. Nepal +5:45) werden im Diagramm auf die nächste halbe Stunde gerundet. Die tatsächlichen Mail-Versandzeiten sind davon nicht betroffen - die bleiben überall exakt.
📖 Begriffe & technischer Hintergrund
  • Ziel-Uhrzeit / target_time: die Uhrzeit, zu der du das Medikament an deinem jeweiligen Aufenthaltsort einnehmen möchtest. Ändert sich nicht automatisch.
  • travel_log: die Tabelle, die festhält, wo du wann bist (Ortsname, Zeitzone, ab welchem Datum). Mehrere Einträge können zeitlich aufeinanderfolgen.
  • "Anpassung"-Sonderfall: Orte, deren Name "Anpassung" enthält (oder "Deutschland"/"DE"), werden beim Mail-Versand wie "zuhause" behandelt - keine Zeitumrechnung.
  • Reise-Gruppe (trip_group): fasst alle Etappen einer vom Assistenten angelegten Reise (Hin- und Rückreise-Rampe) zusammen, damit sie gemeinsam bearbeitet/gelöscht werden können.
  • MEZ/MESZ: Mitteleuropäische Zeit (Winter, UTC+1) bzw. Mitteleuropäische Sommerzeit (UTC+2). Wird überall automatisch korrekt anhand des Datums ermittelt, nicht fest hinterlegt.
  • UTC-Offset: der Zeitunterschied eines Ortes zur koordinierten Weltzeit (UTC), inkl. Halb-/Viertelstunden-Zonen (z.B. Indien +5:30, Nepal +5:45).
  • dose_log: die Tabelle, die für jede einzelne, konkrete Einnahme (Medikament + Tag + Uhrzeit) den Status festhält – offen, eingenommen oder ausgelassen. Darauf baut sowohl die "Heute"-Seite als auch die Push-Wiederholung auf.
  • Web Push / Service Worker: die Technik, mit der Benachrichtigungen ohne separate App aufs Handy kommen. Der "Service Worker" ist ein kleines Hintergrundskript, das im Browser installiert wird und Push-Nachrichten auch empfängt, wenn die App gerade nicht offen ist.
❓ Häufige Fragen

Warum zeigt die Reiseziel-Spalte während der Anpassungsphase nicht konstant meine geplante Uhrzeit?
Weil dort die echte Uhrzeit vor Ort zum jeweiligen Einnahme-Zeitpunkt berechnet wird (mit der tatsächlichen, finalen Zielzeitzone). Während du dich noch anpasst, weicht das bewusst von deiner Wunschzeit ab und nähert sich ihr Tag für Tag an - am letzten Tag der Rampe stimmt es exakt überein.

Ich sehe eine falsche oder veraltete Zeitzone im Dashboard - woran liegt das?
Meist an übrig gebliebenen alten Reise-Einträgen von früheren Testläufen. Schau unter Menü (☰) → ✈️ Reise-Setup bei "Geplante Standorte" nach doppelten/alten Reisen und entferne sie mit "🗑️ Ganze Reise löschen".

Was passiert, wenn ich gar keine Reise eingetragen habe?
Dann gilt automatisch deutsche Zeit (MEZ/MESZ) - die Ziel-Uhrzeit wird unverändert als Versandzeit verwendet.

Ich bekomme keine Push-Benachrichtigungen – woran liegt's?
Meist an einem der drei Punkte: (1) Unter Menü (☰) → 🔔 Push wurde bei "Dieses Gerät anmelden" die Erlaubnis noch nicht erteilt. (2) Beim Medikament ist unter "Erinnerung" nicht 🔔 Push ausgewählt. (3) Auf dem iPhone wurde die Seite nicht über "Zum Home-Bildschirm" installiert und von dort gestartet – ohne das funktioniert Push auf iOS grundsätzlich nicht.

Warum öffnet die Push-Benachrichtigung nur die App, statt direkt Buttons zum Bestätigen anzuzeigen?
Das ist bewusst so gelöst (siehe Push-Abschnitt oben) – Schnellaktions-Buttons direkt in der Benachrichtigung haben sich auf manchen Geräten als unzuverlässig erwiesen. Der Tipp auf die Benachrichtigung springt automatisch zum richtigen Medikament, bestätigt wird dann mit einem Tipp mehr in der App.