From 9f359d5925af098031a1e651faaff34c8540f563 Mon Sep 17 00:00:00 2001 From: Ioan Loosley Date: Sun, 21 Jan 2018 16:33:37 +0000 Subject: [PATCH 01/15] Fixing Daikin docs (#4486) * Fixed Broken images, Added Sidebar and put them in the right catagorys * Forgot the image --- source/_components/climate.daikin.markdown | 4 +- source/_components/daikin.markdown | 6 +- source/_components/sensor.daikin.markdown | 6 +- source/images/daikin.svg | 95 ++++++++++++++++++++++ 4 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 source/images/daikin.svg diff --git a/source/_components/climate.daikin.markdown b/source/_components/climate.daikin.markdown index 5b4c2182a9e..0eebf31628d 100644 --- a/source/_components/climate.daikin.markdown +++ b/source/_components/climate.daikin.markdown @@ -3,11 +3,11 @@ layout: page title: "Daikin AC" description: "Instructions on how to integrate Daikin AC(s) with Home Assistant." date: 2017-12-03 05:00 -sidebar: false +sidebar: true comments: false sharing: true footer: true -logo: N/A +logo: daikin.svg ha_category: Climate ha_release: 0.59 ha_iot_class: "Local Polling" diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown index 548c05ec313..322e0b69ad2 100644 --- a/source/_components/daikin.markdown +++ b/source/_components/daikin.markdown @@ -3,12 +3,12 @@ layout: page title: "Daikin AC" description: "Instructions on how to integrate Hive devices with Home Assistant." date: 2017-12-10 21:00 -sidebar: false +sidebar: true comments: false sharing: true footer: true -logo: N/A -ha_category: Climate +logo: daikin.svg +ha_category: Hub ha_release: 0.59 ha_iot_class: "Local Polling" --- diff --git a/source/_components/sensor.daikin.markdown b/source/_components/sensor.daikin.markdown index dfb69786405..b1d82211f3c 100644 --- a/source/_components/sensor.daikin.markdown +++ b/source/_components/sensor.daikin.markdown @@ -3,12 +3,12 @@ layout: page title: "Daikin AC" description: "Instructions on how to integrate Daikin AC(s) with Home Assistant." date: 2017-12-03 05:00 -sidebar: false +sidebar: True comments: false sharing: true footer: true -logo: N/A -ha_category: Climate +logo: daikin.svg +ha_category: Sensor ha_release: 0.59 ha_iot_class: "Local Polling" --- diff --git a/source/images/daikin.svg b/source/images/daikin.svg new file mode 100644 index 00000000000..b6f36d99046 --- /dev/null +++ b/source/images/daikin.svg @@ -0,0 +1,95 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 4e8718b1234caef56b2c5fcb3bd2dda2ed4236fc Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 21 Jan 2018 17:36:38 +0100 Subject: [PATCH 02/15] :white_check_mark: Various markdown, spelling, and grammar fixes (#4457) --- source/_addons/cec_scan.markdown | 2 +- source/_addons/check_config.markdown | 2 +- source/_addons/configurator.markdown | 14 ++++++------ source/_addons/dnsmasq.markdown | 6 ++--- source/_addons/git_pull.markdown | 2 +- source/_addons/google_assistant.markdown | 11 ++++----- source/_addons/homematic.markdown | 14 ++++++------ source/_addons/lets_encrypt.markdown | 4 ++-- source/_addons/mariadb.markdown | 2 +- source/_addons/mosquitto.markdown | 8 +++---- source/_addons/nginx_proxy.markdown | 5 ++-- source/_addons/rpc_shutdown.markdown | 10 ++++---- source/_addons/samba.markdown | 8 +++---- source/_addons/ssh.markdown | 8 +++---- source/_addons/tellstick.markdown | 29 ++++++++++++------------ 15 files changed, 61 insertions(+), 64 deletions(-) diff --git a/source/_addons/cec_scan.markdown b/source/_addons/cec_scan.markdown index 4c048eff157..a17d0ff09db 100644 --- a/source/_addons/cec_scan.markdown +++ b/source/_addons/cec_scan.markdown @@ -9,4 +9,4 @@ sharing: true footer: true --- -Help you to discover the HDMI CEC address. Start the add-on and look into log to see all connected device on HDMI. +Help you to discover the HDMI CEC address. Start the add-on and look into the log to see all connected device on HDMI. diff --git a/source/_addons/check_config.markdown b/source/_addons/check_config.markdown index 0b00f1b147e..f10f69848fe 100644 --- a/source/_addons/check_config.markdown +++ b/source/_addons/check_config.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -You can use this addon to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This will help you avoid errors due to breaking changes, resulting in an smooth update. +You can use this addon to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This addon will help you avoid errors due to breaking changes, resulting in a smooth update. ```json { diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown index 97640ebe203..4b91a46b66d 100644 --- a/source/_addons/configurator.markdown +++ b/source/_addons/configurator.markdown @@ -11,7 +11,7 @@ featured: true og_image: /images/hassio/screenshots/addon-hass-configurator.png --- -As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browser based file-editor to your Hass.IO installation. By default it will listen on port `3218` of the host Hass.IO is running on. +As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browser-based file-editor to your Hass.IO installation. By default it will listen on port `3218` of the host Hass.IO is running on. More information and a standalone version for regular Home Assistant installations can be found in the [GitHub repository][code]. @@ -27,8 +27,8 @@ Screenshot of the HASS Configurator. - Web-Based editor to modify your files with syntax highlighting. - Upload and download files. - Stage and commit changes in Git repositories, create and switch between branches, push to remotes. -- Lists of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position. -- Restart Home Assistant directly with the click of a button. Reloading groups, automations etc. can be done as well. An API-password is required. +- Lists of available triggers, events, entities, conditions, and services. The selected element gets inserted into the editor at the last cursor position. +- Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API-password is required. - SSL support. - Optional authentication and IP filtering for added security. - Direct links to Home Assistant documentation and icons. @@ -55,15 +55,15 @@ Screenshot of the HASS Configurator. - **username** (*Optional*): Set a username to access your configuration is protected. - **password** (*Required*): Set a password for access. - **ssl** (*Optional*): Enable or Disable SSL for the editor. -- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses / networks to the list. +- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses/networks to the list. - **banned_ips** (*Optional*): List of statically banned IP addresses. - **banlimit** (*Optional*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses. - **ignore_pattern** (*Optional*): Files and folders to ignore in the UI. -- **dirsfirst** (*Optional*): List directories before files in the filebrowser. +- **dirsfirst** (*Optional*): List directories before files in the file browser. ### {% linkable_title Embedding into Home-Assistant %} -Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration within the Home Assistant frontend. +Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend. An example configuration would look like this: @@ -76,5 +76,5 @@ panel_iframe: ```

-Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and / or blocking based on client IP addresses, your configuration will be exposed to the internet! +Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet!

diff --git a/source/_addons/dnsmasq.markdown b/source/_addons/dnsmasq.markdown index 586a035f8f5..6ae42294f54 100644 --- a/source/_addons/dnsmasq.markdown +++ b/source/_addons/dnsmasq.markdown @@ -30,7 +30,7 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv Configuration variables: -- **defaults** (*Required*): A list of dns server to forward default requests. +- **defaults** (*Required*): A list of DNS servers to forward default requests to. - **forwards** (*Optional*): A list of domains that will forward to a specific server. -- **hosts** (*Optional*): A list of hosts to resolve it static. -- **interface** (*Optional*): If a interface is set, it listen only on this interface. Need to set for resinos. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection. +- **hosts** (*Optional*): A list of hosts to resolve statically. +- **interface** (*Optional*): If an interface is set, it listens only on this interface. Needs to be set for ResinOS. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection. diff --git a/source/_addons/git_pull.markdown b/source/_addons/git_pull.markdown index e482db95099..8d42d8ab820 100644 --- a/source/_addons/git_pull.markdown +++ b/source/_addons/git_pull.markdown @@ -45,7 +45,7 @@ Load and update configuration files for Home Assistant from a GIT repository. * **rsa** The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol. - +

You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a git repository. If the script does not find the necessary git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.

diff --git a/source/_addons/google_assistant.markdown b/source/_addons/google_assistant.markdown index 21c4c8b8af4..ac0765bc513 100644 --- a/source/_addons/google_assistant.markdown +++ b/source/_addons/google_assistant.markdown @@ -11,7 +11,7 @@ featured: true ---

- If you are wanting to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/). + If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/).

