Zum Hauptinhalt springen

Gotify Smart-Home-Integration, kostenlos und Open Source

Gotify-Integration für Gladys Assistant

Gladys-Nachrichten und Szenen-Benachrichtigungen über deinen eigenen Gotify-Server.

Erhalte die Nachrichten von Gladys auf deinem Handy über deinen eigenen Gotify-Server, den selbst gehosteten Server für Push-Benachrichtigungen (Android-App, Web-Client): die Nachrichten deiner Szenen, die Antworten von Gladys und ihre Systemnachrichten, dazu Benachrichtigungen mit Titel, Priorität, Link und Bild aus deinen Szenen. Alles bleibt in deinem lokalen Netzwerk.

Ohne die Hardware entwickelt: Rückmeldungen willkommen. Diese Integration wurde mit einem echten Gotify-3.1.1-Server getestet, aber weder mit den Gotify-Apps fürs Handy noch in einer echten Gladys-Installation. Wenn etwas nicht wie beschrieben funktioniert, sag es bitte im Gladys-Forum oder in den Issues.

Was du brauchst​

  • Gladys Assistant 5.1.0 oder neuer.
  • Einen Gotify-Server, den Gladys in deinem Netzwerk erreicht, zum Beispiel das Docker-Image gotify/server (getestet mit Gotify 3.1.1).
  • Die Gotify-App auf den Handys, die die Benachrichtigungen erhalten (Android, über F-Droid oder Google Play), oder die Weboberfläche von Gotify in einem Browser. Gotify hat keine offizielle iOS-App.
  • Ein App-Token pro Gotify-Konto, das Nachrichten erhält. Öffne in der Weboberfläche von Gotify den Reiter Apps, klicke auf Create application, gib ihr einen Namen (zum Beispiel Gladys) und kopiere ihr Token. Ein App-Token sendet Nachrichten; ein Client-Token (Reiter Clients) liest sie und funktioniert hier nicht.

Einrichtung​

Installiere die Integration über Integrationen → Von GitHub installieren mit der Adresse https://github.com/guim31/gladys-gotify und fülle dann ihre Konfiguration aus:

  • Adresse des Gotify-Servers: die Adresse, unter der du Gotify öffnest, mit Port, zum Beispiel http://192.168.1.10:8080. Ein Gotify unter einem Pfad hinter einem Reverse-Proxy (https://example.org/gotify) geht auch.
  • Gemeinsames App-Token: wird von der Szenenaktion, dem Test und den Benutzern ohne eigenes Token verwendet. Optional, wenn jeder Benutzer „Mein Konto“ ausfüllt.
  • Standardpriorität: die Priorität der Nachrichten, die keine festlegen. Standard der Gotify-App überlässt sie der Anwendung (ihre Standardpriorität stellst du in der Weboberfläche von Gotify ein).
  • Nachrichten als Markdown formatieren (standardmäßig an): Gladys schreibt Fettdruck, Listen und Links in Markdown, und die Gotify-Apps zeigen sie an.
  • Selbstsigniertes Zertifikat akzeptieren: nur für eine https://-Adresse, deren Zertifikat du selbst erstellt hast. Lass es sonst aus.
  • Sprache der Texte der Integration: der Hinweis unter einer Nachricht, deren Bild nicht mitkommen konnte, und die Fehler der Szenenaktion.

Klicke dann auf Testbenachrichtigung senden: Die Integration prüft den Server und sendet eine Benachrichtigung mit dem gemeinsamen Token.

Mein Konto: Jeder Gladys-Benutzer, Admin oder nicht, entscheidet im Block „Mein Konto“ auf der Seite der Integration, ob er die Nachrichten erhält, die Gladys ihm sendet:

  • Dein App-Token: das Token einer Anwendung DEINES Gotify-Kontos, damit die Nachrichten nur auf deinem Handy ankommen. Leer lassen, um das gemeinsame Token zu nutzen.
  • Priorität deiner Nachrichten: deine eigene Priorität oder Standard der Integration.

Speichere mindestens eines der beiden: Wer nichts gespeichert hat, erhält nichts. Meine Werte löschen stoppt die Nachrichten.

Was Gladys sendet​

