Configuration Reference

February 3, 2026 · View on GitHub

This document provides a complete reference for config.ini settings.

Full Example (WarDragon-tuned)

[SETTINGS]

# ZMQ inputs (WarDragon defaults)
zmq_host = 127.0.0.1
zmq_port = 4224          # Drone telemetry stream
zmq_status_port = 4225   # WarDragon monitor (GPS, system)

# FPV signals (optional)
fpv_enabled = false
fpv_zmq_host = 127.0.0.1
fpv_zmq_port = 4226
fpv_stale = 60
fpv_radius_m = 15
fpv_rate_limit = 2.0
fpv_max_signals = 200
fpv_confirm_only = true

# TAK Server output (optional). If blank, TAK server is disabled.
tak_host =
tak_port =
tak_protocol =           # "tcp" or "udp"
tak_tls_p12 =
tak_tls_p12_pass =
tak_tls_certfile =
tak_tls_keyfile =
tak_tls_cafile =
tak_tls_skip_verify = true

# Multicast CoT to ATAK (simple zero-server option)
enable_multicast = true
tak_multicast_addr = 239.2.3.1
tak_multicast_port = 6969
tak_multicast_interface = 0.0.0.0
multicast_ttl = 1

# Runtime behavior
rate_limit = 3.0         # min seconds between sends per drone
inactivity_timeout = 60.0
enable_receive = false

# Drone tracking capacity (two-tier priority system)
max_verified_drones = 70   # FAA RID-verified drones (evicted last)
max_unverified_drones = 30 # Unverified drones
# Legacy single-tier mode (uncomment to disable RID priority):
# max_drones = 60

# MQTT / Home Assistant (optional)
mqtt_enabled = false
mqtt_host = 127.0.0.1
mqtt_port = 1883
mqtt_topic = wardragon/drones

mqtt_username =
mqtt_password =
mqtt_tls = false
mqtt_ca_file =
mqtt_certfile =
mqtt_keyfile =
mqtt_tls_insecure = false

# Per-drone topics (required for HA auto-discovery)
mqtt_per_drone_enabled = true
mqtt_per_drone_base = wardragon/drone

# Home Assistant discovery
mqtt_ha_enabled = true
mqtt_ha_prefix = homeassistant
mqtt_ha_device_base = wardragon_drone

# Aircraft topics (ADS-B) - requires mqtt_enabled = true
mqtt_aircraft_enabled = false
mqtt_aircraft_topic = wardragon/aircraft

# Signal alerts (optional)
mqtt_signals_enabled = false
mqtt_signals_topic = wardragon/signals
mqtt_ha_signal_tracker = false
mqtt_ha_signal_id = signal_latest

# Message retention
mqtt_retain = true

# Lattice (optional)
lattice_enabled = false
lattice_token =
# Either a full base URL:
lattice_base_url =
# or just the endpoint host (https:// will be prefixed):
lattice_endpoint =
lattice_sandbox_token =
lattice_source_name = DragonSync
lattice_drone_rate = 1.0
lattice_wd_rate = 0.2

# ADS-B / UAT (optional)
adsb_enabled = false
adsb_json_url = http://127.0.0.1:8080/?all_with_pos
adsb_uid_prefix = adsb-
adsb_cot_stale = 15
adsb_cache_ttl = 120
adsb_rate_limit = 3.0
adsb_min_alt = 0
adsb_max_alt = 0

# HTTP API (optional)
api_enabled = true
api_host = 0.0.0.0
api_port = 8088

Settings Reference

ZMQ Inputs

SettingDefaultDescription
zmq_host127.0.0.1ZMQ server host for drone telemetry
zmq_port4224ZMQ port for drone telemetry stream
zmq_status_port4225ZMQ port for WarDragon system/GPS status

FPV Signal Detection

SettingDefaultDescription
fpv_enabledfalseEnable FPV signal ingestion
fpv_zmq_host127.0.0.1ZMQ host for FPV alerts
fpv_zmq_port4226ZMQ port for FPV alerts
fpv_stale60Seconds before signal alert expires
fpv_radius_m15Offset radius for alert dot from kit
fpv_rate_limit2.0Min seconds between CoT for same signal
fpv_max_signals200Max concurrent signal alerts
fpv_confirm_onlytrueOnly ingest confirm alerts (not energy)

TAK Server Output

SettingDefaultDescription
tak_host(empty)TAK server hostname/IP. Leave blank to disable
tak_port(empty)TAK server port
tak_protocol(empty)tcp or udp
tak_tls_p12(empty)Path to PKCS#12 client cert
tak_tls_p12_pass(empty)PKCS#12 password
tak_tls_certfile(empty)Path to PEM certificate (alternative to p12)
tak_tls_keyfile(empty)Path to PEM private key
tak_tls_cafile(empty)Path to CA certificate for server verification
tak_tls_skip_verifytrueSkip TLS certificate verification (dev only)

Multicast CoT

SettingDefaultDescription
enable_multicasttrueEnable multicast CoT output
tak_multicast_addr239.2.3.1Multicast group address
tak_multicast_port6969Multicast port
tak_multicast_interface0.0.0.0Network interface to bind
multicast_ttl1Multicast TTL (hops)

