# WeMo MCP Server Configuration Example # Copy this file to config.yaml and customize as needed # # The server will look for config.yaml in: # 1. Current working directory # 2. ~/.config/wemo-mcp/config.yaml # 3. /etc/wemo-mcp/config.yaml # # You can also override any setting using environment variables with the WEMO_MCP_ prefix # Example: WEMO_MCP_DEFAULT_SUBNET=10.0.0.0/24 # Network scanning configuration network: # Default subnet to scan if not specified in scan_network call # CIDR notation (e.g., "192.168.1.0/24" for 192.168.1.0-192.168.1.255) default_subnet: "192.168.1.0/24" # Connection timeout for port probing (in seconds) # Lower values = faster scan, but may miss slow-responding devices # Range: 0.1 - 5.0 seconds scan_timeout: 0.6 # Maximum concurrent workers for parallel scanning # Higher values = faster scan, but may overwhelm network # Range: 1 - 200 workers max_workers: 60 # Number of retry attempts for network operations # Applied to device control and status operations retry_attempts: 3 # Initial delay between retries (in seconds) # Delay doubles with exponential backoff on each retry retry_delay: 0.5 # Device cache configuration cache: # Enable or disable persistent device caching # When enabled, discovered devices are saved to disk enabled: true # Path to cache file # Default: ~/.wemo_mcp_cache.json file_path: "~/.wemo_mcp_cache.json" # Time-to-live for cached devices (in seconds) # After this time, cache is considered stale and will rescan # Default: 3600 (1 hour) # Set to 0 to disable expiration ttl_seconds: 3600 # Logging configuration logging: # Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL level: "INFO" # Log format (Python logging format string) format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s" # Example: Custom configuration for different network setups # # Home network: # network: # default_subnet: "192.168.1.0/24" # scan_timeout: 0.6 # max_workers: 60 # # Office network (larger): # network: # default_subnet: "10.0.0.0/16" # scan_timeout: 1.0 # max_workers: 100 # # Guest/IoT network (isolated): # network: # default_subnet: "192.168.99.0/24" # scan_timeout: 0.8 # max_workers: 30