iobroker.ipp

中文文档
0.1.0发布于 2026/11/04MITTypeScriptCommonJS构建来源已验证

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

中文使用文档
文档目录8 节
  1. iobbroker Internet打印协议适配器
  2. 配置
  3. 州
  4. 更新日志
  5. 0.1.0 (2026-11-03)
  6. 发布(2026-10-28)
  7. 0.0.1 (2026-10-27)
  8. 许可证

ibroker Internet打印协议

Network printer monitoring illustration

NPM version Downloads

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

更新日志

0.1.0 (2026-11-03)

  • (Voodoo2man)将打印机列表替换为设备管理器配置,并将基本设置拆分为单独的选项卡。

发布(2026-10-28)

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

0.0.1 (2026-10-27)

  • (Voodoo2man)初始发布

旧的发行说明可在 CHANGELOG_OLD.md。

许可证

麻省理工学院的许可

版权所有Voodoo2man [email protected]

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

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

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

版本与发布记录

iobroker.ipp 共发布 4 个版本,首次发布于 2026/10/28;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.0latest2026/11/041 天前
0.0.22026/10/297 天前
0.0.12026/10/288 天前
0.0.0-stage2026/10/288 天前

关于 iobroker.ipp 的常见问题

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 和提交记录判断。