Benachrichtigungen
Node64 meldet Störungen und Entwarnungen über E-Mail, Telegram, Discord, Slack, Microsoft Teams, Matrix, ntfy, Gotify (auch aufs iPhone über iGotify), SecNtfy (Ende-zu-Ende verschlüsselt), Pushover, Home Assistant, Webhooks und direkt im Browser – mit verknüpftem ipv64.net-Account auch per E-Mail und SMS über ipv64. Eingebaute Mechanismen sorgen dafür, dass aus einer Störung keine Nachrichtenflut wird.
So funktioniert es
- Unter Benachrichtigungen legst du Kanäle an, zum Beispiel „Telegram privat“ oder „E-Mail Familie“.
- Jeder Check meldet an die Kanäle, die du in seinem Formular auswählst. Ohne Auswahl bekommt er alle Standardkanäle.
- Je Check legst du fest, ob er bei Störung und/oder bei Erholung meldet. Dieselben Schalter gibt es auch je Kanal – beide müssen passen.
- Auch andere Module melden über die Standardkanäle, etwa DynDNS bei einem Adresswechsel, DNS64, die Zertifikate und PROXY64.
Geheimnisse wie Bot-Tokens und Passwörter speichert Node64 verschlüsselt in der Datenbank (Schlüssel in /data/secret.key) und maskiert sie in den Logs.


