diff --git a/Gemfile b/Gemfile
index b63b23a60b0..88969a48fa7 100644
--- a/Gemfile
+++ b/Gemfile
@@ -19,7 +19,7 @@ group :jekyll_plugins do
end
gem 'sinatra', '2.0.7'
-gem 'nokogiri', '1.10.5'
+gem 'nokogiri', '1.10.6'
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library
diff --git a/Gemfile.lock b/Gemfile.lock
index e7b8903b507..18e2e968de2 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -71,9 +71,9 @@ GEM
mini_portile2 (2.4.0)
multi_json (1.14.1)
mustermann (1.0.3)
- nokogiri (1.10.5)
+ nokogiri (1.10.6)
mini_portile2 (~> 2.4.0)
- nokogiri (1.10.5-x64-mingw32)
+ nokogiri (1.10.6-x64-mingw32)
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
@@ -123,7 +123,7 @@ DEPENDENCIES
jekyll-redirect-from (= 0.15.0)
jekyll-sitemap (= 1.4.0)
jekyll-time-to-read (= 0.1.2)
- nokogiri (= 1.10.5)
+ nokogiri (= 1.10.6)
rake (= 13.0.1)
sass-globbing (= 1.1.5)
sinatra (= 2.0.7)
diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown
index 3aa6f3eff87..324d8a5bdfd 100644
--- a/source/_addons/samba.markdown
+++ b/source/_addons/samba.markdown
@@ -14,7 +14,7 @@ Be careful when setting up port forwarding for remote access. If you don't restr
-Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type //HASSIO to access Hass.io shares.
+Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type `\\HASSIO` to access Hass.io shares.
diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown
index caaede14705..76051b8c5aa 100644
--- a/source/_cookbook/track_battery_level.markdown
+++ b/source/_cookbook/track_battery_level.markdown
@@ -4,6 +4,9 @@ description: "Basic example how to track the battery level of your mobile device
ha_category: Automation Examples
---
+### Android and iOS Devices
+The [Home Assistant Companion Apps](https://companion.home-assistant.io/) for iOS and Android pass the current battery level to Home Assistant with every location update. The default name of the sensor used is `sensor.battery_level`.
+
### iOS Devices
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/integrations/icloud) integration is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/integrations/template). You can also use the `battery` [sensor device class](/integrations/sensor/#device-class) to dynamically change the icon with the battery level.
@@ -26,10 +29,6 @@ sensor:
```
{% endraw %}
-### Android and iOS Devices
-While running the [Owntracks](/integrations/owntracks) device tracker you can retrieve the battery level.
-How you achieve this depends on how you have configured your Owntracks instance.
-
#### 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.
@@ -48,7 +47,7 @@ sensor:
#### HTTP
-If you have configured Owntracks to send reports to your Home Assistant instance via HTTP you can use a template sensor.
+If you have configured Owntracks to send reports to your Home Assistant instance via HTTP you can use a template sensor.
Replace `deviceid` with the set Device ID in Owntracks.
{% raw %}
diff --git a/source/_docs/frontend/mobile.markdown b/source/_docs/frontend/mobile.markdown
index e126c8ee755..801b29d93db 100644
--- a/source/_docs/frontend/mobile.markdown
+++ b/source/_docs/frontend/mobile.markdown
@@ -4,7 +4,7 @@ description: "Android/iOS instructions to add Home Assistant to your homescreen.
redirect_from: /getting-started/mobile/
---
-Home Assistant has [a companion app for iOS](/docs/ecosystem/ios/).
+Home Assistant has [a companion apps for Android and iOS](/docs/ecosystem/ios/).
On both Android and iOS, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support).
diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown
index 4293ca6a990..f0ca450a8ad 100644
--- a/source/_docs/scripts/conditions.markdown
+++ b/source/_docs/scripts/conditions.markdown
@@ -206,7 +206,7 @@ The template condition will test if the [given template][template] renders a val
```yaml
condition:
condition: template
- value_template: "{% raw %}{{ (state_attr('device_tracker.iphone', 'battery')|int) > 50 }}{% endraw %}"
+ value_template: "{% raw %}{{ (state_attr('device_tracker.iphone', 'battery_level')|int) > 50 }}{% endraw %}"
```
Within an automation, template conditions also have access to the `trigger` variable as [described here][automation-templating].
diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown
index a7344231aa4..4259c2251cc 100644
--- a/source/_integrations/device_tracker.markdown
+++ b/source/_integrations/device_tracker.markdown
@@ -83,7 +83,7 @@ devicename:
-In the example above, `devicename` refers to the detected name of the device. For instance, `my_iphone`.
+In the example above, `devicename` refers to the detected name of the device. For example, with `nmap`, this will be the MAC address (with byte separators omitted).
diff --git a/source/_integrations/device_tracker.xiaomi.markdown b/source/_integrations/device_tracker.xiaomi.markdown
index 12042f1b1ac..61e6ce8d431 100644
--- a/source/_integrations/device_tracker.xiaomi.markdown
+++ b/source/_integrations/device_tracker.xiaomi.markdown
@@ -43,3 +43,6 @@ See the [device tracker integration page](/integrations/device_tracker/) for ins
To ensure that your router is compatible, navigate to `http://YOUR_ROUTER_IP/api/misystem/devicelist`.
You should see a listing of the device currently connected to your router.
+
+However, some users report that even when the previous URL does not work, they have been able to integrate their Mi Router 3 in Home Assistant. E.g., some users with the Mi Router 3 and firmware version 2.10.46 Stable have integrated their routers successfully and an alternative URL to test integration with is `http://YOUR_ROUTER_IP/cgi-bin/luci/api/misystem/devicelist`. Navigating to this page should show the `{"code":401,"msg":"Invalid token"}` message.
+
diff --git a/source/_integrations/huawei_router.markdown b/source/_integrations/huawei_router.markdown
index c6496992309..6a8f012e2f3 100644
--- a/source/_integrations/huawei_router.markdown
+++ b/source/_integrations/huawei_router.markdown
@@ -9,7 +9,7 @@ ha_release: 0.51
The `huawei` device tracker platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
-Currently, this was only tested with the Huawei HG8247H and HG8247Q Smart Router (used by Vodafone Portugal).
+Currently, this was only tested with the Huawei HG8247H, HS8247W and HG8247Q Smart Router (used by Vodafone Portugal).
## Configuration
diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown
index aa7f46f83b6..d618a331434 100644
--- a/source/_integrations/life360.markdown
+++ b/source/_integrations/life360.markdown
@@ -19,7 +19,7 @@ Then in the Home Assistant user interface (UI), click on Configuration in the le
If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. Any of the advanced options you want to set from the section below will need to be set manually in your configuration.yaml file. They are not able to be set from the UI. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer.
-After configuring, you should see a new Life360 device tracker entity showing up on the States page. If it does not:
+After configuring, it is expected for the Life360 integration page to show "This integration has no devices". You should see a new Life360 device tracker entity showing up on the States page. If it does not:
- Check the [device tracker documentation](/integrations/device_tracker), especially the `new_device_defaults` setting.
- Check your `known_devices.yaml`; `tracking` should be `true` for your Life360 device.
diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown
index 1c08acf1d3f..5a09697aa2c 100644
--- a/source/_integrations/opensky.markdown
+++ b/source/_integrations/opensky.markdown
@@ -39,7 +39,7 @@ Both events have three attributes:
- **callsign**: Callsign of the flight.
- **altitude**: Altitude of the flight in meters.
-To receive notifications of the entering flights, add the following lines to your `configuration.yaml` file:
+To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file:
{% raw %}
```yaml
@@ -49,7 +49,7 @@ automation:
platform: event
event_type: opensky_entry
action:
- service: notify.ios_YOURIPHONENAME
+ service: notify.mobile_app_
data_template:
message : 'Flight entry of {{ trigger.event.data.callsign }} '
```
diff --git a/source/_posts/2019-10-30-release-101.markdown b/source/_posts/2019-10-30-release-101.markdown
index d6b40c0afa8..bcb29ab3b90 100644
--- a/source/_posts/2019-10-30-release-101.markdown
+++ b/source/_posts/2019-10-30-release-101.markdown
@@ -50,7 +50,7 @@ Your webhook should be available from the internet, if you have a cloud subscrip
As you may have already read, we'll be sunsetting Hassbian.
-Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as [Hass.io](hhttps://www.home-assistant.io/hassio/) it is time to sunset Hassbian.
+Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as [Hass.io](https://www.home-assistant.io/hassio/) it is time to sunset Hassbian.
A big thank you to all those who worked on Hassbian - specifically [@landrash](https://github.com/landrash), who was the primary driver of this for so long, and [@ludeeus](https://github.com/ludeeus).
diff --git a/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown b/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown
index 8e90a1804d7..ce96755eabc 100644
--- a/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown
+++ b/source/_posts/2019-11-20-privacy-focused-voice-assistant.markdown
@@ -85,6 +85,8 @@ We don't want to wait with integrating this until all the pieces run 100% locall
With Almond and Ada, we've put the building blocks in place to create voice assistants. It's now time to use it, improve it and surprise us by sharing the things you'll use it for.
+We've added a new section on the forums to discuss [voice setups](https://community.home-assistant.io/c/configuration/voice-assistant).
+
## Bonus
I hacked together a quick prototype to allow you to talk to Almond via a Telegram Bot! It's available as a [custom component](https://gist.github.com/balloob/d59cae89d19a14bcec99ce1bde05bd44).
diff --git a/source/_posts/2019-11-22-state-of-the-union.markdown b/source/_posts/2019-11-22-state-of-the-union.markdown
index 08e17cef43c..4c2718372b3 100644
--- a/source/_posts/2019-11-22-state-of-the-union.markdown
+++ b/source/_posts/2019-11-22-state-of-the-union.markdown
@@ -122,7 +122,7 @@ _"If I could describe my dream job, it would be being a full-time open source de
### Create automations using your voice
-We have been able to leverage Almond's neural network to **allow users to generate automations using natural language**. This means that you can now create an automation by telling Home Assitant to "turn on the lights when I get home" and we'll convert it to the appropriate automation in Home Assistant.
+We have been able to leverage Almond's neural network to **allow users to generate automations using natural language**. This means that you can now create an automation by telling Home Assistant to "turn on the lights when I get home" and we'll convert it to the appropriate automation in Home Assistant.
[Source code](https://github.com/NabuCasa/thingtalk-hass-generator/).
@@ -133,4 +133,4 @@ Screenshot of the create automation dialog.
### Share the love ❤️
-Home Assistant is the community and the community is Home Asssitant. Help us spread the Home Assitant love, help others and share your knowledge on YouTube, blogs and other media.
+Home Assistant is the community and the community is Home Assistant. Help us spread the Home Assistant love, help others and share your knowledge on YouTube, blogs and other media.
diff --git a/source/_posts/2019-12-03-sonos-shutting-down-local-voice-option-snips.markdown b/source/_posts/2019-12-03-sonos-shutting-down-local-voice-option-snips.markdown
new file mode 100644
index 00000000000..4c8f80e3742
--- /dev/null
+++ b/source/_posts/2019-12-03-sonos-shutting-down-local-voice-option-snips.markdown
@@ -0,0 +1,52 @@
+---
+title: "Sonos shutting down local voice option Snips"
+description: "After acquiring Snips, Sonos has decided to shut down the option to build local voice control."
+date: 2019-12-03 00:01:00
+date_formatted: "December 3, 2019"
+author: Paulus Schoutsen
+author_twitter: balloob
+categories: Public-Service-Announcement
+og_image: /images/blog/2019-12-sonos-shutting-down-snips/social.png
+---
+
+It's that time of the year. The time when it's cold outside, it's cozy and warm inside, we're spending time with friends and family, and time for big companies to drop local accessible technology ([2015](/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/), [2018](/blog/2018/12/17/logitech-harmony-removes-local-api/)).
+
+On November 20, 2019, Sonos [announced](https://investors.sonos.com/news-and-events/investor-news/latest-news/2019/Sonos-Announces-Acquisition-of-Snips/default.aspx) that they had acquired Snips earlier that month. Snips was a popular option for people to get local voice control in their homes.
+
+In the same month of the acquisition, Snips has announced that they are shutting down their console for users. The console allows users to train their system with custom sentences and intents. By shutting this down, it is no longer possible to make any changes to your local Snips system.
+
+
+
+ Announcement on the Snips forums.
+
+
+What is actually worse, is that it looks like they are not shutting down their console completely, they are just shutting down public access. They could support users, but actively decide not to do so. It seems like they don't want us to know this, as they have edited their announcement on the forums.
+
+
+
+ Edit history of the announcement shows they removed the words "public access to".
+
+
+Voice control, powered by Snips, might show up in future Sonos devices. However, Sonos is not accessible to many people out there. The customizations will also be lost according to Patrick Spence, the CEO of Sonos, in an [interview with Variety](https://variety.com/2019/digital/news/sonos-snips-acquisition-q4-2019-earnings-1203410771/):
+
+
+“We are not building an ask-anything assistant,” Spence said. Instead, the goal of the acquisition was to build something a lot more music-specific.
+
+
+## Bad move by Sonos
+
+A very bad move by Sonos. This is not a world in which it's Sonos vs. Google vs. Amazon. It is not even a fight just about smart speakers, it is a fight about if the audio system in our house is local and private, or not.
+
+By taking Snips off the table, there is one less option for local voice control. These users will now look for alternatives, which will include cloud options.
+
+Technology often ends up with a winner takes all. Sonos has just made a better case for its competitors, [again](https://jpmens.net/2018/09/11/upset-at-sonos/).
+
+## What the local home needs
+
+Audio is an essential part of our homes. We want to play music, be notified of events (i.e., doorbell) and we want to be able to use our voice to control our devices. A system that provides this, needs to run locally and be accessible via an open API.
+
+Sonos could be this system, they have great hardware that works together nicely. However, they are keeping their API tightly controlled, making it impossible for a user to build on top of it.
+
+It is a choice. They could keep the Snips console open to the public, open up their modern local API and embrace the community that cares about local control. Nevertheless, they choose to work against it.
+
+So Sonos, why are you?
diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown
index 54f52c58256..d11d99f570c 100644
--- a/source/hassio/installation.markdown
+++ b/source/hassio/installation.markdown
@@ -8,11 +8,7 @@ The following will take you through the steps required to install Hass.io.
1. Download the appropriate install option:
- As an image for your device:
-
- - [Raspberry Pi Zero][pi1] (not recommended for more than testing)
- - [Raspberry Pi Zero W][pi0-w] (not recommended for more than testing)
- - [Raspberry Pi 1 Model B][pi1] (not recommended for more than testing)
- - [Raspberry Pi 2 Model B][pi2]
+
- [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended)
- [Raspberry Pi 3 Model B and B+ 64bit][pi3-64]
- [(RC) Raspberry Pi 4 Model B 32bit][pi4-32] (recommended)
@@ -160,6 +156,7 @@ sudo -i
apt-get install software-properties-common
apt-get update
apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat
+systemctl disable ModemManager
curl -fsSL get.docker.com | sh
```
diff --git a/source/images/blog/2019-12-sonos-shutting-down-snips/post-history-screenshot.png b/source/images/blog/2019-12-sonos-shutting-down-snips/post-history-screenshot.png
new file mode 100644
index 00000000000..2a133fb7f07
Binary files /dev/null and b/source/images/blog/2019-12-sonos-shutting-down-snips/post-history-screenshot.png differ
diff --git a/source/images/blog/2019-12-sonos-shutting-down-snips/snips-post-1.png b/source/images/blog/2019-12-sonos-shutting-down-snips/snips-post-1.png
new file mode 100644
index 00000000000..9af0b7ab945
Binary files /dev/null and b/source/images/blog/2019-12-sonos-shutting-down-snips/snips-post-1.png differ
diff --git a/source/images/blog/2019-12-sonos-shutting-down-snips/social.png b/source/images/blog/2019-12-sonos-shutting-down-snips/social.png
new file mode 100644
index 00000000000..36cb978f11f
Binary files /dev/null and b/source/images/blog/2019-12-sonos-shutting-down-snips/social.png differ