Externe Integration - IPP (Drucker)

:printer: IPP-Drucker — endlich wissen, ob noch Tinte da ist, ohne die Abdeckung zu öffnen

Hallo zusammen!

Ihr kennt das sicher: Ihr startet einen Druckjob am Sonntagabend, und dann… weiße Streifen. Kein Cyan mehr. Natürlich.

Deshalb habe ich eine kleine externe Integration für Gladys programmiert: IPP Printers. Sie überwacht eure Netzwerkdrucker und meldet die Tinten- bzw. Tonerstände direkt an Gladys.

Was es kann

  • Ein Sensor pro Patrone (schwarz, cyan, magenta, gelb… oder einfach nur Toner, wenn ihr zum Laser-Team gehört), in %, mit Historie. Ihr könnt also die Verbrauchslinie verfolgen und zusehen, wie eure Tinte über die Monate dahin schmilzt :chart_decreasing:
  • Der Status des Druckers als Text: idle, printing oder stopped (media-empty), wenn ihr wieder vergessen habt, Papier nachzufüllen.
  • Automatische Erkennung: Wenn euer Drucker AirPrint unterstützt (also praktisch alle, die seit ~2012 verkauft wurden), wird er automatisch im Netzwerk gefunden. Nichts zu konfigurieren.
  • 100 % lokal: Kein Konto, kein Cloud-Dienst, keine API-Schlüssel. Es wird direkt über IPP, das Standardprotokoll hinter AirPrint, mit dem Drucker kommuniziert.

Das Coole

Da die Füllstände wie normale Sensoren gemeldet werden, könnt ihr Szenen damit erstellen. Zum Beispiel:

Wenn der schwarze Toner unter 10 % fällt → Nachricht senden „Denk daran, eine neue Patrone zu bestellen“

Was, zugegeben, schon deutlich nützlicher ist als die kleine orange Leuchte am Drucker, die seit drei Wochen blinkt.

Kompatibilität

Jeder Netzwerkdrucker, der AirPrint / IPP Everywhere unterstützt: HP, Epson, Canon, Brother, Lexmark, Samsung… Getestet wurde es bei mir an einer Samsung C460 Series, die brav ihre vier Toner meldet.

:warning: Kleiner, ehrlicher Hinweis: Manche Drucker melden ihre Füllstände einfach nicht über IPP. Das ist eine Einschränkung ihres Firmwares, nicht der Integration — in diesem Fall bekommt ihr nur den Status. Es gibt einen Button „Drucker testen“ in den Einstellungen, um in zwei Sekunden zu prüfen, was euer Drucker bereitstellt, noch bevor ihr das Gerät hinzufügt.

Installation

Die Integration ist im Store verfügbar. Ihr installiert sie, und normalerweise erscheint euer Drucker automatisch im Entdeckungs-Tab. Falls mDNS bei euch nicht funktioniert (VLAN, unterschiedliches Subnetz…), könnt ihr auch die IP manuell in den Einstellungen eingeben.

Der Code ist hier: GitHub - guim31/gladys-ipp: Gladys external integration to fetch printers informations · GitHub

Du bist motiviert, uns viele Integrationen zu machen

Ja :slight_smile: Ihr sagt mir Bescheid, wenn es euch nervt!! haha

Nein, im Gegenteil, es ist selten, dass es mitten im Sommer so viel Bewegung gibt. Das ist positiv.

Ich habe gerade diese Integration an einer HP Smart Tank Plus 655 getestet: Die Erkennung war sofort, die Tintenstände wurden korrekt angezeigt, aber der Status des Druckers wird nicht zurückgemeldet, es wird immer „idle“ angezeigt
Danke @guim31

Danke für das Feedback, ich werde mich darum kümmern!

Antw. @Chris75 vielen Dank für das Feedback, es hat mir geholfen, einen echten Fehler zu finden!

Ich habe den Status im gleichen Rhythmus wie die Tintenstände überprüft, also standardmäßig alle 15 Minuten — was bedeutet, dass ein 30-Sekunden-Druck immer durchgerutscht ist.

Das ist normalerweise in Version 1.0.1 behoben, du kannst das Update erzwingen.

In der Zwischenzeit zeigt dir die Schaltfläche „Drucker testen“ in den Einstellungen in Echtzeit an,
was dein Drucker zum Zeitpunkt T meldet — praktisch zum Überprüfen.

Also, ich bin auf die Version 1.0.1 umgestiegen, und es werden nur zwei Zustände angezeigt: „idle“ und „idle (media-empty)“. Fehlt also der „printing“-Zustand: Wie oft werden die Informationen hochgeladen?

Mann, man könnte meinen, man ist im HA-Store mit all diesen neuen Integrationen :rofl:

Ein großes Dankeschön an @guim31, meine HP Color Laserjet MFP E57540 wurde in weniger als 1 Sekunde erkannt!



Ich lasse euch raten, welche Smart-Home-Systeme ich parallel genutzt habe :wink:

Antwort an @Chris75! Gute Nachricht: Dein „idle (media-empty)“ beweist, dass das Update funktioniert — der Status ändert sich jetzt tatsächlich. Und deine Frage kommt genau richtig: Die Informationen wurden alle 60 Sekunden erfasst… obwohl ein Druckvorgang nur 15-20 Sekunden dauert. Mit anderen Worten, die meisten Druckvorgänge fanden zwischen zwei Erfassungen statt.

