CUPS


The cups sensor platform uses the open source printing system CUPS to show details about your printers, including the ink levels. It can obtain the information using a CUPS server or by communicating directly with the printer with the Internet Printing Protocol.

Setup

You will need to install the python3-dev or python3-devel package and the development files for CUPS (libcups2-dev orcups-devel) on your system manually (e.g., sudo apt-get install python3-dev libcups2-dev or sudo dnf -y install python3-devel cups-devel) along with a compiler (gcc). This integration doesn’t work out-of-the-box in a container-based setup.

To set up the sensor the “Queue Name” of the printer is needed. The fastest way to get it, is to visit the CUPS web interface at “http://[IP ADDRESS PRINT SERVER]:631” and go to “Printers”.

Configuration

To enable the CUPS sensor, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
sensor:
  - platform: cups
    printers:
      - C410
      - C430

Configuration Variables

printers list Required

List of printers to add. If you’re not using a CUPS server, add your “Printer Name” here.

host string (Optional, default: 127.0.0.1)

The IP address of the CUPS print server or of the printer.

port integer (Optional, default: 631)

The port number of the CUPS print server or of the printer.

is_cups_server boolean (Optional, default: true)

Set true if you want to use a CUPS print server, set false otherwise.

Examples

Default configuration for an IPP printer:

# Example configuration.yaml entry for an IPP printer
sensor:
  - platform: cups
    host: PRINTER_IP
    is_cups_server: false
    printers:
      - ipp/print