{"id":26965,"library":"esphome-dashboard","title":"ESPHome Dashboard","description":"ESPHome Dashboard is the web-based UI for managing ESPHome devices. It provides device discovery, configuration editing, firmware building, and OTA updates. The current version as of April 2026 is 20260425.0, with frequent releases tied to ESPHome updates (weekly to monthly).","status":"active","version":"20260425.0","language":"python","source_language":"en","source_url":"https://github.com/esphome/dashboard","tags":["esp32","esp8266","home-automation","dashboard","iot","esphome"],"install":[{"cmd":"pip install esphome-dashboard","lang":"bash","label":"PyPI"}],"dependencies":[],"imports":[{"note":"","wrong":null,"symbol":"start_web_server","correct":"from esphome_dashboard import start_web_server"}],"quickstart":{"code":"import os\nfrom esphome_dashboard import start_web_server\n\n# Start the dashboard (configuration via environment variables)\nstart_web_server(\n    configuration_path=os.environ.get('CONFIG_PATH', '/config'),\n    password=os.environ.get('DASHBOARD_PASSWORD', '')\n)","lang":"python","description":"Starts the ESPHome dashboard web server. Requires configuration directory path; optionally set password via DASHBOARD_PASSWORD env var."},"warnings":[{"fix":"Use the esphome CLI (esphome dashboard) to launch the dashboard instead of importing esphome_dashboard directly.","message":"The dashboard requires a running ESPHome instance (esphome dashboard command) and does not operate standalone as a Python library.","severity":"gotcha","affected_versions":"all"},{"fix":"Do not expect to import Python classes; the package primarily launches a subprocess.","message":"The package esphome-dashboard on PyPI is a Python wrapper that launches a bundled Node.js server, not a pure Python library.","severity":"gotcha","affected_versions":"all"},{"fix":"Use command-line arguments (e.g., --port, --password) or env vars (DASHBOARD_PASSWORD, ESPHOME_DASHBOARD_USE_IMPROV) instead.","message":"The dashboard configuration via YAML file (dashboard_import) is deprecated in favor of environment variables and command-line flags.","severity":"deprecated","affected_versions":">=2025.1"},{"fix":"Install dependencies: sudo apt install libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libdbus-1-3 libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2","message":"The dashboard's bundled Node.js server may conflict with system Node.js or require additional system dependencies (e.g., libnss3).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Check current usage: esphome dashboard --help or refer to docs.","cause":"Outdated command-line arguments; newer versions use flags like --port instead of positional arguments.","error":"ESPHOME_DASHBOARD: error: unrecognized arguments:"},{"fix":"Install: pip install esphome-dashboard, then import: from esphome_dashboard import start_web_server","cause":"Package not installed or installed as esphome-dashboard (with hyphen) which is the PyPI name, but import uses underscore.","error":"ModuleNotFoundError: No module named 'esphome_dashboard'"},{"fix":"Ensure network access and that git is installed and configured.","cause":"Network issue when dashboard tries to build firmware by cloning ESPHome repo.","error":"fatal: unable to access 'https://github.com/esphome/dashboard.git/': Could not resolve host"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}