Kanal anlegen
- Neuen Kanal anlegen
Unter Benachrichtigungen → Neuer Kanal den Typ wählen und einen Namen vergeben. - Zugangsdaten eintragen
Was jeder Kanal braucht, steht unten unter Kanäle im Detail. - Optionen setzen
Aktiv, Standard (für alle Checks ohne eigene Auswahl), Sprache der Nachrichten, Bei Störung und Bei Erholung. - Test senden
Mit Test senden prüfst du sofort, ob die Nachricht ankommt. Tests zählen nicht gegen die Höchstzahl je Stunde und kommen auch in Ruhezeiten durch.
Jeder Versand landet im Zustellprotokoll mit Kanal, Betreff und Ergebnis. Schlägt ein Versand fehl, zeigt der Kanal den letzten Fehler an.
Damit Nachrichten einen Link zum Check enthalten, trägst du in den Einstellungen der Benachrichtigungen unter Allgemein die externe Adresse der Node ein, z. B. https://node.example.com. Bleibt das Feld leer, verschickt Node64 keine Links.
Kanäle im Detail
| Kanal | Versand durch | Braucht |
|---|---|---|
| Browser | Node | eine geöffnete Node64-Seite |
| E-Mail (SMTP) | Node | einen SMTP-Server |
| Telegram | Node | Bot-Token und Chat-ID |
| Discord | Node | Webhook-URL |
| Slack | Node | Webhook-URL einer Slack-App |
| Microsoft Teams | Node | Webhook-URL eines Workflows |
| Matrix | Node | Homeserver, Zugriffstoken eines Bots und Raum |
| ntfy | Node | Server und Topic |
| Gotify | Node | Server und App-Token |
| SecNtfy (verschlüsselt) | Node | Geräte-Token aus der SecNtfy-App |
| Pushover | Node | User-Key und App-Token |
| Webhook | Node | eine URL |
| Home Assistant | Node | Adresse und Webhook-ID einer Automation |
| E-Mail über ipv64 | ipv64.net | verknüpfte Node bzw. API-Key, per Code bestätigte Adresse |
| SMS über ipv64 | ipv64.net | verknüpfte Node bzw. API-Key, per Code bestätigte Nummer; Tageskontingent je Klasse, bei Business und Company unbegrenzt |
Browser
Störungen und Entwarnungen erscheinen als Systembenachrichtigung direkt im Browser – ganz ohne E-Mail oder App.
- Einen Kanal vom Typ Browser anlegen. Er gilt wie jeder andere Kanal für die ausgewählten Checks.
- In jedem Browser, der melden soll, auf der Benachrichtigungsseite In diesem Browser einschalten wählen und die Nachfrage des Browsers erlauben.
- Optional Ton abspielen: Die geöffnete Seite spielt zusätzlich einen kurzen Ton (Störung tief, Erholung hoch). Browser erlauben Ton erst, nachdem die Seite einmal angeklickt wurde.
Es kommt nur etwas an, solange eine Node64-Seite in diesem Browser geöffnet ist – ein Hintergrund-Tab reicht. Systembenachrichtigungen erlauben Browser nur über HTTPS oder localhost; sonst erscheinen die Meldungen unten rechts in der geöffneten Seite.
E-Mail (SMTP)
| Feld | Standard | Hinweis |
|---|---|---|
| SMTP-Server | – | z. B. smtp.example.com |
| Port | 587 | typisch 587 mit STARTTLS, 465 mit TLS |
| Verschlüsselung | – | STARTTLS, TLS oder keine |
| Benutzer, Passwort | – | Zugangsdaten deines Postfachs |
| Absender | – | z. B. node64@example.com |
| Empfänger | – | mehrere Adressen mit Komma trennen |
Keinen eigenen Mailserver? Dann nimm E-Mail über ipv64.
Telegram
- In Telegram den @BotFather öffnen, mit
/newboteinen Bot anlegen und das Bot-Token kopieren. - Deinem neuen Bot einmal eine Nachricht schreiben (oder ihn in eine Gruppe aufnehmen und dort etwas schreiben).
- Die Chat-ID findest du, indem du im Browser
https://api.telegram.org/botDEIN_BOT_TOKEN/getUpdatesaufrufst – sie steht bei"chat":{"id":…}. Gruppen haben negative IDs. - Bot-Token und Chat-ID in Node64 eintragen. Mit Ohne Ton zustellen kommen die Nachrichten lautlos an.
Discord
- In Discord unter Servereinstellungen → Integrationen → Webhooks einen neuen Webhook für den gewünschten Kanal anlegen.
- Die Webhook-URL kopieren und in Node64 eintragen.
- Optional einen Anzeigenamen setzen, unter dem die Nachrichten erscheinen.
Slack
- Auf api.slack.com/apps Create New App → From scratch wählen, Namen und Workspace angeben.
- Unter Incoming Webhooks den Schalter einschalten und Add New Webhook to Workspace klicken.
- Den Kanal wählen, in den Node64 schreiben soll.
- Die URL
https://hooks.slack.com/services/…kopieren, in Node64 als Webhook-URL eintragen (nurhttps) und mit Test prüfen.
Die Nachricht hat eine farbige Leiste (rot bei Störung, grün bei Entwarnung, orange bei „Achtung“), den Titel fett, den Text und einen Knopf Details.
Microsoft Teams
- Im Teams-Kanal auf … → Workflows klicken.
- Die Vorlage Bei Empfang einer Webhookanforderung in einem Kanal posten wählen (englisch: Post to a channel when a webhook request is received).
- Team und Kanal auswählen und den Workflow anlegen.
- Die angezeigte URL kopieren, in Node64 als Webhook-URL eintragen und mit Test prüfen.
Gesendet wird eine Adaptive Card mit farbigem Titel, Text und Details. Name und Symbol des Absenders lassen sich bei Workflows nicht ändern.
Die alten Office-365-Connectoren („Eingehender Webhook“) funktionieren seit Mai 2026 nicht mehr. Node64 braucht eine URL aus Workflows.
Matrix
- Ein eigenes Bot-Konto auf deinem Homeserver anlegen – nicht dein persönliches Konto.
- Den Bot in den Raum einladen und die Einladung annehmen: dazu dich mit dem Bot in Element anmelden.
- Das Zugriffstoken des Bots holen: Element → Einstellungen → Hilfe & Info → Zugriffstoken. Danach in Element nicht abmelden – sonst wird das Token ungültig.
- In Node64 eintragen: Server (Standard
https://matrix.org), Zugriffstoken (wird verschlüsselt gespeichert) und Raum – die Raum-ID!abc:server(Raumeinstellungen → Erweitert) oder ein Alias#raum:server. Dann mit Test prüfen.
Gesendet wird eine m.notice mit HTML: farbiger Titel, Text und Link Details. Das funktioniert mit jedem Homeserver, etwa Synapse, Conduit oder matrix.org – auch selbst betrieben.
Ende-zu-Ende-verschlüsselte Räume (E2EE) werden nicht unterstützt. Nimm für Node64 einen Raum ohne Verschlüsselung.
ntfy
| Feld | Standard | Hinweis |
|---|---|---|
| Server-URL | https://ntfy.sh | oder dein eigener ntfy-Server |
| Topic | – | das Thema, das du in der ntfy-App abonnierst |
| Zugriffstoken oder Benutzer/Passwort | – | für geschützte Topics |
| Priorität bei Störung | 4 | |
| Priorität bei Erholung | 3 |
Auf dem öffentlichen Server kann typischerweise jeder mitlesen, der den Namen eines Topics kennt. Wähle deshalb einen schwer zu erratenden Namen oder nutze einen eigenen Server mit Zugriffsschutz. Ein ntfy-Server im Heimnetz hat noch einen Vorteil: Er meldet auch dann, wenn dein Internet ausfällt.
Gotify
- In deinem Gotify-Server unter Apps eine neue Anwendung anlegen und deren Token kopieren.
- In Node64 die Server-URL (z. B.
https://gotify.example.com) und das App-Token eintragen. - Die Priorität ist standardmäßig 5.
Aufs iPhone mit iGotify: iGotify bringt Nachrichten eines Gotify-Servers als Apple-Push aufs iPhone. Dazu läuft neben Gotify der iGotify-Assistent, auf dem iPhone die App iGotify – siehe die Anleitung im Projekt. In Node64 nimmst du dafür einfach den normalen Gotify-Kanal; der Link zur Störung kommt als Klick-Ziel mit (client::notification), ein Tippen auf die Mitteilung öffnet ihn. Ein herzliches Dankeschön an das Community-Mitglied, das iGotify entwickelt!
Frühere Kanäle vom Typ „iGotify (iPhone)“ stellt das Update auf Healthchecks 2.27.1 automatisch auf Gotify um.
SecNtfy (Ende-zu-Ende verschlüsselt)
SecNtfy stellt Push-Nachrichten Ende-zu-Ende verschlüsselt zu: Titel und Text werden mit dem öffentlichen RSA-Schlüssel deines Geräts verschlüsselt, nur das Gerät kann sie lesen.
- In der SecNtfy-App den Geräte-Token kopieren (
NTFY-DEVICE-…). - In Node64 einen Kanal SecNtfy (verschlüsselt) anlegen und den Token eintragen; er wird verschlüsselt gespeichert. Der Server ist mit
https://api.secntfy.appvorbelegt und lässt sich ändern. - Optional Störungen als kritischen Alarm senden einschalten: gilt für Störung, Erinnerung und Zusammenfassung – kritische Alarme kommen auch im Lautlos- und Fokus-Modus durch. Dann mit Test prüfen.
Ein verschlüsselter Block fasst wenig: Bei SecNtfy wird der Text auf höchstens 150 Zeichen gekürzt und der Titel passend zum Schlüssel (245 Byte bei RSA-2048), jeweils mit „...“. Alle anderen Kanäle bekommen die volle Meldung. SecNtfy gibt es in der Node und im ipv64.net-Portal; die API v2 kennt den Typ secntfy.
Pushover
| Feld | Standard | Hinweis |
|---|---|---|
| User-Key | – | steht in deinem Pushover-Dashboard |
| App-Token | – | legst du in Pushover als eigene Anwendung an |
| Gerät | – | optional; leer = alle Geräte |
| Priorität bei Störung | 1 | |
| Priorität bei Erholung | 0 |
Setzt du eine Priorität auf 2 (Notfall), ergänzt Node64 automatisch die Pflichtangaben: Wiederholung alle 60 Sekunden, Ablauf nach 3600 Sekunden.
Webhook
| Feld | Standard | Hinweis |
|---|---|---|
| URL | – | Ziel der Anfrage |
| Methode | POST | POST, PUT oder GET |
| Header | – | eine Zeile je Header, z. B. Authorization: Bearer DEIN_TOKEN |
| Eigener Body | leer = JSON-Payload | mit Platzhaltern, siehe Webhook-Format |
| Zertifikatsfehler ignorieren | aus | für Ziele mit selbstsigniertem Zertifikat |
Mit dem eigenen Body bindest du viele weitere Dienste an, die Webhooks annehmen – etwa Chat-Systeme oder Home-Automation.
Home Assistant
Der Kanal Home Assistant löst eine Automation über ihren Webhook-Auslöser aus: POST <URL>/api/webhook/<Webhook-ID> mit JSON. So kann eine Störung in Node64 zum Beispiel eine Push-Nachricht aufs Handy schicken oder eine Lampe rot schalten.
- Automation anlegen
In Home Assistant eine Automation mit dem Auslöser Webhook (Methode POST) anlegen und die Webhook-ID kopieren. - Kanal anlegen
In Node64 unter Benachrichtigungen einen Kanal Home Assistant anlegen, Adresse und Webhook-ID eintragen und mit Testen prüfen.
| Feld | Standard | Hinweis |
|---|---|---|
| URL | – | Adresse von Home Assistant ohne Pfad, z. B. http://homeassistant.local:8123 |
| Webhook-ID | – | wie ein Passwort: verschlüsselt gespeichert, erscheint in keinem Fehlertext |
| Zertifikat prüfen | an | für ein selbst signiertes Zertifikat im LAN abschalten |
- Gesendet wird nur von der Node, nie vom ipv64-Server – Nur lokal (
local_only) kann in Home Assistant also an bleiben. - Home Assistant antwortet auf jede Webhook-ID mit 200. Ob die Automation lief, zeigt ihr Verlauf in Home Assistant.
- Netzwerkfehler und HTTP 5xx versucht Node64 nach 1, 5 und 15 Minuten erneut.
Unter trigger.json stehen: source (immer node64), kind (wie beim Webhook, z. B. down, up, test, dyndns_fail), state (down, up, degraded, unchecked, test oder info), title, message, url, time (RFC 3339, UTC), priority (1–5), event_id, check (name, token, type, target, critical; beim Test leer) und node (Name der Node).
Push-Nachricht aufs Handy (Syntax ab Home Assistant 2024.10):
alias: Node64-Meldung
triggers:
- trigger: webhook
webhook_id: node64-xyz # eigene ID
allowed_methods: [POST]
local_only: true
actions:
- action: notify.mobile_app_dein_handy
data:
title: "{{ trigger.json.title }}"
message: "{{ trigger.json.message }}"Bei einer Störung eine Lampe rot schalten:
alias: Node64-Störung rot
triggers:
- trigger: webhook
webhook_id: node64-xyz
allowed_methods: [POST]
local_only: true
conditions:
- condition: template
value_template: "{{ trigger.json.state == 'down' }}"
actions:
- action: light.turn_on
target:
entity_id: light.flur
data:
color_name: redE-Mail und SMS über ipv64
Mit hinterlegtem API-Key oder verknüpfter Node übernimmt ipv64 die Zustellung – ganz ohne eigenen Mailserver oder SMS-Anbieter.
- Kanal anlegen
Unter Benachrichtigungen → Neuer Kanal E-Mail über ipv64 bzw. SMS über ipv64 wählen und die Adresse bzw. die Mobilnummer mit Ländervorwahl eintragen, z. B.+49 177 1234567. - Bestätigen
Eine neue Adresse oder Nummer muss bestätigt werden: Auf der Seite Kanal bestätigen auf Code senden klicken und den 6-stelligen Code direkt in der Node eingeben. Unbestätigte Kanäle tragen das Badge „unbestätigt“ mit Link dorthin. - Nutzen
Der Kanal steht in der normalen Kanaltabelle mit dem Badge „ipv64“ und lässt sich dort bearbeiten, an- und ausschalten, als Standard setzen, testen und löschen.
- Die Kanäle liegen bei ipv64 und gelten für den ganzen Account – auch auf ipv64.net.
- SMS: Das Tageslimit hängt von deiner Account-Klasse ab; der Kanal zeigt „Heute noch x von y SMS übrig“. Bei Business und Company ist es unbegrenzt („SMS: unbegrenzt in deiner Account-Klasse“).
- Ohne Healthchecks-Verknüpfung gehen über den API-Key alle Meldungen – auch die der Healthchecks, nicht nur die der Module – an die Standardkanäle deines ipv64-Accounts: E-Mail, SMS und die ipv64-App.
- Mit Healthchecks-Verknüpfung erscheinen die Kanäle wie bisher über den Sync, und die Healthchecks-Meldungen laufen über ipv64 (siehe Wer verschickt die Nachricht?).
- Ohne API-Key und Verknüpfung erscheinen diese Kanäle mit dem Hinweis „nach Verknüpfung oder mit API-Key“.
- Per API v2:
POST /hc2/channels/{id}/verify/sendschickt den Code,POST /hc2/channels/{id}/verifybestätigt ihn.
Sprache je Kanal
Jeder Kanal hat seine eigene Sprache der Nachrichten: Deutsch oder Englisch. So kann dieselbe Störung auf Deutsch an dein Handy und auf Englisch an einen Team-Webhook gehen – unabhängig von der Sprache der Oberfläche. Übersetzt ist alles, auch der Grund einer Störung und die Meldungen von DynDNS und Cluster; Mails tragen einen Statusbalken passend zum Betreff.
Ereignisarten
Jede Nachricht hat eine Art (kind). Im Webhook-JSON kommt sie als Feld mit.
kind | Wann | status |
|---|---|---|
down | Check ist gestört | down |
up | Check ist wieder OK (mit Dauer der Störung) | up |
flapping_start, flapping_end | Check flattert bzw. ist wieder stabil | down / up |
degraded, degraded_end | teilweise gestört bzw. wieder vollständig erreichbar (nur wenn je Check eingeschaltet) | degraded / up |
unchecked, rechecked | Check wird nicht mehr bzw. wieder geprüft | unchecked / up |
reminder | Erinnerung: weiterhin gestört | down |
summary, summary_up | Sammelmeldung für mehrere Störungen bzw. Entwarnungen | eigenes Format |
test | Testnachricht | eigenes Format |
quota | Tageskontingent der Online-Messungen erreicht | eigenes Format |
Dazu kommen Meldungen anderer Module, etwa dyndns_ip, dyndns_fail, dns64_upstream, cert_expiry, cdn64_online_down, cluster_down oder cluster_up (Node des Clusters nicht erreichbar bzw. wieder da), honeypot_login (Angriff auf die Anmeldung) und die Proxmox-Arten proxmox_down, proxmox_up, proxmox_threshold, proxmox_threshold_ok und proxmox_restarted. Sie haben ein eigenes, schlankeres JSON.
Webhook-Format und Platzhalter
Ohne eigenen Body schickt der Webhook ein JSON mit dem Content-Type application/json. Beispiel für eine Störung des Checks „Nextcloud“:
{
"event_id": "…",
"kind": "down",
"status": "down",
"time": "2026-10-19T08:15:00Z",
"check": {
"token": "CHECK_TOKEN",
"name": "Nextcloud",
"type": "keyword",
"target": "https://cloud.example.com/status.php",
"critical": false
},
"reason": "keyword_missing",
"message": "…",
"duration_seconds": 0,
"flaps": 0,
"node": {"name": "Node64", "location": "Zuhause"},
"url": "https://node.example.com/healthchecks/CHECK_TOKEN",
"title": "🔴 Nextcloud ist gestört",
"text": "Check: Nextcloud (Keyword)\n…"
}event_idist je Ereignis eindeutig – praktisch, um Doppelte zu erkennen.reasonist ein maschinenlesbarer Grund wietimeout,dns_failed,tls_failed,status_mismatch,keyword_missing,packet_loss,cert_expiring,push_missingodercontainer_unhealthy.duration_secondsist bei der Erholung die Dauer der Störung,flapsdie Zahl der Wechsel beim Flattern.urlist nur gefüllt, wenn die externe Adresse der Node eingetragen ist.
Sammelmeldungen haben ein eigenes, kürzeres JSON mit kind, count, checks (Namen), node, time, title und text.
Eigener Body mit Platzhaltern
Im Feld Eigener Body kannst du das Format selbst bestimmen. Node64 ersetzt diese Platzhalter:
| Platzhalter | Inhalt |
|---|---|
{{title}} | Betreff, z. B. „🔴 Nextcloud ist gestört“ |
{{text}} | der ganze Nachrichtentext |
{{name}} | Name des Checks |
{{status}} | down, up, degraded oder unchecked |
{{kind}} | Ereignisart, siehe oben |
{{reason}} | maschinenlesbarer Grund |
{{message}} | Meldung der Messung |
{{url}} | Link zum Check |
{{token}} | Token des Checks |
{{time}} | Zeitpunkt |
{{event_id}}, {{type}}, {{target}} | Ereignis-ID, Check-Typ, Ziel |
Die Werte werden JSON-sicher eingesetzt, Anführungszeichen und Zeilenumbrüche zerstören dein JSON also nicht. Beginnt der Body mit {, geht er als application/json raus, sonst als text/plain.
{"text": "{{title}}\n{{message}}\n{{url}}"}{{title}} – {{reason}} ({{time}})Schutz vor Alarmrauschen
Ein kurzer Aussetzer, ein neu startender Router oder ein Wartungsabend sollen dich nicht mit Nachrichten überschütten. Diese Mechanismen greifen ineinander:
| Mechanismus | Wirkung | Standard |
|---|---|---|
| Wiederholungen vor Alarm | erst nach mehreren Fehlschlägen in Folge alarmieren; dazwischen misst der Check im kürzeren Intervall bei Störung | 1 Wiederholung, 20 s |
| Stabilisierung | erst nach mehreren Erfolgen in Folge „wieder OK“; ein Rückfall in dieser Zeit löst keinen neuen Alarm aus | 3 Erfolge |
| Flatter-Erkennung | ab 3 Wechseln in 15 Minuten eine Meldung „flattert“ statt vieler; Ende nach 15 Minuten Ruhe | immer aktiv |
| Übergeordnete Checks | abhängige Checks schweigen, solange der übergeordnete gestört ist | je Check |
| Sammelmeldung | gleichzeitige Störungen (bzw. Entwarnungen) als eine Nachricht je Kanal | ab 3, Fenster 10 s |
| Ruhezeiten | nachts nur kritische Checks; danach eine Zusammenfassung | aus |
| Höchstzahl je Kanal | begrenzt die Nachrichten je Kanal und Stunde | 60 pro Stunde |
| „Teilweise gestört“ | nur melden, wenn du es je Check einschaltest | aus |
| Wartungsfenster | keine Alarme während geplanter Arbeiten | je Fenster |
| Keine Doppelten | eindeutige Ereignis-ID; im Verbund meldet genau eine Stelle | immer aktiv |
Wiederholungen, Stabilisierung, Abhängigkeiten und „teilweise gestört“ stellst du je Check ein – siehe Intervalle, Timeouts und Alarmierung. Wartungsfenster findest du unter Healthchecks → Wartungsfenster. Die übrigen Einstellungen liegen auf der Seite Benachrichtigungen.
Sammelmeldungen
Fällt etwa der Switch aus und mit ihm mehrere Geräte, sammelt Node64 die Störungen kurz ein und schickt ab einer Schwelle eine einzige Nachricht je Kanal, z. B. „🔴 3 Checks gestört“ mit der Liste der Checks. Dasselbe gilt für die Entwarnungen.
| Einstellung | Standard | Bereich |
|---|---|---|
| Sammelmeldung ab gleichzeitigen Störungen | 3 | 0–100; 0 oder 1 schaltet Sammelmeldungen aus |
| Sammelfenster (Sekunden) | 10 | 0–600 |
Ruhezeiten
In der Ruhezeit melden sich nur Checks, die du als Kritisch markiert hast – etwa Proxmox oder dein Mailserver. Alles andere hält Node64 zurück und schickt nach dem Ende eine Zusammenfassung, z. B. „🌙 Während der Ruhezeit: 4 Checks, davon 1 noch gestört“. Zurückgehaltene Meldungen überstehen einen Neustart der Node.
| Einstellung | Standard | Hinweis |
|---|---|---|
| Ruhezeiten aktiv | aus | |
| Von / Bis | 22:00 / 07:00 | über Mitternacht zählt der Starttag |
| Tage | Mo–So | einzelne Wochentage abwählbar |
| Zeitzone | Zeitzone der Node | z. B. Europe/Berlin |
Meldungen anderer Module (DynDNS, DNS64, Zertifikate, PROXY64) und die Meldung zum Tageskontingent werden in der Ruhezeit nicht verschickt und auch nicht nachgeholt. Sie stehen weiterhin im Verlauf des jeweiligen Moduls.
Höchstzahl je Kanal
Höchstens 60 Nachrichten je Kanal und Stunde (einstellbar von 0 bis 1000, 0 = unbegrenzt). Was darüber hinausgeht, wird nicht verschickt und im Zustellprotokoll als begrenzt vermerkt; der Kanal gilt dadurch nicht als fehlerhaft. Testnachrichten zählen nicht mit.
Ruhezeiten, Höchstzahl und Sammelmeldung gelten dann für den ganzen Account: Das Portal und alle Nodes übernehmen dieselben Werte.


Erinnerungen
Damit eine lange Störung nicht in Vergessenheit gerät, stellst du je Check Erneut alarmieren alle N Minuten ein (0 = nur einmal, höchstens 10080 = eine Woche). Solange der Check gestört ist oder flattert, kommt dann regelmäßig eine Erinnerung wie „🔴 Nextcloud ist weiterhin gestört“ – mit der bisherigen Dauer der Störung.
Zustellung und Ausfallverhalten
Wer verschickt die Nachricht?
- Node allein: Sie verschickt über ihre eigenen Kanäle.
- Nur mit API-Key, ohne Verknüpfung: Die Node meldet über ihre Kanäle und zusätzlich über den API-Key an die Standardkanäle deines ipv64-Accounts (E-Mail, SMS, App) – auch für die Healthchecks.
- Mit ipv64.net verknüpft: ipv64 koordiniert die Meldungen; die Kanäle deiner Node werden dabei im Auftrag von ipv64 bedient. So gibt es keine doppelten Nachrichten, auch wenn mehrere Nodes und ipv64-Standorte messen.
- Verbindung zu ipv64 weg: Die Node verschickt ihre eigenen Kanäle wieder selbst. Verspätete Zustände (älter als 5 Minuten) trägt ipv64 danach still nach, ohne erneut zu alarmieren.
- Cluster: Es meldet genau eine Node, die erste erreichbare der messenden Nodes. Fällt sie aus, übernimmt die nächste, ohne Doppelmeldung. Die Kanäle bleiben eine Einstellung je Node – mehr dazu unter Cluster.
Auf der Detailseite eines Checks zeigt Benachrichtigt, wer bei einem Statuswechsel gerade meldet: ipv64, diese Node oder eine Node der Gruppe.
Telegram, Discord und Co. brauchen Internet. Wenn du auch bei einem Ausfall deines Anschlusses etwas mitbekommen willst, richte zusätzlich einen Kanal ein, der im Heimnetz funktioniert – etwa einen eigenen ntfy- oder Gotify-Server oder einen Browser-Kanal.
Erneute Zustellversuche
Bei E-Mail und SMS über ipv64 versucht ipv64 eine Nachricht nach einem vorübergehenden Fehler (Netzwerk, Zeitüberschreitung, Dienst überlastet) erneut – nach 1, 5 und 15 Minuten. Endgültige Fehler wie eine falsche Adresse werden nicht wiederholt.
Die übrigen Kanäle (Telegram, Discord, Slack, Microsoft Teams, Matrix, ntfy, Gotify, Pushover, Webhook, SMTP) versendet die Node mit einem Versuch. Schlägt er fehl, siehst du das im Zustellprotokoll und als letzten Fehler am Kanal. Prüfe solche Kanäle am besten gleich mit Test senden.
Kanäle per API
Kanäle verwaltest du auch über die lokale API:
# Alle Kanäle auflisten
curl -H "Authorization: Bearer DEIN_API_KEY" http://node64.lan:8080/api/channels
# Testnachricht über Kanal 3 senden
curl -X POST -H "Authorization: Bearer DEIN_API_KEY" http://node64.lan:8080/api/channels/3/testWelche Kanäle ein Check nutzt, steht in seinem Feld channels (Liste von Kanal-IDs, leer = Standardkanäle) – siehe Healthchecks-API.
Etwas unklar, fehlt etwas oder hast du eine Frage zu Node64? Frag im offiziellen Forum v64.tech.