Zum Hauptinhalt springen

changedetection.io Smart-Home-Integration, kostenlos und Open Source

changedetection.io-Integration für Gladys Assistant

Erfahre in Gladys, wenn sich eine überwachte Webseite ändert: Preissenkung, wieder auf Lager, Neues.

changedetection.io ist ein freier, selbst gehosteter Dienst, der Webseiten überwacht und meldet, wenn sie sich ändern: eine Preissenkung, ein Produkt wieder auf Lager, ein neuer Beitrag in einem Forum, eine neue Version einer Software. Diese Integration bringt seine Überwachungen nach Gladys: Jede wird ein Gerät (ungesehene Änderung, Fehler, letzte Änderung, was sich geändert hat, sowie Preis und Lagerbestand für Shop-Seiten), Szenen können reagieren, wenn sich irgendeine Seite ändert, ein Preis sinkt oder ein Produkt wieder auf Lager ist, und ein Dashboard-Widget listet die letzten Änderungen auf.

Getestet mit einem echten changedetection.io 0.60.9 (Docker); noch nicht mit jeder Installation: Rückmeldungen sind in den Issues willkommen.

Was du brauchst​

  • Gladys Assistant 5.1.0 oder neuer.
  • changedetection.io, erreichbar vom Gladys-Rechner aus (im lokalen Netz oder im Internet per HTTPS), mit aktivierter API (die Standardeinstellung).
  • Seinen API-Schlüssel.

Die Überwachung erledigt changedetection.io, im Takt, der für jede Überwachung eingestellt ist (standardmäßig alle 3 Stunden): Gladys liest die Ergebnisse und ruft die Seiten nie selbst ab. Überwachungen werden in changedetection.io angelegt und bearbeitet.

Erste Schritte​

1. Den API-Schlüssel kopieren​

Öffne in changedetection.io Settings → API. Prüfe, ob API access aktiviert ist, und kopiere den API key.

2. Die Integration konfigurieren​

Öffne in Gladys die Integration, dann ihren Tab Konfiguration:

  • Adresse von changedetection.io: die Adresse, mit der du changedetection.io öffnest, mit Port, zum Beispiel http://192.168.1.2:5000. Eine aus dem Browser kopierte Adresse geht auch.
  • API-Schlüssel: der oben kopierte Schlüssel.
  • Aktualisierungsintervall: wie oft Gladys die Ergebnisse liest (standardmäßig 1 Minute). Eine Anfrage pro Lesevorgang, plus ein paar nach einer Änderung.
  • Währung der Preise: die Einheit des Preises der Überwachungen „Re-stock & Price detection“ (standardmäßig Euro). changedetection.io liefert den Preis ohne Währung.
  • Selbstsignierte Zertifikate akzeptieren: nur für eine https://-Adresse, deren Zertifikat auch dein Browser nicht anerkennt.
  • Sprache der Namen: die Sprache der Funktionsnamen, der Daten und der Fehlermeldungen (standardmäßig Französisch).

Speichere und klicke dann auf Verbindung testen: Es zeigt die Version von changedetection.io, die Zahl der Überwachungen, die fehlerhaften und die ungesehenen Änderungen.

3. Die Überwachungen hinzufügen​

Der Tab Entdecken listet ein Gerät changedetection.io und ein Gerät pro Überwachung. Füge die hinzu, die du in Gladys sehen willst. Die Szenen-Auslöser gelten für alle Überwachungen, hinzugefügt oder nicht.

Die Geräte​

Jede Überwachung hat:

  • Ungesehene Änderung: an, solange eine Änderung nicht gesehen wurde (in changedetection.io oder mit der Aktion „Als gesehen markieren“).
  • Fehlerhaft: an, solange die letzte Prüfung der Seite fehlgeschlagen ist.
  • Fehlermeldung: der Grund des letzten Fehlschlags, sonst „Keiner“.
  • Letzte Änderung: Datum und Uhrzeit der letzten Änderung.
  • Was sich geändert hat: ein kurzer Auszug der letzten von der Integration gesehenen Änderung, die hinzugefügten Zeilen (oder die entfernten, mit „−“ markiert).
  • Nur bei einer Überwachung vom Typ „Re-stock & Price detection“: Preis und Auf Lager.

