From b0a1e16dfc8bfc88e6bdebeaf489d2efbe7dbc2d Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 11 Jul 2018 19:51:45 +0200 Subject: [PATCH] Release HassOS (#5747) * Release HassOS * Update 2018-07-11-hassio-images.markdown * Update 2018-07-11-hassio-images.markdown * Update 2018-07-11-hassio-images.markdown * Update index.markdown * Update index.markdown * Update index.markdown * Update installation.markdown * Update 2018-07-11-hassio-images.markdown * :pencil2: Initial review. * :pencil2: Blog post tweaks * :pencil2: Getting started index tweaks * :pencil2: Tweaks to Hassio index * :pencil2: Tweaks to Hassio installation guide * :pencil2: Processes review feedback * :pencil2: Updates title & description. * :pencil2: Processed review * Redundant information * Update 2018-07-11-hassio-images.markdown * Update 2018-07-11-hassio-images.markdown * Add files via upload * Delete blogpost.png * Create TEST.TXT * Add files via upload * Delete TEST.TXT --- .../_posts/2018-07-11-hassio-images.markdown | 64 ++++++++++++++++++ source/getting-started/index.markdown | 25 +++---- source/hassio/index.markdown | 16 ++--- source/hassio/installation.markdown | 45 ++++++------ .../blog/2018-07-hassio-images/blogpost.png | Bin 0 -> 42047 bytes 5 files changed, 102 insertions(+), 48 deletions(-) create mode 100644 source/_posts/2018-07-11-hassio-images.markdown create mode 100644 source/images/blog/2018-07-hassio-images/blogpost.png diff --git a/source/_posts/2018-07-11-hassio-images.markdown b/source/_posts/2018-07-11-hassio-images.markdown new file mode 100644 index 00000000000..3b33431cc92 --- /dev/null +++ b/source/_posts/2018-07-11-hassio-images.markdown @@ -0,0 +1,64 @@ +--- +layout: post +title: "New Hass.io images, based on HassOS" +description: "We have released HassOS, a brand new operating system for the purpose of running Hass.io" +date: 2018-07-11 00:00:00 +date_formatted: "April 22, 2018" +author: Pascal Vizeli +author_twitter: pvizeli +comments: true +categories: Announcements +og_image: /images/blog/2018-07-hassio-images/blogpost.png +--- + +After 4 months of hard work, we are happy to announce our new images for Hass.io, based on HassOS. HassOS is a brand new operating system that we have created specifically for the purpose of running Hass.io. And yes, this supports the Raspberry Pi 3 B+! + +## {% linkable_title What is new %} + +We have built HassOS on top of the [Buildroot] framework. The focus of the system is to be a very small and highly efficient operating system to run Docker like a hypervisor. It has just enough software installed, to run a supervisor. We have also focused on security, there are, for example, no default passwords and we use [AppArmor] to protect the applications and containers on HassOS. + +Key features: + +- Safe and secure updating with [Rauc] over USB or internet (OTA) +- Uses an LZ4 compressed root filesystem and parts of the memory +- Read-only root filesystem, designed to run on embedded systems +- Dbus connected hosts services +- Latest LT Linux kernel +- Latest Docker-ce version +- Fully supported NetworkManager +- Bluetooth support using Bluez +- Supports lot different hardware + +## {% linkable_title Migration %} + +The design of HassOS is different from ResinOS. Because of this, we can't provide an OTA update from the old ResinOS system to the new HassOS based system. + +You need to perform the following steps to upgrade: + +1. If you have installed the Bluetooth add-on, please remove it, since it is no longer required. +2. Make a Hass.io snapshot of your current system and download it to your computer. +3. Download the latest [Hass.io stable][installation] version. +4. Flash the downloaded Hass.io image with [Etcher] to your SD card. +5. Raspberry Pi: In case you have modified the `config.txt` (in the boot partition), you will also need to apply these changes to HassOS. Do **NOT** simply copy the file from your old setup into HassOS! Apply those changes manually! +6. If you use a custom network configuration or have configured SSH development access, you need to create a configuration [USB stick]. Copy the resin-sample into the `network` folder on a USB stick and insert it into your device. +7. Take the freshly flashed SD card with HassOS and place it into your device, and boot it by turning it on. +8. Copy the snapshot into the host with the SSH or Samba add-on. +9. Restore your snapshot via the Hass.io panel. +10. Done! + +## {% linkable_title Future %} + +HassOS is a wonderful base system and allows us to start working on integrating all kinds of amazing features into Hass.io (and bring them to the UI as well). For example, we are planning on bringing network and Bluetooth configuration possibilities into the UI. The goal is a full featured hub system that allows anybody to use Home Assistant. + +The Hass.io API is extensive, and we are going to adopt more of its features into Home Assistant as well. For example, sensors that allows you to monitor the system usage of an add-on or even Home Assistant itself. + +A big shout out to all people who donated money for us to buy hardware! Thank you! We have already started on making HassOS compatible with all kinds of hardware and are currently aiming to release support for new devices every 7-14 days and keeping this up until we support all major IoT boards. + +Feel free to jump into the project and help us to improve the documentation or other tasks that are going to help us moving forward. + +[Rauc]: Safe and Secure Updating +[Buildroot]: https://buildroot.org/ +[AppArmor]: https://gitlab.com/apparmor/apparmor/wikis/home/ +[USB stick]: https://github.com/home-assistant/hassos/blob/rel-1/Documentation/configuration.md#automatic +[installation]: https://www.home-assistant.io/hassio/installation/ +[Etcher]: https://etcher.io/ diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index f57416d0349..e376fa7e09e 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -11,7 +11,7 @@ footer: true The goal of this getting started guide is to install [Hass.io](/hassio/) on a Raspberry Pi 3. Hass.io is our own all in one solution that turns your Raspberry Pi into the ultimate home automation hub. -Follow this guide if you want to easily get started with Home Assistant, or if you have no or little Linux experience. For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences. +Follow this guide if you want to get started with Home Assistant easily, or if you have no or little Linux experience. For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences.

Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process. @@ -24,38 +24,35 @@ We will need a few things to get started with installing Home Assistant. Links b - [Raspberry Pi 3 model B](http://a.co/gEfMqL4) + [Power Supply](https://www.raspberrypi.org/help/faqs/#powerReqs) (at least 2.5A) - [Micro SD Card](http://a.co/gslOydD). Get one that is Class 10 as they are more reliable. Size 32 GB or bigger recommended. - SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest) -- Ethernet cable (optional, Hass.io can work with WiFi too) - -

- Support for the Raspberry Pi 3 model B+ is available in the alternative installation method [Hassbian](/docs/hassbian/installation/). - - The recently released Raspberry Pi 3 model B+ is not yet supported by Hass.io. -

+- Ethernet cable (optional, Hass.io can work with WiFi as well) +- A USB-Stick (optional, allows for unattended configuration) ### {% linkable_title Software requirements %} -- Download [Hass.io image for Raspberry Pi 3][pi3] +- Download Hass.io image for Raspberry Pi 3 as [32bit][pi3-32] or [64bit][pi3-64] variant - Download [Etcher] to write the image to an SD card - Text Editor like [Visual Studio Code](https://code.visualstudio.com/) [Etcher]: https://etcher.io/ -[pi3]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi3.img.bz2 +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-1.5.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-64-1.5.img.gz ### {% linkable_title Installing Hass.io %} 1. Put the SD card in your SD card reader. 1. Open Etcher, select the Hass.io image and flash it to the SD card. -1. WiFi setup only: open the file `system-connections/resin-sample` (from the `resin-boot` volume on the SD card) with a text editor. Change `ssid` to be your network name and `psk` to be your password. Note: When connecting to a 5 GHz-only network, make sure your device supports that. If you don't know what that means, then you probably have nothing to worry about. +1. WiFi setup only: Format a USB-Stick with name `CONFIG` and copy one of [the examples] to the file `network/hassos-wifi`. 1. Unmount the SD card and remove it from your SD card reader. 1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. -1. Connect your Raspberry Pi to the power supply so it turns on. -1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant. This will take about 20 minutes. Do not expect anything but the Home Assistant logo on the HDMI display, or any use for a keyboard or mouse. +1. Connect your Raspberry Pi to the power supply, so it turns on. +1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. 1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete. [local]: http://hassio.local:8123 +[the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md

-When you're done, remember to set up regular backups of your configuration. This will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly. +When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly.

### [Next step: Configuring Home Assistant »](/getting-started/configuration/) diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown index a5f4798c8dc..0773f3918e6 100644 --- a/source/hassio/index.markdown +++ b/source/hassio/index.markdown @@ -19,10 +19,10 @@ The advantages of using Hass.io: - Free and open source - Optimized for embedded devices like Raspberry Pi - 100% local home automation -- Easy installation and updates (powered by [ResinOS] and [Docker]) -- Management user interface integrated into Home Assistant -- Easily create and restore full backups of your whole configuration. -- Easily install many popular add-ons including [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].

[Browse available add-ons »][all]

+- Easy installation and updates (powered by [HassOS] and [Docker]) +- Management web interface integrated into Home Assistant +- Create and restore full backups of your whole configuration with ease +- Install many popular add-ons with a single click! For example [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].

[Browse available add-ons »][all]

- Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.

[Browse the forums »][forums]
[Join the Hass.io chat »][chat]
[Browse community add-on repositories »][comm-add-ons]

@@ -31,7 +31,7 @@ The advantages of using Hass.io: ### {% linkable_title Upgrading %} -Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However please note that Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and an update being available in Hass.io, be patient. When a Hass.io update is available, it will be shown as available on the ‘Hass.io' page in your UI. +Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However, please note that a Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and the update being available in Hass.io, so be patient. When a Hass.io update is available, it will be shown as a notification in the ‘Hass.io' page in the web interface.

@@ -51,13 +51,13 @@ Hass.io upgrade process from the SSH command line [comm-add-ons]: https://community.home-assistant.io/tags/hassio-repository [all]: /addons/ [chat]: https://discord.gg/K3UVxJd -[ResinOS]: https://resinos.io/ +[HassOS]: https://github.com/home-assistant/hassos [Docker]: https://www.docker.com/ [install]: /hassio/installation/ ## {% linkable_title hassio command %} -On the SSH command line you can use the `hassio` command to retrieve logs, check the details of connected hardware, and more. +On the SSH command line, you can use the `hassio` command to retrieve logs, check the details of connected hardware, and more. Home Assistant: @@ -92,7 +92,7 @@ You can get a better description of the CLI capabilities by typing `hassio help` ```bash NAME: - hassio - Commandline tool to allow interation with hass.io + hassio - Commandline tool to allow interaction with hass.io USAGE: hassio [global options] command [command options] [arguments...] diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 3d62ece3620..4bbe870d5f9 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Installing Hass.io" -description: "Instructions on how-to install Hass.io." +description: "Instructions on how to install Hass.io." date: 2017-04-30 13:28 sidebar: true comments: false @@ -9,34 +9,24 @@ sharing: true footer: true --- -Hass.io images are available for all available Raspberry Pi and Intel NUC platforms. +Hass.io images are available for: -

- The recently released Raspberry Pi 3 model B+ is not yet supported. -

- -- Download the appropriate image for your Raspberry Pi / Intel NUC: +- Download the appropriate image for your IoT: - [Raspberry Pi / Zero][pi1] + - [Raspberry Pi / Zero][pi0-w] - [Raspberry Pi 2][pi2] - - [Raspberry Pi 3][pi3] - - [Intel NUC][nuc] + - [Raspberry Pi 3 32bit][pi3-32] + - [Raspberry Pi 3 63bit][pi3-64] +- As [Virtual Appliance]: + - [VMDK][vmdk]

-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some are designed to only provide the full power with that manufacturer's handsets. +Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer.

- Flash the downloaded image to an SD card using [Etcher]. -

- There is an [issue in the Etcher flashing process on Mac OS High Sierra](https://github.com/resin-io/etcher/issues/1908). - There is an easy workaround, just uncompress the image first. - - ```bash - $ bunzip2 -c resinos-hassio-1.3-raspberrypi3.img.bz2 > image.img - ``` -

- -- Optional - Setup the WiFi or static IP: On the SD-card, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-network]. +- Optional - Setup the WiFi or static IP: On the SD-card, create the `network/my-network` file and follow the [HassOS howto][hassos-network]. - Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform). @@ -45,7 +35,7 @@ Please remember to ensure you're using an [appropriate power supply](https://www - Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar).

-If your router doesn't support mDNS then you'll have to use the IP address of your Pi, instead of `hassio.local`, for example `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router. +If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router.

@@ -82,11 +72,14 @@ When you use this installation method, the core SSH add-on may not function corr A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/). [Etcher]: https://etcher.io/ -[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/ -[pi1]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi.img.bz2 -[pi2]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi2.img.bz2 -[pi3]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-raspberrypi3.img.bz2 -[nuc]: https://github.com/home-assistant/hassio-build/releases/download/1.3/resinos-hassio-1.3-intel-nuc.img.bz2 +[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md +[hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi0-w-1.5.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi-1.5.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi2-1.5.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-1.5.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_rpi3-1.5.img.gz +[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.5/hassos_ova-1.5.vmdk [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 [samba]: /addons/samba/ diff --git a/source/images/blog/2018-07-hassio-images/blogpost.png b/source/images/blog/2018-07-hassio-images/blogpost.png new file mode 100644 index 0000000000000000000000000000000000000000..443fb8a540b6d7572ef2a63e4177cd5224b842ac GIT binary patch literal 42047 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°A%*{k7-z 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 literal 0 HcmV?d00001