Zum Hauptinhalt springen

Samsung SyncThru Smart-Home-Integration, kostenlos und Open Source

Samsung SyncThru-Integration für Gladys Assistant

Toner, Trommeln, Papierfächer und Status von Samsung-Druckern über SyncThru. Lokal, ohne Cloud.

Überblick​

Diese Integration überwacht deine Samsung-Drucker (Xpress, ProXpress, MultiXpress, CLP, CLX, SCX, ML… und die HP-Modelle der früheren Samsung-Reihe mit derselben Weboberfläche) über ihren eingebauten Webdienst SyncThru: den Druckerstatus, den Füllstand jedes Toners, die Bildeinheiten (Trommeln), die Papierfächer und den Seitenzähler. Alles bleibt in deinem lokalen Netzwerk: keine Cloud, kein Konto, kein Passwort.

Die Integration ist schreibgeschützt: Es wird nichts gedruckt, keine Einstellung des Druckers geändert und nichts zum Ein- oder Ausschalten angeboten.

Diese Integration ergänzt IPP Printers für die Samsung-Modelle, deren IPP-Dienst die Verbrauchsmaterialien nicht meldet.

Ohne die Hardware entwickelt: Rückmeldungen sind willkommen. Die Integration wurde mit echten SyncThru-Antworten geschrieben und getestet, die die Projekte pysyncthru und Home Assistant veröffentlicht haben, nicht an einem Drucker. Wenn bei dir etwas fehlt oder falsch ist, eröffne ein Issue im GitHub-Repository mit dem Ergebnis der Schaltfläche Drucker testen.

Nicht mit Samsung oder HP verbunden.

Voraussetzungen​

  • Gladys Assistant 5.1 oder neuer.
  • Ein Samsung-Drucker in deinem Netzwerk (Ethernet oder WLAN), dessen SyncThru-Seite sich im Browser unter http://<Adresse des Druckers>/ öffnet. Die Integration liest http://<Adresse des Druckers>/sws/app/information/home/home.json: Zeigt diese Adresse in deinem Browser eine Textseite, ist der Drucker kompatibel.
  • Besser: eine feste Adresse für den Drucker (eine DHCP-Reservierung im Router). Die Integration sucht einen Drucker, der umgezogen ist, aber eine feste Adresse ist zuverlässiger.

Konfiguration​

  1. Installiere die Integration aus dem Store (oder Integrationen → Von GitHub installieren mit der Adresse des Repositorys).
  2. Öffne ihren Tab Konfiguration:
    • Drucker (manuelle Liste): optional. Die IP-Adressen oder Hostnamen deiner Drucker, durch Kommas getrennt (192.168.1.20, drucker.local). Eine http://- oder https://-Adresse mit Port geht auch. Fülle sie aus, wenn der Drucker nicht automatisch gefunden wird.
    • Sprache der Namen: die Sprache der Funktionsnamen (beim Hinzufügen des Druckers festgelegt) und der Texte an Gladys (Status, Szenenvariablen). Standardmäßig Französisch.
    • Abfrageintervall: wie oft jeder Drucker gelesen wird, standardmäßig alle 60 Sekunden (30 bis 3600).
    • Schwelle für niedrigen Füllstand: der Füllstand in %, bei dem Verbrauchsmaterial fast leer auslöst (standardmäßig 10 %). Danach richten sich auch die Farben der Anzeigen im Widget.
  3. Speichere, öffne den Tab Entdecken und füge deine Drucker zu Gladys hinzu.

Drucker, die auf die Netzwerksuche antworten (SSDP, so wie Windows sie findet), erscheinen ohne Eingabe im Tab „Entdecken“: Gladys schickt die Suche und gibt die Antworten an die Integration weiter, die nur diejenigen behält, die wirklich SyncThru anbieten.

Netzwerklast: eine kleine Anfrage pro Drucker in jedem Abfrageintervall, die Seitenzähler alle 15 Minuten und eine Netzwerksuche beim Start, beim Öffnen des Tabs „Entdecken“ und höchstens alle 30 Minuten, solange ein Drucker nicht antwortet. Nur geänderte Werte gehen an Gladys, stabile Werte erneut alle 6 Stunden.

