# iobroker\.ipp 中文文档

规范地址：https://npmcn.com/package/iobroker.ipp/

版本：0\.1\.0
npm 元数据更新时间：2026-11-03T21:05:19.842Z
中文译文更新时间：2026-11-03T22:29:48.488Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/iobroker.ipp
原文对照：https://npmcn.com/package/iobroker.ipp/?lang=original
项目主页：https://github.com/Voodoo2man/ioBroker.ipp
源码仓库：https://github.com/Voodoo2man/ioBroker.ipp

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：226 kB，23 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>= 22
- 运行依赖：3 个
- 首次发布：2026-10-27T21:10:33.372Z
- 最新版本发布：2026-11-03T21:05:19.527Z
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

基于互联网打印协议（IPP）的只读网络打印机监控

## 安装

```sh
npm install iobroker.ipp
```

也可以使用：`pnpm add iobroker.ipp`、`yarn add iobroker.ipp`、`bun add iobroker.ipp`

## README

# ibroker Internet打印协议

![Network printer monitoring illustration](https://npmcn.com/package/iobroker.ipp/admin/ipp-banner.jpg)

[![NPM version](https://img.shields.io/npm/v/iobroker.ipp.svg)](https://www.npmjs.com/package/iobroker.ipp) [![Downloads](https://img.shields.io/npm/dm/iobroker.ipp.svg)](https://www.npmjs.com/package/iobroker.ipp)

## iobbroker Internet打印协议适配器

适配器使用Internet打印协议（IPP）轮询配置的网络打印机，并发布只读可用性、打印机状态、碳粉或墨水级别以及支持的页面计数器。它使用 `Get-Printer-Attributes` 通过IPP / 2.0;设备和固件支持各不相同，因此可能不是每个打印机都报告可选属性。兼容性取决于每个打印机的IPP实现；没有针对此实现验证特定设备。

需要Node.js 22或更新版本，Admin 8.2.0或更新版本，js-controller 7.2.2或更新版本。

## 配置

配置轮询间隔和请求超时 **基本配置** 选项卡。控件中添加和管理打印机 **打印机配置** 选项卡使用设备管理器。使用它的 **添加打印机**， **编辑**, **删除** 行动;打印机卡在报告时显示配置的主机、实时连接状态和型号。

设备管理器将打印机存储在现有的 `native.printers` 配置阵列，使现有的打印机配置保持兼容。

| 设置 | 描述 |
| --- | --- |
| ID | 稳定的对象树标识符；字符由字母、数字、“\_”或“-”组成，长度为1 ~ 32个字符。德语的元音字母音译为(`ä` 来 `ae`， `ö` 来 `oe`， `ü` 来 `ue`， `ß` 来 `ss`）. 创建后不能更改ID，因为它决定了打印机的状态ID。 |
| 标签 | 打印机的显示名称。 |
| 主人 | 打印机主机名或IP地址。 |
| 港口 | IPP端口;默认为 `631`。 |
| IPP资源路径 | 打印机资源路径；默认为 `/ipp/print`。 |
| 使用TLS | 使用IPPS over TLS。 |
| 验证TLS证书 | 验证打印机的TLS证书；默认情况下禁用自签名打印机证书。 |

轮询间隔默认为60秒，限制为10秒到24小时。请求超时默认为5000毫秒，限制在500-30000毫秒之间。适配器只发送只读 `Get-Printer-Attributes` 操作;它不提交打印作业或更改打印机设置。仅配置在所选主机、端口和资源路径上公开IPP端点的打印机。

将跳过无效的打印机行，并给出标识无效字段的警告。调试日志报告配置的字段名称和值类型，而不打印配置的值。

当打印机关闭或暂时无法访问时，适配器将其标记为脱机，而不会显示警告级别的日志；连接和超时细节在调试级别可用。IPP协议、TLS和配置错误仍然是警告。

## 州

每个配置的打印机都有一个设备 `status`， `supplies`， `counters`, `details` 频道。直接在下面创建补充IPP属性 `details` (例如, `details.printer_location`）; 已经由规范状态、模型和计数器状态表示的属性不重复。适配器请求所有IPP属性并为返回值创建状态，但明确排除的功能、详细属性族和原始标记值除外；保留选择的功能/默认属性。数组和结构化值存储为JSON字符串；标量值保持其布尔值、数字或字符串类型。 下自动添加未知的、未排除的属性 `details`。 `status.online` 总是存在； `status.model`， `status.message`，和数字 `status.state` 在支持时发布。状态值为 `0` （`off`)，并在重新连接时返回到报告的IPP状态。以前读取的测量值在脱机时仍然可用。IPP标记水平使用报告的低/高界限归一化为百分比，并四舍五入到小数点后两位。 `pages_completed`， `impressions_completed`, `media_sheets_completed` 仅在打印机报告它们时创建。在成功的轮询期间，缺失的值将被清除，而不是替换为零。请求细节不被记录。

对于供应报告，适配器进行组合 `marker-names` 有相应的项 `marker-levels`， `marker-low-levels`, `marker-high-levels`； `marker-types` 在提供时使用。如果供应的名称或任何所需的数字级别/绑定丢失、无效或超出范围，则跳过供应。计数器映射自 `pages-completed`， `impressions-completed`, `media-sheets-completed` 来 `pages_completed`， `impressions_completed`, `media_sheets_completed`． 在报告缺失值时，包括打印机型号和固件、打印机返回的这些IPP属性中的哪个，以及缺失的原始值或状态id。

[![Donate with PayPal](https://camo.githubusercontent.com/ef8c60305542390406855547e32850909812a73c4abada236de22a6dc88b313f/68747470733a2f2f7777772e70617970616c6f626a656374732e636f6d2f64655f44452f44452f692f62746e2f62746e5f646f6e61746543435f4c472e676966)](https://www.paypal.com/donate/?hosted_button_id=3RJQGSJNRSHUJ)

## 更新日志

### 0.1.0 (2026-11-03)

-   （Voodoo2man）将打印机列表替换为设备管理器配置，并将基本设置拆分为单独的选项卡。

### 发布(2026-10-28)

-   （Voodoo2man）增加了Node.js 22支持和文档打印机供应和计数器属性。

### 0.0.1 (2026-10-27)

-   （Voodoo2man）初始发布

旧的发行说明可在 [CHANGELOG\_OLD.md](https://npmcn.com/package/iobroker.ipp/CHANGELOG_OLD.md)。

## 许可证

麻省理工学院的许可

版权所有Voodoo2man [Voodoo2man@outlook.de](mailto:Voodoo2man@outlook.de)

特此向任何获得副本的人免费授予许可 本软件及相关文档文件（“软件”），以处理 不受任何限制，包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或出售 本软件的副本，并允许使用本软件的人 提供这样做，但须符合以下条件：

上述版权声明和本许可声明应包括在所有 本软件的副本或实质性部分。

本软件是“按原样”提供的，没有任何形式的、明示的或明示的保证 默示，包括但不限于对适销性的保证； 适合某一特定目的和不侵权。在任何情况下都不得 作者或版权持有人应对任何索赔、损害赔偿或其他责任 在合同诉讼、侵权诉讼或其他诉讼中，因下列原因引起的责任： 不属于或与本软件或本软件的使用或其他交易有关 软件。

## 常见问题

### iobroker\.ipp 是什么？

基于互联网打印协议（IPP）的只读网络打印机监控

### 如何安装 iobroker\.ipp？

在项目目录运行 npm install iobroker\.ipp，或使用 pnpm add / yarn add / bun add。

### iobroker\.ipp 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### iobroker\.ipp 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### iobroker\.ipp 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### iobroker\.ipp 可以商用吗？

iobroker\.ipp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### iobroker\.ipp 还在维护吗？

最新版本 0\.1\.0 发布于 2026/11/04（1 天前）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2026/10/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

