From 01a92fa2448f77b610bb1a399638021b0b1ad18e Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 14 May 2017 12:35:27 -0700 Subject: [PATCH] Installing third-party add-ons --- .../_includes/asides/hassio_navigation.html | 1 + source/hassio/addon_tutorial.markdown | 4 +-- .../installing_third_party_addons.markdown | 30 ++++++++++++++++++ .../screenshots/addon_repository_editor.png | Bin 0 -> 8032 bytes .../local_repository.png | Bin .../main_panel_store_icon.png | Bin .../screenshots/repositories_editor.png | Bin 0 -> 7989 bytes 7 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 source/hassio/installing_third_party_addons.markdown create mode 100644 source/images/hassio/screenshots/addon_repository_editor.png rename source/images/hassio/{tutorial => screenshots}/local_repository.png (100%) rename source/images/hassio/{tutorial => screenshots}/main_panel_store_icon.png (100%) create mode 100644 source/images/hassio/screenshots/repositories_editor.png diff --git a/source/_includes/asides/hassio_navigation.html b/source/_includes/asides/hassio_navigation.html index 0b7d9e04d81..e16b8df142c 100644 --- a/source/_includes/asides/hassio_navigation.html +++ b/source/_includes/asides/hassio_navigation.html @@ -8,6 +8,7 @@
  • {% active_link /hassio/installation/ Installation %}
  • {% active_link /hassio/debugging/ Debugging %}
  • {% active_link /addons/ Available add-ons %}
  • +
  • {% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}
  • {% active_link /hassio/architecture/ Architecture %}
  • diff --git a/source/hassio/addon_tutorial.markdown b/source/hassio/addon_tutorial.markdown index d321065c79d..e026e24e756 100644 --- a/source/hassio/addon_tutorial.markdown +++ b/source/hassio/addon_tutorial.markdown @@ -78,7 +78,7 @@ Now comes the fun part, time to open the Hass.io UI and install and run your add - On the top right click the shopping basket to go to the add-on store.

    - + From the Hass.io main panel open the add-on store.

    @@ -86,7 +86,7 @@ From the Hass.io main panel open the add-on store. - You should now see a new card called "Local" that lists your add-on!

    - + The Hass.io add-on store will list all available local add-ons.

    diff --git a/source/hassio/installing_third_party_addons.markdown b/source/hassio/installing_third_party_addons.markdown new file mode 100644 index 00000000000..8db74287763 --- /dev/null +++ b/source/hassio/installing_third_party_addons.markdown @@ -0,0 +1,30 @@ +--- +layout: page +title: "Installing third-party add-ons" +description: "Instructions how to get started using third-party add-ons." +date: 2017-05-14 13:28 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Hass.io allows anyone to create add-on repositories to easily share their add-ons for Hass.io. To try this locally, you can use our example add-on repository at `https://github.com/home-assistant/hassio-addons-example`. + +

    +Home Assistant cannot guarantee the quality or security of third party add-ons. Use at your own risk. +

    + +

    + +From the Hass.io main panel open the add-on store. +

    + +

    + +Add the urls of repositories (one per line) and then press "Save". A new card for the repository will appear. +

    + +### {% linkable_title Help: Repository is not showing up %} + +If you have added a repository but it's not showing up, it means that the repository contains invalid configuration. Go to the Hass.io panel -> Supervisor card -> View logs and scroll to the bottom. It should tell you what went wrong. Report this information to the repository author. diff --git a/source/images/hassio/screenshots/addon_repository_editor.png b/source/images/hassio/screenshots/addon_repository_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e2b21288600535051721d13bf691a453db63ef GIT binary patch literal 8032 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 F{sX?UEdl@l literal 0 HcmV?d00001 diff --git a/source/images/hassio/tutorial/local_repository.png b/source/images/hassio/screenshots/local_repository.png similarity index 100% rename from source/images/hassio/tutorial/local_repository.png rename to source/images/hassio/screenshots/local_repository.png diff --git a/source/images/hassio/tutorial/main_panel_store_icon.png b/source/images/hassio/screenshots/main_panel_store_icon.png similarity index 100% rename from source/images/hassio/tutorial/main_panel_store_icon.png rename to source/images/hassio/screenshots/main_panel_store_icon.png diff --git a/source/images/hassio/screenshots/repositories_editor.png b/source/images/hassio/screenshots/repositories_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..a02427d1659c9c5c477f27f8087aa27c56c09277 GIT binary patch literal 7989 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