Geräte​

Ein Gerät pro Drucker, benannt nach Modell und Standort (Samsung C430W (Wohnzimmer)). Seine Funktionen hängen davon ab, was der Drucker meldet:

FunktionTypWert
StatusTextBereit, Druckt, Energiesparmodus, Aufwärmen, Beschäftigt, Toner niedrig, Warnung, Papierstau, Kein Papier, Fehler, Nicht erreichbar
OnlineAnwesenheitssensor (ja/nein)1, wenn der Drucker antwortet, sonst 0
Toner Schwarz / Cyan / Magenta / GelbFüllstand (%)der verbleibende Toner jeder Kartusche
Trommel Schwarz / …, Trommel FarbeFüllstand (%)die verbleibende Lebensdauer der Bildeinheit, wenn der Drucker sie meldet
Fach 1 … 5, Mehrzweckzufuhr, Manuelle ZufuhrTextBereit, Leer oder Warnung mit dem Code des Druckers
Papier FachFüllstand (%)nur bei Modellen, die einen Papierfüllstand melden
Gedruckte Seiten, Kopierte SeitenZählerdie Seitenzähler, bei Modellen, die sie anbieten

Antwortet der Drucker nicht, wird Status zu Nicht erreichbar und Online zu 0; die anderen Werte behalten ihre letzte Messung.

Der Status kommt aus dem vom Drucker gemeldeten Zustand und dem Text seines Bedienfelds, auf Englisch, Französisch, Deutsch oder Spanisch: Ein Papierstau oder ein leeres Fach wird am Bedienfeld erkannt („Paper Jam“, „Bourrage“, „Papierstau“, „Atasco“…) und an den Samsung-Fehlercodes (M1-1110, M1-5112).

Widget​

Das Widget Drucker zeigt einen Drucker (den zuerst hinzugefügten, wenn in seinen Einstellungen keiner gewählt ist):

  • bis zu fünf Anzeigen, zuerst die Toner, dann die Trommeln, gefärbt nach der Schwelle;
  • den Status, den Text des Bedienfelds, die Fächer, den Seitenzähler und die Uhrzeit der letzten Messung;
  • eine Schaltfläche Aktualisieren, die den Drucker sofort liest.

Szenenauslöser​

Zwei Auslöser, in der Kategorie Integrationen des Szeneneditors:

  • Verbrauchsmaterial fast leer: Ein Toner oder eine Trommel sinkt auf die Schwelle der Konfiguration. Filter auf einen Drucker und die Art des Materials (Toner, Trommel). Gibt den Druckernamen, das Material (Toner Schwarz) und seinen Füllstand weiter.
  • Papierstau oder kein Papier: Ein Drucker meldet einen Papierstau oder hat kein Papier mehr. Filter auf einen Drucker und das Problem. Gibt den Druckernamen, das Problem in Worten und den Text des Bedienfelds weiter.

Jeder löst einmal aus, wenn die Situation beginnt. Nach einem Neustart der Integration oder von Gladys löst er für eine bereits bestehende Situation nicht erneut aus.

Die Füllstände sind auch gewöhnliche Gladys-Funktionen: Der Auslöser des Kerns Änderung von Gerätestatus funktioniert darauf, für eine Kartusche.

Konfigurationsaktion​

Drucker testen, im Tab „Konfiguration“: Gib eine Adresse ein, die Integration liest den Drucker sofort und sagt dir, was sie gefunden hat (Modell, Status, Füllstände) oder warum keine Antwort kam.