[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality. @@ -19,8 +19,8 @@ featured: true To enable access to the Google Assistant API, do the following: 1. In the [Cloud Platform Console][project], go to the Projects page. Select an existing project or create a new project -2. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it. -3. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side. +1. Open the project. In the top of the page search for Google Assistant API or use [this link][API] and enable it. +1. Create an [OAuth Client ID][oauthclient], pick type "Other", click "Create" and download the JSON file by clicking the Download JSON button on the right side. Now install and activate the [Samba] add-on so you can upload your credential file. Connect to the "share" Samba share and copy your credentials over. Name the file `google_assistant.json`. @@ -52,9 +52,9 @@ Find the microphone and speakers that you want to use and note down their device The next step is to authenticate your Google account with Google Assistant. Start the add-on and click on the "OPEN WEB UI" button to start authentication. -### Add-On configuration +### Add-on configuration -Configuration example that uses the USB microphone and use the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device. +Configuration example that uses the USB microphone and the built-in headset audio output on the Raspberry Pi. Note that card and device numbers can differ on your device. ```json { @@ -73,7 +73,6 @@ Configuration variables: Use the Home Assistant [DialogFlow component][comp] to integrate the add-on into Home Assistant. - [GoogleAssistant]: https://assistant.google.com/ [GoogleActions]: https://actions.google.com/ [Samba]: /addons/samba/ diff --git a/source/_addons/homematic.markdown b/source/_addons/homematic.markdown index aa1137abd0b..8cf3c3b9b32 100644 --- a/source/_addons/homematic.markdown +++ b/source/_addons/homematic.markdown @@ -9,9 +9,9 @@ sharing: true footer: true --- -Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. At the moment we don't support hmIP but that is in progress. For learning and handling devices use our internal homematic panel and services (in progress) or use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0. +Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. At the moment we don't support hmIP, but that is in progress. For learning and handling devices use our internal HomeMatic panel and services (in progress) or use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0. -The logic layer will be Home-Assistant. There is no ReGa or other logic layer installed. You can't import exists configuration, you need new learn it into Home-Assistant. +The logic layer will be Home-Assistant. There is no ReGa or other logic layer installed. You can't import an existing configuration, you'll need re-learn it into Home-Assistant. Follow devices will be supported and tested: - [HM-MOD-RPI-PCB](https://www.elv.ch/homematic-funkmodul-fuer-raspberry-pi-bausatz.html) @@ -42,13 +42,13 @@ Configuration variables: - **wired_enable** (*Require*): Boolean. Enable or disable BidCoS-Wired. For RF devices -- **type** (*Require*): Device type for RFD service. Look into handbook of your device. -- **device** (*Require*): Device on host. +- **type** (*Require*): Device type for RFD service. Look into the manual of your device. +- **device** (*Require*): Device on the host. For RF devices -- **serial** (*Require*): Serial number of device. +- **serial** (*Require*): Serial number of the device. - **key** (*Require*): Encrypted key. -- **ip** (*Require*): IP address of lan gateway. +- **ip** (*Require*): IP address of LAN gateway. ## {% linkable_title Home Assistant configuration %} @@ -64,7 +64,7 @@ homematic: ## {% linkable_title Raspberry Pi3 %} -With HM-MOD-PRI-PCB you need add follow into your `config.txt` on boot partition: +With HM-MOD-PRI-PCB you need to add follow into your `config.txt` on boot partition: ``` dtoverlay=pi3-miniuart-bt ``` diff --git a/source/_addons/lets_encrypt.markdown b/source/_addons/lets_encrypt.markdown index bf6845005f6..fe3894e6f89 100644 --- a/source/_addons/lets_encrypt.markdown +++ b/source/_addons/lets_encrypt.markdown @@ -14,7 +14,7 @@ featured: false You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.

-Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. +Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. ```json { @@ -39,6 +39,6 @@ http: ssl_key: /ssl/privkey.pem ``` -If you use another port such as `8123` or a SSL proxy, change the port number. +If you use another port such as `8123` or an SSL proxy, change the port number. [DuckDNS add-on]: /addons/duckdns/ diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index b7882dd2c6f..673857de06e 100644 --- a/source/_addons/mariadb.markdown +++ b/source/_addons/mariadb.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databases, users and permission settings. If you want to only connect from inside home assistant use `core-mariadb` as the host address. +Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databases, users, and permission settings. If you want to only connect from inside home assistant use `core-mariadb` as the host address. ```json { diff --git a/source/_addons/mosquitto.markdown b/source/_addons/mosquitto.markdown index 5512542ed20..de3df298949 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -35,10 +35,10 @@ Make sure you use logins and disable anonymous access if you want to secure the Configuration variables: -- **plain** (*Optional*): Listen to broker on port 1883 without SSL/TLS. Defaults to `true`. -- **ssl** (*Optional*): Listen to broker on port 8883 with SSL/TLS. This requires certificates. Defaults to `false`. -- **anonymous** (*Optional*): Allow anonymous connection. If *logins* is set, anonymous user can only read data. Defaults to `true`. -- **logins** (*Optional*): A list of user that will be created with *username* and *password*. +- **plain** (*Optional*): Listen on port 1883 without SSL/TLS. Defaults to `true`. +- **ssl** (*Optional*): Listen on port 8883 with SSL/TLS. This requires certificates. Defaults to `false`. +- **anonymous** (*Optional*): Allow anonymous connections. If *logins* is set, the anonymous user can only read data. Defaults to `true`. +- **logins** (*Optional*): A list of users that will be created with *username* and *password*. - **customize** (*Optional*): If you enable it, it reads additional configuration files (`*.conf`) from `/share/mosquitto`. ### {% linkable_title Home Assistant configuration %} diff --git a/source/_addons/nginx_proxy.markdown b/source/_addons/nginx_proxy.markdown index 318b9768d9c..8fd22956e72 100644 --- a/source/_addons/nginx_proxy.markdown +++ b/source/_addons/nginx_proxy.markdown @@ -9,11 +9,10 @@ sharing: true footer: true --- -Setup a SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on. +Setup an SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on. In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid a HTTP 502 error. - ```json { "domain": "home.example.com" @@ -25,5 +24,5 @@ Configuration variables: - **domain** (*Required*): Domain they will proxy run with it.

-It is possible to deactive port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on. +It is possible to deactivate port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.

diff --git a/source/_addons/rpc_shutdown.markdown b/source/_addons/rpc_shutdown.markdown index 10aba2dcf5f..a4d2d6689a9 100644 --- a/source/_addons/rpc_shutdown.markdown +++ b/source/_addons/rpc_shutdown.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -Allow to shutdown a Windows computer with a service call from Home Assistant. +Allows you to shut down a Windows computer with a service call from Home Assistant. ```json { @@ -23,10 +23,10 @@ Allow to shutdown a Windows computer with a service call from Home Assistant. } ``` -- **computers** (*Required*): A list of computer object to shutdown from Home-Assistant. -- **computers/alias** (*Required*): Set a alias for this record and that is the name for the input. -- **computers/address** (*Required*): IP address or netbios name of the computer for shutdown. -- **computers/credentials** (*Required*): Credentials for logging into computer. Use a `%` as delimiter of username and password. +- **computers** (*Required*): A list of computer objects to shutdown from Home-Assistant. +- **computers/alias** (*Required*): Set an alias for this record which becomes the name for the input. +- **computers/address** (*Required*): IP address or NetBIOS name of the computer for the shutdown. +- **computers/credentials** (*Required*): Credentials for logging into computer. Use a `%` as the delimiter of username and password. ## {% linkable_title Home Assistant %} diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown index f6aff2fd92d..33e573ec377 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Samba" -description: "Manage your Home Assistant and custom addons over Samba." +description: "Manage your Home Assistant and custom add-ons over Samba." date: 2017-04-30 13:28 sidebar: true comments: false @@ -10,7 +10,7 @@ footer: true featured: true --- -This allows you to set up a [Samba](https://samba.org/) server to access hass.io folders using Windows network shares. +This addon allows you to set up a [Samba](https://samba.org/) server to access hass.io folders using Windows network shares. ```json { @@ -32,10 +32,10 @@ This allows you to set up a [Samba](https://samba.org/) server to access hass.io Configuration variables: -- **name** (*Optional*): default `hassio`. Set netbios name of hassio device. +- **name** (*Optional*): default `hassio`. Set NetBIOS name of hassio device. - **workgroup** (*Optional*): default `WORKGROUP`. Set network workgroup. - **guest** (*Optional*): Allow login without a username or password. Defaults to `true`. -- **map** (*Optional*): Control which folder will be expose. `config` is for Home Assistant configuration folder. `addons` for local custom repositiory. `share` is a folder that can access from add-ons and Home Assistant too. `backup` for access to snapshot files. `ssl` for certificate storage, be careful with this option! Defaults all to `true`, except for `ssl`. +- **map** (*Optional*): Control which folder will be exposed. `config` is for Home Assistant configuration folder. `addons` for a local custom repository. `share` is a folder that can access from add-ons and Home Assistant too. `backup` for access to snapshot files. `ssl` for certificate storage, be careful with this option! Defaults all to `true`, except for `ssl`. - **username** (*Optional*): The username for logging in if guest login is not used. - **password** (*Optional*): Password for `username`. An empty password is not supported. - **interface** (*Optional*): Interface on that will start the share. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection. diff --git a/source/_addons/ssh.markdown b/source/_addons/ssh.markdown index 2ee90db5850..a21a0196505 100644 --- a/source/_addons/ssh.markdown +++ b/source/_addons/ssh.markdown @@ -13,16 +13,16 @@ featured: true Setting up an [SSH](https://openssh.org/) server allows access to your Hass.io folders with any SSH client. It also includes a command-line tool to access the [Hass.io API](https://github.com/home-assistant/hassio/blob/dev/API.md). Try it out: ```bash -$ hassio help +hassio help ```

This add-on will not enable you to install packages or do anything as root. This is not allowed with Hass.io.

-To use this add-on, you must have a private/public key to log in. To generate them, follow the [instructions for Windows][win] and [these for other platforms][other]. It is possible to set a password for login since version 2.0 but for high security use private/public keys. You can not run both variant at same time. +To use this add-on, you must have a private/public key to log in. To generate them, follow the [instructions for Windows][win] and [these for other platforms][other]. It is possible to set a password for login since version 2.0 but for high security use private/public keys. You can not run both variants at the same time. -In order to start this add-on for the first time, you either need to include an ssh key (enclosed in quotation marks, on a single line without line breaks) or set a password in the options section. +To start this add-on for the first time, you either need to include an ssh key (enclosed in quotation marks, on a single line without line breaks) or set a password in the options section. ```json { @@ -39,7 +39,7 @@ After logging in, you will find yourself in this add-ons container. The Home Ass Configuration variables: -- **authorized_keys** (*Optional*): Your public keys for authorized keyfile. Every element will be a line inside that file. +- **authorized_keys** (*Optional*): Your public keys for the authorized key file. Every element will be a line inside that file. - **password** (*Optional*): Set a password for login. We do not recommend this variant. diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index d75100774c9..407bb73dee8 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -15,17 +15,17 @@ Setting up the [Tellstick](http://telldus.com) service and tools contained in th To use this add-on, you first install it from the list of Built-in add-ons in Hass.io. After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](https://developer.telldus.com/wiki/TellStick_conf). -After any changes has been made to the configuration you need to restart the add-on for the changes to take effect. +After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect. Configuration variables: -- **id** (*Required*): This is a number and must be unique for each device. +- **id** (*Required*): A number and must be unique for each device. - **name** (*Required*): A name for easy identification of the device. - **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down. -- **model** (*Optional*): The parameter model is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus selflearning etc. +- **model** (*Optional*): The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc. - **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type. -- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with house. -- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if is should fade smooth or instant between values (only for IKEA protocol as it seems). +- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house. +- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems). - **code** (*Optional*): A number series based on ones and zeroes often used for dip-switch based devices. You will need to add internal communication details to `configuration.yaml` to enable the integration from Hass.io and the add-on. @@ -42,11 +42,10 @@ tellstick: To add [lights](https://home-assistant.io/components/light.tellstick/), [sensors](https://home-assistant.io/components/sensor.tellstick/) and [switches](https://home-assistant.io/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](https://home-assistant.io/components/tellstick/) -The add-on will also enable you to interact with tdtool via a Home Assistant services call, see example below for selflearning device. +The add-on will also enable you to interact with the `tdtool` via a Home Assistant services call, see example below for self-learning device. ## {% linkable_title Examples %} - Example for adding more devices in the add-on configuration (note the comma separator between devices): ```json @@ -74,11 +73,11 @@ Example for adding more devices in the add-on configuration (note the comma sepa ## Service calls -If you wish to teach a selflearning device in your TellStick configuration: +If you wish to teach a selflearning device in your TellStick configuration: -Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select. -- Service: `hassio.addon_stdin` -- Enter service Data: +Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select. +- Service: `hassio.addon_stdin` +- Enter service Data: `{"addon":"core_tellstick","input":{"function":"learn","device":"1"}}` Replace `1` with the corresponding ID of the device in your TellStick configuration. @@ -90,14 +89,14 @@ You can also use this to list devices or sensors and read the output in the add- #### Supported service commands - `"function":"list"`: List currently configured devices with name and device id and all discovered sensors. - + - `"function":"list-sensors"` - `"function":"list-devices"`: Alternative devices/sensors listing: Shows devices and/or sensors using key=value format (with tabs as separators, one device/sensor per line, no header lines.) -- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device. +- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device. -- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device. +- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device. - `"function":"bell","device":"x"`: Sends bell command to devices supporting this. ’x’ could either be an integer of the device-id, or the name of the device. -- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normaly devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device. +- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normally devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device. From 7a946e9ca905d0e3f9903d7e1cf6189b1a463bc1 Mon Sep 17 00:00:00 2001 From: CV Date: Sun, 21 Jan 2018 18:07:11 +0100 Subject: [PATCH 03/15] Make a refer to autostart (#4460) * Make a refer to autostart For first time users it is not obvious to find autostart documentation. * Fix typos and link --- source/_docs/installation/raspberry-pi.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index f78838ec5ab..4667c7d9f04 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -77,3 +77,5 @@ You can now reach your installation on your Raspberry Pi over the web interface

When you run the `hass` command for the first time, it will download, install and cache the necessary libraries/dependencies. This procedure may take anywhere between 5 to 10 minutes. During that time, you may get "site cannot be reached" error when accessing the web interface. This will only happen for the first time, and subsequent restarts will be much faster.

+ +If you want setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant](/docs/autostart/]. From bd773e9001e4aeb2d4aa16a61351b1bb709f8658 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 21 Jan 2018 20:36:31 +0100 Subject: [PATCH 04/15] Move logo to the right location --- source/images/{ => screenshots}/daikin.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/images/{ => screenshots}/daikin.svg (100%) diff --git a/source/images/daikin.svg b/source/images/screenshots/daikin.svg similarity index 100% rename from source/images/daikin.svg rename to source/images/screenshots/daikin.svg From a47b7deb3dfc3be1cdad2b4df311a30888aa5a84 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 21 Jan 2018 22:45:15 +0100 Subject: [PATCH 05/15] Move again --- source/images/{screenshots => supported_brands}/daikin.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/images/{screenshots => supported_brands}/daikin.svg (100%) diff --git a/source/images/screenshots/daikin.svg b/source/images/supported_brands/daikin.svg similarity index 100% rename from source/images/screenshots/daikin.svg rename to source/images/supported_brands/daikin.svg From 6984581175ad0a649f28f8b874f9c2ea4634ac57 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 22 Jan 2018 08:15:57 +0100 Subject: [PATCH 06/15] Update Daikin logo --- source/images/supported_brands/daikin.png | Bin 0 -> 39327 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/daikin.png diff --git a/source/images/supported_brands/daikin.png b/source/images/supported_brands/daikin.png new file mode 100644 index 0000000000000000000000000000000000000000..9a8cbff8bbd2ccfe463b975ba1ab90bca0c4cae6 GIT binary patch literal 39327 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 I;*I Date: Mon, 22 Jan 2018 08:23:47 +0100 Subject: [PATCH 07/15] Update Daikin docs (Typo, logo, etc.) --- source/_components/climate.daikin.markdown | 29 ++++--- source/_components/daikin.markdown | 21 ++--- source/_components/sensor.daikin.markdown | 24 +++--- source/images/supported_brands/daikin.svg | 95 ---------------------- 4 files changed, 33 insertions(+), 136 deletions(-) delete mode 100644 source/images/supported_brands/daikin.svg diff --git a/source/_components/climate.daikin.markdown b/source/_components/climate.daikin.markdown index 0eebf31628d..d4626297939 100644 --- a/source/_components/climate.daikin.markdown +++ b/source/_components/climate.daikin.markdown @@ -7,15 +7,15 @@ sidebar: true comments: false sharing: true footer: true -logo: daikin.svg +logo: daikin.png ha_category: Climate ha_release: 0.59 ha_iot_class: "Local Polling" --- -### Description ### -The climate component integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters: +The `daikin` climate platform integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters: + - **mode** (cool, heat, dry, fan only or auto) - **fan speed** - **target temperature** @@ -24,23 +24,26 @@ The climate component integrates Daikin air conditioning systems into Home Assis Current temperature is displayed.

- Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant

-### Configuration ### - -Manual configuration and customization is possible by using the sample configuration from below: +To enable the platform, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry climate: - platform: daikin - host: 10.0.0.1 - name: optional name + host: 10.0.0.1 ``` -Configuration variables: - -- **host** (*Required*): IP or hostname of the device -- **name** (*Optional*): If the device has a name previously set by the user than that name will be used +{% configuration %} +host: + description: IP or hostname of the device. + required: true + type: string +name: + description: If the device has a name previously set by the user than that name will be used. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown index 322e0b69ad2..4e9ff04e728 100644 --- a/source/_components/daikin.markdown +++ b/source/_components/daikin.markdown @@ -7,28 +7,26 @@ sidebar: true comments: false sharing: true footer: true -logo: daikin.svg +logo: daikin.png ha_category: Hub ha_release: 0.59 ha_iot_class: "Local Polling" --- -### Description ### -The component integrates Daikin air conditioning systems into Home Assistant. - -To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file: +The `daikin` component integrates Daikin air conditioning systems into Home Assistant.

- Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant

+To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file: + ```yaml # Example configuration.yaml entry daikin: hosts: - 192.168.4.161 - monitored_conditions: - inside_temperature - outside_temperature @@ -43,7 +41,7 @@ hosts: monitored_conditions: description: List of items you want to monitor for each device. required: false - detault: All conditions + default: All conditions type: list keys: inside_temperature: @@ -53,11 +51,6 @@ monitored_conditions: {% endconfiguration %}

- Please note that some AC devices may report outside temperature only when they are turned on. +Please note that some AC devices may report outside temperature only when they are turned on.

- -The Daikin Home Assistant platform currently supports the following Hive devices: - -- [Climate](/components/climate.daikin) -- [Sensor](/components/sensor.daikin) diff --git a/source/_components/sensor.daikin.markdown b/source/_components/sensor.daikin.markdown index b1d82211f3c..bad490b9c1a 100644 --- a/source/_components/sensor.daikin.markdown +++ b/source/_components/sensor.daikin.markdown @@ -7,36 +7,32 @@ sidebar: True comments: false sharing: true footer: true -logo: daikin.svg +logo: daikin.png ha_category: Sensor ha_release: 0.59 ha_iot_class: "Local Polling" --- -### Description ### -The sensor component integrates Daikin air conditioning systems into Home Assistant, enabling displaying the following parameters: +The `daikin` sensor platform integrates Daikin air conditioning systems into Home Assistant, enabling displaying the following parameters: + - **inside temperature** - **outside temperature**

- Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant +Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant

-### Configuration ### - -Manual configuration and customization is possible by using the sample configuration from below: +To enable the platform, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: daikin - host: 10.0.0.1 - name: optional name - monitored_conditions: - - inside_temperature - - outside_temperature - + host: 10.0.0.1 + monitored_conditions: + - inside_temperature + - outside_temperature ``` {% configuration %} @@ -47,7 +43,7 @@ host: monitored_conditions: description: List of items you want to monitor for each device. required: false - detault: All conditions + default: All conditions type: list keys: inside_temperature: diff --git a/source/images/supported_brands/daikin.svg b/source/images/supported_brands/daikin.svg deleted file mode 100644 index b6f36d99046..00000000000 --- a/source/images/supported_brands/daikin.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 0ff6a08adfd2c57caff0c77f1164864ecc4820c0 Mon Sep 17 00:00:00 2001 From: Joe McMonagle Date: Mon, 22 Jan 2018 04:01:30 -0500 Subject: [PATCH 08/15] Updating Google Assistant Docs for spelling and formatting (#4488) * Updating Google Assistant Docs for spelling and formatting No content updates. Just changes to the spelling and formatting * Update google_assistant.markdown --- source/_components/google_assistant.markdown | 21 ++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index f8bbe65f3a3..8fb83ac57da 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -18,7 +18,7 @@ The `google_assistant` component allows you to control things via Google Assista The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.

-To use Google Assistant, your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing. +To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing.

To enable this, add the following lines to your `configuration.yaml` file: @@ -63,7 +63,7 @@ access_token: required: true type: string agent_user_id: - description: A string to identify the user, e.g., email address. If not provided, the component will generate one. + description: A string to identify the user, e.g. email address. If not provided, the component will generate one. required: false type: string api_key: @@ -102,7 +102,7 @@ entity_config: required: false type: list type: - description: Override the domain how Google Assistant has to interpretet the entity. For example, set to `light` for a switch entity to have it be handeld as a light. + description: Override how Google Assistant interprets the domain of the entity. For example, set to `light` for a switch entity to have it be handled as a light. required: false type: string {% endconfiguration %} @@ -117,7 +117,7 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow ### {% linkable_title Setup %} -1. Download the [gactions CLI](https://developers.google.com/actions/tools/gactions-cli) (you'll use this later) - you can download and run this anywhere and on any machine, just remember where you put it for later (and don't forget to run `chmod +x gactions`to make it executable on mac or linux) +1. Download the [gactions CLI](https://developers.google.com/actions/tools/gactions-cli) to be used later. You can download and run this anywhere and on any machine. Just remember where you put it for later and don't forget to run `chmod +x gactions` to make it executable on Mac or Linux. 2. Create a new file named `project.json` (in the same directory you downloaded `gactions` to) and replace the `[YOUR HOME ASSISTANT URL]` below with the URL you use to access Home Assistant. Note: This must be an HTTPS URL to work. @@ -132,7 +132,7 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow } }], "conversations": { - "automation" : + "automation": { "name": "automation", "url": "https://[YOUR HOME ASSISTANT URL]/api/google_assistant" @@ -142,10 +142,11 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow ``` 3. Create a new project in the [developer console](https://console.actions.google.com/). - 1. Add/Import project - 2. Go to Build under the Actions SDK box - 3. Copy the command that looks like: - `gactions update --action_package PACKAGE_NAME --project doctest-2d0b8` + a. Add/Import project + b. Go to Build under the Actions SDK box + c. Copy the command that looks like: + + `gactions update --action_package PACKAGE_NAME --project doctest-2d0b8` 4. Replace `PACKAGE_NAME` with `project.json` and run that command in a console from the same directory you saved `project.json` in (you'll need to put `./` before `gactions` so that it reads `./gactions` if you're running it on Linux or Windows). It should output a URL like `https://console.actions.google.com/project/doctest-2d0b8/overview` - go there. 5. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant. 6. The final item on that page `Account linking` is required for your app to interact with Home Assistant. @@ -179,4 +180,4 @@ The request_sync service may fail with a 404 if the project_id of the Homegraph 2. Add a new project to the [cloud console](https://console.cloud.google.com). Here you get a new project_id. 3. Enable Homegraph API to the new project. 4. Generate a new API key. - 5. Again create a new project in the [developer console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same project_id. + 5. Again, create a new project in the [developer console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same project_id. From 33c0a60db2b3dc454da8a8ab5ec55470ac4f0b96 Mon Sep 17 00:00:00 2001 From: Kallb123 Date: Mon, 22 Jan 2018 16:52:29 +0000 Subject: [PATCH 09/15] Updated entity_picture_template key in configuration --- source/_components/sensor.template.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index 3c865a2ee2a..2841dc027ba 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -57,7 +57,7 @@ sensor: description: Defines a template for the icon of the sensor. required: false type: template - icon_template: + entity_picture_template: description: Defines a template for the entity picture of the sensor. required: false type: template From d7c032c1a2419d6416c38633fbee4c8df25d110b Mon Sep 17 00:00:00 2001 From: Otto Winter Date: Mon, 22 Jan 2018 19:14:22 +0100 Subject: [PATCH 10/15] Add esphomelib link (#4492) * Add esphomelib link * Small fix --- source/_components/light.mqtt_json.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown index d6ba5ad07d0..996af07391f 100644 --- a/source/_components/light.mqtt_json.markdown +++ b/source/_components/light.mqtt_json.markdown @@ -198,3 +198,5 @@ light: - There is also another implementation forked from the above repo, it supports all the same features but is made for addressable LED strips using FastLED on a NodeMCU V3 it can be found [here](https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led). - [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/). + +- [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP32-based boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors. From d262752e4e9c933ff1eff6f460fff659eb39e1e6 Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Mon, 22 Jan 2018 13:15:07 -0500 Subject: [PATCH 11/15] Move placeholder info to separate section (#4490) --- source/developers/frontend_translation.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/developers/frontend_translation.markdown b/source/developers/frontend_translation.markdown index 1699e85da20..99a231941f0 100644 --- a/source/developers/frontend_translation.markdown +++ b/source/developers/frontend_translation.markdown @@ -15,12 +15,14 @@ ha_release: 0.57 First time users may find it helpful to switch between multilanguage and single language view using the Multilanguage view button. For more information about the translation workflow, please see the [Lokalise translation workflow documents](https://docs.lokalise.co/category/iOzEuQPS53-for-team-leads-and-translators). -Some translation strings will contain special placeholders that will be replaced later. Placeholders shown in square brackets `[]` are [Lokalise key references](https://docs.lokalise.co/article/KO5SZWLLsy-key-referencing). These are primarily used to link translation strings that will be duplicated. Different languages may not have the same duplicates as English, and are welcome to link duplicate translations that are not linked in English. Placeholders shown in curly brackets `{}` are [translation arguments](https://formatjs.io/guides/message-syntax/) that will be replaced with a live value when Home Assistant is running. Any translation argument placeholders present in the original string must be included in the translated string. These may include special syntax for defining plurals or other replacement rules. The linked format.js guide explains the syntax for adding plural definitions and other rules. -

The translation of the Home Assistant frontend is still a work in progress. More phrases will be available for translation soon.

+## {% linkable_title Translation placeholders %} + +Some translation strings will contain special placeholders that will be replaced later. Placeholders shown in square brackets `[]` are [Lokalise key references](https://docs.lokalise.co/article/KO5SZWLLsy-key-referencing). These are primarily used to link translation strings that will be duplicated. Different languages may not have the same duplicates as English, and are welcome to link duplicate translations that are not linked in English. Placeholders shown in curly brackets `{}` are [translation arguments](https://formatjs.io/guides/message-syntax/) that will be replaced with a live value when Home Assistant is running. Any translation argument placeholders present in the original string must be included in the translated string. These may include special syntax for defining plurals or other replacement rules. The linked format.js guide explains the syntax for adding plural definitions and other rules. + ## {% linkable_title Rules %} 1. Only native speakers should submit translations. 2. Stick to [Material Design guidelines](https://material.io/guidelines/style/writing.html). From 8b1a3c80a1eb034d9931cfd6df84ef801c3cbad6 Mon Sep 17 00:00:00 2001 From: Adrian Campos Date: Mon, 22 Jan 2018 23:05:39 -0800 Subject: [PATCH 12/15] Fixed broken link to autostart docs (#4497) --- source/_docs/installation/raspberry-pi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index 4667c7d9f04..178ad0abdf4 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -78,4 +78,4 @@ You can now reach your installation on your Raspberry Pi over the web interface When you run the `hass` command for the first time, it will download, install and cache the necessary libraries/dependencies. This procedure may take anywhere between 5 to 10 minutes. During that time, you may get "site cannot be reached" error when accessing the web interface. This will only happen for the first time, and subsequent restarts will be much faster.

-If you want setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant](/docs/autostart/]. +If you want setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant](/docs/autostart/). From 0ac0feadf511b7367000504ff073e663575ac7e2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 23 Jan 2018 23:24:59 -0800 Subject: [PATCH 13/15] Update 2018-01-21-clarification-emulated-hue.markdown --- source/_posts/2018-01-21-clarification-emulated-hue.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-01-21-clarification-emulated-hue.markdown b/source/_posts/2018-01-21-clarification-emulated-hue.markdown index 11d57e37c5e..5284113bc50 100644 --- a/source/_posts/2018-01-21-clarification-emulated-hue.markdown +++ b/source/_posts/2018-01-21-clarification-emulated-hue.markdown @@ -7,7 +7,7 @@ date_formatted: "January 21, 2018" author: Paulus Schoutsen author_twitter: balloob comments: true -categories: Public Service Announcement +categories: Public-Service-Announcement --- There are some misconceptions floating around about the future of the Emulated Hue component and I would like to set the record straight. **The Emulated Hue component is not going to be removed nor will we ever remove any functionality from Home Assistant to push you to support the Home Assistant project by subscribing to the Community Support Package.** From 483bc52dc0a03e7c44cf6ab1b5d1966f2b156bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85skar=20Andersson?= Date: Wed, 24 Jan 2018 08:27:20 +0100 Subject: [PATCH 14/15] wheel install needed (#4499) --- source/_docs/installation/virtualenv.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index e62966b26c5..a851a8eb78f 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -30,12 +30,16 @@ _(If you're on a Debian based system, you will need to install Python virtual en ``` $ source bin/activate ``` - 4. Install Home Assistant: + 4. Install wheel: + ``` + $ python3 -m pip install wheel + ``` + 5. Install Home Assistant: ``` $ python3 -m pip install homeassistant - ``` - 5. Configure it to [autostart](/docs/autostart/) - 6. Or run Home Assistant manually: + ``` + 6. Configure it to [autostart](/docs/autostart/) + 7. Or run Home Assistant manually: ``` $ hass --open-ui ``` From 49f53fd9881c2d9f017830934b623c5980517595 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 24 Jan 2018 08:28:39 +0100 Subject: [PATCH 15/15] :white_check_mark: Various markdown, spelling, and grammar fixes (#4503) --- .github/PULL_REQUEST_TEMPLATE.md | 4 +- CODE_OF_CONDUCT.md | 2 +- source/_components/abode.markdown | 2 +- source/_components/ads.markdown | 3 +- .../alarm_control_panel.abode.markdown | 1 - .../alarm_control_panel.alarmdecoder.markdown | 1 - .../alarm_control_panel.alarmdotcom.markdown | 1 - .../alarm_control_panel.arlo.markdown | 1 - .../alarm_control_panel.concord232.markdown | 3 +- .../alarm_control_panel.egardia.markdown | 38 +++++++------- source/developers/releasing.markdown | 50 +++++++++---------- source/developers/rest_api.markdown | 42 +++++++++++----- source/developers/websocket_api.markdown | 21 ++++---- source/docs/index.markdown | 1 - source/faq/index.markdown | 3 ++ source/getting-started/index.markdown | 30 +++++------ .../presence-detection.markdown | 4 +- source/hassio/external_storage.markdown | 1 - source/hassio/index.markdown | 20 ++++---- source/hassio/installation.markdown | 4 +- .../installing_third_party_addons.markdown | 2 +- source/hassio/run_local.markdown | 3 +- source/hassio/zwave.markdown | 4 +- source/help/index.markdown | 16 +++--- source/help/talking-points.markdown | 2 - source/help/trivia.markdown | 10 ++-- source/privacy/index.markdown | 20 ++++++-- source/tos/index.markdown | 19 ++++--- 28 files changed, 163 insertions(+), 145 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 30f074df148..bfbe7bd2c02 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,7 @@ ## Checklist: - - [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`. - - [ ] The documentation follow the [standards][standards]. +- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`. +- [ ] The documentation follow the [standards][standards]. [standards]: https://home-assistant.io/developers/documentation/standards/ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 5d2149dce05..de2de6f6b5b 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -23,7 +23,7 @@ include: Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or -advances + advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic diff --git a/source/_components/abode.markdown b/source/_components/abode.markdown index 3314bcc9038..34ceaada848 100644 --- a/source/_components/abode.markdown +++ b/source/_components/abode.markdown @@ -13,7 +13,7 @@ ha_release: 0.52 ha_iot_class: "Cloud Push" --- -The `abode` component will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes. +The `abode` component will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes. Please visit the [Abode website](https://goabode.com/) for further information about Abode Security. diff --git a/source/_components/ads.markdown b/source/_components/ads.markdown index cea2088d32e..9e8463add0b 100644 --- a/source/_components/ads.markdown +++ b/source/_components/ads.markdown @@ -53,7 +53,6 @@ The ADS component will register the service `write_by_name` allowing you to writ Service parameters: -- **adsvar**: Name of the variable on the ADS device. To access global variables on *TwinCAT2* use a prepending dot `.myvariable`, for TwinCAT3 use -`GBL.myvariable`. +- **adsvar**: Name of the variable on the ADS device. To access global variables on *TwinCAT2* use a prepending dot `.myvariable`, for TwinCAT3 use `GBL.myvariable`. - **adstype**: Specify the type of the variable. Use one of the following: `int`, `byte`, `uint`, `bool` - **value**: The value that will be written in the variable. diff --git a/source/_components/alarm_control_panel.abode.markdown b/source/_components/alarm_control_panel.abode.markdown index 99889db76d4..5df73f1c05d 100644 --- a/source/_components/alarm_control_panel.abode.markdown +++ b/source/_components/alarm_control_panel.abode.markdown @@ -13,7 +13,6 @@ ha_release: 0.52 ha_iot_class: "Cloud Push" --- - The `abode` security control panel platform allows you to control your [Abode](https://goabode.com/) alarms. The requirement is that you have setup your [Abode hub](/components/abode/). diff --git a/source/_components/alarm_control_panel.alarmdecoder.markdown b/source/_components/alarm_control_panel.alarmdecoder.markdown index 991bdeb7724..d677173ebb4 100644 --- a/source/_components/alarm_control_panel.alarmdecoder.markdown +++ b/source/_components/alarm_control_panel.alarmdecoder.markdown @@ -13,7 +13,6 @@ ha_release: 0.43 ha_iot_class: "Local Push" --- - The `alarmdecoder` alarm control panel platform allows you to control your [AlarmDecoder](https://www.alarmdecoder.com) alarms. The requirement is that you have setup your [AlarmDecoder hub](/components/alarmdecoder/). diff --git a/source/_components/alarm_control_panel.alarmdotcom.markdown b/source/_components/alarm_control_panel.alarmdotcom.markdown index ebffcc5c0df..895cde8e350 100644 --- a/source/_components/alarm_control_panel.alarmdotcom.markdown +++ b/source/_components/alarm_control_panel.alarmdotcom.markdown @@ -30,4 +30,3 @@ Configuration variables: - **password** (*Required*): Password for Alarm.com account. - **name** (*Optional*): The name of the alarm. Default is 'Alarm.com'. - **code** (*Optional*): Specifies a code to enable or disable the alarm in the frontend. - diff --git a/source/_components/alarm_control_panel.arlo.markdown b/source/_components/alarm_control_panel.arlo.markdown index 19294db81b1..6d66bef11b2 100644 --- a/source/_components/alarm_control_panel.arlo.markdown +++ b/source/_components/alarm_control_panel.arlo.markdown @@ -13,7 +13,6 @@ ha_release: 0.56 ha_iot_class: "Cloud Polling" --- - The `arlo` alarm control panel allows you to control your [Arlo](https://arlo.netgear.com/) base stations. You can use it to switch modes and trigger alarms from Home Assistant. To get your [Arlo](https://arlo.netgear.com/) base stations working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo). diff --git a/source/_components/alarm_control_panel.concord232.markdown b/source/_components/alarm_control_panel.concord232.markdown index 8a9c00b7b31..86be0b75176 100644 --- a/source/_components/alarm_control_panel.concord232.markdown +++ b/source/_components/alarm_control_panel.concord232.markdown @@ -14,7 +14,7 @@ ha_release: 0.31 The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4. -To use this platform, you will need to have the external concord232 client and server installed. The server must be running on the device which is connected to the automation module's serial port. The client must be installed on the machine running Home Assistant. These may often be the same machine, but do not have to be. For additional details in setting up and testing the client and server, see https://github.com/JasonCarter80/concord232. +To use this platform, you will need to have the external concord232 client and server installed. The server must be running on the device which is connected to the automation module's serial port. The client must be installed on the machine running Home Assistant. These may often be the same machine, but do not have to be. For additional details in setting up and testing the client and server, see To enable this platform in home assistant, add the following lines to your `configuration.yaml`: @@ -28,4 +28,3 @@ Configuration variables: - **host** (*Optional*): The host where the concord232 server process is running. Defaults to localhost. - **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007. - diff --git a/source/_components/alarm_control_panel.egardia.markdown b/source/_components/alarm_control_panel.egardia.markdown index 20c555587e4..3fdd4d57532 100644 --- a/source/_components/alarm_control_panel.egardia.markdown +++ b/source/_components/alarm_control_panel.egardia.markdown @@ -43,25 +43,25 @@ Note that this basic configuration will only enable you to read the armed/armed You can change this, however, using the following procedure. This is a more advanced configuration. 1. Log in into your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password. -2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. -3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).** -4. Once you have the codes, update your `configuration.yaml`: -```yaml -# Example configuration.yaml entry -alarm_control_panel: -  - platform: egardia -   host: YOUR_HOST -   username: YOUR_USERNAME -   password: YOUR_PASSWORD - report_server_enabled: True - report_server_port: PORT_OF_EGARDIASERVER (optional, defaults to 52010) - report_server_codes: - arm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX - disarm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX - home: XXXXXXXXXXXXXXXX - triggered: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX - ignore: XXXXXXXXXXXXXXXX -``` +1. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. +1. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).** +1. Once you have the codes, update your `configuration.yaml`: + ```yaml + # Example configuration.yaml entry + alarm_control_panel: +  - platform: egardia +   host: YOUR_HOST +   username: YOUR_USERNAME +   password: YOUR_PASSWORD + report_server_enabled: True + report_server_port: PORT_OF_EGARDIASERVER (optional, defaults to 52010) + report_server_codes: + arm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX + disarm: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX + home: XXXXXXXXXXXXXXXX + triggered: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX + ignore: XXXXXXXXXXXXXXXX + ``` Note that for *triggered*, *arm* and *disarm* multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as *ignore* (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur. diff --git a/source/developers/releasing.markdown b/source/developers/releasing.markdown index 55ef646a995..5ddce854181 100644 --- a/source/developers/releasing.markdown +++ b/source/developers/releasing.markdown @@ -9,22 +9,22 @@ sharing: true footer: true --- -This page describes the steps for publishing a new Home Assistant release. Those steps requires that you don't use forks but work with the repositories themself. The [hass-release](https://github.com/home-assistant/hass-release) script is a helper to do a release. +This page describes the steps for publishing a new Home Assistant release. Those steps requires that you don't use forks but work with the repositories themself. The [hass-release](https://github.com/home-assistant/hass-release) script is a helper to do a release. ### {% linkable_title Release preparation (3 days before release) %} ### {% linkable_title GitHub %} 1. Merge `master` into `dev` to make the PR mergeable. -2. Cut a release branch from `dev`. Example name `release-0-57`. -3. Create a pull request from the release branch to `master` with the upcoming release number as the title. -4. Update `homeassistant/const.py` with the correct version number (remove the `dev` tag) and push that commit to release branch. +1. Cut a release branch from `dev`. Example name `release-0-57`. +1. Create a pull request from the release branch to `master` with the upcoming release number as the title. +1. Update `homeassistant/const.py` with the correct version number (remove the `dev` tag) and push that commit to release branch. ### {% linkable_title Website %} 1. Merge `current` into `next` -2. Cut release branch of `next`. For example `release-0-57`. -3. Open a PR from release branch to `current` with the upcoming release number as the title. +1. Cut release branch of `next`. For example `release-0-57`. +1. Open a PR from release branch to `current` with the upcoming release number as the title. ## {% linkable_title Release day %} @@ -33,22 +33,22 @@ From creating the release branch till it has been merged, we tag bugfixes with t ### {% linkable_title GitHub %} 1. Cherry-pick the milestoned PRs that need to get into the release `python3 -m hassrelease milestone_cherry_pick 0.57` -2. Run `python3 -m hassrelease release_notes 0.56` for the release notes. -3. Once the release notes has been generated, issue `python3 -m hassrelease milestone_close 0.56` -4. Merge pull request (DO NOT SQUASH!). Use `Merge pull request`. -5. Go to [releases](https://github.com/home-assistant/home-assistant/releases), click `Draft a new release` and tag a new release on the `master` branch. "Tag version" and "Release title" are the version number (`O.x` for major version, `0.x.y` for minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. -6. Merge `master` into `dev`. -7. Update `homeassistant/const.py` with the upcoming version number (including the `dev` tag) and push that commit to the `dev` branch. +1. Run `python3 -m hassrelease release_notes 0.56` for the release notes. +1. Once the release notes has been generated, issue `python3 -m hassrelease milestone_close 0.56` +1. Merge pull request (DO NOT SQUASH!). Use `Merge pull request`. +1. Go to [releases](https://github.com/home-assistant/home-assistant/releases), click `Draft a new release` and tag a new release on the `master` branch. "Tag version" and "Release title" are the version number (`O.x` for major version, `0.x.y` for minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. +1. Merge `master` into `dev`. +1. Update `homeassistant/const.py` with the upcoming version number (including the `dev` tag) and push that commit to the `dev` branch. ### {% linkable_title Website %} 1. Create a blog post in the release branch and base it on the text of the PR in the main repository. Add images, additional text, links, etc. if it adds value. Tag each platform/component in a message to documentation. -2. Create missing documentation as stubs. -3. Run `credits_generator`. -4. Update `_config.yml` with a link to the new release blog post and version number (at the bottom of the file). -5. Merge `current` into release branch (`$ git checkout release-0-40 && git merge current`) to make the PR mergeable. -6. Merge pull request (blog post, updated frontpage, and all new documentation) to `current`. DO NOT SQUASH! -7. Merge `current` into `next`. +1. Create missing documentation as stubs. +1. Run `credits_generator`. +1. Update `_config.yml` with a link to the new release blog post and version number (at the bottom of the file). +1. Merge `current` into release branch (`$ git checkout release-0-40 && git merge current`) to make the PR mergeable. +1. Merge pull request (blog post, updated frontpage, and all new documentation) to `current`. DO NOT SQUASH! +1. Merge `current` into `next`. ### {% linkable_title Docker Hub %} @@ -65,10 +65,10 @@ Checkout the `master` branch and run `script/release` to publish the new release ## {% linkable_title Bugfix Release %} 1. Checkout `master` and update it. `git checkout master && git pull --rebase` -2. Create a new release branch from `master`. `git checkout -b release-0-56-2` -3. Cherry-pick the PRs which were milestoned. -4. Update `homeassistant/const.py` with the correct version number (increment `PATCH_VERSION`) and push that commit to release branch. -5. Create a pull request from the release branch to `master` with the upcoming release number as the title. -6. Merge pull request (DO NOT SQUASH!). Use `Merge pull request`. -7. Go to [releases](https://github.com/home-assistant/home-assistant/releases), click `Draft a new release` and tag a new release on the `master` branch. "Tag version" and "Release title" are the version number (`O.x` for major version, `0.x.y` for minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. -8. [Publish](/developers/releasing/#python-package-index) the new release on PyPI. +1. Create a new release branch from `master`. `git checkout -b release-0-56-2` +1. Cherry-pick the PRs which were milestoned. +1. Update `homeassistant/const.py` with the correct version number (increment `PATCH_VERSION`) and push that commit to release branch. +1. Create a pull request from the release branch to `master` with the upcoming release number as the title. +1. Merge pull request (DO NOT SQUASH!). Use `Merge pull request`. +1. Go to [releases](https://github.com/home-assistant/home-assistant/releases), click `Draft a new release` and tag a new release on the `master` branch. "Tag version" and "Release title" are the version number (`O.x` for major version, `0.x.y` for minor and bug fix releases). Release description is the text from PR. Press "Publish release" to finish the process. +1. [Publish](/developers/releasing/#python-package-index) the new release on PyPI. diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown index cf850cfbec4..2395c1f6ea6 100644 --- a/source/developers/rest_api.markdown +++ b/source/developers/rest_api.markdown @@ -11,8 +11,8 @@ footer: true Home Assistant runs a web server accessible on port 8123. - * http://IP_ADDRESS:8123/ is an interface to control Home Assistant. - * http://IP_ADDRESS:8123/api/ is a Rest API. +* http://IP_ADDRESS:8123/ is an interface to control Home Assistant. +* http://IP_ADDRESS:8123/api/ is a Rest API. The API accepts and returns only JSON encoded objects. All API calls have to be accompanied by the header `X-HA-Access: YOUR_PASSWORD` (YOUR_PASSWORD as specified in your `configuration.yaml` file in the [`http:` section](/components/http/)). @@ -25,7 +25,7 @@ curl -X GET \ http://IP_ADDRESS:8123/ENDPOINT ``` -Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module. +Another option is to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module. = ```python from requests import get @@ -44,16 +44,17 @@ You can append `?api_password=YOUR_PASSWORD` to any URL to log in automatically. Successful calls will return status code 200 or 201. Other status codes that can return are: - - 400 (Bad Request) - - 401 (Unauthorized) - - 404 (Not Found) - - 405 (Method not allowed) +- 400 (Bad Request) +- 401 (Unauthorized) +- 404 (Not Found) +- 405 (Method not allowed) ### {% linkable_title Actions %} The API supports the following actions: #### {% linkable_title GET /api/ %} + Returns a message if the API is up and running. ```json @@ -70,11 +71,12 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/config %} + Returns the current configuration as JSON. ```json -{ - "components":[ +{ + "components":[ "sensor.cpuspeed", "frontend", "config.core", @@ -106,7 +108,7 @@ Returns the current configuration as JSON. "volume":"L" }, "version":"0.56.2", - "whitelist_external_dirs":[ + "whitelist_external_dirs":[ "/home/ha/.homeassistant/www", "/home/ha/.homeassistant/" ] @@ -121,6 +123,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/discovery_info %} + Returns basic information about the Home Assistant instance as JSON. ```json @@ -140,6 +143,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/events %} + Returns an array of event objects. Each event object contains event name and listener count. ```json @@ -163,6 +167,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/services %} + Returns an array of service objects. Each object contains the domain and which services it contains. ```json @@ -191,13 +196,15 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/history/period/<timestamp> %} + Returns an array of state changes in the past. Each object contains further details for the entities. The `` (`YYYY-MM-DDThh:mm:ssTZD`) is optional and defaults to 1 day before the time of the request. It determines the beginning of the period. You can pass the following optional GET parameters: - - `filter_entity_id=` to filter on a single entity - - `end_time=` to choose the end of the period in URL encoded format (defaults to 1 day). + +- `filter_entity_id=` to filter on a single entity +- `end_time=` to choose the end of the period in URL encoded format (defaults to 1 day). ```json [ @@ -247,6 +254,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/states %} + Returns an array of state objects. Each state has the following attributes: entity_id, state, last_changed and attributes. ```json @@ -274,6 +282,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/states/<entity_id> %} + Returns a state object for specified entity_id. Returns 404 if not found. ```json @@ -301,6 +310,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/error_log %} + Retrieve all errors logged during the current session of Home Assistant as a plaintext response. ```text @@ -318,6 +328,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title GET /api/camera_proxy/camera.<entity_id> %} + Returns the data (image) from the specified camera entity_id. Sample `curl` command: @@ -329,6 +340,7 @@ $ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title POST /api/states/<entity_id> %} + Updates or creates the current state of an entity. Expects a JSON object that has at least a state attribute: @@ -368,6 +380,7 @@ $ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title POST /api/events/<event_type> %} + Fires an event with event_type You can pass an optional JSON object to be used as `event_data`. @@ -387,6 +400,7 @@ Returns a message if successful. ``` #### {% linkable_title POST /api/services/<domain>/<service> %} + Calls a service within a specific domain. Will return when the service has been executed or after 10 seconds, whichever comes first. You can pass an optional JSON object to be used as `service_data`. @@ -442,6 +456,7 @@ The result will include any states that changed while the service was being exec

#### {% linkable_title POST /api/template %} + Render a Home Assistant template. [See template docs for more information.](/topics/templating/) ```json @@ -465,6 +480,7 @@ $ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \ ``` #### {% linkable_title POST /api/event_forwarding %} + Set up event forwarding to another Home Assistant instance. Requires a JSON object that represents the API to forward to. @@ -486,6 +502,7 @@ It will return a message if event forwarding was set up successfully. ``` #### {% linkable_title DELETE /api/event_forwarding %} + Cancel event forwarding to another Home Assistant instance.
Requires a JSON object that represents the API to cancel forwarding to. @@ -509,4 +526,3 @@ It will return a message if event forwarding was cancelled successfully.

If your client does not support DELETE HTTP requests you can add an optional attribute _METHOD and set its value to DELETE.

- diff --git a/source/developers/websocket_api.markdown b/source/developers/websocket_api.markdown index 3cf5796c1b3..2927b9df48e 100644 --- a/source/developers/websocket_api.markdown +++ b/source/developers/websocket_api.markdown @@ -11,27 +11,27 @@ footer: true Home Assistant contains a WebSocket API. This API can be used to stream information from a Home Assistant instance to any client that implements WebSocket. Implementations in different languages: - - [JavaScript](https://github.com/home-assistant/home-assistant-js-websocket) - powers the frontend - - [Python](https://raw.githubusercontent.com/home-assistant/home-assistant-dev-helper/master/ha-websocket-client.py) - CLI client using [`asyncws`](https://async-websockets.readthedocs.io/en/latest/) - - [JavaScript/HTML](https://raw.githubusercontent.com/home-assistant/home-assistant-dev-helper/master/ha-websocket.html) - WebSocket connection in your browser +- [JavaScript](https://github.com/home-assistant/home-assistant-js-websocket) - powers the frontend +- [Python](https://raw.githubusercontent.com/home-assistant/home-assistant-dev-helper/master/ha-websocket-client.py) - CLI client using [`asyncws`](https://async-websockets.readthedocs.io/en/latest/) +- [JavaScript/HTML](https://raw.githubusercontent.com/home-assistant/home-assistant-dev-helper/master/ha-websocket.html) - WebSocket connection in your browser Connect your websocket implementation to `ws://localhost:8123/api/websocket`. ## {% linkable_title Server states %} - 1. Client connects - 2. Authentication phase starts +1. Client connects +1. Authentication phase starts - If no further authentication necessary for the user: go to 3 - Server sends `auth_required` message - Client sends `auth` message - If `auth` message correct: go to 3. - Server sends `auth_invalid`. Go to 6. - 3. Send `auth_ok` message - 4. Authentication phase ends. - 5. Command phase starts. +1. Send `auth_ok` message +1. Authentication phase ends. +1. Command phase starts. 1. Client can send commands. - 2. Server can send results of previous commands. - 6. Client or server disconnects session. + 1. Server can send results of previous commands. +1. Client or server disconnects session. During the command phase, the client attaches a unique identifier to each message. The server will add this identifier to each message so that the client can link each message to it's origin. @@ -217,7 +217,6 @@ The server will respond with a result message to indicate that unsubscribing was } ``` - ### {% linkable_title Calling a service %} This will call a service in Home Assistant. Right now there is no return value. The client can listen to `state_changed` events if it is interested in changed entities as a result of a service call. diff --git a/source/docs/index.markdown b/source/docs/index.markdown index 65a6e87c6b9..cbc6b8e364c 100644 --- a/source/docs/index.markdown +++ b/source/docs/index.markdown @@ -52,5 +52,4 @@ The documentation covers from beginner to advanced topic around the installation
- To see what Home Assistant can do, take a look at the [demo page](/demo). diff --git a/source/faq/index.markdown b/source/faq/index.markdown index cdf865abf48..f3af719ffb5 100644 --- a/source/faq/index.markdown +++ b/source/faq/index.markdown @@ -17,11 +17,14 @@ This is a community curated list of frequently asked questions (FAQ) about the i {% assign categories = faq | map: 'ha_category' | uniq | sort %} {% for category in categories %} + ## {% linkable_title {{ category }} %} {% for entry in faq %} {% if entry.ha_category == category %} + ### {% linkable_title {{ entry.title }} %} + {{entry.content}} {% endif %} {% endfor %} diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 00af92bbd0f..0c0150e1c02 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -17,30 +17,30 @@ Follow this guide if you want to easily get started with Home Assistant, or if y We will need a few things to get started with installing Home Assistant. Links below are linking to Amazon US. If you're not in the US, you should be able to find these items in web stores in your country. - - [Raspberry Pi 3 model B](http://a.co/gEfMqL4) + [Power Supply](http://a.co/cgKUgkt) (at least 2.5A) - - [Micro SD Card](http://a.co/gslOydD). Get one that is Class 10 as they are more reliable. Size 32GB or bigger recommended. - - SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest) - - Ethernet cable (optional, Hass.io can work with WiFi too) +- [Raspberry Pi 3 model B](http://a.co/gEfMqL4) + [Power Supply](http://a.co/cgKUgkt) (at least 2.5A) +- [Micro SD Card](http://a.co/gslOydD). Get one that is Class 10 as they are more reliable. Size 32GB or bigger recommended. +- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest) +- Ethernet cable (optional, Hass.io can work with WiFi too) ### {% linkable_title Software requirements %} - - Download [Hass.io image for Raspberry Pi 3][pi3] - - Download [Etcher] to write the image to an SD card - - Text Editor like [Visual Studio Code](https://code.visualstudio.com/) +- Download [Hass.io image for Raspberry Pi 3][pi3] +- Download [Etcher] to write the image to an SD card +- Text Editor like [Visual Studio Code](https://code.visualstudio.com/) [Etcher]: https://etcher.io/ [pi3]: https://github.com/home-assistant/hassio-build/releases/download/1.1/resinos-hassio-1.1-raspberrypi3.img.bz2 ### Installing Hass.io - 1. Put the SD card in your SD card reader. - 2. Open Etcher, select the Hass.io image and flash it to the SD card. - 3. WiFi setup only: open the file `system-connections/resin-sample` with a text editor. Change `ssid` to be your network name and `psk` to be your password. - 4. Unmount the SD card and remove it from your SD card reader. - 5. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. - 6. Connect your Raspberry Pi to the power supply so it turns on. - 7. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant. This will take about 20 minutes. - 8. Home Assistant will be available at [http://hassio.local:8123][local]. +1. Put the SD card in your SD card reader. +1. Open Etcher, select the Hass.io image and flash it to the SD card. +1. WiFi setup only: open the file `system-connections/resin-sample` with a text editor. Change `ssid` to be your network name and `psk` to be your password. +1. Unmount the SD card and remove it from your SD card reader. +1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. +1. Connect your Raspberry Pi to the power supply so it turns on. +1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant. This will take about 20 minutes. +1. Home Assistant will be available at [http://hassio.local:8123][local]. [local]: http://hassio.local:8123 diff --git a/source/getting-started/presence-detection.markdown b/source/getting-started/presence-detection.markdown index 8fe44b35c7a..6861f89e307 100644 --- a/source/getting-started/presence-detection.markdown +++ b/source/getting-started/presence-detection.markdown @@ -15,8 +15,8 @@ We care about privacy. Collected data is only stored in your instance of Presence detection detects if people are home, which is the most valuable input for automation. Knowing who is home or where they are, will open a whole range of other automation options: - - Send me a notification when my child arrives at school - - Turn on the AC when I leave work +- Send me a notification when my child arrives at school +- Turn on the AC when I leave work

diff --git a/source/hassio/external_storage.markdown b/source/hassio/external_storage.markdown index a69b7b8a783..b4a930bc194 100644 --- a/source/hassio/external_storage.markdown +++ b/source/hassio/external_storage.markdown @@ -9,7 +9,6 @@ sharing: true footer: true --- - ### {% linkable_title ResinOS / Generic %} Map the USB drive into add-on with `devices` options. If you need it on multiple add-ons, you can use the `/share` folder which is accessible from various add-ons. diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown index 35eb09a523b..21b11a2e050 100644 --- a/source/hassio/index.markdown +++ b/source/hassio/index.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Hass.io" -description: "Manage your Home Assistant and custom addons." +description: "Manage your Home Assistant and custom add-ons." date: 2017-04-30 13:28 sidebar: true comments: false @@ -15,14 +15,14 @@ Hass.io turns your Raspberry Pi (or another device) into the ultimate home autom The advantages of using Hass.io: - - Free and open source - - Optimized for embedded devices like Raspberry Pi - - 100% local home automation - - Easy installation and updates (powered by [ResinOS] and [Docker]) - - Management user interface integrated into Home Assistant - - Easily create and restore full backups of your whole configuration. - - Easily install many popular add-ons including [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].

[Browse available add-ons »][all]

- - Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.

[Browse the forums »][forums]
[Join the Hass.io chat »][chat]
[Browse community add-on repositories »][comm-add-ons]

+- Free and open source +- Optimized for embedded devices like Raspberry Pi +- 100% local home automation +- Easy installation and updates (powered by [ResinOS] and [Docker]) +- Management user interface integrated into Home Assistant +- Easily create and restore full backups of your whole configuration. +- Easily install many popular add-ons including [Google Assistant], encryption via [Let's Encrypt] and dynamic DNS via [Duck DNS].

[Browse available add-ons »][all]

+- Active community that is helpful and sharing add-ons including AppDaemon, Homebridge and InfluxDB.

[Browse the forums »][forums]
[Join the Hass.io chat »][chat]
[Browse community add-on repositories »][comm-add-ons]

@@ -30,7 +30,7 @@ The advantages of using Hass.io: ### {% linkable_title Upgrading %} -Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However please note that Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and an update being available in Hass.io, be patient. When a Hass.io update is available it will be shown as available on the ‘Hass.io' page in your UI. +Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However please note that Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and an update being available in Hass.io, be patient. When a Hass.io update is available, it will be shown as available on the ‘Hass.io' page in your UI.

diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index cb752fe2a4b..be34f95a303 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -21,7 +21,7 @@ Hass.io images are available for all available Raspberry Pi and Intel NUC platfo - Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform).

-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable, since some are designed to only provide the full power with that manufacturer's handsets. +Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some are designed to only provide the full power with that manufacturer's handsets.

@@ -42,7 +42,7 @@ curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/in ```

-When you use this installation method, some add-ons will not be available and the documentation might not work for your installation. +When you use this installation method, some add-ons will not be available, and the documentation might not work for your installation.

A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/). diff --git a/source/hassio/installing_third_party_addons.markdown b/source/hassio/installing_third_party_addons.markdown index 0bf6cb3166c..1d320586fa2 100644 --- a/source/hassio/installing_third_party_addons.markdown +++ b/source/hassio/installing_third_party_addons.markdown @@ -16,7 +16,7 @@ https://github.com/home-assistant/hassio-addons-example ```

-Home Assistant cannot guarantee the quality or security of third party add-ons. Use at your own risk. +Home Assistant cannot guarantee the quality or security of third-party add-ons. Use at your own risk.

diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 6dbd4781bf0..311098aa413 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Run local scripts" -description: "Instructions on how-to run local script for Home Assistant." +description: "Instructions on how to run a local script for Home Assistant." date: 2017-04-30 13:28 sidebar: true comments: false @@ -72,6 +72,7 @@ RUN apk --no-cache add jq mosquitto-clients ``` Now we can process it with `run.sh`: + ```bash #!/bin/bash set -e diff --git a/source/hassio/zwave.markdown b/source/hassio/zwave.markdown index 3be0947a5f0..4ba8aed7937 100644 --- a/source/hassio/zwave.markdown +++ b/source/hassio/zwave.markdown @@ -31,12 +31,12 @@ zwave: usb_path: /dev/ttyAMA0 ``` -### HUSBZB-1: +### HUSBZB-1 ```yaml zwave: usb_path: /dev/ttyUSB0 - + zha: usb_path: /dev/ttyUSB1 database_path: /config/zigbee.db diff --git a/source/help/index.markdown b/source/help/index.markdown index 36173302df5..4ad053d851a 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -11,13 +11,13 @@ footer: true There are various ways to get in touch with the Home Assistant community. It doesn't matter if you have a question, need help, want to request a feature, or just say 'Hi'. -### {% linkable_title Communication channels %} +### {% linkable_title Communication channels %} - - [Forum][forum] - - [Discord Chat Server][discord] for general Home Assistant discussions and questions. - - Follow us on [Twitter][twitter], use [@home_assistant][twitter] - - Join the [Google+ community][google-plus] - - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] +- [Forum][forum] +- [Discord Chat Server][discord] for general Home Assistant discussions and questions. +- Follow us on [Twitter][twitter], use [@home_assistant][twitter] +- Join the [Google+ community][google-plus] +- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] ### {% linkable_title Bugs, Feature requests, and alike %} @@ -38,7 +38,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R - [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016 - [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August - [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016 -- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) ([Slides](https://docs.google.com/presentation/d/1PUnOpeFZxNj4LEjaohGqH_1hOGQGuS5yRHD1ThHr6nk/edit?usp=sharing)) - June 2016 +- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) ([Slides](https://docs.google.com/presentation/d/1PUnOpeFZxNj4LEjaohGqH_1hOGQGuS5yRHD1ThHr6nk/edit?usp=sharing)) - June 2016 - [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016 - [Automating your Home with Home Assistant](https://www.youtube.com/watch?v=4-6rTwKl6ww&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=2) at OpenIoT 2016 - March 2016 @@ -76,7 +76,7 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/). ### {% linkable_title Roadmap %} -There is no explicit roadmap available but the public [tracker](https://www.pivotaltracker.com/n/projects/1250084) can give you some insight into what is going on. +There is no explicit roadmap available, but the public [tracker](https://www.pivotaltracker.com/n/projects/1250084) can give you some insight into what is going on. [forum]: https://community.home-assistant.io/ [twitter]: https://twitter.com/home_assistant diff --git a/source/help/talking-points.markdown b/source/help/talking-points.markdown index 24f587f3928..040bd3ad0ba 100644 --- a/source/help/talking-points.markdown +++ b/source/help/talking-points.markdown @@ -17,5 +17,3 @@ People are starting to present Home Assistant at meetings and get-togethers. Bel - Control all your devices from a single, mobile-friendly interface - Written in Python3 with 94% test coverage - Active and helpful community - - diff --git a/source/help/trivia.markdown b/source/help/trivia.markdown index 64089ecf5fd..78c735ea8f5 100644 --- a/source/help/trivia.markdown +++ b/source/help/trivia.markdown @@ -27,7 +27,7 @@ The current logo was created by [Jeremy Geltman](http://jeremygeltman.com/). Fur Home Assistant is open source software and available under the [MIT](https://opensource.org/licenses/MIT) license. -### {% linkable_title Numbers %} +### {% linkable_title Numbers %} This sections just contains some random numbers of the Home Assistant eco-system. Sorry, only the main repository counts. @@ -36,10 +36,10 @@ This sections just contains some random numbers of the Home Assistant eco-system | [Gitter.io](https://discord.gg/c5DvZ4e) | 334 | 2367 | | [Forum posts](https://community.home-assistant.io/) | 352 | 33004 | | [Forum topics](https://community.home-assistant.io/) | 83 | 4863 | -| [Forum members](https://community.home-assistant.io/) | 92 | 3931 | -| [Github stars](https://github.com/home-assistant/home-assistant/stargazers) | 2519 | 5239 | +| [Forum members](https://community.home-assistant.io/) | 92 | 3931 | +| [Github stars](https://github.com/home-assistant/home-assistant/stargazers) | 2519 | 5239 | | [Github forks](https://github.com/home-assistant/home-assistant/network) | 374 | 1424 | -| Page views [ha.io](https://home-assistant.io) | 190,271 | 1,284,855 | +| Page views [ha.io](https://home-assistant.io) | 190,271 | 1,284,855 | ### {% linkable_title Commit per year %} @@ -56,7 +56,7 @@ More details and statistics can be found on [Github](https://github.com/home-ass ### {% linkable_title First commit %} -The first commit in `git` was made on Sep 17, 2013 by [Paulus Schoutsen](https://github.com/balloob). +The first commit in `git` was made on Sep 17, 2013 by [Paulus Schoutsen](https://github.com/balloob). ```bash commit d55e4d53cccc9123d03f45c53441e7cbfc58e515 diff --git a/source/privacy/index.markdown b/source/privacy/index.markdown index fc63d2812bb..706b1e67c8e 100644 --- a/source/privacy/index.markdown +++ b/source/privacy/index.markdown @@ -11,45 +11,55 @@ footer: true Your privacy is critically important to us. At Home Assistant, we have a few fundamental principles: - - We don’t ask you for personal information unless we truly need it. (We can’t stand services that ask you for things like your gender or income level for no apparent reason.) - - We don’t share your personal information with anyone except to comply with the law, develop our products, or protect our rights. - - We don’t store personal information on our servers unless required for the ongoing operation of one of our services. +- We don’t ask you for personal information unless we truly need it. (We can’t stand services that ask you for things like your gender or income level for no apparent reason.) +- We don’t share your personal information with anyone except to comply with the law, develop our products, or protect our rights. +- We don’t store personal information on our servers unless required for the ongoing operation of one of our services. If you have questions about deleting or correcting your personal data please contact our support team. ## {% linkable_title Website Visitors %} + Like most website operators, Home Assistant collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. Home Assistant’s purpose in collecting non-personally identifying information is to better understand how Home Assistant’s visitors use its website. From time to time, Home Assistant may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website. Home Assistant also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users leaving comments on the blog or forums. Home Assistant only discloses logged in user and commenter IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below. ## {% linkable_title Gathering of Personally-Identifying Information %} + Certain visitors to Home Assistant’s websites choose to interact with Home Assistant in ways that require Home Assistant to gather personally-identifying information. The amount and type of information that Home Assistant gathers depends on the nature of the interaction. For example, we ask visitors who create a forum account to provide a username and an email address. Those who engage in transactions with Home Assistant are asked to provide additional information, including as necessary the personal and financial information required to process those transactions. In each case, Home Assistant collects such information only insofar as is necessary or appropriate to fulfill the purpose of the visitor’s interaction with Home Assistant. Home Assistant does not disclose personally-identifying information other than as described below. And visitors can always refuse to supply personally-identifying information, with the caveat that it may prevent them from engaging in certain website-related activities. ## {% linkable_title Aggregated Statistics %} + Home Assistant may collect statistics about the behavior of visitors to its websites. For instance, Home Assistant may monitor the most popular component documentation. Home Assistant may display this information publicly or provide it to others. However, Home Assistant does not disclose personally-identifying information other than as described below. ## {% linkable_title Information We Collect from Other Sources %} + With your authorization, we may also obtain information about you from other sources. For example, if you create or log into your WordPress.com account through a social media service (like Facebook or Google) or if you connect your account to a social media service, we will receive information from that service (such as your username, basic profile information, and friends list) via the authorization procedures used by that service. The information we receive depends on which services you authorize and any options that are available. ## {% linkable_title Protection of Certain Personally-Identifying Information %} + Home Assistant discloses potentially personally-identifying and personally-identifying information only to those of its employees, contractors and affiliated organizations that (i) need to know that information in order to process it on Home Assistant’s behalf or to provide services available at Home Assistant’s websites, and (ii) that have agreed not to disclose it to others. Some of those employees, contractors and affiliated organizations may be located outside of your home country; by using Home Assistant’s websites, you consent to the transfer of such information to them. Home Assistant will not rent or sell potentially personally-identifying and personally-identifying information to anyone. Other than to its employees, contractors and affiliated organizations, as described above, Home Assistant discloses potentially personally-identifying and personally-identifying information only in response to a subpoena, court order or other governmental request, or when Home Assistant believes in good faith that disclosure is reasonably necessary to protect the property or rights of Home Assistant, third parties or the public at large. If you are a registered user of an Home Assistant website and have supplied your email address, Home Assistant may occasionally send you an email to tell you about new features, solicit your feedback, or just keep you up to date with what’s going on with Home Assistant and our products. We primarily use our various product blogs to communicate this type of information, so we expect to keep this type of email to a minimum. If you send us a request (for example via a support email or via one of our feedback mechanisms), we reserve the right to publish it in order to help us clarify or respond to your request or to help us support other users. Home Assistant takes all measures reasonably necessary to protect against the unauthorized access, use, alteration or destruction of potentially personally-identifying and personally-identifying information. ## {% linkable_title Cookies %} + A cookie is a string of information that a website stores on a visitor’s computer, and that the visitor’s browser provides to the website each time the visitor returns. Home Assistant uses cookies to help Home Assistant identify and track visitors, their usage of Home Assistant website, and their website access preferences. Home Assistant visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using Home Assistant’s websites, with the drawback that certain features of Home Assistant’s websites may not function properly without the aid of cookies. ## {% linkable_title Business Transfers %} + If Home Assistant, or substantially all of its assets, were acquired, or in the unlikely event that Home Assistant goes out of business or enters bankruptcy, user information would be one of the assets that is transferred or acquired by a third party. You acknowledge that such transfers may occur, and that any acquirer of Home Assistant may continue to use your personal information as set forth in this policy. ## {% linkable_title Ads %} + Ads appearing on any of our websites may be delivered to users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This Privacy Policy covers the use of cookies by Home Assistant and does not cover the use of cookies by any advertisers. ## {% linkable_title Privacy Policy Changes %} + Although most changes are likely to be minor, Home Assistant may change its Privacy Policy from time to time, and in Home Assistant’s sole discretion. Home Assistant encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change. ### {% linkable_title Change log %} - - October 19, 2017: Initial version + +- October 19, 2017: Initial version _This privacy policy has been adapted from the [Automattic privacy policy][Home Assistant] and is licensed [Creative Commons ShareAlike][cc]._ [Home Assistant]: https://automattic.com/privacy/ -[cc]: https://creativecommons.org/licenses/by-sa/4.0/ \ No newline at end of file +[cc]: https://creativecommons.org/licenses/by-sa/4.0/ diff --git a/source/tos/index.markdown b/source/tos/index.markdown index cadd9cd4421..199e220d694 100644 --- a/source/tos/index.markdown +++ b/source/tos/index.markdown @@ -21,21 +21,20 @@ If you create an account on the Website, you are responsible for maintaining the If you post material to the Website, post links on the Website, or otherwise make (or allow any third party to make) material available by means of the Website (any such material, "Content"), You are entirely responsible for the content of, and any harm resulting from, that Content. That is the case regardless of whether the Content in question constitutes text, graphics, an audio file, or computer software. By making Content available, you represent and warrant that: -* the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party; -* if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content; -* you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms; -* the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content; -* the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing); -* the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party; -* your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods; -* your content is not named in a manner that misleads your readers into thinking that you are another person or company; and -* you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by Home Assistant or otherwise. +* the downloading, copying and use of the Content will not infringe the proprietary rights, including but not limited to the copyright, patent, trademark or trade secret rights, of any third party; +* if your employer has rights to intellectual property you create, you have either (i) received permission from your employer to post or make available the Content, including but not limited to any software, or (ii) secured from your employer a waiver as to all rights in or to the Content; +* you have fully complied with any third-party licenses relating to the Content, and have done all things necessary to successfully pass through to end users any required terms; +* the Content does not contain or install any viruses, worms, malware, Trojan horses or other harmful or destructive content; +* the Content is not spam, is not machine- or randomly-generated, and does not contain unethical or unwanted commercial content designed to drive traffic to third party sites or boost the search engine rankings of third party sites, or to further unlawful acts (such as phishing) or mislead recipients as to the source of the material (such as spoofing); +* the Content is not pornographic, does not contain threats or incite violence, and does not violate the privacy or publicity rights of any third party; +* your content is not getting advertised via unwanted electronic messages such as spam links on newsgroups, email lists, blogs and web sites, and similar unsolicited promotional methods; +* your content is not named in a manner that misleads your readers into thinking that you are another person or company; and +* you have, in the case of Content that includes computer code, accurately categorized and/or described the type, nature, uses and effects of the materials, whether requested to do so by Home Assistant or otherwise. ## {% linkable_title 3. User Content License %} User contributions are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US). Without limiting any of those representations or warranties, Home Assistant has the right (though not the obligation) to, in Home Assistant’s sole discretion (i) refuse or remove any content that, in Home Assistant’s reasonable opinion, violates any Home Assistant policy or is in any way harmful or objectionable, or (ii) terminate or deny access to and use of the Website to any individual or entity for any reason, in Home Assistant’s sole discretion. Home Assistant will have no obligation to provide a refund of any amounts previously paid. - ## {% linkable_title 4. Payment and Renewal %} ### General Terms