From faf70d334940c91a93940185f8fec2e3b59501ba Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 12:56:35 +0200 Subject: [PATCH 01/34] Fix typo --- source/_posts/2018-08-29-release-77.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index fdaf74551a6..36e35235bf9 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -23,7 +23,7 @@ Once logged in, you will have access to the following new features: - Configure multifactor authentication (TOTP) - Manage other users (limited to account created during onboarding) -Although it's possible to configure authentication, we stronlgy recommend to stick with the default authentication configuration. If you had auth providers configured in a previous Home Assistant release, we recommend to remove the configuration and start using the default. +Although it's possible to configure authentication, we strongly recommend to stick with the default authentication configuration. If you had auth providers configured in a previous Home Assistant release, we recommend to remove the configuration and start using the default. It will take some time before all of the Home Assistant ecosystem has been migrated over to the new auth system. Home Assistant will print a warning whenever an application connects to Home Assistant with the legacy authentication. This will help users notify the application developers to transition to use the new [OAuth2](https://developers.home-assistant.io/docs/en/auth_api.html) authentication. For non-interactive scripts or other applications that are unable to update, we are planning to introduce a migration path for components to adopt url specific auth tokens and also introduce long lived access tokens to replace API passwords. A list of impacted components can be found [here](https://github.com/home-assistant/home-assistant/issues/15376#issuecomment-415890552). From 23ab489c79647dec5725393f4a9d49e348eb3d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isabella=20Gross=20Alstr=C3=B6m?= Date: Wed, 29 Aug 2018 20:18:51 +0200 Subject: [PATCH 02/34] Corrected spelling error (#6108) --- source/_docs/authentication.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown index e32349a9693..bb575db1b7e 100644 --- a/source/_docs/authentication.markdown +++ b/source/_docs/authentication.markdown @@ -12,7 +12,7 @@ footer: true Access to Home Assistant is secured by our authentication system. Each member of your household will get their own user account to log in and access Home Assistant. -Home Assistant contains two different user types: the owner user account and normal users. The owner user account is created when you start Home Assitant for the first time. This account has some special privileges compared to the other users of the system: +Home Assistant contains two different user types: the owner user account and normal users. The owner user account is created when you start Home Assistant for the first time. This account has some special privileges compared to the other users of the system: - Manage users - Configure integrations and other settings (soon) From 8fe7e21a9c2e2b087e41b2ab936a434fb555a5b1 Mon Sep 17 00:00:00 2001 From: TimVa Date: Wed, 29 Aug 2018 20:19:16 +0200 Subject: [PATCH 03/34] Update knx.markdown (#6109) fixed typo --- source/_components/knx.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 7acfae76761..89e9a0c4129 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -105,7 +105,7 @@ KNX component is able to expose time or sensor values to KNX bus. The component ```yaml # Example configuration.yaml entry knx: - expose:: + expose: - type: 'temperature' entity_id: 'sensor.owm_temperature' address: '0/0/2' From b7447c01194c1db13f27f532781cf1f02b5cd4cf Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 23:25:00 +0200 Subject: [PATCH 04/34] Release 77.1 --- _config.yml | 4 ++-- source/_posts/2018-08-29-release-77.markdown | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 60823e3e2d0..6aaba3a71e1 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 77 -current_patch_version: 0 +current_patch_version: 1 date_released: 2018-08-29 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0771---august-29" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index 36e35235bf9..f0c708d0b32 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -48,6 +48,19 @@ You didn't think we would forget about Lovelace, did you? This release include a - Add support for NOAA tide information (new PR) ([@jcconnell] - [#15947]) ([sensor.noaa_tides docs]) (new-platform) - Hangouts ([@hobbypunk90] - [#16049]) ([hangouts docs]) ([notify docs]) (new-platform) +## {% linkable_title Release 0.77.1 - August 29 %} + +- Fix trusted networks login error ([@awarecan]) +- Fix data_key override by parent class ([@syssi] - [#16278]) ([binary_sensor.xiaomi_aqara docs]) +- Fix error when vacuum is idling ([@cnrd] - [#16282]) ([vacuum.xiaomi_miio docs]) + +[#16278]: https://github.com/home-assistant/home-assistant/pull/16278 +[#16282]: https://github.com/home-assistant/home-assistant/pull/16282 +[@cnrd]: https://github.com/cnrd +[@syssi]: https://github.com/syssi +[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/ +[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 1ce0d2df6a5623490c8d1fbc8786ab59fc715d60 Mon Sep 17 00:00:00 2001 From: MartinP Date: Thu, 30 Aug 2018 17:03:41 +1000 Subject: [PATCH 05/34] Update fail2ban.markdown (#6104) * Update fail2ban.markdown Updated using more consistent paths for the filter and jail configuration. Added additional checks to help confirm everything working as expected. Added steps to unblock an IP address. Updated jail conf file includes email alerts. Removed the syslog section, this step is not required for fail2ban thus optional and only required if you want HA logs to be sent to syslog, should be covered by another page. * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown --- source/_cookbook/fail2ban.markdown | 169 +++++++++++++++++++---------- 1 file changed, 109 insertions(+), 60 deletions(-) diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown index 505fad6272d..a7e5d64b573 100644 --- a/source/_cookbook/fail2ban.markdown +++ b/source/_cookbook/fail2ban.markdown @@ -2,7 +2,7 @@ layout: page title: "fail2ban" description: "Setting up fail2ban to read Home Assistant's log files to improve security." -date: 2017-05-24 10:05 +date: 2018-08-29 15:30 AEST sidebar: true comments: false sharing: true @@ -10,12 +10,29 @@ footer: true ha_category: Infrastructure --- -This is a quick guide on how to setup fail2ban for Home Assistant. This was originally in the [forum](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892) but I created this here for people. +This is a quick guide on how to setup fail2ban for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). -First install `fail2ban`. On Debian/Ubuntu this would be `apt-get install fail2ban`. On other distros you can google it. +**Installing fail2ban** -Then make sure logging is enabled in your `configuration.yaml` file for your Home Assistant instance: +Debian/Ubuntu: +```bash +sudo apt-get install fail2ban +``` +CentOS/RHEL: +```bash +sudo yum install epel-release +sudo yum install -y fail2ban +``` +Fedora: +```bash +sudo dnf install -y fail2ban +``` +For other package managers use the appropriate commands. + +**Enable Home Assistant Logging** + +First, enable http.ban logging in `configuration.yaml` file for your Home Assistant instance: ```yaml logger: default: critical @@ -23,82 +40,114 @@ logger: homeassistant.components.http.ban: warning ``` -Next we will be creating these three files : - -- `/etc/fail2ban/fail2ban.local` -- `/etc/fail2ban/filter.d/hass.local` -- `/etc/fail2ban/jail.local` - -Contents of `/etc/fail2ban/fail2ban.local`: - -```text -[Definition] -logtarget = SYSLOG +Restart Home Assistant to activate the changes: +```bash +sudo systemctl restart home-assistant ``` -Contents of `/etc/fail2ban/filter.d/hass.local`: +Tail the Home Assistant log then log out of the Home Assistant web interface and attempt logging in with an incorrect password, look for a line like `Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx`: +```bash +tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING +2018-08-29 14:28:15 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx +``` -```text +**Configure fail2ban** + +Next we will create a filter and jail file for fail2ban: +- `/etc/fail2ban/filter.d/ha.conf` +- `/etc/fail2ban/jail.d/ha.conf` + +Contents of `/etc/fail2ban/filter.d/ha.conf`: +```ini [INCLUDES] before = common.conf [Definition] failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentication from .*$ - ignoreregex = ``` -Contents of `/etc/fail2ban/jail.local` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +Contents of `/etc/fail2ban/jail.d/ha.conf` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +```ini +[DEFAULT] +# Email config +sender = email@address.com +destemail = email@address.com -```text -[hass-iptables] +# Action "%(action_mwl)s" will ban the IP and send an email notification including whois data and log entries. +action = %(action_mwl)s + +[ha] enabled = true -filter = hass -action = iptables-allports[name=HASS] +filter = ha logpath = /home/homeassistant/.homeassistant/home-assistant.log -maxretry = 5 + +# 3600 seconds = 1 hour +bantime = 3600 +bantime = 30 # during testing it is useful to have a short ban interval, comment out this line later + +# Maximum amount of login attempts before IP is blocked +maxretry = 3 ``` -Finally restart fail2ban : `sudo systemctl restart fail2ban` - -Check your log to make sure it read in your settings : `tail -100 /var/log/syslog|grep fail` - -If all is well you should see this from your syslog: - +Restart fail2ban: ```bash -May 24 20:58:01 homeauto fail2ban.server[14997]: INFO Stopping all jails -May 24 20:58:02 homeauto fail2ban.jail[14997]: INFO Jail 'sshd' stopped -May 24 20:58:02 homeauto fail2ban-client[15206]: Shutdown successful -May 24 20:58:02 homeauto fail2ban.server[14997]: INFO Exiting Fail2ban -May 24 20:58:02 homeauto fail2ban-client[15213]: 2017-05-24 20:58:02,342 fail2ban.server [15215]: INFO Starting Fail2ban v0.9.6 -May 24 20:58:02 homeauto fail2ban-client[15213]: 2017-05-24 20:58:02,343 fail2ban.server [15215]: INFO Starting in daemon mode -May 24 20:58:02 homeauto fail2ban.server[15217]: INFO Changed logging target to SYSLOG (/dev/log) for Fail2ban v0.9.6 -May 24 20:58:02 homeauto fail2ban.database[15217]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Creating new jail 'sshd' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'sshd' uses pyinotify {} -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Initiated 'pyinotify' backend -May 24 20:58:02 homeauto fail2ban.actions[15217]: INFO Set banTime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set findtime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxRetry = 5 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Added logfile = /var/log/auth.log -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set jail log file encoding to UTF-8 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxlines = 10 -May 24 20:58:02 homeauto fail2ban.server[15217]: INFO Jail sshd is not a JournalFilter instance -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Creating new jail 'hass-iptables' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'hass-iptables' uses pyinotify {} -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Initiated 'pyinotify' backend -May 24 20:58:02 homeauto fail2ban.actions[15217]: INFO Set banTime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set findtime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxRetry = 5 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Added logfile = /opt/hass-prod-cfg/home-assistant.log -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set jail log file encoding to UTF-8 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Date pattern set to `'^%y-%m-%d %H:%M:%S'`: `^Year2-Month-Day 24hour:Minute:Second` -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'sshd' started -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'hass-iptables' started +sudo systemctl restart fail2ban ``` -That's it! +Confirm fail2ban is running: +```bash +sudo systemctl status fail2ban +``` +Check that the ha jail is active: +```bash +sudo fail2ban-client status +Status +|- Number of jail: 1 +`- Jail list: ha +``` + +**Testing fail2ban** + +Tail the fail2ban log file then log out of the Home Assistant web interface and attempt to log in again with an incorrect password. +```bash +sudo tail -f -n 20 /var/log/fail2ban.log +2018-08-29 13:25:37,907 fail2ban.server [10208]: INFO Starting Fail2ban v0.10.3.fix1 +2018-08-29 13:25:37,916 fail2ban.database [10208]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' +2018-08-29 13:25:37,918 fail2ban.jail [10208]: INFO Creating new jail 'ha' +2018-08-29 13:25:37,922 fail2ban.jail [10208]: INFO Jail 'ha' uses poller {} +2018-08-29 13:25:37,922 fail2ban.jail [10208]: INFO Initiated 'polling' backend +2018-08-29 13:25:37,932 fail2ban.filter [10208]: INFO Added logfile: '/home/homeassistant/.homeassistant/home-assistant.log' (pos = 5873, hash = 02ec3aefc005465a6cd8db91eff2d5e57c45757e) +2018-08-29 13:25:37,932 fail2ban.filter [10208]: INFO encoding: UTF-8 +2018-08-29 13:25:37,933 fail2ban.filter [10208]: INFO maxRetry: 3 +2018-08-29 13:25:37,934 fail2ban.filter [10208]: INFO findtime: 600 +2018-08-29 13:25:37,934 fail2ban.actions [10208]: INFO banTime: 30 +2018-08-29 13:25:37,938 fail2ban.jail [10208]: INFO Jail 'ha' started +2018-08-29 13:27:49,125 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:48 +2018-08-29 13:27:51,330 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:51 +2018-08-29 13:27:52,533 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:52 +2018-08-29 13:27:52,678 fail2ban.actions [10208]: NOTICE [ha] Ban xxx.xxx.xxx.xxx +2018-08-29 13:28:23,941 fail2ban.actions [10208]: NOTICE [ha] Unban xxx.xxx.xxx.xxx +``` + +Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like, I used 8 hours which is 28800 seconds: +```bash +sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf +sudo systemctl enable fail2ban +sudo systemctl restart fail2ban +``` + +A final note, if you need to unban an IP it can be done with fail2ban-client: +```bash +sudo fail2ban-client set JAILNAME unbanip IPADDRESS +``` +eg: +```bash +sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx +``` + +Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with whois details about the IP address that attempted to connect, if not you will need configure postfix or another MTA (Mail Transport Agent). If you want to read more about fail2ban, some links are below: - [fail2ban Split config](http://www.fail2ban.org/wiki/index.php/FEATURE_Split_config) From 5108fcc19d3c93f4bb6e4756d4d2c65c92a82744 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 30 Aug 2018 10:00:35 +0200 Subject: [PATCH 06/34] Fix style issues (#6114) --- source/_cookbook/fail2ban.markdown | 67 +++++++++++++++++++----------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown index a7e5d64b573..d5c5275a1c7 100644 --- a/source/_cookbook/fail2ban.markdown +++ b/source/_cookbook/fail2ban.markdown @@ -10,29 +10,34 @@ footer: true ha_category: Infrastructure --- -This is a quick guide on how to setup fail2ban for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). +This is a quick guide on how to set up `fail2ban` for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). -**Installing fail2ban** +## {% linkable_title Installing fail2ban %} Debian/Ubuntu: + ```bash -sudo apt-get install fail2ban +$ sudo apt-get install fail2ban ``` + CentOS/RHEL: + ```bash -sudo yum install epel-release -sudo yum install -y fail2ban +$ sudo yum install epel-release +$ sudo yum install -y fail2ban ``` Fedora: + ```bash -sudo dnf install -y fail2ban +$ sudo dnf install -y fail2ban ``` For other package managers use the appropriate commands. -**Enable Home Assistant Logging** +## {% linkable_title Enable Home Assistant Logging %} + +First, enable `http.ban` logging in `configuration.yaml` file for your Home Assistant instance: -First, enable http.ban logging in `configuration.yaml` file for your Home Assistant instance: ```yaml logger: default: critical @@ -41,23 +46,27 @@ logger: ``` Restart Home Assistant to activate the changes: + ```bash -sudo systemctl restart home-assistant +$ sudo systemctl restart home-assistant ``` Tail the Home Assistant log then log out of the Home Assistant web interface and attempt logging in with an incorrect password, look for a line like `Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx`: + ```bash -tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING +$ tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING 2018-08-29 14:28:15 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx ``` -**Configure fail2ban** +## {% linkable_title Configure fail2ban %} + +Next we will create a filter and jail file for `fail2ban`: -Next we will create a filter and jail file for fail2ban: - `/etc/fail2ban/filter.d/ha.conf` - `/etc/fail2ban/jail.d/ha.conf` Contents of `/etc/fail2ban/filter.d/ha.conf`: + ```ini [INCLUDES] before = common.conf @@ -67,7 +76,8 @@ failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentica ignoreregex = ``` -Contents of `/etc/fail2ban/jail.d/ha.conf` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +Contents of `/etc/fail2ban/jail.d/ha.conf`. Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.: + ```ini [DEFAULT] # Email config @@ -90,17 +100,20 @@ bantime = 30 # during testing it is useful to have a short ban interval, comment maxretry = 3 ``` -Restart fail2ban: +Restart `fail2ban`: + ```bash sudo systemctl restart fail2ban ``` -Confirm fail2ban is running: +Confirm `fail2ban` is running: + ```bash sudo systemctl status fail2ban ``` Check that the ha jail is active: + ```bash sudo fail2ban-client status Status @@ -108,7 +121,7 @@ Status `- Jail list: ha ``` -**Testing fail2ban** +## {% linkable_title Testing fail2ban %} Tail the fail2ban log file then log out of the Home Assistant web interface and attempt to log in again with an incorrect password. ```bash @@ -131,24 +144,28 @@ sudo tail -f -n 20 /var/log/fail2ban.log 2018-08-29 13:28:23,941 fail2ban.actions [10208]: NOTICE [ha] Unban xxx.xxx.xxx.xxx ``` -Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like, I used 8 hours which is 28800 seconds: +Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like. 8 hours is 28800 seconds. + ```bash -sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf -sudo systemctl enable fail2ban -sudo systemctl restart fail2ban +$ sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf +$ sudo systemctl enable fail2ban +$ sudo systemctl restart fail2ban ``` -A final note, if you need to unban an IP it can be done with fail2ban-client: +A final note, if you need to unban an IP it can be done with `fail2ban-client`: + ```bash -sudo fail2ban-client set JAILNAME unbanip IPADDRESS +$ sudo fail2ban-client set JAILNAME unbanip IPADDRESS ``` eg: + ```bash -sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx +$ sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx ``` -Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with whois details about the IP address that attempted to connect, if not you will need configure postfix or another MTA (Mail Transport Agent). +Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent). + +If you want to read more about `fail2ban`, some links are below: -If you want to read more about fail2ban, some links are below: - [fail2ban Split config](http://www.fail2ban.org/wiki/index.php/FEATURE_Split_config) - [How To Protect SSH with Fail2Ban on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-14-04) From 55be4864a7355c97eec2ee0cda6dc9e23b8b1da5 Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Thu, 30 Aug 2018 01:01:09 -0700 Subject: [PATCH 07/34] Small correction from home to base (#6112) --- source/_components/vacuum.neato.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index 48a31aa24c9..51cf2cc1d81 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -24,5 +24,5 @@ Currently supported features are: - `start` - `pause` - `stop` -- `return_to_home` +- `return_to_base` - `locate` From 5839ed2002e0ac6d4f6c69c65db08ffe38eb01df Mon Sep 17 00:00:00 2001 From: mh-daedalus <32991541+mh-daedalus@users.noreply.github.com> Date: Thu, 30 Aug 2018 18:02:10 +1000 Subject: [PATCH 08/34] Update incorrect service return call (#6111) The vacuum service return_to_home should be return_to_base as listed in the services tool. Users using return_to_home will result in the service failing. --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index c2fdfde0253..3adcbc43c45 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -20,7 +20,7 @@ Currently supported features are: - `start` - `pause` - `stop` -- `return_to_home` +- `return_to_base` - `locate` - `clean_spot` - `set_fan_speed` From 0fef498baf5f5ff5e26396a6ee0dbf69838cd25f Mon Sep 17 00:00:00 2001 From: Rudi Middel Date: Thu, 30 Aug 2018 15:22:15 +0200 Subject: [PATCH 09/34] Activation of the notifications (#6115) Changed the place where notifications can be activated (update since 0.77) --- source/_components/notify.html5.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 36dd74067e6..57e6ce10e38 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -72,7 +72,7 @@ The `html5` platform can only function if all of the following requirements are Assuming you have already added the platform to your configuration: 1. Open Home Assistant in Chrome or Firefox. -2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider for Push Notifications through the sidebar Configuration > General. +2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider for Push Notifications through the profile page Profile > Push notifications. 3. Slide it to the on position. 4. Within a few seconds you should be prompted to allow notifications from Home Assistant. 5. Assuming you accept, that's all there is to it! From 135a11cb2a1067d206b01603e99d314fb36ae230 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Fri, 31 Aug 2018 07:40:47 +0200 Subject: [PATCH 10/34] Update sensor.fritzbox_callmonitor.markdown (#6122) data: is wrong here. -> data_template: --- source/_components/sensor.fritzbox_callmonitor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.fritzbox_callmonitor.markdown b/source/_components/sensor.fritzbox_callmonitor.markdown index 6e50df044b1..013a8af18ec 100644 --- a/source/_components/sensor.fritzbox_callmonitor.markdown +++ b/source/_components/sensor.fritzbox_callmonitor.markdown @@ -84,7 +84,7 @@ automation: entity_id: sensor.phone action: - service: notify.notify - data: + data_template: title: "Phone" message: >- {% if is_state("sensor.phone", "idle") %} From 4813bf8039f655f8188b453161f2efe3b70ff5da Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Fri, 31 Aug 2018 01:47:14 -0400 Subject: [PATCH 11/34] Remove info on creating an api_password (#6120) --- source/_docs/configuration/basic.markdown | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 2c085217a6c..f862052b3cf 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -36,20 +36,4 @@ Configuration variables: - **customize** (*Optional*): [Customize](/docs/configuration/customizing-devices/) entities. - **customize_domain** (*Optional*): [Customize](/docs/configuration/customizing-devices/) all entities in a domain. - **customize_glob** (*Optional*): [Customize](/docs/configuration/customizing-devices/) entities matching a pattern. -- **whitelist_external_dirs** (*Optional*): List of folders that can be used as sources for sending files. - -### {% linkable_title Password protecting the web interface %} - -First, you'll want to add a password for the Home Assistant web interface. Use your favorite text editor to open `configuration.yaml` and edit the `http` section: - -```yaml -http: - api_password: YOUR_PASSWORD -``` - -

-If you decide to expose your Home Assistant instance to the internet and forget to set a password, your installation could be accessed by everybody. -

- -See the [HTTP component documentation](/components/http/) for more options, such as the use of HTTPS encryption. - +- **whitelist_external_dirs** (*Optional*): List of folders that can be used as sources for sending files. \ No newline at end of file From c9e8f61edeb5d4f1bf7d57bef9ae372782759e2b Mon Sep 17 00:00:00 2001 From: Matt Caminiti Date: Fri, 31 Aug 2018 00:48:00 -0500 Subject: [PATCH 12/34] Create configuration_yaml_by_mcaminiti.markdown (#6119) --- .../configuration_yaml_by_mcaminiti.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_mcaminiti.markdown diff --git a/source/_cookbook/configuration_yaml_by_mcaminiti.markdown b/source/_cookbook/configuration_yaml_by_mcaminiti.markdown new file mode 100644 index 00000000000..007a785d36c --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_mcaminiti.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Configuration.yaml by mcaminiti" +description: "" +date: 2018-08-30 09:51 +0700 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/mcaminiti/homeassistant +--- From 4fafc660f5c33c8747bcaca009a43b20b6fe399f Mon Sep 17 00:00:00 2001 From: Jerad Meisner Date: Thu, 30 Aug 2018 22:48:53 -0700 Subject: [PATCH 13/34] Add default_zoom to map card docs. (#6113) --- source/_lovelace/map.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_lovelace/map.markdown b/source/_lovelace/map.markdown index 503d4ee0bb7..6f8f81b1a0a 100644 --- a/source/_lovelace/map.markdown +++ b/source/_lovelace/map.markdown @@ -40,17 +40,29 @@ aspect_ratio: description: "The map's height:width ratio." type: string default: "100%" +default_zoom: + required: false + description: The default zoom level of the map. + type: integer + default: 14 (or whatever zoom level is required to fit all visible markers) {% endconfiguration %}

Only entities that have latitude and longitude attributes will be displayed on the map.

+

+ The `default_zoom` value will be ignored if it is set higher than the current zoom level + after fitting all visible entity markers in the map window. In other words, this can only + be used to zoom the map _out_ by default. +

+ ## {% linkable_title Examples %} ```yaml - type: map aspect_ratio: 100% + default_zoom: 8 entities: - device_tracker.demo_paulus - zone.home From f1dbbbe0a019837fefcad5d520bfa622e5f26e99 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 31 Aug 2018 13:40:17 +0200 Subject: [PATCH 14/34] Version bump to 0.77.2 --- _config.yml | 6 +++--- source/_posts/2018-08-29-release-77.markdown | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 6aaba3a71e1..e56a21fade4 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 77 -current_patch_version: 1 -date_released: 2018-08-29 +current_patch_version: 2 +date_released: 2018-08-31 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#release-0771---august-29" +patch_version_notes: "#release-0772---august-31" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index f0c708d0b32..84b3c8906d6 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -61,6 +61,26 @@ You didn't think we would forget about Lovelace, did you? This release include a [binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/ [vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/ +## {% linkable_title Release 0.77.2 - August 31 %} + +- Correct wemo static device discovery issue. ([@lamiskin] - [#16292]) ([wemo docs]) +- Fix LIFX effects ([@amelchio] - [#16309]) ([light.lifx docs]) +- avoid error in debug log mode and rss entry without title ([@exxamalte] - [#16316]) ([feedreader docs]) +- Fix charts for climate devices ([@jeradM]) +- Fix header in Lovelace Glance cards ([@balloob]) +- Fix Profile page on Safari ([@balloob]) +- Fix redirect to login page on offline server ([@balloob]) + +[#16292]: https://github.com/home-assistant/home-assistant/pull/16292 +[#16309]: https://github.com/home-assistant/home-assistant/pull/16309 +[#16316]: https://github.com/home-assistant/home-assistant/pull/16316 +[@amelchio]: https://github.com/amelchio +[@exxamalte]: https://github.com/exxamalte +[@lamiskin]: https://github.com/lamiskin +[feedreader docs]: /components/feedreader/ +[light.lifx docs]: /components/light.lifx/ +[wemo docs]: /components/wemo/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 5959f92e90472ee4febc7f3f1a3f3554cf28dc29 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 31 Aug 2018 21:17:31 +0100 Subject: [PATCH 15/34] Adding troubleshooting section (#6124) We've had a *lot* of questions about how to wipe and start again, so adding a section on that --- source/_docs/authentication.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown index bb575db1b7e..7bae172053b 100644 --- a/source/_docs/authentication.markdown +++ b/source/_docs/authentication.markdown @@ -37,3 +37,15 @@ Once you're logged in, you can access the profile page by clicking on the badge As a user, you can setup multi-factor authentication with time-based one-time passwords. This is an extra challenge that you have to solve after you finish your login. You will be able to set up these challenges from the profile page once you're logged in. Screenshot of setting up multi-factor authentication + +## {% linkable_title Troubleshooting %} + +### {% linkable_title Lost owner password %} + +While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](https://www.home-assistant.io/docs/configuration/): + +* `auth` +* `auth_provider.homeassistant` +* `onboarding` + +When you start Home Assistant next you'll be required to set up authentication again. From e062675eb9b8f574578591f8200cfed93e68ec39 Mon Sep 17 00:00:00 2001 From: Brian J King Date: Fri, 31 Aug 2018 20:23:57 -0500 Subject: [PATCH 16/34] Standardization & clarity changes for Google Hangouts component (#6129) * Standardize capitalization of Google Hangouts *(not Google hangouts or google hangouts)* * Standardize use of authentication when referring to 2 factor authentication, not *authorization* * Miscellaneous other changes for formatting and clarity. --- source/_components/hangouts.markdown | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown index 5400f81ecd0..8bc8948b600 100644 --- a/source/_components/hangouts.markdown +++ b/source/_components/hangouts.markdown @@ -12,21 +12,21 @@ ha_category: Hub ha_release: 0.77 --- -This component allows you to send messages to [Google Hangouts](http://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. +This component allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. ## {% linkable_title Setup the component via the frontend %} Menu: *Configuration* -> *Integrations* -Fill the form: -* Your **Google Mail Address** and **Password** -* If needed, you will be asked for a 2-factor authorization token +Configure the integration: +* Enter your **Google Mail Address** and **Password** +* If you secured your account with 2-factor authentication you will be asked for a 2-factor authentication token. -**BEST PRACTICE:** You can't write messages to yourself or get notifications in a group, if "you" write the message. The best way is to create a own google account for your hangouts bot. +**BEST PRACTICE:** You can't write messages to yourself or get notifications in a group, if "you" write the message. The best way is to create a new Google Hangouts account for this integration. -**IMPORTANT:** If you secured your account with 2 factor authorization: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. +**IMPORTANT:** If you secured your account with 2-factor authentication: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. -**IMPORTANT 2:** If you are sure your email and password is correct, but the component says the login is invalid. Wait a few hours and try it again, it might be, that google asks for a captcha which we can't support. Google official don't support bots at hangouts, that's why we have to work around this. +**IMPORTANT 2:** If you are sure your email and password is correct, but the component says the login is invalid. Wait a few hours and try it again, it might be, that google asks for a captcha which we can't support. Google does not provide official support for using bots with Google Hangouts, that's why we have to work around this. The authentication token will be generated and stored internally. From 8d9c2e9261a788a9f813a64b2f8de601ee2159b7 Mon Sep 17 00:00:00 2001 From: Marco Sousa Date: Sat, 1 Sep 2018 10:47:57 +0200 Subject: [PATCH 17/34] new changelog in lovelance (#6126) --- source/lovelace/changelog.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index e32dbaf0bcf..39bc13598b8 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -2,12 +2,14 @@ layout: page title: "Lovelace Changelog" description: "Changelog of the Lovelace UI." -date: 2018-07-01 10:28 +00:00 +date: 2018-08-31 13:06 +02:00 sidebar: true comments: false sharing: true footer: true --- +## {% linkable_title Changes in 0.77.0 %} +- 📣 New notification drawer ❤️ ## {% linkable_title Changes in 0.75.0 %} From 8beb463c82f39c11060f4f6df5df9d3f8fed3bf6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:04:55 +0200 Subject: [PATCH 18/34] Minor fix --- source/_components/binary_sensor.random.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index b1208681a8a..ac08186a313 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -18,7 +18,7 @@ The `random` binary sensor platform is creating random states (`True`, 1, `on` o ## {% linkable_title Configuration %} -To enable the random binary sensor, add the following lines to your `configuration.yaml`: +To enable the random binary sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From 903483c2d4e963ca76022f1b777dedd3cc313942 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:06:13 +0200 Subject: [PATCH 19/34] Add title --- source/_components/sensor.dht.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown index 1898ab35d4f..65a16633bda 100644 --- a/source/_components/sensor.dht.markdown +++ b/source/_components/sensor.dht.markdown @@ -14,7 +14,9 @@ ha_iot_class: "Local Polling" --- -The `dht` sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device. +The `dht` sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22 or AM2302 device. + +## {% linkable_title Configuration %} To use your DHTxx sensor in your installation, add the following to your `configuration.yaml` file: From 44cf07117e053876a6bc2b124eb89b8347bd427d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:07:34 +0200 Subject: [PATCH 20/34] Add title --- source/_components/sensor.bme680.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index 05d42769c1b..d2496dd8a33 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -14,12 +14,14 @@ ha_iot_class: "Local Push" --- -The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement. +The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement. Tested devices: - [Raspberry Pi](https://www.raspberrypi.org/) +## {% linkable_title Configuration %} + To use your BME680 sensor in your installation, add the following to your `configuration.yaml` file: ```yaml From c45ead8a010afb85840f71a29b55dd10bac5ea2d Mon Sep 17 00:00:00 2001 From: plyblu Date: Sat, 1 Sep 2018 04:07:57 -0500 Subject: [PATCH 21/34] Update multi-factor-auth.markdown (#6128) * Update multi-factor-auth.markdown improve spelling and grammar * Minor changes --- .../authentication/multi-factor-auth.markdown | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index fd229645c24..90d51fe8f78 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -16,9 +16,9 @@ This is an advanced feature. If misconfigured, you will not be able to access Ho Besides the authentication providers, it's also possible to configure multi-factor authentication modules. These authentication modules will require the user to solve a second challenge besides just logging in. The idea is that you ask the user for something they know, their username/password, and something they have, like a time-based authentication token from their phone. -Multi-factor authentication module can be used mixed-match with authentication providers. After normal authentication provider validation, the login flow will ask user for addional challenge if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module enabled, user can select one of them during the login. +The multi-factor authentication module can be used mixed-matched with authentication providers. After the normal authentication provider validation, the login flow will ask the user for additional challenge(s) if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module is enabled, the user can select one of them during the login. -Multi-factor authentication module has to be enabled for user before it can be used in the login process, user can go to profile page enable it by himself. +The multi-factor authentication module has to be enabled for the user before it can be used in the login process. The user can go to the profile page enable it by himself. ## {% linkable_title Configuring mutli-factor authentication modules %} @@ -26,7 +26,7 @@ Multi-factor authentication module has to be enabled for user before it can be u By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system.

-Multi-factor authentication modules are configured in your `configuration.yaml` under the `homeassistant:` block: +Multi-factor authentication modules are configured in your `configuration.yaml` file under the `homeassistant:` block: ```yaml homeassistant: @@ -36,27 +36,26 @@ homeassistant: ## {% linkable_title Available mutli-factor authentication modules %} -Below is a list of currently available auth providers. +Below is a list of the currently available auth providers. ### {% linkable_title Time-based One-Time Password mutli-factor authentication module %} [Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key. -When try to set up TOTP module, a QR code will show up, user can scan it by an authenticator app, or set it up manauly using the code showed in UI. After setup, user need to input a six digit number generate in the autendicator app to verify the setup is good. If the verificaiton keep falling, you need to check whether the clock on Home Asistant is accurate. +When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the autendicator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate. -There are several authenctior apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/) +There are several authenticator apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/).

-Please treat the secret key like a password, never exposure it to others. +Please treat the secret key like a password, never expose it to others.

+By default, one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` configuration section defined in the `configuration.yaml` file. -By default one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` config section defined in `configuration.yaml`. - -Example of configuration +Example of configuration: ```yaml homeassistant: auth_mfa_modules: - type: totp -``` \ No newline at end of file +``` From 9d7a1dfbb1a67619a130cc63b5f095e313756033 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 1 Sep 2018 11:08:09 +0200 Subject: [PATCH 22/34] Appdaemon example for deCONZ to control Sonos (#6133) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * deCONZ - Appdaemon example control Sonos Appdaemon example on how to control a Sonos system using an Ikea Trådfri remote * Minor changes --- source/_components/deconz.markdown | 62 +++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index ae079650aef..0026d0b7f86 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -118,9 +118,9 @@ For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is le ## {% linkable_title Examples %} -### {% linkable_title Step up and step down input number with wireless dimmer %} +### {% linkable_title YAML %} -#### YAML +#### {% linkable_title Step up and step down input number with wireless dimmer %} {% raw %} ```yaml @@ -171,15 +171,17 @@ automation: ``` {% endraw %} -#### Appdaemon +### {% linkable_title Appdaemon %} + +#### {% linkable_title Appdaemon remote template %} {% raw %} ```yaml -remote_control_living_room: +remote_control: module: remote_control class: RemoteControl event: deconz_event - id: dimmer_switch_3 + id: dimmer_switch_1 ``` ```python @@ -204,3 +206,53 @@ class RemoteControl(hass.Hass): self.log('Button off') ``` {% endraw %} + +#### {% linkable_title Appdaemon remote template %} + +Community app from Teachingbirds. This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. + +{% raw %} +```yaml +sonos_remote_control: + module: sonos_remote + class: SonosRemote + event: deconz_event + id: sonos_remote + sonos: media_player.sonos +``` +{% endraw %} + +{% raw %} +```python +import appdaemon.plugins.hass.hassapi as hass + +class SonosRemote(hass.Hass): + + def initialize(self): + self.sonos = self.args['sonos'] + if 'event' in self.args: + self.listen_event(self.handle_event, self.args['event']) + + def handle_event(self, event_name, data, kwargs): + if data['id'] == self.args['id']: + if data['event'] == 1002: + self.log('Button toggle') + self.call_service("media_player/media_play_pause", entity_id = self.sonos) + + elif data['event'] == 2002: + self.log('Button volume up') + self.call_service("media_player/volume_up", entity_id = self.sonos) + + elif data['event'] == 3002: + self.log('Button volume down') + self.call_service("media_player/volume_down", entity_id = self.sonos) + + elif data['event'] == 4002: + self.log('Button previous') + self.call_service("media_player/media_previous_track", entity_id = self.sonos) + + elif data['event'] == 5002: + self.log('Button next') + self.call_service("media_player/media_next_track", entity_id = self.sonos) +``` +{% endraw %} From 82e8d05a8e8cb73c36d9ffec49845144885d2879 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:10:30 +0200 Subject: [PATCH 23/34] Add titles --- source/_components/sensor.noaa_tides.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/sensor.noaa_tides.markdown b/source/_components/sensor.noaa_tides.markdown index fca7249529b..2ae7a6875fc 100644 --- a/source/_components/sensor.noaa_tides.markdown +++ b/source/_components/sensor.noaa_tides.markdown @@ -14,8 +14,12 @@ logo: noaa.png The `noaa_tides` sensor platform uses details from [NOAA Tides and Currents](https://tidesandcurrents.noaa.gov/api/) to provide information about the prediction for the tides for any location in the United States. +## {% linkable_title Setup %} + This sensor requires the use of a NOAA station ID. Search [NOAA Tide Predictions](https://tidesandcurrents.noaa.gov/tide_predictions.html) to find a location. Use the ID from the search results in your configuration. Alternatively, you can determine a station ID from a URL. For example, `8721164` in the following URL: `https://tidesandcurrents.noaa.gov/noaatidepredictions.html?id=8721164` +## {% linkable_title Configuration %} + To use this sensor, add the following to your `configuration.yaml` file: ```yaml From 61297bd4080ce60ae4d7fe5471a2c57a8aea3b50 Mon Sep 17 00:00:00 2001 From: ajobbins <5669088+ajobbins@users.noreply.github.com> Date: Sat, 1 Sep 2018 19:14:24 +1000 Subject: [PATCH 24/34] Update sensor.google_travel_time.markdown (#6125) * Update sensor.google_travel_time.markdown Google have removed the previous daily free API limit, instead requiring a billing account to be set up. Including details on limits and quotas and how to set them. * Update sensor.google_travel_time.markdown Updates as requested in feedback. Thanks * Minor changes * Again --- .../sensor.google_travel_time.markdown | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/source/_components/sensor.google_travel_time.markdown b/source/_components/sensor.google_travel_time.markdown index 4fb24f39d07..92046fd4a62 100644 --- a/source/_components/sensor.google_travel_time.markdown +++ b/source/_components/sensor.google_travel_time.markdown @@ -13,11 +13,19 @@ ha_iot_class: "Cloud Polling" ha_release: 0.19 --- -Sensor to provide travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/). +The `google_travel_time` sensor provides travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/). + +## {% linkable_title Setup %} You need to register for an API key by following the instructions [here](https://github.com/googlemaps/google-maps-services-python#api-keys). You only need to turn on the Distance Matrix API. -A free API Key allows 2500 requests per day. The sensor will update the travel time every 5 minutes. +[Google now require billing](https://mapsplatform.googleblog.com/2018/05/introducing-google-maps-platform.html) to be enabled (and a valid credit card loaded) to access Google Maps APIs. The Distance Matrix API is billed at US$10 per 1000 requests, however a US$200 per month credit is applied (20,000 requests). By default, the sensor will update the travel time every 5 minutes, making approximately 288 calls per day. Note that at this rate, more than 2 sensors will likely exceed the free credit amount. If you need to run more than 2 sensors, consider changing the [scan interval](/docs/configuration/platform_options/#scan-interval) to something longer than 5 minutes to stay within the free credit limit. + +A quota can be set against the API to avoid exceeding the free credit amount. Set the 'Elements per day' to a limit of 645 or less. Details on how to configure a quota can be found [here](https://developers.google.com/maps/documentation/distance-matrix/usage-and-billing#set-caps) + +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example entry for configuration.yaml @@ -40,9 +48,9 @@ Configuration variables: - **arrival_time** (*Optional*): See notes above for `departure_time`. `arrival_time` can not be `now`, only a Unix timestamp or time string. You can not provide both `departure_time` and `arrival_time`. If you do provide both, `arrival_time` will be removed from the request. - **units** (*Optional*): Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`. -##### {% linkable_title Dynamic Configuration %} +## {% linkable_title Dynamic Configuration %} -Tracking can be setup to track entities of type device_tracker, zone, and sensor. If an entity is placed in the origin or destination then every 5 minutes when the component updates it will use the latest location of that entity. +Tracking can be setup to track entities of type `device_tracker`, `zone` and `sensor`. If an entity is placed in the origin or destination then every 5 minutes when the platform updates it will use the latest location of that entity. ```yaml # Example entry for configuration.yaml @@ -67,10 +75,9 @@ sensor: destination: zone.home options: units: imperial # 'metric' for Metric, 'imperial' for Imperial - ``` -#### {% linkable_title Entity Tracking %} +## {% linkable_title Entity Tracking %} - **device_tracker** - If state is a zone then the zone location will be used From 4c7144c0edac395393086d385e10c1f01b7badab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:19:42 +0200 Subject: [PATCH 25/34] Add link --- source/_components/deconz.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index 0026d0b7f86..211e683fe15 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -31,7 +31,7 @@ Home Assistant will automatically discover deCONZ presence on your network, if ` If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry. -You can add the following to your configuration.yaml file if you are not using the `discovery:` component: +You can add the following to your `configuration.yaml` file if you are not using the `discovery:` component: ```yaml # Example configuration.yaml entry @@ -209,7 +209,7 @@ class RemoteControl(hass.Hass): #### {% linkable_title Appdaemon remote template %} -Community app from Teachingbirds. This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. +Community app from [Teachingbirds](https://community.home-assistant.io/u/teachingbirds/summary). This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. {% raw %} ```yaml From b65b5c734199bd5709a336be218ea80c88c0014d Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 1 Sep 2018 22:05:16 +0100 Subject: [PATCH 26/34] Added details about console access (#6140) Since there's nothing in the docs about the console access, and it's a common question, adding it here. --- source/hassio/commandline.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/hassio/commandline.markdown b/source/hassio/commandline.markdown index 61fefdd1877..a37177f832f 100644 --- a/source/hassio/commandline.markdown +++ b/source/hassio/commandline.markdown @@ -89,3 +89,7 @@ GLOBAL OPTIONS: --help, -h show help --version, -v print the version ``` + +## {% linkable_title Console access %} + +You can also access HassOS via a directly connected keyboard and monitor, the console. To log in to the physical console the username is `root`, with no password. From 4dbdb4fb183ddc123c6589b6c6a7ce594893efbc Mon Sep 17 00:00:00 2001 From: smallship <3186037+smallship@users.noreply.github.com> Date: Sat, 1 Sep 2018 22:06:12 +0100 Subject: [PATCH 27/34] Explicitly list available train attributes (#6139) * Explicitly list the available train attributes * A bit more detail on train attributes --- source/_components/sensor.uk_transport.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.uk_transport.markdown b/source/_components/sensor.uk_transport.markdown index ccf0c1a5a77..17bebc15dad 100644 --- a/source/_components/sensor.uk_transport.markdown +++ b/source/_components/sensor.uk_transport.markdown @@ -46,7 +46,21 @@ Configuration variables: - **origin** (*Required*): Specify the three character long origin station code. - **destination** (*Required*): Specify the three character long destination station code. -A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform. +A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. + +These attributes are available for each departing train: + +- `origin_name` +- `destination_name` +- `status` +- `scheduled`: (API attribute is `aimed_departure_time`) +- `estimated`: (API attribute is `expected_departure_time`) +- `platform` +- `operator_name` + +Refer to the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json) for definitions. + +Attributes can be accessed using the [template sensor](/components/sensor.template/) as per this example: ```yaml # Example configuration.yaml entry for a template sensor to access the attributes of the next departing train. From a89e5cd754b188407266adf83fee5952f843f6ec Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 1 Sep 2018 22:15:07 +0100 Subject: [PATCH 28/34] Images for the user profile menu (#6136) For updating the frontend docs --- source/images/frontend/user-language.png | Bin 0 -> 3563 bytes source/images/frontend/user-theme.png | Bin 0 -> 4032 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/frontend/user-language.png create mode 100644 source/images/frontend/user-theme.png diff --git a/source/images/frontend/user-language.png b/source/images/frontend/user-language.png new file mode 100644 index 0000000000000000000000000000000000000000..258c6f5ac788c5eb0e94b4f1f950368a0ed81fd1 GIT binary patch literal 3563 zcmbtX`#;nF7k^Vq^F<$RiOMB?(v+fH%3bP%<-Q?v$#MycF3ix3StHgubS#0I zovnC(eKaZf(-Vm1FaX@!hXVa&B64KlPf56$@Ha9rvWK8ybJP?+;Qy6~@~MB$vQ&;1 zutNreTp1pB8=FbS{o^h9w^NLkAKB(!Xp=c|VWc6~5ZgTdHS2qW(LX;sgaWvI@8@TS zOW5o#FWl0n^(g*K@U2_rEOa*)QXIyy}g}K=?|yaVGP?Q+uqC(+(X`1R~wx=efm}wI>aqw$xq#$G}}d4 zRWiZ#%=6ZU)@7hH`?Ny$wZ{k4XCLfUdMC1uTo~d7i+s}yXnjQwUsTV>wFh^XaE5}U zMJq1;Dxo2f-p~M(FaGJ)IK9q^*}XorGZH4zTMUJv+Iw|NJ(ZlvehrMuJZ z)hjhh9VC8mixZ)Fn6KHojaCTP2kS zLSsDTmp4D=o$Pybho38AUE&=wd zZ*N7eT|7cK?o4bb^b1;F9A)(ON+pTF+jXB~-E2`hY!Fs76S6zD*#-ssZd*6#S7TUO zT|Gdy$@<3K0DF)k#}(vpNGbScv5zl$*JoWT&t0FK^Z9AWH;7DRjY|mTQgFwpuJ{y)9F3>Xu=w^+mEmXS`pX zKLb>_O&yvnE$W~@Z|i3Vhvt`Fx!=9lLv~J%ELT;B!)7;YfStlVPW|&WbAcNA4?i^Yb>$WJ=$_RekR2ih`f_`b5{P-A7@A$OK5#6A4G)o*f zPAQP*<~`sJg<(jw`kkzxh0WL*)thzc+;IUD;o&iRDFc~4U%g_7{mv;8Xcpyle2GFuUKD&?5Q)cl<*g97C_Q)J=M>@Mz9RKQgtOvq8J z;B`fT1$|?Q&5&baVP`=4+m+U42O| zh+az#K$Wrx>iQc>Mt z8&$f1i)3vE7{^>}_nwH0O5#DvQrLpExm8^k9Q#Y>o3Yv&avz>|-amf}&C1z%W2-C7 zpB`VO7PGHl0!i$$pZvf5>QFEY9&2H{rBBOkKyTNtv;XD-oI?|Lm@a<;!hz^m^ww!y%>B%TL_@NLkJ{zR&(eC&t}~#!2V= z^V0B%mV9iAWR6iJGtVfpy`iCD_QPJ~u;D{}BqX5fnjNIR-)%NhQ!i|^ zzM4uZ?Y>qU%sS(-^*1g}O2VCy6R>|0JhHiW1%D*|x2BawSrET_N#)(#g~5R9GF=m#Ijni? zhTZ;DgiAkT_*LqgC`4Bh^?-Tr?LDLZf_VdZ9IRQlGHSb`wo++_14_#OsFe|9xcxJn z7p)=bmYky3ldyS8Z`GS86)?I9s3;`l_&#ijmK0^cC_iB-iFeA#Hd_a(^i)GbW0p}h z&+MeTR<#T<{Tk27z{keMy6CQF``@7~aK@WLgN(LtAj=9;)MsdAom6g9V$e1s z-d3Y>IkMy7oyCVL-q1twna)KH$;rs9YExwfcC0bZEbXKl(MhVMKQp_L9?yR~EfgRj zAzwge&yE^E63geW_(?OKW8=oa0iy3Ao-Us0#k*ttW!q(RgUVJrh+FN@Wa)jo{+@7= zx+4VklT}{c0yaM-%X3(A= z+kMH|$w@9IHd+)zUk$fc4S%G*l-UOdouwif?Fm%h;mA?5V_yi)9FMiQ@etG6`8!0I zhlvM;-&X!`Rmf7A#6?`mxF0Pt;_9K3@!t|9rx&=;eef-RZMFEzVj zeZiM;Bi1L<_J>Zks?Kzm=HHh_UnMTS#sYykdR!R6R=ScG2C)^)ZqW0CsDL7)OJ#oEnEW~hRX>0mE*kS zeDijs;Q3z8!L`HvMnbFabe*CqmNp!8ChcMgBO)4xCH}4h2aKlS*tUrm^+y_bLM_jo`xZ z=DZp1q|Wwb&oHjMAeb}gkM3p!yMZb$ww>#=UJo&ev1qx2RRh9yW9piS+I7#;oa74_ z^P*ll%v`D>Ys}+U#hbMGZ$pUwJ5dj*rLE1n8+7Xb8C=l*Leukyc*QSJ3r(V72e7_k KcbRd?JMQ1NO2qvD literal 0 HcmV?d00001 diff --git a/source/images/frontend/user-theme.png b/source/images/frontend/user-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..28dd6248f92b09aff6e03681b8f45bf271e3e42e GIT binary patch literal 4032 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 Date: Sat, 1 Sep 2018 22:15:37 +0100 Subject: [PATCH 29/34] Updated wording and images (#6137) This is to reflect the changes to the UI that got overlooked in the doc updates ;) Image updates in [this PR](https://github.com/home-assistant/home-assistant.io/pull/6136/) --- source/_components/frontend.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/frontend.markdown b/source/_components/frontend.markdown index eb8d14b42b2..9f6ab7ee33b 100644 --- a/source/_components/frontend.markdown +++ b/source/_components/frontend.markdown @@ -112,10 +112,10 @@ automation: ### {% linkable_title Manual Theme Selection %} -When themes are enabled in the `configuration.yaml` file, a new option will show up in the Configuration panel under **General** called "Set a theme." You can then choose any installed theme from the dropdown list and it will be applied immediately. +When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile menu (before 0.77 it was in the Configuration panel under **General** called "Set a theme"). You can then choose any installed theme from the dropdown list and it will be applied immediately.

- + Set a theme

@@ -137,9 +137,9 @@ Those will be loaded via `` on a ### {% linkable_title Manual Language Selection %} -The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select one from "Choose a Language". It will be applied immediately. +The browser language is automatically detected. To use a different language, go to the user profile menu (before 0.77 it was found in **General** in the Configuration panel) and select one. It will be applied immediately.

- + Choose a Language

From 2b822cb9f602a83e7c602722100dc0a3c99196b2 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 1 Sep 2018 22:38:44 +0100 Subject: [PATCH 30/34] Removed automation: line (#6116) One of the examples has two `automation:` lines, which clearly doesn't work. Removed after somebody had issues with it --- source/_components/input_number.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 9f7f65ed956..299543428d4 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -179,9 +179,8 @@ automation: entity_id: input_number.target_temp value: "{{ trigger.payload }}" -# This automation script runs when the target temperature slider is moved. +# This second automation script runs when the target temperature slider is moved. # It publishes its value to the same MQTT topic it is also subscribed to. -automation: - alias: Temp slider moved trigger: platform: state From d815772de4b5e2044cfc3f113019840cf0beb03a Mon Sep 17 00:00:00 2001 From: Brian J King Date: Sat, 1 Sep 2018 16:52:38 -0500 Subject: [PATCH 31/34] General updates for formatting & structure (#6102) * General updates for formatting & structure * Minor change --- source/_cookbook/track_battery_level.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 696742b1c74..902e2e4aaa2 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples ### {% linkable_title iOS Devices %} -If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level. +If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) component is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level. {% raw %} ```yaml From d578cd54f28f3806e3097ce0ca94e8d4f8b70870 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 09:44:15 +0200 Subject: [PATCH 32/34] Update sensor.tibber.markdown (#6145) Corrected category to Energy to match other similar type sensors --- source/_components/sensor.tibber.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.tibber.markdown b/source/_components/sensor.tibber.markdown index 81d11c7ac2b..3e71d8fc2a5 100644 --- a/source/_components/sensor.tibber.markdown +++ b/source/_components/sensor.tibber.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: tibber.png -ha_category: Sensor +ha_category: Energy ha_release: 0.55 ha_iot_class: "Cloud Polling" --- From 8a04b73d40eb9ecfd7c97ed4f6f689975bda77fc Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 09:45:00 +0200 Subject: [PATCH 33/34] Update sensor.systemmonitor.markdown (#6144) --- source/_components/sensor.systemmonitor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.systemmonitor.markdown b/source/_components/sensor.systemmonitor.markdown index 855dca71c04..8f4ee938fea 100644 --- a/source/_components/sensor.systemmonitor.markdown +++ b/source/_components/sensor.systemmonitor.markdown @@ -80,7 +80,7 @@ sensor: arg: 'Local Area Connection' ``` -If you need to use some other interface, open a command line prompt and type `ipconfig` to list all interface names. For example a wireless connection output from `ifconfig` might look like: +If you need to use some other interface, open a command line prompt and type `ipconfig` to list all interface names. For example a wireless connection output from `ipconfig` might look like: ```bash Wireless LAN adapter Wireless Network Connection: From ebe8eb7852b9bcc86cb2c02f6da43017da14c1ca Mon Sep 17 00:00:00 2001 From: plyblu Date: Sun, 2 Sep 2018 02:46:45 -0500 Subject: [PATCH 34/34] Update mailgun.markdown (#6143) Fix inconsistency where "domain" is required but "sandbox" can also be used to specify the domain. It appears that the package https://github.com/pschmitt/pymailgunner in def guess_domain allows multiple domains and "sandbox" can be used to choose a sandbox domain over a normal domain. As far as I can tell, this feature isn't used by the Mailgun component. There are also updates to the Mailgun Notify doc. --- source/_components/mailgun.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown index 2f13d2c0625..e1ecaefc72a 100644 --- a/source/_components/mailgun.markdown +++ b/source/_components/mailgun.markdown @@ -12,7 +12,7 @@ ha_category: Notifications ha_release: 0.38 --- -The component supports push messages and generates events based on inbound data. To use, add a Route set to Store and Notify with a URL of the following form: `https:///api/mailgun?api_password=` +The component supports push messages and generates events based on inbound data. To generate inbound events, add a Route set to Store and Notify with a URL of the following form: `https:///api/mailgun?api_password=` To send messages, use the [Mailgun notify platform][notify]. @@ -24,11 +24,11 @@ To send messages, use the [Mailgun notify platform][notify]. # Example configuration.yaml entry mailgun: domain: mg.example.com - api_key: token-XXXXXXXXX + api_key: XXXXXXXXXXXXX ``` Configuration variables: - **domain** (*Required*): This is the domain name to be used when sending out mail. Defaults to the first custom domain you have set up. - **api_key** (*Required*): This is the API token that has been generated in your Mailgun account. -- **sandbox** (*Optional*): Whether to use the sandboxed domain for outgoing mail. The `domain` item takes precedence over this. Defaults to `False`. +- **sandbox** (*Deprecated*): Whether to use the sandboxed domain for outgoing mail. Since the `domain` item is required, it should be set to the sandbox domain name, so this isn't needed. Defaults to `False`.