Configuration - Otus9051/feathergate GitHub Wiki

Understanding the Config file

This is an example config file:

frigate:
  base_url: "frigate_url"
  username: "username"
  password: "password"
  camera_names:
    - "camera1"
    - "camera2"
    - "camera3"
    - "camera4"

display:
  resolution: [1920, 1080]
  grid_rows: 2
  grid_cols: 2
  interval_seconds: 0.05
  interval_rate_min: 5 # Minimum rate for interval_seconds
  interval_rate_max: 0.1 # Maximum rate for interval_seconds
  font_size: 24
  show_timestamps: true
  splash_image_path: "feathergate.png"

mqtt: # MQTT configuration for Dynamic Refresh
  enabled: true # Set to false if you do not want to use MQTT
  api_only_mode: false # Set to true to use API polling instead of MQTT for motion detection
  api_poll_interval: 2 # Seconds between API polls when in API-only mode (default: 2)
  broker_host: # e.g., 192.168.1.100
  broker_port: 1883
  username:  # Optional
  password:  # Optional
  frigate_topic_prefix: frigate # This is Frigate's default

# Advanced settings (optional, will use defaults if not present)
advanced:
  token_lifetime_seconds: 1576800000 # Frigate token expiry. Use a very long value for the 2081 expiry.
  image_resampling: "BICUBIC" # Options: LANCZOS, BILINEAR, NEAREST, BICUBIC

Let us understand each parameter.

Frigate:

  • base_url: This is the URL of your Frigate instance. E.g.: https://10.0.0.16:8971
  • username: This is the username of an user (preferably with viewer privileges (v0.16 onwards)) of your Frigate instance.
  • password: This is the password of the user.
  • camera_names: This is a list consisting of all the camera names that you want to include in the viewer. Note that camera_name is case sensitive and should be the same as the names in your Frigate instance. We encourage the number of cameras to be divisible equally by the grid_rows and grid_cols variables.

Display:

  • resolution: This is the native resolution of your display. Use [Width, Height] measurements in pixels.
  • grid_rows: Number of rows to draw for displaying feeds.
  • grid_cols: Number of columns to draw for displaying feeds.
  • interval_seconds: Fallback/Legacy. Used for determining how often to update the feeds in seconds.
  • interval_rate_min: Lowest rate of updating camera feeds in seconds. This will be used when cameras do not detect motion. Keep it as high as you want.
  • interval_rate_max: Highest rate of updating camera feeds in seconds. This will be used when cameras detect motion. Keep it as low as you want.
  • font_size: Font size for the UI.
  • show_timestamps: Option to enable or disable timestamps. True or False.
  • splash_image_path: Path to the splash image.

MQTT

  • enabled: Option to enable or disable MQTT for motion detection. True or False.
  • api_only_mode: Option to enable API Only mode for motion detection (unstable) if MQTT is unavailable. True or False.
  • api_poll_interval: Rate of polling from API in seconds.
  • broker_host: MQTT Broker IP. E.g.: 10.0.0.20
  • broker_port: MQTT Broker Port. E.g.: 1833. Leave it as default unless you have it on another port.
  • username: MQTT Broker Username.
  • password: MQTT Broker Password.
  • frigate_topic_prefix: Prefix of Frigate topic. Leave it as default.

Advanced: