diff --git a/README.md b/README.md index d7d52ac8b..ed4dd9f95 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,17 @@ # HassIO -First private cloud OS for home automation. Based on ResinOS and Yocto Linux. +First private cloud OS for home automation. + +It is a docker image (supervisor) they manage HomeAssistant docker and give a interface to controll itself over UI. It have a own eco system with addons to extend the functionality in a easy way. + +# Hardware Image +Based on ResinOS and Yocto Linux. It have a preinstall HassIO supervisor and support OTA Updates. That make it maintenanceless. + +https://drive.google.com/drive/folders/0B2o1Uz6l1wVNbFJnb2gwNXJja28?usp=sharing # History - **0.1**: First techpreview with dumy supervisor - **0.2**: Support now OTA updates (Need reflush from 0.1) -# Download Image: -https://drive.google.com/drive/folders/0B2o1Uz6l1wVNbFJnb2gwNXJja28?usp=sharing - -## Developer access to host +## Developer access to ResinOS host You can put your authorized_keys file into boot partition. After a boot it, you can acces to your device over ssh port 22222 diff --git a/hassio_api/hassio/bootstrap.py b/hassio_api/hassio/bootstrap.py index 4f341f87d..6cb5ed47f 100644 --- a/hassio_api/hassio/bootstrap.py +++ b/hassio_api/hassio/bootstrap.py @@ -61,7 +61,8 @@ def initialize_logging(): def check_environment(): """Check if all environment are exists.""" - for key in ('SUPERVISOR_SHARE', 'SUPERVISOR_NAME', 'DOCKER_SOCKET'): + for key in ('SUPERVISOR_SHARE', 'SUPERVISOR_NAME', 'DOCKER_SOCKET', + 'HOMEASSISTANT_REPOSITORY'): try: os.environ[key] except KeyError: diff --git a/hassio_api/hassio/config.py b/hassio_api/hassio/config.py index c78974735..fbc4ae14d 100644 --- a/hassio_api/hassio/config.py +++ b/hassio_api/hassio/config.py @@ -34,14 +34,6 @@ class CoreConfig(object): CONF_HOMEASSISTANT_TAG: '', }) - # update version - self._data.update({ - CONF_SUPERVISOR_IMAGE: os.environ['SUPERVISOR_IMAGE'], - CONF_SUPERVISOR_TAG: os.environ['SUPERVISOR_TAG'], - }) - - self.save() - def save(self): """Store data to config file.""" try: @@ -66,16 +58,6 @@ class CoreConfig(object): self._data[CONF_HOMEASSISTANT_TAG] = value self.save() - @property - def supervisor_image(self): - """Return docker supervisor repository.""" - return self._data.get(CONF_SUPERVISOR_IMAGE) - - @property - def supervisor_tag(self): - """Return docker supervisor tag.""" - return self._data.get(CONF_SUPERVISOR_TAG) - @property def path_config_docker(self): """Return config path extern for docker.""" diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend index a76ecbcee..f673283b9 100644 --- a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend @@ -19,4 +19,5 @@ do_install_append () { install -d ${D}${sysconfdir}/resin-supervisor sed -i -e 's:@HOMEASSISTANT_REPOSITORY@:${HOMEASSISTANT_REPOSITORY}:g' ${D}${sysconfdir}/resin-supervisor/supervisor.conf sed -i -e 's:@MACHINE@:${MACHINE}:g' ${D}${sysconfdir}/resin-supervisor/supervisor.conf + sed -i -e 's:@RESINOS_VERSION@:${HOSTOS_VERSION}:g' ${D}${sysconfdir}/resin-supervisor/supervisor.conf } diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor index a4eb3f718..604bdcf9e 100644 --- a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor @@ -10,11 +10,11 @@ runSupervisor() { docker rm --force resin_supervisor || true docker run --privileged --name resin_supervisor \ -v /var/run/docker.sock:/var/run/docker.sock \ - -v $CONFIG_PATH:/boot/config.json \ - -v $BOOT_MOUNTPOINT/system-connections/resin-sample:/boot/network \ + -v /var/run/hassio_hc.sock:/var/run/hassio_hc.sock \ -v /resin-data:/data \ -v /var/log/supervisor-log:/var/log \ -e DOCKER_SOCKET=/var/run/docker.sock \ + -e HASSIO_HC_SOCKET=/var/run/hassio_hc.sock \ -e SUPERVISOR_SHARE=/resin-data \ -e SUPERVISOR_NAME=resin_supervisor \ -e HOMEASSISTANT_REPOSITORY=${HOMEASSISTANT_REPOSITORY} \ diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/supervisor.conf b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/supervisor.conf index 8a04556b0..eedc1b417 100644 --- a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/supervisor.conf +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/supervisor.conf @@ -3,3 +3,4 @@ SUPERVISOR_TAG=@SUPERVISOR_TAG@ LED_FILE=@LED_FILE@ MACHINE=@MACHINE@ HOMEASSISTANT_REPOSITORY=@HOMEASSISTANT_REPOSITORY@ +RESINOS_VERSION=@RESINOS_VERSION@ diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor index 3462a5fdf..373193c38 100644 --- a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor @@ -70,7 +70,7 @@ function error_handler { trap 'error_handler $LINENO' ERR -if tag=$(curl --silent $ENDPOINT | jq -e -r '.supervisor_tag'); then +if tag=$(curl --silent $ENDPOINT | jq -e -r '.hassio_tag'); then image_name=$SUPERVISOR_IMAGE # Check that we didn't somehow get an empty tag version. diff --git a/meta-hassio/recipes-support/resinhup/resinhup/hassio.conf b/meta-hassio/recipes-support/resinhup/resinhup/hassio.conf deleted file mode 100644 index 570f504ef..000000000 --- a/meta-hassio/recipes-support/resinhup/resinhup/hassio.conf +++ /dev/null @@ -1 +0,0 @@ -HASSIO_VERSION=@HASSIO_VERSION@ diff --git a/meta-hassio/recipes-support/resinhup/resinhup/resinhup b/meta-hassio/recipes-support/resinhup/resinhup/resinhup index c7ada27a1..31a90b4ab 100644 --- a/meta-hassio/recipes-support/resinhup/resinhup/resinhup +++ b/meta-hassio/recipes-support/resinhup/resinhup/resinhup @@ -194,11 +194,10 @@ done # load config source /usr/sbin/resin-vars source /etc/resin-supervisor/supervisor.conf -source /etc/hassio.conf # Check that HostOS version was provided if [ -z "$HOSTOS_VERSION" ]; then - if version=$(curl --silent $ENDPOINT | jq -e -r '.hassio_version'); then + if version=$(curl --silent $ENDPOINT | jq -e -r '.resinos_version'); then HOSTOS_VERSION=$version else log ERROR "--hostos-version is required." @@ -221,15 +220,15 @@ if [ "$LOG" == "yes" ]; then fi # Check if update is needed -log "Detected HassIO version: $HASSIO_VERSION ." +log "Detected HassIO version: $RESINOS_VERSION ." log "Update HassIO to version: $HOSTOS_VERSION ." -if [ $HASSIO_VERSION == $HOSTOS_VERSION ]; then +if [ $RESINOS_VERSION == $HOSTOS_VERSION ]; then log "Version $HOSTOS_VERSION is already installed." exit 0 fi # protect downgrade -downgrade=$(awk -vn1=$HASSIO_VERSION -vn2=$HOSTOS_VERSION 'BEGIN{print (n1