From ce07145f14d7dd4ef2d2cf44435fd6c5e0311961 Mon Sep 17 00:00:00 2001 From: Dubh Ad Date: Sat, 11 Jan 2020 10:31:17 +0000 Subject: [PATCH 01/14] Removing Windows (#11666) We get a regular trickle of folks installing on Windows, who're then stuck on things like auto-starting, and almost everything else. As much as I don't like removing community provided guides, I think this one needs to disappear. --- source/_docs/installation.markdown | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index 3807cf4c038..003bed3a854 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -94,12 +94,6 @@ These guides are provided as-is. Some of these install methods are more limited
CentOS/RHEL
- -
- -
-
Windows
-
From 59cc1f0d184edf45a2b13fd1070e10ddd7f106b5 Mon Sep 17 00:00:00 2001 From: Brian Dunlay Date: Sat, 11 Jan 2020 02:41:21 -0800 Subject: [PATCH 02/14] Add tunnel timeout to support websocket connections (#11708) HomeAssistant uses a 55 second interval[1] to send heartbeats to the Lovelace UI over WebSockets. If the tunnel timeout[2] is not set, the WebSocket connection from the browser to the server is reset every 50 seconds. When the connection resets, it reconnects automatically, and causes the page to reload. Any unsaved data in forms is lost. This commit adds a sane default of 60 seconds to the HAProxy configuration for tunneled connections, so that the frontend WebSocket connection doesn't time out every 50 seconds. [1]: https://github.com/home-assistant/home-assistant/blob/9c551ae85d68a8c82c706d6e2cf044cfd5533054/homeassistant/components/websocket_api/http.py#L111 [2]: https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#4-timeout%20tunnel Related: home-assistant/home-assistant-js-websocket#108 --- source/_docs/ecosystem/haproxy.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_docs/ecosystem/haproxy.markdown b/source/_docs/ecosystem/haproxy.markdown index b9a09fed76d..85c99300b07 100644 --- a/source/_docs/ecosystem/haproxy.markdown +++ b/source/_docs/ecosystem/haproxy.markdown @@ -57,7 +57,8 @@ defaults timeout connect 5000 timeout client 50000 timeout server 50000 - timeout http-request 5s #protection from Slowloris attacks + timeout tunnel 60000 # long enough for websocket pings every 55 seconds + timeout http-request 5s # protection from Slowloris attacks frontend www-http bind *:80 @@ -68,7 +69,7 @@ frontend www-https bind *:443 ssl crt /etc/haproxy/certs/MYCERT.pem acl hass-acl hdr(host) -i SUBDOMAIN.DOMAIN.COM use_backend hass-backend if hass-acl - + backend hass-backend server hass :8123 From f9e8f37381722ed12003e1ec3f0698914245d613 Mon Sep 17 00:00:00 2001 From: tigattack <10629864+tigattack@users.noreply.github.com> Date: Sat, 11 Jan 2020 19:08:28 +0000 Subject: [PATCH 03/14] Fixed links to "Configuring the platform" section (#11711) Three links to "Configuring the platform" header were using underscores to separate the words instead of hyphens. This broke the link as it was invalid. --- source/_integrations/html5.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown index e628ba8932d..3fe4da08a95 100644 --- a/source/_integrations/html5.markdown +++ b/source/_integrations/html5.markdown @@ -56,15 +56,15 @@ name: type: string default: notify vapid_pub_key: - description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates"), [see configuring the platform](#configuring_the_platform). + description: The VAPID public key generated by Google (this is the key that is immediately visible under "webpush certificates"), [see configuring the platform](#configuring-the-platform). required: true type: string vapid_prv_key: - description: The VAPID private key generated by Google, [see configuring the platform](#configuring_the_platform). + description: The VAPID private key generated by Google, [see configuring the platform](#configuring-the-platform). required: true type: string vapid_email: - description: The e-mail account associated with your Firebase project, [see configuring the platform](#configuring_the_platform). + description: The e-mail account associated with your Firebase project, [see configuring the platform](#configuring-the-platform). required: true type: string gcm_api_key: From 98630e384d7f7fbf6cd50e046f6d51f78285e196 Mon Sep 17 00:00:00 2001 From: thecem <46648579+thecem@users.noreply.github.com> Date: Sat, 11 Jan 2020 20:17:34 +0100 Subject: [PATCH 04/14] Changed the temp and range options (#11710) changed the option description min_temp/max_temp/range_from/range_to to right one like in the source code. --- source/_integrations/enocean.markdown | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown index 69d7e983df5..0987c35a4de 100644 --- a/source/_integrations/enocean.markdown +++ b/source/_integrations/enocean.markdown @@ -258,29 +258,29 @@ sensor: The temperature sensor supports these additional configuration properties. {% configuration %} -temp_min: +min_temp: description: The minimal temperature in °C your sensor supports. required: false type: integer default: 0 -temp_max: +max_temp: description: The maximum temperature in °C your sensor supports. required: false type: integer default: 40 -range_min: - description: The range value your sensor reports for `temp_min` +range_from: + description: The range value your sensor reports for `min_temp` required: false type: integer default: 255 -range_max: - description: The range value your sensor reports for `temp_max` +range_to: + description: The range value your sensor reports for `max_temp` required: false type: integer default: 0 {% endconfiguration %} -Note that the default configuration values of _range_min_ and _range_max_ are not typos, the range is backwards for most sensors. +Note that the default configuration values of _range_from_ and _range_to_ are not typos, the range is backwards for most sensors. However, some EEPs have a different, inverted range, which goes from 0 to 250. This includes the following EEPs: - **A5-04-01** @@ -296,8 +296,8 @@ sensor: platform: enocean id: [0x01,0x90,0x84,0x3C] device_class: temperature - range_min: 0 - range_max: 250 + range_from: 0 + range_to: 250 ``` ## Switch From 846f2367f7678b334f1d4d362fa7d8149eaea672 Mon Sep 17 00:00:00 2001 From: Spiffo Date: Sun, 12 Jan 2020 09:24:54 +0100 Subject: [PATCH 05/14] Update sensor.buienradar.markdown (#11714) alas... snow is not going to happen anymore anytime soon in the Netherlands... :) snow_1d is not supported (anymore?) as a monitored condition in the sensor. --- source/_integrations/sensor.buienradar.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown index 2ba53e22811..d9497a56a4f 100644 --- a/source/_integrations/sensor.buienradar.markdown +++ b/source/_integrations/sensor.buienradar.markdown @@ -113,8 +113,6 @@ monitored_conditions: description: "The minimum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." maxrain_1d: description: "The maximum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." - snow_1d: - description: "The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre)." windazimuth_1d: description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. (derived from winddirection_1d) winddirection_1d: From 64dc7f54426d38e6aca0727dea6c0ab5aff337ab Mon Sep 17 00:00:00 2001 From: John Hollowell Date: Sun, 12 Jan 2020 03:31:12 -0500 Subject: [PATCH 06/14] Add Proxmox Permissions Information (#11713) --- source/_integrations/proxmoxve.markdown | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown index e41486f4221..ea40c027202 100644 --- a/source/_integrations/proxmoxve.markdown +++ b/source/_integrations/proxmoxve.markdown @@ -102,3 +102,43 @@ proxmoxve: The integration will automatically create a binary sensor for each tracked virtual machine or container. The binary sensor will either be on if the VM's state is running or off if the VM's state is different. The created sensor will be called `binary_sensor.NODE_NAME_VMNAME_running`. + +## Proxmox Permissions + +To be able to retrieve the status of VMs and containers, the user used to connect must minimally have the `VM.Audit` privilege. Below is a guide to how to configure a new user with the minimum required permissions. + +### Create Home Assistant Role + +Before creating the user, we need to create a permissions role for the user. + +* Click `Datacenter` +* Open `Permissions` and click `Roles` +* Click the `Create` button above all the existing roles +* name the new role (e.g. "home-assistant") +* Click the arrow next to privileges and select `VM.Audit` in the dropdown +* Click `Create` + +### Create Home Assistant User + +Creating a dedicated user for home assistant limited to only the role just created is the most secure method. These instructions use the `pve` realm for the user. This allows a connection, but ensures that the user is not authenticated for SSH connections. If you use the `pve` realm, just be sure to add `realm: pve` to your config. + +* Click `Datacenter` +* Open `Permissions` and click `Users` +* Click `Add` +* Enter a username (e.g. "hass") +* Enter a secure password (it can be complex as you will only need to copy/paste it into your Home Assistant configuration) +* Set the realm to "Proxmox VE authentication server" +* Ensure `Enabled` is checked and `Expire` is set to "never" +* Click `Add` + +### Add User Permissions to Assets + +To apply the user and role just created, we need to give it permissions + +* Click `Datacenter` +* Click `Permissions` +* Open `Add` and click `User Permission` +* Select "\" for the path +* Select your hass user ("hass") +* Select the Home Assistant role ("home-assistant") +* Make sure `Propigate` is checked From 44dc93d5da339dd6cdd5749762a30d7624880433 Mon Sep 17 00:00:00 2001 From: Daniel Powell Date: Sun, 12 Jan 2020 19:24:44 +1000 Subject: [PATCH 07/14] Update solax.markdown (#11696) * Update solax.markdown * grammar and simplify * Apply suggestions from code review Co-Authored-By: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/solax.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown index 7e75822cfef..f122f96974e 100644 --- a/source/_integrations/solax.markdown +++ b/source/_integrations/solax.markdown @@ -56,3 +56,16 @@ sensors: value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}" ``` {% endraw %} + +### Note + +Inverter models with newer firmware (and also those using devices like PocketWifi) no longer expose an API when connected to your wireless network, they do however continue to expose it on their own broadcasted SSID. To use this sensor in this case it is necessary to set up a reverse proxy with something like Nginx and use a raspberry pi (or similar) with two network connections (one being wifi that connects to the inverters SSID). + + +Example Nginx configuration + +```text +location / { + proxy_pass http://5.8.8.8; +} +``` From bec63cd2451d10c537207be00506183631190fc9 Mon Sep 17 00:00:00 2001 From: Zhao Date: Sun, 12 Jan 2020 20:27:56 +1100 Subject: [PATCH 08/14] =?UTF-8?q?Updated=20the=20appdaemon=20repository.?= =?UTF-8?q?=20The=20current=20version=20is=20not=20v=E2=80=A6=20(#11705)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_docs/ecosystem/appdaemon/running.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/ecosystem/appdaemon/running.markdown b/source/_docs/ecosystem/appdaemon/running.markdown index 1599c8e81df..031eb19b8ce 100644 --- a/source/_docs/ecosystem/appdaemon/running.markdown +++ b/source/_docs/ecosystem/appdaemon/running.markdown @@ -11,13 +11,13 @@ As configured, `AppDaemon` comes with a single HelloWorld App that will send a g Assuming you have set the config up as described above for Docker, you can run it with the command: ```bash -$ docker run -d -v /conf:/conf --name appdaemon appdaemon:latest +$ docker run -d -v /conf:/conf --name appdaemon acockburn/appdaemon:latest ``` In the example above you would use: ```bash -$ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon appdaemon:latest +$ docker run -d -v /Users/foo/ha-config:/conf --name appdaemon acockburn/appdaemon:latest ``` Where you place the `conf` and `conf/apps` directory is up to you - it can be in downloaded repository, or anywhere else on the host, as long as you use the correct mapping in the `docker run` command. From badb6c8a17c15207de5e6f70d832b8ef9e104c38 Mon Sep 17 00:00:00 2001 From: PaulParis1 <46383511+PaulParis1@users.noreply.github.com> Date: Sun, 12 Jan 2020 10:53:15 +0100 Subject: [PATCH 09/14] Add Android example (#11686) * Add Android example Add Android example configuration * :pencil2: Tweak * :pencil2: Add information * :pencil2: Tweaks Co-authored-by: Klaas Schoute Co-authored-by: Franck Nijhof --- source/_cookbook/track_battery_level.markdown | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 76051b8c5aa..3028e1322e1 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -29,7 +29,32 @@ sensor: ``` {% endraw %} +### Android Devices + +On your Android device, once the official [Home Assistant companion app](https://companion.home-assistant.io/) is installed and connected to your Home Assistance instance, you will be able to display the battery level in the frontend by adding a [template sensor](/integrations/template) to your configuration YAML file. You can also use the battery [sensor device class](/integrations/sensor/#device-class) to dynamically change the icon with the battery level. + +{% raw %} +```yaml +sensor: + - platform: template + sensors: + battery_phone: + friendly_name: AndroidPhone Battery + unit_of_measurement: '%' + value_template: >- + {%- if state_attr('device_tracker.xxxxx', 'battery_level') %} + {{ state_attr('device_tracker.xxxxx', 'battery_level')|round }} + {% else %} + {{ states('device_tracker.xxxxx') }} + {%- endif %} + device_class: battery +``` +{% endraw %} + +Replace 'device_tracker.xxxxx' with your phone name as shown under Configuration/Devices Device Info/Entities, for example: 'device_tracker.mi_a1' + #### MQTT + If you have configured Owntracks to send reports via MQTT you can use the received data via a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks. From ae2509e23372fa32da1c4cf824f718f4ff71cc84 Mon Sep 17 00:00:00 2001 From: linkztream Date: Mon, 13 Jan 2020 11:09:03 +0100 Subject: [PATCH 10/14] Fixed ws-url and needed steps. (#11717) * Fixed ws-url and needed steps. Modified the ws-url to reflect the documentation from SPC-GATEWAY manual and added the two needed changes to customize.yaml + configuration.yaml to make the sensors produce usable output. * Removed hidden sensors text After changes made to the integration, sensors are no longer hidden and that text became obsolete. Removed to avoid confusion. --- source/_integrations/spc.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_integrations/spc.markdown b/source/_integrations/spc.markdown index ce845506677..40c10b0a3ad 100644 --- a/source/_integrations/spc.markdown +++ b/source/_integrations/spc.markdown @@ -34,12 +34,11 @@ api_url: required: true type: string ws_url: - description: URL of the SPC Web Gateway websocket, e.g., `ws://:8088`. + description: URL of the SPC Web Gateway websocket, e.g., `ws://:8088/ws/spc`. required: true type: string {% endconfiguration %} -Supported sensors will be automatically discovered and added, however they will be hidden by default. ## Alarm From 8dac0b232c1b3992e5d7dbbecaad845390c3ac4b Mon Sep 17 00:00:00 2001 From: akasma74 Date: Mon, 13 Jan 2020 10:13:22 +0000 Subject: [PATCH 11/14] continue_on_timeout clarification (#11723) It was a bit unclear what happens if one omits continue_on_timeout (i.e what's its default value) so I decided to test it and fill the gap so others shouldn't do it again --- source/_docs/scripts.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index c871b6303da..ee17347b3da 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -107,7 +107,6 @@ Wait until some things are complete. We support at the moment `wait_template` fo # Wait for sensor to trigger or 1 minute before continuing to execute. - wait_template: "{{ is_state('binary_sensor.entrance', 'on') }}" timeout: '00:01:00' - continue_on_timeout: 'true' ``` {% endraw %} @@ -133,7 +132,7 @@ It is also possible to use dummy variables, e.g., in scripts, when using `wait_t ``` {% endraw %} -You can also get the script to abort after the timeout by using `continue_on_timeout` +You can also get the script to abort after the timeout by using optional `continue_on_timeout` {% raw %} ```yaml @@ -144,6 +143,8 @@ You can also get the script to abort after the timeout by using `continue_on_tim ``` {% endraw %} +Without `continue_on_timeout` the script will always continue. + ### Fire an Event This action allows you to fire an event. Events can be used for many things. It could trigger an automation or indicate to another integration that something is happening. For instance, in the below example it is used to create an entry in the logbook. From 5daef0f3208f4ca74ee49f370b6a2093198f47ee Mon Sep 17 00:00:00 2001 From: akasma74 Date: Mon, 13 Jan 2020 10:15:54 +0000 Subject: [PATCH 12/14] On->on & Off->off (#11721) just because they are not the same if used as state value. stumbled upon it when discussing why this automation (https://community.home-assistant.io/t/integrating-rf-devices-with-sonoff-rf-bridge-on-tasmota-firmware/42484/112?u=ahmadk) doesn't work. --- source/_integrations/binary_sensor.markdown | 48 ++++++++++----------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/source/_integrations/binary_sensor.markdown b/source/_integrations/binary_sensor.markdown index 638bfb7cae6..927a3916291 100644 --- a/source/_integrations/binary_sensor.markdown +++ b/source/_integrations/binary_sensor.markdown @@ -15,33 +15,33 @@ Binary sensors gather information about the state of devices which have a "digit The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors: - **None**: Generic on/off. This is the default and doesn't need to be set. -- **battery**: `On` means low, `Off` means normal -- **cold**: `On` means cold, `Off` means normal -- **connectivity**: `On` means connected, `Off` means disconnected -- **door**: `On` means open, `Off` means closed -- **garage_door**: `On` means open, `Off` means closed -- **gas**: `On` means gas detected, `Off` means no gas (clear) -- **heat**: `On` means hot, `Off` means normal -- **light**: `On` means light detected, `Off` means no light -- **lock**: `On` means open (unlocked), `Off` means closed (locked) -- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry) -- **motion**: `On` means motion detected, `Off` means no motion (clear) -- **moving**: `On` means moving, `Off` means not moving (stopped) -- **occupancy**: `On` means occupied, `Off` means not occupied (clear) -- **opening**: `On` means open, `Off` means closed -- **plug**: `On` means device is plugged in, `Off` means device is unplugged -- **power**: `On` means power detected, `Off` means no power -- **presence**: `On` means home, `Off` means away -- **problem**: `On` means problem detected, `Off` means no problem (OK) -- **safety**: `On` means unsafe, `Off` means safe -- **smoke**: `On` means smoke detected, `Off` means no smoke (clear) -- **sound**: `On` means sound detected, `Off` means no sound (clear) -- **vibration**: `On` means vibration detected, `Off` means no vibration (clear) -- **window**: `On` means open, `Off` means closed +- **battery**: `on` means low, `off` means normal +- **cold**: `on` means cold, `off` means normal +- **connectivity**: `on` means connected, `off` means disconnected +- **door**: `on` means open, `off` means closed +- **garage_door**: `on` means open, `off` means closed +- **gas**: `on` means gas detected, `off` means no gas (clear) +- **heat**: `on` means hot, `off` means normal +- **light**: `on` means light detected, `off` means no light +- **lock**: `on` means open (unlocked), `off` means closed (locked) +- **moisture**: `on` means moisture detected (wet), `off` means no moisture (dry) +- **motion**: `on` means motion detected, `off` means no motion (clear) +- **moving**: `on` means moving, `off` means not moving (stopped) +- **occupancy**: `on` means occupied, `off` means not occupied (clear) +- **opening**: `on` means open, `off` means closed +- **plug**: `on` means device is plugged in, `off` means device is unplugged +- **power**: `on` means power detected, `off` means no power +- **presence**: `on` means home, `off` means away +- **problem**: `on` means problem detected, `off` means no problem (OK) +- **safety**: `on` means unsafe, `off` means safe +- **smoke**: `on` means smoke detected, `off` means no smoke (clear) +- **sound**: `on` means sound detected, `off` means no sound (clear) +- **vibration**: `on` means vibration detected, `off` means no vibration (clear) +- **window**: `on` means open, `off` means closed For analog sensors please check the [integration overview](/integrations/#sensor).

-Example of various device classes icons in `On` and `Off` state. +Example of various device classes icons in `on` and `off` state.

From 6a48630682ff1e6a5a094d62a42bfe31b0e6e4bb Mon Sep 17 00:00:00 2001 From: Marius Oei Date: Mon, 13 Jan 2020 11:22:23 +0100 Subject: [PATCH 13/14] Add another TV to Samsung TV supported devices (#11718) I tried the component with my PS51D6900 and it worked. Even with the correct MAC address I could not get WOL to work unfortunately. Might just be a user error. --- source/_integrations/samsungtv.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index f694e0aa0e4..4e234c6226d 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -75,6 +75,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am - D6300SF - D6500 - D6505 +- D6900 (WOL did not work) - D7000 - D8000 - EH5300 @@ -114,7 +115,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am - UE6199UXZG (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - UE65KS8005 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button) - UE49KU6470 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button) -- UE46ES5500 (partially supported, turn on doesn't works) +- UE46ES5500 (partially supported, turn on doesn't work) #### Models tested but not yet working From f57eb8b104c7d3d707c9c55388f446248aa0ccc8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 13 Jan 2020 11:23:30 +0100 Subject: [PATCH 14/14] HassOS 3.8 (#11726) --- source/hassio/installation.markdown | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 10fd6064656..d2dd6fc2438 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -207,20 +207,20 @@ A detailed guide about running Hass.io as a virtual machine is available in the [balenaEtcher]: https://www.balena.io/etcher [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi0-w-3.7.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi-3.7.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi2-3.7.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-3.7.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi3-64-3.7.img.gz -[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-3.7.img.gz -[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_rpi4-64-3.7.img.gz -[tinker]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_tinker-3.7.img.gz -[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-c2-3.7.img.gz -[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_odroid-xu4-3.7.img.gz -[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_intel-nuc-3.7.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vmdk.gz -[vhdx]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vhdx.gz -[vdi]: https://github.com/home-assistant/hassos/releases/download/3.7/hassos_ova-3.7.vdi.gz +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi0-w-3.8.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi-3.8.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi2-3.8.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi3-3.8.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi3-64-3.8.img.gz +[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi4-3.8.img.gz +[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_rpi4-64-3.8.img.gz +[tinker]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_tinker-3.8.img.gz +[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_odroid-c2-3.8.img.gz +[odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_odroid-xu4-3.8.img.gz +[intel-nuc]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_intel-nuc-3.8.img.gz +[vmdk]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vmdk.gz +[vhdx]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vhdx.gz +[vdi]: https://github.com/home-assistant/hassos/releases/download/3.8/hassos_ova-3.8.vdi.gz [linux]: https://github.com/home-assistant/hassio-installer [local]: http://hassio.local:8123 [samba]: /addons/samba/