Jede Nachricht, die Gladys an einen Benutzer sendet, geht über Gotify, wenn dieser Benutzer „Mein Konto“ gespeichert hat: die Szenenaktion Nachricht senden, die Antworten von Gladys und ihre Systemnachrichten (Gladys aktualisiert, Sicherung fehlgeschlagen, Batterie schwach…). In der Aktion Nachricht senden kannst du in neueren Gladys-Versionen den Kanal wählen: alle Kanäle, nur Gotify oder nur Gladys.

  • Der Text geht als Markdown raus, ohne Titel: Gotify zeigt stattdessen den Namen der Anwendung.
  • Gotify überträgt keine Anhänge: Das Bild von Kameraaufnahme senden bleibt weg, und eine Zeile unter dem Text weist darauf hin.
  • Die Priorität ist die aus „Mein Konto“, sonst die Standardpriorität.

Was die Priorität in der Android-App von Gotify bewirkt:

PrioritätBenachrichtigung
0minimal: lautlos, kein Symbol in der Statusleiste
1 bis 3niedrig: lautlos
4 bis 7normal: mit Ton
8 bis 10hoch: mit Ton und Pop-up über anderen Apps

Der Web-Client und andere Apps können Prioritäten anders darstellen.

Dashboard​

Das Widget Gotify zeigt:

  • ob der Server antwortet, und seine Version;
  • die heute gesendeten Benachrichtigungen und die Fehler mit dem letzten Grund;
  • die letzten Benachrichtigungen, die von Szenen gesendet wurden (Titel, Datum, Priorität oder „Nicht gesendet“). Ein Tippen öffnet den ganzen Text. Nachrichten, die Gladys an einen einzelnen Benutzer sendet, werden gezählt, aber nie aufgelistet: Das Dashboard sieht der ganze Haushalt;
  • einen Knopf Test senden, der dasselbe macht wie der Test der Konfiguration.

Szenen​

Auslöser​

  • Gotify-Server offline: Der Server antwortet nicht mehr. Er muss bei zwei Prüfungen im Abstand von 30 Sekunden scheitern (alle 5 Minuten läuft eine Prüfung, und direkt nach einem fehlgeschlagenen Versand). Variable: der Fehler.
  • Gotify-Server wieder online: Der Server antwortet wieder, nachdem er offline war. Variable: die Gotify-Version.
  • Gotify-Benachrichtigung nicht gesendet: Eine Nachricht konnte nicht gesendet werden. Filter: der Grund (Server nicht erreichbar, Token fehlt oder abgelehnt, Konfiguration unvollständig, Nachricht abgelehnt) und wer sie gesendet hat (eine Gladys-Nachricht oder die Gotify-Szenenaktion). Variablen: Grund, Herkunft, Fehler. Um Schleifen zu vermeiden, löst er höchstens einmal pro Grund alle 15 Minuten aus.

Der erste bekannte Zustand nach der Installation oder nach einer Änderung der Adresse wird nicht gemeldet: nur eine Änderung.

Aktionen​

Gotify-Benachrichtigung senden, mit dem gemeinsamen Token:

  • Titel (optional): sonst der Name der Anwendung.
  • Nachricht (Pflicht): Markdown, wenn die Option an ist. Szenenvariablen funktionieren hier wie in jedem Feld.
  • Priorität: eine aus der Liste oder Standard der Integration.
  • Link beim Antippen (optional): eine http://- oder https://-Adresse, die das Handy öffnet, wenn du auf die Benachrichtigung tippst.
  • Bildadresse (Android) (optional): ein https://-Bild, das in der aufgeklappten Benachrichtigung der Android-App erscheint. Dein Handy lädt es herunter: Es muss vom Handy aus erreichbar sein, nicht nur von Gladys.

Die Aktion gibt drei Werte an die folgenden Aktionen der Szene weiter: Benachrichtigung gesendet (ja / nein), Nummer der Gotify-Nachricht und Fehler (leer, wenn gesendet). Ein falsches Feld (eine leere Nachricht, ein Link, der nicht http(s) ist) lässt die Aktion scheitern, und das Protokoll der Szene nennt den Grund.