Runtime Behavior

SettingDefaultDescription
rate_limit3.0Min seconds between CoT sends per drone
max_verified_drones70Max FAA RID-verified drones (evicted last)
max_unverified_drones30Max unverified drones
max_drones(none)Legacy single-tier mode (disables RID priority)
inactivity_timeout60.0Seconds before drone is marked inactive
enable_receivefalseEnable receiving CoT (not typically needed)

Note: The two-tier system prioritizes FAA RID-verified drones, evicting unverified drones first when capacity is reached. Use max_drones only if you want all drones treated equally.

MQTT / Home Assistant

Important: mqtt_enabled = true is the master switch. All other MQTT features require it to be enabled.

SettingDefaultDescription
mqtt_enabledfalseMaster switch for all MQTT output
mqtt_host127.0.0.1MQTT broker hostname/IP
mqtt_port1883MQTT broker port
mqtt_topicwardragon/dronesAggregate topic for all drone updates
mqtt_username(empty)MQTT username
mqtt_password(empty)MQTT password
mqtt_tlsfalseEnable TLS to broker
mqtt_ca_file(empty)CA certificate for broker verification
mqtt_certfile(empty)Client certificate for mTLS
mqtt_keyfile(empty)Client key for mTLS
mqtt_tls_insecurefalseSkip TLS verification (dev only)
mqtt_retaintrueRetain messages (good for HA dashboards)
mqtt_per_drone_enabledfalsePublish per-drone topics (required for HA)
mqtt_per_drone_basewardragon/droneBase topic for per-drone JSON
mqtt_aircraft_enabledfalsePublish ADS-B aircraft to MQTT
mqtt_aircraft_topicwardragon/aircraftTopic for aircraft updates
mqtt_signals_enabledfalsePublish signal alerts to MQTT
mqtt_signals_topicwardragon/signalsTopic for signal alerts
mqtt_ha_enabledfalseEnable Home Assistant discovery
mqtt_ha_prefixhomeassistantHA discovery topic prefix
mqtt_ha_device_basewardragon_droneHA device ID prefix
mqtt_ha_signal_trackerfalseCreate per-kit HA signal tracker
mqtt_ha_signal_idsignal_latestUnique ID suffix for signal entity

Hard-coded system topics (not configurable):

  • wardragon/system/attrs — kit status attributes
  • wardragon/system/availability — kit availability
  • wardragon/service/availability — service availability

Lattice

SettingDefaultDescription
lattice_enabledfalseEnable Lattice export
lattice_token(empty)Lattice API token
lattice_base_url(empty)Full Lattice base URL
lattice_endpoint(empty)Lattice endpoint host (https:// prefixed)
lattice_sandbox_token(empty)Sandbox API token
lattice_source_nameDragonSyncSource name in Lattice
lattice_drone_rate1.0Drone update rate (Hz)
lattice_wd_rate0.2WarDragon status rate (Hz)

ADS-B / UAT

SettingDefaultDescription
adsb_enabledfalseEnable ADS-B ingestion
adsb_json_urlhttp://127.0.0.1:8080/?all_with_posreadsb API URL
adsb_uid_prefixadsb-Prefix for aircraft CoT UIDs
adsb_cot_stale15Seconds before CoT message expires
adsb_cache_ttl120Seconds to keep aircraft in cache
adsb_rate_limit3.0Min seconds between CoT sends per aircraft
adsb_min_alt0Min altitude filter (feet, 0=disabled)
adsb_max_alt0Max altitude filter (feet, 0=disabled)

Note: To publish aircraft to MQTT, also set mqtt_enabled = true and mqtt_aircraft_enabled = true.

HTTP API

SettingDefaultDescription
api_enabledtrueEnable read-only HTTP API
api_host0.0.0.0API bind address
api_port8088API port

Minimal Configurations

Multicast Only (Simplest)

[SETTINGS]
zmq_host = 127.0.0.1
zmq_port = 4224
zmq_status_port = 4225
enable_multicast = true
tak_multicast_addr = 239.2.3.1
tak_multicast_port = 6969

TAK Server (TCP)

[SETTINGS]
zmq_host = 127.0.0.1
zmq_port = 4224
zmq_status_port = 4225
enable_multicast = false
tak_host = takserver.example.com
tak_port = 8089
tak_protocol = tcp

TAK Server (TLS with P12)

[SETTINGS]
zmq_host = 127.0.0.1
zmq_port = 4224
zmq_status_port = 4225
enable_multicast = false
tak_host = takserver.example.com
tak_port = 8089
tak_protocol = tcp
tak_tls_p12 = /path/to/client.p12
tak_tls_p12_pass = yourpassword
tak_tls_skip_verify = false

Home Assistant

[SETTINGS]
zmq_host = 127.0.0.1
zmq_port = 4224
zmq_status_port = 4225
enable_multicast = true
mqtt_enabled = true
mqtt_host = 127.0.0.1
mqtt_port = 1883
mqtt_per_drone_enabled = true
mqtt_ha_enabled = true