Files
tencent_face_recognition/const.py
T
zimonianhua d081a51aa0 feat: 升级至v2.0.0,新增人员/人脸管理服务与摄像头支持
- 新增 create_person、delete_person、create_face、delete_face 服务
- 支持通过摄像头实体获取图片 (camera_entity_id 参数)
- 添加配置选项支持,可通过 Options Flow 修改配置
- 传感器采用 CoordinatorEntity 模式,优化数据更新机制
- 改进重试逻辑与错误处理
- 重构代码结构,清理冗余代码
2026-05-01 23:14:39 +08:00

63 lines
1.9 KiB
Python

"""腾讯云人脸识别插件常量定义"""
DOMAIN = "tencent_face_recognition"
PLATFORMS = ["sensor"]
CONF_SECRET_ID = "secret_id"
CONF_SECRET_KEY = "secret_key"
CONF_REGION = "region"
CONF_PERSON_GROUP_ID = "person_group_id"
DEFAULT_REGION = "ap-shanghai"
DEFAULT_PERSON_GROUP_ID = "Hass"
DEFAULT_MAX_FACE_NUM = 1
DEFAULT_MIN_FACE_SIZE = 34
DEFAULT_MAX_USER_NUM = 5
DEFAULT_QUALITY_CONTROL = 1
DEFAULT_NEED_ROTATE_CHECK = 1
DEFAULT_FACE_MATCH_THRESHOLD = 60.0
SERVICE_FACE_SEARCH = "face_search"
SERVICE_DETECT_FACE = "detect_face"
SERVICE_GET_FACE_ATTRIBUTES = "get_face_attributes"
SERVICE_CREATE_PERSON = "create_person"
SERVICE_DELETE_PERSON = "delete_person"
SERVICE_CREATE_FACE = "create_face"
SERVICE_DELETE_FACE = "delete_face"
ATTR_IMAGE_URL = "image_url"
ATTR_IMAGE_PATH = "image_path"
ATTR_IMAGE_FILE = "image_file"
ATTR_CAMERA_ENTITY_ID = "camera_entity_id"
ATTR_CONFIG_ENTRY_ID = "config_entry_id"
ATTR_GROUP_ID = "group_id"
ATTR_MAX_FACE_NUM = "max_face_num"
ATTR_MIN_FACE_SIZE = "min_face_size"
ATTR_MAX_USER_NUM = "max_user_num"
ATTR_QUALITY_CONTROL = "quality_control"
ATTR_NEED_ROTATE_CHECK = "need_rotate_check"
ATTR_FACE_MATCH_THRESHOLD = "face_match_threshold"
ATTR_PERSON_ID = "person_id"
ATTR_PERSON_NAME = "person_name"
ATTR_GENDER = "gender"
ATTR_FACE_ID = "face_id"
ATTR_PERSON_TAG = "person_tag"
EVENT_FACE_DETECTED = "face_detected"
ERROR_INVALID_CONFIG = "无效的配置"
ERROR_API_ERROR = "API调用错误"
ERROR_IMAGE_NOT_FOUND = "图片未找到"
ERROR_FACE_NOT_DETECTED = "未检测到人脸"
STATE_CONNECTED = "已连接"
STATE_DISCONNECTED = "未连接"
STATE_CONNECTING = "连接中"
STATE_ERROR = "连接错误"
STATE_PARTIALLY_CONNECTED = "部分连接"
def get_entry_value(entry, key, default=None):
"""Get a config value from entry.options with fallback to entry.data."""
return entry.options.get(key, entry.data.get(key, default))