Update Hassio base image to 1.4.1 (#484)

* Update Hassio base image to 1.4.1

* Fix rotary encoder typo

Fixes https://github.com/esphome/issues/issues/136
This commit is contained in:
Otto Winter 2019-03-17 20:41:07 +01:00
parent 4a14221e2b
commit 3baaf6b7c4
No known key found for this signature in database
GPG Key ID: DB66C0BE6013F97E
11 changed files with 54 additions and 55 deletions

View File

@ -41,11 +41,11 @@ stages:
- | - |
if [[ "${IS_HASSIO}" == "YES" ]]; then if [[ "${IS_HASSIO}" == "YES" ]]; then
BUILD_FROM=esphome/esphome-hassio-base-${BUILD_ARCH}:1.3.0 BUILD_FROM=esphome/esphome-hassio-base-${BUILD_ARCH}:1.4.1
BUILD_TO=esphome/esphome-hassio-${BUILD_ARCH} BUILD_TO=esphome/esphome-hassio-${BUILD_ARCH}
DOCKERFILE=docker/Dockerfile.hassio DOCKERFILE=docker/Dockerfile.hassio
else else
BUILD_FROM=esphome/esphome-base-${BUILD_ARCH}:1.3.0 BUILD_FROM=esphome/esphome-base-${BUILD_ARCH}:1.4.1
if [[ "${BUILD_ARCH}" == "amd64" ]]; then if [[ "${BUILD_ARCH}" == "amd64" ]]; then
BUILD_TO=esphome/esphome BUILD_TO=esphome/esphome
else else

View File

@ -1,4 +1,4 @@
ARG BUILD_FROM=esphome/esphome-base-amd64:1.3.0 ARG BUILD_FROM=esphome/esphome-base-amd64:1.4.1
FROM ${BUILD_FROM} FROM ${BUILD_FROM}
COPY . . COPY . .

View File

@ -1,4 +1,4 @@
ARG BUILD_FROM=esphome/esphome-hassio-base-amd64:1.3.0 ARG BUILD_FROM=esphome/esphome-hassio-base-amd64:1.4.1
FROM ${BUILD_FROM} FROM ${BUILD_FROM}
# Copy root filesystem # Copy root filesystem

View File

@ -16,11 +16,11 @@ echo "PWD: $PWD"
if [[ ${IS_HASSIO} = "YES" ]]; then if [[ ${IS_HASSIO} = "YES" ]]; then
docker build \ docker build \
--build-arg "BUILD_FROM=esphome/esphome-hassio-base-${BUILD_ARCH}:1.3.0" \ --build-arg "BUILD_FROM=esphome/esphome-hassio-base-${BUILD_ARCH}:1.4.1" \
--build-arg "BUILD_VERSION=${CACHE_TAG}" \ --build-arg "BUILD_VERSION=${CACHE_TAG}" \
-t "${IMAGE_NAME}" -f ../docker/Dockerfile.hassio .. -t "${IMAGE_NAME}" -f ../docker/Dockerfile.hassio ..
else else
docker build \ docker build \
--build-arg "BUILD_FROM=esphome/esphome-base-${BUILD_ARCH}:1.3.0" \ --build-arg "BUILD_FROM=esphome/esphome-base-${BUILD_ARCH}:1.4.1" \
-t "${IMAGE_NAME}" -f ../docker/Dockerfile .. -t "${IMAGE_NAME}" -f ../docker/Dockerfile ..
fi fi

View File

@ -1,35 +1,41 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# This files check if all user configuration requirements are met # This files check if all user configuration requirements are met
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
# Check SSL requirements, if enabled # Check SSL requirements, if enabled
if hass.config.true 'ssl'; then if bashio::config.true 'ssl'; then
if ! hass.config.has_value 'certfile'; then if ! bashio::config.has_value 'certfile'; then
hass.die 'SSL is enabled, but no certfile was specified.' bashio::fatal 'SSL is enabled, but no certfile was specified.'
bashio::exit.nok
fi fi
if ! hass.config.has_value 'keyfile'; then if ! bashio::config.has_value 'keyfile'; then
hass.die 'SSL is enabled, but no keyfile was specified' bashio::fatal 'SSL is enabled, but no keyfile was specified'
bashio::exit.nok
fi fi
if ! hass.file_exists "/ssl/$(hass.config.get 'certfile')"; then
if ! hass.file_exists "/ssl/$(hass.config.get 'keyfile')"; then certfile="/ssl/$(bashio::config 'certfile')"
keyfile="/ssl/$(bashio::config 'keyfile')"
if ! bashio::fs.file_exists "${certfile}"; then
if ! bashio::fs.file_exists "${keyfile}"; then
# Both files are missing, let's print a friendlier error message # Both files are missing, let's print a friendlier error message
text="You enabled encrypted connections using the \"ssl\": true option. bashio::log.fatal 'You enabled encrypted connections using the "ssl": true option.'
However, the SSL files \"$(hass.config.get 'certfile')\" and \"$(hass.config.get 'keyfile')\" bashio::log.fatal "However, the SSL files '${certfile}' and '${keyfile}'"
were not found. If you're using Hass.io on your local network and don't want bashio::log.fatal "were not found. If you're using Hass.io on your local network and don't want"
to encrypt connections to the ESPHome dashboard, you can manually disable bashio::log.fatal 'to encrypt connections to the ESPHome dashboard, you can manually disable'
SSL by setting \"ssl\" to false." bashio::log.fatal 'SSL by setting "ssl" to false."'
hass.die "${text}" bashio::exit.nok
fi fi
hass.die 'The configured certfile is not found' bashio::log.fatal "The configured certfile '${certfile}' was not found."
bashio::exit.nok
fi fi
if ! hass.file_exists "/ssl/$(hass.config.get 'keyfile')"; then if ! bashio::fs.file_exists "/ssl/$(bashio::config 'keyfile')"; then
hass.die 'The configured keyfile is not found' bashio::log.fatal "The configured keyfile '${keyfile}' was not found."
bashio::exit.nok
fi fi
fi fi

View File

@ -1,10 +1,8 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# Configures NGINX for use with ESPHome # Configures NGINX for use with ESPHome
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
declare certfile declare certfile
declare keyfile declare keyfile
@ -13,16 +11,16 @@ declare port
mkdir -p /var/log/nginx mkdir -p /var/log/nginx
# Enable SSL # Enable SSL
if hass.config.true 'ssl'; then if bashio::config.true 'ssl'; then
rm /etc/nginx/nginx.conf rm /etc/nginx/nginx.conf
mv /etc/nginx/nginx-ssl.conf /etc/nginx/nginx.conf mv /etc/nginx/nginx-ssl.conf /etc/nginx/nginx.conf
certfile=$(hass.config.get 'certfile') certfile=$(bashio::config 'certfile')
keyfile=$(hass.config.get 'keyfile') keyfile=$(bashio::config 'keyfile')
sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/nginx.conf sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/nginx.conf
sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/nginx.conf sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/nginx.conf
fi fi
port=$(hass.config.get 'port') port=$(bashio::config 'port')
sed -i "s/%%port%%/${port}/g" /etc/nginx/nginx.conf sed -i "s/%%port%%/${port}/g" /etc/nginx/nginx.conf

View File

@ -1,14 +1,15 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# This files installs the user ESPHome version if specified # This files installs the user ESPHome version if specified
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
declare esphome_version declare esphome_version
if hass.config.has_value 'esphome_version'; then if bashio::config.has_value 'esphome_version'; then
esphome_version=$(hass.config.get 'esphome_version') esphome_version=$(bashio::config 'esphome_version')
pip2 install --no-cache-dir --no-binary :all: "https://github.com/esphome/esphome/archive/${esphome_version}.zip" full_url="https://github.com/esphome/esphome/archive/${esphome_version}.zip"
bashio::log.info "Installing esphome version '${esphome_version}' (${full_url})..."
pip2 install --no-cache-dir --no-binary :all: "${full_url}" \
|| bashio::exit.nok "Failed installing esphome pinned version."
fi fi

View File

@ -1,10 +1,8 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# This files migrates the esphome config directory from the old path # This files migrates the esphome config directory from the old path
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
if [[ ! -d /config/esphome && -d /config/esphomeyaml ]]; then if [[ ! -d /config/esphome && -d /config/esphomeyaml ]]; then
echo "Moving config directory from /config/esphomeyaml to /config/esphome" echo "Moving config directory from /config/esphomeyaml to /config/esphome"

View File

@ -1,28 +1,26 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# Runs the ESPHome dashboard # Runs the ESPHome dashboard
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
export ESPHOME_IS_HASSIO=true export ESPHOME_IS_HASSIO=true
if hass.config.true 'leave_front_door_open'; then if bashio::config.true 'leave_front_door_open'; then
export DISABLE_HA_AUTHENTICATION=true export DISABLE_HA_AUTHENTICATION=true
fi fi
if hass.config.true 'streamer_mode'; then if bashio::config.true 'streamer_mode'; then
export ESPHOME_STREAMER_MODE=true export ESPHOME_STREAMER_MODE=true
fi fi
if hass.config.true 'status_use_ping'; then if bashio::config.true 'status_use_ping'; then
export ESPHOME_DASHBOARD_USE_PING=true export ESPHOME_DASHBOARD_USE_PING=true
fi fi
if hass.config.has_value 'relative_url'; then if bashio::config.has_value 'relative_url'; then
export ESPHOME_DASHBOARD_RELATIVE_URL=$(hass.config.get 'relative_url') export ESPHOME_DASHBOARD_RELATIVE_URL=$(bashio::config 'relative_url')
fi fi
hass.log.info "Starting ESPHome dashboard..." bashio::log.info "Starting ESPHome dashboard..."
exec esphome /config/esphome dashboard --socket /var/run/esphome.sock --hassio exec esphome /config/esphome dashboard --socket /var/run/esphome.sock --hassio

View File

@ -1,10 +1,8 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bashio
# ============================================================================== # ==============================================================================
# Community Hass.io Add-ons: ESPHome # Community Hass.io Add-ons: ESPHome
# Runs the NGINX proxy # Runs the NGINX proxy
# ============================================================================== # ==============================================================================
# shellcheck disable=SC1091
source /usr/lib/hassio-addons/base.sh
hass.log.info "Starting NGINX..." bashio::log.info "Starting NGINX..."
exec nginx -g "daemon off;" exec nginx -g "daemon off;"

View File

@ -63,7 +63,7 @@ def to_code(config):
if CONF_MIN_VALUE in config: if CONF_MIN_VALUE in config:
add(encoder.set_min_value(config[CONF_MIN_VALUE])) add(encoder.set_min_value(config[CONF_MIN_VALUE]))
if CONF_MAX_VALUE in config: if CONF_MAX_VALUE in config:
add(encoder.set_min_value(config[CONF_MAX_VALUE])) add(encoder.set_max_value(config[CONF_MAX_VALUE]))
sensor.setup_sensor(encoder, config) sensor.setup_sensor(encoder, config)
setup_component(encoder, config) setup_component(encoder, config)