My printer in Home Assistant was four percentages and one English word. It worked, it was ugly, and I still had to walk over to the machine to know whether it was doing anything.
So I drew the printer. While it prints, a sheet slides out on a loop and fades as if someone took it. A paper jam leaves it stuck half way with a warning triangle. Toners are drawn in their own colour instead of grey bars.
Four machines, each ejecting the page where it really does: an all in one into the recess under its scanner, an inkjet from its rear tray out the front, a laser onto its roof, an office multifunction into the bay above its drawers.
The drawing was not the hard part. Every integration names its sensors differently, so the card does not look for a name: it starts from the printer’s device and reads what is there. It then sorts what it finds into inks on one side and wear parts on the other (drum, fuser, belt, feed kits, maintenance box), each with its own alert.
Two things I cared about:
- The low threshold is 20 %, not the
marker_low_levelprinters advertise. They say 3 %, which is the point where pages come out streaked. - If you have a smart plug,
printing_wattsflips the card to printing as soon as the draw goes up. Theippintegration polls every 60 seconds, so a one page job starts and finishes between two polls and you never see it.
The rest: page counters per function (printed, scanned, copied), a visual editor for every option, a compact mode, 13 languages, prefers-reduced-motion honoured. No dependency, no build step, 266 tests in CI.
Verified on real hardware with ipp, HP Printers and SNMP Printer. Brother, SyncThru, Epson WorkForce and Dell are covered from their documented sensors, but I do not own the hardware, so feedback there is especially welcome.
Custom repository for now, the HACS store PR is filed.