Szenen-Ideen​

  • Alarm: Wenn der Alarm auslöst, Gotify-Benachrichtigung senden mit dem Titel „Alarm“, Priorität 8 und einem Link zur Seite deiner Kamera.
  • Ausweichweg: Bei Gotify-Benachrichtigung nicht gesendet mit dem Grund „Server nicht erreichbar“ schickst du die Nachricht über einen anderen Kanal (SMS, E-Mail). Antworte nicht mit einer weiteren Gotify-Benachrichtigung.
  • Server überwachen: Bei Gotify-Server offline färbst du eine Lampe rot; bei Gotify-Server wieder online schaltest du sie aus.

Fehlerbehebung​

Die Konfiguration zeigt den Zustand des Servers. Die Meldungen:

  • der Gotify-Server antwortet nicht: Prüfe Adresse und Port und ob der Gotify-Container läuft. Gladys führt die Integration in einem eigenen Docker-Netzwerk aus: localhost ist die Integration selbst, nimm die IP-Adresse des Rechners.
  • Zertifikat abgelehnt: Aktiviere Selbstsigniertes Zertifikat akzeptieren oder nutze die http://-Adresse im lokalen Netzwerk.
  • die Adresse leitet um: Gotify hat mit einer Umleitung geantwortet, meist von http:// auf https://. Gib die https://-Adresse ein.
  • kein Gotify-Server unter dieser Adresse: Dort antwortet ein anderer Dienst.
  • App-Token von Gotify abgelehnt: Das Token ist falsch, oder die Anwendung wurde in Gotify gelöscht.
  • das ist ein Client-Token: Kopiere das Token aus dem Reiter Apps, nicht aus dem Reiter Clients.
  • kein App-Token: Weder „Mein Konto“ noch die Konfiguration hat eines.

Ein Benutzer erhält nichts? Prüfe, ob er „Mein Konto“ gespeichert hat und ob die Aktion Nachricht senden der Szene nicht nur an einen anderen Kanal sendet. Die Protokolle der Integration (Integrationen → Gotify → Logs) geben Details; sie zeigen nie ein Token.

Grenzen​

  • Nur senden: Gotify kennt keine Antworten. Du kannst von Gotify aus nicht mit Gladys sprechen.
  • Keine Bilder oder Dateien in Nachrichten: Gotify überträgt nur Text. Die Szenenaktion kann ein Bild von einer Adresse anzeigen (nur Android).
  • Die Nachrichten von Gladys haben keinen eigenen Titel.
  • Getestet mit einem echten Gotify-3.1.1-Server, aber weder mit den Apps fürs Handy noch in einer echten Gladys-Installation.
  • Gotify begrenzt die Zahl der Nachrichten nicht; dein Handy kann eine Flut von Benachrichtigungen gruppieren oder stummschalten.

Diese Integration ist nicht mit dem Gotify-Projekt verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Gotify in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Deinen Gotify-Server verbindensectionNeinÖffne in der Weboberfläche von Gotify den Reiter Apps und erstelle eine Anwendung (zum Beispiel Gladys), dann füge ihr Token unten ein. Jeder Gladys-Benutzer kann im Block „Mein Konto“ auch ein eigenes Token angeben.
Adresse des Gotify-ServersstringJaDie Adresse, unter der du Gotify öffnest, mit Port.
Gemeinsames App-TokensecretNeinWird von der Szenenaktion, dem Test und den Benutzern ohne eigenes Token verwendet.
StandardprioritätselectNeinIn der Android-App von Gotify: unter 1 lautlos und unauffällig, 1 bis 3 lautlos, 4 bis 7 mit Ton, ab 8 mit Pop-up.
Nachrichten als Markdown formatierenbooleanNeinGladys schreibt Fettdruck, Listen und Links in Markdown: Die Gotify-Apps zeigen sie an.
Selbstsigniertes Zertifikat akzeptierenbooleanNeinNur für eine https://-Adresse, deren Zertifikat du selbst erstellt hast.
Sprache der Texte der IntegrationselectNeinFür die Hinweise in den Nachrichten und die Fehler der Szenenaktion.

So installierst du Gotify in Gladys​

  1. Öffne in Gladys Integrationen: Gotify erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-gotify:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-gotify.

Gotify benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Gotify ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