api:
  audience: Fastapi
  client_id: Fastapi
  get_beacons_url: https://10.251.0.30:5050/reslevis/getTrackers
  get_gateways_url: https://10.251.0.30:5050/reslevis/getGateways
  refresh_seconds: 30
  timeout_s: 10.0
  token_url: https://10.251.0.30:10002/realms/API.Server.local/protocol/openid-connect/token
  verify_tls: false
collect_train:
  aggregate: median
  gateway_ready_check_before_job: true
  gateway_ready_log_seconds: 10
  gateway_ready_max_age_seconds: 30
  iqr_k: 1.5
  job_glob: '*.csv'
  jobs_dir: /data/train/jobs
  mad_z: 3.5
  max_stddev: 8
  min_non_nan: 3
  min_samples_per_gateway: 5
  outlier_method: mad
  poll_seconds: 2
  rssi_decimals: 3
  rssi_max: -25
  rssi_min: -110
  samples_dir: /data/train/samples
  window_seconds: 30
debug:
  collect_train_log_every_seconds: 10
  collect_train_log_first_seen: true
  collect_train_log_samples: true
  csv: true
  dump_beacons_api: true
  dump_gateways_api: true
  enabled: true
  log_each_mqtt_message: false
  log_inference_detail: true
  log_mqtt_raw: false
  monitor_online: true
  offline_after_seconds_beacons: 240
  offline_after_seconds_gateways: 90
  online_check_seconds: 30
  show_library_warnings: false
  target_mac: ''
  timezone: Europe/Rome
  train_stats_top_k: 8
  train_verbose: true
infer:
  aggregate: median
  gateways_csv: /data/config/gateway.csv
  include_mac: true
  mad_z: 3.5
  model_path: /data/model/model.joblib
  nan_fill: -110
  out_file: infer.csv
  outlier_method: mad
  output_dir: /data/infer
  output_format: csv
  refresh_seconds: 10
  rssi_max: -25
  rssi_min: -110
  window_seconds: 30
  xy_round: 0
maps:
  default_dot_size: 20
  default_grid_size: 100
  floor_prefix: floor_
  map_dir: /data/maps
  meta_prefix: meta_
  show_grid_default: true
ml:
  k: 3
  method: knn
  metric: euclidean
  weights: distance
mode: all
mqtt:
  ca_file: ''
  client_id: ble-ai-localizer
  host: 192.168.1.101
  keepalive: 60
  password: ''
  port: 1883
  protocol: mqttv311
  qos: 0
  tls: false
  topic: publish_out/#
  username: ''
  verify_tls: false
paths:
  beacons_csv: /data/config/beacons.csv
  csv_delimiter: ;
  dataset: /data/fingerprint.parquet
  gateways_csv: /data/config/gateway.csv
  mqtt_raw_dir: /data/mqtt_raw/
train:
  backup_existing_model: true
  gateways_csv: /data/config/gateway.csv
  knn:
    cv:
      enabled: false
      folds: 5
      k_max: 15
      k_min: 3
    k: 3
    metric: euclidean
    weights: distance
  model_path: /data/model/model.joblib
  nan_fill: -110
  sample_glob: '*.csv'
  samples_dir: /data/train/samples
ui:
  font_path: /app/DejaVuSans-Bold.ttf
