Files
Hermes 18a6a8ca9b refactor: 全面重构腾讯云人脸识别插件
- 拆分 tencent_cloud_client.py(1311行)为 api_operations.py / image_processor.py / retry.py
- 更新 HA 废弃 API: SupportsResponse.OPTIONAL, async_unload_platforms, native_value, 移除 CONNECTION_CLASS
- 新增动态人员传感器管理(自动增/删)
- 新增 detect_face 服务定义(services.yaml)
- 移除 secret_key 持久化存储,增强安全性
- 完善错误映射前缀匹配 + 异常类型安全退避
- 修复 Coordinator 双重人员 ID 跟踪死代码
- 添加 _sanitize_error 脱敏,ImageCache LRU 缓存
- manifest.json 版本 2.1.0 + Pillow 依赖
2026-07-07 02:33:38 +08:00

407 lines
9.9 KiB
YAML

face_search:
name: 人脸搜索
description: 在指定的人员库中搜索人脸。
fields:
group_id:
name: 人员库ID
description: 人员库 ID。
required: true
example: "Hass"
selector:
text:
image_url:
name: 图片URL
description: 要搜索的人脸图片的 URL。
example: "https://example.com/image.jpg"
selector:
text:
image_path:
name: 图片路径
description: Home Assistant 本地可访问的人脸图片路径。
example: "/config/www/image.jpg"
selector:
text:
image_file:
name: 图片文件
description: 通过文件上传的人脸图片(Base64编码)。
selector:
text:
camera_entity_id:
name: 摄像头实体
description: 用于获取图片的摄像头实体ID。
example: "camera.front_door"
selector:
entity:
domain: camera
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
max_face_num:
name: 最大人脸数量
description: 最多处理的人脸数量。
default: 1
example: 1
selector:
number:
min: 1
max: 10
step: 1
mode: box
min_face_size:
name: 最小人脸尺寸
description: 最小人脸尺寸(像素)。
default: 34
example: 34
selector:
number:
min: 1
max: 200
step: 1
mode: box
max_user_num:
name: 最大返回人员数量
description: 最多返回的匹配人员数量。
default: 5
example: 5
selector:
number:
min: 1
max: 20
step: 1
mode: box
quality_control:
name: 质量控制
description: 是否进行质量控制(0=否,1=是)。
default: 1
example: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
detect_face:
name: 人脸检测
description: 检测图片中的人脸位置和尺寸。
fields:
image_url:
name: 图片URL
description: 要检测的人脸图片的 URL。
example: "https://example.com/image.jpg"
selector:
text:
image_path:
name: 图片路径
description: 要检测的本地人脸图片路径。
example: "/config/www/image.jpg"
selector:
text:
image_file:
name: 图片文件
description: 要检测的人脸图片文件(Base64编码)。
selector:
text:
camera_entity_id:
name: 摄像头实体
description: 用于获取图片的摄像头实体ID。
example: "camera.front_door"
selector:
entity:
domain: camera
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
max_face_num:
name: 最大人脸数量
description: 最多检测的人脸数量。
default: 1
example: 1
selector:
number:
min: 1
max: 10
step: 1
mode: box
min_face_size:
name: 最小人脸尺寸
description: 最小人脸尺寸(像素)。
default: 34
example: 34
selector:
number:
min: 1
max: 200
step: 1
mode: box
need_rotate_check:
name: 旋转检查
description: 是否进行旋转检查(0=否,1=是)。
default: 1
example: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
get_face_attributes:
name: 获取人脸属性
description: 获取图片中人脸的属性信息。
fields:
image_url:
name: 图片URL
description: 要分析的图片URL。
example: "https://example.com/image.jpg"
selector:
text:
image_path:
name: 图片路径
description: 要分析的本地图片路径。
example: "/config/www/image.jpg"
selector:
text:
image_file:
name: 图片文件
description: 要分析的图片文件(Base64编码)。
selector:
text:
camera_entity_id:
name: 摄像头实体
description: 用于获取图片的摄像头实体ID。
example: "camera.front_door"
selector:
entity:
domain: camera
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
max_face_num:
name: 最大人脸数量
description: 最多分析的人脸数量。
default: 1
example: 1
selector:
number:
min: 1
max: 10
step: 1
mode: box
need_rotate_check:
name: 旋转检查
description: 是否进行旋转检查(0=否,1=是)。
default: 1
example: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
create_person:
name: 创建人员
description: 在人员库中创建新人员。
fields:
person_id:
name: 人员ID
description: 人员的唯一标识符。
required: true
example: "person_001"
selector:
text:
person_name:
name: 人员名称
description: 人员名称。
required: true
example: "张三"
selector:
text:
group_id:
name: 人员库ID
description: 要添加到的人员库ID。
required: true
example: "Hass"
selector:
text:
image_url:
name: 图片URL
description: 人员人脸图片URL。
example: "https://example.com/face.jpg"
selector:
text:
image_path:
name: 图片路径
description: 人员人脸本地图片路径。
example: "/config/www/face.jpg"
selector:
text:
image_file:
name: 图片文件
description: 人员人脸图片文件(Base64编码)。
selector:
text:
camera_entity_id:
name: 摄像头实体
description: 用于获取人脸图片的摄像头实体ID。
example: "camera.front_door"
selector:
entity:
domain: camera
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
gender:
name: 性别
description: 性别(0=女,1=男)。
selector:
select:
options:
- label: "女"
value: "0"
- label: "男"
value: "1"
person_tag:
name: 人员标签
description: 人员备注标签。
selector:
text:
quality_control:
name: 质量控制
description: 是否进行质量控制(0=否,1=是)。
default: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
need_rotate_check:
name: 旋转检查
description: 是否进行旋转检查(0=否,1=是)。
default: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
delete_person:
name: 删除人员
description: 从人员库中删除人员。
fields:
person_id:
name: 人员ID
description: 要删除的人员ID。
required: true
example: "person_001"
selector:
text:
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
create_face:
name: 注册人脸
description: 为已有人员添加新的人脸照片。
fields:
person_id:
name: 人员ID
description: 要添加人脸的人员ID。
required: true
example: "person_001"
selector:
text:
image_url:
name: 图片URL
description: 人脸图片URL。
example: "https://example.com/face.jpg"
selector:
text:
image_path:
name: 图片路径
description: 人脸本地图片路径。
example: "/config/www/face.jpg"
selector:
text:
image_file:
name: 图片文件
description: 人脸图片文件(Base64编码)。
selector:
text:
camera_entity_id:
name: 摄像头实体
description: 用于获取人脸图片的摄像头实体ID。
example: "camera.front_door"
selector:
entity:
domain: camera
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text:
quality_control:
name: 质量控制
description: 是否进行质量控制(0=否,1=是)。
default: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
need_rotate_check:
name: 旋转检查
description: 是否进行旋转检查(0=否,1=是)。
default: 1
selector:
select:
options:
- label: "否"
value: "0"
- label: "是"
value: "1"
delete_face:
name: 删除人脸
description: 删除指定人员的人脸。
fields:
person_id:
name: 人员ID
description: 人员ID。
required: true
example: "person_001"
selector:
text:
face_id:
name: 人脸ID
description: 要删除的人脸ID。
required: true
example: "3440118425101275818"
selector:
text:
config_entry_id:
name: 配置项ID
description: 使用的配置项ID(多配置时指定)。
selector:
text: