mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 15:26:59 +00:00
Merge pull request #11911 from home-assistant/frenck-2020-0141
Cleanup and redirect add-on documentation
This commit is contained in:
commit
4b6d61d201
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
title: "CEC Scanner"
|
|
||||||
description: "Scan HDMI-CEC devices."
|
|
||||||
---
|
|
||||||
|
|
||||||
Help you to discover the HDMI-CEC address. Start the add-on and look into the log to see all connected device on HDMI.
|
|
@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Check Home Assistant configuration"
|
|
||||||
description: "Check your current Home Assistant configuration against a new version."
|
|
||||||
---
|
|
||||||
|
|
||||||
You can use this add-on to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This add-on will help you avoid errors due to breaking changes, resulting in a smooth update.
|
|
||||||
|
|
||||||
### How to use this add-on
|
|
||||||
|
|
||||||
1. Just start the add-on.
|
|
||||||
2. Wait (On a Raspberry Pi it can take several minutes).
|
|
||||||
3. If you see the following output then you are good to go to update Home Assistant: `[Info] Configuration check finished - no error found! :)`.
|
|
||||||
|
|
||||||
If you get errors, then you should look for **Breaking Changes** against the version you specified for this add-on and change your configuration accordingly.
|
|
||||||
|
|
||||||
### Add-on configuration
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "latest"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
version:
|
|
||||||
description: Version of Home Assistant that you plan to install.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Configurator"
|
|
||||||
description: "Browser-based configuration file editor for Home Assistant."
|
|
||||||
featured: true
|
|
||||||
og_image: /images/hassio/screenshots/addon-hass-configurator.png
|
|
||||||
---
|
|
||||||
|
|
||||||
You can use this add-on to add a browser-based file editor to your Hass.io installation. By default it will be available over Ingress only.
|
|
||||||
|
|
||||||
More information and a standalone version for regular Home Assistant installations can be found in the [GitHub repository](https://github.com/danielperna84/hass-configurator).
|
|
||||||
|
|
||||||
<p class='img'>
|
|
||||||
<img src='/images/hassio/screenshots/addon-hass-configurator.png'>
|
|
||||||
Screenshot of the Configurator.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
### Feature list
|
|
||||||
|
|
||||||
- Web-based editor to modify your files with syntax highlighting and YAML linting.
|
|
||||||
- Upload and download files.
|
|
||||||
- Stage, stash and commit changes in Git repositories, create and switch between branches, push to remotes, view diffs.
|
|
||||||
- Lists with available entities, triggers, events, conditions and services.
|
|
||||||
- Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API password is required.
|
|
||||||
- Direct links to Home Assistant documentation and icons.
|
|
||||||
- Execute shell commands within the add-on container.
|
|
||||||
- Editor settings are saved in your browser.
|
|
||||||
- And much more...
|
|
||||||
|
|
||||||
### Add-on Configuration
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"dirsfirst": false,
|
|
||||||
"enforce_basepath": false
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
dirsfirst:
|
|
||||||
description: List directories before files in the file browser.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
enforce_basepath:
|
|
||||||
description: If set to `true`, access is limited to files within the `/config` directory.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Old port based Access
|
|
||||||
|
|
||||||
You can set a network Port and the Add-on listens on that Port with Home Assistant user credential. That is as a backup if you are not able to connect to Home Assistant anymore. Today, you can restart Home Assistant with broken config, but maybe some times usefully.
|
|
@ -1,92 +0,0 @@
|
|||||||
---
|
|
||||||
title: "DHCP server"
|
|
||||||
description: "A simple DHCP server."
|
|
||||||
---
|
|
||||||
|
|
||||||
Create a simple DHCP server for your network and allow setting fixed IPs for devices.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"domain": "mynetwork.local",
|
|
||||||
"dns": ["8.8.8.8", "8.8.4.4"],
|
|
||||||
"networks": [
|
|
||||||
{
|
|
||||||
"subnet": "192.168.1.0",
|
|
||||||
"netmask": "255.255.255.0",
|
|
||||||
"range_start": "192.168.1.100",
|
|
||||||
"range_end": "192.168.1.200",
|
|
||||||
"broadcast": "192.168.1.255",
|
|
||||||
"gateway": "192.168.1.1",
|
|
||||||
"interface": "eth0"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"hosts": [
|
|
||||||
{
|
|
||||||
"name": "webcam_xy",
|
|
||||||
"mac": "aa:bb:ee:cc",
|
|
||||||
"ip": "192.168.1.40"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
domain:
|
|
||||||
description: Your network domain name.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
dns:
|
|
||||||
description: A list of DNS server for your network.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
networks:
|
|
||||||
description: A list of network to provide DHCP.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
subnet:
|
|
||||||
description: Your network schema.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
netmask:
|
|
||||||
description: Your network netmask.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
range_start:
|
|
||||||
description: Start address for DHCP leases.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
range_end:
|
|
||||||
description: End address for DHCP leases.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
broadcast:
|
|
||||||
description: Network broadcast address.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
gateway:
|
|
||||||
description: A List of gateways.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
interface:
|
|
||||||
description: Interface on that will be listen. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
hosts:
|
|
||||||
description: A list of fixed IPs for devices.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
name:
|
|
||||||
description: Name/hostname of your device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
mac:
|
|
||||||
description: Mac address of your device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
ip:
|
|
||||||
description: Fix IP address for device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
@ -1,33 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Dnsmasq"
|
|
||||||
description: "A simple DNS server."
|
|
||||||
---
|
|
||||||
|
|
||||||
Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS server. This allows you to manipulate DNS requests. For example, you can have your Home Assistant domain resolve with an internal address inside your network.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"defaults": ["8.8.8.8", "8.8.4.4"],
|
|
||||||
"forwards": [
|
|
||||||
{"domain": "mystuff.local", "server": "192.168.1.40"}
|
|
||||||
],
|
|
||||||
"hosts": [
|
|
||||||
{"host": "home.mydomain.io", "ip": "192.168.1.10"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
defaults:
|
|
||||||
description: A list of DNS servers to forward default requests to.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
forwards:
|
|
||||||
description: A list of domains that will forward to a specific server.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
hosts:
|
|
||||||
description: A list of hosts to resolve statically.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
{% endconfiguration %}
|
|
@ -1,78 +0,0 @@
|
|||||||
---
|
|
||||||
title: "DuckDNS"
|
|
||||||
description: "Automatically update your Duck DNS IP address with integrated HTTPS support via Let's Encrypt."
|
|
||||||
featured: true
|
|
||||||
---
|
|
||||||
|
|
||||||
[Duck DNS](https://www.duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates. You will need to sign up for a Duck DNS account before using this add-on.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"lets_encrypt": {
|
|
||||||
"accept_terms": true,
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem"
|
|
||||||
},
|
|
||||||
"token": "sdfj-2131023-dslfjsd-12321",
|
|
||||||
"domains": ["my-domain.duckdns.org"],
|
|
||||||
"seconds": 300
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
lets_encrypt:
|
|
||||||
description: Let's Encrypt is a free, automated, and open certificate authority.
|
|
||||||
required: true
|
|
||||||
type: map
|
|
||||||
keys:
|
|
||||||
accept_terms:
|
|
||||||
description: If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
token:
|
|
||||||
description: Your Duck DNS API key, from your DuckDNS account page.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
domains:
|
|
||||||
description: A list of domains to update DNS.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
seconds:
|
|
||||||
description: Seconds between updates to Duck DNS.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Home Assistant configuration
|
|
||||||
|
|
||||||
Use the following configuration in Home Assistant to use the generated certificate:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
http:
|
|
||||||
base_url: https://my-domain.duckdns.org:8123
|
|
||||||
ssl_certificate: /ssl/fullchain.pem
|
|
||||||
ssl_key: /ssl/privkey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
If you use a port other than `8123` or an SSL proxy, change the port number accordingly.
|
|
||||||
|
|
||||||
## Router configuration
|
|
||||||
|
|
||||||
You'll need to forward the port you listed in your configuration (8123 in the example above) on your router to your Home Assistant system. You can find guides on how to do this on [Port Forward](https://portforward.com/). Noting that you'll only need to forward the TCP port.
|
|
||||||
|
|
||||||
Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router.
|
|
||||||
|
|
||||||
Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`.
|
|
||||||
|
|
||||||
## Generate Let's Encrypt certificate for Duck DNS sub sub domains
|
|
||||||
|
|
||||||
To generate certificates for nr.my-domain.duckdns.org update the domain JSON settings to:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
...
|
|
||||||
"domains": ["my-domain.duckdns.org","*.my-domain.duckdns.org"],
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
@ -1,76 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Git pull"
|
|
||||||
description: "Load and update configuration files for Home Assistant from a GIT repository."
|
|
||||||
---
|
|
||||||
|
|
||||||
Load and update configuration files for Home Assistant from a [Git](https://git-scm.com/) repository.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"git_branch": "master",
|
|
||||||
"git_command": "pull",
|
|
||||||
"git_remote": "origin",
|
|
||||||
"git_prune": "false",
|
|
||||||
"repository": "https://example.com/my_configs.git",
|
|
||||||
"auto_restart": false,
|
|
||||||
"restart_ignore": [
|
|
||||||
"ui-lovelace.yaml",
|
|
||||||
".gitignore",
|
|
||||||
"exampledirectory/"
|
|
||||||
],
|
|
||||||
"repeat": {
|
|
||||||
"active": false,
|
|
||||||
"interval": 300
|
|
||||||
},
|
|
||||||
"deployment_user": "",
|
|
||||||
"deployment_password": "",
|
|
||||||
"deployment_key": [
|
|
||||||
"-----BEGIN RSA PRIVATE KEY-----",
|
|
||||||
"MIIEowIBAAKCAQEAv3hUrCvqGZKpXQ5ofxTOuH6pYSOZDsCqPqmaGBdUzBFgauQM",
|
|
||||||
"xDEcoODGHIsWd7t9meAFqUtKXndeiKjfP0MMKsttnDohL1kb9mRvHre4VUqMsT5F",
|
|
||||||
"...",
|
|
||||||
"i3RUtnIHxGi1NqknIY56Hwa3id2yk7cEzvQGAAko/t6PCbe20AfmSQczs7wDNtBD",
|
|
||||||
"HgXRyIqIXHYk2+5w+N2eunURIBqCI9uWYK/r81TMR6V84R+XhtvM",
|
|
||||||
"-----END RSA PRIVATE KEY-----"
|
|
||||||
],
|
|
||||||
"deployment_key_protocol": "rsa"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- **git_branch** (*Required*): Branch name of the Git repo. If left empty, the currently checked out branch will be updated. Leave this as 'master' if you are unsure.
|
|
||||||
- **git_command** (*Required*): `pull`/`reset`: Command to run. Leave this as `pull` if you are unsure.
|
|
||||||
* **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files.
|
|
||||||
* **reset**: Will execute `git reset --hard` and overwrite any local changes to tracked files and update from the remote repository. Use with caution.
|
|
||||||
|
|
||||||
<div class='note warning'>
|
|
||||||
|
|
||||||
Using the `reset` option will overwrite changes to tracked files. Tracked files are those visible in the git repository or those given by the output on this command: `git ls-tree -r master --name-only`.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
- **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure.
|
|
||||||
- **git_prune** (*Required*): `true`/`false`: If set to true, the add-on will clean-up branches that are deleted on the remote repository, but still have cached entries on the local machine. Leave this as `false` if you are unsure.
|
|
||||||
|
|
||||||
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your repository URL (see example configuration).
|
|
||||||
- **auto_restart** (*Required*): `true`/`false`: Restart Home Assistant when the configuration has changed (and is valid).
|
|
||||||
- **restart_ignore** (*Optional*): When `auto_restart` is enabled, changes to these files will not make HA restart. Full directories to ignore can be specified.
|
|
||||||
- **repeat**: Poll the repository for updates periodically automatically.
|
|
||||||
* **active** (*Required*): `true`/`false`: Enable/disable automatic polling.
|
|
||||||
* **interval** (*Required*): The interval in seconds to poll the repo for if automatic polling is enabled.
|
|
||||||
- **deployment_user** (*Optional*): Username to use when authenticating to a repository with a username and password.
|
|
||||||
- **deployment_password** (*Optional*): Password to use when authenticating to a repository. Ignored if `deployment_user` is not set.
|
|
||||||
- **deployment_key** (*Optional*): A private SSH key that will be used for communication during Git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `<user>@<host>:<repository path>`. This key has to be created without a passphrase.
|
|
||||||
- **deployment_key_protocol** (*Optional*): The key protocol. Default is `rsa`. Valid protocols are:
|
|
||||||
|
|
||||||
* **dsa**
|
|
||||||
* **ecdsa**
|
|
||||||
* **ed25519**
|
|
||||||
* **rsa**
|
|
||||||
|
|
||||||
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using `rsa` protocol.
|
|
||||||
|
|
||||||
<div class='note warning'>
|
|
||||||
|
|
||||||
You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a Git repository. If the script does not find the necessary Git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.
|
|
||||||
|
|
||||||
</div>
|
|
@ -1,73 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Google Assistant"
|
|
||||||
description: "Enhance your Hass.io installation with Google Assistant."
|
|
||||||
featured: true
|
|
||||||
---
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component][AssistantIntergration].
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interacts via the [DialogFlow][comp] integration or the [Google Assistant component][AssistantIntergration] with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
|
||||||
|
|
||||||
To enable access to the Google Assistant API, do the following:
|
|
||||||
1. Go to the [Google Actions Console][GActionsConsole] and create a new project.
|
|
||||||
1. After you created the project on the bottom of the page click "Device registration". Keep this tab open for later use.
|
|
||||||
1. Enable the Google Assistant API on the new project through [this][enableAPI] link. Make sure you have the right project selected (shown in the middle of the screen in the top bar). If you can't select the right project, it may help to open the link in an incognito window.
|
|
||||||
1. Configure the [OAuth consent screen][OAuthConcent]. Also again check that you have the right project and don't forget to hit "Save" at the bottom of the page. You only have to fill in a project name and your e-mail.
|
|
||||||
1. You back to you device registration tab and click "Device registration". Or open you project in the [Google Actions Console][GActionsConsole] start the Quick setup, and in the left bar click "Device registration".
|
|
||||||
1. Give you project a name, think of a nice manufacturer and for device type select "speaker".
|
|
||||||
1. Edit you "model id", if you want to and copy it for later use.
|
|
||||||
1. Download the credentials.
|
|
||||||
1. Click "Next" and click "Skip".
|
|
||||||
1. Upload your credentials as "google_assistant.json" to the "hassio/share" folder, for example by using the [Samba] add-on.
|
|
||||||
1. In the Add-on configuration field fill-in you "project id" and your "model-id" and hit "Save". Your project id can be found in the Google Actions console by clicking on the top right menu button and selecting "Project settings". This id may differ from the project name that you choose!
|
|
||||||
1. Below the "Config" window select the microphone and speaker that you want to use. On a Raspberry Pi 3, ALSA device 0 is the built-in headset port and ALSA device 1 is the HDMI port. Also don't forget to click "Save".
|
|
||||||
1. Start the add-on. Check the log and click refresh till it says: "ENGINE Bus STARTED".
|
|
||||||
1. Now click "Open Web UI" and follow the authentication process. You will get an empty response after you have send your token.
|
|
||||||
|
|
||||||
That's it. You should now be able to use the Google Voice assistant.
|
|
||||||
|
|
||||||
### Add-on configuration
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"client_secrets": "google_assistant.json",
|
|
||||||
"project_id": "you-project-id",
|
|
||||||
"model_id": "your-model-id"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
client_secrets:
|
|
||||||
description: The file downloaded from the [Google Actions Console](https://console.actions.google.com/), you can redownload them under the "Develop - Device registration" tab. By default the add-on look in the "hassio/share" folder.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
project_id:
|
|
||||||
description: The project id can be found in your "google_assistant.json" file or under project settings in the [Google Actions Console](https://console.actions.google.com/).
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
model_id:
|
|
||||||
description: The model id can also be found under the "Develop - Device registration tab" in the [Google Actions Console](https://console.actions.google.com/).
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Home Assistant configuration
|
|
||||||
|
|
||||||
Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant or combine it with the [Google Assistant component][AssistantIntergration].
|
|
||||||
|
|
||||||
[AssistantIntergration]: /integrations/google_assistant/
|
|
||||||
[GoogleAssistant]: https://assistant.google.com/
|
|
||||||
[GoogleActions]: https://actions.google.com/
|
|
||||||
[GActionsConsole]: https://console.actions.google.com/
|
|
||||||
[enableAPI]: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview
|
|
||||||
[OAuthConcent]: https://console.developers.google.com/apis/credentials/consent
|
|
||||||
[Samba]: /addons/samba/
|
|
||||||
[comp]: /integrations/dialogflow/
|
|
||||||
[project]: https://console.cloud.google.com/project
|
|
||||||
[API]: https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview
|
|
||||||
[oauthclient]: https://console.developers.google.com/apis/credentials/oauthclient
|
|
||||||
[cloudConsole]: https://console.cloud.google.com/cloud-resource-manager
|
|
@ -1,133 +0,0 @@
|
|||||||
---
|
|
||||||
title: "HomeMatic"
|
|
||||||
description: "HomeMatic hardware support to turn Home Assistant into a CCU."
|
|
||||||
---
|
|
||||||
|
|
||||||
You can't import an existing configuration, you'll need re-learn it into Home Assistant. There is an experimental WebUI alias Regahss support since 9.0. Before it was required to use a third-party tool.
|
|
||||||
|
|
||||||
Follow devices will be supported and tested:
|
|
||||||
|
|
||||||
- [HM-MOD-RPI-PCB](https://www.elv.ch/homematic-funkmodul-fuer-raspberry-pi-bausatz.html)
|
|
||||||
- [HmIP-RFUSB](https://www.elv.ch/elv-homematic-ip-rf-usb-stick-hmip-rfusb-fuer-alternative-steuerungsplattformen-arr-bausatz.html)
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"rf_enable": true,
|
|
||||||
"rf": [
|
|
||||||
{
|
|
||||||
"type": "CCU2",
|
|
||||||
"device": "/dev/ttyAMA0"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"wired_enable": false,
|
|
||||||
"wired": [
|
|
||||||
{
|
|
||||||
"serial": "xy",
|
|
||||||
"key": "abc",
|
|
||||||
"ip": "192.168.0.0"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"hmip_enable": false,
|
|
||||||
"hmip": [
|
|
||||||
{
|
|
||||||
"type": "HMIP_CCU2",
|
|
||||||
"device": "/dev/ttyUSB0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
rf_enable:
|
|
||||||
description: Enable or disable BidCoS-RF.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
rf:
|
|
||||||
description: RF devices.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
type:
|
|
||||||
description: Device type for RFD service. Look into the manual of your device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
device:
|
|
||||||
description: Device on the host.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
wired_enable:
|
|
||||||
description: Enable or disable BidCoS-Wired.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
wired:
|
|
||||||
description: Wired devices.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
serial:
|
|
||||||
description: Serial number of the device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
key:
|
|
||||||
description: The encrypted key.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
ip:
|
|
||||||
description: The IP address of LAN gateway.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
hmip_enable:
|
|
||||||
description: Enable or disable hmip.
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
hmip:
|
|
||||||
description: HMIP devices.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
type:
|
|
||||||
description: Device type for RFD service. Look into the manual of your device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
device:
|
|
||||||
description: Device on the host.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Home Assistant configuration
|
|
||||||
|
|
||||||
Use the following configuration in Home Assistant to use it:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
homematic:
|
|
||||||
interfaces:
|
|
||||||
rf:
|
|
||||||
host: core-homematic
|
|
||||||
port: 2001
|
|
||||||
wired:
|
|
||||||
host: core-homematic
|
|
||||||
port: 2000
|
|
||||||
hmip:
|
|
||||||
host: core-homematic
|
|
||||||
port: 2010
|
|
||||||
```
|
|
||||||
|
|
||||||
## Raspberry Pi3
|
|
||||||
|
|
||||||
With HM-MOD-RPI-PCB you need to add follow into your `config.txt` on boot partition:
|
|
||||||
|
|
||||||
```text
|
|
||||||
dtoverlay=pi3-miniuart-bt
|
|
||||||
```
|
|
||||||
|
|
||||||
## HmIP-RFUSB
|
|
||||||
|
|
||||||
HassOS > 1.11 support HmIP-RFUSB by default and don't need any configuration. If you run a Linux installation, you need to follow the installation guide from the documentation to set up the UART USB interface on your computer.
|
|
||||||
|
|
||||||
## Web UI
|
|
||||||
|
|
||||||
To enable the experimental WebUI for built-in CCU specify a port number for "Regahss Webinterface" on the addon configuration page under the network section. After saving the changes, click on the "Open Web UI" button and proceed with the [Homematic WebUI](https://www.eq-3.de/downloads/download/handbuecher/WebUI_Handbuch_eQ-3.pdf) configuration.
|
|
@ -1,99 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Let's Encrypt"
|
|
||||||
description: "Automatically manage your SSL certificate using Let's Encrypt."
|
|
||||||
---
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This add-on will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"email": "example@example.com",
|
|
||||||
"domains": ["example.com", "mqtt.example.com", "hass.example.com"],
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
email:
|
|
||||||
description: Your email address for registration on Let's Encrypt.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
domains:
|
|
||||||
description: A list of domains to create/renew the certificate.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
certfile:
|
|
||||||
description: Name of the certfile that is created. Leave as default value.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
default: fullchain.pem
|
|
||||||
keyfile:
|
|
||||||
description: Name of the keyfile that is created. Leave as default value.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
default: privkey.pem
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Home Assistant configuration
|
|
||||||
|
|
||||||
Use the following configuration in Home Assistant to use the generated certificate:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
http:
|
|
||||||
base_url: https://my-domain.tld:8123
|
|
||||||
ssl_certificate: /ssl/fullchain.pem
|
|
||||||
ssl_key: /ssl/privkey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
If you use another port such as `8123` or an SSL proxy, change the port number.
|
|
||||||
|
|
||||||
## Enabling auto-renewals
|
|
||||||
|
|
||||||
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificate, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
|
|
||||||
|
|
||||||
However, you can automate this process using Home Assistant.
|
|
||||||
|
|
||||||
Use this in your `automations.yaml` to attempt certificate renewal each day at midnight:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- id: letsencrypt-renewal
|
|
||||||
alias: "Let's Encrypt Renewal"
|
|
||||||
trigger:
|
|
||||||
- platform: time
|
|
||||||
at: '00:00:00'
|
|
||||||
action:
|
|
||||||
- service: hassio.addon_restart
|
|
||||||
data:
|
|
||||||
addon: core_letsencrypt
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are using the [Nginx Proxy add-on] you will need need to stop this during the renewal process. This can be achieved by stopping the add-on whilst restarting the Let's Encrypt add-on. This can be achieved the following configuration:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- id: letsencrypt-renewal
|
|
||||||
alias: 'LetsEncrypt renewal'
|
|
||||||
trigger:
|
|
||||||
- platform: time
|
|
||||||
at: '00:00:00'
|
|
||||||
action:
|
|
||||||
- service: hassio.addon_stop
|
|
||||||
data:
|
|
||||||
addon: core_nginx_proxy
|
|
||||||
- service: hassio.addon_restart
|
|
||||||
data:
|
|
||||||
addon: core_letsencrypt
|
|
||||||
- delay: '00:01:30'
|
|
||||||
- service: hassio.addon_start
|
|
||||||
data:
|
|
||||||
addon: core_nginx_proxy
|
|
||||||
```
|
|
||||||
|
|
||||||
[DuckDNS add-on]: /addons/duckdns/
|
|
||||||
[Nginx Proxy add-on]: /addons/nginx_proxy/
|
|
@ -1,81 +0,0 @@
|
|||||||
---
|
|
||||||
title: "MariaDB"
|
|
||||||
description: "MariaDB Server is one of the most popular database servers in the world."
|
|
||||||
---
|
|
||||||
|
|
||||||
Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databases, users and permission settings. If you want to only connect from inside Home Assistant use `core-mariadb` as the host address.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"databases": ["homeassistant"],
|
|
||||||
"logins": [
|
|
||||||
{
|
|
||||||
"username": "hass",
|
|
||||||
"host": "%.local.hass.io",
|
|
||||||
"password": "securePassword"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"rights": [
|
|
||||||
{
|
|
||||||
"username": "hass",
|
|
||||||
"host": "%.local.hass.io",
|
|
||||||
"database": "homeassistant",
|
|
||||||
"grant": "ALL PRIVILEGES ON"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
databases:
|
|
||||||
description: List of databases.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
logins:
|
|
||||||
description: List of SQL accounts to create or update.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
username:
|
|
||||||
description: Username for account.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
host:
|
|
||||||
description: Host for account. Use '%', to accept connections for this account from any host.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: Password for account.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
rights:
|
|
||||||
description: List of rights to be granted.
|
|
||||||
required: true
|
|
||||||
type: list
|
|
||||||
keys:
|
|
||||||
username:
|
|
||||||
description: Username for granted rights.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
host:
|
|
||||||
description: Host is a part of username like above.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
database:
|
|
||||||
description: Database name on which to grant user rights.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
grant:
|
|
||||||
description: SQL grant part for access too.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
## Home Assistant configuration
|
|
||||||
|
|
||||||
Use the following configuration in Home Assistant to use the database above:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
recorder:
|
|
||||||
db_url: mysql://hass:securePassword@core-mariadb/homeassistant?charset=utf8
|
|
||||||
```
|
|
@ -1,127 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Mosquitto MQTT broker"
|
|
||||||
description: "Fast and reliable MQTT broker."
|
|
||||||
featured: true
|
|
||||||
---
|
|
||||||
|
|
||||||
Set up [Mosquitto](https://mosquitto.org/) as MQTT broker.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"logins": [
|
|
||||||
{"username": "local-user", "password": "mypw"}
|
|
||||||
],
|
|
||||||
"anonymous": false,
|
|
||||||
"customize": {
|
|
||||||
"active": false,
|
|
||||||
"folder": "mosquitto"
|
|
||||||
},
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
<div class='warning note'>
|
|
||||||
|
|
||||||
Since version 4.1 of the addon, an explicit ACL definition is now required if you plan to use legacy logins and `"anonymous": true` [see these instructions](https://www.home-assistant.io/addons/mosquitto/#access-control-lists-acls).
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
anonymous:
|
|
||||||
description: Allow anonymous connections. If *logins* is set, the anonymous user can only read data.
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
logins:
|
|
||||||
description: A list of local users that will be created with *username* and *password*. You don't need do this because you can use Home Assistant users too without any configuration.
|
|
||||||
required: false
|
|
||||||
type: list
|
|
||||||
customize:
|
|
||||||
description: If you enable it, it reads additional configuration files (`*.conf`) from `/share/mosquitto`.
|
|
||||||
required: false
|
|
||||||
type: [boolean, string]
|
|
||||||
default: false
|
|
||||||
cafile:
|
|
||||||
description: Path to the CA certificate. If not set, will default to the *certfile* value.
|
|
||||||
required: false
|
|
||||||
default: certfile
|
|
||||||
type: string
|
|
||||||
require_certificate:
|
|
||||||
description: Restrict to users with a valid certificate only.
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Home Assistant user management
|
|
||||||
|
|
||||||
This add-on is attached to the Home Assistant user system, so mqtt clients can make use of these credentials. Local users may also still be set independently within the configuration options for the add-on. For the internal Hass.io ecosystem we register `homeassistant` and `addons`, so these may not be used as user names.
|
|
||||||
|
|
||||||
### Home Assistant configuration
|
|
||||||
|
|
||||||
To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own), go to the integration page and install the configuration with one click. If you have old MQTT settings available, remove this old integration and restart Home Assistant to see the new one.
|
|
||||||
|
|
||||||
#### Using Mosquitto with Hass.io
|
|
||||||
|
|
||||||
1. Install the [Mosquitto add-on](/addons/mosquitto/) with the default configuration via 'Hass.io > ADD-ON STORE'. (Don't forget to start the add-on & verify that 'Start on boot' is enabled.)
|
|
||||||
|
|
||||||
2. Create a new user for MQTT via the `Configuration > Users (manage users)`. (Note: This name cannot be "homeassistant" or "addon")
|
|
||||||
|
|
||||||
3. Once back on-line, return to `Configuration > Integrations` and select configure next to `MQTT`.
|
|
||||||
|
|
||||||
```text
|
|
||||||
Broker: YOUR_HASSIO_IP_ADDRESS
|
|
||||||
Port: 1883
|
|
||||||
Username: MQTT_USERNAME
|
|
||||||
Password: MQTT_PASSWORD
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are using the ACL, remember to enter the newly created user and homeassistant in `/share/mosquitto/accesscontrollist` as follows:
|
|
||||||
|
|
||||||
```text
|
|
||||||
user [YOUR_MQTT_USER]
|
|
||||||
topic readwrite #
|
|
||||||
user homeassistant
|
|
||||||
topic readwrite #
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
Note: .yaml modifications are not required.
|
|
||||||
See [testing your setup](/docs/mqtt/testing/) to verify the steps above.
|
|
||||||
|
|
||||||
### Disable listening on insecure (1883) ports
|
|
||||||
|
|
||||||
Remove the ports from the add-on page network card (set them as blank) to disable them.
|
|
||||||
|
|
||||||
### Access Control Lists (ACLs)
|
|
||||||
|
|
||||||
It is possible to restrict access to topics based upon the user logged in to Mosquitto. In this scenario it is recommended to create individual users for each of your clients and create an appropriate ACL.
|
|
||||||
|
|
||||||
See the following links for more information:
|
|
||||||
|
|
||||||
* [Mosquitto topic restrictions](http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/)
|
|
||||||
* [Mosquitto.conf man page](https://mosquitto.org/man/mosquitto-conf-5.html)
|
|
||||||
|
|
||||||
Add the following configuration to enable **unrestricted** access to all topics.
|
|
||||||
|
|
||||||
1. Enable the customize flag
|
|
||||||
```json
|
|
||||||
"customize": {
|
|
||||||
"active": true,
|
|
||||||
"folder": "mosquitto"
|
|
||||||
},
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Create `/share/mosquitto/acl.conf` with the contents:
|
|
||||||
```text
|
|
||||||
acl_file /share/mosquitto/accesscontrollist
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Create `/share/mosquitto/accesscontrollist` with the contents:
|
|
||||||
```text
|
|
||||||
user [YOUR_MQTT_USER]
|
|
||||||
topic readwrite #
|
|
||||||
```
|
|
||||||
|
|
||||||
The `/share` folder can be accessed via SMB, or on the host filesystem under `/usr/share/hassio/share`.
|
|
@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
title: "NGINX SSL proxy"
|
|
||||||
description: "NGINX Home Assistant SSL proxy."
|
|
||||||
---
|
|
||||||
|
|
||||||
Sets up an SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on.
|
|
||||||
|
|
||||||
In the `http` section of the `configuration.yaml` file remove `ssl_certificate`, `ssl_key` and `server_port` and don't enter the port in the `base_url` to avoid an HTTP 502 error.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"domain": "home.example.com",
|
|
||||||
"certfile": "fullchain.pem",
|
|
||||||
"keyfile": "privkey.pem",
|
|
||||||
"hsts": "max-age=31536000; includeSubDomains",
|
|
||||||
"customize": {
|
|
||||||
"active": false,
|
|
||||||
"default": "nginx_proxy_default*.conf",
|
|
||||||
"servers": "nginx_proxy/*.conf"
|
|
||||||
},
|
|
||||||
"cloudflare": false
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
domain:
|
|
||||||
description: The Domain to use for the proxy.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
certfile:
|
|
||||||
description: The certificate file to use in the `/ssl` directory.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
keyfile:
|
|
||||||
description: Private key file to use in the `/ssl` directory.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
hsts:
|
|
||||||
description: Value for the [`Strict-Transport-Security`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) HTTP header to send. If empty, the header is not sent.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
customize:
|
|
||||||
description: If true, additional NGINX configuration files for the default server and additional servers are read from files in the `/share` directory specified by the `default` and `servers` variables.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
cloudflare:
|
|
||||||
description: If enabled, configure Nginx with a list of IP addresses directly from Cloudflare that will be used for `set_real_ip_from` directive Nginx config.
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
It is possible to deactivate port 80 if you need this for things like `emulated_hue`. Remove the host port from Network option of this add-on.
|
|
||||||
|
|
||||||
</div>
|
|
@ -1,45 +0,0 @@
|
|||||||
---
|
|
||||||
title: "RPC Shutdown"
|
|
||||||
description: "Simple way for remote windows shutdowns."
|
|
||||||
---
|
|
||||||
|
|
||||||
Allows you to shut down a Windows computer with a service call from Home Assistant.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"computers": [
|
|
||||||
{
|
|
||||||
"alias": "test-pc-1",
|
|
||||||
"address": "192.168.0.1",
|
|
||||||
"credentials": "user%password"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alias": "test-pc-2",
|
|
||||||
"address": "192.168.0.2",
|
|
||||||
"credentials": "user%password"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- **computers** (*Required*): A list of computer objects to shutdown from Home-Assistant.
|
|
||||||
- **computers/alias** (*Required*): Set an alias for this record which becomes the name for the input.
|
|
||||||
- **computers/address** (*Required*): IP address or NetBIOS name of the computer for the shutdown.
|
|
||||||
- **computers/credentials** (*Required*): Credentials for logging into computer. Use a `%` as the delimiter of username and password.
|
|
||||||
|
|
||||||
### Home Assistant configuration
|
|
||||||
|
|
||||||
Use the following inside Home Assistant service call to use it:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
service: hassio.addon_stdin
|
|
||||||
data:
|
|
||||||
addon: core_rpc_shutdown
|
|
||||||
input: test-pc
|
|
||||||
```
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
The `user` specified in the credentials should be an applicable user listed in `C:/Users`. This may differ from the username used to login to Windows. Depending on your settings and privileges within Windows, changes to the firewall, UAC (User Account Control) and registry settings may be required to allow this add-on to remotely shut down your computer. There are many guides available online on how to adjust these settings.
|
|
||||||
|
|
||||||
</div>
|
|
@ -1,70 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Samba"
|
|
||||||
description: "Manage your Home Assistant and custom add-ons over Samba."
|
|
||||||
featured: true
|
|
||||||
---
|
|
||||||
|
|
||||||
This add-on allows you to set up a [Samba](https://www.samba.org) server to access Hass.io folders using Windows network shares.
|
|
||||||
|
|
||||||
<div class='note warning'>
|
|
||||||
|
|
||||||
Be careful when setting up port forwarding for remote access. If you don't restrict access by setting a username and strong password, your configuration could be exposed to the entire Internet!
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type `\\HASSIO` to access Hass.io shares.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"workgroup": "WORKGROUP",
|
|
||||||
"username": "",
|
|
||||||
"password": "",
|
|
||||||
"interface": "eth0",
|
|
||||||
"allow_hosts": [
|
|
||||||
"10.0.0.0/8",
|
|
||||||
"172.16.0.0/12",
|
|
||||||
"192.168.0.0/16"
|
|
||||||
],
|
|
||||||
"veto_files": [
|
|
||||||
"._*",
|
|
||||||
".DS_Store",
|
|
||||||
"Thumbs.db",
|
|
||||||
"icon?",
|
|
||||||
".Trashes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
workgroup:
|
|
||||||
description: Set network workgroup name.
|
|
||||||
required: false
|
|
||||||
default: "`WORKGROUP`"
|
|
||||||
type: string
|
|
||||||
username:
|
|
||||||
description: Username for logging in.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: Password for `username`. An empty password is not supported.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
interface:
|
|
||||||
description: Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection. If you are running on an Intel NUC this could also be `enp3s0` for ethernet or `wlp5s0` for wireless connection.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
allow_hosts:
|
|
||||||
description: The hosts that are allowed to connect to your Samba server. By default it is limited to people within the same local network.
|
|
||||||
required: false
|
|
||||||
default: '`["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]`'
|
|
||||||
type: list
|
|
||||||
veto_files:
|
|
||||||
description: List of files that are neither visible nor accessible. Useful to stop clients from littering the share with temporary hidden files (e.g. macOS .DS_Store, Windows Thumbs.db)
|
|
||||||
required: false
|
|
||||||
default: '`["._*", ".DS_Store", "Thumbs.db", "icon?", ".Trashes"]`'
|
|
||||||
type: list
|
|
||||||
{% endconfiguration %}
|
|
@ -1,125 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Snips.ai"
|
|
||||||
description: "Enhance your Hass.io installation with a local voice assistant."
|
|
||||||
---
|
|
||||||
|
|
||||||
[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
|
|
||||||
|
|
||||||
<div class='warning note'>
|
|
||||||
|
|
||||||
The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
Home Assistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki).
|
|
||||||
|
|
||||||
The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a [Shopping List](/integrations/shopping_list/) if that integration is enabled.
|
|
||||||
|
|
||||||
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
|
|
||||||
|
|
||||||
```txt
|
|
||||||
Turn on kitchen light
|
|
||||||
Open garage door
|
|
||||||
What is on my shopping list
|
|
||||||
```
|
|
||||||
|
|
||||||
To get started creating your own configuration, follow [their tutorial](https://docs.snips.ai/getting-started/quick-start-console) to create an assistant and download the training data. You can also add the Home Assistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
|
|
||||||
|
|
||||||
Now install and activate the [Samba](/addons/samba/) add-on so you can upload your training data. Connect to the "share" Samba share and copy your assistant over. Name the file `assistant.zip` or whatever you have configured in the configuration options.
|
|
||||||
|
|
||||||
Now it's time to start Snips for the first time. You can configure the microphone and sound card using the Add-on interface. Now start the add-on.
|
|
||||||
|
|
||||||
### Add-On configuration
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mqtt_bridge": {
|
|
||||||
"active": true,
|
|
||||||
"host": "172.17.0.1",
|
|
||||||
"port": 1883,
|
|
||||||
"user": "",
|
|
||||||
"password": ""
|
|
||||||
},
|
|
||||||
"assistant": "assistant.zip",
|
|
||||||
"language": "en",
|
|
||||||
"custom_tts": false,
|
|
||||||
"tts_platform": "amazon_polly"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
assistant:
|
|
||||||
description: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
|
|
||||||
type: string
|
|
||||||
language:
|
|
||||||
description: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
|
|
||||||
type: string
|
|
||||||
custom_tts:
|
|
||||||
description: Whether to use a TTS provider from Home Assistant for a variety of voices.
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
tts_platform:
|
|
||||||
description: Which TTS platform to use.
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Home Assistant configuration
|
|
||||||
|
|
||||||
A simple configuration just requires this. Consult [Snips.ai integration](/integrations/snips/) for more options.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
snips:
|
|
||||||
```
|
|
||||||
|
|
||||||
### Home Assistant configuration
|
|
||||||
|
|
||||||
There is an active [discord](https://discordapp.com/invite/3939Kqx) channel and [Snips forum](https://forum.snips.ai/) for further support.
|
|
||||||
|
|
||||||
### Examples
|
|
||||||
|
|
||||||
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your Hass.io installation using the Samba add-on.
|
|
||||||
|
|
||||||
Next create a weather sensor, e.g., one for [Dark Sky](/integrations/darksky/), and put the `api_key` in your `secrets.yaml` file. For this example to work you will need to have a valid API key from [Dark Sky](https://darksky.net/dev).
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- platform: darksky
|
|
||||||
name: "Dark Sky Weather"
|
|
||||||
api_key: !secret dark_sky_key
|
|
||||||
update_interval:
|
|
||||||
minutes: 10
|
|
||||||
monitored_conditions:
|
|
||||||
- summary
|
|
||||||
- hourly_summary
|
|
||||||
- temperature
|
|
||||||
- temperature_max
|
|
||||||
- temperature_min
|
|
||||||
```
|
|
||||||
|
|
||||||
Next add this to your `configuration.yaml` file to reference a new `intent_script` integration. This is a good practice to [split your configuration files](/docs/configuration/splitting_configuration/) up.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
intent_script: !include intent_script.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
Finally, create this `intent_script.yaml` file in your configuration directory.
|
|
||||||
|
|
||||||
{% raw %}
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
searchWeatherForecast:
|
|
||||||
speech:
|
|
||||||
type: plain
|
|
||||||
text: >
|
|
||||||
The weather is currently
|
|
||||||
{{ states('sensor.dark_sky_weather_temperature') | round(0) }}
|
|
||||||
degrees outside and {{ states('sensor.dark_sky_weather_summary') }}.
|
|
||||||
The high today will be
|
|
||||||
{{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}}
|
|
||||||
and {{ states('sensor.dark_sky_weather_hourly_summary') }}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% endraw %}
|
|
||||||
|
|
||||||
Now just restart Hass.io and ask it what the weather is like.
|
|
||||||
|
|
||||||
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle
|
|
@ -1,56 +0,0 @@
|
|||||||
---
|
|
||||||
title: "SSH Server"
|
|
||||||
description: "Allow logging in remotely to Hass.io using SSH."
|
|
||||||
featured: true
|
|
||||||
---
|
|
||||||
|
|
||||||
Setting up an [SSH](https://openssh.com/) server allows access to your Hass.io folders with any SSH client. It also includes a command-line tool to access the [Hass.io API](https://github.com/home-assistant/hassio/blob/dev/API.md). Try it out:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
hassio help
|
|
||||||
```
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
This add-on will not enable you to install packages or do anything as root. This is not allowed with Hass.io.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
To use this add-on, you must have a private/public key to log in. To generate them, follow the [instructions for Windows][win] and [these for other platforms][other]. It is possible to set a password for login since version 2.0 but for high security use private/public keys. You can not run both variants at the same time.
|
|
||||||
|
|
||||||
To start this add-on for the first time, you either need to include a key (enclosed in quotation marks, on a single line without line breaks) or set a password in the options section.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"authorized_keys": [
|
|
||||||
"ssh-rsa AKDJD3839...== my-key"
|
|
||||||
],
|
|
||||||
"password": ""
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
The username for login over SSH is `root`. The complete login command is `ssh root@hassio.local`.
|
|
||||||
|
|
||||||
After logging in, you will find yourself in this add-on's container. The Home Assistant configuration directory is mounted on the path `/config`.
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
authorized_keys:
|
|
||||||
description: Your public keys for the authorized key file. Every element will be a line inside that file.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: Set a password for login. We do **NOT** recommend this variant.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
<div class='videoWrapper'>
|
|
||||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/L7PCPQYwspo" frameborder="0" allowfullscreen></iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
[win]: https://www.digitalocean.com/community/tutorials/how-to-create-ssh-keys-with-putty-to-connect-to-a-vps
|
|
||||||
[other]: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
|
|
||||||
|
|
||||||
<div class='note'>
|
|
||||||
This add-on is not compatible if Hass.io was installed via the generic Linux installer.
|
|
||||||
</div>
|
|
@ -1,119 +0,0 @@
|
|||||||
---
|
|
||||||
title: "TellStick"
|
|
||||||
description: "Telldus TellStick service enabler and tools."
|
|
||||||
---
|
|
||||||
|
|
||||||
Setting up the [Tellstick](http://telldus.com) service and tools contained in the [telldus-core](http://developer.telldus.com/) package and adding configuration to enable Tellstick and Tellstick Duo to work on your Hass.io.
|
|
||||||
|
|
||||||
To use this add-on, you first install it from the list of Built-in add-ons in Hass.io.
|
|
||||||
After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](http://developer.telldus.com/wiki/TellStick_conf).
|
|
||||||
|
|
||||||
After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect.
|
|
||||||
|
|
||||||
You will need to add internal communication details to `configuration.yaml` to enable the integration from Hass.io and the add-on.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
tellstick:
|
|
||||||
host: core-tellstick
|
|
||||||
port: [50800, 50801]
|
|
||||||
```
|
|
||||||
|
|
||||||
To add [lights](/integrations/tellstick#light), [sensors](/integrations/tellstick#sensor) and [switches](/integrations/tellstick#switch) you follow the guidelines for each type individually that is [described for Home Assistant](/integrations/tellstick/)
|
|
||||||
|
|
||||||
The add-on will also enable you to interact with the `tdtool` via a Home Assistant services call, see example below for self-learning device.
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
Example for adding more devices in the add-on configuration (note the comma separator between devices):
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"devices": [
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"name": "Outdoor light",
|
|
||||||
"protocol": "everflourish",
|
|
||||||
"model": "selflearning-switch",
|
|
||||||
"house": "A",
|
|
||||||
"unit": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"name": "Hallway dimmer",
|
|
||||||
"protocol": "risingsun",
|
|
||||||
"model": "selflearning-dimmer",
|
|
||||||
"house": "A",
|
|
||||||
"unit": "2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
id:
|
|
||||||
description: A number and must be unique for each device.
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: A name for easy identification of the device.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
protocol:
|
|
||||||
description: This is the protocol the device uses. More on the different protocols later down.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
model:
|
|
||||||
description: The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
house:
|
|
||||||
description: Depending on protocol the values here can vary a lot to identify or group per house or type.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
unit:
|
|
||||||
description: Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
|
|
||||||
required: false
|
|
||||||
type: integer
|
|
||||||
fade:
|
|
||||||
description: Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
code:
|
|
||||||
description: A number series based on ones and zeroes often used for dip-switch based devices.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
For more information about the configuration including protocols, see the [telldus documentation](http://developer.telldus.com/wiki/TellStick_conf).
|
|
||||||
|
|
||||||
## Service calls
|
|
||||||
|
|
||||||
If you wish to teach a self-learning device in your TellStick configuration:
|
|
||||||
|
|
||||||
Go to Home Assistant service call in Developer tools and select.
|
|
||||||
|
|
||||||
- Service: `hassio.addon_stdin`
|
|
||||||
- Enter service Data:
|
|
||||||
`{"addon":"core_tellstick","input":{"function":"learn","device":"1"}}`
|
|
||||||
|
|
||||||
Replace `1` with the corresponding ID of the device in your TellStick configuration.
|
|
||||||
|
|
||||||
You can also use this to list devices or sensors and read the output in the add-on log:
|
|
||||||
`{"addon":"core_tellstick","input":{"function":"list-sensors"}}`
|
|
||||||
|
|
||||||
### Supported service commands
|
|
||||||
|
|
||||||
- `"function":"list"`: List currently configured devices with name and device id and all discovered sensors.
|
|
||||||
|
|
||||||
- `"function":"list-sensors"`
|
|
||||||
- `"function":"list-devices"`: Alternative devices/sensors listing: Shows devices and/or sensors using key=value format (with tabs as separators, one device/sensor per line, no header lines.)
|
|
||||||
|
|
||||||
- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device.
|
|
||||||
|
|
||||||
- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device.
|
|
||||||
|
|
||||||
- `"function":"bell","device":"x"`: Sends bell command to devices supporting this. ’x’ could either be an integer of the device-id, or the name of the device.
|
|
||||||
|
|
||||||
- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normally devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device.
|
|
@ -2065,3 +2065,23 @@
|
|||||||
/docs/ecosystem/ios/notifications/requesting_location_updates https://companion.home-assistant.io/notifications/location
|
/docs/ecosystem/ios/notifications/requesting_location_updates https://companion.home-assistant.io/notifications/location
|
||||||
/docs/ecosystem/ios/notifications/sounds https://companion.home-assistant.io/notifications/sounds
|
/docs/ecosystem/ios/notifications/sounds https://companion.home-assistant.io/notifications/sounds
|
||||||
/ecosystem/ios/notifications https://companion.home-assistant.io/en/getting_started/migration#5---known-issues
|
/ecosystem/ios/notifications https://companion.home-assistant.io/en/getting_started/migration#5---known-issues
|
||||||
|
|
||||||
|
# Add-ons
|
||||||
|
/addons/cec_scan https://github.com/home-assistant/hassio-addons/blob/master/cec_scan/README.md
|
||||||
|
/addons/check_config https://github.com/home-assistant/hassio-addons/blob/master/check_config/README.md
|
||||||
|
/addons/configurator https://github.com/home-assistant/hassio-addons/blob/master/configurator/README.md
|
||||||
|
/addons/dhcp_server https://github.com/home-assistant/hassio-addons/blob/master/dhcp_server/README.md
|
||||||
|
/addons/dnsmasq https://github.com/home-assistant/hassio-addons/blob/master/dnsmasq/README.md
|
||||||
|
/addons/duckdns https://github.com/home-assistant/hassio-addons/blob/master/duckdns/README.md
|
||||||
|
/addons/git_pull https://github.com/home-assistant/hassio-addons/blob/master/git_pull/README.md
|
||||||
|
/addons/google_assistant https://github.com/home-assistant/hassio-addons/blob/master/google_assistant/README.md
|
||||||
|
/addons/homematic https://github.com/home-assistant/hassio-addons/blob/master/homematic/README.md
|
||||||
|
/addons/lets_encrypt https://github.com/home-assistant/hassio-addons/blob/master/letsencrypt/README.md
|
||||||
|
/addons/mariadb https://github.com/home-assistant/hassio-addons/blob/master/mariadb/README.md
|
||||||
|
/addons/mosquitto https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/README.md
|
||||||
|
/addons/nginx_proxy https://github.com/home-assistant/hassio-addons/blob/master/nginx_proxy/README.md
|
||||||
|
/addons/rpc_shutdown https://github.com/home-assistant/hassio-addons/blob/master/rpc_shutdown/README.md
|
||||||
|
/addons/samba https://github.com/home-assistant/hassio-addons/blob/master/samba/README.md
|
||||||
|
/addons/snips https://github.com/home-assistant/hassio-addons/blob/master/snips/README.md
|
||||||
|
/addons/ssh https://github.com/home-assistant/hassio-addons/blob/master/ssh/README.md
|
||||||
|
/addons/tellstick https://github.com/home-assistant/hassio-addons/blob/master/tellstick/README.md
|
||||||
|
@ -1,39 +1,38 @@
|
|||||||
---
|
---
|
||||||
title: "Hass.io Add-ons"
|
title: "Hass.io Add-ons"
|
||||||
description: "List of the built-in add-ons of Hass.io."
|
description: "Find add-ons to install with Home Assistant."
|
||||||
regenerate: false
|
regenerate: false
|
||||||
---
|
---
|
||||||
|
|
||||||
<p>Add-ons for Hass.io allow the user to extend the functionality around Home Assistant. This can be running an application that Home Assistant can integrate with (like an MQTT broker) or to share the configuration via Samba for easy editing from other computers. Add-ons can be configured via the Hass.io panel in Home Assistant.</p>
|
<p>
|
||||||
|
Add-ons for Hass.io allow the user to extend the functionality around Home
|
||||||
|
Assistant by installing additional applications.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This can be running an application that Home Assistant can integrate with
|
||||||
|
(like an MQTT broker) or to share the configuration via Samba for easy editing
|
||||||
|
from other computers. Add-ons can be configured via the Hass.io panel in Home
|
||||||
|
Assistant.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img src="/images/addons/addon-store.png"/>
|
||||||
|
Add-ons for Hass.io are freely available in the add-on store.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Check the Hass.io forums for <a href='https://community.home-assistant.io/tags/hassio-repository'>add-on repositories managed by the community</a>.
|
To install add-ons, navigate to the Hass.io panel in your Home Assistant
|
||||||
|
frontend, and click on the "ADD-ON STORE" tab. All add-ons, including their documentation, are available right from the store.
|
||||||
|
Click on a add-on you are interested in, to read the documentation or to install the add-on.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class='note'>
|
<p class="note">
|
||||||
Add-ons are only available if you've used the Hass.io installer. If you installed Home Assistant using any other method then you cannot use add-ons (but you can achieve the same result manually).
|
Add-ons are only available if you've used the Hass.io installer. If you
|
||||||
|
installed Home Assistant using any other method then you cannot use add-ons
|
||||||
|
(but you can achieve the same result manually).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{% assign addons = site.addons | sort: 'title' %}
|
<p>
|
||||||
|
Check the Hass.io forums for
|
||||||
<h3>Featured add-ons</h3>
|
<a href="https://community.home-assistant.io/tags/hassio-repository">add-on repositories managed by the community</a>.
|
||||||
|
</p>
|
||||||
<ul>
|
|
||||||
{% for addon in addons %}{% if addon.featured %}
|
|
||||||
<li>
|
|
||||||
<a href='{{ addon.url }}'>{{ addon.title }}</a><br>
|
|
||||||
{{ addon.description }}
|
|
||||||
</li>
|
|
||||||
{% endif %}{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h3>Other add-ons</h3>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
{% for addon in addons %}{% if addon.featured != true %}
|
|
||||||
<li>
|
|
||||||
<a href='{{ addon.url }}'>{{ addon.title }}</a><br>
|
|
||||||
{{ addon.description }}
|
|
||||||
</li>
|
|
||||||
{% endif %}{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
BIN
source/images/addons/addon-store.png
Normal file
BIN
source/images/addons/addon-store.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 104 KiB |
Loading…
x
Reference in New Issue
Block a user