Externe Integration - IPP (Drucker)

@elfedagger

Der minimalistische IPP-Server mag die Form unserer Anfragen nicht — ein bekanntes Eigenleben der EcoTank.
Die gerade veröffentlichte Version 1.0.5 sendet die Anfragen nun in mehreren Varianten (darunter auch die, die Epson verlangt) und wählt automatisch die aus, die funktioniert.

Aktualisiere die Integration und starte dann den „Drucker testen“-Button mit deiner IP: Wenn es klappt, folgt deine Entdeckung. Wenn es immer noch nicht funktioniert, füge mir die exakte Meldung des Buttons hinzu — er sagt genau, was der Drucker antwortet.

(Für CUPS: Das würde die Verbindung herstellen, aber sehr wahrscheinlich ohne die Tintenstände — CUPS würde deinen Epson über denselben eigenwilligen IPP abfragen. Besser das Problem an der Quelle lösen :slightly_smiling_face:)

Ich habe das in den Logs, keine Drucker im Entdeckungs-Tab.

[2026-08-07T09:33:36.324Z] [INFO] [discovery] mDNS scan: 1 _ipp._tcp service(s) seen
[2026-08-07T09:33:39.395Z] [INFO] onScanRequest -> discovering printers
[2026-08-07T09:33:44.407Z] [INFO] [discovery] mDNS scan: 0 _ipp._tcp service(s) seen
[2026-08-07T09:33:54.716Z] [WARN] [discovery] Ziel "192.168.1.51" übersprungen: Drucker "192.168.1.51" über IPP nicht erreichbar (HTTP 426 von http://192.168.1.51:631/)
[2026-08-07T09:33:54.717Z] [INFO] Discovery done: 0 printer(s), 1 target(s) failed
[2026-08-07T09:33:56.620Z] [WARN] [discovery] Ziel "192.168.1.51" übersprungen: Drucker "192.168.1.51" über IPP nicht erreichbar (Die Operation wurde aufgrund eines Timeouts abgebrochen)
[2026-08-07T09:33:56.686Z] [WARN] [discovery] Ziel "http://192.168.1.51:631/ipp/print" übersprungen: Drucker "http://192.168.1.51:631/ipp/print" über IPP nicht erreichbar (HTTP 426 von http://192.168.1.51:631/ipp/print)
[2026-08-07T09:33:56.686Z] [INFO] Discovery done: 0 printer(s), 2 target(s) failed
[2026-08-07T09:33:56.731Z] [INFO] Refreshed 0 created printer(s) on connection
[2026-08-07T09:33:56.731Z] [INFO] Sampling loop every 15s (state published on change, levels every 900s)

@guim31 mit Version 1.0.5 scannst du alle Maschinen im gesamten Netzwerk?
Denn ich habe das Gefühl, dass einige meiner Geräte (einschließlich meines Druckers) auf allen offenen Ports gescannt werden (was bedeutet, dass ich viele offene Ports habe, also …).

Neue Version 1.0.6, die das alles verbessern sollte! @elfedagger @mutmut

Zum Scannen, präzise Antwort: nein, kein Netzwerk- oder Port-Scan. Die Integration macht genau drei Dinge: Sie hört (über Gladys) die mDNS-Ankündigungen _ipp._tcp — passives Multicast, niemand wird gescannt —; sie verbindet sich per IPP mit Port 631 nur der Maschinen, die sich als Drucker anmelden oder die du in der Konfiguration eingetragen hast; und sie fragt deine hinzugefügten Drucker alle 15 Sekunden ab, immer auf Port 631. Alles steht im Code, offen: src/discovery.js und src/ipp/client.js im Repository.

Was deine Firewall wahrscheinlich sieht: die wiederholten Verbindungen zu Port 631 deines Druckers (Statusabfrage alle 15 Sekunden), die einige IDS aufgrund der Häufigkeit als „Scan“ kennzeichnen. Und wenn mehrere deiner Maschinen auftauchen, überprüfe, ob sie einen Drucker über CUPS teilen: Dann melden sie sich selbst als IPP-Drucker an und werden aus diesem Grund gescannt — nur auf Port 631.

Aber wenn deine Logs tatsächlich Verbindungen zu VIELEN verschiedenen Ports zeigen, kommt das nicht von dieser Integration — und es wäre sinnvoll, die wahre Quelle zu identifizieren.

Ich schicke dir meine Logs per PN, denn über die Logs der Integration habe ich diesen ganzen Scan gesehen, nichts von meinem Firewall oder meiner Netzwerkinstallation.

Der Drucker wurde gefunden, aber es gibt nur den Ausdruckstext, keine Patrone.

[2026-08-07T18:38:59.079Z] [INFO] onScanRequest -> discovering printers
[2026-08-07T18:38:59.638Z] [INFO] [discovery] Found printer "EPSON ET-2810 Series" at https://192.168.1.51:631/ipp/print
[2026-08-07T18:38:59.881Z] [INFO] Published 1 discovered device(s)
[2026-08-07T18:38:59.893Z] [INFO] Discovery done: 1 printer(s), 0 target(s) failed
[2026-08-07T18:38:59.922Z] [INFO] Sampling loop every 15s (state published on change, levels every 900s)
[2026-08-07T18:39:00.055Z] [INFO] [printer-device] Poll ext:ext-guim31-gladys-ipp:printer:cfe92100-67c4-11d4-a45f-a4d73c3ad9fe: idle, no marker
[2026-08-07T18:39:04.092Z] [INFO] [discovery] mDNS scan: 0 printer service(s)
[2026-08-07T18:39:04.201Z] [INFO] [discovery] Found printer "EPSON ET-2810 Series" at https://192.168.1.51:631/ipp/print
[2026-08-07T18:39:04.213Z] [INFO] Published 1 discovered device(s)
[2026-08-07T18:39:04.225Z] [INFO] Discovery done: 1 printer(s), 0 target(s) failed

Ich habe gerade mehrere Drucke von mehr als 60 Sekunden durchgeführt, aber es wird immer noch „idle“ gemeldet und nie „printing“.

Verdammt…! Ich bin im Urlaub, ich schaue mir das bei meiner Rückkehr an

kein Problem, es gibt keine Eile, da ich selbst das ganze Jahr über im Urlaub bin …

Re @Chris75! Claude hat gegraben, und deine vorherige Beobachtung enthält einen wertvollen Hinweis:
du hast « idle (media-empty) » vorbeiziehen sehen — also funktioniert die Erkennungskette, sie
fängt die Zustandsänderungen tatsächlich auf. Wenn « printing » nicht erscheint, dann sagt dein
Drucker das nicht über IPP.

Und es gibt eine wahrscheinlich Erklärung: Bei vielen HP-Druckern spiegelt der IPP-Zustand die IPP-
Druckwarteschlange wider, nicht den physischen Drucker. Wenn du von einem PC mit dem HP-
Treiber druckst, wird der Auftrag über einen anderen Kanal (Port 9100) gesendet und die IPP-
Warteschlange bleibt leer — also « idle », selbst während des Druckens. Der « media-empty »-
Hinweis kommt vom Papiersensor und wird unabhängig vom Kanal gemeldet — daher siehst du
beides nicht.

Zwei kleine Tests, um das zu klären, wenn du möchtest:

  1. Starte einen langen Druck und, WÄHREND er gedruckt wird, klicke auf « Drucker testen »
    mit deiner IP: Das ist eine Echtzeitlesung. Sag mir, was der Button anzeigt.
  2. Drucke eine Seite von deinem Telefon (AirPrint/Mopria nutzen IPP) und schau, ob « printing »
    diesmal erscheint.

Wenn der Echtzeit-Test « idle » anzeigt, während das Papier gedruckt wird, dann veröffentlicht der
Firmware den Motorzustand nicht über IPP — und dann kann keine Integration das erfinden.
Wenn andererseits der Druck vom Telefon « printing » anzeigt, haben wir die Bestätigung: Der
Zustand wird für alles funktionieren, was über AirPrint gedruckt wird.

Capture d'écran 2026-08-13 152152
vom PC kein « printing »


vom Tel. Samsung S23 Ultra Android 16 UI 8.5: Das « printing » erscheint tatsächlich

Na toll, jetzt haben wir die Antwort. Leider heißt das, dass du von deinem Computer aus im Leerlauf bleiben wirst :confused:

Ich weiß nicht, ob du das schon gesehen hast?

« elfedagger, post:26, topic:10456 »]
Der Drucker wurde gefunden, aber es gibt nur den Text des Vortrags, keine Patrone.

[2026-08-07T18:38:59.079Z] [INFO] onScanRequest -> discovering printers
[2026-08-07T18:38:59.638Z] [INFO] [discovery] Found printer "EPSON ET-2810 Series" at https://192.168.1.51:631/ipp/print
[2026-08-07T18:38:59.881Z] [INFO] Published 1 discovered device(s)
[2026-08-07T18:38:59.893Z] [INFO] Discovery done: 1 printer(s), 0 target(s) failed
[2026-08-07T18:38:59.922Z] [INFO] Sampling loop every 15s (state published on change, levels every 900s)
[2026-08-07T18:39:00.055Z] [INFO] [printer-device] Poll ext:ext-guim31-gladys-ipp:printer:cfe92100-67c4-11d4-a45f-a4d73c3ad9fe: idle, no marker
[2026-08-07T18:39:04.092Z] [INFO] [discovery] mDNS scan: 0 printer service(s)
[2026-08-07T18:39:04.201Z] [INFO] [discovery] Found printer "EPSON ET-2810 Series" at https://192.168.1.51:631/ipp/print
[2026-08-07T18:39:04.213Z] [INFO] Published 1 discovered device(s)
[2026-08-07T18:39:04.225Z] [INFO] Discovery done: 1 printer(s), 0 target(s) failed

[/quote]

Hallo @elfedagger! Entschuldige, ich habe die Nachricht übersehen…!

Schon mal gute Nachrichten: Die verschlüsselte Verbindung funktioniert, dein ET-2810 wurde gefunden und sein Status wird gemeldet. Es fehlen nur noch die Patronen. :grinning_face_with_smiling_eyes:

Ich habe eine wahrscheinliche Erklärung gefunden. Wenn die Integration die Drucker abfragt, sendet sie eine genaue Liste der Informationen, die sie haben möchte (einschließlich der Tintenstände). Manche Epson-Firmware antworten höflich… und vergessen dabei die Tintenstände, wenn man sie explizit anfordert, obwohl sie sie liefern, wenn man einfach „alles“ ohne weitere Angaben anfordert. Ja, das ist absurd, aber das ist ein großer Klassiker bei ihnen.

Der Fix ist in Version 1.0.8 veröffentlicht.

Bis du ihn installierst, würde mir ein kleiner Test helfen, das zu bestätigen: Auf der Integrationsseite, Button « Drucker testen » mit der IP deines Epson (192.168.1.51), und füge das Ergebnis hier ein.

  • Wenn du deine Patronen aufgelistet siehst (auch mit seltsamen Werten), dann ist es etwas anderes und ich werde weiter nachforschen.
  • Wenn du „keine Verbrauchsmaterialien gemeldet“ siehst, dann ist es genau das oben beschriebene Szenario — und wir werden wissen, ob die nächste Version das behebt oder ob dieses Modell die Tintenstände einfach nicht über IPP angibt (manche Epson geben sie nur über ihre eigene App an, in diesem Fall werde ich das ehrlich dokumentieren).

Im schlimmsten Fall aktualisierst du und sagst mir, ob es funktioniert!!

Ich habe das hier als Rückmeldung vor deinem Update erhalten.
Drucker OK: EPSON ET-2810 Series — Zustand „idle“ — keine Verbrauchsmaterialien gemeldet (https://192.168.1.51:631/ipp/print)

ich habe die gleiche Rückmeldung mit Version 1.08.
Drucker OK: EPSON ET-2810 Series — Zustand „idle“ — kein Verbrauchsmaterial angekündigt (https://192.168.1.51:631/ipp/print)

Danke für die beiden Tests, genau das habe ich gebraucht! Und das Ergebnis ist sehr aufschlussreich: Selbst wenn man der Drucker alles erzählen lässt, erwähnt sie nie ihre Patronen… im Format, das ich gelesen habe. :sweat_smile:

Erklärung: Es gibt tatsächlich zwei Standardmethoden, wie eine Drucker ihre Verbrauchsmaterialien im IPP bekannt gibt. Die häufigere (die ich gelesen habe) und eine zweite, neuere, die viele Epson-Drucker stattdessen verwenden. Dein ET-2810 gehört offenbar zur zweiten Gruppe — und ich habe nur die erste betrachtet. Das ist jetzt behoben: Die nächste Version liest beide Formate.

Bonus: Ich habe auch die Schaltfläche „Drucker testen“ gesprächiger gemacht. Wenn sie immer noch keine Patronen findet, wird sie jetzt genau sagen, warum:

  • „Nicht genutzte Attribute: …“ → Die Drucker gibt etwas an, das ich noch nicht lesen kann, und die Liste wird mir genau sagen, was es ist;
  • „Keine Verbrauchsmaterialattribute in der IPP-Antwort“ → Hier wird das der endgültige Beweis sein, dass dein Modell die Tintenstände der Epson-App vorbehält (und ich werde dann einer anderen Spur folgen, dem SNMP-Protokoll, das Epson in der Regel unterstützen).

Also selbst im schlimmsten Fall wird der nächste Test uns sagen, wohin wir gehen müssen.

Die Version 1.0.9 ist veröffentlicht :wink:

Ich habe das Problem mit der Version 1.09.
Drucker OK: EPSON ET-2810 Series — Zustand „idle“ — keine Verbrauchsmaterialattribute in der IPP-Antwort (https://192.168.1.51:631/ipp/print)

Ok. « Kein Verbrauchsmaterial-Attribut in der IPP-Antwort », das bedeutet, dass wir die beiden IPP-Standards aufgebraucht haben: Dein ET-2810 veröffentlicht seine Tintenstände einfach nicht über dieses Protokoll. Das ist kein Bug, das ist sein Firmware.

Aber es gibt noch eine Möglichkeit, und das ist die richtige: SNMP. Das ist das Protokoll, das CUPS (das Drucksystem von Linux und macOS) genau dafür verwendet, um die Tintenstände zu lesen, und Epson füllt es in der Regel sehr korrekt aus, wo sie beim IPP schweigen. Ich habe das also zur Integration hinzugefügt.

Konkreter: Ab der nächsten Version: Wenn ein Drucker in IPP nichts über seine Patronen sagt, fragt die Integration ihn höflich per SNMP. Und für die Neugierigen (und weil die Frage des Netzwerkverkehrs zu Recht weiter oben im Thread aufgeworfen wurde), ist das absichtlich sehr eingeschränkt:

  • nur zum Drucker, den man bereits abfragt, niemals zu etwas anderem;
  • nur wenn IPP nichts ergeben hat — ein Drucker, dessen Stände bereits funktionieren (die HPs im Thread, zum Beispiel) wird niemals ein einziges SNMP-Paket senden;
  • nur zum Zeitpunkt der Standsabfrage, nicht bei jeder Statusüberprüfung;
  • und wenn der Drucker nicht antwortet, lässt man ihn 30 Minuten in Ruhe, statt in einer Schleife zu versuchen.

Der Button « Drucker testen » wird dir jetzt sagen, woher die Werte kommen (« über SNMP »).

Ein Punkt, den du auf deiner Seite überprüfen solltest, falls es immer noch nicht funktioniert: In den Netzwerkeinstellungen deines Epson muss SNMP aktiviert sein (es ist standardmäßig aktiviert) und der Gemeindename auf public belassen.

Drücken wir die Daumen, diesmal bin ich eher zuversichtlich!

Version 1.0.10 ist live!

Ich habe diese Meldung von meiner Drucker-OK erhalten: EPSON ET-2810 Series — Zustand „idle“ — Black Ink Bottle: unbekannt (-2), Cyan Ink Bottle: unbekannt (-2), Magenta Ink Bottle: unbekannt (-2), Yellow Ink Bottle: unbekannt (-2) (über SNMP) (https://192.168.1.51:631/ipp/print)etour.
Mein Drucker hat immer noch nur die Textfunktion.