mqtt: host: 10.40.0.2 port: 1883 username: null password: null client_id: yt-controller keepalive_seconds: 30 reconnect_min_seconds: 1 reconnect_max_seconds: 30 command_queue_size: 512 # QoS 1 is accepted only after the broker PUBACKs within this bound. publish_ack_timeout_seconds: 2 topics: player_command: youtube/player/cmd player_status: youtube/player/status player_state: youtube/player/state player_telemetry: youtube/player/telemetry controller_command: youtube/controller/cmd ingest_progress: youtube/ingest/progress playback_base: youtube/media/playback router_mode_set: audio/player/mode/set router_mode_state: audio/player/mode/state # Optional additive result/warning topic. Set null to disable it. # Existing consumers never depend on this topic. controller_result: youtube/controller/v2/events storage: media_base: /mnt/Media/YTPlayer data_base: /controller-data database_name: controller.sqlite3 legacy_yaml_name: playlists.yaml slot_count: 10 retention_seconds: 172800 expiry_interval_seconds: 60 # Marks uncertain playback for operator review; it never removes protection. uncertain_review_after_seconds: 900 downloads: yt_dlp_binary: yt-dlp cookie_path: /run/secrets/yt-dlp-cookies.txt cookie_required: false max_workers: 2 process_timeout_seconds: 7200 max_height: 1080 router: required_mode: video confirmation_timeout_seconds: 3 # attempt: request video and wait for the finite confirmation timeout # continue: request video but do not wait when no state has been observed # reject: reject playback until a Router state has been observed when_state_unknown: attempt continue_on_confirmation_failure: true fallback_restore_mode: null homeassistant: enabled: true discovery_prefix: homeassistant web: host: 0.0.0.0 port: 7531