--- id: mqtt title: MQTT --- :::tip 由于本文涉及过多专业领域内容,对普通用户帮助不算特别多,将不会进行精翻;本文使用DeepSeek AI进行翻译,仅做参考。 ::: 这些是由Frigate生成的MQTT消息。默认的主题前缀是`frigate`,但可以在配置文件中更改。 ## Frigate通用主题 ### `frigate/available` 设计用于与Home Assistant的可用性主题配合使用。可能的消息有: "online":当Frigate运行时发布(在启动时) "offline":当Frigate停止后发布 ### `frigate/restart` 导致Frigate退出。Docker应该配置为在退出时自动重启容器。 ### `frigate/events` 为每个变化的跟踪对象发布消息。当跟踪对象不再被标记为false_positive时发布第一条消息。当Frigate找到跟踪对象的更好快照或发生区域变化时,它将发布具有相同id的消息。当跟踪对象结束时,将发布一条带有`end_time`设置的最终消息。 ```json { "type": "update", // new(新建), update(更新), end(结束) "before": { "id": "1607123955.475377-mxklsc", "camera": "front_door", "frame_time": 1607123961.837752, "snapshot_time": 1607123961.837752, "label": "person", "sub_label": null, "top_score": 0.958984375, "false_positive": false, "start_time": 1607123955.475377, "end_time": null, "score": 0.7890625, "box": [424, 500, 536, 712], "area": 23744, "ratio": 2.113207, "region": [264, 450, 667, 853], "current_zones": ["driveway"], "entered_zones": ["yard", "driveway"], "thumbnail": null, "has_snapshot": false, "has_clip": false, "active": true, // 便利属性,与"stationary"相反 "stationary": false, // 对象是否被认为是静止的 "motionless_count": 0, // 对象保持静止的帧数 "position_changes": 2, // 对象从静止位置移动的次数 "attributes": { "face": 0.64 }, // 在对象上任何时候被识别的具有最高分数的属性 "current_attributes": [], // 此帧中当前属性的详细数据 "current_estimated_speed": 0.71, // 通过启用速度估算的区域移动的对象的当前估计速度(mph或kph) "velocity_angle": 180, // 通过启用速度估算的区域移动的对象相对于帧的行进方向 "recognized_license_plate": "ABC12345", // 汽车对象的已识别车牌 "recognized_license_plate_score": 0.933451 }, "after": { "id": "1607123955.475377-mxklsc", "camera": "front_door", "frame_time": 1607123962.082975, "snapshot_time": 1607123961.837752, "label": "person", "sub_label": ["John Smith", 0.79], "top_score": 0.958984375, "false_positive": false, "start_time": 1607123955.475377, "end_time": null, "score": 0.87890625, "box": [432, 496, 544, 854], "area": 40096, "ratio": 1.251397, "region": [218, 440, 693, 915], "current_zones": ["yard", "driveway"], "entered_zones": ["yard", "driveway"], "thumbnail": null, "has_snapshot": false, "has_clip": false, "active": true, // 便利属性,与"stationary"相反 "stationary": false, // 对象是否被认为是静止的 "motionless_count": 0, // 对象保持静止的帧数 "position_changes": 2, // 对象改变位置的次数 "attributes": { "face": 0.86 }, // 在对象上任何时候被识别的具有最高分数的属性 "current_attributes": [ // 此帧中当前属性的详细数据 { "label": "face", "box": [442, 506, 534, 524], "score": 0.86 } ], "current_estimated_speed": 0.77, // 通过启用速度估算的区域移动的对象的当前估计速度(mph或kph) "velocity_angle": 180, // 通过启用速度估算的区域移动的对象相对于帧的行进方向 "recognized_license_plate": "ABC12345", // 汽车对象的已识别车牌 "recognized_license_plate_score": 0.933451 } } ``` ### `frigate/tracked_object_update` 当跟踪对象元数据更新时发布的消息,例如当GenAI运行并返回跟踪对象描述时。 ```json { "type": "description", "id": "1607123955.475377-mxklsc", "description": "The car is a red sedan moving away from the camera." } ``` ### `frigate/reviews` 为每个变化的核查项目发布消息。当`检测`或`警报`初始化时发布第一条消息。当检测到其他对象或发生区域变化时,会发布具有相同id的`update`消息。当核查活动结束时,发布最终的`end`消息。 ```json { "type": "update", // new(新建), update(更新), end(结束) "before": { "id": "1718987129.308396-fqk5ka", // review_id(核查ID) "camera": "front_cam", "start_time": 1718987129.308396, "end_time": null, "severity": "detection", "thumb_path": "/media/frigate/clips/review/thumb-front_cam-1718987129.308396-fqk5ka.webp", "data": { "detections": [ // 事件ID列表 "1718987128.947436-g92ztx", "1718987148.879516-d7oq7r", "1718987126.934663-q5ywpt" ], "objects": ["person", "car"], "sub_labels": [], "zones": [], "audio": [] } }, "after": { "id": "1718987129.308396-fqk5ka", "camera": "front_cam", "start_time": 1718987129.308396, "end_time": null, "severity": "alert", "thumb_path": "/media/frigate/clips/review/thumb-front_cam-1718987129.308396-fqk5ka.webp", "data": { "detections": [ "1718987128.947436-g92ztx", "1718987148.879516-d7oq7r", "1718987126.934663-q5ywpt" ], "objects": ["person", "car"], "sub_labels": ["Bob"], "zones": ["front_yard"], "audio": [] } } } ``` ### `frigate/stats` 与`/api/stats`相同的数据,按可配置的间隔发布。 ### `frigate/camera_activity` 返回每个摄像头的当前功能状态,包括是否检测到运动、对象等。可以通过向`frigate/onConnect`发布消息来触发。 ### `frigate/notifications/set` 控制通知开关的主题。期望值为`ON`和`OFF`。 ### `frigate/notifications/state` 通知当前状态的主题。发布值为`ON`和`OFF`。 ## Frigate摄像头主题 ### `frigate//` 发布摄像头检测到的对象数量,用于Home Assistant传感器。 `all`可作为object_name表示摄像头所有对象的计数。 ### `frigate///active` 发布摄像头检测到的活动对象数量,用于Home Assistant传感器。 `all`可作为object_name表示摄像头所有活动对象的计数。 ### `frigate//` 发布区域内检测到的对象数量,用于Home Assistant传感器。 `all`可作为object_name表示区域内所有对象的计数。 ### `frigate///active` 发布区域内活动对象的数量,用于Home Assistant传感器。 `all`可作为object_name表示区域内所有活动对象的计数。 ### `frigate///snapshot` 发布检测到对象类型的JPEG编码帧。当对象不再被检测到时,发布最高置信度的图像或重新发布原始图像。 快照的高度和裁剪可在配置中设置。 ### `frigate//audio/` 当检测到特定类型音频时发布"ON",未检测到时发布"OFF",用于Home Assistant传感器。 ### `frigate//audio/dBFS` 发布该摄像头检测到的音频dBFS值。 **注意:**需要启用音频检测 ### `frigate//audio/rms` 发布该摄像头检测到的音频RMS值。 **注意:**需要启用音频检测 ### `frigate//enabled/set` 控制Frigate对摄像头处理的开关主题。期望值为`ON`和`OFF`。 ### `frigate//enabled/state` 摄像头处理当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//detect/set` 控制摄像头对象检测的开关主题。期望值为`ON`和`OFF`。 ### `frigate//detect/state` 摄像头对象检测当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//audio/set` 控制摄像头音频检测的开关主题。期望值为`ON`和`OFF`。 ### `frigate//audio/state` 摄像头音频检测当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//recordings/set` 控制摄像头录制的开关主题。期望值为`ON`和`OFF`。 ### `frigate//recordings/state` 摄像头录制当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//snapshots/set` 控制摄像头快照的开关主题。期望值为`ON`和`OFF`。 ### `frigate//snapshots/state` 摄像头快照当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//motion/set` 控制摄像头运动检测的开关主题。期望值为`ON`和`OFF`。 注意:如果检测未禁用,关闭运动检测将失败。 ### `frigate//motion` 摄像头当前是否检测到运动。期望值为`ON`和`OFF`。 注意:在最初检测到运动后,`ON`状态将持续到`mqtt_off_delay`秒(默认30秒)内没有检测到运动为止。 ### `frigate//motion/state` 摄像头运动检测当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//improve_contrast/set` 控制摄像头对比度增强的开关主题。期望值为`ON`和`OFF`。 ### `frigate//improve_contrast/state` 摄像头对比度增强当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//motion_threshold/set` 调整摄像头运动阈值的主题。期望值为整数。 ### `frigate//motion_threshold/state` 摄像头当前运动阈值的主题。发布值为整数。 ### `frigate//motion_contour_area/set` 调整摄像头运动轮廓区域的主题。期望值为整数。 ### `frigate//motion_contour_area/state` 摄像头当前运动轮廓区域的主题。发布值为整数。 ### `frigate//review_status` 摄像头当前活动状态的主题。可能的值为`NONE`、`DETECTION`或`ALERT`。 ### `frigate//ptz` 向摄像头发送PTZ命令的主题。 | 命令 | 描述 | | ---------------------- | ----------------------------------------------------------------------------------------- | | `preset_` | 发送命令移动到名为``的预设位置 | | `MOVE_` | 发送命令持续向``方向移动,可能的值为[UP, DOWN, LEFT, RIGHT] | | `ZOOM_` | 发送命令持续进行``方向的缩放,可能的值为[IN, OUT] | | `STOP` | 发送停止移动命令 | ### `frigate//ptz_autotracker/set` 控制摄像头PTZ自动跟踪器的开关主题。期望值为`ON`和`OFF`。 ### `frigate//ptz_autotracker/state` 摄像头PTZ自动跟踪器当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//ptz_autotracker/active` 确定PTZ自动跟踪器是否正在主动跟踪对象的主题。发布值为`ON`和`OFF`。 ### `frigate//review_alerts/set` 控制摄像头警报核查的开关主题。期望值为`ON`和`OFF`。 ### `frigate//review_alerts/state` 摄像头警报核查当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//review_detections/set` 控制摄像头检测核查的开关主题。期望值为`ON`和`OFF`。 ### `frigate//review_detections/state` 摄像头检测核查当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//birdseye/set` 控制摄像头鸟瞰视图的开关主题。期望值为`ON`和`OFF`。鸟瞰模式必须在配置中启用。 ### `frigate//birdseye/state` 摄像头鸟瞰视图当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//birdseye_mode/set` 设置摄像头鸟瞰模式的主题。鸟瞰视图提供不同的模式来自定义摄像头显示的情况。 _注意:从`CONTINUOUS`切换到`MOTION | OBJECTS`值时,摄像头从视图中移除最多需要30秒。_ | 命令 | 描述 | | ------------ | ----------------------------------------------------------------- | | `CONTINUOUS` | 始终包含 | | `MOTION` | 在最近30秒内检测到运动时显示 | | `OBJECTS` | 在最近30秒内有活动跟踪对象时显示 | ### `frigate//birdseye_mode/state` 摄像头鸟瞰模式当前状态的主题。发布值为`CONTINUOUS`、`MOTION`、`OBJECTS`。 ### `frigate//notifications/set` 控制通知的开关主题。期望值为`ON`和`OFF`。 ### `frigate//notifications/state` 通知当前状态的主题。发布值为`ON`和`OFF`。 ### `frigate//notifications/suspend` 暂停通知特定分钟数的主题。期望值为整数。 ### `frigate//notifications/suspended` 通知暂停截止时间的主题。发布值为UNIX时间戳,如果通知未暂停则为0。