mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #!/command/with-contenv bashio
 | |
| # shellcheck shell=bash
 | |
| # ==============================================================================
 | |
| # Community Hass.io Add-ons: ESPHome
 | |
| # Runs the ESPHome dashboard
 | |
| # ==============================================================================
 | |
| readonly pio_cache_base=/data/cache/platformio
 | |
| 
 | |
| export ESPHOME_IS_HA_ADDON=true
 | |
| export PLATFORMIO_GLOBALLIB_DIR=/piolibs
 | |
| 
 | |
| # we can't set core_dir, because the settings file is stored in `core_dir/appstate.json`
 | |
| # setting `core_dir` would therefore prevent pio from accessing
 | |
| export PLATFORMIO_PLATFORMS_DIR="${pio_cache_base}/platforms"
 | |
| export PLATFORMIO_PACKAGES_DIR="${pio_cache_base}/packages"
 | |
| export PLATFORMIO_CACHE_DIR="${pio_cache_base}/cache"
 | |
| 
 | |
| if bashio::config.true 'leave_front_door_open'; then
 | |
|     export DISABLE_HA_AUTHENTICATION=true
 | |
| fi
 | |
| 
 | |
| if bashio::config.true 'streamer_mode'; then
 | |
|     export ESPHOME_STREAMER_MODE=true
 | |
| fi
 | |
| 
 | |
| if bashio::config.true 'status_use_ping'; then
 | |
|     export ESPHOME_DASHBOARD_USE_PING=true
 | |
| fi
 | |
| 
 | |
| if bashio::config.has_value 'relative_url'; then
 | |
|     export ESPHOME_DASHBOARD_RELATIVE_URL=$(bashio::config 'relative_url')
 | |
| fi
 | |
| 
 | |
| if bashio::config.has_value 'default_compile_process_limit'; then
 | |
|     export ESPHOME_DEFAULT_COMPILE_PROCESS_LIMIT=$(bashio::config 'default_compile_process_limit')
 | |
| else
 | |
|     if grep -q 'Raspberry Pi 3' /proc/cpuinfo; then
 | |
|         export ESPHOME_DEFAULT_COMPILE_PROCESS_LIMIT=1
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| mkdir -p "${pio_cache_base}"
 | |
| 
 | |
| mkdir -p /config/esphome
 | |
| 
 | |
| if bashio::fs.directory_exists '/config/esphome/.esphome'; then
 | |
|     bashio::log.info "Migrating old .esphome directory..."
 | |
|     if bashio::fs.file_exists '/config/esphome/.esphome/esphome.json'; then
 | |
|         mv /config/esphome/.esphome/esphome.json /data/esphome.json
 | |
|     fi
 | |
|     mkdir -p "/data/storage"
 | |
|     mv /config/esphome/.esphome/*.json /data/storage/ || true
 | |
|     rm -rf /config/esphome/.esphome
 | |
| fi
 | |
| 
 | |
| bashio::log.info "Starting ESPHome dashboard..."
 | |
| exec esphome dashboard /config/esphome --socket /var/run/esphome.sock --ha-addon
 |