# Codex created 2025-12-29_0224 # Configuration example for Pilot v2 # Special variables: # $hostname - Will be replaced by the system hostname at runtime device: name: $hostname # Use $hostname for automatic hostname, or a custom name like "my-pc" identifiers: ["$hostname"] manufacturer: "Pilot" # Manufacturer name shown in Home Assistant model: "PC Agent" # Model name (e.g., "Laptop", "Desktop", "Server") sw_version: "2.0.0" # Software version suggested_area: "Bureau" # Suggested area in Home Assistant (optional) mqtt: host: "127.0.0.1" port: 1883 username: "" password: "" base_topic: "pilot" discovery_prefix: "homeassistant" client_id: "$hostname" # MQTT client ID - use $hostname or a custom ID keepalive_s: 60 qos: 0 retain_states: true features: telemetry: enabled: true metrics: cpu_usage: enabled: true discovery_enabled: true interval_s: 10 name: "CPU Usage" unique_id: "$hostname_cpu_usage" unit: "%" device_class: "" icon: "mdi:chip" state_class: "measurement" pilot_v2_cpu_usage: enabled: true discovery_enabled: true interval_s: 10 name: "Pilot V2 CPU Usage" unique_id: "$hostname_pilot_v2_cpu_usage" unit: "%" device_class: "" icon: "mdi:application" state_class: "measurement" pilot_v2_mem_used_mb: enabled: true discovery_enabled: true interval_s: 10 name: "Pilot V2 Memory Used" unique_id: "$hostname_pilot_v2_mem_used" unit: "MB" device_class: "" icon: "mdi:application" state_class: "measurement" cpu_temp_c: enabled: true discovery_enabled: true interval_s: 10 name: "CPU Temp" unique_id: "$hostname_cpu_temp" unit: "C" device_class: "temperature" icon: "mdi:thermometer" state_class: "measurement" ssd_temp_c: enabled: true discovery_enabled: true interval_s: 60 name: "SSD Temp" unique_id: "$hostname_ssd_temp" unit: "C" device_class: "temperature" icon: "mdi:thermometer" state_class: "measurement" gpu_usage: enabled: true discovery_enabled: true interval_s: 10 name: "GPU Usage" unique_id: "$hostname_gpu_usage" unit: "%" device_class: "" icon: "mdi:gpu" state_class: "measurement" gpu0_usage: enabled: true discovery_enabled: true interval_s: 10 name: "GPU0 Usage" unique_id: "$hostname_gpu0_usage" unit: "%" device_class: "" icon: "mdi:gpu" state_class: "measurement" gpu1_usage: enabled: true discovery_enabled: true interval_s: 10 name: "GPU1 Usage" unique_id: "$hostname_gpu1_usage" unit: "%" device_class: "" icon: "mdi:gpu" state_class: "measurement" gpu0_temp_c: enabled: true discovery_enabled: true interval_s: 10 name: "GPU0 Temp" unique_id: "$hostname_gpu0_temp" unit: "C" device_class: "temperature" icon: "mdi:thermometer" state_class: "measurement" gpu1_temp_c: enabled: true discovery_enabled: true interval_s: 10 name: "GPU1 Temp" unique_id: "$hostname_gpu1_temp" unit: "C" device_class: "temperature" icon: "mdi:thermometer" state_class: "measurement" gpu0_mem_used_gb: enabled: true discovery_enabled: true interval_s: 10 name: "GPU0 Memory Used" unique_id: "$hostname_gpu0_mem_used" unit: "GB" device_class: "" icon: "mdi:memory" state_class: "measurement" gpu1_mem_used_gb: enabled: true discovery_enabled: true interval_s: 10 name: "GPU1 Memory Used" unique_id: "$hostname_gpu1_mem_used" unit: "GB" device_class: "" icon: "mdi:memory" state_class: "measurement" amd_gpu_usage: enabled: true discovery_enabled: true interval_s: 10 name: "AMD GPU Usage" unique_id: "$hostname_amd_gpu_usage" unit: "%" device_class: "" icon: "mdi:gpu" state_class: "measurement" amd_gpu_temp_c: enabled: true discovery_enabled: true interval_s: 10 name: "AMD GPU Temp" unique_id: "$hostname_amd_gpu_temp" unit: "C" device_class: "temperature" icon: "mdi:thermometer" state_class: "measurement" amd_gpu_mem_used_gb: enabled: true discovery_enabled: true interval_s: 10 name: "AMD GPU Memory Used" unique_id: "$hostname_amd_gpu_mem_used" unit: "GB" device_class: "" icon: "mdi:memory" state_class: "measurement" memory_used_gb: enabled: true discovery_enabled: true interval_s: 10 name: "Memory Used" unique_id: "$hostname_memory_used" unit: "GB" device_class: "" icon: "mdi:memory" state_class: "measurement" memory_total_gb: enabled: true discovery_enabled: true interval_s: 120 name: "Memory Total" unique_id: "$hostname_memory_total" unit: "GB" device_class: "" icon: "mdi:memory" state_class: "" disk_free_gb: enabled: true discovery_enabled: true interval_s: 120 name: "Disk Free" unique_id: "$hostname_disk_free" unit: "GB" device_class: "" icon: "mdi:harddisk" state_class: "measurement" fan_cpu_rpm: enabled: true discovery_enabled: true interval_s: 10 name: "CPU Fan" unique_id: "$hostname_fan_cpu" unit: "RPM" device_class: "" icon: "mdi:fan" state_class: "measurement" fan_gpu_rpm: enabled: true discovery_enabled: true interval_s: 10 name: "GPU Fan" unique_id: "$hostname_fan_gpu" unit: "RPM" device_class: "" icon: "mdi:fan" state_class: "measurement" ip_address: enabled: true discovery_enabled: true interval_s: 120 name: "IP Address" unique_id: "$hostname_ip" unit: "" device_class: "" icon: "mdi:ip" state_class: "" battery_level: enabled: true discovery_enabled: true interval_s: 60 name: "Battery Level" unique_id: "$hostname_battery_level" unit: "%" device_class: "battery" icon: "mdi:battery" state_class: "measurement" battery_state: enabled: true discovery_enabled: true interval_s: 60 name: "Battery State" unique_id: "$hostname_battery_state" unit: "" device_class: "" icon: "mdi:battery-charging" state_class: "" power_state: enabled: true discovery_enabled: true interval_s: 60 name: "Power State" unique_id: "$hostname_power_state" unit: "" device_class: "" icon: "mdi:power" state_class: "" kernel: enabled: true discovery_enabled: true interval_s: 7200 name: "Kernel" unique_id: "$hostname_kernel" unit: "" device_class: "" icon: "mdi:linux" state_class: "" os_version: enabled: true discovery_enabled: true interval_s: 7200 name: "OS Version" unique_id: "$hostname_os_version" unit: "" device_class: "" icon: "mdi:desktop-classic" state_class: "" # Niveau sonore actuel (via wpctl, PipeWire) volume_level: enabled: true discovery_enabled: true interval_s: 30 name: "Volume Level" unique_id: "$hostname_volume_level" unit: "%" device_class: "" icon: "mdi:volume-high" state_class: "measurement" commands: enabled: true cooldown_s: 5 dry_run: true allowlist: - "shutdown" - "reboot" - "sleep" - "hibernate" - "screen" - "volume" - "system_update" - "inhibit_sleep" - "app_vacuum_tube" - "app_livebox_tv" - "bluetooth_k3pro" - "bluetooth_g7bts" power_backend: linux: "linux_logind_polkit" # or linux_sudoers windows: "windows_service" screen_backend: linux: "gnome_busctl" # or x11_xset windows: "winapi_session" # or external_tool publish: heartbeat_s: 30 availability: true # Applications pilotables depuis Home Assistant # start_args: arguments passes au demarrage (ex: --fullscreen) # process_check: motif pour pgrep/pkill (recherche dans le nom complet du processus) apps: - name: "vacuum_tube" display_name: "VacuumTube" enabled: true start_cmd: "flatpak" start_args: ["run", "rocks.shy.VacuumTube"] process_check: "rocks.shy.VacuumTube" - name: "livebox_tv" display_name: "Livebox TV" enabled: true start_cmd: "vlc" start_args: - "--fullscreen" - "--network-caching=1000" - "/home/gilles/pilot/iptv/france_tv.m3u" # ou chemin local apres installation process_check: "vlc" channels_m3u: "/home/gilles/pilot/iptv/france_tv.m3u" # active le selecteur de chaine HA # Appareils Bluetooth a surveiller et controler # mac: adresse MAC (obtenue via: bluetoothctl paired-devices) # Prerequis: utilisateur dans le groupe 'bluetooth' bluetooth: enabled: true devices: - name: "k3pro" mac: "F1:B7:7F:BC:7B:00" display_name: "ThinkPlus K3 Pro" - name: "g7bts" mac: "AA:23:02:16:32:6F" display_name: "Rii G7BTS" paths: linux_config: "/etc/pilot/config.yaml" windows_config: "C:\\ProgramData\\Pilot\\config.yaml"