本帖最后由 mdj2812 于 2026-7-3 16:14 编辑
设备页
为什么要在 HA 里接打印机?
玩了几年智能家居,有个痛点一直没解决:有些信息,看屏幕不如拿在手里。
- 📋 购物清单 — 出门前按一下,扯张纸条就走
- 📦 取件码 — 快递到了自动打出来,不用翻手机
- 🌤️ 早安简报 — 每天早上 8 点自动打印天气、日历、待办
- ⚠️ 告警 — 电量低、漏水、门没关 — 纸上写的比推送更显眼
前不久家里翻出了老婆好多年前买的喵喵机,正好拿来折腾。
于是我写了个 HA 原生集成。
能干什么
🔌 插上就用,不用配
USB 插上 → HA 自动发现。蓝牙开机 → HA 自动发现。不用填 MAC 地址,不用写 YAML,通知弹出来点确认就完事。
🎛️ 设备页交互面板
所有操作都在设备页上完成,不用写代码:
| 控件 |
类型 |
说明 |
| 打印模式 |
下拉 |
文字 / 图片 / 二维码 / 取件码 |
| 打印内容 |
文本框 |
要打什么 |
| 字号 |
滑块 12-96 |
文字大小 |
| 浓度 |
滑块 0-100% |
打印深浅 |
| 二维码尺寸 |
滑块 100-576px |
QR 码大小 |
| 图片模式 |
下拉 |
人像 / 风景 / 文档 / 高对比 / 浅色 |
| 竖版打印 |
开关 |
旋转 90° 竖着打 |
| 走纸行数 |
滑块 |
空走多少行 |
📊 6 个实时传感器
| 传感器 |
单位 |
| 电量 |
% |
| 状态码 |
— |
| 电压 |
mV |
| 打印头温度 |
°C |
| 浓度 |
% |
| 连接状态 |
已连接/断开 |
型号、固件版本、序列号显示在设备卡片上。
🖨️ 7 个服务,自动化随便玩
# 每天早上打印天气预报
service: paperang.print_text
data:
text: |
🌤️ 早上好!
今天 {{ states('weather.home') }}
温度 {{ state_attr('weather.home', 'temperature') }}°C
font_size: 20
heat_density: 60
| 服务 |
场景 |
paperang.print_text |
天气、日历、提醒、待办 |
paperang.print_image |
摄像头截图、户型图、表情包 |
paperang.print_qr |
WiFi 密码、URL、快捷指令 |
paperang.print_pickup_code |
快递取件码 — 字大、醒目 |
paperang.print_test_page |
测试连接 |
paperang.get_status |
程序中查询电量状态 |
paperang.feed_paper |
走纸 |
📦 多台打印机
两台打印机?门口一台打取件码,桌上一台打简报。每台独立的 coordinator、传输配置和设备页,互不干扰。
实际自动化例子
快递到了自动打取件码
automation:
- alias: "快递到了自动打印取件码"
trigger:
- platform: state
entity_id: sensor.package_delivery
action:
- service: paperang.print_pickup_code
data:
pickup_code: "{{ states('input_text.pickup_code') }}"
早安简报
automation:
- alias: "每日早安简报"
trigger:
- platform: time
at: "08:00:00"
action:
- service: paperang.print_text
data:
text: |
📅 {{ now().strftime('%Y年%m月%d日 %A') }}
🌡️ 室外 {{ states('sensor.outdoor_temp') }}°C | 💧 湿度 {{ states('sensor.humidity') }}%
📋 {{ states('sensor.todoist_tasks') }} 个待办
font_size: 18
低电量纸条约
automation:
- alias: "打印机低电量提醒"
trigger:
- platform: numeric_state
entity_id: sensor.paperang_p2_battery
below: 20
action:
- service: paperang.print_text
data:
text: "⚠️ 喵喵机电量低: {{ states('sensor.paperang_p2_battery') }}%,记得充电!"
font_size: 24
安装
HACS(推荐,1 分钟搞定)

或者手动:
- HACS → 集成 → 右上角 ⋮ → 自定义仓库
- 仓库 URL:
https://github.com/mdj2812/paperang-hacs`[/url]
- 类别:
集成
- 搜索安装 Paperang P2 Printer
- 重启 HA
手动安装
git clone [url=https://github.com/mdj2812/paperang-hacs.git]https://github.com/mdj2812/paperang-hacs.git
cp -r paperang-hacs/custom_components/paperang /config/custom_components/paperang
你需要准备
- USB:打印机插到 HA 机器上(虚拟机要直通 USB)
- 蓝牙:HA 主机有蓝牙适配器(经典蓝牙 BR/EDR,不是 BLE — HA 自带蓝牙集成就能用)
- 纸:57mm 热敏纸卷(淘宝几块钱一卷)
支持 Paperang P2/P2S 和 喵喵机 P2/P2S,固件通用。
技术栈
- Python 纯 asyncio 组件
- paperang-p2-lib — 核心协议库(同样开源)
- 传输层:USB (PyUSB) + 经典蓝牙 SPP/RFCOMM
- CI:GitHub Actions + Docker HA 测试容器,90%+ 测试覆盖率
- 协议:MIT 开源
链接
用了一个多月,挺稳的。设备页随手打很方便,自动化玩起来也有意思。吃灰的喵喵机可以翻出来了 😄
⭐ Star、Issue、PR 都欢迎。
|