Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2017-07-15 21:08:29 -07:00
commit 24468cc1ff
47 changed files with 815 additions and 96 deletions

View File

@ -142,12 +142,12 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 48 current_minor_version: 49
current_patch_version: 1 current_patch_version: 0
date_released: 2017-07-05 date_released: 2017-07-16
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.
# Major release: # Major release:
patch_version_notes: "#release-0481---july-5" patch_version_notes: "#"
# Minor release (Example #release-0431---april-25): # Minor release (Example #release-0431---april-25):

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "Bluetooth BCM43xx" title: "Bluetooth BCM43xx"
description: "Activate bluetooth for bcm43xx" description: "Activate the BCM43xx Bluetooth chipset on a Raspberry Pi 3."
date: 2017-04-30 13:28 date: 2017-04-30 13:28
sidebar: true sidebar: true
comments: false comments: false
@ -9,4 +9,6 @@ sharing: true
footer: true footer: true
--- ---
Start Bluetooth for BCM43xx chipset on startup. Like Raspberry Pi3 Start this add-on to activate the BCM43xx Bluetooth chipset.
Supported platforms: Raspberry Pi 3.

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "Check Home Assistant configuration" title: "Check Home Assistant configuration"
description: "Check Home Assistant configuration against a new version" description: "Check your current Home Assistant configuration against a new version"
date: 2017-04-30 13:28 date: 2017-04-30 13:28
sidebar: true sidebar: true
comments: false comments: false

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "DHCP server" title: "DHCP server"
description: "A simple dhcp server" description: "A simple DHCP server."
date: 2017-04-30 13:28 date: 2017-04-30 13:28
sidebar: true sidebar: true
comments: false comments: false
@ -9,7 +9,7 @@ sharing: true
footer: true footer: true
--- ---
Create a simple DHCP server for your network and allow set fix ip for some devices. Create a simple DHCP server for your network and allow setting fixed IPs for devices.
```json ```json
{ {

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "Dnsmasq" title: "Dnsmasq"
description: "A simple dns server with benefits." description: "A simple DNS server."
date: 2017-04-30 13:28 date: 2017-04-30 13:28
sidebar: true sidebar: true
comments: false comments: false
@ -9,7 +9,7 @@ sharing: true
footer: true footer: true
--- ---
Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) dns server. This allow your to manipulate some dns requests. I.e. that inside your network, your homeassistant domain will resolve with a internal address. 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.
<p class='note info'> <p class='note info'>
`interface` options are for resinos based installation. On other system you can set it to `""`, for listen on every interface. `interface` options are for resinos based installation. On other system you can set it to `""`, for listen on every interface.

View File

@ -22,9 +22,19 @@ Set up a [mosquitto](https://mosquitto.org/) MQTT broker.
} }
``` ```
<p class='note'>Make sure you use logins and disable anonymous access if you want to secure the system.</p>
Configuration variables: Configuration variables:
- **plain** (*Optional*): Listen to broker on port 1883 without SSL/TLS. Defaults to `true`. - **plain** (*Optional*): Listen to broker on port 1883 without SSL/TLS. Defaults to `true`.
- **ssl** (*Optional*): Listen to broker on port 8883 with SSL/TLS. This requires certificates. Defaults to `false`. - **ssl** (*Optional*): Listen to broker on port 8883 with SSL/TLS. This requires certificates. Defaults to `false`.
- **anonymous** (*Optional*): Allow anonymous connection. If *logins* is set, anonymous user can only read data. Defaults to `true`. - **anonymous** (*Optional*): Allow anonymous connection. If *logins* is set, anonymous user can only read data. Defaults to `true`.
- **logins** (*Optional*): A list of user that will be created with *username* and *password*. - **logins** (*Optional*): A list of user that will be created with *username* and *password*.
### {% linkable_title Home Assistant configuration %}
```yaml
# Example configuration.yaml entry
mqtt:
broker: 172.17.0.1
```

View File

