diff --git a/_config.yml b/_config.yml index 019e89f6b18..62c8df641b9 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 76 -current_patch_version: 1 -date_released: 2018-08-19 +current_patch_version: 2 +date_released: 2018-08-21 # 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-0761---august-19" +patch_version_notes: "#release-0762---august-21" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown index 939d3c95505..aa7d509c18b 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -26,7 +26,12 @@ This addon allows you to set up a [Samba](https://samba.org/) server to access H }, "username": "", "password": "", - "interface": "eth0" + "interface": "eth0", + "allow_hosts": [ + "10.0.0.0/8", + "172.16.0.0/12", + "192.168.0.0/16" + ] } ``` @@ -39,6 +44,7 @@ Configuration variables: - **username** (*Optional*): Username for logging in if guest login is not used. - **password** (*Optional*): Password for `username`. An empty password is not supported. - **interface** (*Optional*): Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection. If you are running on an Intel NUC this could also be `enp3s0` for ethernet or `wlp5s0` for wireless connection. +- **allow_hosts** (*Optional*): The hosts that are allowed to connect to your Samba server. By default it is limited to people within the same local network.
Be careful when setting up port forwarding to the remote access. If you don't restrict access by requiring authentication and guest access is enabled, your configuration could be exposed to the internet! diff --git a/source/_components/alarm_control_panel.spc.markdown b/source/_components/alarm_control_panel.spc.markdown index 5cc4025f001..5384d06def1 100644 --- a/source/_components/alarm_control_panel.spc.markdown +++ b/source/_components/alarm_control_panel.spc.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Push" --- -The `spc` alarm control panel platform allows you to control your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) alarms. +The `spc` alarm control panel platform allows you to control your [Vanderbilt SPC](https://www.spcsupportinfo.com/) alarms. The requirement is that you have setup your [SPC hub](/components/spc/). diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown index 145d6204d8e..adc8af1d33b 100644 --- a/source/_components/dyson.markdown +++ b/source/_components/dyson.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Cloud Polling" ha_release: 0.47 --- -The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms: [Fans](/components/fan/dyson/) and [Robot vacuum](/components/vacuum/dyson/). +The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms: [Fans](/components/fan.dyson/) and [Robot vacuum](/components/vacuum.dyson/). ## {% linkable_title Configuration %} diff --git a/source/_components/sensor.iperf3.markdown b/source/_components/sensor.iperf3.markdown index add891e3c17..0cb7cb2dabe 100644 --- a/source/_components/sensor.iperf3.markdown +++ b/source/_components/sensor.iperf3.markdown @@ -51,7 +51,7 @@ sensor: duration: description: Specify the test duration in seconds. Default is 10 and the valid range is from 5 to 10. required: false - default: 3 + default: 10 type: int parallel: description: Specify the number of concurrent streams to connect to the server. Default is 1 and the valid range is from 1 to 20. diff --git a/source/_components/sensor.rflink.markdown b/source/_components/sensor.rflink.markdown index 7efee12d68c..60306416cb4 100644 --- a/source/_components/sensor.rflink.markdown +++ b/source/_components/sensor.rflink.markdown @@ -31,18 +31,18 @@ sensor: - platform: rflink devices: alectov1_0334_temp: - name: Temperature Outside + sensor_type: temperature ``` Configuration variables: - **automatic_add** (*Optional*): Automatically add new/unconfigured devices to HA if detected (default: True). -- **devices** (*Optional*): A list of devices with their name to use in the frontend. +- **devices** (*Optional*): A list of devices with their name to use in the frontend. Device configuration variables: -- **name** (*Optional*): Name for the device, defaults to RFLink ID. - **sensor_type** (*Required*): Override automatically detected type of sensor. For list of values see below. +- **name** (*Optional*): Name for the device, defaults to RFLink ID. - **unit_of_measurement** (*Optional*): Override automatically detected unit of sensor. - **aliases** (*Optional*): Alternative RFLink ID's this device is known by. @@ -68,7 +68,6 @@ Sensor type values: - meter_value - total_rain - rain_rate -- total_rain - revision - noise_level - temperature diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown index 020475edc01..5eb66113cba 100644 --- a/source/_components/tradfri.markdown +++ b/source/_components/tradfri.markdown @@ -22,9 +22,7 @@ You will be prompted to configure the gateway through the Home Assistant interfa If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP to your Trådfri gateway.
-- The Python version 3.4.4 or greater is required for this component. The component will not initialize without this and will report a `Could not install all requirements` error in the logs. -
+## {% linkable_title Configuration %} You can add the following to your `configuration.yaml` file if you are not using the [`discovery:`](/components/discovery/) component: @@ -34,20 +32,30 @@ tradfri: host: IP_ADDRESS ``` -Configuration variables: +{% configuration %} +host: + description: "The IP address or hostname of your Trådfri gateway." + required: true + type: string +allow_tradfri_groups: + description: "Set this to `false` to stop Home Assistant from importing the groups defined on the Trådfri bridge." + required: false + type: boolean + default: true +{% endconfiguration %} - - **host** (*Required*): The IP address or hostname of your Trådfri gateway. - - **allow_tradfri_groups** (*Optional*): Set this to `false` to stop Home Assistant from importing the groups defined on the Trådfri bridge. Defaults to `true`. - --Do not use the `api_key` variable. The key is only needed once at initial setup. -
- -- -Please make sure you have `autoconf` installed (`apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (>1h) on slow devices. You might have to use `sudo` when installing `autoconf`. - -
## {% linkable_title Troubleshooting %} -- Firmware updates: After updating the firmware of your Trådfri gateway it might be necessary to repeat the configuration process. If you encounter problems, delete `.tradfri_psk.conf`, restart Home Assistant, when prompted enter the security key and click configure, just like during initial setup. (Possible errors: ```Fatal DTLS error: code 115```) + +### {% linkable_title Firmware updates %} + +After updating the firmware of your Trådfri gateway it might be necessary to repeat the configuration process. If you encounter problems, delete the `.tradfri_psk.conf` file in your `.homeassistant` directory, restart Home Assistant, when prompted enter the security key and click configure, just like during initial setup. Possible errors: `Fatal DTLS error: code 115`. + +### {% linkable_title Compilation issues %} + +Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (>1 h) on slow devices. + +### {% linkable_title Seeting the `api_key` %} + +Do not use the `api_key` variable in `configuration.yaml`. The API key is only needed once at initial setup and will be stored. + diff --git a/source/_components/tts.google.markdown b/source/_components/tts.google.markdown index 1b0468c87d5..3056b50d94e 100644 --- a/source/_components/tts.google.markdown +++ b/source/_components/tts.google.markdown @@ -25,7 +25,7 @@ tts: Configuration variables: - **language** (*Optional*): The language to use. Defaults to `en`. - - [Complete list of supported languages](https://cloud.google.com/speech/docs/languages). + - [Complete list of supported languages](https://cloud.google.com/speech-to-text/docs/languages). A full configuration sample: diff --git a/source/_components/tuya.markdown b/source/_components/tuya.markdown index 75b6aecf699..e868b527692 100644 --- a/source/_components/tuya.markdown +++ b/source/_components/tuya.markdown @@ -39,6 +39,11 @@ country_code: description: "Your account [country code](https://www.countrycode.org/) (e.g., 1 for USA or 86 for China)." required: true type: string +platform: + description: "The app where your account register. `tuya` for Tuya Smart and `smart_life` for Smart Life." + required: false + type: string + default: tuya {% endconfiguration %} ## {% linkable_title Service %} diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 203ffcdcf56..d56d8821538 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -24,7 +24,8 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ - Temperature and Humidity Sensor (1st and 2nd generation) - Motion Sensor (1st and 2nd generation) - Door and Window Sensor (1st and 2nd generation) -- Button (1st and 2nd generation) +- Button 1st generation (Single, Double, long_click_press) +- Button 2nd generation (Single, Double) - Plug aka Socket (Zigbee version, reports power consumed, power load, state and if device in use) - Wall Plug (reports power consumed, power load and state) - Aqara Wall Switch (Single) @@ -195,9 +196,9 @@ Removes a specific device. The removal is required if a device shall be paired w ## {% linkable_title Examples %} -### {% linkable_title Long Press on Smart Button %} +### {% linkable_title Long Press on Smart Button 1st Generation %} -This example plays the sound of a dog barking when the button is held down and stops the sound when the button is pressed once. +This example plays the sound of a dog barking when the button is held down and stops the sound when the button is pressed once. Only works for the round button of the 1st generation. *Note: The sound will stop playing automatically when it has ended.* diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown new file mode 100644 index 00000000000..9ebb653c51a --- /dev/null +++ b/source/_docs/authentication.markdown @@ -0,0 +1,37 @@ +--- +layout: page +title: "Authentication" +description: "Guide on authentication in Home Assistant." +date: 2018-08-23 09:40 +redirect_from: /components/auth/ +sidebar: true +comments: false +sharing: true +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: + + - Manage users + - Configure integrations and other settings (soon) + - Configure Hass.io (soon) + +## {% linkable_title Authentication %} + +When a user wants to use Home Assistant, they have to log in. When navigating to the frontend without authentication, the user is asked for a login. The login page will always show you the website that you're logging in to. + ++This is an advanced feature. If misconfigured, you will not be able to access Home Assistant anymore! +
+ +Besides the normal authentication providers, it's also possible to configure multi-factor authentication providers. These authentication providers 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. + +This feature is currently a work in progress and no configurable multi-factor authentication providers are currently available. diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown new file mode 100644 index 00000000000..1a190543355 --- /dev/null +++ b/source/_docs/authentication/providers.markdown @@ -0,0 +1,86 @@ +--- +layout: page +title: "Authentication Providers" +description: "Guide on configuring different auth providers." +date: 2018-08-23 09:40 +redirect_from: /components/auth/ +sidebar: true +comments: false +sharing: true +footer: true +--- + ++This is an advanced feature. If misconfigured, you will not be able to access Home Assistant anymore! +
+ +When a user logs in, it needs to authenticate against an auth provider. An auth provider will check the users' credentials, and if credentials are linked to a user in the system, allows the user to log in. + +By default, Home Assistant has enabled an auth provider that stores the users in the configuration directory. An owner account can manage these users from the frontend. + +To make the transition from API password to authentication system easier, we've added a legacy API password auth provider. This enables users to log in with the API password. This authentication provider is enabled by default if a user has an API password configured. + +## {% linkable_title Configuring auth providers %} + ++By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system. +
+ +Authentication providers are configured in your `configuration.yaml` under the `homeassistant:` block: + +```yaml +homeassistant: + auth_providers: + - type: homeassistant + - type: legacy_api_password +``` + +## {% linkable_title Available auth providers %} + +Below is a list of currently available auth providers. + +### {% linkable_title Home Assistant auth provider %} + +This is the default auth provider which stores the users in your configuration directory. All passwords are stored hashed and with a salt, making it almost impossible for an attacker to figure out the password from the storage. + +Users for this auth provider can be managed via the UI by the owner. Navigate to the configuration panel and click on users. + +```yaml +homeassistant: + auth_providers: + - type: homeassistant +``` + +### {% linkable_title Trusted Network %} + +With the trusted network auth provider you can whitelist an IP range for which no authentication will be required. The user will be prompted to pick a user to log in as. + +```yaml +homeassistant: + auth_providers: + - type: trusted_networks + +# Temporary, this will be moved to be part of auth provider config +# https://github.com/home-assistant/home-assistant/issues/16149 +http: + trusted_networks: + - 127.0.0.1 + - ::1 + - 192.168.0.0/24 + - fd00::/8 +``` + +### {% linkable_title Legacy API password %} + +Activating this auth provider will allow you to authenticate with the API password set in the HTTP component. + +```yaml +homeassistant: + auth_providers: + - type: legacy_api_password + +http: + api_password: !secret http_password +``` + +Activating this auth provider will also allow you to provide the API password using an authentication header to make requests against the Home Assistant API. This feature will be dropped in the future in favor of long-lived access tokens. diff --git a/source/_docs/installation/archlinux.markdown b/source/_docs/installation/archlinux.markdown index 3e13bd26912..68c6c70ff11 100644 --- a/source/_docs/installation/archlinux.markdown +++ b/source/_docs/installation/archlinux.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -[Arch Linux](https://www.archlinux.org/) is a lightweight and flexible Linux distribution. There are official packages optimized for the i686 and x86-64 architectures available. +[Arch Linux](https://www.archlinux.org/) is a lightweight and flexible Linux distribution for x86_64. Install the needed Python packages. diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 7f7e2ac99d4..84f70a61751 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -39,6 +39,13 @@