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
andgrid_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:
- token_lifetime_seconds: Lifetime of Frigate token in seconds. Leave it as default.
- image_resampling: Algorithm to use to resample the image. Refer to https://pillow.readthedocs.io/en/stable/handbook/concepts.html#concept-filters