# Example config.yml for the MusicMouse python-backend. # # Reverse-engineered from main.py (load_config/Controller) since no schema # was previously documented. Copy this file to config.yml in the directory # passed as the CLI argument to main.py, e.g.: # # python main.py /media/musicmouse/ # # main.py reads "/config.yml". Real credentials (hass_token, # mqtt.password) should never be committed - keep the real config.yml # outside the repo (e.g. only on the deployed device). general: # ALSA output device passed to python-vlc, e.g. "hw:0,0"; omit/null for VLC's default. alsa_device: "softvol_effects" # Serial port the ESP32 firmware is connected on. serial_port: "/dev/ttyUSB0" # Home Assistant connection used for light/service calls (hass_service()). hass_url: "http://homeassistant.local:8123" hass_token: "REPLACE_WITH_LONG_LIVED_ACCESS_TOKEN" # MQTT broker used for the Home-Assistant-discoverable "shelf light". mqtt: server: "homeassistant.local" user: "musicmouse" password: "REPLACE_WITH_MQTT_PASSWORD" # Optional playback/UI tuning (all have defaults if omitted). min_volume: 0 max_volume: 32 volume_increment: 5 # per rotary-encoder tick button_leds_brightness: 0.5 # 0..1, brightness of the prev/next button backlight # One entry per figurine. The key is an arbitrary figure name (also used as # the subdirectory name under the config dir when media_files is omitted). figures: fuchs: # RFID tag id as a hex string (matched against bytes read from the reader). id: "04a1b2c3d4" # Exactly 4 colors: [primary, secondary, background, accent]. # Accepted formats: "#rrggbb" (RGB hex) or "wNN" (white channel hex, e.g. "wff"). colors: ["#ff6600", "#ffcc00", "#331100", "#ffffff"] # Optional explicit list of media file paths for this figure's playlist. # If omitted, main.py globs os.path.join(config_dir, ""). media_files: [] eule: id: "04b2c3d4e5" colors: ["#3355ff", "#66aaff", "#001133", "#ffffff"]