Intégration externe - IPP (imprimantes)

:printer: IPP Printers — enfin savoir s’il reste de l’encre, sans ouvrir le capot

Salut tout le monde !

Vous connaissez ce moment : vous lancez une impression un dimanche soir, et là… bandes blanches. Plus de cyan. Évidemment.

Du coup j’ai codé une petite intégration externe pour Gladys : IPP Printers. Elle surveille vos imprimantes réseau et remonte les niveaux d’encre / toner directement dans Gladys.

Ce que ça fait

  • Un capteur par cartouche (noir, cyan, magenta, jaune… ou juste le toner si vous êtes team laser), en %, avec historique. Vous pouvez donc tracer la courbe de consommation et voir votre encre fondre au fil des mois :chart_decreasing:
  • L’état de l’imprimante en texte : idle, printing, ou stopped (media-empty) quand vous avez encore oublié de remettre du papier.
  • Découverte automatique : si votre imprimante fait de l’AirPrint (donc à peu près toutes celles vendues depuis ~2012), elle est trouvée toute seule sur le réseau. Rien à configurer.
  • 100 % local : pas de compte, pas de cloud, pas de clé d’API. Ça cause directement à l’imprimante en IPP, le protocole standard derrière AirPrint.

Le truc sympa

Comme les niveaux remontent comme des capteurs normaux, vous pouvez faire des scènes avec. Par exemple :

Si le toner noir passe sous 10 % → envoyer un message « pense à commander une cartouche »

Ce qui, je vous l’accorde, est déjà bien plus utile que le petit voyant orange de l’imprimante qui clignote depuis trois semaines.

Compatibilité

Toute imprimante réseau compatible AirPrint / IPP Everywhere : HP, Epson, Canon, Brother, Lexmark, Samsung… Testée chez moi sur une Samsung C460 Series, qui remonte gentiment ses quatre toners.

:warning: Petite réserve honnête : certaines imprimantes n’annoncent tout simplement pas leurs niveaux via IPP. C’est une limite de leur firmware, pas de l’intégration — dans ce cas vous n’aurez que l’état. Il y a un bouton « Tester une imprimante » dans la config pour vérifier en 2 secondes ce que la vôtre veut bien raconter, avant même d’ajouter l’appareil.

Installation

L’intégration est dispo dans le store. Vous l’installez, et normalement votre imprimante apparaît toute seule dans l’onglet Découverte. Si le mDNS ne passe pas chez vous (VLAN, sous-réseau différent…), vous pouvez aussi saisir l’IP à la main dans la config.

Le code est ici : GitHub - guim31/gladys-ipp: Gladys external integration to fetch printers informations · GitHub

T’es motivé pour nous faire plein d’intégrations

Ouais :slight_smile: vous me le dites si ça vous gave !! haha

Non au contraire, c’est rare qu’au milieu de l’été ca bouge autant c’est positif

Je viens de tester cette intégration sur une HP Smart Tank Plus 655 : la découverte a été instantanée , les niveaux d’encre sont bien remontés mais l’état de l’imprimante ne remonte pas, c’est toujours « idle » qui est affiché
Merci @guim31

Merci pour ce retour, je vais regarder ça !

Re @Chris75 merci beaucoup pour le retour, il m’a fait trouver un vrai défaut !

Je relevais l’état au même rythme que les niveaux d’encre, soit toutes les 15 minutes par défaut — autant dire qu’une impression de 30 secondes passait systématiquement entre les mailles du filet.

C’est normalement corrigé en 1.0.1, tu peux forcer la MaJ.

En attendant, le bouton « Tester une imprimante » dans la config te montre en direct
ce que ton imprimante annonce à l’instant T — pratique pour vérifier.

Bon je suis passé à la V1.0.1, et je n’ai que 2 états qui s’affichent : « idle » et « idle (media-empty) »
Manque donc le « printing » : les infos sont remontées tout les combien ?

Bon sang on se croirait sur le store de HA avec toute cette pluie de nouvelles intégrations :rofl:

Un grand merci @guim31 , ma HP Color Laserjet MFP E57540 à été découverte en moins d’1s !



Je vous laisse deviner quels systèmes domotique j’ai mis en parallèle :wink:

Re @Chris75 ! Bonne nouvelle : ton « idle (media-empty) » prouve que la mise à jour fonctionne — l’état bouge bien maintenant. Et ta question tombe pile : les infos étaient relevées toutes les 60 secondes… alors qu’une impression d’une page dure 15-20 secondes. Autrement dit, la plupart des impressions passaient entre deux relevés.

Je viens de publier une 1.0.2 (force la mise à jour si tu veux tester) qui règle ça : l’état est maintenant échantillonné toutes les 15 secondes, et publié dès qu’il change. Toute impression d’au moins 15 secondes sera vue. Seule une impression ultra-courte peut encore filer entre deux relevés — limite du protocole, l’imprimante ne « pousse » pas ses états, il faut aller les chercher.

Petit détail au passage : ton imprimante signale « plus de papier » en restant « idle » (au lieu de passer en « stopped ») — c’est la façon de faire de HP, et c’est très bien : tu peux déjà éclencher une scène là-dessus si tu veux être prévenu quand le bac est vide :slightly_smiling_face:

Merci pour l’intégration :slight_smile:

De mon côté sur une imprimante HP OfficeJet 8010 il me manque la cartouche noire :

[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=?%

Une idée pour la faire arriver ? :sweat_smile:

Amazon ? :disguised_face:

Cartouche officielle HP :wink:

Merci pour le retour. Ta cartouche noire est bien annoncée par l’imprimante, mais son niveau arrive comme « inconnu » via IPP — un classique des OfficeJet : HP remonte les couleurs en pourcentage (arrondi au quart, d’où tes trois 50 %) mais pas le noir.

L’intégration écarte la valeur plutôt que d’afficher un faux pourcentage.

Je viens de publier une 1.0.3 qui rend ça visible : après mise à jour, relance le bouton « Tester une imprimante » avec ton IP et colle-moi le résultat ici — il affichera exactement ce que ton imprimante répond pour le noir (du genre « black cartridge : inconnu (-2) »). Si c’est confirmé, la valeur n’existe tout simplement pas côté IPP sur ce modèle ; je regarde la faisabilité d’aller la chercher sur l’interface web HP de l’imprimante dans une prochaine version.

Merci, je viens de tester et voici le retour avec la version 1.0.3 :

Imprimante OK : HP OfficeJet 8010 series — état « idle » — magenta cartridge: 50%, cyan cartridge: 50%, yellow cartridge: 50%, black cartridge: inconnu (-2)

Intégration sympa Merci cela fonctionne bien sur mon imprimante.

Juste un retour, (même si cela ne me gene pas) ce serait mieux d’avoir de la traduction
la atuellement si je l’ajoute dans mon dashboard j’ai

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

(on peut rename la feature dans le dashboard mais c’est un petit truc en plus je dirais :slight_smile: )

Et oui j’ai effectivement plus de couleur dans mon imprimante ^^’

Merci, diagnostic confirmé ! Ton imprimante répond « inconnu » pour le noir via IPP tout en donnant les couleurs — une (curieuse) habitude du firmware HP, l’intégration ne peut pas inventer la valeur.

MAIS il y a une piste : les HP exposent leurs vrais niveaux sur leur interface web embarquée. Tu peux m’aider à le vérifier en 30 secondes ? Ouvre cette adresse dans ton navigateur (en remplaçant par l’IP de ton imprimante) :

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

Si une page XML s’affiche, colle ici le bloc concernant la cartouche noire (cherche « Black » ou « K » dedans — pas d’inquiétude, il n’y a rien de sensible, ce sont juste les niveaux et références des cartouches). Avec ça je pourrai ajouter une lecture de secours spécifique HP dans une prochaine version, et ton noir remontera comme les autres :ok_hand:

Je suis pas chez moi pour le moment mais je test ce soir sans problème :slight_smile:

j’ai essayé d’installer cette application, mais elle ne trouver pas mon imprimante. j’ai essayé de plusieurs façon, ip, non d’hôte … rien à faire. J’ai montré mon journal à copilote qui me donne cette réponse.
Sur votre Epson ET‑2815 :

  • IPP est activé (mDNS + HTTP 500 le confirment)

  • Mais le service IPP ne fonctionne pas correctement, ce qui explique les erreurs dans Gladys.

Ce problème est fréquent sur les Epson EcoTank :
Leur serveur IPP est minimaliste et parfois instable.
il me propose de contourner le problème avec cups.
Tu connais?
C’est une bonne idée?

Je te transmets le contenu du fichier par mail :wink:

Merci