{
  "fields": [
    {
      "default": "birdpi",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "service",
      "key": "service.name",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Name",
      "type": "string"
    },
    {
      "default": "birdpi-sync",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "service",
      "key": "service.sync",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Sync",
      "type": "string"
    },
    {
      "default": "birdpi-sync",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "service",
      "key": "service.timer",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Timer",
      "type": "string"
    },
    {
      "default": 44100,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.samplerate",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Samplerate",
      "type": "integer"
    },
    {
      "default": 1,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.channels",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Channels",
      "type": "integer"
    },
    {
      "default": 3.0,
      "description": "L\u00e4nge jedes Audio-Segments in Sekunden, das zur Analyse an das Inferenzmodell gesendet wird.",
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.segment_seconds",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Segment Seconds",
      "type": "number"
    },
    {
      "default": 1.0,
      "description": "\u00dcberlappung zwischen den Audio-Segmenten in Sekunden. Hilft, Erkennungen an den R\u00e4ndern von Segmenten nicht zu verpassen.",
      "editable": true,
      "enum": null,
      "group": "audio",
      "key": "audio.overlap_seconds",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Overlap Seconds",
      "type": "number"
    },
    {
      "default": "default",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.device_preferred",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Device Preferred",
      "type": "string"
    },
    {
      "default": false,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.preprocessing.highpass_enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Highpass Enabled",
      "type": "boolean"
    },
    {
      "default": 300,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.preprocessing.highpass_hz",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Highpass Hz",
      "type": "integer"
    },
    {
      "default": false,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.preprocessing.normalize_enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Normalize Enabled",
      "type": "boolean"
    },
    {
      "default": false,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.preprocessing.noisegate_enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Noisegate Enabled",
      "type": "boolean"
    },
    {
      "default": -45.0,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "audio",
      "key": "audio.preprocessing.noisegate_threshold_dbfs",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Noisegate Threshold Dbfs",
      "type": "number"
    },
    {
      "default": 0.6,
      "description": "Mindest-Konfidenzwert (0.0-1.0), den eine Erkennung erreichen muss, um ber\u00fccksichtigt zu werden. H\u00f6here Werte bedeuten weniger, aber zuverl\u00e4ssigere Erkennungen.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.score_threshold",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Score Threshold",
      "type": "number"
    },
    {
      "default": 0.6,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "inference",
      "key": "inference.min_confidence_log",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Min Confidence Log",
      "type": "number"
    },
    {
      "default": false,
      "description": "Aktiviert einen Filter, der nur Erkennungen zul\u00e4sst, die innerhalb eines Zeitfensters mehrfach auftreten, um Fehlalarme zu reduzieren.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.postfilter_enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Postfilter Enabled",
      "type": "boolean"
    },
    {
      "default": 60,
      "description": "Zeitfenster in Sekunden f\u00fcr den Post-Filter. Nur relevant, wenn der Filter aktiviert ist.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.postfilter_window_seconds",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Postfilter Window Seconds",
      "type": "integer"
    },
    {
      "default": 1,
      "description": "Mindestanzahl an Erkennungen einer Art innerhalb des Zeitfensters, damit die Erkennung als g\u00fcltig angesehen wird.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.postfilter_min_count",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Postfilter Min Count",
      "type": "integer"
    },
    {
      "default": null,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "inference",
      "key": "inference.classifier_model_path",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Classifier Model Path",
      "type": "string"
    },
    {
      "default": null,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "inference",
      "key": "inference.classifier_labels_path",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Classifier Labels Path",
      "type": "string"
    },
    {
      "default": false,
      "description": "Verwirft automatisch Erkennungen von Vogelarten, die am konfigurierten Standort als nicht-lokal gelten.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.reject_nonlocal",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Reject Nonlocal",
      "type": "boolean"
    },
    {
      "default": 1,
      "description": "1 = Nur Vogelsounds, 2 = Vogelsounds lokal & nicht-lokal, 3 = Alle Sounds inkl. Environmental, 0 = Keine Aufnahmen speichern",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.save_recording",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Save Recording",
      "type": "integer"
    },
    {
      "default": false,
      "description": "Fasst mehrere Erkennungen derselben Art innerhalb kurzer Zeit zu einem einzigen Eintrag zusammen, um die Listen \u00fcbersichtlich zu halten.",
      "editable": true,
      "enum": null,
      "group": "inference",
      "key": "inference.aggregate_per_species",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Aggregate Per Species",
      "type": "boolean"
    },
    {
      "default": "/var/lib/birdpi",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.data_base_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Data Base Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/records",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.records_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Records Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/spectogramms",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.spectogramms_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Spectogramms Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/birddex",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.birddex_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Birddex Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/models",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.models_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Models Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/instances/birdnet.sqlite3",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.db_path",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Db Path",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/instances/telemetry.sqlite3",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.telemetry_db_path",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Telemetry Db Path",
      "type": "string"
    },
    {
      "default": "/var/log/birdpi",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.logs_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Logs Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tests",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.tests_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Tests Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tests/audio_test_results.jsonl",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.jsonl_out",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Jsonl Out",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tests/tests_audio.html",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.html_out",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Html Out",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/lexikon/pages",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.bird_pages_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Bird Pages Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/lexikon/media",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.bird_images_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Bird Images Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tmp",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.temp_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Temp Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tables",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.tables_dir",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Tables Dir",
      "type": "string"
    },
    {
      "default": "/var/lib/birdpi/tables/german_bird_pages.csv",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "paths",
      "key": "paths.bird_pages_table",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Bird Pages Table",
      "type": "string"
    },
    {
      "default": [
        {
          "key": "devlab",
          "lat": 50.1109,
          "lon": 8.6821,
          "name": "Dev Lab",
          "timezone": "Europe/Berlin"
        }
      ],
      "description": null,
      "editable": false,
      "enum": null,
      "group": "Allgemein",
      "key": "sites",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Sites",
      "type": "array"
    },
    {
      "default": 50.1109,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "location",
      "key": "location.lat",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Lat",
      "type": "number"
    },
    {
      "default": 8.6821,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "location",
      "key": "location.lon",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Lon",
      "type": "number"
    },
    {
      "default": "Europe/Berlin",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "location",
      "key": "location.timezone",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Timezone",
      "type": "string"
    },
    {
      "default": false,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "filters",
      "key": "filters.daytime_only",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Daytime Only",
      "type": "boolean"
    },
    {
      "default": 6,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "filters",
      "key": "filters.day_start_hour",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Day Start Hour",
      "type": "integer"
    },
    {
      "default": 22,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "filters",
      "key": "filters.day_end_hour",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Day End Hour",
      "type": "integer"
    },
    {
      "default": 2,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "limits",
      "key": "limits.min_free_space_gb",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Min Free Space Gb",
      "type": "integer"
    },
    {
      "default": 80,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "limits",
      "key": "limits.cpu_temp_c_limit",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Cpu Temp C Limit",
      "type": "integer"
    },
    {
      "default": "0.0.0.0",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "server",
      "key": "server.host",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Host",
      "type": "string"
    },
    {
      "default": 8080,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "server",
      "key": "server.port",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Port",
      "type": "integer"
    },
    {
      "default": false,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "ui",
      "key": "ui.enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Enabled",
      "type": "boolean"
    },
    {
      "default": "INFO",
      "description": "Legt den Detailgrad der Log-Dateien fest (DEBUG, INFO, WARNING, ERROR). 'DEBUG' ist am ausf\u00fchrlichsten.",
      "editable": true,
      "enum": null,
      "group": "logging",
      "key": "logging.level",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Level",
      "type": "string"
    },
    {
      "default": "INFO",
      "description": null,
      "editable": false,
      "enum": null,
      "group": "logging",
      "key": "logging.werkzeug_level",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Werkzeug Level",
      "type": "string"
    },
    {
      "default": 74.0,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "battery",
      "key": "battery.capacity_wh",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Capacity Wh",
      "type": "number"
    },
    {
      "default": 0.85,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "battery",
      "key": "battery.output_efficiency",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Output Efficiency",
      "type": "number"
    },
    {
      "default": 300,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "telemetry",
      "key": "telemetry.interval_sec",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Interval Sec",
      "type": "integer"
    },
    {
      "default": 48,
      "description": null,
      "editable": false,
      "enum": null,
      "group": "telemetry",
      "key": "telemetry.history_limit_h",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "History Limit H",
      "type": "integer"
    },
    {
      "default": false,
      "description": null,
      "editable": true,
      "enum": null,
      "group": "record",
      "key": "record.recording_enabled",
      "maximum": null,
      "minimum": null,
      "step": null,
      "title": "Recording Enabled",
      "type": "boolean"
    }
  ],
  "ok": true
}