Ich habe gerade eine Version 1.0.2 veröffentlicht (erzwingt das Update, falls du testen möchtest), die das Problem behebt: Der Status wird jetzt alle 15 Sekunden abgetastet und sofort veröffentlicht, sobald er sich ändert. Jeder Druckvorgang von mindestens 15 Sekunden wird erkannt. Nur ein extrem kurzer Druckvorgang könnte noch zwischen zwei Erfassungen durchrutschen — eine Grenze des Protokolls, da der Drucker seine Zustände nicht „schiebt“, man muss sie abholen.

Kleine Anmerkung am Rande: Dein Drucker meldet „kein Papier“ und bleibt „idle“ (statt in „stopped“ zu wechseln) — das ist die Art von HP, und das ist sehr gut: Du kannst bereits eine Szene darauf auslösen, wenn du benachrichtigt werden möchtest, wenn das Fach leer ist :slightly_smiling_face:

Danke für die Integration :slight_smile:

Bei mir auf einem HP OfficeJet 8010-Drucker fehlt die schwarze Patrone:

[2026-08-05T21:08:33.205Z] [INFO] [printer-device] Poll ext:ext-guim31-gladys-ipp:printer:ceeeac82-b679-4926-b131-466fcfb437e4: idle, magenta cartridge=50%, cyan cartridge=50%, yellow cartridge=50%, black cartridge=?%

Ideen, wie ich sie zum Laufen bringe? :sweat_smile:

Amazon ? :disguised_face:

Offizielles HP-Logo :wink:

Danke für das Feedback. Deine schwarze Patrone wird von der Drucker korrekt angezeigt, aber der Füllstand wird über IPP als „unbekannt“ gemeldet — ein Klassiker der OfficeJet: HP zeigt die Farben in Prozent an (auf ein Viertel gerundet, daher deine drei 50 %), aber nicht Schwarz.

Die Integration zeigt stattdessen „unbekannt“ an, anstatt eine falsche Prozentzahl anzuzeigen.

Ich habe gerade eine Version 1.0.3 veröffentlicht, die dies sichtbar macht: Nach dem Update klicke den „Drucker testen“-Button mit deiner IP und füge das Ergebnis hier ein — es wird genau anzeigen, was deine Drucker für Schwarz zurückgibt (z. B. „black cartridge: unbekannt (-2)“). Falls bestätigt, gibt es diesen Wert einfach nicht über IPP für dieses Modell; ich prüfe die Machbarkeit, ihn in einer zukünftigen Version über die HP-Weboberfläche der Drucker abzurufen.

Danke, ich habe es gerade getestet und hier ist das Ergebnis mit Version 1.0.3:

Drucker OK: HP OfficeJet 8010-Serie — Zustand „bereit“ — Magentapatrone: 50 %, Cyanpatrone: 50 %, Gelbpatrone: 50 %, Schwarzpatrone: unbekannt (-2)

Nette Integration Vielen Dank, das funktioniert gut mit meiner Drucker.

Nur ein Feedback, (auch wenn es mich nicht stört) es wäre besser, wenn es eine Übersetzung gäbe
aktuell, wenn ich es zu meinem Dashboard hinzufüge, habe ich

  • magenta cartridge
  • cyan cartridge
  • yellow cartridge
  • black cartridge

(man kann das Feature im Dashboard umbenennen, aber das wäre ein kleines Extra, würde ich sagen :slight_smile: )

Und ja, ich habe tatsächlich mehr Farbe in meinem Drucker ^^’

Danke, Diagnose bestätigt! Dein Drucker antwortet « unbekannt » für Schwarz über IPP, während er die Farben ausgibt — eine (seltsame) Angewohnheit des HP-Firmwares, die Integration kann den Wert nicht erfinden.

ABER es gibt eine Spur: Die HP-Drucker zeigen ihre echten Füllstände auf ihrer eingebetteten Weboberfläche an. Kannst du mir helfen, das in 30 Sekunden zu überprüfen? Öffne diese Adresse in deinem Browser (ersetze die IP-Adresse deines Druckers):

http://192.168.XX.XX/DevMgmt/ConsumableConfigDyn.xml

Wenn eine XML-Seite angezeigt wird, füge hier den Block bezüglich der schwarzen Patrone ein (suche nach « Black » oder « K » — keine Sorge, es gibt nichts Sensibles, es sind nur die Füllstände und Referenzen der Patronen). Damit kann ich in einer nächsten Version eine spezifische HP-Backup-Lesefunktion hinzufügen, und dein Schwarz wird wie die anderen wieder angezeigt :ok_hand:

Ich bin gerade nicht zu Hause, aber ich teste heute Abend ohne Problem :slight_smile:

Ich habe versucht, diese Anwendung zu installieren, aber sie findet meinen Drucker nicht. Ich habe mehrere Methoden ausprobiert, IP, Hostname… nichts funktioniert. Ich habe mein Logfile an Copilot geschickt, der mir diese Antwort gegeben hat.
Bei Ihrem Epson ET‑2815:

  • IPP ist aktiviert (mDNS + HTTP 500 bestätigen dies)

  • Aber der IPP-Dienst funktioniert nicht richtig, was die Fehler in Gladys erklärt.

Dieses Problem ist häufig bei Epson EcoTank-Druckern:
Ihr IPP-Server ist minimalistisch und manchmal instabil.
Er schlägt vor, das Problem mit CUPS zu umgehen.
Kennst du das?
Ist das eine gute Idee?

Ich sende dir den Inhalt der Datei per E-Mail :wink:

Danke