@ -0,0 +1,74 @@
---
layout: page
title: "Snips.ai"
description: "Enhance your Hass.io installation with a local voice assistant."
date: 2017-04-30 13:28
sidebar: true
comments: false
sharing: true
footer: true
---
[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.
To get started, follow [their tutorial] to create an assistant and download the training data.
Now install and activate the [Samba] add-on so you can upload your training data. Connect to the "share" Samba share and copy your training data over. Name the file `assistant.zip`.
Now it's time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices:
```plain
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
```
You need to use this information to configure the `mic` and `speaker` configuration options. The format is `<card #>,<device #>`. On a Raspberry Pi 3, `0,0` is the built-in headset port, `0,1` is the HDMI port.
Now that you've found the microphone and speaker addresses, it's time to configure Snips and restart the add-on.
### Add-On configuration
```json
{
"mic": "1,0",
"speaker": "1,0",
"assistant": "assistant.zip",
"mqtt_bridge": {
"active": true,
"host": "172.17.0.1",
"port": 1883,
"user": "",
"password": ""
},
}
```
Configuration variables:
- **mqtt_bridge** (*Optional*): Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your own.
- **mic**: This is the hardware address of your microphone. Look at the Snips
### {% linkable_title Home Assistant configuration %}
Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant.
```yaml
snips:
```
[Snips.ai]: https://snips.ai/
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Running-your-first-end-to-end-assistant
[Samba]: /addons/samba/
[comp]: /components/snips/

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "SSH Server" title: "SSH Server"
description: "Allow logging in remotely to your server using SSH." description: "Allow logging in remotely to Hass.io using SSH."
date: 2017-04-30 13:28 date: 2017-04-30 13:28
sidebar: true sidebar: true
comments: false comments: false
@ -9,7 +9,11 @@ sharing: true
footer: true footer: true
--- ---
Setting up an [SSH](https://openssh.org/) server allows access to your Hass.io folders with any SSH client. 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]. Setting up an [SSH](https://openssh.org/) server allows access to your Hass.io folders with any SSH client.
<p class='note'>This add-on will not enable you to install packages or do anything as root. This is not allowed with Hass.io.</p>
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].
```json ```json
{ {
@ -26,21 +30,4 @@ Configuration variables:
[win]: https://www.digitalocean.com/community/tutorials/how-to-create-ssh-keys-with-putty-to-connect-to-a-vps [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/ [other]: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
<p class='note'> <p class='note'>This add-on is not compatible when you installed Hass.io via the generic Linux installer.</p>
This add-on is not compatible when you installed Hass.io via the generic Linux installer.
If you're coming from Rasbian or similar, use `root` rather than `pi` when connecting via ssh or else you will get this error.
```bash
Permission denied (publickey,keyboard-interactive)
```
</p>
<p class='note'>
If you install this addon you can use `sshfs` as well to access files from a remote system where you have git and your favourite editing tools installed.
```bash
$ mkdir ~/ha_config
$ sshfs -o allow_other,defer_permissions root@h[your_hassio_ip]:/config ~/ha_config
```
</p>

View File

@ -22,6 +22,7 @@ feedreader:
urls: urls:
- https://home-assistant.io/atom.xml - https://home-assistant.io/atom.xml
- https://github.com/blog.atom - https://github.com/blog.atom
- https://hasspodcast.io/feed/podcast
``` ```
Configuration variables: Configuration variables:
@ -48,13 +49,17 @@ automation:
platform: event platform: event
event_type: feedreader event_type: feedreader
action: action:
service: notify.notify service: persistent_notification.create
data_template: "{{ trigger.event.data.title }}" data_template:
title: "New HA Podcast available"
message: "New Podcast available - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}"
notification_id: "{{ trigger.event.data.title }}"
``` ```
*Any field under the `<entry>` tag in the feed can be used for example `trigger.event.data.content` will get the body of the feed entry. *Any field under the `<entry>` tag in the feed can be used for example `trigger.event.data.content` will get the body of the feed entry.
For more advanced use cases, a custom component registering to the `feedreader` event type could be used instead: For more advanced use cases, a custom component registering to the `feedreader` event type could be used instead:
For a drop in packaged complete example of Feedreader, you can use the [PodCast notifier](https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/packages/hasspodcast.yaml).
```python ```python
EVENT_FEEDREADER = "feedreader" EVENT_FEEDREADER = "feedreader"

View File

@ -0,0 +1,19 @@
---
layout: page
title: "LaMetric"
description: "Instructions on how to integrate LaMetric with Home Assistant."
date: 2017-04-02 13:28
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Hub
ha_release: 0.49
---
```yaml
# configuration.yaml example
lametric:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

View File

@ -29,10 +29,10 @@ media_player:
Configuration variables: Configuration variables:
- **host** (*Required*): The IP/Hostname of the Samsung Smart TV, eg. `192.168.0.10`. - **host** (*Required*): The IP/Hostname of the Sharp Aquos TV, eg. `192.168.0.10`.
- **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 10002. - **port** (*Optional*): The port of the Sharp Aquos TV. Defaults to 10002.
- **username** (*Optional*): The username of the Samsung Smart TV. Defaults to admin. - **username** (*Optional*): The username of the Sharp Aquos TV. Defaults to admin.
- **password** (*Optional*): The password of the Samsung Smart TV. Defaults to password. - **password** (*Optional*): The password of the Sharp Aquos TV. Defaults to password.
- **name** (*Optional*): The name you would like to give to the Sharp Aquos TV. - **name** (*Optional*): The name you would like to give to the Sharp Aquos TV.
- **power_on_enabled** (*Optional*): If you want to be able to turn on your TV. Defaults to False. - **power_on_enabled** (*Optional*): If you want to be able to turn on your TV. Defaults to False.

View File

@ -0,0 +1,20 @@
---
layout: page
title: "LaMetric Notify"
description: "Instructions on how to setup the LaMetric notify platform with Home Assistant."
date: 2017-04-02 13:28
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Notify
ha_release: 0.49
---
```yaml
notify:
name: lametric1
platform: lametric
display_time: 20
icon: i555
```

View File

@ -29,7 +29,7 @@ rest_command:
Configuration variables: Configuration variables:
- **[service_name]** (*Required*): The name used to expose the service. E.g. in the above example would it be ` rest_command.example_request`. - **[service_name]** (*Required*): The name used to expose the service. E.g., in the above example, it would be `rest_command.example_request`.
- **url** (*Required*): The URL (support template) for sending request. - **url** (*Required*): The URL (support template) for sending request.
- **method** (*Optional*): HTTP method to use (`get`, `post`, `put`, or `delete`). Defaults to `get`. - **method** (*Optional*): HTTP method to use (`get`, `post`, `put`, or `delete`). Defaults to `get`.
- **payload** (*Optional*): A string/template to send with request. - **payload** (*Optional*): A string/template to send with request.
@ -39,4 +39,3 @@ Configuration variables:
- **content_type** (*Optional*): Content type for the request. - **content_type** (*Optional*): Content type for the request.
The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff. The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff.

View File

@ -53,6 +53,7 @@ sensor:
- platform: command_line - platform: command_line
name: HD Temperature name: HD Temperature
command: "hddtemp -n /dev/sda" command: "hddtemp -n /dev/sda"
# If errors occur, remove degree symbol below
unit_of_measurement: "°C" unit_of_measurement: "°C"
``` ```
@ -65,6 +66,7 @@ Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system, variou
- platform: command_line - platform: command_line
name: CPU Temperature name: CPU Temperature
command: "cat /sys/class/thermal/thermal_zone0/temp" command: "cat /sys/class/thermal/thermal_zone0/temp"
# If errors occur, remove degree symbol below
unit_of_measurement: "°C" unit_of_measurement: "°C"
value_template: '{% raw %}{{ value | multiply(0.001) }}{% endraw %}' value_template: '{% raw %}{{ value | multiply(0.001) }}{% endraw %}'
``` ```

View File

@ -68,7 +68,7 @@ Configuration variables:
- **precip_intensity_max**: Today's expected maximum intensity of precipitation. - **precip_intensity_max**: Today's expected maximum intensity of precipitation.
- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`. - **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`.
`auto` will let Dark Sky decide the unit system based on location. `auto` will let Dark Sky decide the unit system based on location.
- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats: - **update_interval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats:
- `update_interval: 'HH:MM:SS'` - `update_interval: 'HH:MM:SS'`
- `update_interval: 'HH:MM'` - `update_interval: 'HH:MM'`
- Time period dictionary, e.g.: - Time period dictionary, e.g.:

View File

@ -31,10 +31,27 @@ sensor:
Configuration variables: Configuration variables:
- **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302 - **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302.
- **pin** (*Required*): The pin the sensor is connected to. - **pin** (*Required*): The pin the sensor is connected to.
- **name** (*Optional*): The name of the sensor - **name** (*Optional*): The name of the sensor.
- **monitored_conditions** array (*Required*): Conditions to monitor. Available conditions are only *temperature* and *humidity*. - **monitored_conditions** array (*Required*): Conditions to monitor. Available conditions are only *temperature* and *humidity*.
- **temperature_offset** (*Optional*): Add or subtract a value from the temperature.
- **humidity_offset** (*Optional*): Add or subtract a value from the humidity.
The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi. The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi.
### {% linkable_title Example %}
An example for a Raspberry Pi 3 with a DHT22 sensor connected to GPIO4 (pin 7):
```yaml
sensor:
- platform: dht
sensor: DHT22
pin: 4
temperature_offset: 2.1
humidity_offset: -3.2
monitored_conditions:
- temperature
- humidity
```

View File

@ -69,15 +69,36 @@ followed by a command, e.g.
We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/nlu/intentParsed` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below. We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/nlu/intentParsed` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below.
#### Optional: specifying an external MQTT broker
By default, Snips runs its own MQTT broker. But we can also tell Snips to use an external broker by specifying this when launching Snips. In this case, instead of running the `snips` command above (which assumes we are using the internal MQTT broker), we use the full launch command with explicitly specified parameters (replace `MQTT_BROKER_IP` and `MQTT_BROKER_PORT` with appropriate values):
```sh
$ docker run -t --rm --name snips --log-driver none -v /home/pi/.asoundrc:/root/.asoundrc -v /opt/snips/config:/opt/snips/config --privileged -v /dev/snd:/dev/snd snipsdocker/platform --mqtt MQTT_BROKER_IP:MQTT_BROKER_PORT
```
For more details on launch options, check the documentation on [Snips Platform Commands](https://github.com/snipsco/snips-platform-documentation/wiki/6.--Learn-more:-Platform-Commands#using-a-custom-mqtt-bus).
## Home Assistant configuration ## Home Assistant configuration
By default, the Snips MQTT broker runs on port 9898. We should tell Home Assistant to use this as a broker, rather than its own, by adding the following section to `configuration.yaml`: ### Specifying the MQTT broker
Messages between Snips and Home Assistant are passed via MQTT. We must tell Home Assistant which MQTT broker to use by adding the following entry to `configuration.yaml`:
```yaml
mqtt:
broker: MQTT_BROKER_IP
port: MQTT_BROKER_PORT
```
As explained above, Snips by default runs an MQTT broker on port 9898. So if we wish to use this broker, the entry will look as follows:
```yaml ```yaml
mqtt: mqtt:
broker: 127.0.0.1 broker: 127.0.0.1
port: 9898 port: 9898
``` ```
### Triggering actions
In Home Assistant, we trigger actions based on intents produced by Snips. This is done in `configuration.yaml`. For instance, the following block handles `ActivateLightColors` intents (included in the Snips IoT intent bundle) to change light colors: In Home Assistant, we trigger actions based on intents produced by Snips. This is done in `configuration.yaml`. For instance, the following block handles `ActivateLightColors` intents (included in the Snips IoT intent bundle) to change light colors:

View File

@ -12,7 +12,7 @@ redirect_from: /getting-started/automation-troubleshooting/
You can verify that your automation rules are being initialized correctly by watching both the realtime logs (`homeassistant.log` in the configuration directory) and also the [Logbook](/components/logbook/). The realtime logs will show the rules being initialized (once for each trigger), example: You can verify that your automation rules are being initialized correctly by watching both the realtime logs (`homeassistant.log` in the configuration directory) and also the [Logbook](/components/logbook/). The realtime logs will show the rules being initialized (once for each trigger), example:
```plain ```text
INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rainy Day INFO [homeassistant.components.automation] Initialized rule Rainy Day

View File

@ -14,7 +14,7 @@ The easiest way to install Home Assistant on your Raspberry Pi is by using HASSb
1. [Download the Hassbian image][image-download] (364 MB) 1. [Download the Hassbian image][image-download] (364 MB)
2. Use [Etcher][etcher] to flash the image to your SD card 2. Use [Etcher][etcher] to flash the image to your SD card
3. Ensure your Raspberry Pi has wired access to the internet. 3. Ensure your Raspberry Pi has wired access to the internet for the entire process.
4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 5 minutes. 4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 5 minutes.
These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk). Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc). These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk). Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc).

View File

@ -33,7 +33,7 @@ Now switch to the new directory, setup the venv, and activate it.
```bash ```bash
$ cd /opt/homeassistant $ cd /opt/homeassistant
$ pyvenv-3.5 . $ python3.6 -m venv .
$ source bin/activate $ source bin/activate
``` ```

View File

@ -77,7 +77,7 @@ delay: {% raw %}'00:{{ states.input_slider.minute_delay.state | int }}:00'{% end
``` ```
### {% linkable_title Wait %} ### {% linkable_title Wait %}
Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/getting-started/automation-trigger/#template-trigger). It is possible to set a timeout after that will the script abort his execution. Timeout have same syntax as `delay`. Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/getting-started/automation-trigger/#template-trigger). The Timeout has same syntax as `delay`. If you set a Timeout for 1 minute and the condition is not satified within that minute, the script will continue.
```yaml ```yaml
# wait until media player have stop the playing # wait until media player have stop the playing

View File

@ -34,7 +34,7 @@
</ul> </ul>
</li> </li>
<li> <li>
{% active_link /developers/add_new_platform/ Support a new device (as a platform) %} {% active_link /developers/add_new_platform/ Creating a new platform (to support a new device) %}
<ul> <ul>
<li>{% active_link /developers/code_review_platform/ Checklist creating a platform %}</li> <li>{% active_link /developers/code_review_platform/ Checklist creating a platform %}</li>
<li>{% active_link /developers/platform_example_sensor/ Example sensor platform %}</li> <li>{% active_link /developers/platform_example_sensor/ Example sensor platform %}</li>
@ -72,13 +72,29 @@
<li>{% active_link /developers/frontend_creating_custom_ui/ Add Custom UI %}</li> <li>{% active_link /developers/frontend_creating_custom_ui/ Add Custom UI %}</li>
</ul> </ul>
</li> </li>
<li>
{% active_link /developers/hassio/architecture/ Hass.io architecture %}
<ul>
<li>{% active_link /developers/hassio/debugging/ Debugging Hass.io %}</li>
</ul>
</li>
<li>
{% active_link /developers/hassio/addon_development/ Hass.io Add-on Development %}
<ul>
<li>{% active_link /developers/hassio/addon_tutorial/ Tutorial: Making your first add-on %}</li>
<li>{% active_link /developers/hassio/addon_config/ Configuration %}</li>
<li>{% active_link /developers/hassio/addon_testing/ Local Testing %}</li>
<li>{% active_link /developers/hassio/addon_publishing/ Publishing %}</li>
<li>{% active_link /developers/hassio/addon_repository/ Repositories %}</li>
</ul>
</li>
<li> <li>
{% active_link /developers/api/ API %} {% active_link /developers/api/ API %}
<ul> <ul>
<li>{% active_link https://dev-docs.home-assistant.io/en/dev/ Home Assistant API %}</li> <li>{% active_link https://dev-docs.home-assistant.io/en/dev/ Python API %}</li>
<li>{% active_link /developers/websocket_api/ Websocket API %}</li> <li>{% active_link /developers/websocket_api/ Websocket API %}</li>
<li>{% active_link /developers/rest_api/ RESTful API %}</li> <li>{% active_link /developers/rest_api/ REST API %}</li>
<li>{% active_link /developers/python_api/ Python API %}</li> <li>{% active_link /developers/python_api/ Python REST API %}</li>
<li>{% active_link /developers/server_sent_events/ Server-sent events %}</li> <li>{% active_link /developers/server_sent_events/ Server-sent events %}</li>
</ul> </ul>
</li> </li>

View File

@ -8,24 +8,21 @@
<li>{% active_link /hassio/installation/ Installation %}</li> <li>{% active_link /hassio/installation/ Installation %}</li>
<li>{% active_link /addons/ Available add-ons %}</li> <li>{% active_link /addons/ Available add-ons %}</li>
<li>{% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}</li> <li>{% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}</li>
<li>{% active_link /hassio/external_storage/ External storage %}</li>
<li>{% active_link /hassio/run_local/ Execute local things %}</li>
<li>{% active_link /hassio/architecture/ Architecture %}</li>
</ul> </ul>
</li> </li>
</ul> </ul>
<ul class='divided sidebar-menu'> <ul class='divided sidebar-menu'>
<li> <li>
{% active_link /hassio/addon_development/ Add-on Development %} Advanced
<ul> <ul>
<li>{% active_link /hassio/addon_tutorial/ Tutorial: Making your first add-on %}</li> <li>{% active_link /hassio/zwave/ Z-Wave %}</li>
<li>{% active_link /hassio/addon_config/ Configuration %}</li> <li>{% active_link /hassio/external_storage/ External storage %}</li>
<li>{% active_link /hassio/addon_testing/ Local Testing %}</li> <li>{% active_link /hassio/run_local/ Execute local things %}</li>
<li>{% active_link /hassio/addon_publishing/ Publishing %}</li>
<li>{% active_link /hassio/addon_repository/ Repositories %}</li>
</ul> </ul>
</li> </li>
<li>{% active_link /hassio/debugging/ Debugging Hass.io %}</li> </ul>
<ul class='divided sidebar-menu'>
<li><a href='/developers/hassio/addon_development/'>Looking to create an add-on?</a></li>
</ul> </ul>
</div> </div>
</section> </section>

View File

@ -0,0 +1,462 @@
---
layout: post
title: "0.49: Themes 🎨, kiosk mode and Prometheus.io"
description: "Style the frontend the way you want it and present it in Kiosk mode without tabs."
date: 2017-07-15 00:02:05 +0000
date_formatted: "July 15, 2017"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2017-07-0.49/components.png
---
<a href='/components/#version/0.49'><img src='/images/blog/2017-07-0.49/components.png' style='border: 0;box-shadow: none;'></a>
# {% linkable_title WE HAVE THEMES 🎨👩‍🎨 %}
Our already amazing frontend just got even more amazing thanks to [@andrey-git]. With the new theme support you can be in control of the primary color, accent color and a whole bunch more.
You can specify themes using new configuration options under frontend.
```yaml
frontend:
themes:
green:
primary-color: #6ca518;
```
Once a theme is defined, use the new frontend service `frontend.set_theme` to activate it. More information in [the docs][frontend docs].
<p class='img'>
<img src='/images/blog/2017-07-0.49/green-theme.png' alt='Screenshot of a green dashboard'>
Screenshot of a green dashboard
</p>
Not all parts of the user interface are themable yet. Expect improvements in future releases.
## {% linkable_title Kiosk mode %}
Another great new improvement for the frontend is the addition of a kiosk mode. When the frontend is viewed in kiosk mode, the tab bar will be hidden.
To activate kiosk mode, navigate to `https://hass.example.com:8123/kiosk/group.living_room_view`. Note that for `default_view` the url is just `https://hass.example.com:8123/kiosk`
This feature has also been brought to you by [@Andrey-git]! Big shout out to him for his continuous efforts to bring Home Assistant to the next level.
## {% linkable_title New Platforms %}
- Add london_underground ([@robmarkcole] - [#8272]) ([sensor.london_underground docs]) (new-platform)
- Add citybikes platform ([@aronsky] - [#8202]) ([sensor.citybikes docs]) (new-platform)
- Add One-Time Password sensor (OTP) ([@postlund] - [#8332]) ([sensor.otp docs]) (new-platform)
- Add component for xiaomi robot vacuum (switch.xiaomi_vacuum) ([@rytilahti] - [#7913]) ([switch.xiaomi_vacuum docs]) (new-platform)
- LaMetric platform and notify module ([@open-homeautomation] - [#8230]) ([lametric docs]) ([notify.lametric docs]) (new-platform)
- New component to connect to VELUX KLF 200 Interface ([@Julius2342] - [#8203]) ([velux docs]) ([scene.velux docs]) (new-platform)
- New service `send_magic_packet` with new component `wake_on_lan` ([@azogue] - [#8397]) ([wake_on_lan docs]) (new-platform)
- Add support for Prometheus ([@rcloran] - [#8211]) ([prometheus docs]) (new-platform)
- Refactored Amcrest to use central hub component ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
- Added media_extractor service ([@minchik] - [#8369]) ([media_extractor docs]) (new-platform)
- Vizio SmartCast support ([@vkorn] - [#8260]) ([media_player.vizio docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking Changes %}
- UPC Connect component no longer needs a password passed into the configuration. ([@Flavien] - [#8335]) ([device_tracker.upc_connect docs]) (breaking change)
- The Apple TV platform has been upgraded to a component and a remote platform has been added. This requires your Apple TV configuration to be moved to the new `apple_tv` component. ([@postlund] - [#8122]) ([media_player.apple_tv docs]) (breaking change)
```yaml
apple_tv:
- name: Apple TV
host: 10.0.10.20
login_id: 00000000-1234-5678-9012-345678901234
start_off: true
credentials: 8660DEA5154FB46B:20B94847926112B3F46F85DB3A7311830463BF65570C22C3786E27F38C3326CF
```
- Refactored Amcrest to use central hub component to prepare for future integrations. This requires your Amcrest configuration to be moved to the new `amcrest` component. ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
```yaml
amcrest:
- host: !secret amcrest_living
name: "Living Room"
username: !secret amcrest_living_username
password: !secret amcrest_living_password
resolution: low
stream_source: snapshot
sensors:
- motion_detector
- ptz_preset
```
## {% linkable_title All changes %}
- Version bump to 0.49.0.dev0 ([@fabaff] - [#8266])
- Upgrade pyowm to 2.7.1 ([@fabaff] - [#8274]) ([sensor.openweathermap docs]) ([weather.openweathermap docs])
- Don't call update() in constructor ([@fabaff] - [#8276]) ([sensor.openweathermap docs])
- Update apcaccess to 0.0.13. Add "Percent Load Capacity" to INFERRED_UNITS. ([@michaelarnauts] - [#8277]) ([apcupsd docs]) ([sensor.apcupsd docs])
- Update knxip to 0.4 (better handling of reconnects) ([@open-homeautomation] - [#8289]) ([knx docs])
- Add london_underground ([@robmarkcole] - [#8272]) ([sensor.london_underground docs]) (new-platform)
- pytado moved to pypi ([@wmalgadey] - [#8298]) ([tado docs]) ([climate.tado docs])
- Fix doc link in header ([@robmarkcole] - [#8305]) ([sensor.london_underground docs])
- Upgrade discord.py to 0.16.8 ([@fabaff] - [#8304]) ([notify.discord docs])
- zha: Strip whitespace from device names ([@rcloran] - [#8306]) ([zha docs])
- Upgrade chardet to 3.0.4 ([@fabaff] - [#8313])
- Upgrade aiohttp to 2.2.2 ([@fabaff] - [#8314])
- Fix pylint issue ([@fabaff] - [#8325]) ([snips docs])
- vsure 1.3.7 ([@persandstrom] - [#8321]) ([verisure docs])
- Update pyEmby to fix media images ([@mezz64] - [#8331]) ([media_player.emby docs])
- Partially revert #7931 ([@fabaff] - [#8326]) ([sensor.yweather docs])
- Only allow 'tls_insecure_set()' if cert is present (fixes #8329) ([@fabaff] - [#8337]) ([mqtt docs])
- Fix issue #8285 ([@Sabesto] - [#8340]) ([modbus docs]) ([binary_sensor.modbus docs]) ([climate.flexit docs]) ([sensor.modbus docs]) ([switch.modbus docs])
- Bump dlib face_recognition to 0.2.0 ([@pvizeli] - [#8345]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
- Update Avion and Decora switches to match upstream changes ([@mjg59] - [#7903]) ([light.avion docs]) ([light.decora docs])
- Fix the "302" error in the UPC Connect component and remove the need to specify the router password ([@Flavien] - [#8335]) ([device_tracker.upc_connect docs]) (breaking change)
- Add new feature to Apple TV platform ([@postlund] - [#8122]) ([media_player.apple_tv docs]) (breaking change)
- Add citybikes platform ([@aronsky] - [#8202]) ([sensor.citybikes docs]) (new-platform)
- Fix some issues for PyLint 1.7.2 ([@balloob] - [#8356])
- Fix pylint 1.7.2 no-else-return issues ([@balloob] - [#8361])
- Upgrade aiohttp to 2.2.3 ([@fabaff] - [#8363])
- Remove some more usage of run_in_executor ([@balloob] - [#8352])
- Correct spelling of aliases, deprecate old config options. ([@aequitas] - [#8348]) ([rflink docs]) ([light.rflink docs]) ([sensor.rflink docs]) ([switch.rflink docs])
- Allow Pilight Binary Sensor to control reset_delay_sec through configuration ([@clarkewd] - [#8358]) ([binary_sensor.pilight docs])
- Mqtt client_id fix for #8315 ([@heinemml] - [#8366]) ([mqtt docs])
- Allow all panel urls ([@balloob] - [#8368])
- Update pyHik to catch XML errors ([@mezz64] - [#8384]) ([binary_sensor.hikvision docs])
- update version ([@wardcraigj] - [#8380]) ([alarm_control_panel.totalconnect docs])
- Add One-Time Password sensor (OTP) ([@postlund] - [#8332]) ([sensor.otp docs]) (new-platform)
- buienradar==0.7, fix winddirection/azimuth, logging ([@mjj4791] - [#8281]) ([sensor.buienradar docs]) ([weather.buienradar docs])
- Add component for xiaomi robot vacuum (switch.xiaomi_vacuum) ([@rytilahti] - [#7913]) ([switch.xiaomi_vacuum docs]) (new-platform)
- Try catch around database updates in recorder. Resolves 6919 ([@mitchese] - [#8349]) ([recorder docs])
- Fix Amazon Polly with non english voices. #8377 ([@CharlesBlonde] - [#8378]) ([tts.amazon_polly docs])
- Fix TTS options. #8375 ([@CharlesBlonde] - [#8376]) ([tts docs])
- Add address-specific KNX listeners that fire events on the HASS bus ([@open-homeautomation] - [#8374]) ([knx docs])
- GTFS: check start/end date on services ([@Kernald] - [#8373]) ([sensor.gtfs docs])
- Implement KNX dimming functionality ([@open-homeautomation] - [#8371]) ([light.knx docs])
- Add Soundtouch support for playing an HTTP url ([@CharlesBlonde] - [#8370]) ([media_player.soundtouch docs])
- Modbus fixes to work with pymodbus 1.3.1 ([@Sabesto] - [#8365]) ([modbus docs]) ([binary_sensor.modbus docs]) ([sensor.modbus docs]) ([switch.modbus docs])
- Cleanup the asuswrt component ([@mattsch] - [#8359]) ([device_tracker.asuswrt docs])
- cover_template:i open/close/stop actions no longer required. Improve tests ([@PhracturedBlue] - [#8344]) ([cover.template docs])
- Prevent errors on Octoprint sensors and binary_sensors when Octoprint and/or Printer are off ([@w1ll1am23] - [#8343]) ([octoprint docs]) ([binary_sensor.octoprint docs]) ([sensor.octoprint docs])
- Presence detection for tp link eap225 ([@alexrockt] - [#8322]) ([device_tracker.tplink docs])
- zha light: Refresh at startup ([@rcloran] - [#8310]) ([light.zha docs])
- zha: Try multiple reads to get manufacturer/model ([@rcloran] - [#8308]) ([zha docs])
- Upnp mapping notification ([@dgomes] - [#8303]) ([upnp docs])
- Use user-set device names for Linksys Smart Wi-Fi routers (3) ([@Klikini] - [#8300]) ([device_tracker.linksys_smart docs])
- Added support for upload of remote or local files to slack ([@simaosimao] - [#8278]) ([notify.slack docs])
- Update avion.py ([@pvizeli] - [#8364]) ([light.avion docs])
- LaMetric platform and notify module ([@open-homeautomation] - [#8230]) ([lametric docs]) ([notify.lametric docs]) (new-platform)
- Sets spotify media_type to music ([@Tommatheussen] - [#8387]) ([media_player.spotify docs])
- Update waqi sensor ([@andrey-git] - [#8385]) ([sensor.waqi docs])
- Update aiolifx ([@amelchio] - [#8396]) ([light.lifx docs])
- Code owners ([@balloob] - [#8393])
- Add new Dyson sensors ([@CharlesBlonde] - [#8199]) ([dyson docs]) ([fan.dyson docs]) ([sensor.dyson docs])
- Fix CODEOWNERS z-wave team name ([@armills] - [#8400])
- Upgrade Sphinx to 1.6.3 ([@fabaff] - [#8405])
- Use upstream RachioPy, fix manual run switches ([@Klikini] - [#8286]) ([switch.rachio docs])
- Marrantz SR5006 & SR5006 treated as AVR-X device | Fixed Mapping of Media Player and AUX input functions ([@scarface-4711] - [#8409]) ([media_player.denonavr docs])
- New component to connect to VELUX KLF 200 Interface ([@Julius2342] - [#8203]) ([velux docs]) ([scene.velux docs]) (new-platform)
- Properly handle the case when a group includes itself. ([@andrey-git] - [#8398]) ([group docs])
- Add set_operation_mode support to generic_thermostat ([@mtreinish] - [#8392]) ([climate.generic_thermostat docs])
- Make gzips reproducible by excluding timestamp ([@armills] - [#8420])
- Do not overwrite a custom hyperion light name with the hostname of the server. ([@doctorjames] - [#8391]) ([light.hyperion docs])
- Fixed link to documentation ([@Julius2342] - [#8424]) ([velux docs]) ([scene.velux docs])
- Fix KeyError (fixes #3721, fixes #7241) ([@fabaff] - [#8428]) ([sensor.uber docs])
- Use HA lat/long for the start (fixes #3971) ([@fabaff] - [#8429]) ([sensor.uber docs])
- bump python-mirobo requirement to support newer firmwares and more ([@rytilahti] - [#8431]) ([switch.xiaomi_vacuum docs])
- New service `send_magic_packet` with new component `wake_on_lan` ([@azogue] - [#8397]) ([wake_on_lan docs]) (new-platform)
- Integrate utility functions into restricted Python environment ([@open-homeautomation] - [#8427]) ([python_script docs])
- Allow Twitter notifications to include media ([@MikeChristianson] - [#8282]) ([notify docs]) ([notify.twitter docs])
- Fix typo (sending USERNAME instead of PASSWORD) introduced in #7963 ([@thecynic] - [#8433]) ([lutron docs])
- zha: Handle both input and output clusters ([@rcloran] - [#8410]) ([zha docs]) ([binary_sensor.zha docs]) ([light.zha docs]) ([sensor.zha docs])
- Add support for Prometheus ([@rcloran] - [#8211]) ([prometheus docs]) (new-platform)
- Refactored Amcrest to use central hub component ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
- Fix radiothermostat -1 value issue ([@aneisch] - [#8395]) ([climate.radiotherm docs])
- Added media_extractor service ([@minchik] - [#8369]) ([media_extractor docs]) (new-platform)
- Updated pyvera ([@alanfischer] - [#8437]) ([vera docs])
- Upgrade phue to 1.0 (fixes #7749) ([@fabaff] - [#8444]) ([light.hue docs])
- Add effects ([@fabaff] - [#8442]) ([light.mystrom docs])
- Exclude 'TAXI' product (fixes #8401) ([@fabaff] - [#8438]) ([sensor.uber docs])
- Switch pyW215 to pypi ([@andrey-git] - [#8445]) ([switch.dlink docs])
- Vizio SmartCast support ([@vkorn] - [#8260]) ([media_player.vizio docs]) (new-platform)
- DHT support for humidity and temperature offset ([@gitmopp] - [#8238]) ([sensor.dht docs])
- Add support for rain and moisture sensors ([@sdague] - [#8440]) ([sensor.arwn docs])
- Hass.io: Disable timeout when updating OS/supervisor/hass ([@balloob] - [#8447]) ([hassio docs])
- Fix Arlo Q not working with 0.48.1 ([@viswa-swami] - [#8446]) ([camera.arlo docs])
- Support for Plex servers with enforced SSL ([@nmaggioni] - [#8341]) ([media_player.plex docs])
- Upgrade youtube_dl to 2017.7.9 ([@fabaff] - [#8450]) ([media_extractor docs])
- Implement a bridge between HASS event bus and KNX bus to send events ([@open-homeautomation] - [#8449]) ([knx docs])
- LIFX: improve light availability ([@amelchio] - [#8451]) ([light.lifx docs])
- LIFX: make broadcast address configurable ([@amelchio] - [#8453]) ([light.lifx docs])
- Backend support for themes ([@andrey-git] - [#8419])
- upgrade broadlink ([@danielhiversen] - [#8462]) ([sensor.broadlink docs]) ([switch.broadlink docs])
- upgrade rfxtrx lib ([@danielhiversen] - [#8463]) ([rfxtrx docs])
- Plex: Add exception handler when connection fails ([@abmantis] - [#8179]) ([media_player.plex docs])
- HomeMatic dependency upgrade + IP Wall Thermostat support ([@danielperna84] - [#8465]) ([homematic docs])
- Add kiosk-mode panel ([@andrey-git] - [#8457])
[#7903]: https://github.com/home-assistant/home-assistant/pull/7903
[#7913]: https://github.com/home-assistant/home-assistant/pull/7913
[#8122]: https://github.com/home-assistant/home-assistant/pull/8122
[#8179]: https://github.com/home-assistant/home-assistant/pull/8179
[#8184]: https://github.com/home-assistant/home-assistant/pull/8184
[#8199]: https://github.com/home-assistant/home-assistant/pull/8199
[#8202]: https://github.com/home-assistant/home-assistant/pull/8202
[#8203]: https://github.com/home-assistant/home-assistant/pull/8203
[#8211]: https://github.com/home-assistant/home-assistant/pull/8211
[#8230]: https://github.com/home-assistant/home-assistant/pull/8230
[#8238]: https://github.com/home-assistant/home-assistant/pull/8238
[#8260]: https://github.com/home-assistant/home-assistant/pull/8260
[#8266]: https://github.com/home-assistant/home-assistant/pull/8266
[#8272]: https://github.com/home-assistant/home-assistant/pull/8272
[#8274]: https://github.com/home-assistant/home-assistant/pull/8274
[#8276]: https://github.com/home-assistant/home-assistant/pull/8276
[#8277]: https://github.com/home-assistant/home-assistant/pull/8277
[#8278]: https://github.com/home-assistant/home-assistant/pull/8278
[#8281]: https://github.com/home-assistant/home-assistant/pull/8281
[#8282]: https://github.com/home-assistant/home-assistant/pull/8282
[#8286]: https://github.com/home-assistant/home-assistant/pull/8286
[#8289]: https://github.com/home-assistant/home-assistant/pull/8289
[#8298]: https://github.com/home-assistant/home-assistant/pull/8298
[#8300]: https://github.com/home-assistant/home-assistant/pull/8300
[#8303]: https://github.com/home-assistant/home-assistant/pull/8303
[#8304]: https://github.com/home-assistant/home-assistant/pull/8304
[#8305]: https://github.com/home-assistant/home-assistant/pull/8305
[#8306]: https://github.com/home-assistant/home-assistant/pull/8306
[#8308]: https://github.com/home-assistant/home-assistant/pull/8308
[#8310]: https://github.com/home-assistant/home-assistant/pull/8310
[#8313]: https://github.com/home-assistant/home-assistant/pull/8313
[#8314]: https://github.com/home-assistant/home-assistant/pull/8314
[#8321]: https://github.com/home-assistant/home-assistant/pull/8321
[#8322]: https://github.com/home-assistant/home-assistant/pull/8322
[#8325]: https://github.com/home-assistant/home-assistant/pull/8325
[#8326]: https://github.com/home-assistant/home-assistant/pull/8326
[#8331]: https://github.com/home-assistant/home-assistant/pull/8331
[#8332]: https://github.com/home-assistant/home-assistant/pull/8332
[#8335]: https://github.com/home-assistant/home-assistant/pull/8335
[#8337]: https://github.com/home-assistant/home-assistant/pull/8337
[#8340]: https://github.com/home-assistant/home-assistant/pull/8340
[#8341]: https://github.com/home-assistant/home-assistant/pull/8341
[#8343]: https://github.com/home-assistant/home-assistant/pull/8343
[#8344]: https://github.com/home-assistant/home-assistant/pull/8344
[#8345]: https://github.com/home-assistant/home-assistant/pull/8345
[#8348]: https://github.com/home-assistant/home-assistant/pull/8348
[#8349]: https://github.com/home-assistant/home-assistant/pull/8349
[#8352]: https://github.com/home-assistant/home-assistant/pull/8352
[#8356]: https://github.com/home-assistant/home-assistant/pull/8356
[#8358]: https://github.com/home-assistant/home-assistant/pull/8358
[#8359]: https://github.com/home-assistant/home-assistant/pull/8359
[#8361]: https://github.com/home-assistant/home-assistant/pull/8361
[#8363]: https://github.com/home-assistant/home-assistant/pull/8363
[#8364]: https://github.com/home-assistant/home-assistant/pull/8364
[#8365]: https://github.com/home-assistant/home-assistant/pull/8365
[#8366]: https://github.com/home-assistant/home-assistant/pull/8366
[#8368]: https://github.com/home-assistant/home-assistant/pull/8368
[#8369]: https://github.com/home-assistant/home-assistant/pull/8369
[#8370]: https://github.com/home-assistant/home-assistant/pull/8370
[#8371]: https://github.com/home-assistant/home-assistant/pull/8371
[#8373]: https://github.com/home-assistant/home-assistant/pull/8373
[#8374]: https://github.com/home-assistant/home-assistant/pull/8374
[#8376]: https://github.com/home-assistant/home-assistant/pull/8376
[#8378]: https://github.com/home-assistant/home-assistant/pull/8378
[#8380]: https://github.com/home-assistant/home-assistant/pull/8380
[#8384]: https://github.com/home-assistant/home-assistant/pull/8384
[#8385]: https://github.com/home-assistant/home-assistant/pull/8385
[#8387]: https://github.com/home-assistant/home-assistant/pull/8387
[#8391]: https://github.com/home-assistant/home-assistant/pull/8391
[#8392]: https://github.com/home-assistant/home-assistant/pull/8392
[#8393]: https://github.com/home-assistant/home-assistant/pull/8393
[#8395]: https://github.com/home-assistant/home-assistant/pull/8395
[#8396]: https://github.com/home-assistant/home-assistant/pull/8396
[#8397]: https://github.com/home-assistant/home-assistant/pull/8397
[#8398]: https://github.com/home-assistant/home-assistant/pull/8398
[#8400]: https://github.com/home-assistant/home-assistant/pull/8400
[#8405]: https://github.com/home-assistant/home-assistant/pull/8405
[#8409]: https://github.com/home-assistant/home-assistant/pull/8409
[#8410]: https://github.com/home-assistant/home-assistant/pull/8410
[#8419]: https://github.com/home-assistant/home-assistant/pull/8419
[#8420]: https://github.com/home-assistant/home-assistant/pull/8420
[#8424]: https://github.com/home-assistant/home-assistant/pull/8424
[#8427]: https://github.com/home-assistant/home-assistant/pull/8427
[#8428]: https://github.com/home-assistant/home-assistant/pull/8428
[#8429]: https://github.com/home-assistant/home-assistant/pull/8429
[#8431]: https://github.com/home-assistant/home-assistant/pull/8431
[#8433]: https://github.com/home-assistant/home-assistant/pull/8433
[#8437]: https://github.com/home-assistant/home-assistant/pull/8437
[#8438]: https://github.com/home-assistant/home-assistant/pull/8438
[#8440]: https://github.com/home-assistant/home-assistant/pull/8440
[#8442]: https://github.com/home-assistant/home-assistant/pull/8442
[#8444]: https://github.com/home-assistant/home-assistant/pull/8444
[#8445]: https://github.com/home-assistant/home-assistant/pull/8445
[#8446]: https://github.com/home-assistant/home-assistant/pull/8446
[#8447]: https://github.com/home-assistant/home-assistant/pull/8447
[#8449]: https://github.com/home-assistant/home-assistant/pull/8449
[#8450]: https://github.com/home-assistant/home-assistant/pull/8450
[#8451]: https://github.com/home-assistant/home-assistant/pull/8451
[#8453]: https://github.com/home-assistant/home-assistant/pull/8453
[#8457]: https://github.com/home-assistant/home-assistant/pull/8457
[#8462]: https://github.com/home-assistant/home-assistant/pull/8462
[#8463]: https://github.com/home-assistant/home-assistant/pull/8463
[#8465]: https://github.com/home-assistant/home-assistant/pull/8465
[@CharlesBlonde]: https://github.com/CharlesBlonde
[@Flavien]: https://github.com/Flavien
[@Julius2342]: https://github.com/Julius2342
[@Kernald]: https://github.com/Kernald
[@Klikini]: https://github.com/Klikini
[@MikeChristianson]: https://github.com/MikeChristianson
[@PhracturedBlue]: https://github.com/PhracturedBlue
[@Sabesto]: https://github.com/Sabesto
[@Tommatheussen]: https://github.com/Tommatheussen
[@abmantis]: https://github.com/abmantis
[@aequitas]: https://github.com/aequitas
[@alanfischer]: https://github.com/alanfischer
[@alexrockt]: https://github.com/alexrockt
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@aneisch]: https://github.com/aneisch
[@armills]: https://github.com/armills
[@aronsky]: https://github.com/aronsky
[@azogue]: https://github.com/azogue
[@balloob]: https://github.com/balloob
[@clarkewd]: https://github.com/clarkewd
[@danielhiversen]: https://github.com/danielhiversen
[@danielperna84]: https://github.com/danielperna84
[@dgomes]: https://github.com/dgomes
[@doctorjames]: https://github.com/doctorjames
[@fabaff]: https://github.com/fabaff
[@gitmopp]: https://github.com/gitmopp
[@heinemml]: https://github.com/heinemml
[@mattsch]: https://github.com/mattsch
[@mezz64]: https://github.com/mezz64
[@michaelarnauts]: https://github.com/michaelarnauts
[@minchik]: https://github.com/minchik
[@mitchese]: https://github.com/mitchese
[@mjg59]: https://github.com/mjg59
[@mjj4791]: https://github.com/mjj4791
[@mtreinish]: https://github.com/mtreinish
[@nmaggioni]: https://github.com/nmaggioni
[@open-homeautomation]: https://github.com/open-homeautomation
[@persandstrom]: https://github.com/persandstrom
[@postlund]: https://github.com/postlund
[@pvizeli]: https://github.com/pvizeli
[@rcloran]: https://github.com/rcloran
[@robmarkcole]: https://github.com/robmarkcole
[@rytilahti]: https://github.com/rytilahti
[@scarface-4711]: https://github.com/scarface-4711
[@sdague]: https://github.com/sdague
[@simaosimao]: https://github.com/simaosimao
[@tchellomello]: https://github.com/tchellomello
[@thecynic]: https://github.com/thecynic
[@viswa-swami]: https://github.com/viswa-swami
[@vkorn]: https://github.com/vkorn
[@w1ll1am23]: https://github.com/w1ll1am23
[@wardcraigj]: https://github.com/wardcraigj
[@wmalgadey]: https://github.com/wmalgadey
[alarm_control_panel.totalconnect docs]: https://home-assistant.io/components/alarm_control_panel.totalconnect/
[amcrest docs]: https://home-assistant.io/components/amcrest/
[apcupsd docs]: https://home-assistant.io/components/apcupsd/
[binary_sensor.hikvision docs]: https://home-assistant.io/components/binary_sensor.hikvision/
[binary_sensor.modbus docs]: https://home-assistant.io/components/binary_sensor.modbus/
[binary_sensor.octoprint docs]: https://home-assistant.io/components/binary_sensor.octoprint/
[binary_sensor.pilight docs]: https://home-assistant.io/components/binary_sensor.pilight/
[binary_sensor.zha docs]: https://home-assistant.io/components/binary_sensor.zha/
[camera.amcrest docs]: https://home-assistant.io/components/camera.amcrest/
[camera.arlo docs]: https://home-assistant.io/components/camera.arlo/
[climate.flexit docs]: https://home-assistant.io/components/climate.flexit/
[climate.generic_thermostat docs]: https://home-assistant.io/components/climate.generic_thermostat/
[climate.radiotherm docs]: https://home-assistant.io/components/climate.radiotherm/
[climate.tado docs]: https://home-assistant.io/components/climate.tado/
[cover.template docs]: https://home-assistant.io/components/cover.template/
[device_tracker.asuswrt docs]: https://home-assistant.io/components/device_tracker.asuswrt/
[device_tracker.linksys_smart docs]: https://home-assistant.io/components/device_tracker.linksys_smart/
[device_tracker.tplink docs]: https://home-assistant.io/components/device_tracker.tplink/
[device_tracker.upc_connect docs]: https://home-assistant.io/components/device_tracker.upc_connect/
[dyson docs]: https://home-assistant.io/components/dyson/
[fan.dyson docs]: https://home-assistant.io/components/fan.dyson/
[group docs]: https://home-assistant.io/components/group/
[hassio docs]: https://home-assistant.io/hassio/
[homematic docs]: https://home-assistant.io/components/homematic/
[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/
[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/
[knx docs]: https://home-assistant.io/components/knx/
[lametric docs]: https://home-assistant.io/components/lametric/
[light.avion docs]: https://home-assistant.io/components/light.avion/
[light.decora docs]: https://home-assistant.io/components/light.decora/
[light.hue docs]: https://home-assistant.io/components/light.hue/
[light.hyperion docs]: https://home-assistant.io/components/light.hyperion/
[light.knx docs]: https://home-assistant.io/components/light.knx/
[light.lifx docs]: https://home-assistant.io/components/light.lifx/
[light.mystrom docs]: https://home-assistant.io/components/light.mystrom/
[light.rflink docs]: https://home-assistant.io/components/light.rflink/
[light.zha docs]: https://home-assistant.io/components/light.zha/
[lutron docs]: https://home-assistant.io/components/lutron/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_player.apple_tv docs]: https://home-assistant.io/components/media_player.apple_tv/
[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
[media_player.emby docs]: https://home-assistant.io/components/media_player.emby/
[media_player.plex docs]: https://home-assistant.io/components/media_player.plex/
[media_player.soundtouch docs]: https://home-assistant.io/components/media_player.soundtouch/
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
[media_player.vizio docs]: https://home-assistant.io/components/media_player.vizio/
[modbus docs]: https://home-assistant.io/components/modbus/
[mqtt docs]: https://home-assistant.io/components/mqtt/
[notify docs]: https://home-assistant.io/components/notify/
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
[notify.lametric docs]: https://home-assistant.io/components/notify.lametric/
[notify.slack docs]: https://home-assistant.io/components/notify.slack/
[notify.twitter docs]: https://home-assistant.io/components/notify.twitter/
[octoprint docs]: https://home-assistant.io/components/octoprint/
[prometheus docs]: https://home-assistant.io/components/prometheus/
[python_script docs]: https://home-assistant.io/components/python_script/
[recorder docs]: https://home-assistant.io/components/recorder/
[rflink docs]: https://home-assistant.io/components/rflink/
[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/
[scene.velux docs]: https://home-assistant.io/components/scene.velux/
[sensor.amcrest docs]: https://home-assistant.io/components/sensor.amcrest/
[sensor.apcupsd docs]: https://home-assistant.io/components/sensor.apcupsd/
[sensor.arwn docs]: https://home-assistant.io/components/sensor.arwn/
[sensor.broadlink docs]: https://home-assistant.io/components/sensor.broadlink/
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
[sensor.citybikes docs]: https://home-assistant.io/components/sensor.citybikes/
[sensor.dht docs]: https://home-assistant.io/components/sensor.dht/
[sensor.dyson docs]: https://home-assistant.io/components/sensor.dyson/
[sensor.gtfs docs]: https://home-assistant.io/components/sensor.gtfs/
[sensor.london_underground docs]: https://home-assistant.io/components/sensor.london_underground/
[sensor.modbus docs]: https://home-assistant.io/components/sensor.modbus/
[sensor.octoprint docs]: https://home-assistant.io/components/sensor.octoprint/
[sensor.openweathermap docs]: https://home-assistant.io/components/sensor.openweathermap/
[sensor.otp docs]: https://home-assistant.io/components/sensor.otp/
[sensor.rflink docs]: https://home-assistant.io/components/sensor.rflink/
[sensor.london_underground docs]: https://home-assistant.io/components/sensor.london_underground/
[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
[sensor.waqi docs]: https://home-assistant.io/components/sensor.waqi/
[sensor.yweather docs]: https://home-assistant.io/components/sensor.yweather/
[sensor.zha docs]: https://home-assistant.io/components/sensor.zha/
[snips docs]: https://home-assistant.io/components/snips/
[switch.broadlink docs]: https://home-assistant.io/components/switch.broadlink/
[switch.dlink docs]: https://home-assistant.io/components/switch.dlink/
[switch.modbus docs]: https://home-assistant.io/components/switch.modbus/
[switch.rachio docs]: https://home-assistant.io/components/switch.rachio/
[switch.rflink docs]: https://home-assistant.io/components/switch.rflink/
[switch.xiaomi_vacuum docs]: https://home-assistant.io/components/switch.xiaomi_vacuum/
[tado docs]: https://home-assistant.io/components/tado/
[tts docs]: https://home-assistant.io/components/tts/
[tts.amazon_polly docs]: https://home-assistant.io/components/tts.amazon_polly/
[upnp docs]: https://home-assistant.io/components/upnp/
[velux docs]: https://home-assistant.io/components/velux/
[frontend docs]: https://home-assistant.io/components/frontend/
[vera docs]: https://home-assistant.io/components/vera/
[verisure docs]: https://home-assistant.io/components/verisure/
[wake_on_lan docs]: https://home-assistant.io/components/wake_on_lan/
[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
[weather.openweathermap docs]: https://home-assistant.io/components/weather.openweathermap/
[zha docs]: https://home-assistant.io/components/zha/
[zha.const docs]: https://home-assistant.io/components/zha.const/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e

View File

@ -16,6 +16,13 @@ regenerate: true
<ul> <ul>
{% for addon in addons %} {% for addon in addons %}
<li><a href='{{ addon.url }}'>{{ addon.title }}</a></li> <li>
<a href='{{ addon.url }}'>{{ addon.title }}</a><br>
{{ addon.description }}
</li>
{% endfor %} {% endfor %}
</ul> </ul>
<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>.
</p>

View File

@ -11,8 +11,8 @@ footer: true
Home Assistant provides various APIs. For detail please refer to [Home Assistant API](https://dev-docs.home-assistant.io/en/dev/) documentation. Home Assistant provides various APIs. For detail please refer to [Home Assistant API](https://dev-docs.home-assistant.io/en/dev/) documentation.
* [Python API](https://dev-docs.home-assistant.io/)
* [Websocket API](/developers/websocket_api/) * [Websocket API](/developers/websocket_api/)
* [RESTful API](/developers/rest_api/) * [REST API](/developers/rest_api/)
* [Python API](/developers/python_api/) * [Python REST API](/developers/python_api/)
* [Server-sent events](/developers/server_sent_events/) * [Server-sent events](/developers/server_sent_events/)

View File

@ -32,19 +32,19 @@ These components provide small pieces of home automation logic or involve servic
For example, the [`device_sun_light_trigger` component](/components/device_sun_light_trigger/) tracks the state of devices and the sun to make sure that the lights are turned on when it gets dark and people are home. The component uses logic like this: For example, the [`device_sun_light_trigger` component](/components/device_sun_light_trigger/) tracks the state of devices and the sun to make sure that the lights are turned on when it gets dark and people are home. The component uses logic like this:
```plain ```text
In the event that device 'Paulus Nexus 5' changes to the 'Home' state: In the event that device 'Paulus Nexus 5' changes to the 'Home' state:
If the sun has set and the lights are not on: If the sun has set and the lights are not on:
Turn on the lights Turn on the lights
``` ```
```plain ```text
In the event that the combined state of all tracked devices changes to 'Not Home': In the event that the combined state of all tracked devices changes to 'Not Home':
If the lights are on: If the lights are on:
Turn off the lights Turn off the lights
``` ```
```plain ```text
In the event of the sun setting: In the event of the sun setting:
If the lights are off and the combined state of all tracked device equals 'Home': If the lights are off and the combined state of all tracked device equals 'Home':
Turn on the lights Turn on the lights

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_config/
--- ---
Each add-on is stored in a folder. The file structure looks like this: Each add-on is stored in a folder. The file structure looks like this:
@ -95,7 +96,7 @@ The config for an add-on is stored in `config.json`.
| description | yes | Description of the add-on | description | yes | Description of the add-on
| arch | no | List of supported arch: `armhf`, `aarch64`, `amd64`, `i386`. Default all. | arch | no | List of supported arch: `armhf`, `aarch64`, `amd64`, `i386`. Default all.
| url | no | Homepage of the addon. Here you can explain the add-ons and options. | url | no | Homepage of the addon. Here you can explain the add-ons and options.
| startup | yes | `initialize` will start addon on setup of hassio. `before` homeassistant will start. `after` homeassistant will start or `once` for application they don't run as deamon. | startup | yes | `initialize` will start addon on setup of hassio. `system` is for things like database and base not on other things. `services` will start before homeassistant. `application` is after homeassistant will start or `once` for application they don't run as deamon.
| boot | yes | `auto` by system and manual or only `manual` | boot | yes | `auto` by system and manual or only `manual`
| ports | no | Network ports to expose from the container. Format is `"container-port/type": host-port`. | ports | no | Network ports to expose from the container. Format is `"container-port/type": host-port`.
| host_network | no | If that is True, the add-on run on host network. | host_network | no | If that is True, the add-on run on host network.
@ -111,7 +112,7 @@ The config for an add-on is stored in `config.json`.
### {% linkable_title Options / Schema %} ### {% linkable_title Options / Schema %}
The `options` dict contains all available options and their default value. Set the default value to `null` if the value is required to be given by the user before the add-on can start. Only non-nested arrays are supported. The `options` dict contains all available options and their default value. Set the default value to `null` if the value is required to be given by the user before the add-on can start. Only non-nested arrays and dictorys are supported.
```json ```json
{ {

View File

@ -7,8 +7,17 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_development/
--- ---
Add-ons for Hass.io allows 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. Add-ons for Hass.io allows 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.
Under the hood, add-ons are Docker images published in [Docker Hub](https://hub.docker.com/). Developers can create [GitHub](https://github.com) repositories that contain multiple references to add-ons for easy sharing with the community. Under the hood, add-ons are Docker images published in [Docker Hub](https://hub.docker.com/). Developers can create [GitHub](https://github.com) repositories that contain multiple references to add-ons for easy sharing with the community.
<ol>
<li><a href='/developers/hassio/addon_tutorial/'>Tutorial: Making your first add-on</a></li>
<li><a href='/developers/hassio/addon_config/'>Configuration</a></li>
<li><a href='/developers/hassio/addon_testing/'>Local Testing</a></li>
<li><a href='/developers/hassio/addon_publishing/'>Publishing</a></li>
<li><a href='/developers/hassio/addon_repository/'>Repositories</a></li>
</ol>

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_publishing/
--- ---
There are two different ways of publishing add-ons. One is to publish pre-build containers to Docker Hub and the other option is to have users build the containers locally on their Hass.io instance. There are two different ways of publishing add-ons. One is to publish pre-build containers to Docker Hub and the other option is to have users build the containers locally on their Hass.io instance.

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_repository/
--- ---
Add-ons repository can contain one or more add-ons. Each add-on is stored in it's own unique folder. For it to be indentified as a repository, a repository contains a configuration file. Add-ons repository can contain one or more add-ons. Each add-on is stored in it's own unique folder. For it to be indentified as a repository, a repository contains a configuration file.

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_testing/
--- ---
The fastest way to develop add-ons is by adding them to your local add-on repository. To access your local add-on repository, install either the [Samba add-on] or [SSH add-on]. The fastest way to develop add-ons is by adding them to your local add-on repository. To access your local add-on repository, install either the [Samba add-on] or [SSH add-on].

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/addon_tutorial/
--- ---
So you've got Home Assistant going and you've been enjoying the built-in add-ons but you're missing this one application. Time to make your own add-on! In Hass.io 0.24 we introduced the option to have local add-ons be build on your device. This is great for developing new add-ons locally. So you've got Home Assistant going and you've been enjoying the built-in add-ons but you're missing this one application. Time to make your own add-on! In Hass.io 0.24 we introduced the option to have local add-ons be build on your device. This is great for developing new add-ons locally.
@ -203,4 +204,4 @@ Refresh the add-on store and re-install your add-on. You will now see the option
- [Learn more about the available schema options.](/hassio/addon_config/#options--schema) - [Learn more about the available schema options.](/hassio/addon_config/#options--schema)
- [See how options.json can be used inside `run.sh`](https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/run.sh#L4-L6) - [See how options.json can be used inside `run.sh`](https://github.com/home-assistant/hassio-addons/blob/master/mosquitto/run.sh#L4-L6)
### [Next step: Add-on config reference &raquo;](/hassio/addon_config/) ### [Next step: Add-on config reference &raquo;](/developers/hassio/addon_config/)

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/architecture/
--- ---
<p class='img'> <p class='img'>

View File

@ -7,8 +7,15 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
redirect_from: /hassio/debugging/
--- ---
<p class='note warning'>
This section is not for users. Use the [SSH add-on] to SSH into Hass.io. This is for <b>developers</b> of Hass.io. Do not ask for support if you are using these options.
</p>
[SSH add-on]: /addons/ssh/
The following debug tips and tricks are for people who are running the Hass.io image and are working on the base image. If you use the generic Linux installer script, you should be able to access your host and logs as per your host. The following debug tips and tricks are for people who are running the Hass.io image and are working on the base image. If you use the generic Linux installer script, you should be able to access your host and logs as per your host.
## {% linkable_title SSH access to the host %} ## {% linkable_title SSH access to the host %}

View File

@ -9,4 +9,33 @@ sharing: true
footer: true footer: true
--- ---
Hass.io turns your Raspberry Pi (or other device) into the ultimate Home Automation hub. It takes away all the hassle of installing Home Assistant and related applications and keeping them up to date. Updates to the operating system, Home Assistant, and any add-ons can be done via the Home Assistant UI with a single click. Hass.io turns your Raspberry Pi (or other device) into the ultimate home automation hub powered by Home Assistant. With Hass.io you can focus on integrating your devices and writing automations.
[Go to the installation instructions &raquo;][install]
The advantages of using Hass.io:
- Free and open source
- Optimized for the 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.
- One click install of many popular add-ons including voice assistant via [Snips.ai], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].<br><br>[Browse available add-ons &raquo;][all]
- Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.<br><br>[Browse the forums &raquo;][forums]<br>[Join the Hass.io chat &raquo;][chat]<br>[Browse community add-on repositories &raquo;][comm-add-ons]
<p class='img'>
<img src='/images/hassio/screenshots/dashboard.png'>
Hass.io dashboard
</p>
[Snips.ai]: /addons/snips/
[Let's Encrypt]: /addons/lets_encrypt/
[Duck DNS]: /addons/duckdns/
[forums]: https://community.home-assistant.io/c/hass-io
[comm-add-ons]: https://community.home-assistant.io/tags/hassio-repository
[all]: /addons/
[chat]: https://discord.gg/K3UVxJd
[ResinOS]: https://resinos.io/
[Docker]: https://www.docker.com/
[install]: /hassio/installation/

View File

@ -9,26 +9,29 @@ sharing: true
footer: true footer: true
--- ---
Hass.io images are available for all available Raspberry Pi and intel nuc platforms. Hass.io images are available for all available Raspberry Pi and Intel NUC platforms.
- Download the appropriate image for your Raspberry Pi / intel nuc: - Download the appropriate image for your Raspberry Pi / intel nuc:
- [Raspberry Pi / Zero][pi1] - [Raspberry Pi / Zero][pi1]
- [Raspberry Pi 2][pi2] - [Raspberry Pi 2][pi2]
- [Raspberry Pi 3][pi3] - [Raspberry Pi 3][pi3]
- [Intel Nuc][nuc] - [Intel NUC][nuc]
- Flash the downloaded image to an SD card using [Etcher]. - Flash the downloaded image to an SD card using [Etcher].
- 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, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-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). - 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).
- You will be able to reach your installation at [http://hassio.local:8123][local]. - You will be able to reach your installation at [http://hassio.local:8123][local].
- Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration.
<p class='note'> <p class='note'>
If you copy over your existing Home Assistant configuration, make sure to enable the Hass.io panel by adding either `discovery:` or `hassio:` to your configuration. If you copy over your existing Home Assistant configuration, make sure to enable the Hass.io panel by adding either `discovery:` or `hassio:` to your configuration.
</p> </p>
### {% linkable_title Alternative: install on generic Linux server %} ## {% linkable_title Alternative: install on generic Linux server %}
For advanced users, it is also possible to try Hass.io on your Linux server or inside a VM. To do so, [follow these instructions][linux]. For advanced users, it is also possible to try Hass.io on your Linux server or inside a VM. To do so, [follow these instructions][linux].
<p class='note'>When you use this installation method, some add-ons will not be available and the documentation might not work for your installation.</p>
[Etcher]: https://etcher.io/ [Etcher]: https://etcher.io/
[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/ [resinos-network]: https://docs.resin.io/deployment/network/2.0.0/
[pi1]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi.img.bz2 [pi1]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi.img.bz2
@ -37,3 +40,5 @@ For advanced users, it is also possible to try Hass.io on your Linux server or i
[nuc]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-intel-nuc.img.bz2 [nuc]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-intel-nuc.img.bz2
[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio
[local]: http://hassio.local:8123 [local]: http://hassio.local:8123
[samba]: /addons/samba/
[ssh]: /addons/ssh/

View File

@ -9,7 +9,11 @@ sharing: true
footer: 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`. 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
```text
https://github.com/home-assistant/hassio-addons-example
```
<p class='note warning'> <p class='note warning'>
Home Assistant cannot guarantee the quality or security of third party add-ons. Use at your own risk. Home Assistant cannot guarantee the quality or security of third party add-ons. Use at your own risk.
@ -27,4 +31,4 @@ Add the urls of repositories (one per line) and then press "Save". A new card fo
### {% linkable_title Help: Repository is not showing up %} ### {% 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. 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 -> Three dot menu -> Advanced Settings -> Supervisor card -> View logs and scroll to the bottom. It should tell you what went wrong. Report this information to the repository author.

View File

@ -9,15 +9,19 @@ sharing: true
footer: true footer: true
--- ---
On a normal Home Assistant installation you have access to the base machine and can install or add scripts that you can call with a `command_line` sensor/switch. Since Hass.IO uses Docker, you can not use this old way to perform local stuff. On its face, it looks quite restrictive, but it makes the whole system stable. Hass.io is a managed environment. This means that you're unable to install applications that you can embed into Home Assistant using the `command_line` sensor/switch.
However, if you need to run a script to read data for a sensor or send commands to other devices on Hass.IO, you can do that with a add-on or on inside the Home Assistant container with a custom component. Here is one way to accomplish that using an add-on. For custom component, look at the [devoloper site][custom-component] and also read the [add-ons tutorial][addons-tutorial]. Now you can get started with your custom component in the right way. There are two options if you need to run a script to read data from a sensor or send commands to other devices on Hass.IO.
First you need install a MQTT broker. You can use our [MQTT broker add-on][mqtt-addon]. Make sure you use logins and disable anonymous access if you want to secure the system. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. That is the reason why we use a mqtt broker for it. First option is to write a custom component for Home Assistant. Using Python you can communicate with your device. For custom component, look at the [devoloper site][custom-component].
The second option is to make a local add-on for Hass.io that sends the data to Home Assistant via MQTT. Before we dive into this, read up on [Hass.io add-on development][addons-tutorial].
For security and speed, Hass.io does not provide a way for containers to communicate directly. So the first step is to set up a communication channel. We're going to use MQTT for this using the [MQTT broker add-on][mqtt-addon].
### {% linkable_title Sensors %} ### {% linkable_title Sensors %}
Short story of that caption: We loop in our script to fetch data and push it to MQTT and wait until next process is ready. Here is a basic example and structure for that process. We loop in our script to fetch data and push it to MQTT and wait until next process is ready. Here is a basic example and structure for that process.
Our Dockerfile need to install: Our Dockerfile need to install:
@ -26,6 +30,7 @@ RUN apk --no-cache add jq mosquitto-clients
``` ```
Now we can process it with `run.sh`: Now we can process it with `run.sh`:
```bash ```bash
#!/bin/bash #!/bin/bash
set -e set -e
@ -52,11 +57,11 @@ do
sleep "$WAIT_TIME" sleep "$WAIT_TIME"
done done
``` ```
### {% linkable_title Commands %} ### {% linkable_title Commands %}
Short story of that caption: We wait for incoming data from MQTT broker. We can also use an `input_boolean` that triggers an automation to publish a custom command to MQTT topic that can process multiple things in one add-on.
We wait for incoming data from MQTT broker. We can also use an `input_boolean` that triggers an automation to publish a custom command to MQTT topic that can process multiple things in one add-on.
Our Dockerfile need to install: Our Dockerfile need to install:
@ -88,10 +93,9 @@ do
fi fi
done < <(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -q 1) done < <(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -q 1)
``` ```
[MQTT-addon]: /addons/mosquitto/ [MQTT-addon]: /addons/mosquitto/
[custom-component]: /developers/component_loading/ [custom-component]: /developers/component_loading/
[addons-tutorial]: /hassio/addon_tutorial/ [addons-tutorial]: /developers/hassio/addon_tutorial/

View File

@ -0,0 +1,17 @@
---
layout: page
title: "Z-Wave"
description: "Instructions on how-to use Z-Wave with Hass.io."
date: 2017-04-30 13:28
sidebar: true
comments: false
sharing: true
footer: true
---
To enable Z-Wave, plug your Z-Wave USB stick into your Raspberry Pi 3 and add the following to your `configuration.yaml`:
```yaml
zwave:
usb_path: /dev/ttyACM0
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 26 KiB