Android-Handy per Heartbeat in Uptime Kuma überwachen
Ein altes Android-Handy, das rund um die Uhr SMS empfängt, fällt irgendwann still aus. Mit einem Push-Monitor in Uptime Kuma und einem regelmäßigen Heartbeat erfährst Du sofort davon. Wir vergleichen vier kostenlose Wege, vom eingebauten Ping in SMSGate bis zu Termux…
Ein altes Android-Handy, das in der Schublade liegt und rund um die Uhr SMS empfängt, hat eine unangenehme Eigenschaft: Wenn es ausfällt, merkst Du es nicht. Der Akku ist leer, das WLAN hat sich verabschiedet oder Android hat die App im Hintergrund beendet, und der nächste Bestätigungscode kommt einfach nie an. Mit einem Push-Monitor in Uptime Kuma drehst Du das um: Das Handy meldet sich in festen Abständen, und bleibt das Lebenszeichen aus, schlägt Uptime Kuma Alarm.
Diese Anleitung baut direkt auf dem Artikel Altes Android-Handy als SMS-Gateway für Verifizierungen auf, funktioniert aber genauso für jedes andere Android-Gerät, das dauerhaft laufen soll. Wir schauen uns vier kostenlose Wege an, vergleichen sie ehrlich und am Ende bekommst Du eine klare Empfehlung.
Wie der Push-Monitor funktioniert
Normalerweise fragt Uptime Kuma selbst bei einem Dienst nach, ob er erreichbar ist. Ein Handy im Heimnetz ist von außen aber nicht erreichbar, deshalb geht es hier andersherum. Beim Monitortyp Push erzeugt Uptime Kuma eine geheime Adresse und wartet darauf, dass Dein Gerät sie regelmäßig aufruft. Jeder Aufruf zählt als Heartbeat. Kommt innerhalb des eingestellten Intervalls kein Aufruf an, gilt der Monitor als ausgefallen, und Du bekommst eine Benachrichtigung über Telegram, E-Mail oder einen anderen der vielen Kanäle, die Uptime Kuma unterstützt.
Die Push-Adresse nimmt laut Quellcode von Uptime Kuma jede HTTP-Methode an, also sowohl einen einfachen GET-Aufruf als auch einen POST mit Inhalt. Genau das macht die einfachste Variante weiter unten möglich.
Schritt 1: Den Push-Monitor in Uptime Kuma anlegen
Dieser Schritt ist für alle Varianten gleich.
- Öffne Dein Uptime-Kuma-Dashboard und klicke auf
Neuen Monitor hinzufügen. - Wähle als
Monitortypden EintragPush. - Gib unter
Anzeigenameeinen Namen ein, zum BeispielSMS-Handy Schublade. - Stelle das
Heartbeat-Intervallauf600Sekunden. - Kopiere die angezeigte
Push-URL, hinterlege unterBenachrichtigungenDeinen gewünschten Kanal und klicke aufSpeichern.
Die Push-URL sieht etwa so aus: https://status.deinedomain.de/api/push/AbC123xYz?status=up&msg=OK&ping=. Die Parameter am Ende sind optional, Du kannst sie stehen lassen.
Das Intervall von zehn Minuten ist bewusst großzügig. Android führt Hintergrundaufgaben nie auf die Sekunde genau aus, und ein Heartbeat, der ein paar Minuten zu spät kommt, soll keinen Fehlalarm auslösen. Schickt das Handy alle fünf Minuten ein Lebenszeichen, darf also eines ausfallen, ohne dass Du geweckt wirst.
Schritt 2: Akku-Optimierung abschalten
Egal, welche Variante Du wählst: Die App, die den Heartbeat sendet, muss von der Akku-Optimierung ausgenommen sein. Sonst legt Android sie nach einiger Zeit schlafen, und Uptime Kuma meldet einen Ausfall, obwohl das Handy eigentlich läuft.
Auf aktuellen Android-Versionen und bei Samsung öffnest Du Einstellungen > Apps > [App-Name] > Akku und wählst Nicht eingeschränkt. Bei Pixel-Geräten heißt der Punkt App-Akkunutzung. Auf Android 6 bis 11 findest Du die Einstellung meist unter Einstellungen > Akku > Akkuoptimierung, wo Du Alle Apps einblendest und die App auf Nicht optimieren setzt. Bei Samsung darf die App außerdem unter Einstellungen > Akku > Hintergrundnutzungsgrenzen weder in Apps im Standby-Modus noch in Apps im Tiefschlaf stehen. Ältere Versionen vor Android 6 kennen diese Optimierung noch nicht, dort entfällt der Schritt.
Variante 1: Der eingebaute Ping von SMSGate
Android selbst bringt keine Funktion mit, um regelmäßig eine Webadresse aufzurufen. Auch Samsungs Modi und Routinen können keine HTTP-Anfragen senden. Wenn auf Deinem Handy aber ohnehin SMSGate läuft, hast Du das passende Bordmittel schon installiert: Die App kann in festen Abständen ein Lebenszeichen als Webhook mit dem Event system:ping verschicken. Laut Ping-Doku funktioniert das im Cloud- und im Private-Server-Modus.
Öffne in SMSGate die Einstellungen (Settings) und trage im Abschnitt Ping unter Interval (seconds) den Wert 300 ein. Damit sendet die App alle fünf Minuten ein Lebenszeichen. Ein leeres Feld oder 0 schaltet die Funktion wieder ab.
Danach registrierst Du die Push-URL von Uptime Kuma als Webhook für dieses Event. Das geht genauso wie beim SMS-Webhook, nur mit einem anderen Event-Namen:
curl -X POST -u "BENUTZERNAME:PASSWORT" \
-H "Content-Type: application/json" \
-d '{ "url": "https://DEINE-PUSH-URL", "event": "system:ping" }' \
https://api.sms-gate.app/3rdparty/v1/webhooksErsetze BENUTZERNAME und PASSWORT durch die Zugangsdaten aus dem Bereich Cloud Server der App und https://DEINE-PUSH-URL durch die kopierte Push-URL. Setz die ganze URL in Anführungszeichen, so wie im Beispiel, dann stören die Zeichen ? und & nicht. Nach kurzer Zeit erscheint in Uptime Kuma der erste grüne Balken.
Der große Vorteil dieser Variante: Sie prüft nicht nur, ob das Handy an ist, sondern ob genau die App läuft, auf die es Dir ankommt. Ein Blick in den Quellcode zeigt außerdem, dass SMSGate den Ping in einem eigenen Vordergrunddienst mit Wake-Lock sendet, Android hält das Gerät also für diesen Zweck wach. SMSGate läuft ab Android 5.0. Der Nachteil: Der Ping kostet etwas mehr Akku, und Uptime Kuma muss per HTTPS mit gültigem Zertifikat erreichbar sein, weil die normale Version von SMSGate keine unverschlüsselten Adressen anspricht.
Variante 2: Automate als kostenlose App aus dem Play Store
Wenn auf dem Handy kein SMSGate läuft, brauchst Du eine App, die regelmäßig eine URL aufruft. Die bekannten Automatisierungs-Apps scheiden dabei teilweise aus: MacroDroid zeigt in der Gratisversion Werbung und begrenzt die Zahl der Makros, Tasker kostet Geld. Eine gute kostenlose Wahl ist Automate von LlamaLab. Die Gratisversion hat laut Hersteller nur eine Einschränkung, nämlich höchstens 30 gleichzeitig laufende Blöcke, und ein Heartbeat braucht davon gerade einmal drei.
In Automate baust Du einen sogenannten Flow aus Blöcken zusammen:
- Lege einen neuen Flow an. Er beginnt automatisch mit dem Block
Flow beginning. - Füge den Block
HTTP requesthinzu und trage unterRequest URLdie Push-URL ein. - Hänge einen
Delay-Block mit300Sekunden an und verbinde seinen Ausgang zurück mit demHTTP request-Block, damit eine Schleife entsteht. - Speichere den Flow und starte ihn mit
Start.
Aktiviere zusätzlich in den Einstellungen von Automate die Option Run on system startup. Dann startet die App nach einem Neustart des Handys mit und setzt Flows fort, die vorher liefen, sodass ein Stromausfall die Überwachung nicht dauerhaft beendet.
Automate läuft auch auf sehr alten Android-Versionen und ist mächtig genug, um später weitere Prüfungen einzubauen, etwa den Akkustand. Dafür ist der Flow-Editor anfangs ungewohnt, und der Quellcode ist nicht offen.
Variante 3: HTTP Shortcuts als Open-Source-App
HTTP Shortcuts ist eine schlanke Open-Source-App unter MIT-Lizenz, ohne Werbung und komplett kostenlos, erhältlich im Play Store und bei F-Droid. Eigentlich ist sie dafür gedacht, Webaufrufe per Knopfdruck auszulösen, sie kann einen Shortcut aber auch regelmäßig wiederholen.
- Lege mit dem Plus-Symbol einen neuen HTTP-Shortcut an, wähle die Methode
GETund trage die Push-URL ein. - Öffne im Shortcut-Editor die
Auslöse- & Ausführeinstellungen. - Wähle unter
Wiederholt ausführendie OptionAlle 10 Minuten wiederholen. - Erlaube der App anschließend, über anderen Apps angezeigt zu werden. Die App fragt selbst danach, weil die Wiederholung sonst nicht zuverlässig läuft.
Die Einrichtung dauert keine zwei Minuten. Der Haken: Zehn Minuten sind das kürzeste Intervall, und die App weist selbst darauf hin, dass die Wiederholung wegen Androids Energiesparfunktionen um mehrere Minuten abweichen kann. Stell das Heartbeat-Intervall in Uptime Kuma deshalb auf 1800 Sekunden. Außerdem setzt die aktuelle Version mindestens Android 8 voraus.
Variante 4: Termux mit einem kleinen Skript
Für Bastler ist Termux die flexibelste Lösung, eine vollständige Linux-Kommandozeile für Android. Installiere Termux und das Zusatzmodul Termux:Boot aus derselben Quelle, am besten beide aus F-Droid. Die Entwickler warnen ausdrücklich davor, die Quellen zu mischen, weil die Apps sonst nicht zusammenarbeiten. Öffne Termux:Boot nach der Installation einmal, damit es beim Systemstart mitläuft.
Installiere in Termux zuerst die nötigen Werkzeuge:
pkg install curl nanoLege danach den Ordner an, aus dem Termux:Boot beim Start Skripte ausführt, und öffne eine neue Skriptdatei:
mkdir -p ~/.termux/boot
nano ~/.termux/boot/heartbeat.shFüge diesen Inhalt ein und ersetze DEINE-PUSH-URL durch Deine Push-URL:
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
while true
do
curl -fsS -m 30 "https://DEINE-PUSH-URL" > /dev/null
sleep 300
doneSpeichere mit Strg + O, bestätige mit Enter und schließe den Editor mit Strg + X. Die Tasten Strg findest Du in der Zusatzleiste über der Tastatur. Mach das Skript zum Schluss ausführbar:
chmod +x ~/.termux/boot/heartbeat.shNach dem nächsten Neustart des Handys läuft das Skript automatisch. termux-wake-lock verhindert, dass Android den Prozess schlafen legt, curl ruft alle fünf Minuten die Push-URL auf und bricht nach spätestens 30 Sekunden ab, falls das Netz hängt. Termux braucht für den vollen Funktionsumfang Android 7, für Android 5 und 6 gibt es auf GitHub eine eingeschränkte Sonderversion ohne Paket-Updates.
Die Varianten im Vergleich
| Variante | Kosten und Lizenz | Android ab | Intervall | Aufwand | Prüft die SMS-App mit |
|---|---|---|---|---|---|
| SMSGate-Ping | kostenlos, Open Source | 5.0 | frei wählbar | sehr gering | ja |
| Automate | kostenlos, nicht quelloffen | sehr alte Versionen | frei wählbar | mittel | nein |
| HTTP Shortcuts | kostenlos, Open Source | 8.0 | ab 10 Minuten, ungenau | sehr gering | nein |
| Termux + Termux:Boot | kostenlos, Open Source | 7.0 | frei wählbar | höher | nein |
Bei allen Varianten, die nicht SMSGate selbst sind, siehst Du nur, dass das Handy lebt und online ist. Ob die SMS-Weiterleitung im Hintergrund noch läuft, verrät Dir dann erst die nächste ausbleibende SMS.
Meine Empfehlung
Wenn Dein Handy als SMS-Gateway mit SMSGate läuft, nimm den eingebauten Ping. Du installierst nichts zusätzlich, trägst einen Wert ein, registrierst einen Webhook und bist fertig. Weil die App den Ping in einem Vordergrunddienst mit Wake-Lock sendet, läuft er verlässlich, und als einzige Variante meldet er Dir genau das, was Dich eigentlich interessiert: ob die SMS-App noch arbeitet.
Für ein Handy ohne SMSGate ist HTTP Shortcuts der einfachste Weg, solange es mindestens Android 8 hat und Dir eine Ausfallmeldung innerhalb einer halben Stunde reicht. Auf älteren Geräten oder wenn es genauer sein soll, greifst Du zu Automate. Termux lohnt sich nur, wenn Du ohnehin gern auf der Kommandozeile arbeitest.
Weiterlesen.
-
Web & CodeAltes Android-Handy als SMS-Gateway für Verifizierungen
Mit einem alten Android-Handy, einer Prepaid-Karte und der kostenlosen App SMSGate empfängst Du Bestätigungscodes von PayPal, Google, Instagram und Co., ohne Deine Hauptnummer herzugeben. Jede SMS landet per Webhook bei Dir, etwa als Telegram-Nachricht über n8n oder Make…
Sonoya Redaktion -
Web & CodeClickHouse selbst hosten: Analysen in Millisekunden
ClickHouse beantwortet Auswertungen über Milliarden Zeilen in Sekundenbruchteilen, liegt unter Apache 2.0 auf GitHub und läuft mit einem Docker-Befehl. Was die Datenbank anders macht, warum sie gerade überall auftaucht und wofür sie sich lohnt…
Sonoya Redaktion -
Web & CodeAirbyte selbst hosten: Daten automatisch zusammenführen
Airbyte holt Daten aus über 600 Quellen wie Stripe, HubSpot oder Postgres und schreibt sie automatisch dorthin, wo Du sie auswerten willst. Was das Tool leistet, warum es gerade so beliebt wird und wie Du es mit einem Befehl selbst hostest…
Sonoya Redaktion -
Web & CodeAnleitung: linkding mit Docker selbst hosten
Deine Lesezeichen liegen verstreut in mehreren Browsern und werden über fremde Clouds synchronisiert? linkding ist ein minimalistischer, selbst gehosteter Bookmark-Manager. Hier richtest Du ihn Schritt für Schritt mit Docker auf Deinem eigenen Server ein, vom Container bis zur Browser-Erweiterung…
Sonoya Redaktion -
Web & CodeAnleitung: Linkwarden mit Docker selbst hosten
Linkwarden sammelt Deine Lesezeichen, liest Artikel im Reader-Modus und archiviert jede Seite als Screenshot, PDF und HTML. So richtest Du den Open-Source-Bookmark-Manager mit Docker Compose auf Deinem eigenen Server ein, damit alle Daten bei Dir bleiben …
Sonoya Redaktion -
Web & CodeLinkding vs Linkwarden: Zwei selbst-gehostete Bookmark-Manager im Vergleich
In der heutigen digitalen Welt, in der wir täglich auf unzählige interessante Webseiten stoßen, wird die effiziente Verwaltung von Lesezeichen immer wichtiger. Zwei bemerkenswerte Open-Source-Tools, die sich dieser Herausforderung annehmen, sind Linkding und Linkwarden. Beide…
Sonoya Redaktion