Das Gerät changedetection.io zählt: Überwachungen, Fehlerhafte Überwachungen, Ungesehene Änderungen.

Dashboard​

Das Widget Letzte Änderungen zeigt die Zahl der ungesehenen Änderungen und der fehlerhaften Überwachungen, dann die acht letzten Änderungen, die neueste zuerst: Titel, was sich geändert hat, Datum und ein Abzeichen „Neu“ oder „Fehler“. Ein Tippen auf eine Änderung öffnet ihre Details mit einem Link zur Seite. Zwei Schaltflächen:

  • Jetzt prüfen: changedetection.io prüft sofort alle Seiten erneut.
  • Als gesehen: keine Änderung zählt mehr als neu (mit Rückfrage).

In seinen Einstellungen beschränkt Überwachungen es auf die gewählten Geräte (nur in Gladys hinzugefügte Geräte sind wählbar).

Szenen​

Auslöser​

Die Auslöser gelten für alle Überwachungen, in Gladys hinzugefügt oder nicht. Lass Überwachungen leer, um auf jede zu reagieren, oder wähle welche aus.

  • Eine Seite hat sich geändert: changedetection.io hat eine Änderung erkannt. Variablen: Titel der Überwachung, Adresse der Seite, was sich geändert hat (eine Zeile, höchstens 200 Zeichen), Tags.
  • Ein Preis ist gesunken: Der Preis einer Überwachung „Re-stock & Price detection“ ist gesunken. Variablen: Titel, Adresse, Preis, vorheriger Preis, Tags.
  • Wieder auf Lager: Eine Überwachung „Re-stock & Price detection“ ist von ausverkauft auf Lager gewechselt. Variablen: Titel, Adresse, Preis, Tags.
  • Eine Überwachung schlägt fehl: Die Prüfung einer Seite schlägt neuerdings fehl (Seite weg, Serverfehler, Filter nicht gefunden…). Einmal, bis es wieder geht. Variablen: Titel, Adresse, Fehlermeldung, Tags.

Eine Änderung während eines Neustarts von Gladys oder der Integration wird trotzdem gemeldet, einmal. Beim allerersten Lesen wird nichts gemeldet.

Um unter einer Preisschwelle zu reagieren, nimm die Funktion Preis des Geräts in einer Gladys-Szene („der Preis fällt unter 100“): Die Szenen-Auslöser von Integrationen vergleichen nur auf Gleichheit.

Aktionen​

  • Eine Seite jetzt prüfen: changedetection.io prüft die gewählte Seite sofort erneut (alle Seiten, wenn das Feld leer ist oder das Gerät changedetection.io gewählt ist). Das Ergebnis wird 20 Sekunden später gelesen und löst die Auslöser oben aus. Ergebnis: die Zahl der eingereihten Seiten.
  • Als gesehen markieren: Die Änderung der gewählten Überwachung zählt nicht mehr als neu (alle ungesehenen, wenn leer). Ergebnis: die Zahl der markierten Überwachungen.

Szenen-Ideen​

  • Preisalarm: Auslöser „Ein Preis ist gesunken“ auf der Kaffeemühle → Nachricht „💶 … jetzt für … (statt …)“ mit „Titel der Überwachung“, „Preis“ und „Vorheriger Preis“ senden.
  • Wieder auf Lager: Auslöser „Wieder auf Lager“ → Nachricht mit Titel und Adresse senden, dann eine Lampe grün schalten.
  • Neues vom Rathaus: Auslöser „Eine Seite hat sich geändert“ auf der Seite des Rathauses → „📰 …: …“ mit „Titel der Überwachung“ und „Was sich geändert hat“ senden, dann „Als gesehen markieren“.
  • Vor dem Losgehen: jeden Samstag um 9:00 → „Eine Seite jetzt prüfen“ auf den Öffnungszeiten des Markts.

