Files
frigate/docs/docs/integrations/mqtt.md
Nick 045aac8933 Add object filter ratio (#2952)
* Add object ratio config parameters

Issue: #2948

* Add config test for object filter ratios

Issue: #2948

* Address review comments

- Accept `ratio` default
- Rename `bounds` to `box` for consistency
- Add migration for new field

Issue: #2948

* Fix logical errors

- field migrations require default values
- `clipped` referenced the wrong index for region, since it shifted
- missed an inclusion of `ratio` for detections in `process_frames`
- revert naming `o[2]` as `box` since it is out of scope!

This has now been test-run against a video, so I believe the kinks are
worked out.

Issue: #2948

* Update contributing notes for `make`

Issue: #2948

* Fix migration

- Ensure that defaults match between Event and migration script
- Deconflict migration script number (from rebase)

Issue: #2948

* Filter objects out of ratio bounds

Issue: #2948

* Update migration file to 009

Issue: #2948
2022-04-10 08:25:18 -05:00

4.1 KiB

id, title
id title
mqtt MQTT

These are the MQTT messages generated by Frigate. The default topic_prefix is frigate, but can be changed in the config file.

frigate/available

Designed to be used as an availability topic with Home Assistant. Possible message are: "online": published when frigate is running (on startup) "offline": published right before frigate stops

frigate/restart

Causes frigate to exit. Docker should be configured to automatically restart the container on exit.

frigate/<camera_name>/<object_name>

Publishes the count of objects for the camera for use as a sensor in Home Assistant. all can be used as the object_name for the count of all objects for the camera.

frigate/<zone_name>/<object_name>

Publishes the count of objects for the zone for use as a sensor in Home Assistant. all can be used as the object_name for the count of all objects for the zone.

frigate/<camera_name>/<object_name>/snapshot

Publishes a jpeg encoded frame of the detected object type. When the object is no longer detected, the highest confidence image is published or the original image is published again.

The height and crop of snapshots can be configured in the config.

frigate/events

Message published for each changed event. The first message is published when the tracked object is no longer marked as a false_positive. When frigate finds a better snapshot of the tracked object or when a zone change occurs, it will publish a message with the same id. When the event ends, a final message is published with end_time set.

{
  "type": "update", // new, update, end
  "before": {
    "id": "1607123955.475377-mxklsc",
    "camera": "front_door",
    "frame_time": 1607123961.837752,
    "snapshot_time": 1607123961.837752,
    "label": "person",
    "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,
    "stationary": false, // whether or not the object is considered stationary
    "motionless_count": 0, // number of frames the object has been motionless
    "position_changes": 2 // number of times the object has moved from a stationary position
  },
  "after": {
    "id": "1607123955.475377-mxklsc",
    "camera": "front_door",
    "frame_time": 1607123962.082975,
    "snapshot_time": 1607123961.837752,
    "label": "person",
    "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,
    "stationary": false, // whether or not the object is considered stationary
    "motionless_count": 0, // number of frames the object has been motionless
    "position_changes": 2 // number of times the object has changed position
  }
}

frigate/stats

Same data available at /api/stats published at a configurable interval.

frigate/<camera_name>/detect/set

Topic to turn detection for a camera on and off. Expected values are ON and OFF.

frigate/<camera_name>/detect/state

Topic with current state of detection for a camera. Published values are ON and OFF.

frigate/<camera_name>/recordings/set

Topic to turn recordings for a camera on and off. Expected values are ON and OFF.

frigate/<camera_name>/recordings/state

Topic with current state of recordings for a camera. Published values are ON and OFF.

frigate/<camera_name>/snapshots/set

Topic to turn snapshots for a camera on and off. Expected values are ON and OFF.

frigate/<camera_name>/snapshots/state

Topic with current state of snapshots for a camera. Published values are ON and OFF.