Szenenbeispiele​

  • Toner rechtzeitig bestellen: Auslöser Verbrauchsmaterial fast leer (Art: Toner) → Aktion Nachricht senden mit den Variablen Drucker, Verbrauchsmaterial und Füllstand (%) (tippe {{ in die Nachricht, um sie einzufügen): „Bürodrucker: Toner Schwarz bei 10 %“.
  • Der Drucker hängt: Auslöser Papierstau oder kein Papier → Aktion Nachricht senden mit dem Problem und dem Text des Bedienfelds, an die Person, die am nächsten ist.
  • Drucker vergessen auszuschalten: Auslöser Änderung von Gerätestatus auf Online bei 1, Bedingung nach 22 Uhr → eine Erinnerung oder das Ausschalten der smarten Steckdose des Druckers.

Fehlerbehebung​

  • Kein Drucker im Tab „Entdecken“: Trage seine Adresse in die manuelle Liste ein und nutze dann Drucker testen. „Kein SyncThru-JSON-Dienst“ bedeutet, dass der Drucker keine SyncThru-JSON-Seite hat: Ältere Modelle haben nur HTML-Seiten, die nicht unterstützt werden.
  • „Keine Antwort“: Prüfe die Adresse, ob der Drucker eingeschaltet und nicht im Tiefschlaf ist und ob er im selben Netzwerk wie Gladys ist. Manche Drucker schalten im Tiefschlaf ihr Netzwerk ab.
  • Ein Drucker mit verborgener Seriennummer (manche Firmwares zeigen xxxxxxxx) wird an seiner MAC-Adresse oder an seiner Adresse erkannt: Gib ihm eine feste Adresse.
  • Mehr Details: Setze die Umgebungsvariable LOG_LEVEL der Integration auf debug.

Einschränkungen​

  • Ohne die Hardware entwickelt: Die Werte wurden an veröffentlichten Antworten von M2070, C430W und C480FW geprüft, nicht an einem echten Drucker. Die HP-Modelle sind nicht geprüft.
  • Das Papierformat der Fächer wird nicht angezeigt: SyncThru liefert einen Zahlencode, dessen Bedeutung nicht dokumentiert ist.
  • Der Papierfüllstand eines Fachs wird nur bei Modellen gelesen, die ihn melden, und in % angenommen.
  • Die Erkennung von Papierstau und leerem Fach beruht auf dem Text des Bedienfelds und den Samsung-Fehlercodes: Ein Bedienfeld in einer anderen als den vier obigen Sprachen zeigt vielleicht nur Warnung oder Fehler.
  • Drucker, die nur die alten HTML-Seiten von SyncThru haben (kein home.json), werden nicht unterstützt.
  • Schreibgeschützt: kein Drucken, keine Einstellung, kein Zurücksetzen aus der Ferne.
  • Die Funktionsnamen werden beim Hinzufügen des Druckers festgelegt: Eine spätere Änderung der Sprache ändert die Statustexte, nicht die Namen.

Konfigurationseinstellungen​

Diese Einstellungen fragt Samsung SyncThru in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
FunktionsweisesectionNeinSamsung-Drucker (und die HP-Modelle der früheren Samsung-Reihe), die in deinem Netzwerk auf SSDP antworten, findet der Tab „Entdecken“. Drucker, die sich nicht melden, kannst du unten eintragen. Die Integration liest nur die SyncThru-Webseite des Druckers: Es wird nichts gedruckt, keine Einstellung geändert und kein Passwort gebraucht.
Drucker (manuelle Liste)stringNeinOptional. IP-Adressen oder Hostnamen der Drucker, durch Kommas getrennt. Eine http://- oder https://-URL geht auch, bei Bedarf mit Port.
Sprache der NamenselectNeinSprache der Funktionsnamen (beim Hinzufügen eines Druckers festgelegt) und der Texte der Integration: Status, Szenenvariablen.
Abfrageintervall (s)numberNeinWie oft jeder Drucker gelesen wird, in Sekunden (30 bis 3600). Jedes Mal eine kleine Anfrage; nur Änderungen gehen an Gladys.
Schwelle für niedrigen Füllstand (%)numberNeinDer Szenenauslöser „Verbrauchsmaterial fast leer“ löst aus, wenn ein Toner oder eine Trommel auf diesen Wert sinkt. Färbt auch die Anzeigen des Widgets.

So installierst du Samsung SyncThru in Gladys​

  1. Öffne in Gladys Integrationen: Samsung SyncThru 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-syncthru: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-syncthru.

Samsung SyncThru 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​

Samsung SyncThru 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 🙂