Fehlerbehebung​

  • „API-Schlüssel abgelehnt“: Kopiere den Schlüssel erneut aus Settings → API; ein in changedetection.io neu erzeugter Schlüssel macht den alten ungültig.
  • „Ein API-Schlüssel ist nötig“: changedetection.io verlangt einen Schlüssel und keiner ist konfiguriert.
  • „changedetection.io antwortet nicht“: Prüfe Adresse und Port (standardmäßig 5000) vom Gladys-Rechner aus. localhost ist der Container der Integration selbst: Nimm die IP-Adresse des Rechners, auf dem changedetection.io läuft.
  • „Zertifikat abgelehnt“: Das HTTPS-Zertifikat ist selbstsigniert oder abgelaufen; aktiviere „Selbstsignierte Zertifikate akzeptieren“ oder nimm die http://-Adresse im lokalen Netz.
  • „Keine changedetection.io-API unter dieser Adresse“: Die Adresse führt zu einem anderen Dienst oder zu einem changedetection.io, das zu alt für seine REST-API ist: Aktualisiere es.
  • Kein Preis auf einer Shop-Seite: Die Überwachung muss in changedetection.io den Typ „Re-stock & Price detection“ haben, und die Seite muss ihren Preis veröffentlichen (die meisten Shops tun das). Preis und Lagerbestand erscheinen, sobald der Typ gewählt ist; klicke im Tab „Entdecken“ auf „Suchen“, dann beim Gerät auf „Aktualisieren“.
  • „Was sich geändert hat“ ist leer: Es wird bei der ersten von der Integration gesehenen Änderung gefüllt.

Grenzen​

  • changedetection.io prüft die Seiten in seinem eigenen Takt; Gladys liest die Ergebnisse im Aktualisierungsintervall, ein Ereignis kommt also höchstens um so viel später.
  • Der Auszug zeigt hinzugefügte oder entfernte Zeilen, keine Änderungen innerhalb einer Zeile, und wird nach 200 Zeichen abgeschnitten.
  • changedetection.io liefert keine Währung zum Preis: Die Einheit kommt aus der Konfiguration, für alle Überwachungen dieselbe.
  • Pausierte Überwachungen bleiben gelistet (die API sagt nicht, welche pausiert sind).
  • Überwachungen werden in changedetection.io angelegt, bearbeitet und gelöscht; Gladys kann sie nur sofort prüfen lassen und als gesehen markieren.

Konfigurationseinstellungen​

Diese Einstellungen fragt changedetection.io in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein changedetection.iosectionNeinÖffne in changedetection.io Settings → API, kopiere den API-Schlüssel und füge ihn unten mit der Adresse von changedetection.io ein. Lege dann die Überwachungen im Tab „Entdecken“ an: Die Szenen-Auslöser gelten für alle, angelegt oder nicht.
Adresse von changedetection.iostringNeinDie Adresse, mit der du changedetection.io öffnest, mit Port (standardmäßig 5000).
API-SchlüsselsecretNeinSettings → API in changedetection.io. Lass das Feld nur leer, wenn die API dort keinen Schlüssel verlangt.
OptionensectionNeinchangedetection.io prüft jede Seite in seinem eigenen Takt (standardmäßig alle 3 Stunden): Gladys liest die Ergebnisse, prüft die Seiten aber nicht.
AktualisierungsintervallselectNeinWie oft die Ergebnisse von changedetection.io gelesen werden.
Währung der PreiseselectNeinEinheit des Preises der Überwachungen „Re-stock & Price detection“, beim Hinzufügen eines Geräts festgelegt.
Selbstsignierte Zertifikate akzeptierenbooleanNeinNur für eine https://-Adresse, deren Zertifikat auch dein Browser nicht anerkennt.
Sprache der NamenselectNeinSprache der Funktionsnamen (beim Hinzufügen eines Geräts festgelegt), der Daten und der Fehlermeldungen.

So installierst du changedetection.io in Gladys​

  1. Öffne in Gladys Integrationen: changedetection.io 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-changedetection: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-changedetection.

changedetection.io 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​

changedetection.io 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 🙂