diff --git a/.gitignore b/.gitignore index 6713e9e11c..ec8690ad29 100644 --- a/.gitignore +++ b/.gitignore @@ -12,10 +12,4 @@ vendor node_modules source/.jekyll-metadata *.iml -.idea/ -/.vs/home-assistant.github.io/v15/.suo -/.vs/ProjectSettings.json -/.vs/slnx.sqlite -/.vs/config/applicationhost.config -/.vs/slnx.sqlite-journal -/.vs/VSWorkspaceState.json +.idea/ \ No newline at end of file diff --git a/.ruby-version b/.ruby-version index 35cee72dcb..58073ef8d7 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.4.3 +2.4.1 \ No newline at end of file diff --git a/.themes/classic/source/_includes/head.html b/.themes/classic/source/_includes/head.html index 48d1018fca..6b5412ca64 100644 --- a/.themes/classic/source/_includes/head.html +++ b/.themes/classic/source/_includes/head.html @@ -15,7 +15,6 @@ - {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %} diff --git a/Gemfile b/Gemfile index 1b5ab49ea5..d7b8fe661d 100644 --- a/Gemfile +++ b/Gemfile @@ -24,4 +24,3 @@ group :jekyll_plugins do end gem 'sinatra', '~> 1.4.2' -gem 'nokogiri' diff --git a/Gemfile.lock b/Gemfile.lock index 051fb09fdb..4a9684644f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -42,9 +42,6 @@ GEM rb-inotify (~> 0.9, >= 0.9.7) mercenary (0.3.6) method_source (0.8.2) - mini_portile2 (2.3.0) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) octopress (3.0.11) jekyll (>= 2.0) mercenary (~> 0.3.2) @@ -71,8 +68,8 @@ GEM method_source (~> 0.8.1) slop (~> 3.4) public_suffix (3.0.0) - rack (1.6.9) - rack-protection (1.5.5) + rack (1.6.8) + rack-protection (1.5.3) rack rake (10.5.0) rb-fsevent (0.10.2) @@ -103,7 +100,6 @@ DEPENDENCIES jekyll-redirect-from jekyll-sitemap jekyll-time-to-read - nokogiri octopress (~> 3.0) octopress-include-tag pry @@ -117,4 +113,4 @@ RUBY VERSION ruby 2.4.1p111 BUNDLED WITH - 1.16.1 + 1.15.4 diff --git a/Rakefile b/Rakefile index c56c918561..e44380c49d 100644 --- a/Rakefile +++ b/Rakefile @@ -60,13 +60,6 @@ task :generate do abort("Generating CSS failed") unless success success = system "jekyll build" abort("Generating site failed") unless success - if ENV["CONTEXT"] != 'production' - File.open("#{public_dir}robots.txt", 'w') do |f| - f.write "User-agent: *\n" - f.write "Disallow: /\n" - end - end - public_dir end desc "Watch the site and regenerate when it changes" diff --git a/_config.yml b/_config.yml index 45147f16ca..286ea08bab 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,7 @@ # Main Configs # # ----------------------- # -url: https://www.home-assistant.io +url: https://home-assistant.io title: Home Assistant subtitle: Open-source home automation platform running on Python 3 author: Home Assistant @@ -139,14 +139,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 69 -current_patch_version: 0 -date_released: 2018-05-11 +current_minor_version: 62 +current_patch_version: 1 +date_released: 2018-01-30 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0621---january-30" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/credits_generator/README.md b/credits_generator/README.md index 986f0b4785..ee89f67817 100644 --- a/credits_generator/README.md +++ b/credits_generator/README.md @@ -1,12 +1,11 @@ credits_generator ================= -This tool can be used to update the [Credits page for Home Assistant](https://home-assistant.io/developers/credits/). +This tool can be used to update the [Home Assistant's Credits page](https://home-assistant.io/developers/credits/). Setup ----- -Fetch the dependencies with `npm`. ```bash $ cd credits_generator $ npm install @@ -14,11 +13,8 @@ $ npm install Usage ----- -Go to https://github.com/settings/tokens/new and generate a new GitHub personal access token. -Give the token any name and select the `public_repo` and `read:user` scopes. - -Set the environment variable `GITHUB_TOKEN` to the new token. +Set your personal GitHub access token as environmental variable. ```bash $ export GITHUB_TOKEN= @@ -27,6 +23,7 @@ $ export GITHUB_TOKEN= Run the script. ```bash +$ cd credits_generator $ node update_credits.js ``` diff --git a/credits_generator/update_credits.js b/credits_generator/update_credits.js index 3cfab7a9e2..d850ccaee9 100644 --- a/credits_generator/update_credits.js +++ b/credits_generator/update_credits.js @@ -58,12 +58,7 @@ github.repos.getForOrg({ cb(err); return; } - if (userInfo.name) { - userInfo.name = userInfo.name.replace(/^@/, '') - .replace(//g, '>') - .replace(/[\\`*_{}[\]()#+-.!~|]/g, '\\$&'); - } + if(userInfo.login == 'RubenKelevra') userInfo.name = 'RubenKelevra'; // ugh, because his name is `@RubenKelevra` usersMap[login].info.name = userInfo.name || userInfo.login; usersMap[login].info.username = userInfo.login; cb(); diff --git a/plugins/configuration.rb b/plugins/configuration.rb index 30a5196d72..52bcf87fb9 100644 --- a/plugins/configuration.rb +++ b/plugins/configuration.rb @@ -2,7 +2,7 @@ module Jekyll class ConfigurationBlock < Liquid::Block TYPE_LINKS = { 'action' => '/docs/scripts/', - 'device_class' => '/components/%{component}/#device-class', + 'device_class' => '/components/%{component}/#device_class', 'template' => '/docs/configuration/templating/', } diff --git a/plugins/environment_variables.rb b/plugins/environment_variables.rb deleted file mode 100644 index 7d9203f164..0000000000 --- a/plugins/environment_variables.rb +++ /dev/null @@ -1,17 +0,0 @@ -module Jekyll - class EnvironmentVariablesGenerator < Generator - def generate(site) - # https://www.netlify.com/docs/continuous-deployment/#build-environment-variables - repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.github.io' - - # Rewrite urls if repo url is the ssh format. - if repo_url.start_with? 'git@github.com:' - repo_url = repo_url.sub 'git@github.com:', 'https://github.com/' - end - - # These values will be available as {{ site.NLY_REPOSITORY_URL }} - site.config['NLY_REPOSITORY_URL'] = repo_url - site.config['NLY_HEAD'] = ENV['HEAD'] || 'current' - end - end -end diff --git a/plugins/filters.rb b/plugins/filters.rb index 41ad3357a8..5eacd7b8cf 100644 --- a/plugins/filters.rb +++ b/plugins/filters.rb @@ -24,7 +24,7 @@ module Jekyll # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION def site_url - 'https://www.home-assistant.io' + 'https://home-assistant.io' end # Prepend a url with the full site url diff --git a/plugins/no_follow.rb b/plugins/no_follow.rb deleted file mode 100644 index 27da6c90f2..0000000000 --- a/plugins/no_follow.rb +++ /dev/null @@ -1,33 +0,0 @@ -# Jekyll Auto Nofollow Plugin -# Automatically adds rel='external nofollow' to outgoing links. - -require 'jekyll' -require 'nokogiri' - -module Jekyll - module NoFollow - def nofollow(content) - dom = Nokogiri::HTML.fragment(content) - - # Find all links - dom.css('a').each do |link| - rel = ['external', 'nofollow'] - - # All external links start with 'http', skip when this one does not - next unless link.get_attribute('href') =~ /\Ahttp/i - - # Play nice with our own links - next if link.get_attribute('href') =~ /\Ahttps?:\/\/\w*.?home-assistant.io/i - - # Play nice with links that already have a rel attribute set - rel.unshift(link.get_attribute('rel')) - - # Add rel attribute to link - link.set_attribute('rel', rel.join(' ').strip) - end - dom.to_s - end - end -end - -Liquid::Template.register_filter(Jekyll::NoFollow) diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index c64bdb7da2..2a9e1fb4eb 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -4,10 +4,6 @@ $primary-color: #049cdb; .site-header { position: relative; - - .site-title { - font-weight: normal; - } } .search-container { @@ -381,26 +377,18 @@ p.note { } .copyright { - text-align: left; + text-align: center; - .company { - .title { - font-size: 1.5em; - } - - img { - vertical-align: middle; - } - - i { - font-size: 2em; - padding: 0 5px; - } + i { + font-size: 3em; + margin-right: 8px; + position: relative; + top: -5px; } - - ul { - margin: 0; - list-style: none; + .credit { + text-align: left; + display: inline-block; + font-size: .8em; } } diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown index d402488270..c601025a12 100644 --- a/source/_addons/configurator.markdown +++ b/source/_addons/configurator.markdown @@ -65,7 +65,7 @@ Screenshot of the HASS Configurator. ### {% linkable_title Embedding into Home-Assistant %} -Using the Home Assistant component [panel_iframe](/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. +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: diff --git a/source/_addons/dnsmasq.markdown b/source/_addons/dnsmasq.markdown index d894320ab0..6ae42294f5 100644 --- a/source/_addons/dnsmasq.markdown +++ b/source/_addons/dnsmasq.markdown @@ -11,6 +11,10 @@ footer: true Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS server. This allows you to manipulate DNS requests. For example, you can have your Home Assistant domain resolve with an internal address inside your network. +

+`interface` options are for resinos based installation. On other system you can set it to `""`, for listen on every interface. +

+ ```json { "defaults": ["8.8.8.8", "8.8.4.4"], @@ -19,7 +23,8 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv ], "hosts": [ {"host": "home.mydomain.io", "ip": "192.168.1.10"} - ] + ], + "interface": "eth1" } ``` @@ -28,3 +33,4 @@ Configuration variables: - **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 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/duckdns.markdown b/source/_addons/duckdns.markdown index 123e975e97..297cbb8fd9 100644 --- a/source/_addons/duckdns.markdown +++ b/source/_addons/duckdns.markdown @@ -10,14 +10,12 @@ footer: true featured: true --- -[Duck DNS](https://www.duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates. +[Duck DNS](https://duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates. ```json { "lets_encrypt": { - "accept_terms": true, - "certfile": "fullchain.pem", - "keyfile": "privkey.pem" + "accept_terms": true }, "token": "sdfj-2131023-dslfjsd-12321", "domains": ["my-domain.duckdns.org"] @@ -26,10 +24,10 @@ featured: true Configuration variables: -- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate and update Let's Encrypt certificates for your DuckDNS domain. - **token** (*Required*): Your Duck DNS API key. - **domains** (*Required*): A list of domains to update DNS. -- **seconds** (*Required*): Seconds between updates to Duck DNS. +- **seconds** (*Optional*): Seconds between updates to Duck DNS. +- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate & update Let's Enrypt certificates for your DuckDNS domain. [le]: https://letsencrypt.org/repository/ @@ -51,5 +49,3 @@ If you use a port other than `8123` or an SSL proxy, change the port number acco You'll need to forward the port you listed in your configuration (8123 in the example above) on your router to your Home Assistant system. You can find guides on how to do this on [Port Forward](https://portforward.com/) - noting that you'll only need to forward the TCP port. Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router. - -Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`. diff --git a/source/_addons/google_assistant.markdown b/source/_addons/google_assistant.markdown index f48415638e..ac0765bc51 100644 --- a/source/_addons/google_assistant.markdown +++ b/source/_addons/google_assistant.markdown @@ -11,7 +11,7 @@ featured: true ---

- If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/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. @@ -66,7 +66,7 @@ Configuration example that uses the USB microphone and the built-in headset audi Configuration variables: -- **mic**: This is the hardware address of your microphone. Look at the add-on output +- **mic**: This is the hardware address of your microphone. Look at the add-on output - **speaker**: This is the hardware address of your speakers. Look at the add-on output ### {% linkable_title Home Assistant configuration %} diff --git a/source/_addons/homematic.markdown b/source/_addons/homematic.markdown index 6a92bbff81..8cf3c3b9b3 100644 --- a/source/_addons/homematic.markdown +++ b/source/_addons/homematic.markdown @@ -57,7 +57,7 @@ Use the following configuration in Home Assistant to use it: ```yaml homematic: interfaces: - rf: + BidCoS-RF: host: core-homematic port: 2001 ``` diff --git a/source/_addons/lets_encrypt.markdown b/source/_addons/lets_encrypt.markdown index 0ac8d01994..fe3894e6f8 100644 --- a/source/_addons/lets_encrypt.markdown +++ b/source/_addons/lets_encrypt.markdown @@ -2,7 +2,7 @@ layout: page title: "Let's Encrypt" description: "Automatically manage your SSL certificate using Let's Encrypt." -date: 2018-04-18 10:55 +date: 2017-04-30 13:28 sidebar: true comments: false sharing: true @@ -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 addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port. +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 { @@ -41,24 +41,4 @@ http: If you use another port such as `8123` or an SSL proxy, change the port number. -## {% linkable_title Enabling auto-renewals %} - -Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry. - -However, you can automate this process using Home Assistant. - -Use this in your `automations.yaml` to attempt certificate renewal each day at midnight: - -```yaml -- id: letsencrypt-renewal - alias: "Let's Encrypt Renewal" - trigger: - - platform: time - at: '00:00:00' - action: - - service: hassio.addon_restart - data: - addon: core_letsencrypt -``` - [DuckDNS add-on]: /addons/duckdns/ diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index 66df1440c6..673857de06 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 f143d9ac34..de3df29894 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -43,7 +43,7 @@ Configuration variables: ### {% linkable_title Home Assistant configuration %} -To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own), add the following entry to the `configuration.yaml` file. +To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own) add the following entry to the `configuration.yaml` file. ```yaml # Example configuration.yaml entry @@ -59,20 +59,3 @@ mqtt: username: YOUR_USERNAME password: YOUR_PASSWORD ``` - -### {% linkable_title Listening simultaneously on SSL/TLS (8883) and insecure (1883) ports %} - -1. Configure SSL/TLS as normal. -2. Set `customize` flag to `true` in your configuration. -3. Create a file in `/share/mosquitto` named `insecure.conf` with the following contents: - -```text -listener 1883 -protocol mqtt -``` - -4. Restart MQTT - -

-It's recommened that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. -

diff --git a/source/_addons/nginx_proxy.markdown b/source/_addons/nginx_proxy.markdown index e1d8a5f01c..8fd22956e7 100644 --- a/source/_addons/nginx_proxy.markdown +++ b/source/_addons/nginx_proxy.markdown @@ -11,29 +11,17 @@ footer: true 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 an HTTP 502 error. +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", - "certfile": "fullchain.pem", - "keyfile": "privkey.pem", - "hsts": "max-age=31536000; includeSubDomains", - "customize": { - "active": false, - "default": "nginx_proxy_default*.conf", - "servers": "nginx_proxy/*.conf" - } + "domain": "home.example.com" } ``` Configuration variables: - **domain** (*Required*): Domain they will proxy run with it. -- **certfile** (*Required*): Certificate file to use in the /ssl dir. -- **keyfile** (*Required*): Private key file to use in the /ssl dir. -- **hsts** (*Optional*): Value for the [`Strict-Transport-Security`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) HTTP header to send. If empty or `null`, the header is not sent. -- **customize** (*Optional*): If true, additional NGINX configuration files for the default server and additional servers are read from files in the /share dir specified by the `default` and `servers` variables.

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/samba.markdown b/source/_addons/samba.markdown index 9d0f18923f..33e573ec37 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -22,7 +22,7 @@ This addon allows you to set up a [Samba](https://samba.org/) server to access h "addons": true, "share": true, "backup": true, - "ssl": false + "ssl": false, }, "username": "", "password": "", @@ -32,10 +32,10 @@ This addon allows you to set up a [Samba](https://samba.org/) server to access h Configuration variables: -- **name** (*Optional*): Set netbios name of Hass.io device. Default is `hassio`. -- **workgroup** (*Optional*): Set network workgroup name. Default is `WORKGROUP`. -- **guest** (*Optional*): Allow login without a username or password. Default is `true`. -- **map** (*Optional*): Control which folders will be exposed. `config` shares the Home Assistant configuration folder. `addons` shares the local custom repository. `share` shares a folder that can be accessed by add-ons and Home Assistant. `backup` shares access to snapshot files. `ssl` shares certificate storage. Be careful with the `ssl` option! Defaults are all set to `true`, except for `ssl`. -- **username** (*Optional*): Username for logging in if guest login is not used. +- **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 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 that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection. +- **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/snips.markdown b/source/_addons/snips.markdown index 851afd8e7d..954d04d613 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -2,39 +2,51 @@ layout: page title: "Snips.ai" description: "Enhance your Hass.io installation with a local voice assistant." -date: 2018-05-02 13:28 +date: 2017-04-30 13:28 sidebar: true comments: false sharing: true footer: true --- -[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design. +[Snips.ai] is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design. -The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed. +To get started, follow [their tutorial] to create an assistant and download the training data. -HomeAssistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki). +Now install and activate the [Samba] add-on so you can upload your training data. Connect to the "share" Samba share and copy your training data over. Name the file `assistant.zip`. -The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled. +Now it's time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices: -If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like: - -``` -Turn on kitchen light -Open garage door -What is on my shopping list +```text +**** List of PLAYBACK Hardware Devices **** +card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] + Subdevices: 8/8 + Subdevice #0: subdevice #0 + Subdevice #1: subdevice #1 + Subdevice #2: subdevice #2 + Subdevice #3: subdevice #3 + Subdevice #4: subdevice #4 + Subdevice #5: subdevice #5 + Subdevice #6: subdevice #6 + Subdevice #7: subdevice #7 +card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] + Subdevices: 1/1 + Subdevice #0: subdevice #0 ``` -To get started creating your own configuration, follow [their tutorial](https://snips.gitbook.io/documentation/console) to create an assistant and download the training data. You can also add the HomeAssistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks. +You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0. -Now install and activate the [Samba](/addons/samba/) add-on so you can upload your training data. Connect to the "share" Samba share and copy your assistant over. Name the file `assistant.zip` or whatever you have configured in the configuration options. +Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options `mic` (microphone to use) and `speaker` (speaker to use). The format for these options is `,`. Change the configuration options and click save. -Now it's time to start Snips for the first time. You can configure the microphone and sound card using the Add-on interface. Now start the add-on. +Now start the add-on. -### {% linkable_title Add-On configuration %} +### Add-On configuration ```json { + "mic": "1,0", + "speaker": "1,0", + "assistant": "assistant.zip", "mqtt_bridge": { "active": true, "host": "172.17.0.1", @@ -42,76 +54,23 @@ Now it's time to start Snips for the first time. You can configure the microphon "user": "", "password": "" }, - "assistant": "assistant.zip", - "language": "en", - "custom_tts": false, - "tts_platform": "amazon_polly" } ``` Configuration variables: -- **mqtt_bridge**: Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on. -- **assistant**: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used. -- **language**: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported. -- **custom_tts**: Whether to use a TTS provider from Home Assistant for a variety of voices. -- **tts_platform**: Which TTS platform to use. +- **mqtt_bridge** (*Optional*): Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your own. +- **mic**: This is the hardware address of your microphone. Look at the Snips ### {% linkable_title Home Assistant configuration %} -A simple configuration just requires this. Consult [Snips.ai component](/components/snips/) for more options. +Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant. ```yaml snips: ``` -### {% linkable_title Home Assistant configuration %} - -There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support. - -### {% linkable_title Examples %} - -So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon. - -Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file. - -```yaml -- platform: darksky - name: "Dark Sky Weather" - api_key: !secret dark_sky_key - update_interval: - minutes: 10 - monitored_conditions: - - summary - - hourly_summary - - temperature - - temperature_max - - temperature_min -``` -Next add this to your `configuration.yaml` file to reference a new `intent_script` component. This is a good practice to [split your configuration files](/docs/configuration/splitting_configuration/) up. - -```yaml -intent_script: !include intent_script.yaml -``` - -Finally, create this `intent_script.yaml` file in your configuration directory. - -{% raw %} -```yaml -searchWeatherForecast: - speech: - type: plain - text: > - The weather is currently - {{ states('sensor.dark_sky_weather_temperature') | round(0) }} - degrees outside and {{ states('sensor.dark_sky_weather_summary') }}. - The high today will be - {{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}} - and {{ states('sensor.dark_sky_weather_hourly_summary') }} -``` -{% endraw %} - -Now just restart HassIO and ask it what the weather is like. - -[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle - +[Snips.ai]: https://snips.ai/ +[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Running-your-first-end-to-end-assistant +[Samba]: /addons/samba/ +[comp]: /components/snips/ diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index 49764d93da..407bb73dee 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -19,9 +19,9 @@ After any changes have been made to the configuration, you need to restart the a Configuration variables: -- **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. +- **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 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 the house. @@ -37,10 +37,10 @@ You will need to add internal communication details to `configuration.yaml` to e tellstick: host: core-tellstick port: [50800, 50801] - + ``` -To add [lights](/components/light.tellstick/), [sensors](/components/sensor.tellstick/) and [switches](/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](/components/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 the `tdtool` via a Home Assistant services call, see example below for self-learning device. diff --git a/source/_components/abode.markdown b/source/_components/abode.markdown index 87b689230b..34ceaada84 100644 --- a/source/_components/abode.markdown +++ b/source/_components/abode.markdown @@ -24,7 +24,7 @@ There is currently support for the following device types within Home Assistant: - [Camera](/components/camera.abode/): Reports on `Camera` devices and will download and show the latest captured still image. - [Cover](/components/cover.abode/): Reports on `Secure Barriers` and can be used to open and close the cover. - [Lock](/components/cover.abode/): Reports on `Door Locks` and can be used to lock and unlock the door. -- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim or turn the light on and off. +- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim, change color, or turn the light on and off. - [Switch](/components/switch.abode/): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them. - [Sensor](/components/sensor.abode/): Reports on `Temperature`, `Humidity`, and `Light` sensors. diff --git a/source/_components/alarm_control_panel.abode.markdown b/source/_components/alarm_control_panel.abode.markdown index 588eb46f40..5df73f1c05 100644 --- a/source/_components/alarm_control_panel.abode.markdown +++ b/source/_components/alarm_control_panel.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Alarm Control Panel" -description: "Instructions on how to setup the Abode Alarm control panel within Home Assistant." +description: "Instructions how to setup the Abode Alarm control panel within Home Assistant." date: 2017-08-26 0:28 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.alarmdecoder.markdown b/source/_components/alarm_control_panel.alarmdecoder.markdown index 98810aaa2a..d677173ebb 100644 --- a/source/_components/alarm_control_panel.alarmdecoder.markdown +++ b/source/_components/alarm_control_panel.alarmdecoder.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AlarmDecoder Alarm Control Panel" -description: "Instructions on how to setup the AlarmDecoder Alarm control panel within Home Assistant." +description: "Instructions how to setup the AlarmDecoder Alarm control panel within Home Assistant." date: 2017-04-02 13:28 sidebar: true comments: false @@ -27,9 +27,7 @@ The Alarm Decoder component gives you access to several services for you to cont - `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered. - `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state. -

-`alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder platform. -

+**Note**: `alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder component. ### {% linkable_title Attributes %} diff --git a/source/_components/alarm_control_panel.alarmdotcom.markdown b/source/_components/alarm_control_panel.alarmdotcom.markdown index 82e1a7774e..895cde8e35 100644 --- a/source/_components/alarm_control_panel.alarmdotcom.markdown +++ b/source/_components/alarm_control_panel.alarmdotcom.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Alarm.com Alarm Control Panel" -description: "Instructions on how to integrate Alarm.com into Home Assistant." +description: "Instructions how to integrate Alarm.com into Home Assistant." date: 2016-01-14 22:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.arlo.markdown b/source/_components/alarm_control_panel.arlo.markdown index e47a6322d6..6d66bef11b 100644 --- a/source/_components/alarm_control_panel.arlo.markdown +++ b/source/_components/alarm_control_panel.arlo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Arlo Control Panel" -description: "Instructions on how to setup the Netgear Arlo Base Stations as a control panel within Home Assistant." +description: "Instructions how to setup the Netgear Arlo Base Stations as a control panel within Home Assistant." date: 2017-10-05 17:45 sidebar: true comments: false @@ -27,11 +27,11 @@ alarm_control_panel: {% configuration %} home_mode_name: - description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to Home Assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app." + description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to home assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app." required: false type: string away_mode_name: - description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to Home Assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app." + description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to home assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app." required: false type: string default: "`Armed` mode in Arlo" @@ -74,3 +74,4 @@ Setting Arlo to a custom mode (mapped to `home_mode_name` in `configuration.yaml You can also completely disarm the Arlo base station by calling the `alarm_control_panel.alarm_disarm` service, and trigger the alarm by calling the `alarm_control_panel.alarm_trigger` service. More examples and configuration options can be found on the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples). + diff --git a/source/_components/alarm_control_panel.concord232.markdown b/source/_components/alarm_control_panel.concord232.markdown index 36f897e21e..86be0b7517 100644 --- a/source/_components/alarm_control_panel.concord232.markdown +++ b/source/_components/alarm_control_panel.concord232.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Concord232 Alarm Control Panel" -description: "Instructions on how to integrate Interlogix/GE Concord4 with RS-232 Automation Control Module into Home Assistant." +description: "Instructions how to integrate Interlogix/GE Concord4 with RS-232 Automation Control Module into Home Assistant." date: 2016-10-11 10:00 sidebar: true comments: false @@ -16,7 +16,7 @@ The `concord232` platform provides integration with GE, Interlogix (and other br 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`: +To enable this platform in home assistant, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry diff --git a/source/_components/alarm_control_panel.egardia.markdown b/source/_components/alarm_control_panel.egardia.markdown index bef700af16..3fdd4d5753 100644 --- a/source/_components/alarm_control_panel.egardia.markdown +++ b/source/_components/alarm_control_panel.egardia.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Egardia / Woonveilig Alarm Control Panel" -description: "Instructions on how to integrate Egardia / Woonveilig into Home Assistant." +description: "Instructions how to integrate Egardia / Woonveilig into Home Assistant." date: 2016-07-02 22:00 sidebar: true comments: false @@ -12,5 +12,57 @@ ha_release: 0.51 ha_category: Alarm --- -The `egardia` platform allows you to integrate your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) alarm control panel in Home Assistant. -You will need to set up your [Egardia hub](/components/egardia/). +The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. + +You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account. + +To enable the integration with your alarm panel, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +alarm_control_panel: + - platform: egardia + host: YOUR_HOST + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +Configuration variables: + +- **host** (*Required*): The local IP address of the Egardia/Woonveilig alarm panel. +- **username** (*Required*): Username for the Egardia/Woonveilig account. +- **password** (*Required*): Password for Egardia/Woonveilig account. +- **version** (*Optional*): The version of the Egardia system. `GATE-01`, `GATE-02` and `GATE-03` are currently supported. Defaults to `GATE-01`. +- **port** (*Optional*): The port of the alarm panel. Defaults to 80. +- **name** (*Optional*): Name to use for the alarm panel. Defaults to `Egardia`. +- **report_server_enabled** (*Optional*): Enable reporting by server. Defaults to `False`. +- **report_server_port** (*Optional*): Port of the Egardia server. Defaults to 52010. +- **report_server_codes** list (*Optional*): List of codes for the different states. + +Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers. +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. +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. + +5. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish. *Note*: previous versions required a separate egardiaserver to be set up. This is no longer necessary and corresponding system services can be removed (using systemctl). diff --git a/source/_components/alarm_control_panel.envisalink.markdown b/source/_components/alarm_control_panel.envisalink.markdown index fe58c6fb4d..b5b6b3d593 100644 --- a/source/_components/alarm_control_panel.envisalink.markdown +++ b/source/_components/alarm_control_panel.envisalink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Envisalink Alarm" -description: "Instructions on how to setup the Envisalink Alarm control panel within Home Assistant." +description: "Instructions how to setup the Envisalink Alarm control panel within Home Assistant." date: 2016-07-01 08:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.ialarm.markdown b/source/_components/alarm_control_panel.ialarm.markdown index d72261c908..db0288b47f 100644 --- a/source/_components/alarm_control_panel.ialarm.markdown +++ b/source/_components/alarm_control_panel.ialarm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Antifurto365 iAlarm Control Panel" -description: "Instructions on how to integrate iAlarms alarms into Home Assistant." +description: "Instructions how to integrate iAlarms alarms into Home Assistant." date: 2017-11-30 20:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.ifttt.markdown b/source/_components/alarm_control_panel.ifttt.markdown deleted file mode 100644 index 9dcf52521f..0000000000 --- a/source/_components/alarm_control_panel.ifttt.markdown +++ /dev/null @@ -1,93 +0,0 @@ ---- -layout: page -title: "IFTTT Alarm Control Panel" -description: "Instructions on how to integrate IFTTT-controlled security systems into Home Assistant." -date: 2018-03-10 21:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: ifttt.png -ha_category: Alarm -ha_release: 0.66 ---- - -The `ifttt` platform allows you to integrate security systems that have no open API but can be controlled through [IFTTT](https://ifttt.com/discover). - -This platform depends on the [IFTTT](/components/ifttt/) Home Assistant component. See the component's documentation to set it up. - -

-It is important to note that this platform fully relies on IFTTT to receive updates when the security system's state changes. Therefore, this platform shows an assumed state. -

- -To enable this, setup the required IFTTT applets as listed below and add the following lines to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -ifttt: - key: YOUR_WEBHOOK_KEY - -alarm_control_panel: - - platform: ifttt - name: YOUR_ALARM_NAME - code: YOUR_ALARM_CODE - event_arm_away: YOUR_ARM_AWAY_EVENT - event_arm_home: YOUR_ARM_HOME_EVENT - event_arm_night: YOUR_ARM_NIGHT_EVENT - event_disarm: YOUR_DISARM_EVENT -``` - -

-It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is adviced to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/). -

- -{% linkable_title Required IFTTT applets %} - -This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm_home` and `alarm_arm_night`. For each of these services, an IFTTT webhook will be triggered. - -For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those. -* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system. -* **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home. -* **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away. -* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night. -* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`. -* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`. -* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`. -* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`. - - -{% configuration %} - name: - description: The name of your Home Assistant alarm control panel. - required: false - type: string - code: - description: The code for the alarm control panel. - required: false - type: string - event_arm_away: - description: IFTTT webhook event to call when the state is set to armed away. - required: false - type: string - default: alarm_arm_away - event_arm_home: - description: IFTTT webhook event to call when the state is set to armed home. - required: false - type: string - default: alarm_arm_home - event_arm_night: - description: IFTTT webhook event to call when the state is set to armed night. - required: false - type: string - default: alarm_arm_night - event_disarm: - description: IFTTT webhook event to call when the state is set to disarmed. - required: false - type: string - default: alarm_disarm - optimistic: - description: Specify if the state will be updated by a ifttt_push_alarm_state call (false) or can be set immediately (true). - required: false - type: boolean - default: false -{% endconfiguration %} diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown index feeda4b768..86509ebe62 100644 --- a/source/_components/alarm_control_panel.manual.markdown +++ b/source/_components/alarm_control_panel.manual.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Manual Alarm Control Panel" -description: "Instructions on how to integrate manual alarms into Home Assistant." +description: "Instructions how to integrate manual alarms into Home Assistant." date: 2015-10-13 19:10 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.manual_mqtt.markdown b/source/_components/alarm_control_panel.manual_mqtt.markdown index 5ceaa64e3a..be1508c676 100644 --- a/source/_components/alarm_control_panel.manual_mqtt.markdown +++ b/source/_components/alarm_control_panel.manual_mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Manual Alarm Control Panel with MQTT Support" -description: "Instructions on how to integrate manual alarms into Home Assistant with MQTT support." +description: "Instructions how to integrate manual alarms into Home Assistant with MQTT support." date: 2017-07-02 9:10 sidebar: true comments: false @@ -58,7 +58,7 @@ The following configuration variables from the base manual alarm platform are av - **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**) - **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**) -See the documentation for the [manual alarm platform](/components/alarm_control_panel.manual/) for a description. +See the documentation for the [manual alarm platform](/component/alarm_control_panel.manual/) for a description. Additionally, the following MQTT configuration variables are also available: diff --git a/source/_components/alarm_control_panel.markdown b/source/_components/alarm_control_panel.markdown index bdc1adf398..ba5f469915 100644 --- a/source/_components/alarm_control_panel.markdown +++ b/source/_components/alarm_control_panel.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Alarm Control Panels" -description: "Instructions on how to integrate Alarm Control Panels into Home Assistant." +description: "Instructions how to integrate Alarm Control Panels into Home Assistant." date: 2015-10-13 19:10 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown index cb93a1b595..199ebacaee 100644 --- a/source/_components/alarm_control_panel.mqtt.markdown +++ b/source/_components/alarm_control_panel.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Alarm Control Panel" -description: "Instructions on how to integrate MQTT capable Alarm Panels into Home Assistant." +description: "Instructions how to integrate MQTT capable Alarm Panels into Home Assistant." date: 2015-09-14 19:10 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.nx584.markdown b/source/_components/alarm_control_panel.nx584.markdown index a98ad9050a..0a14c880db 100644 --- a/source/_components/alarm_control_panel.nx584.markdown +++ b/source/_components/alarm_control_panel.nx584.markdown @@ -1,7 +1,7 @@ --- layout: page title: "NX584 Alarm Control Panel" -description: "Instructions on how to integrate NX584 into Home Assistant." +description: "Instructions how to integrate NX584 into Home Assistant." date: 2016-02-07 10:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.satel_integra.markdown b/source/_components/alarm_control_panel.satel_integra.markdown index a5f8915d08..77752ae7d0 100644 --- a/source/_components/alarm_control_panel.satel_integra.markdown +++ b/source/_components/alarm_control_panel.satel_integra.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Satel Integra Alarm Control Panel" -description: "Instructions on how to setup the Satel Integra control panel within Home Assistant." +description: "Instructions how to setup the Satel Integra control panel within Home Assistant." date: 2017-09-07 13:28 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.simplisafe.markdown b/source/_components/alarm_control_panel.simplisafe.markdown index ac5c14183a..af38f6ad37 100644 --- a/source/_components/alarm_control_panel.simplisafe.markdown +++ b/source/_components/alarm_control_panel.simplisafe.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SimpliSafe Alarm Control Panel" -description: "Instructions on how to integrate SimpliSafe into Home Assistant." +description: "Instructions how to integrate SimpliSafe into Home Assistant." date: 2016-07-02 22:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.spc.markdown b/source/_components/alarm_control_panel.spc.markdown index 5cc4025f00..78e7066f00 100644 --- a/source/_components/alarm_control_panel.spc.markdown +++ b/source/_components/alarm_control_panel.spc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vanderbilt SPC Alarm" -description: "Instructions on how to setup the Vanderbilt SPC Alarm control panel within Home Assistant." +description: "Instructions how to setup the Vanderbilt SPC Alarm control panel within Home Assistant." date: 2017-05-18 22:01 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.totalconnect.markdown b/source/_components/alarm_control_panel.totalconnect.markdown index 821d38075e..668b749205 100644 --- a/source/_components/alarm_control_panel.totalconnect.markdown +++ b/source/_components/alarm_control_panel.totalconnect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Honeywell TotalConnect Alarm Control Panel" -description: "Instructions on how to integrate TotalConnect alarms into Home Assistant." +description: "Instructions how to integrate TotalConnect alarms into Home Assistant." date: 2017-04-02 22:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.verisure.markdown b/source/_components/alarm_control_panel.verisure.markdown index 669de86761..0c06294c3e 100644 --- a/source/_components/alarm_control_panel.verisure.markdown +++ b/source/_components/alarm_control_panel.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure Alarm" -description: "Instructions on how to setup the Verisure Alarm control panel within Home Assistant." +description: "Instructions how to setup the Verisure Alarm control panel within Home Assistant." date: 2016-02-15 22:00 sidebar: true comments: false diff --git a/source/_components/alarm_control_panel.wink.markdown b/source/_components/alarm_control_panel.wink.markdown index e6fee5cdb5..032bbd3cb3 100644 --- a/source/_components/alarm_control_panel.wink.markdown +++ b/source/_components/alarm_control_panel.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Alarm" -description: "Instructions on how to setup the Wink alarms within Home Assistant." +description: "Instructions how to setup the Wink alarms within Home Assistant." date: 2017-01-14 12:00 sidebar: true comments: false diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index 4c59259cde..acdf983305 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Alert" -description: "Instructions on how to setup automatic alerts within Home Assistant." +description: "Instructions how to setup automatic alerts within Home Assistant." date: 2017-01-15 20:00 sidebar: true comments: false diff --git a/source/_components/alexa.markdown b/source/_components/alexa.markdown index 23c8bc9c86..e39048053c 100644 --- a/source/_components/alexa.markdown +++ b/source/_components/alexa.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Alexa / Amazon Echo" -description: "Instructions on how to connect Alexa/Amazon Echo to Home Assistant." +description: "Instructions how to connect Alexa/Amazon Echo to Home Assistant." date: 2015-12-13 13:02 sidebar: true comments: false @@ -46,7 +46,7 @@ Additionally, note that at the time of this writing, your Alexa skill endpoint * OR 2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the `server_port` entry in your `configuration.yaml` file -[blog-lets-encrypt]: /blog/2015/12/13/setup-encryption-using-lets-encrypt/ +[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/ To get started with Alexa skills: @@ -167,7 +167,7 @@ intent_script: text: OK ``` -Here we are using [templates] to take the name we gave to Alexa e.g., `downstairs on` and replace the space with an underscore so it becomes `downstairs_on` as Home Assistant expects. +Here we are using [templates] to take the name we gave to Alexa e.g. `downstairs on` and replace the space with an underscore so it becomes `downstairs_on` as Home Assistant expects. Now say `Alexa ask Home Assistant to activate ` and Alexa will activate that scene for you. @@ -375,7 +375,7 @@ which accepts and returns messages conforming to the [Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html). You must then create an Amazon developer account with an Alexa skill and Lambda function to integrate this endpoint. See -[Haaska](https://github.com/mike-grant/haaska) for an example. +[Haaska](https://github.com/auchter/haaska) for an example. [amazon-dev-console]: https://developer.amazon.com [flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing diff --git a/source/_components/amcrest.markdown b/source/_components/amcrest.markdown index 74c76e70dd..c910e10647 100644 --- a/source/_components/amcrest.markdown +++ b/source/_components/amcrest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Amcrest IP Camera" -description: "Instructions on how to integrate Amcrest IP cameras within Home Assistant." +description: "Instructions how to integrate Amcrest IP cameras within Home Assistant." date: 2017-06-24 10:00 sidebar: true comments: false @@ -13,28 +13,23 @@ ha_iot_class: "Local Polling" ha_release: 0.49 --- -The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant. - -## {% linkable_title Configuration %} +The `amcrest` platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant. To enable your camera in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry amcrest: - - host: IP_ADDRESS_CAMERA_1 - username: YOUR_USERNAME - password: YOUR_PASSWORD + - host: IP_ADDRESS + username: USERNAME + password: PASSWORD sensors: - motion_detector - sdcard - switches: - - motion_detection - - motion_recording - - host: IP_ADDRESS_CAMERA_2 - username: YOUR_USERNAME - password: YOUR_PASSWORD + - host: IP_ADDRESS + username: USERNAME + password: PASSWORD resolution: low stream_source: snapshot sensors: @@ -50,21 +45,18 @@ Configuration variables: - **port** (*Optional*): The port that the camera is running on. The default is 80. - **resolution** (*Optional*): This parameter allows you to specify the camera resolution. For a high resolution (1080/720p), specify the option `high`. For VGA resolution (640x480p), specify the option `low`. If omitted, it defaults to *high*. - **stream_source** (*Optional*): The data source for the live stream. `mjpeg` will use the camera's native MJPEG stream, whereas `snapshot` will use the camera's snapshot API to create a stream from still images. You can also set the `rtsp` option to generate the streaming via RTSP protocol. If omitted, it defaults to *snapshot*. -- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. +- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g. image quality or video filter options. - **authentication**: (*Optional*): Defines which authentication method to use only when **stream_source** is **mjpeg**. Currently, *aiohttp* only support *basic*. It defaults to *basic*. - **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds. The default is 10 seconds. - **sensors** array (*Optional*): Conditions to display in the frontend. By default, *none* of the conditions are enabled. The following conditions can be monitored. - **motion_detector**: Return True/False when a motion is detected - **sdcard**: Return the SD card usage by reporting the total and used space - **ptz_preset**: Return the number of PTZ preset positions configured for the given camera -- **switches** array (*Optional*): Switches to display in the frontend. By default, *none* of the switches are shown. The following switches can be monitored. - - **motion_detection**: Enable/disable motion detection setting - - **motion_recording**: Enable/disable recording on motion detection setting **Note:** Amcrest cameras with newer firmware no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. If you defined the *stream_source* to **mjpeg**, make sure your camera supports *Basic* HTTP authentication. Newer Amcrest firmware may not work, then **rtsp** is recommended instead. **Note:** If you set the `stream_source` option to `rtsp`, make sure to follow the steps mentioned at -[FFMPEG](/components/ffmpeg/) documentation to install the `ffmpeg`. +[FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation to install the `ffmpeg`. Finish its configuration by visiting the [Amcrest sensor page](/components/sensor.amcrest/) or [Amcrest camera page](/components/camera.amcrest/). diff --git a/source/_components/android_ip_webcam.markdown b/source/_components/android_ip_webcam.markdown index c616b33a35..5a62ccefde 100644 --- a/source/_components/android_ip_webcam.markdown +++ b/source/_components/android_ip_webcam.markdown @@ -48,9 +48,6 @@ Sensors: - light - motion - pressure -- proximity -- sound -- video_connections Settings (Switches): @@ -79,9 +76,6 @@ android_ip_webcam: - light - motion - pressure - - proximity - - sound - - video_connections switches: - exposure_lock - ffc diff --git a/source/_components/api.markdown b/source/_components/api.markdown index ba1097738e..cdac55a1b4 100644 --- a/source/_components/api.markdown +++ b/source/_components/api.markdown @@ -1,7 +1,7 @@ --- layout: page title: "API" -description: "Instructions on how to setup the RESTful API within Home Assistant." +description: "Instructions how to setup the RESTful API within Home Assistant." date: 2018-01-21 08:00 sidebar: true comments: false diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index 93d192a00c..bba7b7ac78 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Apple TV" -description: "Instructions on how to integrate Apple TV devices into Home Assistant." +description: "Instructions how to integrate Apple TV devices into Home Assistant." date: 2017-06-26 20:47 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_iot_class: "Local Push" ha_release: 0.49 --- -The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generation). See the [remote platform](/components/remote.apple_tv/) if you want to send remote control buttons, e.g., arrow keys. +The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generation). See the [remote platform](/components/remote.apple_tv/) if you want to send remote control buttons, e.g. arrow keys.

Currently, you must have Home Sharing enabled for this to work. Support for pairing Home Assistant with your device will be supported in a later release. @@ -92,7 +92,7 @@ then device authentication is required. Press the icon in the upper left corner -Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{"entity_id": "XXX"}` into "Service Data", but replace XXX with the entity id of your device (e.g., `media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code: +Select `apple_tv` as domain, `apple_tv_authenticate` as service and enter `{"entity_id": "XXX"}` into "Service Data", but replace XXX with the entity id of your device (e.g. `media_player.apple_tv`). Press the button and hopefully you are presented with an input dialog asking for a pin code: @@ -143,3 +143,4 @@ To play media on an Apple TV with device authentication enabled (e.g., ATV4 with ### {% linkable_title Service `apple_tv_scan` %} Scans the local network for Apple TVs. All found devices are presented as a persistent notification. + diff --git a/source/_components/arduino.markdown b/source/_components/arduino.markdown index ca16dd32b7..5105f19c4c 100644 --- a/source/_components/arduino.markdown +++ b/source/_components/arduino.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Arduino" -description: "Instructions on how to setup an Arduino boards within Home Assistant." +description: "Instructions how to setup an Arduino boards within Home Assistant." date: 2015-06-27 10:28 sidebar: true comments: false @@ -43,7 +43,7 @@ The exact number can be determined with the command shown below. $ ls /dev/ttyACM* ``` -If that's not working, check your `dmesg` or `journalctl -f` output. Keep in mind that Arduino clones are often using a different name for the port (e.g., `/dev/ttyUSB*`). +If that's not working, check your `dmesg` or `journalctl -f` output. Keep in mind that Arduino clones are often using a different name for the port (e.g. `/dev/ttyUSB*`).

A word of caution: The Arduino boards are not storing states. This means that with every initialization the pins are set to off/low. diff --git a/source/_components/arlo.markdown b/source/_components/arlo.markdown index e82ade68d1..479a771329 100644 --- a/source/_components/arlo.markdown +++ b/source/_components/arlo.markdown @@ -15,27 +15,19 @@ ha_iot_class: "Cloud Polling" The `arlo` implementation allows you to integrate your [Arlo](https://arlo.netgear.com/) devices in Home Assistant. -## {% linkable_title Configuration %} - To enable device linked in your [Arlo](https://arlo.netgear.com/) account, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry arlo: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: secret ``` -{% configuration %} -username: - description: The username for accessing your Arlo account. - required: true - type: string -password: - description: The password for accessing your Arlo account. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): The username for accessing your Arlo account. +- **password** (*Required*): The password for accessing your Arlo account. It is recommended to create a dedicated user on Arlo website to be used within Home Assistant and then share your Arlo cameras. diff --git a/source/_components/asterisk_mbox.markdown b/source/_components/asterisk_mbox.markdown index 2361dfe0c9..d0d7ba72fe 100644 --- a/source/_components/asterisk_mbox.markdown +++ b/source/_components/asterisk_mbox.markdown @@ -1,32 +1,31 @@ --- layout: page title: "Asterisk Voicemail" -description: "Instructions on how to integrate your existing Asterisk voicemail within Home Assistant." +description: "Instructions how to integrate your existing Asterisk voicemail within Home Assistant." date: 2017-06-30 18:30 sidebar: true comments: false sharing: true footer: true -logo: asterisk.png ha_category: Other ha_version: 0.51 ha_iot_class: "Local Push" --- -The `asterisk_mbox `Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine. +The Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine. To enable the component, a configuration is required in both Home Assistant as well as on the Asterisk server. -First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox/) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server) +First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server) Once that is complete, add the following entry `configuration.yaml` file: ```yaml # Example configuration.yaml entry asterisk_mbox: - password: ASTERISK_PBX_PASSWORD - host: ASTERISK_PBX_SERVER_IP_ADDRESS - port: ASTERISK_PBX_SERVER_PORT + password: ASTERISK_PBX_PASSWORD + host: ASTERISK_PBX_SERVER_IP_ADDRESS + port: ASTERISK_PBX_SERVER_PORT ``` This will add a new 'Mailbox' side-panel, as well as a sensor to indicate # of messages available. diff --git a/source/_components/august.markdown b/source/_components/august.markdown deleted file mode 100644 index 818002e14c..0000000000 --- a/source/_components/august.markdown +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: page -title: "August" -description: "Instructions on how to integrate your August devices into Home Assistant." -date: 2018-02-17 22:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: august.png -ha_category: Hub -ha_release: "0.64" -ha_iot_class: "Cloud Polling" ---- - -The `august` component allows you to integrate your [August](http://august.com) devices in Home Assistant. Currently this component supports August Lock and Doorbell. - -

-August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant. -

- -## {% linkable_title Configuration %} - -You will need your August login information (username (either phone# or email), and password) to use this module. - -To set it up, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -august: - login_method: phone - username: "+16041234567" - password: YOUR_PASSWORD -``` - -{% configuration %} -login_method: - description: Method to login to your August account, either "email" or "phone". A verification code will be sent to your email or phone during setup. - required: true - type: string -username: - description: The username for accessing your August account. This depends on your login_method, if login_method is email, this will be your email of the account. Otherwise, this will be your phone number. - required: true - type: string -password: - description: The password for accessing your August account. - required: true - type: string -timeout: - description: Timeout to wait for connections. - required: false - type: int - default: 10 -{% endconfiguration %} - -Once Home Assistant is started, a configurator will pop up asking you to enter verification code that is sent to your phone number or email. diff --git a/source/_components/automation.markdown b/source/_components/automation.markdown index 658c0ebc63..181d28ba12 100644 --- a/source/_components/automation.markdown +++ b/source/_components/automation.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Automation" -description: "Instructions on how to setup automation within Home Assistant." +description: "Instructions how to setup automation within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false @@ -19,7 +19,7 @@ Starting with 0.28 your automation rules can be controlled with the frontend.

-This allows one to reload the automation without restarting Home Assistant itself. If you don't want to see the automation rule in your frontend use `hide_entity: True` to hide it. You can also use `initial_state: 'off'` so that the automation is not automatically turned on after a Home Assistant reboot. +This allows one to reload the automation without restarting Home Assistant itself. If you don't want to see the automation rule in your frontend use `hide_entity: True` to hide it. You can also use `initial_state: 'off'` so that the automation is not automatically turned on after a Home assistant reboot. ```yaml automation: diff --git a/source/_components/bbb_gpio.markdown b/source/_components/bbb_gpio.markdown index 785aec4f2d..ab6a13d94e 100644 --- a/source/_components/bbb_gpio.markdown +++ b/source/_components/bbb_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BeagleBone Black GPIO" -description: "Instructions on how to integrate the GPIO capability of a BeagleBone Black into Home Assistant." +description: "Instructions how to integrate the GPIO capability of a BeagleBone Black into Home Assistant." date: 2017-01-14 10:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.abode.markdown b/source/_components/binary_sensor.abode.markdown index def5cabb19..14e8e14533 100644 --- a/source/_components/binary_sensor.abode.markdown +++ b/source/_components/binary_sensor.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Binary Sensor" -description: "Instructions on how to integrate Abode binary sensors into Home Assistant." +description: "Instructions how to integrate Abode binary sensors into Home Assistant." date: 2017-08-26 0:28 sidebar: true comments: false diff --git a/source/_components/binary_sensor.alarmdecoder.markdown b/source/_components/binary_sensor.alarmdecoder.markdown index 92cfa7fa4e..1bfbd1be9f 100644 --- a/source/_components/binary_sensor.alarmdecoder.markdown +++ b/source/_components/binary_sensor.alarmdecoder.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AlarmDecoder Binary Sensor" -description: "Instructions on how to integrate AlarmDecoder binary sensors into Home Assistant." +description: "Instructions how to integrate AlarmDecoder binary sensors into Home Assistant." date: 2017-04-02 13:28 sidebar: true comments: false diff --git a/source/_components/binary_sensor.android_ip_webcam.markdown b/source/_components/binary_sensor.android_ip_webcam.markdown index 0c5c2abbe8..80775c3b2e 100644 --- a/source/_components/binary_sensor.android_ip_webcam.markdown +++ b/source/_components/binary_sensor.android_ip_webcam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Android IP Webcam Binary Sensor" -description: "Instructions on how to integrate binary motion sensors for Android IP webcam within Home Assistant." +description: "Instructions how to integrate binary motion sensors for Android IP webcam within Home Assistant." date: 2017-03-10 00:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown index d18a2d321a..8b359f464a 100644 --- a/source/_components/binary_sensor.arest.markdown +++ b/source/_components/binary_sensor.arest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "aREST Binary Sensor" -description: "Instructions on how to integrate aREST binary sensors within Home Assistant." +description: "Instructions how to integrate aREST binary sensors within Home Assistant." date: 2015-11-20 18:15 sidebar: true comments: false @@ -28,7 +28,7 @@ binary_sensor: Configuration variables: -- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10. +- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. - **pin** (*Required*): Number of the pin to monitor. - **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used. diff --git a/source/_components/binary_sensor.august.markdown b/source/_components/binary_sensor.august.markdown deleted file mode 100644 index be793af19b..0000000000 --- a/source/_components/binary_sensor.august.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: page -title: "August Binary Sensor" -description: "Instructions on how to integrate your August devices into Home Assistant." -date: 2018-02-17 22:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: august.png -ha_category: Binary Sensor -ha_release: "0.64" -ha_iot_class: "Cloud Polling" ---- - -To get your [August](http://august.com) doorbell binary sensors working within Home Assistant, please follow the instructions for the general [August component](/components/august/). - -If you have August Doorbell, once you have enabled the [August component](/components/august/), you should see following sensors: - -* Doorbell ding sensor -* Doorbell motion sensor -* Doorbell online sensor diff --git a/source/_components/binary_sensor.axis.markdown b/source/_components/binary_sensor.axis.markdown index 939cc8f76d..77ece6d147 100644 --- a/source/_components/binary_sensor.axis.markdown +++ b/source/_components/binary_sensor.axis.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Axis Binary Sensor" -description: "Instructions on how to integrate Axis binary sensors into Home Assistant." +description: "Instructions how to integrate Axis binary sensors into Home Assistant." date: 2017-04-01 19:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index ad52a8e85f..0d2858e982 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Bayesian Binary Sensor" -description: "Instructions on how to integrate threshold Bayesian sensors into Home Assistant." +description: "Instructions how to integrate threshold Bayesian sensors into Home Assistant." date: 2017-08-27 20:05 sidebar: true comments: false diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index be2a9bd9fb..b7236d5468 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BeagleBone Black GPIO Binary Sensor" -description: "Instructions on how to integrate the GPIO sensor capability of a BeagleBone Black into Home Assistant." +description: "Instructions how to integrate the GPIO sensor capability of a BeagleBone Black into Home Assistant." date: 2017-01-14 10:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.bmw_connected_drive.markdown b/source/_components/binary_sensor.bmw_connected_drive.markdown deleted file mode 100755 index 74330ec563..0000000000 --- a/source/_components/binary_sensor.bmw_connected_drive.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "BMW Connected Drive Binary Sensor" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." -date: 2018-02-22 23:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: bmw.png -ha_category: Binary Sensor -ha_release: 0.66 ---- - - -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. - -The binary sensors will be automatically configured if `bmw_connected_drive` component is configured. - -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index b37d6e40bb..f966144470 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Command line Binary Sensor" -description: "Instructions on how to integrate Command binary sensors within Home Assistant." +description: "Instructions how to integrate Command binary sensors within Home Assistant." date: 2016-01-13 12:15 sidebar: true comments: false diff --git a/source/_components/binary_sensor.concord232.markdown b/source/_components/binary_sensor.concord232.markdown index 39320bb672..4378b5fb14 100644 --- a/source/_components/binary_sensor.concord232.markdown +++ b/source/_components/binary_sensor.concord232.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Concord232 Binary Sensor" -description: "Instructions on how to integrate Interlogix/GE Concord4 binary sensors into Home Assistant." +description: "Instructions how to integrate Interlogix/GE Concord4 binary sensors into Home Assistant." date: 2016-10-11 10:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.deconz.markdown b/source/_components/binary_sensor.deconz.markdown index f049948283..f06c89241b 100644 --- a/source/_components/binary_sensor.deconz.markdown +++ b/source/_components/binary_sensor.deconz.markdown @@ -17,10 +17,8 @@ See the [deCONZ main component](/components/deconz/) for configuration instructi The following sensor types are supported: - * Fire/Smoke detection * Open/Close detection * Presence detection - * Water leakage detection Entity ids will be binary_sensor.device_name, where device_name is defined in deCONZ. diff --git a/source/_components/binary_sensor.ecobee.markdown b/source/_components/binary_sensor.ecobee.markdown index 25f58c42cb..189c943bf9 100644 --- a/source/_components/binary_sensor.ecobee.markdown +++ b/source/_components/binary_sensor.ecobee.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ecobee Binary Sensor" -description: "Instructions on how to setup the Ecobee sensors within Home Assistant." +description: "Instructions how to setup the Ecobee sensors within Home Assistant." date: 2015-11-30 18:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.egardia.markdown b/source/_components/binary_sensor.egardia.markdown deleted file mode 100644 index d418559f8e..0000000000 --- a/source/_components/binary_sensor.egardia.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Egardia Binary Sensor" -description: "Instructions on how to integrate Egardia / Woonveilig binary sensors into Home Assistant." -date: 2018-03-02 09:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: egardia.png -ha_release: 0.65 -ha_category: Binary Sensor -ha_iot_class: "Polling" ---- - -The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant. -Currently only door contacts are supported. IR sensors are not supported and will probably never be since their status cannot be read outside of the alarm control panel. Smoke sensors and others might be added but currently are not supported. - -You will need to set up your [Egardia hub](/components/egardia/). diff --git a/source/_components/binary_sensor.eight_sleep.markdown b/source/_components/binary_sensor.eight_sleep.markdown index cf9f2c52bf..fa949ae66e 100644 --- a/source/_components/binary_sensor.eight_sleep.markdown +++ b/source/_components/binary_sensor.eight_sleep.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Eight Sleep Binary Sensor" -description: "Instructions on how to integrate binary motion sensors for Eight Sleep within Home Assistant." +description: "Instructions how to integrate binary motion sensors for Eight Sleep within Home Assistant." date: 2017-04-24 00:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.envisalink.markdown b/source/_components/binary_sensor.envisalink.markdown index 52735a8dbf..6e56da0b94 100644 --- a/source/_components/binary_sensor.envisalink.markdown +++ b/source/_components/binary_sensor.envisalink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Envisalink Binary Sensor" -description: "Instructions on how to integrate Envisalink binary sensors into Home Assistant." +description: "Instructions how to integrate Envisalink binary sensors into Home Assistant." date: 2016-07-01 08:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index 6635bae9e6..453c76d7e0 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -42,7 +42,7 @@ Configuration variables: - **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds. - **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated). - **repeat_time** (*Optional*): The span of time *repeat* events need to occur in before triggering a motion. Defaults to 0 seconds (deactivated). -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., video denoise filtering. +- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. video denoise filtering. To experiment with values (changes/100 is the scene value in `ffmpeg`): diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index d68ec7d163..16b1876143 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -39,7 +39,7 @@ Configuration variables: - **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state. - **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak. - **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering. -- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered. +- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g. to stream with Sonos after a state is triggered. To experiment with values: diff --git a/source/_components/binary_sensor.flic.markdown b/source/_components/binary_sensor.flic.markdown index 3767ed7476..558c30b3a0 100644 --- a/source/_components/binary_sensor.flic.markdown +++ b/source/_components/binary_sensor.flic.markdown @@ -1,7 +1,7 @@ --- layout: page title: Flic Smart Button -description: "Instructions on how to integrate flic buttons within Home Assistant." +description: "Instructions how to integrate flic buttons within Home Assistant." date: 2016-12-02 22:03 sidebar: true comments: false diff --git a/source/_components/binary_sensor.hikvision.markdown b/source/_components/binary_sensor.hikvision.markdown index 7e93130271..ae37f2e979 100644 --- a/source/_components/binary_sensor.hikvision.markdown +++ b/source/_components/binary_sensor.hikvision.markdown @@ -15,22 +15,18 @@ ha_iot_class: "Local Push" The Hikvision Binary Sensor is a platform that parses the event stream of a [Hikvision IP Camera or NVR](http://www.hikvision.com/) and presents the camera/nvr events to Home Assistant as binary sensors with either an "off" or "on" state. -The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below. - -

-In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center/Trigger Alarm Output' permission which can be enabled from the user management section of the web interface. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security/authentication section. -

+The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below. For example, if you configure a camera with the name "Front Porch" that has motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant: -```text +``` binary_sensor.front_porch_motion binary_sensor.front_port_line_crossing ``` -When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant: +When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant: -```text +``` binary_sensor.home_motion_1 binary_sensor.home_motion_2 binary_sensor.home_line_crossing_1 @@ -38,37 +34,35 @@ binary_sensor.home_line_crossing_2 ``` This platform should work with all Hikvision cameras and nvrs, and has been confirmed to work with the following models: - - DS-2CD3132-I - DS-2CD2232-I5 - DS-2CD2032-I - DS-2CD2042WD-I - DS-2CD2142FWD-I -To enable this sensor, the following lines are required in your `configuration.yaml` file: +To enable this sensor, the following lines are required in your `configuration.yaml`: ```yaml binary_sensor: - - platform: hikvision - host: IP_ADDRESS - username: user - password: pass + platform: hikvision + host: IP_ADDRESS + username: user + password: pass ``` Configuration options for a Hikvision Sensor: -- **host** (*Required*): The IP address of the camera you would like to connect to. -- **username** (*Required*): The username to authenticate with. -- **password** (*Required*): The password to authenticate with. - **name** (*Optional*): The name you'd like to give the camera in Home Assistant, defaults to name defined in the camera. +- **host** (*Required*): The IP address of the camera you would like to connect to. - **port** (*Optional*): The port to connect to the camera on, defaults to 80. - **ssl** (*Optional*): True if you want to connect with https. Be sure to set the port also. +- **username** (*Required*): The username to authenticate with. +- **password** (*Required*): The password to authenticate with. - **customize** (*Optional*): This attribute contains sensor-specific override values. Only sensor name needs defined: - **ignored** (*Optional*): Ignore this sensor completely. It won't be shown in the Web Interface and no events are generated for it. - **delay** (*Optional*): Specify the delay to wait after a sensor event ends before notifying Home Assistant. This is useful to catch multiple quick trips in one window without the state toggling on and off. The default delay is 5 seconds. Supported sensor/event types are: - - Motion - Line Crossing - Field Detection @@ -86,36 +80,37 @@ Supported sensor/event types are: - Face Detection - Scene Change Detection + Example of a configuration in your `configuration.yaml` that utilizes the customize options for a camera: ```yaml binary_sensor: - - platform: hikvision - host: 192.168.X.X - port: 80 - ssl: False - username: user - password: pass - customize: - motion: - delay: 30 - line_crossing: - ignored: True + platform: hikvision + host: 192.168.X.X + port: 80 + ssl: False + username: user + password: pass + customize: + motion: + delay: 30 + line_crossing: + ignored: True ``` Example of a configuration in your `configuration.yaml` that utilizes the customize options for a nvr: ```yaml binary_sensor: - - platform: hikvision - host: 192.168.X.X - port: 80 - ssl: False - username: user - password: pass - customize: - motion_1: - delay: 30 - field_detection_2: - ignored: True + platform: hikvision + host: 192.168.X.X + port: 80 + ssl: False + username: user + password: pass + customize: + motion_1: + delay: 30 + field_detection_2: + ignored: True ``` diff --git a/source/_components/binary_sensor.hive.markdown b/source/_components/binary_sensor.hive.markdown index 49486d62d7..ef695f4601 100644 --- a/source/_components/binary_sensor.hive.markdown +++ b/source/_components/binary_sensor.hive.markdown @@ -14,12 +14,11 @@ ha_iot_class: "Cloud Polling" --- -The `hive` binary sensor component integrates your Hive sensors into Home Assistant. +The 'hive' binary sensor component integrates your Hive sensors into Home Assistant. -The platform supports the following Hive products: - -- Hive Window or Door Sensor -- Hive Motion Sensor +The Hive sensor component supports the following Hive products: +- **Hive Window or Door Sensor** +- **Hive Motion Sensor**

diff --git a/source/_components/binary_sensor.homematic.markdown b/source/_components/binary_sensor.homematic.markdown index 5155aedeea..37140c8433 100644 --- a/source/_components/binary_sensor.homematic.markdown +++ b/source/_components/binary_sensor.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Binary Sensor" -description: "Instructions on how to integrate binary Homematic sensors within Home Assistant." +description: "Instructions how to integrate binary Homematic sensors within Home Assistant." date: 2016-06-28 08:30 sidebar: true comments: false diff --git a/source/_components/binary_sensor.http.markdown b/source/_components/binary_sensor.http.markdown index c2442aa881..aaddf8a725 100644 --- a/source/_components/binary_sensor.http.markdown +++ b/source/_components/binary_sensor.http.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HTTP Binary Sensor" -description: "Instructions on how to integrate HTTP binary sensors within Home Assistant." +description: "Instructions how to integrate HTTP binary sensors within Home Assistant." date: 2016-02-05 12:15 sidebar: true comments: false diff --git a/source/_components/binary_sensor.ihc.markdown b/source/_components/binary_sensor.ihc.markdown index da5aac7615..5a3d7769de 100644 --- a/source/_components/binary_sensor.ihc.markdown +++ b/source/_components/binary_sensor.ihc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IHC Binary Sensor" -description: "Instructions on how to integrate IHC Binary Sensors within Home Assistant." +description: "Instructions how to integrate IHC Binary Sensors within Home Assistant." date: 2017-11-27 13:35 sidebar: true comments: false diff --git a/source/_components/binary_sensor.insteon_plm.markdown b/source/_components/binary_sensor.insteon_plm.markdown index d06c324a44..bd685df7c2 100644 --- a/source/_components/binary_sensor.insteon_plm.markdown +++ b/source/_components/binary_sensor.insteon_plm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon PLM Binary Sensor" -description: "Instructions on how to setup the Insteon PLM binary sensors locally within Home Assistant." +description: "Instructions how to setup the Insteon PLM switches locally within Home Assistant." date: 2017-02-19 17:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.isy994.markdown b/source/_components/binary_sensor.isy994.markdown index 2cb7345d0e..1318ef67d1 100644 --- a/source/_components/binary_sensor.isy994.markdown +++ b/source/_components/binary_sensor.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Binary Sensor" -description: "Instructions on how to integrate ISY994 binary sensors into Home Assistant." +description: "Instructions how to integrate ISY994 binary sensors into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index d51c9effbb..73c747601a 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "KNX Binary Sensor" -description: "Instructions on how to setup the KNX binary sensors within Home Assistant." +description: "Instructions how to setup the KNX binary sensors within Home Assistant." date: 2016-07-13 07:00 sidebar: true comments: false @@ -25,16 +25,14 @@ binary_sensor: address: '6/0/2' device_class: 'motion' #significant_bit: 2 - #reset_after: 100 ``` Configuration variables: - **name** (*Optional*): A name for this device used within Home Assistant. - **address**: KNX group address of the binary sensor. -- **device_class** (Optional): HASS device class e.g., "motion". +- **device_class** (Optional): HASS device class e.g. "motion". - **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1. -- **reset_after** (Optional): Reset back to OFF state after specified milliseconds. You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index fe8f4a5107..781f4f4557 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -11,8 +11,6 @@ footer: true Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality. -### {% linkable_title Device Class %} - The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors: - **None**: Generic on/off. This is the default and doesn't need to be set. @@ -24,7 +22,6 @@ The way these sensors are displayed in the frontend can be modified in the [cust - **gas**: `On` means gas detected, `Off` means no gas (clear) - **heat**: `On` means hot, `Off` means normal - **light**: `On` means light detected, `Off` means no light -- **lock**: `On` means open (unlocked), `Off` means closed (locked) - **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry) - **motion**: `On` means motion detected, `Off` means no motion (clear) - **moving**: `On` means moving, `Off` means not moving (stopped) @@ -40,9 +37,4 @@ The way these sensors are displayed in the frontend can be modified in the [cust - **vibration**: `On` means vibration detected, `Off` means no vibration (clear) - **window**: `On` means open, `Off` means closed -For analog sensors please check the [component overview](/components/#sensor). - -

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

+For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor). diff --git a/source/_components/binary_sensor.mercedesme.markdown b/source/_components/binary_sensor.mercedesme.markdown deleted file mode 100644 index e1df898d49..0000000000 --- a/source/_components/binary_sensor.mercedesme.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "Mercedes me Binary Sensor" -description: "Instructions on how to integrate Mercedes me binary sensors into Home Assistant." -date: 2018-01-27 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: mercedesme.png -ha_category: Binary Sensor -ha_iot_class: "Cloud polling" -ha_release: 0.63 ---- - -The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors like windows, doors, lock, tire warnings from within Home Assistant. - -They will be automatically discovered if the Mercedes me component is loaded. - -For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation. diff --git a/source/_components/binary_sensor.modbus.markdown b/source/_components/binary_sensor.modbus.markdown index 62f5765dd3..55450b908e 100644 --- a/source/_components/binary_sensor.modbus.markdown +++ b/source/_components/binary_sensor.modbus.markdown @@ -15,12 +15,10 @@ ha_iot_class: "Local Push" The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils. -## {% linkable_title Configuration %} - To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry binary_sensor: - platform: modbus coils: @@ -41,7 +39,7 @@ Configuration variables: It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. -## {% linkable_title Full example %} +### {% linkable_title Full example %} Example a sensor with a 10 seconds scan interval: diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index 92ac12ccb0..b9b0b2ba55 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Binary Sensor" -description: "Instructions on how to integrate MQTT binary sensors within Home Assistant." +description: "Instructions how to integrate MQTT binary sensors within Home Assistant." date: 2015-05-30 23:21 sidebar: true comments: false @@ -17,8 +17,6 @@ The `mqtt` binary sensor platform uses an MQTT message payload to set the binary The binary sensor state will be updated only after a new message is published on `state_topic` matching `payload_on` or `payload_off`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`. -## {% linkable_title Configuration %} - The `mqtt` binary sensor platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT device. During normal operation, if the MQTT cover device goes offline (i.e., publishes `payload_not_available` to `availability_topic`), Home Assistant will display the binary sensor as `unavailable`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant update after subscription and Home Assistant will display the correct availability state of the binary sensor when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the binary sensor as `unavailable` when Home Assistant starts up. If no `availability_topic` is defined, Home Assistant will consider the MQTT device to be available. To use an MQTT binary sensor in your installation, add the following to your `configuration.yaml` file: @@ -44,12 +42,12 @@ payload_on: description: The payload that represents the on state. required: false type: string - default: "ON" + default: ON payload_off: description: The payload that represents the off state. required: false type: string - default: "OFF" + default: OFF availability_topic: description: "The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default." required: false @@ -77,11 +75,6 @@ value_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." required: false type: string -force_update: - description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history. - reqired: false - type: boolean - default: False {% endconfiguration %} @@ -133,7 +126,7 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry binary_sensor: - platform: mqtt name: Bathroom diff --git a/source/_components/binary_sensor.mysensors.markdown b/source/_components/binary_sensor.mysensors.markdown index 6138b927af..488bb713f6 100644 --- a/source/_components/binary_sensor.mysensors.markdown +++ b/source/_components/binary_sensor.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Binary Sensor" -description: "Instructions on how to integrate MySensors binary sensors into Home Assistant." +description: "Instructions how to integrate MySensors binary sensors into Home Assistant." date: 2016-04-13 14:20 +0100 sidebar: true comments: false diff --git a/source/_components/binary_sensor.mystrom.markdown b/source/_components/binary_sensor.mystrom.markdown index f46df4afc1..6d093a2f25 100644 --- a/source/_components/binary_sensor.mystrom.markdown +++ b/source/_components/binary_sensor.mystrom.markdown @@ -1,7 +1,7 @@ --- layout: page title: "myStrom Binary Sensor" -description: "Instructions on how to integrate myStrom buttons into Home Assistant." +description: "Instructions how to integrate myStrom buttons into Home Assistant." date: 2017-04-14 08:15 sidebar: true comments: false diff --git a/source/_components/binary_sensor.nest.markdown b/source/_components/binary_sensor.nest.markdown index 4cb47776c6..fa0a264474 100644 --- a/source/_components/binary_sensor.nest.markdown +++ b/source/_components/binary_sensor.nest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest Binary Sensor" -description: "Instructions on how to integrate Nest binary sensors within Home Assistant." +description: "Instructions how to integrate Nest binary sensors within Home Assistant." date: 2016-01-26 08:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.netatmo.markdown b/source/_components/binary_sensor.netatmo.markdown index da2f8ab1fe..57d01bbd08 100644 --- a/source/_components/binary_sensor.netatmo.markdown +++ b/source/_components/binary_sensor.netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo Binary Sensor" -description: "Instructions on how to integrate Netatmo binary sensor into Home Assistant." +description: "Instructions how to integrate Netatmo binary sensor into Home Assistant." date: 2016-09-19 15:10 sidebar: true comments: false diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown index 369205ad94..c4bf736c3b 100644 --- a/source/_components/binary_sensor.octoprint.markdown +++ b/source/_components/binary_sensor.octoprint.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OctoPrint Binary Sensor" -description: "Instructions on how to integrate OctoPrint binary sensors within Home Assistant." +description: "Instructions how to integrate OctoPrint binary sensors within Home Assistant." date: 2016-05-05 08:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.pilight.markdown b/source/_components/binary_sensor.pilight.markdown index ee7a729196..4ccf527392 100644 --- a/source/_components/binary_sensor.pilight.markdown +++ b/source/_components/binary_sensor.pilight.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pilight Binary Sensor" -description: "Instructions on how to integrate Pilight binary sensors within Home Assistant." +description: "Instructions how to integrate Pilight binary sensors within Home Assistant." date: 2017-03-24 20:41 sidebar: true comments: false @@ -15,12 +15,10 @@ ha_iot_class: "Local Polling" The `pilight` binary sensor platform implement the [pilight hub](/components/pilight/) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector). - - To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry binary_sensor: - platform: pilight variable: 'state' diff --git a/source/_components/binary_sensor.ping.markdown b/source/_components/binary_sensor.ping.markdown index b0be627136..d8d8ec310b 100644 --- a/source/_components/binary_sensor.ping.markdown +++ b/source/_components/binary_sensor.ping.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ping (ICMP) Binary sensor" -description: "Instructions on how to integrate Ping (ICMP)-based binary sensors into Home Assistant." +description: "Instructions how to integrate Ping (ICMP)-based binary sensors into Home Assistant." date: 2017-04-11 08:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.qwikswitch.markdown b/source/_components/binary_sensor.qwikswitch.markdown deleted file mode 100644 index e3fd446a3b..0000000000 --- a/source/_components/binary_sensor.qwikswitch.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "QwikSwitch Binary Sensor" -description: "Instructions on how to integrate Qwikswitch dimmers and relays as sensors into Home Assistant." -date: 2016-05-04 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: qwikswitch.png -ha_category: Sensor -ha_iot_class: "Local Push" -ha_release: "0.68" ---- - -The `qwikswitch` binary_sensor platform allows you to use your [QwikSwitch](http://www.qwikswitch.co.za/) sensors within Home Assistant. - -The platform is configured through the [QwikSwitch component](/components/qwikswitch/). diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index b1208681a8..ea8de4b90c 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Random Binary Sensor" -description: "Instructions on how to integrate random state sensors into Home Assistant." +description: "Instructions how to integrate random state sensors into Home Assistant." date: 2017-10-27 08:00 sidebar: true comments: false @@ -16,8 +16,6 @@ ha_release: 0.57 The `random` binary sensor platform is creating random states (`True`, 1, `on` or `False`, 0, `off`). This can be useful if you want to test automation rules. It generates a new state every time it is polled. -## {% linkable_title Configuration %} - To enable the random binary sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/binary_sensor.raspihats.markdown b/source/_components/binary_sensor.raspihats.markdown index 50d031c457..83f355aaf5 100644 --- a/source/_components/binary_sensor.raspihats.markdown +++ b/source/_components/binary_sensor.raspihats.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspihats Binary Sensor" -description: "Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a binary_sensor." +description: "Instructions how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a binary_sensor." date: 2017-05-01 04:09 sidebar: true comments: false diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown index d882e5b406..4739781d2f 100644 --- a/source/_components/binary_sensor.rest.markdown +++ b/source/_components/binary_sensor.rest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RESTful Binary Sensor" -description: "Instructions on how to integrate REST binary sensors into Home Assistant." +description: "Instructions how to integrate REST binary sensors into Home Assistant." date: 2015-12-17 19:10 sidebar: true comments: false diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index 296af16317..c676c46cec 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx Binary Sensor" -description: "Instructions on how to integrate RFXtrx binary sensors into Home Assistant." +description: "Instructions how to integrate RFXtrx binary sensors into Home Assistant." date: 2017-03-26 12:45 sidebar: true comments: false diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown index a59333d82c..dbae9b1b8d 100644 --- a/source/_components/binary_sensor.rpi_gpio.markdown +++ b/source/_components/binary_sensor.rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi GPIO Binary Sensor" -description: "Instructions on how to integrate the GPIO sensor capability of a Raspberry Pi into Home Assistant." +description: "Instructions how to integrate the GPIO sensor capability of a Raspberry Pi into Home Assistant." date: 2015-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.rpi_pfio.markdown b/source/_components/binary_sensor.rpi_pfio.markdown index d02cfaf2da..84404f4d78 100644 --- a/source/_components/binary_sensor.rpi_pfio.markdown +++ b/source/_components/binary_sensor.rpi_pfio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "PiFace Digital I/O Binary Sensor" -description: "Instructions on how to integrate the PiFace Digital I/O module into Home Assistant as a binary sensor." +description: "Instructions how to integrate the PiFace Digital I/O module into Home Assistant as a binary sensor." date: 2016-05-08 15:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.satel_integra.markdown b/source/_components/binary_sensor.satel_integra.markdown index 5d879e4966..84744aaa9e 100644 --- a/source/_components/binary_sensor.satel_integra.markdown +++ b/source/_components/binary_sensor.satel_integra.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Satel Integra Binary Sensor" -description: "Instructions on how to integrate Satel Integra binary sensors into Home Assistant." +description: "Instructions how to integrate Satel Integra binary sensors into Home Assistant." date: 2017-09-07 13:28 sidebar: true comments: false diff --git a/source/_components/binary_sensor.spc.markdown b/source/_components/binary_sensor.spc.markdown index 624bebfff2..507f568dd9 100644 --- a/source/_components/binary_sensor.spc.markdown +++ b/source/_components/binary_sensor.spc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SPC Binary Sensor" -description: "Instructions on how to integrate Vanderbilt SPC binary sensors into Home Assistant." +description: "Instructions how to integrate Vanderbilt SPC binary sensors into Home Assistant." date: 2017-05-18 22:05 sidebar: true comments: false diff --git a/source/_components/binary_sensor.tapsaff.markdown b/source/_components/binary_sensor.tapsaff.markdown index 233596e6bd..b8e8636af6 100644 --- a/source/_components/binary_sensor.tapsaff.markdown +++ b/source/_components/binary_sensor.tapsaff.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Taps Aff" -description: "Instructions on how to use the Taps Aff binary sensor in Home Assistant." +description: "Instructions how to use the Taps Aff binary sensor in Home Assistant." date: 2017-05-28 18:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.tellduslive.markdown b/source/_components/binary_sensor.tellduslive.markdown index fc0b988bbf..2a73bea7f4 100644 --- a/source/_components/binary_sensor.tellduslive.markdown +++ b/source/_components/binary_sensor.tellduslive.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Telldus Binary Sensor" -description: "Instructions on how to integrate Telldus Live binary sensors into Home Assistant." +description: "Instructions how to integrate Telldus Live binary sensors into Home Assistant." date: 2017-10-24 10:09 sidebar: true comments: false diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index 7cc7af6285..290e3af9bc 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Template Binary Sensor" -description: "Instructions on how to integrate Template Binary Sensors into Home Assistant." +description: "Instructions how to integrate Template Binary Sensors into Home Assistant." date: 2016-02-25 15:00 sidebar: true comments: false @@ -48,10 +48,6 @@ binary_sensor: description: Name to use in the frontend. required: false type: string - entity_id: - description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: string, list device_class: description: The type/class of the sensor to set the icon in the frontend. required: false @@ -61,14 +57,6 @@ binary_sensor: description: Defines a template to set the state of the sensor. required: true type: template - icon_template: - description: Defines a template for the icon of the sensor. - required: false - type: template - entity_picture_template: - description: Defines a template for the entity picture of the sensor. - required: false - type: template delay_on: description: The amount of time the template state must be ***met*** before this sensor will switch to `on`. required: false diff --git a/source/_components/binary_sensor.threshold.markdown b/source/_components/binary_sensor.threshold.markdown index 21cc02b9fd..aa12fad99f 100644 --- a/source/_components/binary_sensor.threshold.markdown +++ b/source/_components/binary_sensor.threshold.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Threshold Binary Sensor" -description: "Instructions on how to integrate threshold binary sensors into Home Assistant." +description: "Instructions how to integrate threshold binary sensors into Home Assistant." date: 2016-11-26 12:10 sidebar: true comments: false diff --git a/source/_components/binary_sensor.trend.markdown b/source/_components/binary_sensor.trend.markdown index ae8e37c55a..41ac39437e 100644 --- a/source/_components/binary_sensor.trend.markdown +++ b/source/_components/binary_sensor.trend.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Trend Binary Sensor" -description: "Instructions on how to integrate Trend binary sensors into Home Assistant." +description: "Instructions how to integrate Trend binary sensors into Home Assistant." date: 2016-09-05 10:00 sidebar: true comments: false @@ -23,7 +23,7 @@ binary_sensor: - platform: trend sensors: solar_angle: - entity_id: sensor.cpu_speed + entity_id: sun.sun ``` Configuration variables: @@ -59,7 +59,7 @@ binary_sensor: - platform: trend sensors: sun_rising: - entity_id: sensor.cpu_speed + entity_id: sun.sun ``` This example creates two sensors to indicate whether the temperature is rising or falling at a rate of at least 3 degrees an hour, and collects samples over a two hour period: diff --git a/source/_components/binary_sensor.upcloud.markdown b/source/_components/binary_sensor.upcloud.markdown deleted file mode 100644 index 6cae22e876..0000000000 --- a/source/_components/binary_sensor.upcloud.markdown +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: page -title: UpCloud Binary Sensor -description: Instructions on how to set up UpCloud binary sensors within Home Assistant. -date: 2018-01-28 20:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: System Monitor -logo: upcloud.png -ha_release: 0.65 -ha_iot_class: Cloud Polling ---- - -The `upcloud` binary sensor platform allows you to monitor your UpCloud servers. - -To use your UpCloud servers, you first have to set up your [UpCloud hub](/components/upcloud/) and then add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -binary_sensor: - - platform: upcloud - servers: - - 002167b7-4cb1-44b7-869f-e0900ddeeae1 - - 00886296-6137-4074-afe3-068e16d89d00 -``` - -{% configuration %} -servers: - description: List of servers you want to monitor. - required: true - type: list -{% endconfiguration %} diff --git a/source/_components/binary_sensor.vera.markdown b/source/_components/binary_sensor.vera.markdown index d5e5d9fb14..f28c1978fa 100644 --- a/source/_components/binary_sensor.vera.markdown +++ b/source/_components/binary_sensor.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Binary Sensor" -description: "Instructions on how to integrate Vera binary sensors into Home Assistant." +description: "Instructions how to integrate Vera binary sensors into Home Assistant." date: 2016-03-26 23:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.verisure.markdown b/source/_components/binary_sensor.verisure.markdown index 1f9b9f0f4e..026ad16ab4 100644 --- a/source/_components/binary_sensor.verisure.markdown +++ b/source/_components/binary_sensor.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure Binary Sensor" -description: "Instructions on how to integrate Verisure binary sensors into Home Assistant." +description: "Instructions how to integrate Verisure binary sensors into Home Assistant." date: 2016-02-23 21:31 +0100 sidebar: true comments: false diff --git a/source/_components/binary_sensor.wink.markdown b/source/_components/binary_sensor.wink.markdown index 1d23f5bf7c..862a6b258e 100644 --- a/source/_components/binary_sensor.wink.markdown +++ b/source/_components/binary_sensor.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Binary Sensor" -description: "Instructions on how to setup the Wink binary sensors within Home Assistant." +description: "Instructions how to setup the Wink binary sensors within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 1ba1f8bd8c..0d4782bc12 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -15,10 +15,6 @@ ha_release: 0.41 The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also uses the python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays. -## {% linkable_title Configuration %} - -Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available province. - To enable the `workday` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,14 +22,14 @@ To enable the `workday` sensor in your installation, add the following to your ` binary_sensor: - platform: workday country: DE - workdays: [mon, wed, fri] + workdays: [ mon, wed, fri ] ``` Configuration variables: - **name** (*Optional*): A name for this sensor. Defaults to *Workday Sensor* -- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. -- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. Defaults to None. +- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. +- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. Defaults to None. - **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`. - **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`. - **days_offset** (*Optional*): Set days offset. Defaults to `0`. diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index 6f33659f78..a43874ff55 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Binary Sensor" -description: "Instructions on how to setup the Xiaomi binary sensors within Home Assistant." +description: "Instructions how to setup the Xiaomi binary sensors within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false diff --git a/source/_components/binary_sensor.zha.markdown b/source/_components/binary_sensor.zha.markdown index df5853d670..755e4396ed 100644 --- a/source/_components/binary_sensor.zha.markdown +++ b/source/_components/binary_sensor.zha.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ZigBee Home Automation Binary Sensor" -description: "Instructions on how to setup ZigBee Home Automation binary sensors within Home Assistant." +description: "Instructions how to setup ZigBee Home Automation binary sensors within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false diff --git a/source/_components/binary_sensor.zwave.markdown b/source/_components/binary_sensor.zwave.markdown index 85c4cc30bb..233411d4f2 100644 --- a/source/_components/binary_sensor.zwave.markdown +++ b/source/_components/binary_sensor.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Binary Sensor" -description: "Instructions on how to setup the Z-Wave binary sensors within Home Assistant." +description: "Instructions how to setup the Z-Wave binary sensors within Home Assistant." date: 2016-02-22 07:00 sidebar: true comments: false diff --git a/source/_components/bloomsky.markdown b/source/_components/bloomsky.markdown index 90ebd17355..25ab683a22 100644 --- a/source/_components/bloomsky.markdown +++ b/source/_components/bloomsky.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BloomSky" -description: "Instructions on how to integrate the BloomSky within Home Assistant." +description: "Instructions how to integrate the BloomSky within Home Assistant." date: 2016-02-03 20:00 sidebar: true comments: false diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown deleted file mode 100644 index 94f493ff24..0000000000 --- a/source/_components/bmw_connected_drive.markdown +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: page -title: "BMW Connected Drive" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." -date: 2018-01-10 23:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: bmw.png -ha_category: Hub -ha_release: 0.64 ---- - -This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work. - -For compatibility with your BMW vehicle check the [bimmer_connected page](https://github.com/m1n3rva/bimmer_connected) on github. - -To enable this component in your installation, add the following to your -`configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -bmw_connected_drive: - name: - username: USERNAME_BMW_CONNECTED_DRIVE - password: PASSWORD_BMW_CONNECTED_DRIVE - region: one of "north_america", "china" , "rest_of_world" -``` - -{% configuration %} -bmw_connected_drive: - description: configuration - required: true - type: map - keys: - name: - description: Name of your account in Home Assistant. - required: true - type: string - username: - description: Your BMW Connected Drive username. - required: true - type: string - password: - description: Your BMW Connected Drive password. - required: true - type: string - region: - description: "The region of your Connected Drive account. Please use of these values: `north_america`, `china`, `rest_of_world`" - required: true - type: string -{% endconfiguration %} - -## {% linkable_title Services %} - -The `bmw_connected_drive` component offers several services. In case you need to provide the vehicle identification number (VIN) as a parameter, you can see the VIN in the attributes of the device tracker for the vehicle. The VIN is a 17 digit alphanumeric string, e.g., `WBANXXXXXX1234567`. - -Using these services will impact the state of your vehicle. So use these services with care! - -### {% linkable_title Locking and unlocking %} - -The vehicle can be locked and unlocked via the lock component that is created automatically for each vehicle. Before invoking these services, make sure it's safe to lock/unlock the vehicle in the current situation. - -### {% linkable_title Air condition %} - -The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`. - -What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). - -The vehicle is identified via the parameter `vin`. - -### {% linkable_title Sound the horn %} - -The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. - -### {% linkable_title Flash the lights %} - -The service `bmw_connected_drive.light_flash' flashes the lights of the vehicle. The vehicle is identified via the parameter `vin`. - -### {% linkable_title Update the state %} - -The service `bmw_connected_drive.update_state`fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. - -This service does not require any attributes. - -## {% linkable_title Disclaimer %} - -This software is not affiliated with or endorsed by BMW Group. diff --git a/source/_components/browser.markdown b/source/_components/browser.markdown index 6325fef367..c5fa4b424e 100644 --- a/source/_components/browser.markdown +++ b/source/_components/browser.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Browser" -description: "Instructions on how to setup the browser component with Home Assistant." +description: "Instructions how to setup the browser component with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false diff --git a/source/_components/calendar.caldav.markdown b/source/_components/calendar.caldav.markdown index 8ea6b6ad08..6ae9f8c36a 100644 --- a/source/_components/calendar.caldav.markdown +++ b/source/_components/calendar.caldav.markdown @@ -13,11 +13,11 @@ ha_release: "0.60" --- -The `caldav` platform allows you to connect to your WebDav calendar and generate binary sensors. A different sensor will be created for each individual calendar, or you can specify custom calendars which match a criteria you define (more on that below). These sensors will be `on` if you have an on going event in that calendar or `off` if the event is later in time, or if there is no event at all. The WebDav calendar get updated roughly every 15 minutes. +The `caldav` platform allows you to connect to your WebDav calendar and generate binary sensors. A different sensor will be created for each individual calendar, or you can specify custom calendars which match a criteria you define (more on that below). These sensors will be `on` if you have an on going event in that calendar or `off` if the event is later in time, or if there is no event at all. The WebDav calendar get updated roughly every 10 minutes. ### {% linkable_title Prerequisites %} -You need to have a CalDav server and credentials for it. This component was tested against [Baikal](http://sabre.io/baikal/) but any component complying with the RFC4791 should work. [Nextcloud](https://nextcloud.com/) and [Owncloud](https://owncloud.org/) work fine. +You need to have a CalDav server and eventually credentials for it. This component was tested against [Baikal](http://sabre.io/baikal/) but any component complying with the RFC4791 should work. You might need some additional system packages to compile the Python caldav library. On a Debian based system, install them by: @@ -29,51 +29,13 @@ $ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev To integrate a WebDav calendar in Home Assistant, add the following section to your `configuration.yaml` file: -```yaml -# Example configuration.yaml entry for baikal -calendar: - - platform: caldav - username: john.doe@test.com - password: !secret caldav - url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default -``` - -```yaml -# Example configuration.yaml entry for nextcloud, calendars will be found automatically -calendar: - - platform: caldav - username: john.doe - password: !secret caldav - url: https://nextcloud.example.com/remote.php/dav -``` - -This example will generate default binary sensors for each calendar you have in your account. Those calendars will be `on` when there is an ongoing event and `off` if not. Events that last a whole day are ignored in those calendars. You have to setup custom calendars in order to take them into account or for advanced event filtering. - - -### {% linkable_title Custom calendars %} - -You have the possibility to create multiple binary sensors for events that match certain conditions. - ```yaml # Example configuration.yaml entry calendar: - platform: caldav - username: john.doe@test.com - password: !secret caldav url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default - custom_calendars: - - name: 'HomeOffice' - calendar: 'Agenda' - search: 'HomeOffice' - - name: 'WarmupFlat' - calendar: 'Agenda' - search: 'Warmup' ``` -This will create two binary sensors for the calendar name Agenda: "HomeOffice" and "WarmupFlat". Those sensors will be `on` if there is an ongoing event matching the regular expression specified in `search`. In custom calendars, events that last a whole day are taken into account. - -Please note that when you configure custom calendars, the default ones are not created anymore. - {% configuration %} url: required: true @@ -89,7 +51,7 @@ password: type: string calendars: required: false - description: List of the calendars to filter. Empty or absent means no filtering, i.e. all calendars will be added. + description: List of the calendars to filter. Empty or absent means no filtering. type: list custom_calendars: required: false @@ -106,7 +68,7 @@ custom_calendars: type: string search: required: true - description: Regular expression for filtering the events based on the content of their summary, description or location. + pending_charges: Regular expression for filtering the events type: string {% endconfiguration %} @@ -121,49 +83,17 @@ custom_calendars: - **start_time**: Start time of event. - **end_time**: End time of event. -### {% linkable_title Examples %} - -All events of the calendars "private" and "holidays". Note that all day events are not included. -```yaml -# Example configuration.yaml entry for nextcloud -calendar: - - platform: caldav - url: https://nextcloud.example.com/remote.php/dav - username: 'me' - password: !secret caldav - calendars: - - private - - holidays -``` - -Full example with automation to wake up to music if not holiday. Prerequisite: you have a calendar named "work" where you create calendar entries containing "Holiday". - -Custom calendar names are built from the main calendar + name of the custom calendar. +### {% linkable_title Sensor attributes %} ```yaml -# configuration.yaml +# Example configuration.yaml entry calendar: - platform: caldav - url: https://nextcloud.example.com/remote.php/dav - username: 'me' + url: https://baikal.my-server.net/cal.php/calendars/john.doe@test.com/default + username: john.doe@test.com password: !secret caldav custom_calendars: - - name: holiday - calendar: work - search: 'Holiday' - -# automations.yaml -- id: wakeup - alias: worktime wakeup - trigger: - platform: time - at: 06:40:00 - action: - - service: media_player.media_play - entity_id: media_player.bedroom - condition: - - condition: state - entity_id: calendar.work_holiday - state: 'off' - + - name: 'HomeOffice' + calendar: 'Agenda' + search: 'HomeOffice' ``` diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index 9825c5f9cc..3442a972a0 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Google Calendar Event" -description: "Instructions on how to use Google Calendars in Home Assistant." +description: "Instructions how to use Google Calendars in Home Assistant." date: 2015-05-08 17:15 sidebar: true comments: false @@ -14,9 +14,9 @@ ha_release: 0.33 --- -The `google` calendar platform allows you to connect to your [Google Calendars](https://calendar.google.com) and generate binary sensors. The sensors created can trigger based on any event on the calendar or only for matching events. When you first setup this component it will generate a new configuration file `google_calendars.yaml` that will contain information about all of the calendars you can see. +This platform allows you to connect to your [Google Calendars](https://calendar.google.com) and generate binary sensors. The sensors created can trigger based on any event on the calendar or only for matching events. When you first setup this component it will generate a new configuration file *google_calendars.yaml* that will contain information about all of the calendars you can see. -## {% linkable_title Prerequisites %} +### {% linkable_title Prerequisites %} Generate a Client ID and Client Secret on [Google Developers Console](https://console.developers.google.com/start/api?id=calendar). @@ -27,53 +27,42 @@ Generate a Client ID and Client Secret on [Google Developers Console](https://co 1. Save this page. You don't have to fill out anything else there. 1. Click 'Create credentials' -> OAuth client ID. 1. Set the Application type to 'Other' and give this credential set a name then click Create. -1. Save the client ID and secret as you will need to put these in your `configuration.yaml` file. -1. Click on "Library", search for "Google Calendar API" and enable it. +1. Save the client ID and secret as you will need to put these in your configuration.yaml file. -## {% linkable_title Configuration %} +### {% linkable_title Basic Setup %} To integrate Google Calendar in Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry google: - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET + client_id: *Value_created_from_steps_above* + client_secret: *Value_created_from_steps_above* ``` -{% configuration %} -client_id: - description: Use the value you generated in the Prerequisites stage. - required: true - type: string -minimum: - description: Use the value you generated in the Prerequisites stage. - required: true - type: string -track_new_calendar: - description: Will automatically generate a binary sensor when a new calendar is detected. The system scans for new calendars only on startup. - required: false - type: boolean - default: true -{% endconfiguration %} +Configuration variables: + +- **client_id** (*Required*): Use the value you generated in the Prerequisites stage. +- **client_secret** (*Required*): Use the value you generated in the Prerequisites stage. +- **track_new_calendar** (*Optional*): Will automatically generate a binary sensor when a new calendar is detected. The system scans for new calendars on startup. By default this is set to `True`. The next steps will require you to have Home Assistant running. After you have it running complete the Google authentication that pops up. It will give you a URL and a code to enter. This will grant your Home Assistant service access to all the Google Calendars that the account you authenticate with can read. This is a Read-Only view of these calendars. -## {% linkable_title Calendar Configuration %} -Editing the `google_calendars.yaml` file. +### {% linkable_title Calendar Configuration %} +Editing `google_calendars.yaml` A basic entry for a single calendar looks like: ```yaml -- cal_id: "*****@group.calendar.google.com" +- cal_id: "***************************@group.calendar.google.com" entities: - device_id: test_everything name: Give me everything track: true -- cal_id: "*****@group.calendar.google.com" +- cal_id: "***************************@group.calendar.google.com" entities: - device_id: test_important name: Important Stuff @@ -89,28 +78,38 @@ A basic entry for a single calendar looks like: Variables: - **cal_id**: The Google generated unique id for this calendar. **DO NOT CHANGE** + - **entities**: Yes, you can have multiple sensors for a calendar! + - **device_id**: (*Required*): The name that all your automations/scripts will use to reference this device. + - **name**: (*Required*): What is the name of your sensor that you'll see in the frontend. + - **track**: (*Required*): Should we create a sensor `True` or ignore it `False`? + - **search**: (*Optional*): If set will only trigger for matched events. + - **offset**: (*Optional*): A set of characters that precede a number in the event title for designating a pre-trigger state change on the sensor. (Default: `!!`) -  - **ignore_availablilty**: (*Optional*): Should we respect `free`/`busy` flags? (Defaults to `true`) -   + From this we will end up with the binary sensors `calendar.test_unimportant` and `calendar.test_important` which will toggle themselves on/off based on events on the same calendar that match the search value set for each. You'll also have a sensor `calendar.test_everything` that will not filter events out and always show the next event available. But what if you only wanted it to toggle based on all events? Just leave out the *search* parameter. -

-If you use a `#` sign for `search` then wrap the whole search term in quotes. Otherwise everything following the hash sign would be considered a YAML comment. -

+**Note**: If you use a `#` sign for `search` then wrap the whole search term in quotes. Otherwise everything following the hash sign would be considered a YAML comment. + ### {% linkable_title Sensor attributes %} - **offset_reached**: If set in the event title and parsed out will be `on`/`off` once the offset in the title in minutes is reached. So the title `Very important meeting #Important !!-10` would trigger this attribute to be `on` 10 minutes before the event starts. + - **all_day**: `True`/`False` if this is an all day event. Will be `False` if there is no event found. + - **message**: The event title with the `search` and `offset` values extracted. So in the above example for **offset_reached** the **message** would be set to `Very important meeting` + - **description**: The event description. + - **location**: The event Location. + - **start_time**: Start time of event. + - **end_time**: End time of event. diff --git a/source/_components/calendar.markdown b/source/_components/calendar.markdown index 4b69b5e6fe..f18e94902c 100644 --- a/source/_components/calendar.markdown +++ b/source/_components/calendar.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Calendar" -description: "Instructions on how to integrate calendars within Home Assistant." +description: "Instructions how to integrate calendars within Home Assistant." date: 2016-11-19 08:36 sidebar: true comments: false diff --git a/source/_components/calendar.todoist.markdown b/source/_components/calendar.todoist.markdown index c416ddb50d..00bdca07f7 100644 --- a/source/_components/calendar.todoist.markdown +++ b/source/_components/calendar.todoist.markdown @@ -63,7 +63,7 @@ calendar: - Calculus II ``` -(See [here](/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!) +(See [here](https://home-assistant.io/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!) As you can see, there are 4 custom projects here: @@ -111,7 +111,7 @@ Home Assistant does its best to determine what task in each project is "most" im Todoist also comes with access to a service, `calendar.todoist_new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project. -Here are two example JSON payloads resulting in the same task: +Here's an example JSON payload: ```json { @@ -123,17 +123,6 @@ Here are two example JSON payloads resulting in the same task: } ``` -```json -{ - "content": "Pick up the mail", - "project": "Errands", - "labels":"Homework,School", - "priority":3, - "due_date_string":"tomorrow at 14:00", - "due_date_lang":"en" -} -``` - - **content** (*Required*): The name of the task you want to create. - **project** (*Optional*): The project to put the task in. @@ -142,11 +131,6 @@ Here are two example JSON payloads resulting in the same task: - **priority** (*Optional*): The priority of the task, from 1-4. Again, 1 means least important, and 4 means most important. -- **due_date_string** (*Optional*): When the task should be due, in [natural language](https://support.todoist.com/hc/en-us/articles/205325931-Dates-and-Times). Mutually exclusive with `due_date` - -- **due_date_lang** (*Optional*): When `due_date_string` is set, it is posisble to set the language. - Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl` - -- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Mutually exclusive with `due_date_string`. +- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Note that there's (currently) no way to mark tasks as done through Home Assistant; task names do not necessarily have to be unique, so you could find yourself in a situation where you close the wrong task. diff --git a/source/_components/camera.abode.markdown b/source/_components/camera.abode.markdown index 2aa3da2313..a95b6d2fcf 100644 --- a/source/_components/camera.abode.markdown +++ b/source/_components/camera.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Camera" -description: "Instructions on how to integrate Abode cameras into Home Assistant." +description: "Instructions how to integrate Abode cameras into Home Assistant." date: 2017-08-26 13:28 sidebar: true comments: false diff --git a/source/_components/camera.amcrest.markdown b/source/_components/camera.amcrest.markdown index 73a6ca444f..2c1a042c87 100644 --- a/source/_components/camera.amcrest.markdown +++ b/source/_components/camera.amcrest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Amcrest IP Camera" -description: "Instructions on how to integrate Amcrest IP cameras within Home Assistant." +description: "Instructions how to integrate Amcrest IP cameras within Home Assistant." date: 2016-11-24 10:00 sidebar: true comments: false diff --git a/source/_components/camera.android_ip_webcam.markdown b/source/_components/camera.android_ip_webcam.markdown index 8aa3455faa..04c6e41d8e 100644 --- a/source/_components/camera.android_ip_webcam.markdown +++ b/source/_components/camera.android_ip_webcam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Android IP Webcam Camera" -description: "Instructions on how to integrate Android IP Webcam cameras within Home Assistant." +description: "Instructions how to integrate Android IP Webcam cameras within Home Assistant." date: 2015-07-11 0:36 sidebar: true comments: false diff --git a/source/_components/camera.arlo.markdown b/source/_components/camera.arlo.markdown index a634e8d8d9..1d66a90bbf 100644 --- a/source/_components/camera.arlo.markdown +++ b/source/_components/camera.arlo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Arlo Camera" -description: "Instructions on how to integrate your Netgear Arlo cameras within Home Assistant." +description: "Instructions how to integrate your Netgear Arlo cameras within Home Assistant." date: 2016-05-30 10:00 sidebar: true comments: false @@ -30,4 +30,4 @@ Configuration variables: - **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. -**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. +**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation. diff --git a/source/_components/camera.august.markdown b/source/_components/camera.august.markdown deleted file mode 100644 index 660a9504c5..0000000000 --- a/source/_components/camera.august.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "August Camera" -description: "Instructions on how to integrate your August devices into Home Assistant." -date: 2018-02-17 22:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: august.png -ha_category: Camera -ha_release: "0.64" -ha_iot_class: "Cloud Polling" ---- - -The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](http://august.com) device in Home Assistant. - -To add `august` camera to your installation, follow instructions in [August component](/components/august/). diff --git a/source/_components/camera.axis.markdown b/source/_components/camera.axis.markdown index ec725b06ec..23695c7905 100644 --- a/source/_components/camera.axis.markdown +++ b/source/_components/camera.axis.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Axis Camera" -description: "Instructions on how to setup Axis cameras within Home Assistant." +description: "Instructions how to setup Axis cameras within Home Assistant." date: 2017-05-01 19:09 sidebar: true comments: false diff --git a/source/_components/camera.bloomsky.markdown b/source/_components/camera.bloomsky.markdown index bd6f8a58b9..8661690eb6 100644 --- a/source/_components/camera.bloomsky.markdown +++ b/source/_components/camera.bloomsky.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BloomSky Camera" -description: "Instructions on how to integrate the BloomSky camera within Home Assistant." +description: "Instructions how to integrate the BloomSky camera within Home Assistant." date: 2016-02-03 20:00 sidebar: true comments: false diff --git a/source/_components/camera.canary.markdown b/source/_components/camera.canary.markdown index 8e5f07f461..bf7c029bc7 100644 --- a/source/_components/camera.canary.markdown +++ b/source/_components/camera.canary.markdown @@ -13,20 +13,6 @@ ha_release: "0.60" ha_iot_class: "Cloud Polling" --- -The `canary` camera platform allows you to watch the live stream of your [Canary](https://canary.is) camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured. +The `canary` camera platform allows you to view the latest camera image (triggered by motion) by your [Canary](https://canary.is) device in Home Assistant. -To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). Once you have [Canary component](/components/canary/) setup, your [Canary](https://canary.is) camera(s) should show up automatically. - -You can add the following to your `configuration.yaml` file to configure `canary` camera with optional settings: - -```yaml -camera: - - platform: canary -``` - -{% configuration %} - ffmpeg_arguments: - description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). - required: false - type: string -{% endconfiguration %} +To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). diff --git a/source/_components/camera.dispatcher.markdown b/source/_components/camera.dispatcher.markdown index 26eb74febc..2672c6c48e 100644 --- a/source/_components/camera.dispatcher.markdown +++ b/source/_components/camera.dispatcher.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dispatcher IP Camera" -description: "Instructions on how to integrate internal dispatcher cameras within Home Assistant." +description: "Instructions how to integrate internal dispatcher cameras within Home Assistant." date: 2017-03-08 00:00 sidebar: true comments: false diff --git a/source/_components/camera.doorbird.markdown b/source/_components/camera.doorbird.markdown index ce23d94672..d96a1ebe9b 100644 --- a/source/_components/camera.doorbird.markdown +++ b/source/_components/camera.doorbird.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DoorBird Camera" -description: "Instructions on how to integrate DoorBird video doorbell images into Home Assistant." +description: "Instructions how to integrate DoorBird video doorbell images into Home Assistant." date: 2017-08-06 11:30 sidebar: true comments: false diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index 481c835a15..86e6355c8d 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -29,7 +29,7 @@ Configuration variables: - **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. - **name** (*Optional*): Override the name of your camera. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. +- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. ### {% linkable_title Image quality %} diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown index c9d1aabd50..ea90a82984 100644 --- a/source/_components/camera.foscam.markdown +++ b/source/_components/camera.foscam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Foscam IP Camera" -description: "Instructions on how to integrate Foscam IP cameras within Home Assistant." +description: "Instructions how to integrate Foscam IP cameras within Home Assistant." date: 2015-09-17 08:01 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: "Local Polling" The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant. -## {% linkable_title Configuration %} - To enable your Foscam IP camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -24,8 +22,8 @@ To enable your Foscam IP camera in your installation, add the following to your camera: - platform: foscam ip: IP_ADDRESS - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` Configuration variables: @@ -41,5 +39,4 @@ There seems to be some issues within Foscam with lengthy passwords and passwords

### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %} - Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index bec1ec5ffe..71a16ba40e 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Generic IP Camera" -description: "Instructions on how to integrate IP cameras within Home Assistant." +description: "Instructions how to integrate IP cameras within Home Assistant." date: 2015-07-11 0:36 sidebar: true comments: false diff --git a/source/_components/camera.local_file.markdown b/source/_components/camera.local_file.markdown index b2b953041d..6dade4b4c5 100644 --- a/source/_components/camera.local_file.markdown +++ b/source/_components/camera.local_file.markdown @@ -13,9 +13,9 @@ ha_iot_class: "Local Polling" ha_release: 0.22 --- -The `local_file` camera platform allows you to integrate an image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. The service `local_file_update_file_path` can be used to update the image using an automation. +The `local_file` camera platform allows you to integrate any readable image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. -The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant. +This can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant. To enable this camera in your installation, add the following to your `configuration.yaml` file: @@ -31,11 +31,7 @@ Configuration variables: - **file_path** (*Required*): File to serve as the camera. - **name** (*Optional*): Name of the camera -### {% linkable_title Service `camera.local_file_update_file_path` %} +

+The given `file_path` must be an existing file because the camera platform setup make a readable check on it. +

-Use this service to change the file displayed by the camera. - -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String of the `entity_id` of the camera to update. | -| `file_path` | The full path to the new image file to be displayed. | diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown index 8d3c12c7e6..2d92253993 100644 --- a/source/_components/camera.markdown +++ b/source/_components/camera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Camera" -description: "Instructions on how to integrate cameras within Home Assistant." +description: "Instructions how to integrate cameras within Home Assistant." date: 2015-11-09 08:36 sidebar: true comments: false diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index de03528200..6a01c70872 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Generic MJPEG IP Camera" -description: "Instructions on how to integrate IP cameras within Home Assistant." +description: "Instructions how to integrate IP cameras within Home Assistant." date: 2015-11-09 08:36 sidebar: true comments: false diff --git a/source/_components/camera.mqtt.markdown b/source/_components/camera.mqtt.markdown index f0e903a37a..852140ddf9 100644 --- a/source/_components/camera.mqtt.markdown +++ b/source/_components/camera.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Camera" -description: "Instructions on how to use an MQTT image message as a Camera within Home Assistant." +description: "Instructions how to use an MQTT image message as a Camera within Home Assistant." date: 2017-04-14 00:45 sidebar: true comments: false diff --git a/source/_components/camera.neato.markdown b/source/_components/camera.neato.markdown index 3b959c0bc3..4fccb0b413 100644 --- a/source/_components/camera.neato.markdown +++ b/source/_components/camera.neato.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Neato Camera" -description: "Instructions on how to setup the Neato cleaning maps within Home Assistant." +description: "Instructions how to setup the Neato cleaning maps within Home Assistant." date: 2017-04-05 13:10 sidebar: true comments: false diff --git a/source/_components/camera.nest.markdown b/source/_components/camera.nest.markdown index 607a88c516..e597fcb19d 100644 --- a/source/_components/camera.nest.markdown +++ b/source/_components/camera.nest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest Camera" -description: "Instructions on how to integrate Nest cameras into Home Assistant." +description: "Instructions how to integrate Nest cameras into Home Assistant." date: 2016-12-03 08:10 sidebar: true comments: false diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index e452d26b41..5ad8ebe38e 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo Camera" -description: "Instructions on how to integrate Netatmo cameras into Home Assistant." +description: "Instructions how to integrate Netatmo cameras into Home Assistant." date: 2016-06-02 08:10 sidebar: true comments: false diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown index ed01e31d37..0cfa7cf453 100644 --- a/source/_components/camera.onvif.markdown +++ b/source/_components/camera.onvif.markdown @@ -30,21 +30,7 @@ Configuration variables: - **name** (*Optional*): Override the name of your camera. - **username** (*Optional*): The username for the camera. - **password** (*Optional*): The password for the camera. -- **port** (*Optional*): The port for the camera. This defaults to 5000. -- **profile** (*Optional*): Video profile that will be used to obtain the stream. This defaults to 0. More details below. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). - -Most of the Onvif cameras support more than one audio/video Profile. Each profile provides different image quality. Usually, the first profile has the highest quality, and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time - especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable. - -### {% linkable_title Service `camera.onvif_ptz` %} - -If your ONVIF camera supports PTZ, you will be able to pan, tilt or zoom your camera. - -| Service data attribute | Description | -| -----------------------| ----------- | -| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Else targets all. -| `tilt` | Tilt direction. Allowed values: `UP`, `DOWN` -| `pan` | Pan direction. Allowed values: `RIGHT`, `LEFT` -| `zoom` | Zoom. Allowed values: `ZOOM_IN`, `ZOOM_OUT` +- **port** (*Optional*): The port for the camera. This defaults to 5000 +- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting). diff --git a/source/_components/camera.proxy.markdown b/source/_components/camera.proxy.markdown deleted file mode 100644 index e8a38d4b23..0000000000 --- a/source/_components/camera.proxy.markdown +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: page -title: "Camera Proxy" -description: "Instructions on how to integrate a camera proxy within Home Assistant." -date: 2018-03-08 19:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Camera -ha_release: 0.65 ---- - - -The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output. - -The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate. - -The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections. - -To enable this camera in your installation, you must first have an existing working camera configured in Home Assistant. Next, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -camera: - - platform: proxy - entity_id: camera. - max_stream_width: 360 - max_image_width: 720 -``` - -{% configuration %} - entity_id: - description: The ID of another Home Assistant camera to post-process. - required: true - type: string - name: - description: This parameter allows you to override the name of your camera. - required: false - type: string - max_image_width: - description: The maximum width of single images taken from the camera (aspect ratio will be maintained). - required: false - type: integer - max_stream_width: - description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). - required: false - type: integer - image_quality: - description: The quality level used for resulting JPEG for snapshots. - required: false - type: integer - default: 75 - stream_quality: - description: The quality level used for resulting MJPEG streams. - required: false - type: integer - default: 75 - image_refresh_rate: - description: The minimum time in seconds between generating successive image snapshots. - required: false - type: float - force_resize: - description: Resize the image even if the resulting image would take up more bandwidth than the original. - required: false - type: boolean - cache_images: - description: Preserve the last image and re-send in the case the camera is not responding. - required: false - type: boolean -{% endconfiguration %} - - -## {% linkable_title Examples %} - -Example of using a Camera proxy along with a Foscam camera: - -```yaml -camera: - - platform: foscam - ip: 192.168.1.10 - username: foscam_camera - password: camera_password - name: mycamera - - platform: proxy - entity_id: camera.mycamera - max_stream_width: 360 - max_image_width: 480 - image_refresh_rate: 5.0 -``` diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index cd4844ae4b..eb7fc03162 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -13,7 +13,7 @@ ha_release: 0.57 ha_iot_class: "Cloud Polling" --- -To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan. +To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan. Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file: @@ -28,7 +28,7 @@ Configuration variables: - **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. - **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds. -**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. +**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation. Currently it supports doorbell and stickup cameras. diff --git a/source/_components/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown index 2033dc5d28..6bfeb7696e 100644 --- a/source/_components/camera.rpi_camera.markdown +++ b/source/_components/camera.rpi_camera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi Camera" -description: "Instructions on how to integrate Raspberry Pi within Home Assistant." +description: "Instructions how to integrate Raspberry Pi within Home Assistant." date: 2016-04-08 10:00 sidebar: true comments: false @@ -61,16 +61,16 @@ vertical_flip: default: 0 type: int timelapse: - description: Takes a picture every this many milliseconds (thousands of a second) - the default means one picture a second. + description: Takes a picture every millisecond. required: false default: 1000 type: int file_path: description: Save the picture in a custom file path. required: false - default: A temporary file is used. + default: The camera components folder. type: string {% endconfiguration %} -The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/). +The given **file_path** must be an existing file because the camera platform setup make a writeable check on it. diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index 93a2e78ff3..258bc1e832 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Synology Camera" -description: "Instructions on how to integrate Synology Surveillance Station cameras within Home Assistant." +description: "Instructions how to integrate Synology Surveillance Station cameras within Home Assistant." date: 2016-10-13 08:01 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" ---   -The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. +The `synology` platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. To enable your Surveillance Station cameras in your installation, add the following to your `configuration.yaml` file: @@ -22,9 +22,9 @@ To enable your Surveillance Station cameras in your installation, add the follow # Minimum configuration.yaml entry camera: - platform: synology - url: IP_ADDRESS_OF_SYNOLOGY_NAS - username: YOUR_USERNAME - password: YOUR_PASSWORD + url: SYNOLOGY_URL + username: USERNAME + password: PASSWORD ``` Configuration variables: @@ -43,8 +43,8 @@ A full sample configuration for the `synology` platform is shown below: camera: - platform: synology url: https://192.168.1.120:5001 - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD timeout: 15 verify_ssl: False ``` diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown index 02743bda45..367f4472ca 100644 --- a/source/_components/camera.uvc.markdown +++ b/source/_components/camera.uvc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "UniFi Video Camera" -description: "Instructions on how to integrate UVC cameras within Home Assistant." +description: "Instructions how to integrate UVC cameras within Home Assistant." date: 2016-02-07 10:00 sidebar: true comments: false diff --git a/source/_components/camera.verisure.markdown b/source/_components/camera.verisure.markdown index 35b4c25e4e..e96a8725f7 100644 --- a/source/_components/camera.verisure.markdown +++ b/source/_components/camera.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure Camera" -description: "Instructions on how to setup the Verisure cameras within Home Assistant." +description: "Instructions how to setup the Verisure cameras within Home Assistant." date: 2016-10-22 09:00 sidebar: true comments: false diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index cb8975a86c..052e3b26d6 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -34,10 +34,6 @@ Once installed, please ensure that you have enabled FTP and Telnet on your devic Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files.

-

-Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video. -

-

Some alternative Yi firmwares enable an experimental RTSP server, which will allow you to connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Yi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP.

@@ -72,7 +68,7 @@ Configuration variables: - **password** (*Required*): The password to the FTP server on the camera (from above). - **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. - **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. -- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). +- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g. image quality or video filter options). ## {% linkable_title Image quality %} diff --git a/source/_components/canary.markdown b/source/_components/canary.markdown index 186d704e17..425055f48a 100644 --- a/source/_components/canary.markdown +++ b/source/_components/canary.markdown @@ -15,8 +15,6 @@ ha_iot_class: "Cloud Polling" The `canary` component allows you to integrate your [Canary](https://canary.is) devices in Home Assistant. -## {% linkable_title Configuration %} - You will need your Canary login information (username, usually your email address, and password) to use this module. To set it up, add the following to your `configuration.yaml` file: @@ -24,8 +22,8 @@ To set it up, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry canary: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: secret ``` {% configuration %} @@ -44,6 +42,8 @@ canary: default: 10 {% endconfiguration %} + + Once loaded, your front end will have the following components: * A camera image triggered by motion for each camera. diff --git a/source/_components/climate.ecobee.markdown b/source/_components/climate.ecobee.markdown index b92b001f37..e8711168e7 100644 --- a/source/_components/climate.ecobee.markdown +++ b/source/_components/climate.ecobee.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ecobee Thermostat" -description: "Instructions on how to setup the Ecobee thermostats within Home Assistant." +description: "Instructions how to setup the Ecobee thermostats within Home Assistant." date: 2016-08-26 18:00 sidebar: true comments: false diff --git a/source/_components/climate.econet.markdown b/source/_components/climate.econet.markdown index 704c6ebf0e..3feb4aa643 100644 --- a/source/_components/climate.econet.markdown +++ b/source/_components/climate.econet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "EcoNet water heater" -description: "Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant." +description: "Instructions how to integrate Rheem EcoNet water heaters into Home Assistant." date: 2017-12-28 14:51 sidebar: true comments: false diff --git a/source/_components/climate.eq3btsmart.markdown b/source/_components/climate.eq3btsmart.markdown index ce833566ff..5cfa52ae40 100644 --- a/source/_components/climate.eq3btsmart.markdown +++ b/source/_components/climate.eq3btsmart.markdown @@ -1,7 +1,7 @@ --- layout: page title: "EQ3 Bluetooth Smart Thermostats" -description: "Instructions on how to integrate EQ3 Bluetooth Smart Thermostats into Home Assistant." +description: "Instructions how to integrate EQ3 Bluetooth Smart Thermostats into Home Assistant." date: 2016-04-18 22:00 sidebar: true comments: false diff --git a/source/_components/climate.flexit.markdown b/source/_components/climate.flexit.markdown index 0281b50756..078b840985 100644 --- a/source/_components/climate.flexit.markdown +++ b/source/_components/climate.flexit.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Flexit A/C controller" -description: "Instructions on how to integrate Flexit A/C unit into Home Assistant." +description: "Instructions how to integrate Flexit A/C unit into Home Assistant." date: 2017-06-02 16:30 +0200 sidebar: true comments: false diff --git a/source/_components/climate.fritzbox.markdown b/source/_components/climate.fritzbox.markdown deleted file mode 100644 index 65975ca77c..0000000000 --- a/source/_components/climate.fritzbox.markdown +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: page -title: "Fritzbox Thermostat" -description: "Instructions on how to integrate the AVM Fritzbox thermostat." -date: 2017-11-12 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Climate -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -

-To get AVM fritzbox thermostat follow the instructions for the general [Fritzbox](/components/fritzbox/). -

- -### {% linkable_title Attributes %} - -The are several attributes that can be useful for automations and templates. - -| Attribute | Description | -| --------- | ----------- | -| `device_locked` | The state of the key lock at the device. -| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface. -| `low_battery` | The low battery state indication. diff --git a/source/_components/climate.heatmiser.markdown b/source/_components/climate.heatmiser.markdown index b1478034e9..b772e9923b 100644 --- a/source/_components/climate.heatmiser.markdown +++ b/source/_components/climate.heatmiser.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Heatmiser Thermostat" -description: "Instructions on how to integrate Heatmiser thermostats within Home Assistant." +description: "Instructions how to integrate Heatmiser thermostats within Home Assistant." date: 2015-12-11 12:35 sidebar: true comments: false diff --git a/source/_components/climate.hive.markdown b/source/_components/climate.hive.markdown index 12f4688553..dd3fd41ca5 100644 --- a/source/_components/climate.hive.markdown +++ b/source/_components/climate.hive.markdown @@ -14,15 +14,13 @@ ha_iot_class: "Cloud Polling" --- -The `hive` climate platform integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**. - +The 'hive' climate component integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**. A short boost for Hive Heating or Hive Hot water can be set by using the **Aux Heat** function, this will turn on the boost feature for Hive Heating or Hive Hot water for 30 minutes at 0.5 degrees higher than the current temperature. -The platform supports the following Hive products: - -- Hive Active Heating -- Hive Multizone -- Hot water control +The Hive climate component supports the following Hive products: +- **Hive Active Heating** +- **Hive Multizone** +- **Hot water control**

diff --git a/source/_components/climate.homematic.markdown b/source/_components/climate.homematic.markdown index 86e38fdb49..ac5458d592 100644 --- a/source/_components/climate.homematic.markdown +++ b/source/_components/climate.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Thermostats" -description: "Instructions on how to integrate Homematic thermostats within Home Assistant." +description: "Instructions how to integrate Homematic thermostats within Home Assistant." date: 2016-06-28 08:30 sidebar: true comments: false diff --git a/source/_components/climate.honeywell.markdown b/source/_components/climate.honeywell.markdown index 855d009cda..8104a6a77f 100644 --- a/source/_components/climate.honeywell.markdown +++ b/source/_components/climate.honeywell.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Honeywell Thermostat" -description: "Instructions on how to integrate Honeywell thermostats within Home Assistant." +description: "Instructions how to integrate Honeywell thermostats within Home Assistant." date: 2016-02-07 22:01 sidebar: true comments: false diff --git a/source/_components/climate.markdown b/source/_components/climate.markdown index fd41b437cd..53cfc08013 100644 --- a/source/_components/climate.markdown +++ b/source/_components/climate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Climate" -description: "Instructions on how to setup climate control devices within Home Assistant." +description: "Instructions how to setup climate control devices within Home Assistant." date: 2016-08-26 19:00 sidebar: true comments: false diff --git a/source/_components/climate.melissa.markdown b/source/_components/climate.melissa.markdown deleted file mode 100644 index 9d648a83b5..0000000000 --- a/source/_components/climate.melissa.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "Melissa Climate" -description: "Instructions on how to integrate Melissa climate system (HVAC) into Home Assistant." -date: 2018-01-08 20:21 -sidebar: true -comments: false -sharing: true -footer: true -logo: mclimate.png -ha_category: Climate -ha_iot_class: "Cloud Polling" -ha_release: 0.63 ---- - -The `Melissa` climate platform allows you to control your [Melissa Climate](http://seemelissa.com/) from within Home Assistant. - -The climate platform will be automatically configured if Melissa component is configured. - -For more configuration information see the [Melissa component](/components/melissa/) documentation. diff --git a/source/_components/climate.modbus.markdown b/source/_components/climate.modbus.markdown deleted file mode 100644 index eeb376ef8e..0000000000 --- a/source/_components/climate.modbus.markdown +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: page -title: "Modbus" -description: "Instructions how to integrate a Modbus thermostat within Home Assistant." -date: 2018-01-29 9:35 -sidebar: true -comments: false -sharing: true -footer: true -logo: modbus.png -ha_category: Thermostat -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - - -The `modbus` thermostat allows you to use a sensor value (current temperature) and target value (target temperature) from [Modbus](http://www.modbus.org/) registers. - -## {% linkable_title Configuration %} - -To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -climate: - - platform: modbus - name: Watlow F4T - slave: 1 - target_temp_register: 2782 - current_temp_register: 27586 -``` - -{% configuration %} -name: - description: Name of the device - required: true - type: string -slave: - description: The number of the slave (Optional for tcp and upd Modbus, use 1). - required: true - type: int -target_temp_register: - description: Register number for target temperature (Setpoint). - required: true - type: int -current_temp_register: - description: Register number for current temperature (Process value). - required: true - type: int -data_type: - description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format. - required: false - type: string - default: float -count: - description: Number of registers to read. - required: false - type: int -precision: - description: Number of valid decimals. - required: false - type: int - default: 0 -{% endconfiguration %} - - -### {% linkable_title Services %} - -| Service | Description | -| ------- | ----------- | -| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` | diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown index 958974869a..504610dea4 100644 --- a/source/_components/climate.mqtt.markdown +++ b/source/_components/climate.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT HVAC" -description: "Instructions on how to integrate MQTT HVAC into Home Assistant." +description: "Instructions how to integrate MQTT HVAC into Home Assistant." date: 2017-07-31 19:59 sidebar: true comments: false @@ -178,11 +178,11 @@ aux_state_template: #### {% linkable_title Optimistic mode %} -If a property works in *optimistic mode* (when the corresponding state topic is not set), Home Assistant will assume that any state changes published to the command topics did work and change the internal state of the entity immediately after publishing to the command topic. If it does not work in optimistic mode, the internal state of the entity is only updated when the requested update is confirmed by the device through the state topic. +If a property works in *optimistic mode* (when the corresponding state topic is not set), home assistant will assume that any state changes published to the command topics did work and change the internal state of the entity immediately after publishing to the command topic. If it does not work in optimistic mode, the internal state of the entity is only updated when the requested update is confirmed by the device through the state topic. #### {% linkable_title Using Templates %} -For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topis can be specified as `value_template`. This can be useful if you received payloads are e.g., in JSON format. Since in JSON, a quoted string (e.g., `"foo"`) is just a string, this can also be used for unquoting. +For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topis can be specified as `value_template`. This can be useful if you received payloads are e.g. in JSON format. Since in JSON, a quoted string (e.g. `"foo"`) is just a string, this can also be used for unquoting. Say you receive the operation mode `"auto"` via your `mode_state_topic`, but the mode is actually called just `auto`, here's what you could do: diff --git a/source/_components/climate.mysensors.markdown b/source/_components/climate.mysensors.markdown index 6f5379449b..a61fae33f9 100644 --- a/source/_components/climate.mysensors.markdown +++ b/source/_components/climate.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors HVAC" -description: "Instructions on how to integrate MySensors climate into Home Assistant." +description: "Instructions how to integrate MySensors climate into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/climate.nest.markdown b/source/_components/climate.nest.markdown index 4d99423734..be9adf6d41 100644 --- a/source/_components/climate.nest.markdown +++ b/source/_components/climate.nest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest Thermostat" -description: "Instructions on how to integrate Nest thermostats within Home Assistant." +description: "Instructions how to integrate Nest thermostats within Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false diff --git a/source/_components/climate.netatmo.markdown b/source/_components/climate.netatmo.markdown index a90a1f4353..72c4f0de00 100644 --- a/source/_components/climate.netatmo.markdown +++ b/source/_components/climate.netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo Thermostat" -description: "Instructions on how to integrate Netatmo thermostat into Home Assistant." +description: "Instructions how to integrate Netatmo thermostat into Home Assistant." date: 2016-10-11 08:10 sidebar: true comments: false diff --git a/source/_components/climate.nuheat.markdown b/source/_components/climate.nuheat.markdown index 46a8e84c5a..51ffd6fee4 100644 --- a/source/_components/climate.nuheat.markdown +++ b/source/_components/climate.nuheat.markdown @@ -1,7 +1,7 @@ --- layout: page title: "NuHeat Thermostat" -description: "Instructions on how to integrate your NuHeat Signature thermostats within Home Assistant." +description: "Instructions how to integrate your NuHeat Signature thermostats within Home Assistant." date: 2017-11-11 18:00 sidebar: true comments: false diff --git a/source/_components/climate.oem.markdown b/source/_components/climate.oem.markdown index 2b7b401229..be9b8cda21 100644 --- a/source/_components/climate.oem.markdown +++ b/source/_components/climate.oem.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenEnergyMonitor WiFi Thermostat" -description: "Instructions on how to integrate an OpenEnergyMonitor thermostat with Home Assistant." +description: "Instructions how to integrate an OpenEnergyMonitor thermostat with Home Assistant." date: 2017-01-27 11:15 sidebar: true comments: false diff --git a/source/_components/climate.proliphix.markdown b/source/_components/climate.proliphix.markdown index b089ef586d..74227c0a98 100644 --- a/source/_components/climate.proliphix.markdown +++ b/source/_components/climate.proliphix.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Proliphix Thermostat" -description: "Instructions on how to integrate Proliphix thermostats within Home Assistant." +description: "Instructions how to integrate Proliphix thermostats within Home Assistant." date: 2016-01-15 08:00 sidebar: true comments: false diff --git a/source/_components/climate.radiotherm.markdown b/source/_components/climate.radiotherm.markdown index f4d08db107..f3cf3bd919 100644 --- a/source/_components/climate.radiotherm.markdown +++ b/source/_components/climate.radiotherm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Radio Thermostat (3M Filtrete) Thermostat" -description: "Instructions on how to integrate Radio Thermostat (3M Filtrete) thermostats within Home Assistant." +description: "Instructions how to integrate Radio Thermostat (3M Filtrete) thermostats within Home Assistant." date: 2015-10-18 17:15 sidebar: true comments: false diff --git a/source/_components/climate.sensibo.markdown b/source/_components/climate.sensibo.markdown index 02003d4aa6..9b9771bc42 100644 --- a/source/_components/climate.sensibo.markdown +++ b/source/_components/climate.sensibo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sensibo A/C controller" -description: "Instructions on how to integrate Sensibo A/C controller into Home Assistant." +description: "Instructions how to integrate Sensibo A/C controller into Home Assistant." date: 2017-04-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/climate.toon.markdown b/source/_components/climate.toon.markdown index 61e4258847..57d8708aa3 100644 --- a/source/_components/climate.toon.markdown +++ b/source/_components/climate.toon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Toon Thermostat" -description: "Instructions on how to integrate Toon thermostats within Home Assistant." +description: "Instructions how to integrate Toon thermostats within Home Assistant." date: 2017-10-22 12:00 sidebar: true comments: false diff --git a/source/_components/climate.touchline.markdown b/source/_components/climate.touchline.markdown index 0f7f271946..ebc48a9df8 100644 --- a/source/_components/climate.touchline.markdown +++ b/source/_components/climate.touchline.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Roth Touchline" -description: "Instructions on how to integrate Roth Touchline within Home Assistant." +description: "Instructions how to integrate Roth Touchline within Home Assistant." date: 2018-01-03 12:35 sidebar: true comments: false diff --git a/source/_components/climate.vera.markdown b/source/_components/climate.vera.markdown index c46b8fdff9..bc8a9fdc58 100644 --- a/source/_components/climate.vera.markdown +++ b/source/_components/climate.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Thermostat" -description: "Instructions on how to integrate Vera thermostats into Home Assistant." +description: "Instructions how to integrate Vera thermostats into Home Assistant." date: 2016-09-19 21:00 sidebar: true comments: false diff --git a/source/_components/climate.wink.markdown b/source/_components/climate.wink.markdown index be8623cb08..3a41d2c81d 100644 --- a/source/_components/climate.wink.markdown +++ b/source/_components/climate.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Climate" -description: "Instructions on how to setup the Wink climate devices within Home Assistant." +description: "Instructions how to setup the Wink climate devices within Home Assistant." date: 2016-11-01 22:36 sidebar: true comments: false diff --git a/source/_components/climate.zwave.markdown b/source/_components/climate.zwave.markdown index e1b20babc6..3c5f96f724 100644 --- a/source/_components/climate.zwave.markdown +++ b/source/_components/climate.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Climate" -description: "Instructions on how to setup the Z-Wave thermostat or HVAC within Home Assistant." +description: "Instructions how to setup the Z-Wave thermostat or HVAC within Home Assistant." date: 2016-04-03 9:52 sidebar: true comments: false @@ -46,12 +46,12 @@ automation: at: "20:00:00" action: - service: climate.set_operation_mode + entity_id: climate.remotec_zxt120_heating_1_id data: - entity_id: climate.remotec_zxt120_heating_1_id operation_mode: Heat - service: climate.set_temperature + entity_id: climate.remotec_zxt120_heating_1_39 data: - entity_id: climate.remotec_zxt120_heating_1_39 temperature: 24 ``` @@ -65,8 +65,8 @@ automation: at: "21:00:00" action: - service: climate.set_operation_mode + entity_id: climate.remotec_zxt120_heating_1_id data: - entity_id: climate.remotec_zxt120_heating_1_id operation_mode: 'Off' ``` diff --git a/source/cloud/alexa.markdown b/source/_components/cloud.alexa.markdown similarity index 94% rename from source/cloud/alexa.markdown rename to source/_components/cloud.alexa.markdown index 7e140825af..5f30f112a1 100644 --- a/source/cloud/alexa.markdown +++ b/source/_components/cloud.alexa.markdown @@ -7,7 +7,10 @@ sidebar: true comments: false sharing: true footer: true -redirect_from: /components/cloud.alexa/ +logo: home-assistant.png +ha_release: "0.60" +ha_category: Cloud +ha_iot_class: "Cloud Push" --- The Alexa integration allows users to control the entities via the [Home Assistant Smart Home skill for Alexa][alexa skill]. This means that you can say things like "Alexa, turn on the kitchen light" to control your local Home Assistant. @@ -18,6 +21,8 @@ To use this integration, you need to have: - An Alexa enabled device like the Amazon Echo - Activated the [Home Assistant Smart Home skill for Alexa][alexa skill] +

Only Amazon US is currently supported. Other regions are being certified.

+ You can use `configuration.yaml` to configure the entities that are being shown to Alexa and how they are exposed. ```yaml @@ -40,7 +45,7 @@ cloud: display_categories: LIGHT ``` -{% configuration cloud %} +{% configuration %} alexa: description: Configuration options for the Amazon Alexa integration. required: false diff --git a/source/cloud/google_assistant.markdown b/source/_components/cloud.google_assistant.markdown similarity index 86% rename from source/cloud/google_assistant.markdown rename to source/_components/cloud.google_assistant.markdown index 070f03040b..3dc3dde7cf 100644 --- a/source/cloud/google_assistant.markdown +++ b/source/_components/cloud.google_assistant.markdown @@ -7,20 +7,20 @@ sidebar: true comments: false sharing: true footer: true +logo: home-assistant.png +ha_release: 0.61 +ha_category: Cloud +ha_iot_class: "Cloud Push" +published: false --- - -

-The minimum supported version of Home Assistant is 0.65.6. -

- The Google Assistant integration allows users to control the entities via the Home Assistant Smart Home skill for Google Assistant. This means that you can say things like "Ok Google, turn on the kitchen light" to control your local Home Assistant. To use this integration, you need to have: - The cloud component set up. [Learn more](/components/cloud/) - A Google Assistant enabled device like the Google Home - - Activated the [Home Assistant Smart Home skill for Google Assistant](https://assistant.google.com/services/a/uid/00000091fd5fb875) + - Activated the Home Assistant Smart Home skill for Google Assistant You can use `configuration.yaml` to configure the entities that are being shown to Google Assistant and how they are exposed. @@ -42,10 +42,10 @@ cloud: aliases: - bright lights - entry lights - room: living room + type: 'action.devices.types.LIGHT' ``` -{% configuration cloud %} +{% configuration %} google_actions: description: Configuration options for the Google Assistant integration. required: false @@ -90,8 +90,9 @@ google_actions: description: Aliases that can also be used to refer to this entity required: false type: list - room: - description: Hint for Google Assistant in which room this entity is. + type: + description: Override the type of the entity in Google Assistant. [List of available types](https://developers.google.com/actions/smarthome/guides/) required: false type: string {% endconfiguration %} + diff --git a/source/_components/cloud.markdown b/source/_components/cloud.markdown index 3008a52cac..d45e9aa15f 100644 --- a/source/_components/cloud.markdown +++ b/source/_components/cloud.markdown @@ -13,7 +13,27 @@ ha_category: Voice ha_iot_class: "Cloud Push" --- -The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa. [Learn more.](/cloud) +

The Home Assistant Cloud is currently in open beta and will become part of the upcoming Community Support Package. [Learn more](/blog/2017/12/17/introducing-home-assistant-cloud/)

+ +The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa. + +The following integrations are currently available: + + - [Amazon Alexa (Amazon Echo)](/components/cloud.alexa/) + + + +### {% linkable_title How does it work? %} + +The Home Assistant Cloud has been designed with security in mind. When you activate the Cloud component, your instance will create a secure connection to the Home Assistant Cloud. There is no need for any further configuration or to expose your instance to the internet. + +Integrations like Alexa will deliver messages to our cloud which we will forward to your local instance for processing. We just forward the response back to Alexa. This means that we do not have to store the state of your house in our cloud, we’re just the messenger! + +You can find a list of frequently asked questions (and their answers) in [this blog post](/blog/2017/12/17/introducing-home-assistant-cloud/#faq). + +### {% linkable_title Enabling the cloud %} + +The Home Assistant Cloud is enabled by default. If not, add this to your configuration: ```yaml # Example configuration.yaml entry to enable the cloud component diff --git a/source/_components/comfoconnect.markdown b/source/_components/comfoconnect.markdown index 7394042b84..fcce2b619f 100644 --- a/source/_components/comfoconnect.markdown +++ b/source/_components/comfoconnect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zehnder ComfoAir Q Ventilation" -description: "Instructions on how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant." +description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant." date: 2017-06-28 18:00 sidebar: true comments: false diff --git a/source/_components/config.markdown b/source/_components/config.markdown index 29aa9ce2ae..514840e7f7 100644 --- a/source/_components/config.markdown +++ b/source/_components/config.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Config" -description: "Instructions on how to setup the configuration panel for Home Assistant." +description: "Instructions how to setup the configuration panel for Home Assistant." date: 2017-02-24 20:00 sidebar: true comments: false diff --git a/source/_components/configurator.markdown b/source/_components/configurator.markdown index 9cabdccbb3..3d9661d50b 100644 --- a/source/_components/configurator.markdown +++ b/source/_components/configurator.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Configurator" -description: "Instructions on how to integrate the configurator in your components." +description: "Instructions how to integrate the configurator in your components." date: 2015-03-15 00:51 sidebar: true comments: false diff --git a/source/_components/conversation.markdown b/source/_components/conversation.markdown index e9bb86aaab..55b9fbb19a 100644 --- a/source/_components/conversation.markdown +++ b/source/_components/conversation.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Conversation" -description: "Instructions on how to have conversations with your Home Assistant." +description: "Instructions how to have conversations with your Home Assistant." date: 2015-03-15 00:39 sidebar: true comments: false @@ -11,85 +11,46 @@ logo: home-assistant.png ha_category: "Voice" --- -The conversation component allows you to converse with Home Assistant. You can either converse by pressing the microphone in the frontend (supported browsers only (no iOS)) or by calling the `conversation/process` service with the transcribed text. -

- - Screenshot of the conversation interface in Home Assistant. -

+The `conversation` component can process sentences into commands for Home Assistant. It currently has built in functionality to recognize `turn `, but custom phrases can be added through configuration. + + +To enable the conversation option in your installation, add the following to your `configuration.yaml` file: ```yaml # Example base configuration.yaml entry conversation: ``` -{% configuration %} -intents: - description: Intents that the conversation component should understand. - required: false - type: map - keys: - '``': - description: Sentences that should trigger this intent. - required: true - type: list -{% endconfiguration %} +To add custom phrases to be recognized: -## {% linkable_title Adding custom sentences %} +```yaml +# Example configuration.yaml entry with custom phrasesconversation +conversation: + boolean_test: + sentence: switch boolean # The phrase it will recognize + action: + service: input_boolean.toggle +``` -By default, it will support turning devices on and off. You can say things like "turn on kitchen lights" or "turn the living room lights off". You can also configure your own sentences to be processed. This works by mapping sentences to intents and then configure the [intent script component](/components/intent_script/) to handle these intents. +The action keyword uses [script syntax](https://home-assistant.io/docs/scripts/). -Here is a simple example to be able to ask what the temperature in the living room is. +To use the `conversation` component with the [`shopping list` component](/components/shopping_list/) add an intent. ```yaml # Example configuration.yaml entry conversation: intents: - LivingRoomTemperature: - - What is the temperature in the living room - -intent_script: - LivingRoomTemperature: - speech: - text: It is currently {% raw %}{{ states.sensor.temperature }}{% endraw %} degrees in the living room. + ShoppingListAddItem: + - Add {item} to my shopping list ``` -## {% linkable_title Adding advanced custom sentences %} +When this component is active and you are using a supported browser voice commands will be activated in the frontend. Browse to [the demo](/demo/) using Chrome or Chromium to see it in action. -Sentences can contain slots (marked with curly braces: `{name}`) and optional words (marked with square brackets: `[the]`). The values of slots will be passed on to the intent and are available inside the templates. +

+ +

-The following configuration can handle the following sentences: - - - Change the lights to red - - Change the lights to green - - Change the lights to blue - - Change the lights to the color red - - Change the lights to the color green - - Change the lights to the color blue - -```yaml -# Example configuration.yaml entry -conversation: - intents: - ColorLight: - - Change the lights to [the color] {color} -{% raw %} -intent_script: - ColorLight: - speech: - text: Changed the lights to {{ color }}. - action: - service: light.turn_on - data_template: - rgb_color: - - "{% if color == 'red' %}255{% else %}0{% endif %}" - - "{% if color == 'green' %}255{% else %}0{% endif %}" - - "{% if color == 'blue' %}255{% else %}0{% endif %}" -{% endraw %} -``` - -#### {% linkable_title Service `conversation.process` %} - -| Service data attribute | Optional | Description | -|------------------------|----------|--------------------------------------------------| -| `text` | yes | Transcribed text | +

+ Apple iPhones do not support this feature in any browser. +

diff --git a/source/_components/counter.markdown b/source/_components/counter.markdown index f181d4755a..76a11fbb89 100644 --- a/source/_components/counter.markdown +++ b/source/_components/counter.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Counter" -description: "Instructions on how to integrate counters into Home Assistant." +description: "Instructions how to integrate counters into Home Assistant." date: 2017-08-26 06:00 sidebar: true comments: false @@ -19,7 +19,7 @@ To add a counter to your installation, add the following to your `configuration. ```yaml # Example configuration.yaml entry counter: - my_custom_counter: + counter: initial: 30 step: 1 ``` diff --git a/source/_components/cover.abode.markdown b/source/_components/cover.abode.markdown index a80303a756..e67998bf0b 100644 --- a/source/_components/cover.abode.markdown +++ b/source/_components/cover.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Cover" -description: "Instructions on how to integrate Abode covers into Home Assistant." +description: "Instructions how to integrate Abode covers into Home Assistant." date: 2017-08-26 13:28 sidebar: true comments: false diff --git a/source/_components/cover.garadget.markdown b/source/_components/cover.garadget.markdown index 0a3b5de358..6ae25d44e8 100644 --- a/source/_components/cover.garadget.markdown +++ b/source/_components/cover.garadget.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Garadget Cover" -description: "Instructions on how to integrate Garadget covers within Home Assistant." +description: "Instructions how to integrate Garadget covers within Home Assistant." date: 2016-10-24 14:25 sidebar: true comments: false @@ -16,8 +16,6 @@ ha_iot_class: "Cloud Polling" The `garadget` cover platform lets you control [Garadget](http://www.garadget.com/) garage door futurizers through Home Assistant. -## {% linkable_title Configuration %} - To enable Garadget Covers in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,8 +24,8 @@ cover: - platform: garadget covers: 190028001947343412342341: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: UseYourLogin@garadget.com + password: abc123 4c003f001151353432134214: access_token: df4cc785ff818f2b01396c44142342fccdef ``` @@ -46,13 +44,12 @@ Configuration variables: If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time. -## {% linkable_title Example %} +**Example with more detail:**

-{% raw %} ```yaml # Related configuration.yaml entry cover: @@ -67,13 +64,13 @@ sensor: sensors: garage_door_status: friendly_name: 'State of the door' - value_template: '{{ states.cover.garage_door.state }}' + value_template: {% raw %}'{{ states.cover.garage_door.state }}'{% endraw %} garage_door_time_in_state: friendly_name: 'Since' - value_template: '{{ states.cover.garage_door.attributes.time_in_state }}' + value_template: {% raw %}'{{ states.cover.garage_door.attributes.time_in_state }}'{% endraw %} garage_door_wifi_signal_strength: friendly_name: 'WiFi strength' - value_template: '{{ states.cover.garage_door.attributes.wifi_signal_strength }}' + value_template: {% raw %}'{{ states.cover.garage_door.attributes.wifi_signal_strength }}'{% endraw %} unit_of_measurement: 'dB' group: @@ -91,7 +88,6 @@ customize: sensor.garage_door_wifi_signal_strength: icon: mdi:wifi ``` -{% endraw %} Some of the Garadget sensors can create a lot of clutter in the logbook. Use this section of code in your `configuration.yaml` to exclude those entries. diff --git a/source/_components/cover.gogogate2.markdown b/source/_components/cover.gogogate2.markdown deleted file mode 100644 index a24ef1fd02..0000000000 --- a/source/_components/cover.gogogate2.markdown +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: page -title: "Gogogate2 Cover" -description: "Instructions on how to integrate Gogogate2-Enabled garage door covers into Home Assistant." -date: 2018-03-26 20:02 -sidebar: true -comments: false -sharing: true -footer: true -logo: gogogate2.png -ha_category: Cover -ha_release: 0.67 -ha_iot_class: Local Polling ---- - -The `gogogate2` cover platform lets you control Gogogate2-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your Gogogate2 mobile app. - -## {% linkable_title Configuration %} - -To use your Gogogate2 cover in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -cover: - - platform: gogogate2 - username: email@email.com - password: password - ip_address: 192.168.1.200 -``` - -{% configuration %} -username: - description: Your Gogogate2 account username. - required: true - type: string -password: - description: Your Gogogate2 account password. - required: true - type: string -ip_address: - description: The IP Address of your Gogogate2 device. - required: true - type: string -name: - description: Allows you to override the default name. - default: gogogate2 - required: false - type: string -{% endconfiguration %} diff --git a/source/_components/cover.group.markdown b/source/_components/cover.group.markdown deleted file mode 100644 index c29b4b46a1..0000000000 --- a/source/_components/cover.group.markdown +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: page -title: "Cover Group" -description: "Instructions how to setup grouped covers in Home Assistant." -date: 2018-02-11 10:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Cover -ha_release: 0.66 -ha_iot_class: "Local Push" -logo: home-assistant.png ---- - -The `group` platform can create a cover that combines several cover entities into one. - -To enable `Cover Groups` in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -cover: - - platform: group - entities: - - cover.hall_window - - cover.living_room_window -``` - -{% configuration %} - name: - description: Name to use in the frontend. - required: false - type: string - default: "Cover Group" - entities: - description: List of all cover entities you want to control. - required: true - type: [string | list] -{% endconfiguration %} - -## {% linkable_title Functionality %} - -It works best if you group covers with the same supported features together (like support for `open`/`close`/`stop`/`position`/`tilt controls`), but is not limited to it. In case you have bundled covers with different features together, the controls will only affect those covers that support the actions. diff --git a/source/_components/cover.homematic.markdown b/source/_components/cover.homematic.markdown index e5f3a8930e..9ac3fa4aca 100644 --- a/source/_components/cover.homematic.markdown +++ b/source/_components/cover.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Cover" -description: "Instructions on how to integrate Homematic covers within Home Assistant." +description: "Instructions how to integrate Homematic covers within Home Assistant." date: 2016-08-24 14:25 sidebar: true comments: false diff --git a/source/_components/cover.isy994.markdown b/source/_components/cover.isy994.markdown index 929afac31d..95aed3d3ba 100644 --- a/source/_components/cover.isy994.markdown +++ b/source/_components/cover.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Cover" -description: "Instructions on how to integrate ISY994 covers into Home Assistant." +description: "Instructions how to integrate ISY994 covers into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/cover.lutron.markdown b/source/_components/cover.lutron.markdown index ffd2c100b2..50cb5b1ef9 100644 --- a/source/_components/cover.lutron.markdown +++ b/source/_components/cover.lutron.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Cover" -description: "Instructions on how to setup the Lutron shades within Home Assistant." +description: "Instructions how to setup the Lutron shades within Home Assistant." date: 2018-01-11 20:00 sidebar: true comments: false diff --git a/source/_components/cover.lutron_caseta.markdown b/source/_components/cover.lutron_caseta.markdown index ee64257f1a..713c454472 100644 --- a/source/_components/cover.lutron_caseta.markdown +++ b/source/_components/cover.lutron_caseta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Caseta Cover" -description: "Instructions on how to setup the Lutron Caseta covers within Home Assistant." +description: "Instructions how to setup the Lutron Caseta covers within Home Assistant." date: 2017-05-20 09:00 sidebar: true comments: false diff --git a/source/_components/cover.markdown b/source/_components/cover.markdown index a530768096..8024b67a3b 100644 --- a/source/_components/cover.markdown +++ b/source/_components/cover.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Covers" -description: "Instructions on how to integrate covers into Home Assistant." +description: "Instructions how to integrate covers into Home Assistant." date: 2016-06-28 17:30 sidebar: true comments: false diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index 81358f8776..f06204cfaa 100755 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Cover" -description: "Instructions on how to integrate MQTT covers into Home Assistant." +description: "Instructions how to integrate MQTT covers into Home Assistant." date: 2016-09-28 17:30 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_release: 0.18 The `mqtt` cover platform allows you to control an MQTT cover (such as blinds, a rollershutter, or a garage door). -## {% linkable_title Configuration %} - The device state (`open` or `closed`) will be updated only after a new message is published on `state_topic` matching `state_open` or `state_closed`. If these messages are published with the `retain` flag set, the cover will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`. There is an attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`. @@ -166,7 +164,7 @@ In this section you will find some real life examples of how to use this platfor The example below shows a full configuration for a cover without tilt. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry cover: - platform: mqtt name: "MQTT Cover" @@ -190,9 +188,8 @@ cover: The example below shows a full configuration for a cover. -{% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry cover: - platform: mqtt name: "MQTT Cover" @@ -209,7 +206,7 @@ cover: payload_available: "online" payload_not_available: "offline" optimistic: false - value_template: '{{ value.x }}' + value_template: '{% raw %}{{ value.x }}{% endraw %}' tilt_command_topic: 'home-assistant/cover/tilt' tilt_status_topic: 'home-assistant/cover/tilt-state' tilt_min: 0 @@ -217,7 +214,6 @@ cover: tilt_closed_value: 70 tilt_opened_value: 180 ``` -{% endraw %} To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. This allows you to operate your cover manually: diff --git a/source/_components/cover.myq.markdown b/source/_components/cover.myq.markdown index 419e65ef7a..405065d88a 100644 --- a/source/_components/cover.myq.markdown +++ b/source/_components/cover.myq.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MyQ Cover" -description: "Instructions on how to integrate MyQ-Enabled garage door covers into Home Assistant." +description: "Instructions how to integrate MyQ-Enabled garage door covers into Home Assistant." date: 2017-02-14 14:21 sidebar: true comments: false @@ -15,31 +15,19 @@ ha_iot_class: Cloud Polling The `myq` cover platform lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app. -## {% linkable_title Configuration %} - To use your MyQ cover in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry cover: - platform: myq - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: email@email.com + password: password type: chamberlain ``` -{% configuration %} -username: - description: Your MyQ account username. - required: true - type: string -password: - description: Your MyQ account password. - required: true - type: string -password: - description: "Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`." - required: true - type: string -{% endconfiguration %} +Configuration variables: +- **username** (*Required*): Your MyQ account username. +- **password** (*Required*): Your MyQ account password. +- **type** (*Required*): Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`. diff --git a/source/_components/cover.mysensors.markdown b/source/_components/cover.mysensors.markdown index b4ded3e1b4..c94ec4f57f 100644 --- a/source/_components/cover.mysensors.markdown +++ b/source/_components/cover.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Cover" -description: "Instructions on how to integrate MySensors covers into Home Assistant." +description: "Instructions how to integrate MySensors covers into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/cover.opengarage.markdown b/source/_components/cover.opengarage.markdown index 815b1e1e64..7ee7fccb49 100644 --- a/source/_components/cover.opengarage.markdown +++ b/source/_components/cover.opengarage.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenGarage Cover" -description: "Instructions on how to integrate OpenGarage.io covers within Home Assistant." +description: "Instructions how to integrate OpenGarage.io covers within Home Assistant." date: 2017-04-07 14:25 sidebar: true comments: false diff --git a/source/_components/cover.rflink.markdown b/source/_components/cover.rflink.markdown index bc4d18538d..1bd3a1a50c 100644 --- a/source/_components/cover.rflink.markdown +++ b/source/_components/cover.rflink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFLink Cover" -description: "Instructions on how to integrate RFLink Somfy RTS Cover into Home Assistant." +description: "Instructions how to integrate RFLink Somfy RTS Cover into Home Assistant." date: 2017-08-08 sidebar: true comments: false diff --git a/source/_components/cover.rfxtrx.markdown b/source/_components/cover.rfxtrx.markdown index dd31090f86..115332a8e0 100644 --- a/source/_components/cover.rfxtrx.markdown +++ b/source/_components/cover.rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx Cover" -description: "Instructions on how to integrate RFXtrx covers into Home Assistant." +description: "Instructions how to integrate RFXtrx covers into Home Assistant." date: 2016-08-24 14:30 sidebar: true comments: false diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index ac953405f0..581c6f3698 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi Cover" -description: "Instructions on how to setup the Raspberry Pi covers within Home Assistant." +description: "Instructions how to setup the Raspberry Pi covers within Home Assistant." date: 2016-08-24 14:28 sidebar: true comments: false diff --git a/source/_components/cover.scsgate.markdown b/source/_components/cover.scsgate.markdown index 96b49a7158..52f198b7ed 100644 --- a/source/_components/cover.scsgate.markdown +++ b/source/_components/cover.scsgate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SCSGate Cover" -description: "Instructions on how to integrate SCSGate motorized devices into Home Assistant." +description: "Instructions how to integrate SCSGate motorized devices into Home Assistant." date: 2016-06-28 17:30 sidebar: true comments: false diff --git a/source/_components/cover.tahoma.markdown b/source/_components/cover.tahoma.markdown index a67537ca11..787b6fb126 100644 --- a/source/_components/cover.tahoma.markdown +++ b/source/_components/cover.tahoma.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Tahoma Cover" -description: "Instructions on how to integrate Tahoma covers into Home Assistant." +description: "Instructions how to integrate Tahoma covers into Home Assistant." date: 2017-07-18 12:00 sidebar: true comments: false @@ -12,6 +12,10 @@ ha_category: Cover ha_release: 0.59 --- -The `tahoma` cover platform lets you control covers added to your Tahoma Box in Home Assistant. +To use your tahoma covers in your installation, add the following to your `configuration.yaml` file: -Covers will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. +```yaml +# Example configuration.yml entry +cover: + platform: tahoma +``` diff --git a/source/_components/cover.tellstick.markdown b/source/_components/cover.tellstick.markdown index 1d2660cda5..2008ef2a73 100644 --- a/source/_components/cover.tellstick.markdown +++ b/source/_components/cover.tellstick.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TellStick Cover" -description: "Instructions on how to integrate TellStick covers into Home Assistant." +description: "Instructions how to integrate TellStick covers into Home Assistant." date: 2017-11-29 16:23 sidebar: true comments: false diff --git a/source/_components/cover.template.markdown b/source/_components/cover.template.markdown index 06a4c09d9c..1450be2d50 100644 --- a/source/_components/cover.template.markdown +++ b/source/_components/cover.template.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Template Cover" -description: "Instructions on how to integrate Template Covers into Home Assistant." +description: "Instructions how to integrate Template Covers into Home Assistant." date: 2017-06-19 20:32 sidebar: true comments: false @@ -48,10 +48,6 @@ cover: description: Name to use in the frontend. required: false type: string - entity_id: - description: A list of entity IDs so the cover only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: [string, list] value_template: description: Defines a template to get the state of the cover. Valid values are `open`/`true` or `closed`/`false`. [`value_template`](#value_template) and [`position_template`](#position_template) cannot be specified concurrently. required: exclusive @@ -201,9 +197,6 @@ cover: {% else %} mdi:window-closed {% endif %} - entity_id: - - cover.bedroom - - cover.livingroom sensor: - platform: template diff --git a/source/_components/cover.vera.markdown b/source/_components/cover.vera.markdown index a982c83a41..32eee4bcae 100644 --- a/source/_components/cover.vera.markdown +++ b/source/_components/cover.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Cover" -description: "Instructions on how to integrate Vera covers into Home Assistant." +description: "Instructions how to integrate Vera covers into Home Assistant." date: 2016-09-19 21:00 sidebar: true comments: false diff --git a/source/_components/cover.wink.markdown b/source/_components/cover.wink.markdown index 8c82634187..758f01b844 100644 --- a/source/_components/cover.wink.markdown +++ b/source/_components/cover.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Cover" -description: "Instructions on how to setup the Wink garage doors within Home Assistant." +description: "Instructions how to setup the Wink garage doors within Home Assistant." date: 2016-06-28 17:30 sidebar: true comments: false @@ -13,20 +13,24 @@ ha_release: 0.13 ha_iot_class: "Cloud Polling" --- -Wink Cover garage door functionality varies on the product. Home Assistant can open, close, and view state of GoControl/Linear openers. For Chamberlain MyQ-enabled openers, Home Assistant is limited to show current state (open or closed) only using this Wink cover. This restriction was imposed by Chamberlain for third party control. Wink suggests that MyQ customers should contact Chamberlain directly to inquire about expanding permissions. +Wink cover/garage door functionality depends on the product you're using. With GoControl/Linear Home Assistant can open, close, and view state. Chamberlain is currently limited to view only. Meaning Home Assistant will only show the current state of the door and control has been disabled (by Chamberlain). If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control. -The [MyQ Cover](/components/cover.myq/) does provide full functionality for opening and closing Chamberlain MyQ-enabled garage doors. If installed along with the Wink Component, a duplicate garage door entity may exist. In that case, the semi-functional Wink garage door entity can be hidden via customize.yaml. +The following quote is from Wink. + +> As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions. The requirement is that you have setup [Wink](/components/wink/). + ### {% linkable_title Supported cover devices %} - Bali window treatments - Lutron shades - Pella motorized blinds and shades - GoControl garage door opener -- Chamberlain MyQ (Limited functionality) (No Wink hub required) +- Chamberlain (Limited functionality) (No Wink hub required)

The above devices are confirmed to work, but others may work as well.

+ diff --git a/source/_components/cover.xiaomi_aqara.markdown b/source/_components/cover.xiaomi_aqara.markdown index 6f5353b9c8..d2bbdf5fa9 100644 --- a/source/_components/cover.xiaomi_aqara.markdown +++ b/source/_components/cover.xiaomi_aqara.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Cover" -description: "Instructions on how to setup the Xiaomi cover within Home Assistant." +description: "Instructions how to setup the Xiaomi cover within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false diff --git a/source/_components/cover.zwave.markdown b/source/_components/cover.zwave.markdown index 53477e1e00..90547584ce 100644 --- a/source/_components/cover.zwave.markdown +++ b/source/_components/cover.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Cover" -description: "Instructions on how to setup the Z-Wave covers within Home Assistant." +description: "Instructions how to setup the Z-Wave covers within Home Assistant." date: 2016-12-18 19:41 sidebar: true comments: false diff --git a/source/_components/datadog.markdown b/source/_components/datadog.markdown index 7a3ec052c7..511d51608a 100644 --- a/source/_components/datadog.markdown +++ b/source/_components/datadog.markdown @@ -35,7 +35,7 @@ datadog: Configuration variables: -- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g., 192.168.1.23. Defaults to `localhost`. +- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g. 192.168.1.23. Defaults to `localhost`. - **port** (*Optional*): Port to use. Defaults to 8125. - **prefix** (*Optional*): Prefix to use. Defaults to `hass`. - **rate** (*Optional*): The sample rate of UDP packets sent to Datadog. Defaults to 1. diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index d1fde01521..6b65b08664 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -17,33 +17,29 @@ ha_iot_class: "Local Push" [deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/). -### {% linkable_title Supported device types %} - -- [Zigbee Lights](/components/light.deconz/) -- [Consumption Sensors](/components/sensor.deconz/) -- [Humidity Sensors](/components/sensor.deconz/) -- [Light Level Sensors](/components/sensor.deconz/) -- [OpenClose Detectors](/components/binary_sensor.deconz/) -- [Power Sensors](/components/sensor.deconz/) -- [Presence Detectors](/components/binary_sensor.deconz/) -- [Pressure Sensors](/components/sensor.deconz/) -- [Switches (Remote Controls)](/components/sensor.deconz/) -- [Temperature Sensors](/components/sensor.deconz/) - -## {% linkable_title Configuration %} - Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file. -If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in `.config_entries.json` inside the `.homeassistant` folder. +If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to Menu->Settings->Unlock Gateway in deCONZ and then use the deCONZ configurator in Home Assistant GUI to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in deconz.conf inside the home-assistant folder. You can add the following to your configuration.yaml file if you are not using the `discovery:` component: ```yaml # Example configuration.yaml entry deconz: - host: IP_ADDRESS + host: IP ADDRESS ``` +#### {% linkable_title Supported Device types %} + +- [Zigbee Lights](/components/light.deconz/) +- [Humidity Sensors](/components/sensor.deconz/) +- [Light Level Sensors](/components/sensor.deconz/) +- [OpenClose Detectors](/components/binary_sensor.deconz/) +- [Presence Detectors](/components/binary_sensor.deconz/) +- [Pressure Sensors](/components/sensor.deconz/) +- [Switches (Remote Controls)](/components/sensor.deconz/) +- [Temperature Sensors](/components/sensor.deconz/) + {% configuration %} host: description: The IP address of your deCONZ web server. @@ -70,41 +66,22 @@ deconz: port: 80 ``` -## {% linkable_title Debugging component %} - -If you have problems with deCONZ or the component you can add debug prints to the log. - -```yaml -logger: - default: info - logs: - pydeconz: debug -    homeassistant.components.deconz: debug -``` - ## {% linkable_title Device services %} - Available services: `configure`. -#### {% linkable_title Service `deconz.configure` %} - +#### {% linkable_title Service `deconz/configure` %} Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/). | Service data attribute | Optional | Description | |-----------|----------|-------------| | `field` | No | String representing a specific device in deCONZ. | -| `entity` | No | String representing a specific HASS entity of a device in deCONZ. | | `data` | No | Data is a JSON object with what data you want to alter. | -Field and entity are exclusive, i.e you can only use one in a request. - { "field": "/lights/1", "data": {"name": "light2"} } -{ "entity": "light.light1", "data": {"name": "light2"} } - { "field": "/config", "data": {"permitjoin": 60} } -## {% linkable_title Remote control devices %} +## {% linkable_title Remote control devices%} Remote controls (ZHASwitch category) will be not be exposed as a regular entity, but as events named 'deconz_event' with a payload of 'id' and 'event'. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. @@ -119,13 +96,10 @@ Typical values for switches, the event codes are 4 numbers where the first and l Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up button. -For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is left, and 5 is right. - ## {% linkable_title Examples %} ### {% linkable_title Step up and step down input number with wireless dimmer %} -{% raw %} ```yaml automation: - alias: 'Toggle lamp from dimmer' @@ -152,9 +126,9 @@ automation: - service: light.turn_on data_template: entity_id: light.lamp - brightness: > + brightness: {% raw %}> {% set bri = states.light.lamp.attributes.brightness | int %} - {{ [bri+30, 249] | min }} + {{ [bri+30, 249] | min }}{% endraw %} - alias: 'Decrease brightness of lamp from dimmer' initial_state: 'on' @@ -168,8 +142,7 @@ automation: - service: light.turn_on data_template: entity_id: light.lamp - brightness: > + brightness: {% raw %}> {% set bri = states.light.lamp.attributes.brightness | int %} - {{ [bri-30, 0] | max }} + {{ [bri-30, 0] | max }}{% endraw %} ``` -{% endraw %} diff --git a/source/_components/demo.markdown b/source/_components/demo.markdown index f1c2573720..b399c9485c 100644 --- a/source/_components/demo.markdown +++ b/source/_components/demo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Demo platforms" -description: "Instructions on how to use the Platform demos with Home Assistant." +description: "Instructions how to use the Platform demos with Home Assistant." date: 2016-02-24 07:00 sidebar: true comments: false @@ -12,7 +12,7 @@ ha_category: Other --- -The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](/demo/) or `hass --demo-mode` but combined with your own real/functional platforms. +The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](https://home-assistant.io/demo/) or `hass --demo-mode` but combined with your own real/functional platforms. Available demo platforms: diff --git a/source/_components/device_sun_light_trigger.markdown b/source/_components/device_sun_light_trigger.markdown index d49c4e1565..e0a75a093c 100644 --- a/source/_components/device_sun_light_trigger.markdown +++ b/source/_components/device_sun_light_trigger.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Presence based lights" -description: "Instructions on how to automate your lights with Home Assistant." +description: "Instructions how to automate your lights with Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/device_tracker.actiontec.markdown b/source/_components/device_tracker.actiontec.markdown index fbf2119650..b292353585 100644 --- a/source/_components/device_tracker.actiontec.markdown +++ b/source/_components/device_tracker.actiontec.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Actiontec" -description: "Instructions on how to integrate Actiontec routers into Home Assistant." +description: "Instructions how to integrate Actiontec routers into Home Assistant." date: 2015-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.aruba.markdown b/source/_components/device_tracker.aruba.markdown index e84c37954b..0dd6102555 100644 --- a/source/_components/device_tracker.aruba.markdown +++ b/source/_components/device_tracker.aruba.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Aruba" -description: "Instructions on how to integrate Aruba routers into Home Assistant." +description: "Instructions how to integrate Aruba routers into Home Assistant." date: 2015-08-31 08:45 sidebar: true comments: false @@ -36,7 +36,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. +- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`. - **username** (*Required*): The username of an user with administrative privileges, usually `admin`. - **password** (*Required*): The password for your given admin account. diff --git a/source/_components/device_tracker.asuswrt.markdown b/source/_components/device_tracker.asuswrt.markdown index 7889253ce9..a49a066309 100644 --- a/source/_components/device_tracker.asuswrt.markdown +++ b/source/_components/device_tracker.asuswrt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ASUSWRT" -description: "Instructions on how to integrate ASUSWRT based routers into Home Assistant." +description: "Instructions how to integrate ASUSWRT based routers into Home Assistant." date: 2015-08-06 19:00 sidebar: true comments: false @@ -19,8 +19,6 @@ The `asuswrt` platform offers presence detection by looking at connected devices This platform is **NOT** available for [Microsoft Windows installations](http://pexpect.readthedocs.io/en/stable/overview.html#pexpect-on-windows).

-### {% linkable_title Configuration %} - To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -31,44 +29,15 @@ device_tracker: username: YOUR_ADMIN_USERNAME ``` -{% configuration %} -host: - description: "The IP address of your router, eg. `192.168.1.1`." - required: true - type: string -username: - description: "The username of an user with administrative privileges, usually `admin`." - required: true - type: string -password: - description: "The password for your given admin account (use this if no SSH key is given)." - required: false - type: string -protocol: - description: "The protocol (`ssh` or `telnet`) to use." - required: false - type: string - default: ssh -port: - description: SSH port to use. - required: false - type: int - default: 22 -mode: - description: "The operating mode of the router (`router` or `ap`)." - required: false - type: string - default: router -ssh_key: - description: The path to your SSH private key file associated with your given admin account (instead of password). - required: false - type: string -require_ip: - description: If the router is in access point mode. - required: false - type: boolean - default: true -{% endconfiguration %} +Configuration variables: + +- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`. +- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. +- **password** (*Optional*): The password for your given admin account (use this if no SSH key is given). +- **protocol** (*Optional*): The protocol (`ssh` or `telnet`) to use. Defaults to `ssh`. +- **port** (*Optional*): SSH port to use. Defaults to `22`. +- **mode** (*Optional*): The operating mode of the router (`router` or `ap`). Defaults to `router`. +- **ssh_key** (*Optional*): The path to your SSH private key file associated with your given admin account (instead of password).

You need to [enable telnet](https://www.asus.com/support/faq/1005449/) on your router if you choose to use `protocol: telnet`. diff --git a/source/_components/device_tracker.bbox.markdown b/source/_components/device_tracker.bbox.markdown index 35bae013f0..7a5cc91649 100644 --- a/source/_components/device_tracker.bbox.markdown +++ b/source/_components/device_tracker.bbox.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Bbox" -description: "Instructions on how to integrate Bouygues Bbox routers into Home Assistant." +description: "Instructions how to integrate Bouygues Bbox routers into Home Assistant." date: 2016-10-13 23:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.bluetooth_le_tracker.markdown b/source/_components/device_tracker.bluetooth_le_tracker.markdown index ce1dab5000..03b844f667 100644 --- a/source/_components/device_tracker.bluetooth_le_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_le_tracker.markdown @@ -48,7 +48,7 @@ Configuration variables: - **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds. As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times. -Some BTLE devices (e.g., fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device. +Some BTLE devices (e.g. fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device. ## {% linkable_title Rootless Setup %} diff --git a/source/_components/device_tracker.bluetooth_tracker.markdown b/source/_components/device_tracker.bluetooth_tracker.markdown index 45bd09eae3..0a2a2d0632 100644 --- a/source/_components/device_tracker.bluetooth_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_tracker.markdown @@ -27,14 +27,6 @@ device_tracker: - platform: bluetooth_tracker ``` -{% configuration %} -request_rssi: - description: Performs a request for the "Received signal strength indication" (RSSI) of each tracked device - required: false - type: boolean - default: False -{% endconfiguration %} - In some cases it can be that your device is not discovered. In that case let your phone scan for Bluetooth devices while you restart Home Assistant. Just hit `Scan` on your phone all the time until Home Assistant is fully restarted and the device should appear in `known_devices.yaml`. For additional configuration variables check the [Device tracker page](/components/device_tracker/). diff --git a/source/_components/device_tracker.bmw_connected_drive.markdown b/source/_components/device_tracker.bmw_connected_drive.markdown deleted file mode 100644 index 4f390c5fa3..0000000000 --- a/source/_components/device_tracker.bmw_connected_drive.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "BMW Connected Drive Device Tracker" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." -date: 2018-01-10 23:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: bmw.png -ha_category: Presence Detection -ha_release: 0.64 ---- - - -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. - -The device tracker platform will be automatically configured if the `bmw_connected_drive` component is configured. - -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/device_tracker.bt_home_hub_5.markdown b/source/_components/device_tracker.bt_home_hub_5.markdown index 106ba06083..9fd185eadd 100644 --- a/source/_components/device_tracker.bt_home_hub_5.markdown +++ b/source/_components/device_tracker.bt_home_hub_5.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BT Home Hub 5" -description: "Instructions on how to integrate BT Home Hub 5 router into Home Assistant." +description: "Instructions how to integrate BT Home Hub 5 router into Home Assistant." date: 2016-06-13 13:00 sidebar: true comments: false @@ -25,6 +25,6 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.254. +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.254. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.cisco_ios.markdown b/source/_components/device_tracker.cisco_ios.markdown index 589241b8eb..1402e84064 100644 --- a/source/_components/device_tracker.cisco_ios.markdown +++ b/source/_components/device_tracker.cisco_ios.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Cisco IOS" -description: "Instructions on how to integrate Cisco IOS routers into Home Assistant." +description: "Instructions how to integrate Cisco IOS routers into Home Assistant." date: 2016-11-07 19:59 sidebar: true comments: false @@ -59,7 +59,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. - **username** (*Required*): The username of an user with administrative privileges. - **password** (*Required*): The password for your given admin account. diff --git a/source/_components/device_tracker.ddwrt.markdown b/source/_components/device_tracker.ddwrt.markdown index 826046d029..4fa4fe0af4 100644 --- a/source/_components/device_tracker.ddwrt.markdown +++ b/source/_components/device_tracker.ddwrt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DD-WRT" -description: "Instructions on how to integrate DD-WRT based routers into Home Assistant." +description: "Instructions how to integrate DD-WRT based routers into Home Assistant." date: 2015-05-11 09:00 sidebar: true comments: false @@ -27,7 +27,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. +- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`. - **username** (*Required*: The username of an user with administrative privileges, usually `admin`. - **password** (*Required*): The password for your given admin account. diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index 3e4a745d99..40d7bfa985 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -1,7 +1,7 @@ --- layout: page title: "FRITZ!Box" -description: "Instructions on how to integrate AVM FRITZ!Box based routers into Home Assistant." +description: "Instructions how to integrate AVM FRITZ!Box based routers into Home Assistant." date: 2015-12-13 19:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_release: "0.10" The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router. -## {% linkable_title Configuration %} -

It might be necessary to install additional packages: $ sudo apt-get install libxslt-dev libxml2-dev python3-lxml If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip install lxml; be patient this will take a while.

diff --git a/source/_components/device_tracker.geofency.markdown b/source/_components/device_tracker.geofency.markdown index be09d277a1..320b59d488 100644 --- a/source/_components/device_tracker.geofency.markdown +++ b/source/_components/device_tracker.geofency.markdown @@ -39,8 +39,8 @@ device_tracker: To configure Geofency, you must configure (via the Webhook feature) to send a POST request to your Home Assistant server at `http:///api/geofency`. Use the default POST format, and make sure to include the API password if you have configured a password in Home Assistant (add `?api_password=` to the end of the URL). Make sure to enable the 'Update Geo-Position' functionality for mobile beacons. -Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_`, e.g., `device_tracker.beacon_car`. +Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_`, e.g., `device_tracker.beacon_car`. -When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone. +When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](https://home-assistant.io/components/zone/), otherwise, it will be set to the name of the zone. -To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. \ No newline at end of file +To make Geofency work better with the [proximity](https://home-assistant.io/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. \ No newline at end of file diff --git a/source/_components/device_tracker.google_maps.markdown b/source/_components/device_tracker.google_maps.markdown deleted file mode 100644 index d05c9e35d2..0000000000 --- a/source/_components/device_tracker.google_maps.markdown +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: page -title: "Google Maps Location Sharing" -description: "Instructions how to use Google Maps Location Sharing to track devices in Home Assistant." -date: 2017-02-12 10:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: google_maps.png -ha_release: 0.67 -ha_category: Presence Detection -ha_iot_class: "Cloud Polling" ---- - -The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing). - -You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). - -This platform will create a file named `google_maps_location_sharing.conf` where it caches your login session. - -

-Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this component. -This issue can be fixed by logging in with your new account and approving your login on the [Device Activity](https://myaccount.google.com/device-activity) page. -

- -To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: google_maps - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: The email address for the Google account that has access to your shared location. - required: true - type: string -password: - description: The password for your given username. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 4c2889a94b..34465aec4f 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -1,7 +1,7 @@ --- layout: page title: "GPSLogger" -description: "Instructions on how to use GPSLogger to track devices in Home Assistant." +description: "Instructions how to use GPSLogger to track devices in Home Assistant." date: 2016-11-25 15:00 sidebar: true comments: false @@ -39,7 +39,7 @@ After the launch, go to **General Options**. Enable **Start on bootup** and **St GPSLogger Settings

-Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**. +Go to **Logging details** and disable **Log to GPX**. **Log to KML**, and **Log to NMEA**. Enable **Log to custom URL**.

@@ -56,7 +56,7 @@ Right after enabling, the app will take you to the **Log to custom URL** setting The relevant endpoint is: `/api/gpslogger` ```text -https://[IP address Home Assistant]:[Port]/api/gpslogger? +http://[IP address Home Assistant]:[Port]/api/gpslogger? latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC &battery=%BATT&speed=%SPD&direction=%DIR &altitude=%ALT&provider=%PROV&activity=%ACT @@ -65,8 +65,8 @@ https://[IP address Home Assistant]:[Port]/api/gpslogger? Add the above URL after you modified it with your settings into the **URL** field. Remove the line breaks as they are only there to make the URL readable here. - It's HIGHLY recommended to use SSL/TLS. -- Use the domain that Home Assistant is available on the internet or the public IP address. This can be a local IP address if you are using an always on VPN from your mobile device to your home network. -- Only remove `[Port]` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using. +- Use the domain that Home Assistant is available on the internet or the public IP address. Can be a local IP address if you are using a VPN setup. +- Only remove `[Port]` if your Home Assistant instance is using port 80. Otherwise set it to 8123. - For Home Assistant only the above URL, as written, will work - do not add or remove any parameters. - Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=[Your password]` to the end of the URL. - You can change the name of your device name by replacing `&device=%SER` with `&device=[Devicename]`. diff --git a/source/_components/device_tracker.huawei_router.markdown b/source/_components/device_tracker.huawei_router.markdown index 92ee5c62d4..6c9647ac3c 100644 --- a/source/_components/device_tracker.huawei_router.markdown +++ b/source/_components/device_tracker.huawei_router.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Huawei Router" -description: "Instructions on how to integrate Huawei Routers into Home Assistant." +description: "Instructions how to integrate Huawei Routers into Home Assistant." date: 2017-07-16 01:40 sidebar: true comments: false @@ -12,12 +12,9 @@ ha_category: Presence Detection ha_release: 0.51 --- -The `huawei` device trakcer platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm). - +This component offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm). Currently, this was only tested with the Huawei HG8247H and HG8247Q Smart Router (used by Vodafone Portugal). -## {% linkable_title Configuration %} - To use a Huawei router in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -25,23 +22,15 @@ To use a Huawei router in your installation, add the following to your `configur device_tracker: - platform: huawei_router host: 192.168.1.1 - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: user + password: pass ``` -{% configuration %} -host: - description: The IP address of your router, e.g., 192.168.1.1. - required: true - type: string -username: - description: The username to login into the router (the same used trough the router's web interface). - required: true - type: string -password: - description: The password for the specified username. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. +- **username** (*Required*): The username to login into the router (the same used trough the router's web interface). +- **password** (*Required*): The password for the specified username. + See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index a57ba44d4b..74f22f02f6 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -1,7 +1,7 @@ --- layout: page title: "iCloud" -description: "Instructions on how to use iCloud to track devices in Home Assistant." +description: "Instructions how to use iCloud to track devices in Home Assistant." date: 2015-12-15 1000 sidebar: true comments: false @@ -33,11 +33,9 @@ Configuration variables: - **username** (*Required*): The username for the iCloud account. - **password** (*Required*): The password for your given username. - **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). -- **max_interval** (*Optional*): Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Default is 30 min. Minimum value is 1 min. -- **gps_accuracy_threshold** (*Optional*): iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. Default is 1000 meters.

-Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. +This may cause battery drainage as it wakes up your device to get the current location.

@@ -50,7 +48,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac 2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet. 4 services are available for this component: -- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened. +- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. - **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional. - **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level. - **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional. diff --git a/source/_components/device_tracker.keenetic_ndms2.markdown b/source/_components/device_tracker.keenetic_ndms2.markdown index aec5ac8a52..3dbd197b77 100644 --- a/source/_components/device_tracker.keenetic_ndms2.markdown +++ b/source/_components/device_tracker.keenetic_ndms2.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Keenetic NDMS2 Routers" -description: "Instructions on how to integrate Keenetic NDMS2 Routers into Home Assistant." +description: "Instructions how to integrate Keenetic NDMS2 Routers into Home Assistant." date: 2017-09-15 15:40 sidebar: true comments: false @@ -28,7 +28,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. - **username** (*Required*): The username to login into the router (user should have read access to web interface of the router). - **password** (*Required*): The password for the specified username. - **interface** (*Optional*): Ihe internal name of the interface to get devices connected to. Default is 'Home'. For expert users only. diff --git a/source/_components/device_tracker.linksys_ap.markdown b/source/_components/device_tracker.linksys_ap.markdown index 6cdc3984b2..b9821eb522 100644 --- a/source/_components/device_tracker.linksys_ap.markdown +++ b/source/_components/device_tracker.linksys_ap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Linksys Access Points" -description: "Instructions on how to integrate Linksys Access Points into Home Assistant." +description: "Instructions how to integrate Linksys Access Points into Home Assistant." date: 2016-12-16 01:40 sidebar: true comments: false diff --git a/source/_components/device_tracker.linksys_smart.markdown b/source/_components/device_tracker.linksys_smart.markdown index 4cf0ca7e5a..0e1827c680 100644 --- a/source/_components/device_tracker.linksys_smart.markdown +++ b/source/_components/device_tracker.linksys_smart.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Linksys Smart Wifi Router" -description: "Instructions on how to integrate Linksys Smart Wifi Router into Home Assistant." +description: "Instructions how to integrate Linksys Smart Wifi Router into Home Assistant." date: 2017-06-22 01:40 sidebar: true comments: false diff --git a/source/_components/device_tracker.locative.markdown b/source/_components/device_tracker.locative.markdown index 02d932a7a4..2a185c924e 100644 --- a/source/_components/device_tracker.locative.markdown +++ b/source/_components/device_tracker.locative.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Locative" -description: "Instructions on how to use Locative to track devices in Home Assistant." +description: "Instructions how to use Locative to track devices in Home Assistant." date: 2015-10-13 19:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.luci.markdown b/source/_components/device_tracker.luci.markdown index 621f70a905..32d0cde87b 100644 --- a/source/_components/device_tracker.luci.markdown +++ b/source/_components/device_tracker.luci.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenWRT (luci)" -description: "Instructions on how to integrate OpenWRT routers into Home Assistant." +description: "Instructions how to integrate OpenWRT routers into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -39,7 +39,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. +- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`. - **username** (*Required*): The username of an user with administrative privileges, usually `admin`. - **password** (*Required*): The password for your given admin account. diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown index b595407d13..25e2961498 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Device Tracker" -description: "Instructions on how to setup device tracking within Home Assistant." +description: "Instructions how to setup device tracking within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false @@ -13,7 +13,7 @@ Home Assistant can get information from your wireless router or third party serv There are also trackers available which use different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/device_tracker.nmap_tracker/) to scan the network for devices. -An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time. +An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time. ## {% linkable_title Configuring a `device_tracker` platform %} @@ -37,13 +37,9 @@ The following optional parameters can be used with any platform. However device | Parameter | Default | Description | |----------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `interval_seconds` | 12 | Seconds between each scan for new devices | -| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) | +| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (E.g. the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) | | `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `True`), `hide_if_away` (default: `False`) | -

- Note that setting `track_new_devices: False` will still result in new devices being recorded in `known_devices.yaml`, but they won't be tracked (`track: no`). -

- The extended example from above would look like the following sample: ```yaml @@ -69,7 +65,7 @@ Here's an example configuration for a single device: devicename: name: Friendly Name mac: EA:AA:55:E7:C6:94 - picture: https://www.home-assistant.io/images/favicon-192x192.png + picture: https://home-assistant.io/images/favicon-192x192.png track: yes hide_if_away: no ``` diff --git a/source/_components/device_tracker.meraki.markdown b/source/_components/device_tracker.meraki.markdown index cbe481d39e..a88aa1d713 100644 --- a/source/_components/device_tracker.meraki.markdown +++ b/source/_components/device_tracker.meraki.markdown @@ -11,21 +11,8 @@ logo: meraki.png ha_category: Presence Detection ha_release: "0.60" --- - -Use your Meraki AP as device tracker. Note that Meraki will see all devices, not only connected to the network. - -### {% linkable_title Prerequisites %} - -1. Go to Network-wide/General page, and find the Location and scanning section. -1. Make sure analytics and Scanning API are both enabled. -1. Make note of the Validator string, which will be used in the `device_tracker` configuration. -1. Click **Add a Post URL**: - 1. Set the Post URL to `https://YOUR_HOSTNAME/api/meraki?api_password=YOUR_HASS_PASSWORD` - 1. Set the Secret to a randomly generated string, and make note of it for the `device_tracker` configuration. - 1. Make sure the API Version is set to `2.0`. - 1. Hit **Save** in the bottom right of the page. - -## {% linkable_title Configuration %} +Use your `Meraki AP` as device tracker. Note that Meraki will see all devices, not only connected to the network. +Follow instructions [here](https://meraki.cisco.com/technologies/location-analytics-api) how to enable Location Analytics. After you configure access to the Meraki CMX API, add the following to your `configuration.yaml` file: @@ -37,13 +24,14 @@ device_tracker: validator: meraki_validator ``` + {% configuration %} secret: - description: Secret code added in Meraki. + description: Secret code added in Meraki required: true type: string validator: - description: Validation string from Meraki. + description: Validation string from Meraki required: true type: string {% endconfiguration %} diff --git a/source/_components/device_tracker.mercedesme.markdown b/source/_components/device_tracker.mercedesme.markdown deleted file mode 100644 index ad59c95e0d..0000000000 --- a/source/_components/device_tracker.mercedesme.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Mercedes me" -description: "Instructions on for how to integrate Mercedes me into Home Assistant." -date: 2018-01-27 10:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: mercedesme.png -ha_category: Presence Detection -ha_release: 0.63 ---- - -The `Mercedes me` platform allows you to get data about the location of your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) car within Home Assistant. - -The device tracker platform will be automatically configured if Mercedes me component is configured. - -For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation. diff --git a/source/_components/device_tracker.mikrotik.markdown b/source/_components/device_tracker.mikrotik.markdown index da1dceee4d..e3e49c4846 100644 --- a/source/_components/device_tracker.mikrotik.markdown +++ b/source/_components/device_tracker.mikrotik.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mikrotik" -description: "Instructions on how to integrate Mikrotik/Routerboard based routers into Home Assistant." +description: "Instructions how to integrate Mikrotik/Routerboard based routers into Home Assistant." date: 2017-04-28 16:03 sidebar: true comments: false diff --git a/source/_components/device_tracker.mqtt.markdown b/source/_components/device_tracker.mqtt.markdown index 3640b8ad5a..d60b895c50 100644 --- a/source/_components/device_tracker.mqtt.markdown +++ b/source/_components/device_tracker.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Device Tracker" -description: "Instructions on how to use MQTT to track devices in Home Assistant." +description: "Instructions how to use MQTT to track devices in Home Assistant." date: 2015-09-19 20:41 sidebar: true comments: false @@ -32,7 +32,7 @@ Configuration variables: - **qos** (*Optional*): The QoS level of the topic. -Example JSON you can publish to the topic (e.g., via mqtt.publish service): +Example JSON you can publish to the topic (e.g. via mqtt.publish service): ```json { diff --git a/source/_components/device_tracker.mqtt_json.markdown b/source/_components/device_tracker.mqtt_json.markdown index a6cbc50b87..d7a515588c 100644 --- a/source/_components/device_tracker.mqtt_json.markdown +++ b/source/_components/device_tracker.mqtt_json.markdown @@ -1,7 +1,7 @@ --- layout: page title: "JSON MQTT Device Tracker" -description: "Instructions on how to use JSON MQTT to track devices in Home Assistant." +description: "Instructions how to use JSON MQTT to track devices in Home Assistant." date: 2017-04-12 20:41 sidebar: true comments: false diff --git a/source/_components/device_tracker.mysensors.markdown b/source/_components/device_tracker.mysensors.markdown index 5366c68ea7..14db68931a 100644 --- a/source/_components/device_tracker.mysensors.markdown +++ b/source/_components/device_tracker.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Device Tracker" -description: "Instructions on how to use MySensors to track devices in Home Assistant." +description: "Instructions how to use MySensors to track devices in Home Assistant." date: 2017-02-06 15:00 +0100 sidebar: true comments: false diff --git a/source/_components/device_tracker.netgear.markdown b/source/_components/device_tracker.netgear.markdown index 8bdcacc8cd..70dbbce102 100644 --- a/source/_components/device_tracker.netgear.markdown +++ b/source/_components/device_tracker.netgear.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netgear" -description: "Instructions on how to integrate Netgear routers into Home Assistant." +description: "Instructions how to integrate Netgear routers into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -13,6 +13,7 @@ ha_iot_class: "Local Polling" ha_release: pre 0.7 --- + This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device. To use this device tracker in your installation, add the following to your `configuration.yaml` file: @@ -28,18 +29,10 @@ device_tracker: Configuration variables: -- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used. -- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. -- **port** (*Optional*): The port your router communicates with. -- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used. +- **host** (*Optional*): The IP address of your router, e.g. `192.168.1.1`. If not provided `routerlogin.net` will be used. +- **username** (*Optional*): The username of an user with administrative privileges. If not provided `admin` will be used. +- **port** (*Optional*): The port your router communicates with (defaults to `5000`, but `80` is also known to be used on some models). - **password** (*Required*): The password for your given admin account. -- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. -- **exclude** (*Optional*): Devices to exclude from the scan. -- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address. - -When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi. - -The use of `devices` or `exclude` is recommended when using `accesspoints` to avoid having a lot of entries. List of models that are known to use port 80: - Nighthawk X4S - AC2600 (R7800) diff --git a/source/_components/device_tracker.nmap_tracker.markdown b/source/_components/device_tracker.nmap_tracker.markdown index 74ace37e23..0ce79dfc3a 100644 --- a/source/_components/device_tracker.nmap_tracker.markdown +++ b/source/_components/device_tracker.nmap_tracker.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nmap" -description: "Instructions on how to integrate Nmap into Home Assistant." +description: "Instructions how to integrate Nmap into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index a852ff2e50..631d8dc669 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Owntracks" -description: "Instructions on how to use Owntracks to track devices in Home Assistant." +description: "Instructions how to use Owntracks to track devices in Home Assistant." date: 2015-09-22 07:00 sidebar: true comments: false @@ -13,8 +13,13 @@ featured: false ha_release: 0.7.4 --- + This platform allows you to detect presence using [Owntracks](http://owntracks.org/). OwnTracks allows users to track their location on iOS phones and publish it to an MQTT broker. This platform will connect to the broker and monitor for new locations. +

+The Android app for OwnTracks is no longer developed or supported, Zanzito is a drop in replacement for OwnTracks MQTT. +

+ This component requires [the MQTT component](/components/mqtt/) to be set up and works very well together with [the zone component](/components/zone/). To integrate Owntracks in Home Assistant, add the following section to your `configuration.yaml` file: @@ -29,7 +34,7 @@ Configuration variables: - **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account. - **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`. -- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. +- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g. owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks. - **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present. - **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`). - **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. @@ -54,7 +59,6 @@ device_tracker: ``` ### {% linkable_title Using Owntracks with other device trackers %} - Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_tracker/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last. The naming convention for known device list is `_` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/). An example showing the inclusion of the `mac` field for multiple component tracking. The `mac` field will need to be added to the `owntracks` device and will enable tracking by all components that track via the `mac` address. @@ -63,14 +67,13 @@ An example showing the inclusion of the `mac` field for multiple component track USERNAME_DEVICE_ID: name: Friendly Name mac: EA:AA:55:E7:C6:94 - picture: https://www.home-assistant.io/images/favicon-192x192.png + picture: https://home-assistant.io/images/favicon-192x192.png gravatar: test@example.com track: yes hide_if_away: no ``` ### {% linkable_title Using Owntracks regions %} - Owntracks can track regions, and send region entry and exit information to Home Assistant (HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/). Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone. @@ -78,7 +81,6 @@ Home Assistant will use the enter and leave messages to set your zone location. When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS coordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. ### {% linkable_title Using Owntracks regions - forcing Owntracks to update using %}iBeacons - When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](http://owntracks.org/booklet/guide/beacons/). @@ -90,7 +92,6 @@ When you exit an iBeacon region HA will switch back to using GPS to determine yo Sometimes Owntracks will lose connection with an iBeacon for a few seconds. If you name your beacon starting with `-` Owntracks will wait longer before deciding it has exited the beacon zone. HA will ignore the `-` when it matches the Owntracks region with Zones. So if you call your Owntracks region `-home` then HA will recognize it as `home`, but you will have a more stable iBeacon connection. ### {% linkable_title Using Owntracks iBeacons to track devices %} - iBeacons don't need to be stationary. You could put one on your key ring, or in your car. When your phone sees a mobile iBeacon that it knows about, it will tell HA the location of that iBeacon. If your phone moves while you are connected to the iBeacon, HA will update the location of the iBeacon. But when your phone loses the connection, HA will stop updating the iBeacon location. @@ -100,11 +101,9 @@ To use mobile iBeacons with HA, you just set up a region that doesn't match your This allows you to write zone automations for devices that can't track themselves (for example *alert me if I leave the house and my keys are still at home*). Another example would be *open the gates if my car arrives home*. ### {% linkable_title Using mobile and fixed iBeacons together %} - You can use iBeacons of both types together, so if you have a Zone `drive` with an iBeacon region called `-drive` and you arrive home with a mobile iBeacon called `-car`, then `device_tracker.beacon_car` will be set to a state of `drive`. ### {% linkable_title Importing Owntracks waypoints as zones %} - By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `- - `. This functionality can be controlled in 2 ways: 1. The configuration variable `waypoints` can be set to `False` which will disable importing waypoints for all users. diff --git a/source/_components/device_tracker.owntracks_http.markdown b/source/_components/device_tracker.owntracks_http.markdown index 64df68dd04..718be249ad 100644 --- a/source/_components/device_tracker.owntracks_http.markdown +++ b/source/_components/device_tracker.owntracks_http.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OwnTracks (via HTTP)" -description: "Instructions on how to use Owntracks via HTTP to track devices in Home Assistant." +description: "Instructions how to use Owntracks via HTTP to track devices in Home Assistant." date: 2017-09-28 07:00 sidebar: true comments: false @@ -15,6 +15,10 @@ ha_release: 0.55 OwnTracks is a free and open source application that allows you to track your location in Home Assistant. This is a platform that supports OwnTracks via their HTTP publishing method. +

+The Android app for OwnTracks is no longer developed or supported. Consider [GPS Logger](/components/device_tracker.gpslogger/) as an alternative. +

+ To integrate Owntracks tracking via HTTP in Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -32,21 +36,5 @@ Open OwnTracks and go to Connection preferences: - Mode: Select **Private HTTP** - Host: [Home Assistant URL]:[port]/api/owntracks/[your name]/[device name] - Identification: Turn **Authentication** on, username `homeassistant` and password is your API password that you use to login to Home Assistant. - + Host example: If I host my Home Assistant at `https://example.duckdns.org`, my name is Paulus and my phone is a Pixel I would set the host to be `https://example.duckdns.org/api/owntracks/paulus/pixel`. This will result in an entity with an ID of `device_tracker.paulus_pixel`. You can pick any name for the user and the device. - -Since the battery data is available as an attribute of the device tracker entity, it can be tracked with a [`template` sensor](/components/sensor.template/). - -{% raw %} -```yaml -# Example configuration.yaml entry -sensor: - - platform: template - sensors: - pixel_battery: - friendly_name: Pixel of Paulus - unit_of_measurement: "%" - value_template: '{{ states.device_tracker.paulus_pixel.attributes.battery|int }}' - device_class: battery -``` -{% endraw %} diff --git a/source/_components/device_tracker.ping.markdown b/source/_components/device_tracker.ping.markdown index 1f34368012..7979881198 100644 --- a/source/_components/device_tracker.ping.markdown +++ b/source/_components/device_tracker.ping.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ping (ICMP)" -description: "Instructions on how to integrate Ping (ICMP)-based presence detection into Home Assistant." +description: "Instructions how to integrate Ping (ICMP)-based presence detection into Home Assistant." date: 2017-01-06 08:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.sky_hub.markdown b/source/_components/device_tracker.sky_hub.markdown index 792aece8a8..e5a1271894 100644 --- a/source/_components/device_tracker.sky_hub.markdown +++ b/source/_components/device_tracker.sky_hub.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sky Hub" -description: "Instructions on how to integrate Sky Hub routers into Home Assistant." +description: "Instructions how to integrate Sky Hub routers into Home Assistant." date: 2017-01-28 09:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.snmp.markdown b/source/_components/device_tracker.snmp.markdown index 8193abfee8..60c14a1f87 100644 --- a/source/_components/device_tracker.snmp.markdown +++ b/source/_components/device_tracker.snmp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SNMP" -description: "Instructions on how to integrate SNMP into Home Assistant." +description: "Instructions how to integrate SNMP into Home Assistant." date: 2015-10-08 12:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.swisscom.markdown b/source/_components/device_tracker.swisscom.markdown index 49c4f72ba9..bee21be205 100644 --- a/source/_components/device_tracker.swisscom.markdown +++ b/source/_components/device_tracker.swisscom.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Swisscom Internet-Box" -description: "Instructions on how to integrate Swisscom Internet-Box into Home Assistant." +description: "Instructions how to integrate Swisscom Internet-Box into Home Assistant." date: 2016-10-29 23:30 sidebar: true comments: false diff --git a/source/_components/device_tracker.tado.markdown b/source/_components/device_tracker.tado.markdown index 70f130c7e0..bc1d91b37b 100644 --- a/source/_components/device_tracker.tado.markdown +++ b/source/_components/device_tracker.tado.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Tado" -description: "Instructions on how to integrate Tado into Home Assistant." +description: "Instructions how to integrate Tado into Home Assistant." date: 2017-01-17 12:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.thomson.markdown b/source/_components/device_tracker.thomson.markdown index 810d586d27..f9d39eb6d7 100644 --- a/source/_components/device_tracker.thomson.markdown +++ b/source/_components/device_tracker.thomson.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Thomson" -description: "Instructions on how to integrate Thomson routers into Home Assistant." +description: "Instructions how to integrate Thomson routers into Home Assistant." date: 2015-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.tile.markdown b/source/_components/device_tracker.tile.markdown index 8abb07a676..63ba3d693c 100644 --- a/source/_components/device_tracker.tile.markdown +++ b/source/_components/device_tracker.tile.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Tile" -description: "Instructions on how to use Tile to track devices in Home Assistant." +description: "Instructions how to use Tile to track devices in Home Assistant." date: 2017-11-08 20:40:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.tomato.markdown b/source/_components/device_tracker.tomato.markdown index 279cd63b68..3c5eca66ca 100644 --- a/source/_components/device_tracker.tomato.markdown +++ b/source/_components/device_tracker.tomato.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Tomato" -description: "Instructions on how to integrate Tomato routers into Home Assistant." +description: "Instructions how to integrate Tomato routers into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -31,11 +31,11 @@ device_tracker: {% configuration %} host: - description: "The IP address or hostname of your router, e.g., `192.168.1.1` or `rt-ac68u`." + description: "The IP address or hostname of your router, e.g. `192.168.1.1` or `rt-ac68u`." required: false type: string port: - description: "The port number of your router, e.g., `443`." + description: "The port number of your router, e.g. `443`." required: false type: int default: 80/443 (automatically detected) @@ -45,7 +45,7 @@ ssl: type: bool default: false verify_ssl: - description: "If SSL verification for https resources needs to be turned off (for self-signed certs, etc.) this can take on boolean values `False` or `True` or you can pass a location on the device where a certificate can be used for verification e.g., `/mnt/NAS/router_cert.pem`." + description: "If SSL verification for https resources needs to be turned off (for self-signed certs, etc.) this can take on boolean values `False` or `True` or you can pass a location on the device where a certificate can be used for verification e.g. `/mnt/NAS/router_cert.pem`." required: false type: [string, bool] default: true diff --git a/source/_components/device_tracker.tplink.markdown b/source/_components/device_tracker.tplink.markdown index 29b70a143a..89897bb1e0 100644 --- a/source/_components/device_tracker.tplink.markdown +++ b/source/_components/device_tracker.tplink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TP-Link" -description: "Instructions on how to integrate TP-Link routers into Home Assistant." +description: "Instructions how to integrate TP-Link routers into Home Assistant." date: 2015-06-22 10:30 sidebar: true comments: false @@ -31,7 +31,7 @@ device_tracker: Configuration variables: -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. +- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1. - **username** (*Required*: The username of an user with administrative privileges, usually *admin*. - **password** (*Required*): The password for your given admin account. @@ -41,7 +41,7 @@ For Archer C9 models running firmware version 150811 or later please use the enc 2. Type in the password you use to login into the password field. 3. Click somewhere else on the page so that the password field is not selected anymore. 4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console"). -5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version. +5. Type ```document.getElementById("login-password").value;```. 6. Copy the returned value to your Home Assistant configuration as password. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.trackr.markdown b/source/_components/device_tracker.trackr.markdown index 962300ed1e..6337b8f787 100644 --- a/source/_components/device_tracker.trackr.markdown +++ b/source/_components/device_tracker.trackr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TrackR" -description: "Instructions on how to use TrackR to track devices in Home Assistant." +description: "Instructions how to use TrackR to track devices in Home Assistant." date: 2016-12-22 1000 sidebar: true comments: false @@ -24,18 +24,11 @@ To integrate TrackR in Home Assistant, add the following section to your `config # Example configuration.yaml entry device_tracker: platform: trackr - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` -{% configuration %} -username: - description: The email address for the TrackR account. - required: true - type: string -password: - description: The password for your given username. - required: true - type: string -{% endconfiguration %} +Configuration variables: +- **username** (*Required*): The email address for the TrackR account. +- **password** (*Required*): The password for your given username. diff --git a/source/_components/device_tracker.ubus.markdown b/source/_components/device_tracker.ubus.markdown index 3df045db24..d408fec544 100644 --- a/source/_components/device_tracker.ubus.markdown +++ b/source/_components/device_tracker.ubus.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenWRT (ubus)" -description: "Instructions on how to integrate OpenWRT routers into Home Assistant." +description: "Instructions how to integrate OpenWRT routers into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -68,7 +68,7 @@ Configuration variables: - **host** (*Required*): The IP address of your router, eg. 192.168.1.1. - **username** (*Required*): The username of an user with administrative privileges, usually *root*. - **password** (*Required*): The password for your given account. -- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`. Defaults to `dnsmasq`. +- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq` or `dhcpd`. Defaults to `dnsmasq`. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.unifi.markdown b/source/_components/device_tracker.unifi.markdown index e941066770..a71db05655 100644 --- a/source/_components/device_tracker.unifi.markdown +++ b/source/_components/device_tracker.unifi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ubiquiti Unifi WAP" -description: "Instructions on how to use a Unifi WAP controller as a device tracker module." +description: "Instructions how to use a Unifi WAP controller as a device tracker module." date: 2016-02-19 20:59 sidebar: true comments: false @@ -20,12 +20,8 @@ To use this device tracker in your installation, add the following to your `conf # Example configuration.yaml entry device_tracker: - platform: unifi - host: unifi - username: username - password: password - ssid_filter: - - 'HomeSSID' - - 'IoTSSID' + username: USERNAME + password: PASSWORD ``` {% configuration %} @@ -60,14 +56,8 @@ verify_ssl: detection_time: description: How long since the last seen time before the device is marked away, specified in seconds. type: int - required: false + required: optional default: 300 -ssid_filter: - description: Filter the SSIDs that tracking will occur on. - type: list of strings - required: false - default: None - {% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. @@ -80,7 +70,7 @@ The Unifi controller allows you to create multiple users on it besides the main The Unifi controller can either be a dedicated hardware device (Unifi's cloud key), or as software any Linux system. If you run the the Unifi controller on the same operating system as Home Assistant there may be conflicts in ports if you have the MQTT component as well. -It is recommended that you run the Unifi controller in a dedicated virtual machine to avoid that situation. +It is recommended that you run the Unifi controller in a dedicate virtual machine to avoid that situation. ### {% linkable_title Troubleshooting and Time Synchronization %} diff --git a/source/_components/device_tracker.unifi_direct.markdown b/source/_components/device_tracker.unifi_direct.markdown index 4816832b8e..8c0bda46b8 100644 --- a/source/_components/device_tracker.unifi_direct.markdown +++ b/source/_components/device_tracker.unifi_direct.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ubiquiti Unifi direct AP" -description: "Instructions on how to use a Unifi WAP as a device tracker." +description: "Instructions how to use a Unifi WAP as a device tracker." date: 2017-11-17 14:59 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.59 --- -This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](/components/device_tracker.unifi/) because it doesn't require the Unifi controller software. +This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software. To use this device tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/device_tracker.upc_connect.markdown b/source/_components/device_tracker.upc_connect.markdown index 1f77bc8d86..ca0a7e57b2 100644 --- a/source/_components/device_tracker.upc_connect.markdown +++ b/source/_components/device_tracker.upc_connect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "UPC ConnectBox" -description: "Instructions on how to integrate UPC ConnectBox into Home Assistant." +description: "Instructions how to integrate UPC ConnectBox into Home Assistant." date: 2016-12-30 00:00 sidebar: true comments: false diff --git a/source/_components/device_tracker.xiaomi.markdown b/source/_components/device_tracker.xiaomi.markdown index d38571007c..9a8f6a43fd 100644 --- a/source/_components/device_tracker.xiaomi.markdown +++ b/source/_components/device_tracker.xiaomi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Router" -description: "Instructions on how to integrate Xiaomi routers into Home Assistant." +description: "Instructions how to integrate Xiaomi routers into Home Assistant." date: 2017-01-12 12:04 sidebar: true comments: false diff --git a/source/_components/device_tracker.xiaomi_miio.markdown b/source/_components/device_tracker.xiaomi_miio.markdown deleted file mode 100644 index ae60404393..0000000000 --- a/source/_components/device_tracker.xiaomi_miio.markdown +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: page -title: "Xiaomi Mi WiFi Repeater 2" -description: "Instructions how to integrate your Xiaomi Mi WiFi Repeater 2 within Home Assistant." -date: 2018-04-01 21:06 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Presence Detection -ha_version: 0.67 -ha_iot_class: "Local Polling" ---- - -The `xiaomi_miio` device tracker platform is observing your Xiaomi Mi WiFi Repeater 2 and reporting all associated WiFi clients. - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. - -To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file: - -```yaml -device_tracker: - - platform: xiaomi_miio - host: 192.168.130.73 - token: YOUR_TOKEN -``` - -{% configuration %} -host: - description: The IP address of your miio device. - required: true - type: string -token: - description: The API token of your miio device. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/dialogflow.markdown b/source/_components/dialogflow.markdown index bf2cc4b4e6..a034f72e28 100644 --- a/source/_components/dialogflow.markdown +++ b/source/_components/dialogflow.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dialogflow" -description: "Instructions on how integrate Dialogflow with Home Assistant." +description: "Instructions how integrate Dialogflow with Home Assistant." date: 2017-01-27 11:28 sidebar: true comments: false @@ -47,10 +47,10 @@ To use this integration, you should define a conversation (intent) in Dialogflow - Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone - Click "Save" - Go to "Fulfillment" (in the left menu) -- Enable Webhook and set your Home Assistant URL with the Dialogflow endpoint, e.g., `https://myhome.duckdns.org/api/dialogflow?api_password=HA_PASSWORD` +- Enable Webhook and set your Home Assistant URL with the Dialogflow endpoint, e.g. `https://myhome.duckdns.org/api/dialogflow?api_password=HA_PASSWORD` - Click "Save" - Create a new intent -- Below "User says" write one phrase that you, the user, will tell Dialogflow, e.g., `What is the temperature at home?` +- Below "User says" write one phrase that you, the user, will tell Dialogflow, e.g. `What is the temperature at home?` - In "Action" set some key (this will be the bind with Home Assistant configuration), eg.: GetTemperature - In "Response" set "Cannot connect to Home Assistant or it is taking to long" (fall back response) - At the end of the page, click on "Fulfillment" and check "Use webhook" diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown index 4554819ee2..c2e26b9aa3 100644 --- a/source/_components/digital_ocean.markdown +++ b/source/_components/digital_ocean.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Digital Ocean" -description: "Instructions on how to integrate the Digital Ocean within Home Assistant." +description: "Instructions how to integrate the Digital Ocean within Home Assistant." date: 2016-09-24 20:00 sidebar: true comments: false diff --git a/source/_components/discoverable.markdown b/source/_components/discoverable.markdown index 12c170a1ee..19c16ce0ac 100644 --- a/source/_components/discoverable.markdown +++ b/source/_components/discoverable.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Discoverable" -description: "Instructions on how to setup the discoverable component with Home Assistant." +description: "Instructions how to setup the discoverable component with Home Assistant." date: 2016-03-01 07:00 sidebar: true comments: false @@ -23,7 +23,7 @@ for state in hass.states(): To enable `discovery` in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry discoverable: expose_password: yes ``` diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index f369ce67c1..f6629e3159 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Discovery" -description: "Instructions on how to setup Home Assistant to discover new devices." +description: "Instructions how to setup Home Assistant to discover new devices." date: 2015-01-24 14:39 sidebar: true comments: false @@ -14,32 +14,31 @@ ha_category: Other Home Assistant can discover and automatically configure [zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking)/[mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) and [uPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) devices on your network. Currently the `discovery` component can detect: - * [Apple TV](/components/apple_tv/) - * [Axis Communications security devices](/components/axis/) - * [Belkin WeMo switches](/components/wemo/) - * [Bluesound speakers](/components/media_player.bluesound/) - * [Bose Soundtouch speakers](/components/media_player.soundtouch/) - * [Denon network receivers](/components/media_player.denonavr/) - * [DirecTV receivers](/components/media_player.directv/) - * [Frontier Silicon internet radios](/components/media_player.frontier_silicon/) - * [Google Cast](/components/media_player.cast/) - * [HomeKit](/components/homekit_controller/) - * [IKEA Trådfri (Tradfri)](/components/tradfri/) - * [Linn / Openhome](/components/media_player.openhome/) - * [Logitech Harmony Hub](/components/remote.harmony/) - * [Logitech media server (Squeezebox)](/components/media_player.squeezebox/) - * [Netgear routers](/components/device_tracker.netgear/) - * [Panasonic Viera](/components/media_player.panasonic_viera/) - * [Philips Hue](/components/light.hue/) - * [Plex media server](/components/media_player.plex/) - * [Roku media player](/components/media_player.roku/) - * [SABnzbd downloader](/components/sensor.sabnzbd/) - * [Samsung TVs](/components/media_player.samsungtv/) - * [Sonos speakers](/components/media_player.sonos/) - * [Telldus Live](/components/tellduslive/) - * [Wink](/components/wink/) - * [Yamaha media player](/components/media_player.yamaha/) - * [Yeelight Sunflower bulb](/components/light.yeelightsunflower/) + * [Apple TV](https://home-assistant.io/components/apple_tv/) + * [Axis Communications security devices](https://home-assistant.io/components/axis/) + * [Belkin WeMo switches](https://home-assistant.io/components/wemo/) + * [Bluesound speakers](https://home-assistant.io/components/media_player.bluesound/) + * [Bose Soundtouch speakers](https://home-assistant.io/components/media_player.soundtouch/) + * [Denon network receivers](https://home-assistant.io/components/media_player.denonavr/) + * [DirecTV receivers](https://home-assistant.io/components/media_player.directv/) + * [Frontier Silicon internet radios](https://home-assistant.io/components/media_player.frontier_silicon/) + * [Google Cast](https://home-assistant.io/components/media_player.cast/) + * [IKEA Trådfri (Tradfri)](https://home-assistant.io/components/tradfri/) + * [Linn / Openhome](https://home-assistant.io/components/media_player.openhome/) + * [Logitech Harmony Hub](https://home-assistant.io/components/remote.harmony/) + * [Logitech media server (Squeezebox)](https://home-assistant.io/components/media_player.squeezebox/) + * [Netgear routers](https://home-assistant.io/components/device_tracker.netgear/) + * [Panasonic Viera](https://home-assistant.io/components/media_player.panasonic_viera/) + * [Philips Hue](https://home-assistant.io/components/light.hue/) + * [Plex media server](https://home-assistant.io/components/media_player.plex/) + * [Roku media player](https://home-assistant.io/components/media_player.roku/) + * [SABnzbd downloader](https://home-assistant.io/components/sensor.sabnzbd/) + * [Samsung TVs](https://home-assistant.io/components/media_player.samsungtv/) + * [Sonos speakers](https://home-assistant.io/components/media_player.sonos/) + * [Telldus Live](https://home-assistant.io/components/tellduslive/) + * [Wink](https://home-assistant.io/components/wink/) + * [Yamaha media player](https://home-assistant.io/components/media_player.yamaha/) + * [Yeelight Sunflower bulb](https://home-assistant.io/components/light.yeelightsunflower/) It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user. @@ -51,8 +50,6 @@ discovery: ignore: - sonos - samsung_tv - enable: - - homekit ``` Configuration variables: @@ -82,18 +79,11 @@ Valid values for ignore are: * `sabnzbd`: SABnzbd downloader * `samsung_tv`: Samsung TVs * `sonos`: Sonos speakers - * `songpal` : Songpal * `tellduslive`: Telldus Live * `wink`: Wink Hub * `yamaha`: Yamaha media player * `yeelight`: Yeelight Sunflower bulb -- **enable** (*Optional*): A list of platforms not enabled by default that `discovery` should discover. - -Valid values for enable are: - - * `homekit`: HomeKit accessories -

Home Assistant must be on the same network as the devices for uPnP discovery to work. If running Home Assistant in a [Docker container](/docs/installation/docker/) use switch `--net=host` to put it on the host's network. @@ -109,7 +99,7 @@ If you are on Windows and you're using Python 3.5, download the [Netifaces](http

If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system. - + For DSM/Synology, install via debian-chroot [see this forum post](https://community.home-assistant.io/t/error-starting-home-assistant-on-synology-for-first-time/917/15).

diff --git a/source/_components/dominos.markdown b/source/_components/dominos.markdown index d6849d738f..062c0fbfea 100644 --- a/source/_components/dominos.markdown +++ b/source/_components/dominos.markdown @@ -10,15 +10,12 @@ footer: true logo: dominos.png ha_category: Other ha_version: 0.59 -ha_iot_class: "Cloud Polling" --- -The `dominos` component allows you to order Dominos Pizza from within your Home Assistant scripts and automations. +The `Dominos` component allows you to order Dominos Pizza from within your Home Assistant scripts and automations. At present, this component only supports ordering within Canada and the US. -## {% linkable_title Configuration %} - To enable the component, you need to set up your customer information and define some orders. Orders are a group of product codes. You can get these product codes by inspecting an order request from the Dominos web app, or you can [add this custom panel by following this readme](https://github.com/wardcraigj/hass-dominos-panel) to see the available product codes in a separate panel in your install. diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index 9db3c71d86..4ce686ec64 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -20,10 +20,9 @@ To connect your device, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry doorbird: - host: DOORBIRD_IP_OR_HOSTNAME - username: YOUR_USERNAME - password: YOUR_PASSWORD - hass_url_override: HASS_IP + host: IP_OR_HOSTNAME + username: abcdef0001 + password: xxxxxxxxxx ``` Configuration variables: @@ -32,77 +31,7 @@ Configuration variables: - **username** (*Required*): The username of a non-administrator user account on the device. - **password** (*Required*): The password for the user specified. - **doorbell_events** (*Optional*): Setting this to `true` this will register a callback URL with the device so that events can be published to the event bus when the doorbell rings. -- **hass_url_override** (*Optional*): If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.

Enabling `doorbell_events` will delete all other registered push notification services with the device every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app.

- -### Doorbell Sound Examples - -You can create an automation that triggers on event `doorbird_doorbell` to play a doorbell sound when the Doorbird button is pressed. This should work with any media player. - -#### Example using SONOS - -[`SONOS`](http://www.sonos.com) players have features allowing for "snapshotting" the current state of some or all players so those state(s) can be "restored" at a later time. This feature is perfect for implementing a doorbell sound (from Doorbird or any other Doorbell setup for that matter). The [`media_player.sonos`](/components/media_player.sonos/) platform includes the [`SONOS_SNAPSHOT`](/components/media_player.sonos/#service-sonos_snapshot) and [`SONOS_RESTORE`](/components/media_player.sonos/#service-sonos_restore) features. The result of not using these features is any currently playing songs or media will not continue playing after the doorbell sound has played and you will be left with the doorbell sound queued as the last played song. This setup allows for seamless ringing of the doorbell and all SONOS devices continuing nicely on as if nothing had happened. - -The example script below takes a snapshot of three SONOS players that are not currently grouped together, joins the three players in a group (so the sound plays at the same time on all players), plays the doorbell MP3 sound, unjoins the players from the group and finally restores the players to their original state. When the players are grouped they are controlled by refering to the `master`. - -Automation file: - -```yaml -- alias: Doorbird ring - trigger: - platform: event - event_type: doorbird_doorbell - action: - service: script.turn_on - entity_id: script.doorbell -``` - -Script file: - -```yaml -doorbell: - alias: Ring Doorbell - sequence: - - service: media_player.sonos_snapshot - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.sonos_join - data: - master: media_player.study - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.play_media - data: - entity_id: media_player.study # the group master - media_content_id: http://10.1.1.10/sounds/doorbell.mp3 # this is on a NAS but could be HASS local - media_content_type: music - - service: media_player.volume_set - data: - entity_id: # can still control the volume of grouped players indivdually - - media_player.study - - media_player.kitchen - - media_player.master_bedrom - volume_level: 0.50 - - delay: - seconds: 4 # wait while the sound plays - - service: media_player.sonos_unjoin - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study - - service: media_player.sonos_restore - data: - entity_id: - - media_player.kitchen - - media_player.master_bedroom - - media_player.study -``` diff --git a/source/_components/downloader.markdown b/source/_components/downloader.markdown index beec226876..53063587d6 100644 --- a/source/_components/downloader.markdown +++ b/source/_components/downloader.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Downloader" -description: "Instructions on how to setup the downloader component with Home Assistant." +description: "Instructions how to setup the downloader component with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false @@ -42,29 +42,3 @@ This will download the file from the given URL. | `subdir` | yes | Download into subdirectory of **download_dir** | | `filename` | yes | Determine the filename. | | `overwrite` | yes | Whether to overwrite the file or not, defaults to `false`. | - -### {% linkable_title Download Status Events %} - -When a download finished successfully, Home Assistant will emit a 'downloader_download_completed' event to the event bus which you can use to write automations against. -In case download failed another event 'downloader_download_failed' is emitted to indicate that the download did not complete successfully. - -Along with the event the following payload parameters are available: - -| Parameter | Description | -|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `url` | The `url` that was requested.| -| `filename` | The `name` of the file that was being downloaded.| - -#### Example Automation: - -```yaml -- alias: Download Failed Notification - trigger: - platform: event - event_type: downloader_download_failed - action: - service: persistent_notification.create - data_template: - message: "{{trigger.event.data.filename}} download failed" - title: "Download Failed" - ``` diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown index 7c0e1ca2f3..a3d015001c 100644 --- a/source/_components/dyson.markdown +++ b/source/_components/dyson.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dyson" -description: "Instructions on how to integrate Dyson into Home Assistant." +description: "Instructions how to integrate Dyson into Home Assistant." date: 2017-05-27 10:00 sidebar: true comments: false @@ -15,31 +15,29 @@ ha_release: 0.47 The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms: [Fans](/components/fan/dyson/) and [Robot vacuum](/components/vacuum/dyson/). -## {% linkable_title Configuration %} - To enable this component, add the following lines to your `configuration.yaml`: ```yaml -# Example configuration.yaml entry dyson: - username: YOUR_DYSON_USERNAME - password: YOUR_DYSON_PASSWORD - language: YOUR_DYSON_ACCOUNT_LANGUGAGE + username: + password: + language: devices: - - device_id: DEVICE_ID_1 # eg. Serial number: XXX-XX-XXXXXXXX - device_ip: DEVICE_ID_1 - - device_id: DEVICE_ID_2 - device_ip: DEVICE_ID_2 + - device_id: # eg: Pure Cool Link device + device_ip: + - device_id: # eg: Eye 360 robot vacuum + device_ip: + ... ``` Configuration variables: -- **username** (*Required*): Dyson account username (email address). -- **password** (*Required*): Dyson account password. +- **username** (*Required*): Dyson account username (email address) +- **password** (*Required*): Dyson account password - **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. But others codes should work. -- **devices** (*Optional*): List of devices. - - **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the mobiles applications device settings page. - - **device_ip** (*Required*): Device IP address. +- **devices** (*Optional*): List of devices + - **device_id** (*Required*): Device ID. Available in the mobiles applications (*Settings* page) + - **device_ip** (*Required*): Device IP address `devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface). *If your are using a robot vacuum (Dyson 360 Eye), discovery is not yet supported so you have to provide `devices` list.* diff --git a/source/_components/egardia.markdown b/source/_components/egardia.markdown deleted file mode 100644 index a19c76738b..0000000000 --- a/source/_components/egardia.markdown +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: page -title: "Egardia" -description: "Instructions on how to setup Egardia / Woonveilig within Home Assistant." -date: 2018-03-13 09:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Hub -ha_release: 0.65 -logo: egardia.png ---- - -The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default). - -You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account. - -## {% linkable_title Basic configuration %} - -To enable the integration with your alarm panel, add the following lines to your `configuration.yaml` file: - ```yaml - # Example configuration.yaml entry - egardia: - host: YOUR_HOST - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -host: - description: The local IP address of the Egardia/Woonveilig alarm panel. - required: true - type: string -username: - description: Username for the Egardia/Woonveilig account. - required: true - type: string -password: - description: Password for Egardia/Woonveilig account. - required: true - type: string -version: - description: The version of the Egardia system. `GATE-01`, `GATE-02` and `GATE-03` are currently supported. - required: false - type: string - default: 'GATE-01' -port: - description: The port of the alarm panel. - required: false - type: int - default: 80 -report_server_enabled: - description: Enable reporting by server. - required: false - type: string - default: false -report_server_port: - description: Port of the Egardia server. - required: false - type: int - default: 52010 -report_server_codes: - description: Map of list of codes for the different states. - required: false - type: map - keys: - arm: - description: List of codes for the 'arm' state. - required: false - type: list - disarm: - description: List of codes for the 'disarm' state. - required: false - type: list - armhome: - description: List of codes for the 'armhome' state. - required: false - type: list - triggered: - description: List of codes for the 'triggered' state. - required: false - type: list - ignore: - description: List of codes that will be ignored. - required: false - type: list -{% endconfiguration %} - -Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers. -You can change this, however, using the following procedure. This is a more advanced (and more useful) configuration. - -## {% linkable_title Advanced configuration %} - -1. Log in to 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. The Egardia component relies on capturing the status codes that your alarm emits when something happens (status change or trigger). These codes will be unique for every situation - i.e. the code emitted by the alarm when a sensor is triggered is unique to that sensor. Also, if you have multiple users or remotes, each remote has unique codes that are emitted by the alarm when status is changed using that remote or by that user. For the Egardia component to work correctly you will need to capture the codes. To do this, 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. Record the codes shown as well as the status they relate to (see step 4 below). 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 of all the codes the alarm system generates. You will need to run this script once and stop it once you have captured all the possible codes. Also, if you ever add users, remotes or sensors to your alarm system, make sure to re-run the script to capture the extra codes so you can update your configuration (see step 4 below). **For comfort, 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 - 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 - armhome: XXXXXXXXXXXXXXXX - triggered: XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX - ignore: XXXXXXXXXXXXXXXX - ``` - -Note that for all code groups (*arm*,*disarm*, etc) 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. - -5. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish. *Note*: previous versions required a separate egardiaserver to be set up. This is no longer necessary and corresponding system services can be removed (using systemctl). diff --git a/source/_components/eight_sleep.markdown b/source/_components/eight_sleep.markdown index 3a455d4ab5..0d730e2f7a 100644 --- a/source/_components/eight_sleep.markdown +++ b/source/_components/eight_sleep.markdown @@ -15,8 +15,6 @@ ha_iot_class: "Cloud Polling" The `eight_sleep` component allows Home Assistant to fetch data from your [Eight Sleep](https://eightsleep.com/) smart cover or mattress. -## {% linkable_title Configuration %} - It's setup utilizing 'Sensor' components to convey the current state of your bed and results of your sleep sessions and a 'Binary Sensor' component to indicate your presence in the bed. A service is also provided to set the heating level and duration of the bed. You must have at least two sleep sessions recorded in the Eight Sleep app prior to setting up the Home Assistant component. @@ -26,25 +24,15 @@ To get started add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry eight_sleep: - username: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD + username: "user@email.com" + password: "password" ``` -{% configuration %} -username: - description: The email address associated with your Eight Sleep account. - required: true - type: string -password: - description: The password associated with your Eight Sleep account. - required: true - type: string -password: - description: Defines if you'd like to fetch data for both sides of the bed. - required: false - type: string - default: False -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): The email address associated with your Eight Sleep account. +- **password** (*Required*): The password associated with your Eight Sleep account. +- **partner** (*Optional*): Default is False. Defines if you'd like to fetch data for both sides of the bed. ### {% linkable_title Supported features %} diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown index 763baa4673..0082534a2a 100644 --- a/source/_components/emulated_hue.markdown +++ b/source/_components/emulated_hue.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Emulated Hue Bridge" -description: "Instructions on how to emulated Hue Bridge within Home Assistant." +description: "Instructions how to emulated Hue Bridge within Home Assistant." date: 2016-08-26 08:00 sidebar: true comments: false @@ -14,12 +14,12 @@ ha_iot_class: "Local Push" ---

-Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](/components/google_assistant/). +Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](https://home-assistant.io/components/google_assistant/).

-The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant -entities. The driving use case behind for functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes. -The virtual bridge can turn entities on/off or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness. +The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, that allows services that work with the Hue API to interact with Home Assistant +entities. The driving use case behind this functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no set up cost outside of configuration changes. +The virtual bridge has the ability to turn entities on or off, or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.

A physical Hue Bridge is required for Philips Hue lights to function - this virtual bridge will not replace a physical bridge. Instead, it allows Home Assistant to represent non-Philips Hue devices to Amazon Echo as Philips Hue devices, which Amazon Echo can control with built-in support. @@ -29,10 +29,6 @@ A physical Hue Bridge is required for Philips Hue lights to function - this virt It is recommended to assign a static IP address to the computer running Home Assistant. This is because the Amazon Echo discovers devices by IP addresses, and if the IP changes, the Echo won't be able to control it. This is easiest done from your router, see your router's manual for details.

-

-Both Google Home and Alexa use the device they were initially set up with for communication with emulated_hue. In other words: if you remove/replace this device you will also break emulated_hue. -

- ### {% linkable_title Configuration %} To enable the emulated Hue bridge, add one of the following configs to your `configuration.yaml` file: @@ -51,14 +47,14 @@ emulated_hue: Configuration variables: -- **type** (*Optional*): The type of assistant which we are emulating. Either `alexa` or `google_home`, defaults to `google_home`. **This configuration option is deprecated and will be removed in a future release. It is no longer necessary to define type.** +- **type** (*Optional*): The type of assistant who we are emulated for. Either `alexa` or `google_home`, defaults to `google_home`. **This configuration option is deprecated and will be removed in a future release. It is no longer necessary to define type.** - **host_ip** (*Optional*): The IP address that your Home Assistant installation is running on. If you do not specify this option, the component will attempt to determine the IP address on its own. - **listen_port** (*Optional*): The port the Hue bridge API web server will run on. If not specified, this defaults to 8300. This can be any free port on your system. -- **advertise_ip** (*Optional*): If you need to override the IP address used for UPnP discovery. (For example, using network isolation in Docker) -- **advertise_port** (*Optional*): If you need to specifically override the advertised UPnP port. +- **advertise_ip** (*Optional*): If you need to override the IP address used for UPNP discovery. (For example, using network isolation in Docker) +- **advertise_port** (*Optional*): If you need to specifically override the advertised UPNP port. -- **upnp_bind_multicast** (*Optional*): Whether or not to bind the UPnP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work for most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this. +- **upnp_bind_multicast** (*Optional*): Whether or not to bind the UPNP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work for most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this. - **off_maps_to_on_domains** (*Optional*): The domains that maps an "off" command to an "on" command. @@ -79,8 +75,6 @@ Configuration variables: - `media_player` - `fan` -- **entities** (*Optional*): Customization for entities. - A full configuration sample looks like the one below. ```yaml @@ -96,21 +90,26 @@ emulated_hue: expose_by_default: true exposed_domains: - light - entities: - light.bedroom_light: - name: "Bedside Lamp" - light.ceiling_lights: - hidden: true ``` -The following are attributes that can be applied in the `entities` section: +With additional customization you will be able to specify the behavior of the existing entities. -- **name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name. -- **hidden** (*Optional*): Whether or not the emulated Hue bridge should expose the entity. Adding `hidden: false` will expose the entity to Alexa. The default value for this attribute is controlled by the `expose_by_default` option. +```yaml +# Example customization +homeassistant: + customize: + light.bedroom_light: + # Don't allow light.bedroom_light to be controlled by the emulated Hue bridge + emulated_hue_hidden: true + light.office_light: + # Address light.office_light as "back office light" + emulated_hue_name: "back office light" +``` -

-These attributes used to be found under the `customize` section of `homeassistant`, however, they have now been moved to `entities`. Emulated Hue configuration under `homeassistant.customize` will be deprecated in the near future. -

+The following are attributes that can be applied in the `customize` section: + +- **emulated_hue_hidden** (*Optional*): Whether or not the entity should be exposed by the emulated Hue bridge. Adding `emulated_hue_hidden: false` will expose the entity to Alexa. The default value for this attribute is controlled by the `expose_by_default` option. +- **emulated_hue_name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name. ### {% linkable_title Troubleshooting %} @@ -119,14 +118,14 @@ You can verify that the `emulated_hue` component has been loaded and is respondi - `http://:8300/description.xml` - This URL should return a descriptor file in the form of an XML file. - `http://:8300/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa. -For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://:80/description.xml`). +For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://:80/description.xml`). -An additional step is required to run Home Assistant as a non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as a non-root user. +An additional step is required to run Home Assistant as non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as non-root user. ```bash sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin/python3 ``` -Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`. +Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](https://home-assistant.io/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`. ### {% linkable_title License %} diff --git a/source/_components/eufy.markdown b/source/_components/eufy.markdown deleted file mode 100644 index 60ec2a470d..0000000000 --- a/source/_components/eufy.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Eufy" -description: "Instructions on how to integrate Eufy devices into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Hub -ha_release: 0.68 ---- - -The `eufy` component is the main component to integrate various [eufy](https://www.eufylife.com/) devices with Home Assistant. - -Supported devices will be discovered after the `eufy` component is configured: - -```yaml -# Example configuration.yaml entry -eufy: - username: testuser@domain - password: p4ssw0rd -``` - -where username and password are the ones configured in the EufyHome app. Alternately, Eufy devices that are not discoverable can be statically configured. - -```yaml -eufy: - devices: - - address: 192.168.1.10 - access_token: 1234567890abcdef - type: T1012 - name: Smart Light - - address: 192.168.1.11 - access_token: abcdef1234567890 - type: T1201 - name: Smart Switch -``` - -access_token can be obtained by running: - -``` -curl -H "Content-Type: application/json" -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' https://home-api.eufylife.com/v1/user/email/login | jq -``` - -replacing USERNAME and PASSWORD with the Eufy username and password. This will give an access_token. Then run: - -``` -curl -H token:TOKEN -H category:Home https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq -``` - -replacing TOKEN with the access_token from the previous command. This will provide the local_code for each device. - diff --git a/source/_components/fan.comfoconnect.markdown b/source/_components/fan.comfoconnect.markdown index f1ac6f944f..d24d4eb184 100644 --- a/source/_components/fan.comfoconnect.markdown +++ b/source/_components/fan.comfoconnect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zehnder ComfoAir Q Ventilation fans" -description: "Instructions on how to integrate Zehnder ComfoAir Q350/450/600 fans into Home Assistant." +description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 fans into Home Assistant." date: 2017-06-28 18:00 sidebar: true comments: false diff --git a/source/_components/fan.dyson.markdown b/source/_components/fan.dyson.markdown index d1ae60c638..e827c7ab2c 100644 --- a/source/_components/fan.dyson.markdown +++ b/source/_components/fan.dyson.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dyson Purifier Fan" -description: "Instructions on how to setup the Dyson Purifier fans within Home Assistant." +description: "Instructions how to setup the Dyson Purifier fans within Home Assistant." date: 2017-05-27 10:00 sidebar: true comments: false diff --git a/source/_components/fan.insteon_hub.markdown b/source/_components/fan.insteon_hub.markdown index 0436d4bdde..b5ce9adbc7 100644 --- a/source/_components/fan.insteon_hub.markdown +++ b/source/_components/fan.insteon_hub.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon Hub Fan" -description: "Instructions on how to setup the Insteon Hub Fans within Home Assistant." +description: "Instructions how to setup the Insteon Hub Fans within Home Assistant." date: 2017-08-26 08:00 sidebar: true comments: false diff --git a/source/_components/fan.insteon_local.markdown b/source/_components/fan.insteon_local.markdown index d9738043c9..359f099477 100644 --- a/source/_components/fan.insteon_local.markdown +++ b/source/_components/fan.insteon_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon (Local) Fan" -description: "Instructions on how to setup the Insteon Hub Fans locally within Home Assistant." +description: "Instructions how to setup the Insteon Hub Fans locally within Home Assistant." date: 2017-04-06 11:00 sidebar: true comments: false diff --git a/source/_components/fan.insteon_plm.markdown b/source/_components/fan.insteon_plm.markdown deleted file mode 100644 index 3f2323e16e..0000000000 --- a/source/_components/fan.insteon_plm.markdown +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: page -title: "Insteon PLM Fan" -description: "Instructions on how to setup the Insteon PLM fan locally within Home Assistant." -date: 2017-02-19 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: insteon.png -ha_category: Fan -ha_iot_class: "Local Push" -ha_version: 0.65 ---- - -The `insteon_plm` fan platform lets you control your [FanLinc] through -an INSTEON PowerLinc Modem (PLM) device connected directly to your system on a -USB or serial port. To add support, set up the primary [insteon_plm] -component. - -[insteon_plm]: /components/insteon_plm/ -[FanLinc]: https://www.smarthome.com/fanlinc-insteon-2475f-ceiling-fan-and-light-controller-fixture-module-dual-band.html - - diff --git a/source/_components/fan.isy994.markdown b/source/_components/fan.isy994.markdown index 4c47e76fc4..6b9e55f289 100644 --- a/source/_components/fan.isy994.markdown +++ b/source/_components/fan.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Fan" -description: "Instructions on how to integrate ISY994 fans into Home Assistant." +description: "Instructions how to integrate ISY994 fans into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/fan.markdown b/source/_components/fan.markdown index aac9c8c763..c196d9f770 100644 --- a/source/_components/fan.markdown +++ b/source/_components/fan.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Fan" -description: "Instructions on how to setup Fan devices within Home Assistant." +description: "Instructions how to setup Fan devices within Home Assistant." date: 2016-08-26 19:00 sidebar: true comments: false diff --git a/source/_components/fan.mqtt.markdown b/source/_components/fan.mqtt.markdown index 45fa55d41b..1a0329404f 100644 --- a/source/_components/fan.mqtt.markdown +++ b/source/_components/fan.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Fan" -description: "Instructions on how to integrate MQTT fans into Home Assistant." +description: "Instructions how to integrate MQTT fans into Home Assistant." date: 2016-08-27 09:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: depends The `mqtt` fan platform lets you control your MQTT enabled fans. -## {% linkable_title Configuration %} - In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT fan will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the fan will be `false` / `off`. When a `state_topic` is not available, the fan will work in optimistic mode. In this mode, the fan will immediately change state after every command. Otherwise, the fan will wait for state confirmation from the device (message from `state_topic`). @@ -26,7 +24,7 @@ Optimistic mode can be forced even if a `state_topic` is available. Try to enabl To enable MQTT fans in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry fan: - platform: mqtt command_topic: "bedroom_fan/on/set" @@ -157,7 +155,7 @@ In this section you find some real life examples of how to use this fan. The example below shows a full configuration for a MQTT fan. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry fan: - platform: mqtt name: "Bedroom Fan" diff --git a/source/_components/fan.template.markdown b/source/_components/fan.template.markdown deleted file mode 100644 index 5ebd666594..0000000000 --- a/source/_components/fan.template.markdown +++ /dev/null @@ -1,96 +0,0 @@ ---- -layout: page -title: "Template Fan" -description: "Instructions how to setup the Template fans within Home Assistant." -date: 2018-05-03 09:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Fan -ha_release: 0.69 -ha_iot_class: "Local Push" -logo: home-assistant.png ---- - -The `template` platform creates fans that combine components and provides the -ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed, and -set_oscillating commands of a fan. - -To enable Template Fans in your installation, add the following to your -`configuration.yaml` file: - -{% raw %} -```yaml -# Example configuration.yaml entry -fan: - - platform: template - fans: - bedroom_fan: - friendly_name: "Bedroom fan" - value_template: "{{ states('input_boolean.state') }}" - speed_template: "{{ states('input_select.speed') }}" - oscillating_template: "{{ states('input_select.osc') }}" - turn_on: - service: script.fan_on - turn_off: - service: script.fan_off - set_speed: - service: script.fan_speed - data_template: - speed: "{{ speed }}" - set_oscillating: - service: script.fan_oscillating - data_template: - oscillating: "{{ oscillating }}" - speeds: - - '1' - - '2' - - '3' -``` -{% endraw %} - -{% configuration %} - fans: - description: List of your fans. - required: true - type: map - keys: - friendly_name: - description: Name to use in the frontend. - required: false - type: string - value_template: - description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'" - required: true - type: template - speed_template: - description: Defines a template to get the speed of the fan. - required: false - type: template - oscillating_template: - description: "Defines a template to get the osc state of the fan. Valid value: True/False" - required: false - type: template - turn_on: - description: Defines an action to run when the fan is turned on. - required: true - type: action - turn_off: - description: Defines an action to run when the fan is turned off. - required: true - type: action - set_speed: - description: Defines an action to run when the fan is given a speed command. - required: false - type: action - set_oscillating: - description: Defines an action to run when the fan is given a osc state command. - required: false - type: action - speeds: - description: List of speeds the fan is capable of running at. - required: false - type: string list - default: ['low', 'medium', 'high'] -{% endconfiguration %} diff --git a/source/_components/fan.wink.markdown b/source/_components/fan.wink.markdown index 129db4b469..23369dfad2 100644 --- a/source/_components/fan.wink.markdown +++ b/source/_components/fan.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Fan" -description: "Instructions on how to setup the Wink fans within Home Assistant." +description: "Instructions how to setup the Wink fans within Home Assistant." date: 2017-01-14 12:00 sidebar: true comments: false diff --git a/source/_components/fan.xiaomi_miio.markdown b/source/_components/fan.xiaomi_miio.markdown index 8fc9da3211..9ba659b87c 100644 --- a/source/_components/fan.xiaomi_miio.markdown +++ b/source/_components/fan.xiaomi_miio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Air Purifier" -description: "Instructions on how to integrate your Xiaomi Air Purifier and Xiaomi Air Humidifier within Home Assistant." +description: "Instructions how to integrate your Xiaomi Air Purifier within Home Assistant." date: 2017-10-13 12:35 sidebar: true comments: false @@ -13,161 +13,35 @@ ha_version: 0.57 ha_iot_class: "Local Polling" --- -The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and Xiaomi Air Humidifier. +The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S and Air Purifier Pro. -## Features +Currently, the supported features are: -### Air Purifier 2 et al. - -* Power (on, off) +* On, Off * Operation modes (auto, silent, favorite, idle) * Buzzer (on, off) * Child lock (on, off) * LED (on, off), LED brightness (bright, dim, off) * Favorite Level (0...16) * Attributes - - model - - temperature - - humidity + - power - aqi + - average_aqi + - humidity + - temperature - mode - - filter_hours_used - - filter_life_remaining - favorite_level - - child_lock - led - - motor_speed - - average_aqi - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - turbo_mode_supported - - auto_detect - - use_time - - button_pressed - - buzzer - led_brightness - - sleep_mode - -### Air Purifier Pro (zhimi.airpurifier.v6) - -* Power (on, off) -* Operation modes (auto, silent, favorite) -* Child lock (on, off) -* LED (on, off) -* Favorite Level (0...16) -* Attributes - - model - - temperature - - humidity - - aqi - - mode - - filter_hours_used + - buzzer + - child_lock + - purify_volume - filter_life_remaining - - favorite_level - - child_lock - - led - - motor_speed - - average_aqi - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - turbo_mode_supported - - auto_detect - - use_time - - button_pressed - - filter_rfid_product_id - - filter_rfid_tag - - filter_type - - illuminance - - motor2_speed - - volume - -### Air Purifier V3 (zhimi.airpurifier.v3) - -* Power (on, off) -* Operation modes (auto, silent, favorite, idle, medium, high, strong) -* Child lock (on, off) -* LED (on, off) -* Attributes - - model - - aqi - - mode - - led - - buzzer - - child_lock - - illuminance - filter_hours_used - - filter_life_remaining - motor_speed - - average_aqi - - volume - - motor2_speed - - filter_rfid_product_id - - filter_rfid_tag - - filter_type - - purify_volume - - learn_mode - - sleep_time - - sleep_mode_learn_count - - extra_features - - auto_detect - - use_time - - button_pressed -### Air Humidifier (zhimi.humidifier.v1) -* On, Off -* Operation modes (silent, medium, high) -* Buzzer (on, off) -* Child lock (on, off) -* LED brightness (bright, dim, off) -* Target humidity (30, 40, 50, 60, 70, 80) -* Attributes - - model - - temperature - - humidity - - mode - - buzzer - - child_lock - - trans_level - - target_humidity - - led_brightness - - button_pressed - - use_time - - hardware_version - -### Air Humidifier CA (zhimi.humidifier.ca1) - -* On, Off -* Operation modes (silent, medium, high, auto) -* Buzzer (on, off) -* Child lock (on, off) -* LED brightness (bright, dim, off) -* Target humidity (30, 40, 50, 60, 70, 80) -* Dry mode (on, off) -* Attributes - - model - - temperature - - humidity - - mode - - buzzer - - child_lock - - trans_level - - target_humidity - - led_brightness - - button_pressed - - use_time - - hardware_version - - speed - - depth - - dry - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. +Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file: @@ -193,168 +67,73 @@ name: required: false type: string default: Xiaomi Air Purifier -model: - description: The model of your device. - required: false - type: string {% endconfiguration %} ## {% linkable_title Platform Services %} -### {% linkable_title Service `fan.set_speed` %} - -Set the fan speed/operation mode. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -| `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' | - -### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_on` %} (Air Purifier Pro excluded) +### {% linkable_title Service fan/xiaomi_miio_set_buzzer_on %} Turn the buzzer on. -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_off` %} (Air Purifier Pro excluded) +### {% linkable_title Service fan/xiaomi_miio_set_buzzer_off %} Turn the buzzer off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} (Air Purifier only) +### {% linkable_title Service fan/xiaomi_miio_set_led_on %} Turn the led on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} (Air Purifier only) +### {% linkable_title Service fan/xiaomi_miio_set_led_off %} Turn the led off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_on` %} +### {% linkable_title Service fan/xiaomi_miio_set_child_lock_on %} Turn the child lock on. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_off` %} +### {% linkable_title Service fan/xiaomi_miio_set_child_lock_off %} Turn the child lock off. | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | -### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} (Air Purifier Pro excluded) +### {% linkable_title Service fan/xiaomi_miio_set_led_brightness %} Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off). | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | | `brightness` | no | Brightness, between 0 and 2. | -### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} (Air Purifier only) +### {% linkable_title Service fan/xiaomi_miio_set_favorite_level %} Set the favorite level of the operation mode "favorite". | Service data attribute | Optional | Description | |---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | +| `entity_id` | yes | Only act on a specific air purifier. Else targets all. | | `level` | no | Level, between 0 and 16. | -### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_on` %} (Air Purifier Pro only) - -Turn the auto detect on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_off` %} (Air Purifier Pro only) - -Turn the auto detect off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_on` %} (Air Purifier 2 only) - -Turn the learn mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_off` %} (Air Purifier 2 only) - -Turn the learn mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_volume` %} (Air Purifier Pro only) - -Set the sound volume. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `volume` | no | Volume, between 0 and 100. | - -### {% linkable_title Service `fan.xiaomi_miio_reset_filter` %} (Air Purifier 2 only) - -Reset the filter lifetime and usage. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_extra_features` %} (Air Purifier only) - -Set the extra features. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `features` | no | Integer, known values are 0 and 1. | - -### {% linkable_title Service `fan.xiaomi_miio_set_target_humidity` %} (Air Humidifier only) - -Set the target humidity. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-----------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | -| `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 | - -### {% linkable_title Service `fan.xiaomi_miio_set_dry_on` %} (Air Humidifier CA only) - -Turn the dry mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | - -### {% linkable_title Service `fan.xiaomi_miio_set_dry_off` %} (Air Humidifier CA only) - -Turn the dry mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. | diff --git a/source/_components/fan.zha.markdown b/source/_components/fan.zha.markdown deleted file mode 100644 index 536d9c78bd..0000000000 --- a/source/_components/fan.zha.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "ZigBee Home Automation Fan" -description: "Instructions how to setup ZigBee Home Automation fans within Home Assistant." -date: 2018-02-10 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: zigbee.png -ha_category: Fan -ha_iot_class: "Local Polling" -ha_release: 0.66 ---- - -To get your ZigBee fans working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). diff --git a/source/_components/fan.zwave.markdown b/source/_components/fan.zwave.markdown index 4e83a0b8a5..953620ed3b 100644 --- a/source/_components/fan.zwave.markdown +++ b/source/_components/fan.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Fan" -description: "Instructions on how to setup the Z-Wave Fans within Home Assistant." +description: "Instructions how to setup the Z-Wave Fans within Home Assistant." date: 2017-05-25 17:00 sidebar: true comments: false diff --git a/source/_components/feedreader.markdown b/source/_components/feedreader.markdown index 5a06cd4171..15b7212965 100644 --- a/source/_components/feedreader.markdown +++ b/source/_components/feedreader.markdown @@ -1,7 +1,7 @@ --- layout: page title: Feedreader -description: "Instructions on how to integrate RSS feeds into Home Assistant." +description: "Instructions how to integrate RSS feeds into Home Assistant." date: 2016-04-18 22:00 sidebar: true comments: false @@ -20,7 +20,7 @@ To use RSS feeds in your installation, add the following to your `configuration. # Example configuration.yaml entry feedreader: urls: - - https://www.home-assistant.io/atom.xml + - https://home-assistant.io/atom.xml - https://github.com/blog.atom - https://hasspodcast.io/feed/podcast ``` @@ -67,4 +67,4 @@ hass.bus.listen(EVENT_FEEDREADER, event_listener) To get started developing custom components, please refer to the [developers](/developers) documentation -For a drop in packaged complete example of Feedreader, you can use the [PodCast notifier](https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/packages/hasspodcast.yaml). +For a drop in packaged complete example of Feedreader, you can use the [PodCast notifier](https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/packages/hasspodcast.yaml). diff --git a/source/_components/folder_watcher.markdown b/source/_components/folder_watcher.markdown deleted file mode 100644 index df9041ed35..0000000000 --- a/source/_components/folder_watcher.markdown +++ /dev/null @@ -1,81 +0,0 @@ ---- -layout: page -title: "Folder Watcher" -description: "Component for monitoring changes within the filesystem." -date: 2018-03-11 14:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: home-assistant.png -ha_category: System Monitor -ha_iot_class: "Local Polling" -ha_release: 0.67 ---- - -This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are: - -* `created` -* `deleted` -* `modified` -* `moved` - -Configured folders must be added to [whitelist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored. - -To enable the Folder Watcher component in your installation, add the following to your `configuration.yaml` file: - -{% raw %} -```yaml -folder_watcher: - - folder: /config -``` -{% endraw %} - -{% configuration %} -folder: - description: The folder path - required: true - type: string -patterns: - description: Pattern matching to apply - required: false - default: "*" - type: string -{% endconfiguration %} - -## Patterns - -Pattern matching using [fnmatch](https://docs.python.org/3.6/library/fnmatch.html) can be used to limit filesystem monitoring to only files which match the configured patterns. The following example shows the configuration required to only monitor filetypes `.yaml` and `.txt`. - -{% raw %} -```yaml -folder_watcher: - - folder: /config - patterns: - - '*.yaml' - - '*.txt' -``` -{% endraw %} - -## Automations - -Automations can be triggered on filesystem event data using a `data_template`. The following automation will send a notification with the name and folder of new files added to that folder: - -{% raw %} -```yaml -- action: - - data_template: - message: 'Created {{ trigger.event.data.file }} in {{ trigger.event.data.folder }}' - title: New image captured! - data: - file: " {{ trigger.event.data.path }} " - service: notify.pushbullet - alias: New file alert - condition: [] - id: '1520092824697' - trigger: - - event_data: {"event_type":"created"} - event_type: folder_watcher - platform: event -``` -{% endraw %} diff --git a/source/_components/foursquare.markdown b/source/_components/foursquare.markdown index 5ec302887e..10b5d6ebe6 100644 --- a/source/_components/foursquare.markdown +++ b/source/_components/foursquare.markdown @@ -1,7 +1,7 @@ --- layout: page title: Foursquare -description: "Instructions on how to the Foursquare API into Home Assistant." +description: "Instructions how to the Foursquare API into Home Assistant." date: 2016-08-08 17:20 sidebar: true comments: false @@ -31,7 +31,7 @@ Configuration variables: #### Getting the access token #### After you have registered your APP on your [My Apps Page](https://foursquare.com/developers/apps) you get a `CLIENT_ID` and you have specified a -`REDIRECT_URL` which can be any URL you like, but since it will get your access token via an HTTP GET request, it should be a URL which will ignore the `access_token` HTTP GET variable. A good idea is to choose the URL of your Home Assistant. +`REDIRECT_URL` which can be any URL you like, but since it will get your access token via a HTTP GET request, it should be a URL which will ignore the `access_token` HTTP GET variable. A good idea is to choose the URL of your Home Assistant. Visit the following URL in your browser: ``` @@ -40,7 +40,7 @@ https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=tok and change the `CLIENT_ID` and `YOUR_REGISTERED_REDIRECT_URL` to your actual values. You will receive an OAuth request landing page, asking you if you want to connect your Foursquare account to your newly created app. Say "Yes". -After that, you will get redirected to your `REDIRECT_URL` with the `access_token` as an HTTP GET variable. Copy everything after the = and paste it in your configuration.yaml as the `access_token`. +After that, you will get redirected to your `REDIRECT_URL` with the `access_token` as a HTTP GET variable. Copy everything after the = and paste it in your configuration.yaml as the `access_token`. ### {% linkable_title Real-Time API %} diff --git a/source/_components/freedns.markdown b/source/_components/freedns.markdown deleted file mode 100644 index 960d1411d9..0000000000 --- a/source/_components/freedns.markdown +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: page -title: "freedns.afraid.org" -description: "Keep your DNS record up to date with FreeDNS." -date: 2018-03-27 21:30 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Utility -ha_release: 0.67 ---- - -With the `freedns` component you can keep your [FreeDNS](https://freedns.afraid.org) record up to date. - -## {% linkable_title Configuration %} - -You need to determine your update URL or your access token. - -1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account. -2. Select the menu "Dynamic DNS" -3. You should now see your update candiates in a table at the bottom of the page. -4. Copy the link target of the "Direct URL". -5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN` -6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute. - -To use the component in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -freedns: - access_token: YOUR_TOKEN -``` - -{% configuration %} - access_token: - description: Your access token. This is exclusive to `url`. - required: false - type: string - url: - description: The full update URL. This is exclusive to `access_token`. - required: false - type: string - update_interval: - description: How often to call the update service. - required: false - type: time period - default: 10 minutes -{% endconfiguration %} diff --git a/source/_components/fritzbox.markdown b/source/_components/fritzbox.markdown deleted file mode 100644 index a5ca0a5f68..0000000000 --- a/source/_components/fritzbox.markdown +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: page -title: "Fritzbox" -description: "Instructions on how to integrate the AVM Fritzbox Smart Home components." -date: 2018-02-18 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Hub -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -The [AVM](https://en.avm.de) Fritzbox component for Home Assistant allows you to integrate the switch and climate devices. - -#### {% linkable_title Tested Devices %} - -- [FRITZ!Box 6490 Cable](https://en.avm.de/products/fritzbox/fritzbox-6490-cable/) -- [FRITZ!Box 7590](https://en.avm.de/products/fritzbox/fritzbox-7590/) -- [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/) -- [Eurotronic Comet DECT](https://www.eurotronic.org/en/products/comet-dect.html) - - -## {% linkable_title Setup %} - -```yaml -# Example configuration.yaml entry -fritzbox: - devices: - - host: fritz.box - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -devices: - description: A list of Fritzbox devices. - required: true - type: map - keys: - host: - description: The hostname or IP address of the Fritzbox. - required: true - type: optional - username: - description: The username for Smart Home access. - required: true - type: string - password: - description: The password of the user. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/frontend.markdown b/source/_components/frontend.markdown index 871db22f68..4ba9e004cd 100644 --- a/source/_components/frontend.markdown +++ b/source/_components/frontend.markdown @@ -135,7 +135,7 @@ Those will be loaded via `` on a ### {% linkable_title Manual Language Selection %} -The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select one from "Choose a Language". It will be applied immediately. +The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select a one from "Choose a Language". It will be applied immediately.

diff --git a/source/_components/gc100.markdown b/source/_components/gc100.markdown index 43d74d72b7..063dddcab0 100644 --- a/source/_components/gc100.markdown +++ b/source/_components/gc100.markdown @@ -14,7 +14,7 @@ ha_release: 0.57 The Global Caché [GC-100](https://www.globalcache.com/products/gc-100/) can be integrated into Home Assistant. GC-100 is a TCP-controllable hardware device which has an array of relays, RS232 serial ports, and flexible ports which can be programmed to be either digital inputs or IR blaster outputs. There are a variety of submodels of the GC-100 which have different amounts of each I/O type. -Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché. +Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (https://home-assistant.io/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché. To enable this device, add the following lines to your `configuration.yaml`: diff --git a/source/_components/goalfeed.markdown b/source/_components/goalfeed.markdown deleted file mode 100644 index 5632a8847d..0000000000 --- a/source/_components/goalfeed.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Goalfeed" -description: "Instructions on how to setup Goalfeed events within Home Assistant." -date: 2017-12-13 17:30 -sidebar: true -comments: false -sharing: true -footer: true -logo: goalfeed.png -ha_category: Other -ha_version: 0.63 ---- - -The `goalfeed` component lets you use your Goalfeed account to trigger events in Home Assistant whenever a NHL or MLB team scores. - -To use this component, enter your email address and password from your goalfeed.ca account in your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -goalfeed: - username: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - required: true - description: The email address on your goalfeed.ca account. - type: string -password: - required: true - description: The password on your goalfeed.ca account. - type: string -{% endconfiguration %} - -Now you can use the goal event type in your automations: - -```yaml -- alias: 'Jets Goal' - trigger: - platform: event - event_type: goal - event_data: - team_name: "Winnipeg Jets" -``` - -Goal events have the following event data: - -- **team**: Three letter code representing the team. This is unique within the leagues, but not unique across the leagues (i.e. 'WPG' or 'TOR'). -- **team_name**: The team that scored (i.e. 'Winnipeg Jets' or 'Toronto Blue Jays'). -- **team_hash**: A unique hash for the team (you can find these values on https://goalfeed.ca/get-teams). -- **league_id**: A unique number for the league. -- **league_name**: A the short name of the league (i.e. 'NHL' or 'MLB'). diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index edd0b8ebb1..95ef0fff19 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -13,10 +13,6 @@ featured: true ha_release: 0.56 --- -

- Use [Home Assistant Cloud](/cloud/) to integrate with Google Assistant without any effort. -

- The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device. The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. @@ -25,8 +21,6 @@ The Google Assistant component requires a bit more setup than most due to the wa 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.

-## {% linkable_title Configuration %} - To enable this, add the following lines to your `configuration.yaml` file: ```yaml @@ -47,9 +41,9 @@ google_assistant: aliases: - bright lights - entry lights + type: light light.living_room: expose: false - room: living room ``` Configuration variables: @@ -69,15 +63,15 @@ 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: - description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see step 9 below). If not provided then the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have setup this component you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. + description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed. required: false type: string expose_by_default: - description: Expose devices in all supported domains by default. If set to false, you need to either expose domains or add the expose configuration option to each entity in entity_config and set it to true. + description: Expose devices in all supported domains by default. required: false default: True type: boolean @@ -107,8 +101,8 @@ entity_config: description: Aliases that can also be used to refer to this entity required: false type: list - room: - description: Allows for associating this device to a Room in Google Assistant. + type: + 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 %} @@ -116,16 +110,15 @@ entity_config: ### {% linkable_title Available domains %} Currently, the following domains are available to be used with Google Assistant, listed with their default types: -- group (on/off) -- input boolean (on/off) -- scene (on) -- script (on) -- switch (on/off) -- fan (on/off) -- light (on/off/brightness/rgb color/color temp) -- cover (on/off/set position (via set brightness)) -- media_player (on/off/set volume (via set brightness)) -- climate (temperature setting) +- group = switch (on/off) +- scene = scene (on) +- script = scene (on) +- switch = switch (on/off) +- fan = switch (on/off) +- light = light (on/off/brightness/rgb color/color temp) +- cover = switch (on/off/set position (brightness) ) +- media_player = switch (on/off/set volume (brightness) ) +- climate = thermostat (temperature setting) It's very important that you use very long strings for `client_id` and `access_token`. Those are essentially the credentials to your Home Assistant instance. You can generate them with the following command: @@ -137,32 +130,58 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow ### {% linkable_title Setup %} -1. Create a new project in the [developer console](https://console.actions.google.com/). +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. + +```json +{ + "actions": [{ + "name": "actions.devices", + "deviceControl": { + }, + "fulfillment": { + "conversationName": "automation" + } + }], + "conversations": { + "automation": + { + "name": "automation", + "url": "https://[YOUR HOME ASSISTANT URL]/api/google_assistant" + } + } +} +``` + +3. Create a new project in the [developer console](https://console.actions.google.com/). a. Add/Import project - b. Click on `BUILD` on the `Smart home` card - c. Type in your home assistant url: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable. - d. Click `Done`. Then click on `Overview`, which will lead you to the app details screen. -2. 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. -3. The final item on that page `Account linking` is required for your app to interact with Home Assistant. - a. Grant type: `Implicit` - b. Client ID: The `client_id` from your Home Assistant configuration above - c. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`) - d. Configure your client. Add scopes for `email` and `name`. - e. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. -4. Back on the main app draft page. Click `Test Draft`. That will take you to the simulator (which won't work so just close that window). -5. If you haven't already added the component configuration to `configuration.yaml` and restarted Home Assistant, you'll be unable to continue until you have. -6. Open the Google Assistant app and go into `Settings > Home Control` -7. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead you the screen where you can set rooms for your devices or nicknames for your devices. -8. If you want to allow other household users to control the devices: - a. Go to the settings for the project you created in point 1 in the developer console. - b. Under the gear icon, click `Permissions` - c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role - d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 4 -9. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: - a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) - b. Select your project and click Enable Homegraph API - c. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials - d. Note down the generated API Key and use this in the configuration + 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. + 1. Grant type: `Implicit` + 2. Client ID: The `client_id` from your Home Assistant configuration above + 3. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`) + 4. Configure your client. Add scopes for `email` and `name`. + 5. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. +7. Back on the main app draft page. Click `Test Draft`. That will take you to the simulator (which won't work so just close that window). +8. If you haven't already added the component configuration to `configuration.yaml` and restarted Home Assistant, you'll be unable to continue until you have. +8. Open the Google Assistant app and go into `Settings > Home Control` +9. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead to you the screen where you can set rooms for your devices or nicknames for your devices. +10. If you want to allow other household users to control the devices: + 1. Go to the developer console using the address from point 4. + 2. Under the gear icon, click `Permissions` + 3. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role + 4. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 7. +11. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: + 1. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) + 2. Select your project and click Enable Homegraph API + 3. Go to Credentials and select API Key from Create Credentials + 4. Note down the generated API Key and use this in the configuration ### {% linkable_title Troubleshooting the request_sync service %} @@ -171,7 +190,7 @@ The request_sync service requires that the initial sync from Google includes the The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [developer console](https://console.actions.google.com). Resolve this by: 1. Removing your project from the [developer console](https://console.actions.google.com). - 2. Add a new project to the [cloud console](https://console.cloud.google.com). Here you get a new `project_id`. + 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. diff --git a/source/_components/group.markdown b/source/_components/group.markdown index 924c55e24a..8f781722d2 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Group" -description: "Instructions on how to setup groups within Home Assistant." +description: "Instructions how to setup groups within Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index ceafd717c6..758f8d468e 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HDMI CEC" -description: "Instructions on how to interact with HDMI CEC via Home Assistant." +description: "Instructions how to interact with HDMI CEC via Home Assistant." date: 2016-06-24 19:59 sidebar: true comments: false @@ -31,24 +31,32 @@ If you are using [Hass.io](/hassio/) then just move forward to the configuration #### {% linkable_title Symlinking into virtual environment %} -Create a symlink to the `cec` installation including the _cec.so file. Keep in mind different installation methods will result in different locations of cec. +Create a symlink to the `cec` installation. Keep in mind different installation methods will result in different locations of cec. ```bash -$ ln -s /path/to/your/installation/of/cec /path/to/your/venv/lib/python*/site-packages -$ ln -s /path/to/your/installation/of/_cec.so /path/to/your/venv/lib/python*/site-packages - +$ ln -s /path/to/your/installation/of/cec /path/to/your/venv/lib/python3.4/site-packages ``` - ##### {% linkable_title Symlinking examples: %} For the default virtual environment of a [HASSbian Image for Raspberry Pi](/getting-started/installation-raspberry-pi-image/) the command would be as follows. ```bash -$ ln -s /usr/local/lib/python*/dist-packages/cec /srv/homeassistant/lib/python*/site-packages -$ ln -s /usr/local/lib/python*/dist-packages/_cec.so /srv/homeassistant/lib/python*/site-packages - +$ ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/homeassistant/lib/python3.4/site-packages ``` +For the default virtual environment of a [Raspberry Pi All-In-One installation](/getting-started/installation-raspberry-pi-all-in-one/) the command would be as follows. + +```bash +$ ln -s /usr/local/lib/python3.4/site-packages/cec /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages +``` + +For the default virtual environment of a [Manual installation](/getting-started/installation-raspberry-pi/) the command would be as follows. + +```bash +$ ln -s /usr/local/lib/python3.4/site-packages/cec /srv/hass/hass_venv/lib/python3.4/site-packages +``` + +

If after symlinking and adding `hdmi_cec:` to your configuration you are getting the following error in your logs, `* failed to open vchiq instance` you will also need to add the user account Home Assistant runs under, to the `video` group. To add the Home Assistant user account to the `video` group, run the following command. `$ usermod -a -G video `

diff --git a/source/_components/history.markdown b/source/_components/history.markdown index 206678c510..b252d3b205 100644 --- a/source/_components/history.markdown +++ b/source/_components/history.markdown @@ -1,7 +1,7 @@ --- layout: page title: "History" -description: "Instructions on how to enable history support for Home Assistant." +description: "Instructions how to enable history support for Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: pre 0.7 --- -The `history` component will track everything that is going on within Home Assistant and allows the user to browse through it. It depends on the `recorder` component for storing the data and uses the same database setting. If any entities are excluded from being recorded, no history will be available for these entities. +The `history` component will track everything that is going on within Home Assistant and allows the user to browse through it. It depends on the `recorder` component for storing the data and uses the same database setting. If any entities are excluded from being recorded, no history will be available for these entities as well. To enable the history option in your installation, add the following to your `configuration.yaml` file: @@ -42,9 +42,9 @@ Configuration variables: - **entities** (*Optional*): The list of entity ids to be included to the history. - **domains** (*Optional*): The list of domains to be included to the history. -Without any `include` or `exclude` configuration the history displays graphs for every entity (well that's not exactly true - for instance `hidden` entities or `scenes` are never shown) on a given date. If you are only interested in some of the entities you have several options: +Without any `include` or `exclude` configuration the history displays graphs for every entity (well that's not exactly true - for instance `hidden` entities or `scenes` are never shown) on a given date. If you are only interested in some of the entities you several options: -Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information displayed, but just want to remove some entities or domains. Usually these are entities/domains which do not change (like `weblink`) or rarely change (like `updater` or `automation`). +Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information displayed, but just want to remove some entities or domains. Usually these are entities/domains which do not change (like `weblink`) or rarely change (`updater` or `automation`). ```yaml # Example configuration.yaml entry with exclude @@ -59,7 +59,7 @@ history: - sensor.date ``` -Define domains and entities to display by using the `include` configuration (aka. whitelist). If you have a lot of entities in your system and your `exclude` list is getting too large, it might be better just to define the entities or domains to `include`. +Define domains and entities to display by using the `include` configuration (aka. whitelist). If you have a lot of entities in your system and your `exclude` lists possibly get very large, it might be better just to define the entities or domains to display. ```yaml # Example configuration.yaml entry with include @@ -104,7 +104,7 @@ history: #### {% linkable_title Implementation details %} -The history is stored in a SQLite database `home-assistant_v2.db` within your configuration directory unless the `recorder` component is set up differently. +The history is stored in a SQLite database `home-assistant_v2.db` within your configuration directory if the `recorder` component is not set up differently. - events table is all events except `time_changed` that happened while recorder component was running. - states table contains all the `new_state` values of `state_changed` events. @@ -120,7 +120,7 @@ When the `history` component queries the states table it only selects states whe #### {% linkable_title On dates %} -SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using [this site](https://www.epochconverter.com/) or in Python: +SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using this site or in Python: ```python from datetime import datetime @@ -129,4 +129,4 @@ datetime.fromtimestamp(1422830502) #### {% linkable_title API %} -The history information is also available through the [RESTful API](/developers/rest_api/#get-apihistory). +The history information are also available through the [RESTful API](/developers/rest_api/#get-apihistory). diff --git a/source/_components/hive.markdown b/source/_components/hive.markdown index 16f2a77ac4..fbe0d5b17f 100644 --- a/source/_components/hive.markdown +++ b/source/_components/hive.markdown @@ -14,13 +14,11 @@ ha_iot_class: "Cloud Polling" --- -The `hive` component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating. +This Hive component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating. This component uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive component in Home Assistant. - - -To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file: +To add your Hive devices into your Home Assistant installation, using the default scan_interval, add the following to your 'configuration.yaml' file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown deleted file mode 100644 index 7ab434c890..0000000000 --- a/source/_components/homekit.markdown +++ /dev/null @@ -1,241 +0,0 @@ ---- -layout: page -title: "HomeKit" -description: "Instructions on how to setup the HomeKit component in Home Assistant." -date: 2018-02-20 17:30 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Voice -ha_release: 0.64 -logo: apple-homekit.png ---- - -The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. - -

- It might be necessary to install an additional package: - `$ sudo apt-get install libavahi-compat-libdnssd-dev` -

- -

- If you are upgrading Home Assistant from `0.65.x` and have used the HomeKit component, some accessories may not respond or may behave unusually. To fix these problems, you will need to remove the Home Assistant Bridge from your Home, stop Home Assistant and delete the `.homekit.state` file in your configuration folder and follow the Homekit [setup](#setup) steps again. -

- -{% configuration %} - homekit: - description: HomeKit configuration. - required: true - type: map - keys: - auto_start: - description: Flag if the HomeKit Server should start automatically after the Home Assistant Core Setup is done. ([Disable Auto Start](#disable-auto-start)) - required: false - type: boolean - default: true - port: - description: Port for the HomeKit extension. - required: false - type: int - default: 51827 - ip_address: - description: The local network IP address. Only necessary if the default from Home Assistant does not work. - required: false - type: string - filter: - description: Filter entities to available in the `Home` app. ([Configure Filter](#configure-filter)) - required: false - type: map - keys: - include_domains: - description: Domains to be included. - required: false - type: list - include_entities: - description: Entities to be included. - required: false - type: list - exclude_domains: - description: Domains to be excluded. - required: false - type: list - exclude_entities: - description: Entities to be excluded. - required: false - type: list - entity_config: - description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g. `alarm_control_panel.alarm`. - required: false - type: map - keys: - alarm_control_panel: - description: Additional options for `alarm_control_panel` entities. - required: false - type: map - keys: - code: - description: Code to arm or disarm the alarm in the frontend. - required: false - type: string - default: '' -{% endconfiguration %} - -

- If you use Z-Wave, or `discovery:` you'll need to disable auto-start, see the [section below](#disable-auto-start) for details on how to do this. You'll then need to start the HomeKit component once Z-Wave is ready, or an appropriate delay to allow your entities to be discovered. -

- -## {% linkable_title Setup %} - -To enable the `HomeKit` component in Home Assistant, add the following to your configuration file: - -```yaml -# Example for HomeKit setup -homekit: -``` - -After Home Assistant has started, the entities specified by the filter are exposed to `HomeKit` if they are [supported](#supported-components). To add them: -1. Open the Home Assistant frontend. A new card will display the `pin code`. -1. Open the `Home` app. -2. Choose `Add Accessory`, than select `Don't Have a Code or Can't Scan?` and enter the `pin code`. -4. Confirm the you are adding an `Uncertified Accessory` by clicking on `Add Anyway`. -5. Follow the setup be clicking on `Next` and lastly `Done` in the top right hand corner. -6. The `Home Assistant` Bridge and the Accessories should now be listed in the `Home` app. - -After the setup is completed you should be able to control your Home Assistant components through `Home` and `Siri`. - - -## {% linkable_title Considerations %} - - -### {% linkable_title Accessory ID %} - -Currently this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This however means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost. - -### {% linkable_title Persistence Storage %} - -Unfortunately `HomeKit` doesn't support any kind of persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.) - -A common situation might be if you decide to disable parts of the configuration for testing. Please make sure to disable `auto start` and `turn off` the `Start HomeKit` automation (if you have one). - - -## {% linkable_title Disable Auto Start %} - -Depending on your individual setup, it might be necessary to disable `Auto Start` for all accessories to be available for `HomeKit`. Only those entities that are fully setup when the `HomeKit` component is started, can be added. To start `HomeKit` when `auto_start: False`, you can call the service `homekit.start`. - -If you have Z-Wave entities you want exposed to HomeKit then you'll need to disable auto start and then start it after the Z-Wave mesh is ready. This is because the Z-Wave entities won't be fully set up until then. This can be automated using an automation: - -{% raw %} -```yaml -# Example for Z-Wave -homekit: - auto_start: False - -automation: - - alias: 'Start HomeKit' - trigger: - - platform: event - event_type: zwave.network_ready - action: - - service: homekit.start -``` -{% endraw %} - -For a general delay where your component doesn't generate an event, you can also do: - -{% raw %} -```yaml -# Example using a delay after start of Home Assistant -homekit: - auto_start: False - -automation: - - alias: 'Start HomeKit' - trigger: - - platform: homeassistant - event: start - action: - - delay: 00:05 # Waits 5 minutes - - service: homekit.start -``` -{% endraw %} - - -## {% linkable_title Configure Filter %} - -By default no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added. - -{% raw %} -```yaml -# Example filter to include specified domains and exclude specified entities -homekit: - filter: - include_domains: - - alarm_control_panel - - light - exclude_entities: - - light.kitchen_light -``` -{% endraw %} - -Filters are applied as follows: - -1. No includes or excludes - pass all entities -2. Includes, no excludes - only include specified entities -3. Excludes, no includes - only exclude specified entities -4. Both includes and excludes: - * Include domain specified - - if domain is included, and entity not excluded, pass - - if domain is not included, and entity not included, fail - * Exclude domain specified - - if domain is excluded, and entity not included, fail - - if domain is not excluded, and entity not excluded, pass - - if both include and exclude domains specified, the exclude domains are ignored - * Neither include or exclude domain specified - - if entity is included, pass (as #2 above) - - if entity include and exclude, the entity exclude is ignored - - -## {% linkable_title Supported Components %} - -The following components are currently supported: - -| Component | Type Name | Description | -| --------- | --------- | ----------- | -| alarm_control_panel | SecuritySystem | All security systems. | -| binary_sensor | Sensor | Support for `co2`, `door`, `garage_door`, `gas`, `moisture`, `motion`, `occupancy`, `opening`, `smoke` and `window` device classes. Defaults to the `occupancy` device class for everything else. | -| climate | Thermostat | All climate devices. | -| cover | GarageDoorOpener | All covers that support `open` and `close` and have `garage` as their `device_class`. | -| cover | WindowCovering | All covers that support `set_cover_position`. | -| cover | WindowCovering | All covers that support `open_cover` and `close_cover` through value mapping. (`open` -> `>=50`; `close` -> `<50`) | -| cover | WindowCovering | All covers that support `open_cover`, `stop_cover` and `close_cover` through value mapping. (`open` -> `>70`; `close` -> `<30`; `stop` -> every value in between) | -| device_tracker | Sensor | Support for `occupancy` device class. | -| light | Light | Support for `on / off`, `brightness` and `rgb_color`. | -| lock | DoorLock | Support for `lock / unlock`. | -| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. | -| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. | -| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` | -| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` | -| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` | -| switch / remote / input_boolean / script | Switch | All represented as switches. | - - -## {% linkable_title Error reporting %} - -If you encounter any issues or bug and want to report them on `GitHub`, please follow these steps to make it easier for others to help and get your issue solved. - -1. Enable debugging mode: -```yaml -logger: - default: warning - logs: - homeassistant.components.homekit: debug - pyhap: debug -``` -2. Reproduce the bug / problem you have encountered. -3. Stop Home Assistant and copy the log from the log file. That is necessary since some errors only get logged, when Home Assistant is being shutdown. -4. Follow this link: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit) and open a new issue. -5. Fill out all fields and especially include the following information: - - The configuration entries for `homekit` and the `component` that is causing the issue. - - The log / traceback you have generated before. - - Screenshots of the failing entity in the `states` panel. diff --git a/source/_components/homekit_controller.markdown b/source/_components/homekit_controller.markdown deleted file mode 100644 index 910c07e036..0000000000 --- a/source/_components/homekit_controller.markdown +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: page -title: "HomeKit controller support" -description: "Instructions how to integrate your HomeKit devices within Home Assistant." -date: 2018-03-19 21:04 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Hub -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit. - -

- You may need additional packages to support the HomeKit Python module: - `$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev` -

- -There is currently support for the following device types within Home Assistant: - -- [Light](/components/light.homekit_controller/) -- [Switch](/components/switch.homekit_controller/) - -The component will be automatically configured if the [`discovery:`](/components/discovery/) component is enabled and an enable entry added for HomeKit: - -```yaml -discovery: - enable: - - homekit -``` - -For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) component. diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index 5deaa8311a..73287f7420 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -2,7 +2,7 @@ layout: page title: "Homematic" description: "Instructions for integrating Homematic into Home Assistant." -date: 2018-02-13 19:10 +date: 2016-11-27 21:38 sidebar: true comments: false sharing: true @@ -13,15 +13,16 @@ ha_iot_class: "Local Push" featured: false --- -The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. + +The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit. If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well. Device support is available for most of the wired and wireless devices, as well as a few IP devices. If you have a setup with mixed protocols, you have to configure additional hosts with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`. -If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g., HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute. +If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g. HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute. We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default. -You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. +You can manually rename the created entities by using Home Assistants [Customizing](https://home-assistant.io/getting-started/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. To set up the component, add the following information to your `configuration.yaml` file: @@ -89,7 +90,7 @@ homematic: host: 127.0.0.1 username: Admin password: secret - + ``` ### {% linkable_title The `resolvenames` option %} @@ -110,7 +111,7 @@ This does *not* affect the entities in Home Assistant. They all use their own co ### {% linkable_title Reading attributes of entities %} -Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](/components/sensor.template/) component. Here's an example of a template sensor that exposes the valve state of a thermostat. +Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](https://home-assistant.io/components/sensor.template/) component. Here's an example of a template sensor that exposes the valve state of a thermostat. ```yaml sensor: @@ -125,7 +126,7 @@ sensor: ### {% linkable_title Variables %} It is possible to read and set values of system variables you have setup on the CCU/Homegear. The supported types for setting values are float- and bool-variables. -The states of the variables are available through the attributes of your hub entity (e.g., `homematic.ccu2`). Use templates (as mentioned above) to make your variables available to automations or as entities. +The states of the variables are available through the attributes of your hub entity (e.g. `homematic.ccu2`). Use templates (as mentioned above) to make your variables available to automations or as entities. The values of variables are polled from the CCU/Homegear in an interval of 30 seconds. Setting the value of a variable happens instantly and is directly pushed. ### {% linkable_title Events %} @@ -137,7 +138,7 @@ When HomeMatic devices change their state or some other internal value, the CCU/ #### {% linkable_title Devices with buttons %} -Devices with buttons (e.g., HM-Sen-MDIR-WM55, remote controls) may not be fully visible in the UI. This is intended, as buttons don't serve any value here and all they do is trigger events. +Devices with buttons (e.g. HM-Sen-MDIR-WM55, remote controls) may not be fully visible in the UI. This is intended, as buttons don't serve any value here and all they do is trigger events. As an example: The HM-Sen-MDIR-WM55 motion detector will be displayed as 2 entities. A motion sensor and a brightness sensor. On top of that we have 2 sets (one set per button) of 4 events: PRESS_SHORT, PRESS_LONG, PRESS_CONT, PRESS_LONG_RELEASE. Be aware, that there are devices which don't provide all of these events. But in general: if you can press it, it usually at least has PRESS_SHORT. @@ -158,17 +159,7 @@ automation: ``` The channel parameter is equal to the channel of the button you are configuring the automation for. You can view the available channels in the UI you use to pair your devices. -The name depends on if you chose to resolve names or not. If not, it will be the device ID (e.g., LEQ1234657). If you chose to resolve names (and that is successful), it will be the name you have set in your CCU or in the metadata (e.g., "Kitchen Switch"). - -You can test whether your button works within Home Assistant if you look at the terminal output. When pressing a button, lines similar to those should appear: - -```bash -2018-01-27 11:51:32 INFO (Thread-12) [pyhomematic.devicetypes.generic] HMGeneric.event: address=MEQ1234567:6, interface_id=homeassistant-CCU2, key=PRESS_SHORT, value=True -2018-01-27 11:51:32 INFO (MainThread) [homeassistant.core] Bus:Handling -2018-01-27 11:51:32 INFO (Thread-12) [pyhomematic.devicetypes.generic] HMGeneric.event: address=MEQ1234567:6, interface_id=homeassistant-CCU2, key=INSTALL_TEST, value=True -``` - -It may happen that "your_nice_name" is not resolved correctly; the according message (#2 in the above example) will be missing. This might be due to secure communication between your HM interface and the HM device. You can change the communication from "secure" to "standard" within your HM-interface to solve that issue (in "Einstellungen" - "Geräte" find your device and change "Übertragungsmodus" from secure to standard) - not recommended for devices that should have secure communication. +The name depends on if you chose to resolve names or not. If not, it will be the device ID (e.g. LEQ1234657). If you chose to resolve names (and that is successful), it will be the name you have set in your CCU or in the metadata (e.g. "Kitchen Switch"). ### {% linkable_title Services %} @@ -239,19 +230,3 @@ action: param: SET_TEMPERATURE value: 23.0 ``` - -Manually set lock on KeyMatic devices -```yaml -... -action: - service: lock.lock - entity_id: lock.leq1234567 -``` - -Manually set unlock on KeyMatic devices -```yaml -... -action: - service: lock.unlock - entity_id: lock.leq1234567 -``` diff --git a/source/_components/homematicip_cloud.markdown b/source/_components/homematicip_cloud.markdown deleted file mode 100644 index c2f5320aa7..0000000000 --- a/source/_components/homematicip_cloud.markdown +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: page -title: "HomematicIP Cloud" -description: "Instructions for integrating HomematicIP into Home Assistant." -date: 2018-04-02 13:40 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Hub -ha_iot_class: "Cloud Polling" -ha_release: 0.66 -featured: false ---- - -The [HomematicIP](http://www.homematic-ip.com) component platform is used as an interface to the cloud server. -For for communication [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used. - -To set up the component: - -- generate the authentication token: -```yaml -generate_auth_token.py -``` - -- add the information to your `configuration.yaml` file: - -```yaml -homematicip_cloud: - - name: NAME - accesspoint: IDENTIFIER - authtoken: AUTHTOKEN -``` - -Configuration variables (global): - -- **name** (*Optional*): Name to identify your access point, this will be - used to prefix your device names. -- **accesspoint** (*Required*): This is the access point id (SGTIN) -- **authtoken** (*Required*): Authentification token generated with -`generate_auth_token.py`. - diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 8fddcfd5d9..98ec03f5a0 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -35,13 +35,13 @@ Configuration variables: - **base_url** (*Optional*): The URL that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to the local IP address. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app. - **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection. - **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection. -- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`. +- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://home-assistant.io` will allow requests from `https://home-assistant.io` but __not__ `http://home-assistant.io`. - **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You should only enable this in a trustworthy network environment, as clients passing that header could easily spoof their source IP address. Defaults to False. - **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. It should be noted that if you use a reverse proxy, all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be used with extreme care. - **ip_ban_enabled** (*Optional*): Flag indicating whether additional IP filtering is enabled. Defaults to False. - **login_attempts_threshold** (*Optional*): Number of failed login attempt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. Defaults to -1, meaning that no new automatic bans will be added. -The sample below shows a configuration entry with possible values: +The sample below shows a configuration entry with possible values: ```yaml # Example configuration.yaml entry @@ -52,7 +52,7 @@ http: ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem cors_allowed_origins: - https://google.com - - https://www.home-assistant.io + - https://home-assistant.io use_x_forwarded_for: True trusted_networks: - 127.0.0.1 @@ -69,29 +69,23 @@ Or use a self signed certificate following the instructions here [Self-signed ce On top of the `http` component is a [REST API](/developers/rest_api/), [Python API](/developers/python_api/) and [WebSocket API](/developers/websocket_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/). -The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP. +The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP. To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived. All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**. -If you want to apply additional IP filtering, and automatically ban brute force attempts, set `ip_ban_enabled` to `True` and the maximum number of attempts. After the first ban, an `ip_bans.yaml` file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added: +If you want to use Home Assistant to host or serve static files then create a directory called `www` under the `.homeassistant` configuration path. The static files in `.homeassistant/www/` can be accessed by the following URL `http://your.domain:8123/local/`. + +If you want to apply additional IP filtering, and automatically ban brute force attempts, set `ip_ban_enabled` to `True` and the maximum number of attempts. After the first ban, an `ip_bans.yaml` file will be created in the root configuration folder. It will have the banned IP address and time in UTC when it was added: ```yaml 127.0.0.1: banned_at: '2016-11-16T19:20:03' ``` -After a ban is added a Persistent Notification is populated to the Home Assistant frontend. +After a ban is added a Persistent Notification is populated to the Home Assistant frontend.

-Please note, that sources from `trusted_networks` won't be banned automatically. -

- -## {% linkable_title Hosting files %} - -If you want to use Home Assistant to host or serve static files then create a directory called `www` under the configuration path (`/config` on Hass.io, `.homeassistant` elsewhere). The static files in `www/` can be accessed by the following URL `http://your.domain:8123/local/`, for example `audio.mp3` would be accessed as `http://your.domain:8123/local/audio.mp3`. - -

- If you've had to create the `www/` folder for the first time, you'll need to restart Home Assistant. +Please note, that sources from `trusted_networks` won't be banned automatically.

diff --git a/source/_components/hue.markdown b/source/_components/hue.markdown index f172c6b0ff..fb73a05824 100644 --- a/source/_components/hue.markdown +++ b/source/_components/hue.markdown @@ -33,20 +33,12 @@ hue: Configuration variables: -- **host**: IP address of the device, eg. 192.168.1.10. Required if not using the `discovery` component to discover Hue bridges. +- **host** (*Optional*): IP address of the device, eg. 192.168.1.10. Required if not using the `discovery` component to discover Hue bridges. - **allow_unreachable** (*Optional*): (true/false) This will allow unreachable bulbs to report their state correctly. - **filename** (*Optional*): Make this unique if specifying multiple Hue hubs. +- **allow_in_emulated_hue** (*Optional*): (true/false) Enable this to block all Hue entities from being added to the `emulated_hue` component. - **allow_hue_groups** (*Optional*): (true/false) Enable this to stop Home Assistant from importing the groups defined on the Hue bridge. -```yaml -# Example configuration.yaml entry specifying optional parameters -hue: - bridges: - - host: DEVICE_IP_ADDRESS - allow_unreachable: true - allow_hue_groups: true -``` - ### {% linkable_title Migrating from older configuration %} In previous versions of the Hue component the configuration looked different: diff --git a/source/_components/ifttt.manything.markdown b/source/_components/ifttt.manything.markdown index 84d0228bc1..7288afb90b 100644 --- a/source/_components/ifttt.manything.markdown +++ b/source/_components/ifttt.manything.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ManyThing" -description: "Instructions on how to setup ManyThing support with IFTTT." +description: "Instructions how to setup ManyThing support with IFTTT." date: 2015-09-07 18:00 sidebar: true comments: false diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index 9f48303946..764138d272 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IFTTT" -description: "Instructions on how to setup IFTTT within Home Assistant." +description: "Instructions how to setup IFTTT within Home Assistant." date: 2015-09-07 18:00 sidebar: true comments: false @@ -21,7 +21,7 @@ ifttt: key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` -`key` is your API key which can be obtained by viewing the **Settings** of the [Webhooks applet](https://ifttt.com/services/maker_webhooks/settings). It's the last part of the URL (e.g., https://maker.ifttt.com/use/MYAPIKEY) you will find under **My Applets** > **Webhooks** > **Settings**. +`key` is your API key which can be obtained by viewing the **Settings** of the [Webhooks applet](https://ifttt.com/services/maker_webhooks/settings). It's the last part of the URL (e.g. https://maker.ifttt.com/use/MYAPIKEY) you will find under **My Applets** > **Webhooks** > **Settings**.

diff --git a/source/_components/image_processing.dlib_face_detect.markdown b/source/_components/image_processing.dlib_face_detect.markdown index f427590256..6673146847 100644 --- a/source/_components/image_processing.dlib_face_detect.markdown +++ b/source/_components/image_processing.dlib_face_detect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dlib Face Detect" -description: "Instructions on how to integrate Dlib Face Detect into Home Assistant." +description: "Instructions how to integrate Dlib Face Detect into Home Assistant." date: 2017-05-05 00:00 sidebar: true comments: false diff --git a/source/_components/image_processing.dlib_face_identify.markdown b/source/_components/image_processing.dlib_face_identify.markdown index 34690d6b8f..1e47bf13e4 100644 --- a/source/_components/image_processing.dlib_face_identify.markdown +++ b/source/_components/image_processing.dlib_face_identify.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dlib Face Identify" -description: "Instructions on how to integrate Dlib Face Identify into Home Assistant." +description: "Instructions how to integrate Dlib Face Identify into Home Assistant." date: 2017-01-25 00:00 sidebar: true comments: false @@ -13,7 +13,7 @@ featured: false ha_release: 0.44 --- -The `dlib_face_identify` image processing platform allows you to use the [Dlib](http://www.dlib.net/) through Home Assistant. This platform allow you to identify persons on camera and fire an event with identify persons. +The `dlib_face_identify` image processing platform allows you to use the [Dlib](http://www.dlib.net/) through Home Assistant. This platform allow you to identify persons on camera and fire a event with identify persons. For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page. @@ -36,7 +36,3 @@ Configuration variables: - **entity_id** (*Required*): A camera entity id to get picture from. - **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity. - **faces** array (*Required*): List of faces sources. - -

-If the platform fails to load because it could not install its requirement, install cmake: `sudo apt-get install cmake`. -

diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 1f1507bf28..6f010ebad2 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Image Processing" -description: "Instructions on how to setup image processing with Home Assistant." +description: "Instructions how to setup image processing with Home Assistant." date: 2017-01-09 00:00 sidebar: true comments: false diff --git a/source/_components/image_processing.microsoft_face_detect.markdown b/source/_components/image_processing.microsoft_face_detect.markdown index 06cca72d26..39aecb1534 100644 --- a/source/_components/image_processing.microsoft_face_detect.markdown +++ b/source/_components/image_processing.microsoft_face_detect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Microsoft Face Detect" -description: "Instructions on how to integrate Microsoft Face Detect into Home Assistant." +description: "Instructions how to integrate Microsoft Face Detect into Home Assistant." date: 2017-01-25 00:00 sidebar: true comments: false diff --git a/source/_components/image_processing.microsoft_face_identify.markdown b/source/_components/image_processing.microsoft_face_identify.markdown index eb6d0a110f..76fb2ad1be 100644 --- a/source/_components/image_processing.microsoft_face_identify.markdown +++ b/source/_components/image_processing.microsoft_face_identify.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Microsoft Face Identify" -description: "Instructions on how to integrate Microsoft Face Identify into Home Assistant." +description: "Instructions how to integrate Microsoft Face Identify into Home Assistant." date: 2017-01-25 00:00 sidebar: true comments: false diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index 96e180a705..3a13097c87 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenALPR Cloud" -description: "Instructions on how to integrate licences plates with OpenALPR cloud into Home Assistant." +description: "Instructions how to integrate licences plates with OpenALPR cloud into Home Assistant." date: 2017-01-09 00:00 sidebar: true comments: false @@ -13,7 +13,7 @@ featured: false ha_release: 0.36 --- -[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](/components/automation/). +[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page. diff --git a/source/_components/image_processing.openalpr_local.markdown b/source/_components/image_processing.openalpr_local.markdown index d5da4bab3e..593a921261 100644 --- a/source/_components/image_processing.openalpr_local.markdown +++ b/source/_components/image_processing.openalpr_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenALPR Local" -description: "Instructions on how to integrate licences plates with OpenALPR local into Home Assistant." +description: "Instructions how to integrate licences plates with OpenALPR local into Home Assistant." date: 2017-01-09 00:00 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.36 redirect_from: /components/openalpr/ --- -[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](/components/automation/). +[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). For using inside automation look on [component](/components/image_processing) page. diff --git a/source/_components/image_processing.opencv.markdown b/source/_components/image_processing.opencv.markdown index 9e485ec6c3..db6bfd2d5c 100644 --- a/source/_components/image_processing.opencv.markdown +++ b/source/_components/image_processing.opencv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenCV" -description: "Instructions on how to integrate OpenCV image processing into Home Assistant." +description: "Instructions how to integrate OpenCV image processing into Home Assistant." date: 2017-01-25 00:00 sidebar: true comments: false diff --git a/source/_components/image_processing.seven_segments.markdown b/source/_components/image_processing.seven_segments.markdown index a5944d821b..13249bc52b 100644 --- a/source/_components/image_processing.seven_segments.markdown +++ b/source/_components/image_processing.seven_segments.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Seven segments display" -description: "Instructions on how to use OCR for seven segments displays into Home Assistant." +description: "Instructions how to use OCR for seven segments displays into Home Assistant." date: 2017-05-18 08:00 sidebar: true comments: false diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown index 9df07711f8..4252068c03 100644 --- a/source/_components/influxdb.markdown +++ b/source/_components/influxdb.markdown @@ -23,11 +23,11 @@ The default InfluxDB configuration doesn't enforce authentication. If you have i influxdb: ``` -You will still need to create a database named `home_assistant` via InfluxDB's command line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed. +You will still need to create a database named `home_assistant` via InfluxDB's web interface or command line. For instructions how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed. Configuration variables: -- **host** (*Optional*): IP address of your database host, e.g., 192.168.1.10. Defaults to `localhost`. +- **host** (*Optional*): IP address of your database host, e.g. 192.168.1.10. Defaults to `localhost`. - **port** (*Optional*): Port to use. Defaults to 8086. - **username** (*Optional*): The username of the database user. The user needs read/write privileges on the database. - **password** (*Optional*): The password for the database user account. @@ -35,9 +35,10 @@ Configuration variables: - **ssl** (*Optional*): Use https instead of http to connect. Defaults to false. - **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false. - **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data +- **retry_queue_limit** (*Optional*): If retry enabled, specify how much calls are allowed to be queued for retry. - **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id. - **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement. -- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format. +- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format. - **override_measurement** (*Optional*): Measurement name to use for this component, takes precedence over the global 'override_measurement' and component-specific 'unit_of_measurement' attribute. - **exclude** (*Optional*): Configure which components should be excluded from recording to InfluxDB. - **entities** (*Optional*): The list of entity ids to be excluded from recording to InfluxDB. diff --git a/source/_components/input_boolean.markdown b/source/_components/input_boolean.markdown index b2b23aeeff..ff2aa46ca8 100644 --- a/source/_components/input_boolean.markdown +++ b/source/_components/input_boolean.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Input Boolean" -description: "Instructions on how to integrate the Input Boolean component into Home Assistant." +description: "Instructions how to integrate the Input Boolean component into Home Assistant." date: 2016-01-17 16:58 sidebar: true comments: false diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown index 462b309e7e..7337114357 100644 --- a/source/_components/input_datetime.markdown +++ b/source/_components/input_datetime.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Input Datetime" -description: "Instructions on how to integrate the Input Datetime component into Home Assistant." +description: "Instructions how to integrate the Input Datetime component into Home Assistant." date: 2017-09-14 16:01 sidebar: true comments: false @@ -65,7 +65,7 @@ input_datetime: A datetime input entity's state exports several attributes that can be useful in automations and templates. | Attribute | Description | -| ----- | ----- | +| --------- | ----------- | | `has_time` | `true` if this entity has a time. | `has_date` | `true` if this entity has a date. | `year`
`month`
`day` | The year, month and day of the date.
(only available if `has_date: true`) @@ -75,47 +75,3 @@ A datetime input entity's state exports several attributes that can be useful in ### {% linkable_title Restore State %} This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation. - -### {% linkable_title Services %} - -This component provides a service to modify the state of the `input_datetime`. - -| Service | Data | Description | -| ----- | ----- | ----- | -| `set_datetime` | `time` | This can be used to dynamically set the time. -| `set_datetime` | `date` | This can be used to dynamically set the date. - -## {% linkable_title Automation Examples %} - -The following example shows the usage of the `input_datetime` as a trigger in an automation (note that you will need a [time sensor](/components/sensor.time_date/) elsewhere in your configuration): - -{% raw %} -```yaml -# Example configuration.yaml entry -# Turns on bedroom light at the time specified. -automation: - trigger: - platform: template -    value_template: "{{ states('sensor.time') == (states.input_datetime.bedroom_alarm_clock_time.attributes.timestamp | int | timestamp_custom('%H:%M', False)) }}" -  action: - service: light.turn_on - entity_id: light.bedroom -``` -{% endraw %} - -To dynamically set the `input_datetime` you can call `input_datetime.set_datetime`. The following example can be used in an automation rule: - -```yaml -# Example configuration.yaml entry -# Sets input_datetime to '05:30' when an input_boolean is turned on. -automation: - trigger: - platform: state - entity_id: input_boolean.example - to: 'on' - action: - service: input_datetime.set_datetime - entity_id: input_datetime.bedroom_alarm_clock_time - data: - time: '05:30:00' -``` diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 44d819c39c..348053d8ee 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Input Number" -description: "Instructions on how to integrate the Input Number component into Home Assistant." +description: "Instructions how to integrate the Input Number component into Home Assistant." date: 2017-09-19 03:30 sidebar: true comments: false @@ -14,7 +14,7 @@ redirect_from: /components/input_slider/ ---

-Before version 0.55 this component was known as `input_slider` and did not have the `mode` configuration option. Also, service `select_value` is now `set_value`. +Before version 0.55 this component was known as `input_slider` and did not have the `mode` configuration option.

The `input_number` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well. @@ -39,6 +39,7 @@ input_number: mode: box ``` + {% configuration %} input_number: description: Alias for the input. Multiple entries are allowed. diff --git a/source/_components/input_select.markdown b/source/_components/input_select.markdown index 8e59002ccf..bf25b89d5f 100644 --- a/source/_components/input_select.markdown +++ b/source/_components/input_select.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Input Select" -description: "Instructions on how to integrate the Input Select component into Home Assistant." +description: "Instructions how to integrate the Input Select component into Home Assistant." date: 2016-02-02 17:00 sidebar: true comments: false diff --git a/source/_components/input_text.markdown b/source/_components/input_text.markdown index 284ab5ea36..2fa07711af 100644 --- a/source/_components/input_text.markdown +++ b/source/_components/input_text.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Input Text" -description: "Instructions on how to integrate the Input Text component into Home Assistant." +description: "Instructions how to integrate the Input Text component into Home Assistant." date: 2016-03-15 06:00 sidebar: true comments: false @@ -12,7 +12,7 @@ ha_category: Automation ha_release: 0.53 --- -The `input_text` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text). +The `input_text` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. ```yaml # Example configuration.yaml entries @@ -27,9 +27,6 @@ input_text: text3: name: Text 3 pattern: '[a-fA-F0-9]*' - text4: - name: Text 4 - mode: password ``` {% configuration %} @@ -62,11 +59,6 @@ input_text: required: false type: String default: empty - mode: - description: Can specify `text` or `password`. Elements of type "password" provide a way for the user to securely enter a value. - required: false - type: String - default: text {% endconfiguration %} ### {% linkable_title Restore State %} diff --git a/source/_components/insteon_hub.markdown b/source/_components/insteon_hub.markdown index 5c9813bc5c..03bf4b8a6e 100644 --- a/source/_components/insteon_hub.markdown +++ b/source/_components/insteon_hub.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon Hub" -description: "Instructions on how to setup the Insteon Hub within Home Assistant." +description: "Instructions how to setup the Insteon Hub within Home Assistant." date: 2016-01-27 08:00 sidebar: true comments: false @@ -32,6 +32,6 @@ insteon_hub: Configuration variables: -- **username** (*Required*): The username used to access the Insteon interface (e.g., the [connect.insteon.com](http://connect.insteon.com/) site). +- **username** (*Required*): The username used to access the Insteon interface (e.g. the [connect.insteon.com](http://connect.insteon.com/) site). - **password** (*Required*): The password used to access the Insteon interface. - **api_key** (*Required*): The Insteon REST API key emailed to you once you are approved in the Insteon Developer program. diff --git a/source/_components/insteon_local.markdown b/source/_components/insteon_local.markdown index 40ed93c1d5..fba1087171 100644 --- a/source/_components/insteon_local.markdown +++ b/source/_components/insteon_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon (local)" -description: "Instructions on how to setup the Insteon Hub locally within Home Assistant." +description: "Instructions how to setup the Insteon Hub locally within Home Assistant." date: 2016-12-18 08:00 sidebar: true comments: false diff --git a/source/_components/insteon_plm.markdown b/source/_components/insteon_plm.markdown index 9e15bb0f7d..f28db9b74c 100644 --- a/source/_components/insteon_plm.markdown +++ b/source/_components/insteon_plm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon PLM" -description: "Instructions on how to setup an Insteon USB PLM locally within Home Assistant." +description: "Instructions how to setup an Insteon USB PLM locally within Home Assistant." date: 2017-02-19 16:00 sidebar: true comments: false @@ -16,15 +16,13 @@ ha_version: 0.39 This component adds "local push" support for INSTEON PowerLinc Modems allowing linked INSTEON devices to be used within Home Assistant as lights, switches, and binary sensors. Device support is provided by the underlying [insteonplm] -package. It is known to work with the [2413U] USB and [2412S] RS242 flavors -of PLM and the [2448A7] USB stick. This component does not work with the -IP-based hub products. For that, you'll want the "Insteon (Local)" component -instead. +package. It is known to work with both the [2413U] USB and [2412S] +RS242 flavors of PLM. This component does not work with the IP-based hub +products. For that, you'll want the "Insteon (Local)" component instead. [insteonplm]: https://github.com/nugget/python-insteonplm [2413U]: https://www.insteon.com/powerlinc-modem-usb [2412S]: https://www.insteon.com/powerlinc-modem-serial -[2448A7]: https://www.smarthome.com/insteon-2448a7-portable-usb-adapter.html ```yaml @@ -32,83 +30,23 @@ instead. insteon_plm: port: SERIAL_PORT device_override: - - address: ADDRESS - cat: CATEGORY - subcat: SUBCATEGORY - firmware: FIRMWARE - product_key: PRODUCT_KEY + - address: INSTEON_ADDRESS + platform: DEVICE_PLATFORM ``` + Configuration variables: -- **port** (*Required*): The port for your device, e.g., `/dev/ttyUSB0` -- **device_override** (*Optional*): Override the default device definition - - *ADDRESS* is found on the device itself in the form 1A.2B.3C or 1a2b3c - - *CATEGORY* is found in the back of the device's User Guide in the form of - 0x00 - 0xff - - *SUBCATEGORY* is found in the back of the device's User Guide in the form - of 0x00 - 0xff - - *FIRMWARE* and *PRODUCT_KEY* are more advanced options and will typically - not be used. - -### {% linkable_title Autodiscovery %} - -The first time autodiscovery runs, the duration may require up to 20 seconds -per device. Subsequent startups will occur much quicker using cached device -information. If a device is not recognized during autodiscovery, you can add -the device to the **device_override** configuration. - -In order for a device to be discovered it must be linked to the PLM as either -a responder or a controller. - -### {% linkable_title Linking Devices to the PLM %} - -In order for any two Insteon devices to talk with one another, they must be -linked. For an overview of device linking please read the Insteon page on -[understanding linking]. The Insteon PLM module supports All-Linking through -[Development Tools] service calls. The following services are available: - -In order for any two Insteon devices to talk with one another, they must be -linked. For an overview of device linking, please read the Insteon page on -[understanding linking]. The Insteon PLM module supports All-Linking through -[Development Tools] service calls. The following services are available: -- **insteon_plm.add_all_link**: Tells the Insteon Modem (IM) start All-Linking -mode. Once the IM is in All-Linking mode, press the link button on the device -to complete All-Linking. -- **insteon_plm.delete_all_link**: Tells the Insteon Modem (IM) to remove an -All-Link record from the All-Link Database of the IM and a device. Once the IM -is set to delete the link, press the link button on the corresponding device -to complete the process. -- **insteon_plm.load_all_link_database**: Load the All-Link Database for a -device. WARNING - Loading a device All-Link database is very time consuming -and inconsistent. This may take a LONG time and may need to be repeated to -obtain all records. -- **insteon_plm.print_all_link_database**: Print the All-Link Database for a -device. Requires that the All-Link Database is loaded into memory. -- **insteon_plm.print_im_all_link_database**: Print the All-Link Database for -the INSTEON Modem (IM). - -If you are looking for more advanced options, you can use the -[insteonplm_interactive] command line tool that is distributed with the -[insteonplm] Python module. Please see the documentation on the [insteonplm] -GitHub site. Alternatively, you can download [HouseLinc] which runs on any -Windows PC, or you can use [Insteon Terminal] which is open source and runs -on most platforms. SmartHome no longer supports HouseLinc, but it still -works. Insteon Terminal is a very useful tool but please read the disclaimers -carefully, they are important. - -[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking -[Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/ -[HouseLinc]: https://www.smarthome.com/houselinc.html -[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal -[insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface +- **port** (*Required*): The port for your device, e.g. `/dev/ttyUSB0` +- **device_override** (*Optional*): Override the default device platform + ### {% linkable_title Customization %} -The only configuration item that is absolutely necessary is the port so that -Home Assistant can connect to the PLM. This will expose all the supported -INSTEON devices which exist in the modem’s ALL-Link database. However, devices -will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can -be a bit unwieldy. As you link and unlink devices using the ‘Set’ buttons, -they’ll be added and removed from Home Assistant automatically. +The only configuration item that is absolutely necessary is the port so that +Home Assistant can connect to the PLM. This will expose all the supported INSTEON +devices which exist in the modem's ALL-Link database. However, devices will +only be shown by their INSTEON hex address (e.g. "1A.2B.3C") which can be a bit +unwieldy. As you link and unlink devices using the 'Set' buttons, they'll be +added and removed from Home Assistant automatically. You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This @@ -120,14 +58,14 @@ devices. ### {% linkable_title Device Overrides %} INSTEON devices are added to Home Assistant using the platform(s) that make the -most sense given the model and features of the hardware. The features of the -INSTEON device are built into the Home Assistant platform. Changing the -platform is not recommended. There are two primary uses for the -**device_override** feature. -- Devices that do not respond during autodiscovery. This is common for battery - operated devices. -- Devices that have not been fully developed. This allows an unknown device to - be mapped to a device that operates similarly to another device. +most sense given the model and features of the hardware. In most cases this is +unambiguous, but sometimes the component will not be able to guess the actual +usage of the device. For example, there might be a table lamp plugged into an +INSTEON appliance relay module. By default, this will show as a 'switch' +device in Home Assistant, but it really should be a 'light' device. For +exceptions like this, the component supports a device platform override. You +can set any device (by address) to explicitly use a specific platform if the +default is not correct. ### {% linkable_title Example Configuration with Options%} @@ -145,20 +83,7 @@ homeassistant: insteon_plm: port: /dev/ttyUSB0 device_override: - - address: a1b2c3 # Hidden Door Sensor [2845-222] - cat: 0x10 - subcat: 0x11 + - address: a1b2c3 # Icon Appliance Module for bedside lamp + platform: light # make it a light instead of a switch ``` -### {% linkable_title What NOT to do %} - -Insteon PLM is a top level component and device discovery will identify -the Home Assistant platform the device belongs in. As such, do not -declare Insteon devices in other platforms. For example, this configuration -will NOT work: - -```yaml -light: - - platform: insteon_plm - address: 1a2b3c -``` diff --git a/source/_components/ios.markdown b/source/_components/ios.markdown deleted file mode 100644 index 44ac2fa88e..0000000000 --- a/source/_components/ios.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "iOS" -description: "Instructions on how to use the iOS companion app with Home Assistant." -date: 2018-04-06 08:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple.png -ha_category: Hub -featured: false -ha_release: 0.31 -ha_iot_class: depends ---- - -The `ios` component is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details. diff --git a/source/_components/isy994.markdown b/source/_components/isy994.markdown index 211917fe56..558765a764 100644 --- a/source/_components/isy994.markdown +++ b/source/_components/isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Controller" -description: "Instructions on how to setup the ISY994 controller within Home Assistant." +description: "Instructions how to setup the ISY994 controller within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false @@ -45,7 +45,7 @@ Once the ISY controller is configured, it will automatically import any binary s An Insteon door/window sensor will show up as a single Binary Sensor rather than two discrete devices like it does in the ISY994 admin panel. Note that when in "Two Nodes" mode, the sensor will have an UNKNOWN state until the sensor changes for the first time since the last Home Assistant reboot. If you do not use Insteon scenes that are controlled directly from the door sensor, you may prefer to set the sensor to "One Node" mode using the ISY Admin Panel. -Each Insteon leak sensor will also show up as a single Binary Sensor as opposed to the two nodes seen in the ISY994. The name of the device will be based on what the parent node is named in the ISY994, which is typically the one with "-Dry" at the end of the name. This may be confusing, because "On" means wet in Home Assistant. You can rename this node either in the ISY994 Admin Panel (which will change the entity_id in Home Assistant) or assign a `friendly_name` in the [Customization section](/docs/configuration/customizing-devices/) of your configuration. +Each Insteon leak sensor will also show up as a single Binary Sensor as opposed to the two nodes seen in the ISY994. The name of the device will be based on what the parent node is named in the ISY994, which is typically the one with "-Dry" at the end of the name. This may be confusing, because "On" means wet in Home Assistant. You can rename this node either in the ISY994 Admin Panel (which will change the entity_id in Home Assistant) or assign a `friendly_name` in the [Customization section](https://home-assistant.io/docs/configuration/customizing-devices/) of your configuration. If your leak or door/window sensor supports heartbeats, a new binary_sensor device will be added to Home Assistant to represent the battery state. The sensor will stay "Off" so long as the daily heartbeats occur. If a heartbeat is missed, the sensor will flip to "On". The name of this device will be based on the heartbeat node in the ISY. @@ -125,7 +125,7 @@ My Programs ``` A device is created by creating a directory, with the name for the device, under any of the following root directories: - * *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](/getting-started/customizing-devices/) to set the sensor class) + * *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](https://home-assistant.io/getting-started/customizing-devices/) to set the sensor class) * *HA.cover* will create a cover * *HA.fan* will create a fan * *HA.lock* will create a lock diff --git a/source/_components/juicenet.markdown b/source/_components/juicenet.markdown index 74cc2fdb89..5015022c55 100644 --- a/source/_components/juicenet.markdown +++ b/source/_components/juicenet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Juicenet" -description: "Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant." +description: "Instructions how to setup WiFi-equipped Juicenet charging stations with Home Assistant." date: 2017-05-20 22:00 sidebar: true comments: false @@ -15,12 +15,10 @@ ha_release: 0.47 The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account. -## {% linkable_title Configuration %} - To enable the platform in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry juicenet: access_token: ACCESS_TOKEN ``` diff --git a/source/_components/keyboard.markdown b/source/_components/keyboard.markdown index 00dad71931..07b3e2db26 100644 --- a/source/_components/keyboard.markdown +++ b/source/_components/keyboard.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Keyboard" -description: "Instructions on how to simulate key presses with Home Assistant." +description: "Instructions how to simulate key presses with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false diff --git a/source/_components/keyboard_remote.markdown b/source/_components/keyboard_remote.markdown index aeefd01e63..f1d80bfa97 100644 --- a/source/_components/keyboard_remote.markdown +++ b/source/_components/keyboard_remote.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Keyboard Remote" -description: "Instructions on how to use a keyboard to remote control Home Assistant." +description: "Instructions how to use a keyboard to remote control Home Assistant." date: 2016-09-28 14:39 sidebar: true comments: false diff --git a/source/_components/kira.markdown b/source/_components/kira.markdown index b32ae95eac..d2c2594834 100644 --- a/source/_components/kira.markdown +++ b/source/_components/kira.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Kira" -description: "Instructions on how to integrate Keene Electronics IR over IP modules (Kira) into Home Assistant." +description: "Instructions how to integrate Keene Electronics IR over IP modules (Kira) into Home Assistant." date: 2017-05-07 00:00 sidebar: true comments: false @@ -76,7 +76,7 @@ Configuration variables: - **type** (*Optional*): The type of this code. If this field is omitted, the type will be autodetected if possible. - **repeat** (*Optional*): The number of times to repeat this code (on transmit). Default is 1. -Some manufacturers (e.g., Samsung) require an IR code to be sent a number of times in a row in rapid succession (usually 3). This doesn't apply to the vast majority of devices, but it can be helpful if needed. +Some manufacturers (e.g. Samsung) require an IR code to be sent a number of times in a row in rapid succession (usually 3). This doesn't apply to the vast majority of devices, but it can be helpful if needed. ### {% linkable_title Code Types %} diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 7acfae7676..4fd471efeb 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -31,7 +31,6 @@ There is currently support for the following device types within Home Assistant: - [Light](/components/light.knx) - [Thermostat](/components/climate.knx) - [Notify](/components/notify.knx) -- [Scene](/components/scene.knx) ### {% linkable_title Configuration %} @@ -84,6 +83,7 @@ knx: - **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus - **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus. - **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior. +- **time_address** (*Optional*): Broadcast current local time to KNX bus with configured group address. ### {% linkable_title Services %} @@ -98,27 +98,6 @@ Service Data: {"address": "1/0/15", "payload": 0} * **address**: KNX group address * **payload**: Payload, either an integer or an array of integers -### {% linkable_title Exposing sensor values or time to knx bus %} - -KNX component is able to expose time or sensor values to KNX bus. The component will broadcast any change of the exposed value to the KNX bus and answer read requests to the specified group address: - -```yaml -# Example configuration.yaml entry -knx: - expose:: - - type: 'temperature' - entity_id: 'sensor.owm_temperature' - address: '0/0/2' - - type: 'time' - address: '0/0/1' - - type: 'datetime' - address: '0/0/23' -``` - -* **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity"). -* **entity_id**: Entity id of the HASS component to be exposed. Not necessary for types time and datetime. -* **address**: KNX group address. - ### {% linkable_title Known issues %} diff --git a/source/_components/light.abode.markdown b/source/_components/light.abode.markdown index f362107791..bb6d597dee 100644 --- a/source/_components/light.abode.markdown +++ b/source/_components/light.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Light" -description: "Instructions on how to integrate Abode lights into Home Assistant." +description: "Instructions how to integrate Abode lights into Home Assistant." date: 2017-08-26 13:28 sidebar: true comments: false diff --git a/source/_components/light.ads.markdown b/source/_components/light.ads.markdown index aaedc1c12f..b5188cf33e 100644 --- a/source/_components/light.ads.markdown +++ b/source/_components/light.ads.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ADS Light" -description: Instructions on how to set up ADS lights within Home Assistant +description: Instructions how to set up ADS lights within Home Assistant date: 2017-10-25 10:00 sidebar: true comments: false diff --git a/source/_components/light.avion.markdown b/source/_components/light.avion.markdown index 68c40b1aac..74260e9395 100644 --- a/source/_components/light.avion.markdown +++ b/source/_components/light.avion.markdown @@ -21,6 +21,8 @@ To enable these lights, add the following lines to your `configuration.yaml` fil # Example configuration.yaml entry light: - platform: avion + username: testuser@fakedomain.com + password: foobar ``` Configuration variables: diff --git a/source/_components/light.blinksticklight.markdown b/source/_components/light.blinksticklight.markdown index c11da280ac..9deab2be84 100644 --- a/source/_components/light.blinksticklight.markdown +++ b/source/_components/light.blinksticklight.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Blinkstick" -description: "Instructions on how to setup Blinkstick lights within Home Assistant." +description: "Instructions how to setup Blinkstick lights within Home Assistant." date: 2015-10-08 10:00 sidebar: true comments: false diff --git a/source/_components/light.blinkt.markdown b/source/_components/light.blinkt.markdown index ad2d6200f8..617e81cac2 100644 --- a/source/_components/light.blinkt.markdown +++ b/source/_components/light.blinkt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Blinkt!" -description: "Instructions on how to setup Blinkt! RGB LED lights within Home Assistant." +description: "Instructions how to setup Blinkt! RGB LED lights within Home Assistant." date: 2017-04-30 9:00 sidebar: true comments: false diff --git a/source/_components/light.decora_wifi.markdown b/source/_components/light.decora_wifi.markdown index 7fc68d0dcf..48ce82aa3a 100644 --- a/source/_components/light.decora_wifi.markdown +++ b/source/_components/light.decora_wifi.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true ha_category: Light -ha_iot_class: "Cloud Polling" +ha_iot_class: "Local Polling" logo: leviton.png ha_release: 0.51 --- -Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API. +Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches. Supported devices (tested): @@ -26,18 +26,13 @@ To enable these lights, add the following lines to your `configuration.yaml` fil # Example configuration.yaml entry light: - platform: decora_wifi - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: my_leviton_user_email@email.com + password: my_leviton_password ``` -{% configuration %} -username: - description: Your "My Leviton" app email address/user name. - required: true - type: string -password: - description: Your "My Leviton" app password. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): Your "My Leviton" app email address/user name. +- **password** (*Required*): Your "My Leviton" app password. + diff --git a/source/_components/light.eufy.markdown b/source/_components/light.eufy.markdown deleted file mode 100644 index d8596c0048..0000000000 --- a/source/_components/light.eufy.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Eufy Lights" -description: "Instructions on how to integrate Eufy LED lights into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -The `eufy` platform allows you to control your [Eufy](http://www.eufylife.com) lights from within Home Assistant. - -They will be automatically discovered if the [Eufy](/components/eufy/) component is enabled. - diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown index 871ba222e2..e74e6942d9 100644 --- a/source/_components/light.flux_led.markdown +++ b/source/_components/light.flux_led.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Flux Led/MagicLight" -description: "Instructions on how to setup Flux led/MagicLight within Home Assistant." +description: "Instructions how to setup Flux led/MagicLight within Home Assistant." date: 2015-07-17 20:09 sidebar: true comments: false diff --git a/source/_components/light.greenwave.markdown b/source/_components/light.greenwave.markdown index 16f8e16099..a0cba942d4 100644 --- a/source/_components/light.greenwave.markdown +++ b/source/_components/light.greenwave.markdown @@ -27,7 +27,7 @@ light: host: XXX.XXX.XXX.XXX version: 3 ``` -The version option is the major revision of your firmware, which should be 2 or 3. If you are running Version 2, there are no extra steps. If you are running Version 3, you must press the Sync button on the gateway prior to the first launch of Home Assistant, so a token can be grabbed. Once Home Assistant has started, you can either press the Sync button again or wait for it to time out manually. +The version option is the major revision of your firmware, which should be 2 or 3. If you are running Version 2, there are no extra steps. If you are running Version 3, you must press the Sync button on the gateway prior to the first launch of Home Assistant, so a token can be grabbed. Once home assistant has started, you can either press the Sync button again or wait for it to time out manually. {% configuration %} host: diff --git a/source/_components/light.group.markdown b/source/_components/light.group.markdown deleted file mode 100644 index 4ec8262463..0000000000 --- a/source/_components/light.group.markdown +++ /dev/null @@ -1,63 +0,0 @@ ---- -layout: page -title: "Light Group" -description: "Instructions for how to setup light groups within Home Assistant." -date: 2018-02-23 11:41 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Light -ha_release: 0.65 -ha_iot_class: "Local Push" -logo: home-assistant.png ---- - -The group light platform lets you combine multiple lights into one entity. All child lights of a light group can still be used as usual, but controlling the state of the grouped light will forward the command to each child light. - -To enable this platform in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: group - name: Kitchen Lights - entities: - - light.kitchen_ceiling_lights - - light.kitchen_under_cabinet_lights - - light.kitchen_spot_lights - - light.pendant_lights -``` - -{% configuration %} - name: - description: The name of the light group. Defaults to "Light Group". - required: false - type: string - entities: - description: A list of entities to be included in the light group. - required: true - type: string list -{% endconfiguration %} - -

- -Example of the light group "Kitchen Lights". -

- -The supported features of all lights will be added together. For example, if you have one RGB light in a group of otherwise brightness-only lights, the light group will be shown with a color picker. - -## {% linkable_title Script Example %} - -Here's an example of a script using the above light group. - -```yaml -script: - turn_on_kitchen_lights: - alias: Kitchen lights on - sequence: - service: light.turn_on - data: - entity_id: light.kitchen_lights - brightness: 100 -``` diff --git a/source/_components/light.hive.markdown b/source/_components/light.hive.markdown index 44221f6371..78daeb5641 100644 --- a/source/_components/light.hive.markdown +++ b/source/_components/light.hive.markdown @@ -14,13 +14,12 @@ ha_iot_class: "Cloud Polling" --- -The `hive` light platform integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light. +The 'hive' light component integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light. -The platform supports the following Hive products: - -- Hive Active Light Dimmable -- Hive Active Light Cool to Warm White -- Hive Active Light Color Changing +The Hive light component supports the following Hive products: +- **Hive Active Light Dimmable** +- **Hive Active Light Cool to Warm White** +- **Hive Active Light Color Changing**

diff --git a/source/_components/light.homekit_controller.markdown b/source/_components/light.homekit_controller.markdown deleted file mode 100644 index f3f7243a10..0000000000 --- a/source/_components/light.homekit_controller.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "HomeKit Light" -description: "Instructions how to setup HomeKit lights within Home Assistant." -date: 2017-03-19 21:08 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -To get your HomeKit lights working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/). diff --git a/source/_components/light.homematic.markdown b/source/_components/light.homematic.markdown index 86249ce98e..b2223ae9e4 100644 --- a/source/_components/light.homematic.markdown +++ b/source/_components/light.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Light" -description: "Instructions on how to integrate Homematic lights within Home Assistant." +description: "Instructions how to integrate Homematic lights within Home Assistant." date: 2016-06-28 08:30 sidebar: true comments: false diff --git a/source/_components/light.hue.markdown b/source/_components/light.hue.markdown index 59e8b8e970..8cd9aad47e 100644 --- a/source/_components/light.hue.markdown +++ b/source/_components/light.hue.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Philips Hue Light" -description: "Instructions on how to integrate Philips Hue lights into Home Assistant." +description: "Instructions how to integrate Philips Hue lights into Home Assistant." date: 2015-03-23 20:09 sidebar: true comments: false diff --git a/source/_components/light.hyperion.markdown b/source/_components/light.hyperion.markdown index 7cba5e18f4..7f3b23ad6c 100644 --- a/source/_components/light.hyperion.markdown +++ b/source/_components/light.hyperion.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Hyperion" -description: "Instructions on how to integrate Hyperion into Home Assistant." +description: "Instructions how to integrate Hyperion into Home Assistant." date: 2015-10-25 22:43 sidebar: true comments: false diff --git a/source/_components/light.ihc.markdown b/source/_components/light.ihc.markdown index 214f19564b..741d2168cd 100644 --- a/source/_components/light.ihc.markdown +++ b/source/_components/light.ihc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IHC Light" -description: "Instructions on how to integrate IHC lights within Home Assistant." +description: "Instructions how to integrate IHC lights within Home Assistant." date: 2017-11-27 13:35 sidebar: true comments: false diff --git a/source/_components/light.insteon_hub.markdown b/source/_components/light.insteon_hub.markdown index f581706b92..82c4df9aa5 100644 --- a/source/_components/light.insteon_hub.markdown +++ b/source/_components/light.insteon_hub.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon Hub Light" -description: "Instructions on how to setup the Insteon Hub Lights within Home Assistant." +description: "Instructions how to setup the Insteon Hub Lights within Home Assistant." date: 2016-09-10 08:00 sidebar: true comments: false diff --git a/source/_components/light.insteon_local.markdown b/source/_components/light.insteon_local.markdown index b9aacb3250..06af902dfd 100644 --- a/source/_components/light.insteon_local.markdown +++ b/source/_components/light.insteon_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon (Local) Light" -description: "Instructions on how to setup the Insteon Hub Lights locally within Home Assistant." +description: "Instructions how to setup the Insteon Hub Lights locally within Home Assistant." date: 2016-12-18 08:00 sidebar: true comments: false diff --git a/source/_components/light.insteon_plm.markdown b/source/_components/light.insteon_plm.markdown index 65026cf576..7c95d8dfe4 100644 --- a/source/_components/light.insteon_plm.markdown +++ b/source/_components/light.insteon_plm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon PLM Light" -description: "Instructions on how to setup Insteon PLM lights locally within Home Assistant." +description: "Instructions how to setup Insteon PLM lights locally within Home Assistant." date: 2017-02-19 17:00 sidebar: true comments: false @@ -13,5 +13,5 @@ ha_iot_class: "Local Push" ha_version: 0.39 --- -The `insteon_plm` light platform lets you control your dimmable light switches through an INSTEON PowerLinc Modem (PLM) device connected directly to your system on an USB or serial port. To add support, set up the primary [insteon_plm](/components/insteon_plm/) component. +The `insteon_plm` light platform lets you control your sensors through an INSTEON PowerLinc Modem (PLM) device connected directly to your system on an USB or serial port. To add support, set up the primary [insteon_plm](/components/insteon_plm/) component. diff --git a/source/_components/light.isy994.markdown b/source/_components/light.isy994.markdown index 6c03413c8b..8ae450edfc 100644 --- a/source/_components/light.isy994.markdown +++ b/source/_components/light.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Light" -description: "Instructions on how to integrate ISY994 lights into Home Assistant." +description: "Instructions how to integrate ISY994 lights into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/light.lifx.markdown b/source/_components/light.lifx.markdown index 04f444540f..805cb67e68 100644 --- a/source/_components/light.lifx.markdown +++ b/source/_components/light.lifx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LIFX" -description: "Instructions on how to integrate LIFX into Home Assistant." +description: "Instructions how to integrate LIFX into Home Assistant." date: 2016-01-27 08:00 sidebar: true comments: false diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown index 2dcf4d9c7a..bc0849cbca 100644 --- a/source/_components/light.limitlessled.markdown +++ b/source/_components/light.limitlessled.markdown @@ -18,7 +18,7 @@ ha_release: pre 0.7 ### {% linkable_title Setup %} -Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [iTunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw`, `rgbww`, `white` and `dimmer` group to the same group number, effectively allowing 16 groups (4 `rgbww`, 4 `rgbw`, 4 `white` and 4 `dimmer`) per bridge. +Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [iTunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw`, `rgbww` and `white` group to the same group number, effectively allowing 12 groups (4 `rgbww`, 4 `rgbw` and 4 `white`) per bridge. To add `limitlessled` to your installation, add the following to your `configuration.yaml` file: @@ -38,9 +38,6 @@ light: type: rgbw name: Kitchen fade: on - - number: 4 - type: dimmer - name: Livingroom - host: 192.168.1.11 groups: - number: 1 @@ -59,7 +56,7 @@ Configuration variables: - **groups** array (*Required*): The list of available groups. - **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote. These numbers may overlap only if the type is different. - **name** (*Required*): Any name you'd like. Must be unique among all configured groups. - - **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw`, `white`, `bridge-led` or `dimmer`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges. + - **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw`, `white`, or `bridge-led`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges. - **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability, since the light will turn back on at the lowest brightness if it is power cycled. ### {% linkable_title Properties %} @@ -77,29 +74,9 @@ Refer to the [light]({{site_root}}/components/light/) documentation for general - When using a legacy WiFi bridge (before v6), you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property. - *Temperature*: Wifi bridge v6 supports 101 temperature steps; older versions only 10. - *Brightness*: Wifi bridge v6 supports 101 brightness steps; older versions only 10. -- **Dimmer** (Only supported on v6 bridges) - - This type is for a single color LED dimmer like the 1CH MiLight dimmer module or similar. This type is only supported by the version 6 Wifi bridges. - - *Brightness*: Wifi bridge v6 supports 101 brightness steps. - **Transitions** - If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately. ### {% linkable_title Initialization & Synchronization %} -When starting Home Assistant, the last recorded state will be shown. This might no longer match the actual state of the bulbs. - -If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe obsolete information. - -This lack of synchronization is due to a LimitlessLED limitation. - -

- -

- -Because LimitlessLED lights may have an obsolete state, Home Assistant shows the power switch as two buttons rather than a toggle. This ensures that the power can be set with a single click even if the assumed state is wrong. You can change to use the power toggle with [Customize](/docs/configuration/customizing-devices/): - -```yaml -homeassistant: - customize_domain: - light: - assumed_state: false -``` +When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation. diff --git a/source/_components/light.litejet.markdown b/source/_components/light.litejet.markdown index fedc9fa2be..d51cfd70c7 100644 --- a/source/_components/light.litejet.markdown +++ b/source/_components/light.litejet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LiteJet Light" -description: "Instructions on how to setup the LiteJet lights within Home Assistant." +description: "Instructions how to setup the LiteJet lights within Home Assistant." date: 2016-10-26 13:00 sidebar: true comments: false diff --git a/source/_components/light.lutron.markdown b/source/_components/light.lutron.markdown index 9e380e8d7c..3872b5373b 100644 --- a/source/_components/light.lutron.markdown +++ b/source/_components/light.lutron.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Light" -description: "Instructions on how to setup the Lutron lights within Home Assistant." +description: "Instructions how to setup the Lutron lights within Home Assistant." date: 2017-04-30 09:00 sidebar: true comments: false diff --git a/source/_components/light.lutron_caseta.markdown b/source/_components/light.lutron_caseta.markdown index 4c61accdc6..02e15710d6 100644 --- a/source/_components/light.lutron_caseta.markdown +++ b/source/_components/light.lutron_caseta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Caseta Light" -description: "Instructions on how to setup the Lutron Caseta lights within Home Assistant." +description: "Instructions how to setup the Lutron Caseta lights within Home Assistant." date: 2017-04-30 09:00 sidebar: true comments: false diff --git a/source/_components/light.markdown b/source/_components/light.markdown index 5eb3083f2d..4370674890 100644 --- a/source/_components/light.markdown +++ b/source/_components/light.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lights" -description: "Instructions on how to setup your lights with Home Assistant." +description: "Instructions how to setup your lights with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false @@ -19,27 +19,26 @@ The light component supports multiple entries in configuration.yaml Turns one light on or multiple lights on using [groups]({{site_root}}/components/group/). -Most lights do not support all attributes. You can check the platform documentation of your particular light for hints, but in general, you will have to try things out and see what works. +Most lights do not support all attributes. You can check the platform documentation of your particular light for hints but in general you will have to try things out and see what works. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all. | `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state. -| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. -| `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100. -| `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma-separated floats that represent the color in XY. You can find a great chart here: [Hue Color Chart](https://developers.meethue.com/documentation/core-concepts#color_gets_more_complicated). -| `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB. Note that the specified RGB value will not change the light brightness, only the color. +| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define a xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten. +| `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma separated floats that represent the color in XY. +| `rgb_color` | yes | A list containing three integers representing the rgb color you want the light to be. Three comma separated integers that represent the color in RGB. You can find a great chart here: [Hue Color Chart](http://www.developers.meethue.com/documentation/hue-xy-values) | `white_value` | yes | Integer between 0 and 255 for how bright a dedicated white LED should be. | `color_temp` | yes | An integer in mireds representing the color temperature you want the light to be. | `kelvin` | yes | Alternatively, you can specify the color temperature in Kelvin. -| `color_name` | yes | A human-readable string of a color name, such as `blue` or `goldenrod`. All [CSS3 color names](https://www.w3.org/TR/css-color-3/#svg-color) are supported. +| `color_name` | yes | A human readable string of a color name, such as `blue` or `goldenrod`. All [CSS3 color names](https://www.w3.org/TR/2010/PR-css3-color-20101028/#svg-color) are supported. | `brightness` | yes | Integer between 0 and 255 for how bright the color should be. | `brightness_pct`| yes | Alternatively, you can specify brightness in percent (a number between 0 and 100). | `flash` | yes | Tell light to flash, can be either value `short` or `long`. | `effect`| yes | Applies an effect such as `colorloop` or `random`.

-In order to apply attributes to an entity, you will need to add `data:` to the configuration. See example below +In order to apply attributes to an entity you will need to add `data:` to the configuration. See example below

```yaml diff --git a/source/_components/light.mochad.markdown b/source/_components/light.mochad.markdown index 9721e9d6c9..2902cb71be 100644 --- a/source/_components/light.mochad.markdown +++ b/source/_components/light.mochad.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mochad Light" -description: "Instructions on how to integrate X10 Mochad lights into Home Assistant." +description: "Instructions how to integrate X10 Mochad lights into Home Assistant." date: 2017-07-14 11:29 sidebar: true comments: false @@ -11,14 +11,13 @@ ha_category: Light ha_release: 0.51 --- -The `mochad` light platform lets you control an X10 enabled dimmer/light device. - - +The `mochad` light platform lets you control an X10 enabled dimmer/light +device. To enable this sensor, you first have to set up the [mochad component](/components/mochad/) and then add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mochad devices: diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index e92f859fb7..33f76eb5cc 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Light" -description: "Instructions on how to setup MQTT lights within Home Assistant." +description: "Instructions how to setup MQTT lights within Home Assistant." date: 2015-11-13 08:30 sidebar: true comments: false @@ -14,8 +14,6 @@ ha_iot_class: depends The `mqtt` light platform lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values. -## {% linkable_title Configuration %} - In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`. When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`). @@ -23,7 +21,7 @@ When a state topic is not available, the light will work in optimistic mode. In Optimistic mode can be forced, even if the `state_topic` is available. Try to enable it, if experiencing incorrect light operation. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt command_topic: "office/rgb1/light/switch" @@ -57,7 +55,7 @@ brightness_value_template: required: false type: string color_temp_command_topic: - description: The MQTT topic to publish commands to change the light’s color temperature state. The color temperature command slider has a range of 153 to 500 mireds (micro reciprocal degrees). + description: The MQTT topic to publish commands to change the light’s color temperature state. The color temperature command slider has a range of 157 to 500 mireds (micro reciprocal degrees). required: false type: string color_temp_state_topic: @@ -97,12 +95,12 @@ payload_on: description: The payload that represents enabled state. required: false type: string - default: "ON" + default: ON payload_off: description: The payload that represents disabled state. required: false type: string - default: "OFF" + default: OFF qos: description: The maximum QoS level of the state topic. required: false @@ -122,7 +120,7 @@ rgb_command_topic: required: false type: string rgb_state_topic: - description: The MQTT topic subscribed to receive RGB state updates. The expected payload is the RGB values separated by commas, for example `255,0,127`. + description: The MQTT topic subscribed to receive RGB state updates. required: false type: string rgb_value_template: @@ -145,7 +143,7 @@ white_value_state_topic: description: The MQTT topic subscribed to receive white value updates. required: false type: string -white_value_template: +white_value_value_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the white value." required: false type: string @@ -187,7 +185,7 @@ payload_not_available: ## {% linkable_title Comparison of light MQTT platforms %} -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | +| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) | |-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| | Brightness | ✔ | ✔ | ✔ | | Color temperature | ✔ | ✔ | ✔ | @@ -196,7 +194,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} @@ -207,9 +204,8 @@ In this section you will find some real life examples of how to use this sensor. To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file: -{% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Office Light RGB" @@ -219,29 +215,28 @@ light: brightness_command_topic: "office/rgb1/brightness/set" rgb_state_topic: "office/rgb1/rgb/status" rgb_command_topic: "office/rgb1/rgb/set" - state_value_template: "{{ value_json.state }}" - brightness_value_template: "{{ value_json.brightness }}" - rgb_value_template: "{{ value_json.rgb | join(',') }}" + state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}" + brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}" + rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}" qos: 0 payload_on: "ON" payload_off: "OFF" optimistic: false ``` -{% endraw %} ### {% linkable_title Brightness and no RGB support %} To enable a light with brightness (no RGB version) in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Office light" - state_topic: "office/light/status" - command_topic: "office/light/switch" - brightness_state_topic: 'office/light/brightness' - brightness_command_topic: 'office/light/brightness/set' + state_topic: "office/rgb1/light/status" + command_topic: "office/rgb1/light/switch" + brightness_state_topic: 'office/rgb1/light/brightness' + brightness_command_topic: 'office/rgb1/light/brightness/set' qos: 0 payload_on: "ON" payload_off: "OFF" @@ -253,18 +248,19 @@ light: To enable a light that sends only brightness topics to turn it on, add the following to your `configuration.yaml` file. The `command_topic` is only used to send an off command in this case: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry light: - platform: mqtt name: "Brightness light" state_topic: "office/light/status" command_topic: "office/light/switch" payload_off: "OFF" - brightness_state_topic: 'office/light/brightness' - brightness_command_topic: 'office/light/brightness/set' + brightness_state_topic: 'office/rgb1/light/brightness' + brightness_command_topic: 'office/rgb1/light/brightness/set' on_command_type: 'brightness' ``` + ### {% linkable_title Implementations %} - A [basic example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light) using a nodeMCU board (ESP8266) to control its built-in LED (on/off). diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown index 6e70c8be89..bdcfaaab11 100644 --- a/source/_components/light.mqtt_json.markdown +++ b/source/_components/light.mqtt_json.markdown @@ -23,12 +23,10 @@ This platform supports on/off, brightness, RGB colors, XY colors, color temperat "color_temp": 155, "color": { "r": 255, - "g": 180, - "b": 200, - "x": 0.406, - "y": 0.301, - "h": 344.0, - "s": 29.412 + "g": 255, + "b": 255, + "x": 0.123, + "y": 0.123 }, "effect": "colorloop", "state": "ON", @@ -128,11 +126,6 @@ xy: required: false type: boolean default: false -hs: - description: Flag that defines if the light supports HS colors. - required: false - type: boolean - default: false availability_topic: description: The MQTT topic subscribed to receive availability (online/offline) updates. required: false @@ -154,12 +147,12 @@ payload_not_available:

- RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload. + XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.

## {% linkable_title Comparison of light MQTT platforms %} -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | +| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) | |-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| | Brightness | ✔ | ✔ | ✔ | | Color temperature | ✔ | ✔ | ✔ | @@ -168,7 +161,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} @@ -223,32 +215,7 @@ Home Assistant will then convert its 8bit value in the message to and from the d ```json { "brightness": 4095, - "state": "ON" -} -``` - -### {% linkable_title HS Color %} - -To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration: - -```yaml -light: - - platform: mqtt_json - name: mqtt_json_hs_light - state_topic: "home/light" - command_topic: "home/light/set" - hs: True -``` - -Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade: - -```json -{ "state": "ON", - "color": { - "h": 24.0, - "s": 100.0 - } } ``` @@ -260,6 +227,4 @@ Home Assistant expects the hue values to be in the range 0 to 360 and the satura - [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 ESP8266 and ESP32 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. - -- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well. \ No newline at end of file +- [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. diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown index 11b4372672..5a13ea9dfb 100644 --- a/source/_components/light.mqtt_template.markdown +++ b/source/_components/light.mqtt_template.markdown @@ -123,7 +123,7 @@ payload_not_available: ## {% linkable_title Comparison of light MQTT platforms %} -| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) | +| Function | [`mqtt`](https://home-assistant.io/components/light.mqtt/) | [`mqtt_json`](https://home-assistant.io/components/light.mqtt_json/) | [`mqtt_template`](https://home-assistant.io/components/light.mqtt_template/) | |-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------| | Brightness | ✔ | ✔ | ✔ | | Color temperature | ✔ | ✔ | ✔ | @@ -132,7 +132,6 @@ payload_not_available: | RGB Color | ✔ | ✔ | ✔ | | Transitions | ✘ | ✔ | ✔ | | XY Color | ✔ | ✔ | ✘ | -| HS Color | ✘ | ✔ | ✘ | | White Value | ✔ | ✔ | ✔ | ## {% linkable_title Examples %} @@ -141,7 +140,7 @@ In this section you find some real life examples of how to use this light. ### {% linkable_title Simple string payload %} -For a simple string payload with the format `state,brightness,r-g-b` (e.g., `on,255,255-255-255`), add the following to your `configuration.yaml` file: +For a simple string payload with the format `state,brightness,r-g-b` (e.g. `on,255,255-255-255`), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/light.mysensors.markdown b/source/_components/light.mysensors.markdown index 5f91aa43fe..4bf9a9d28a 100644 --- a/source/_components/light.mysensors.markdown +++ b/source/_components/light.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Light" -description: "Instructions on how to integrate MySensors lights into Home Assistant." +description: "Instructions how to integrate MySensors lights into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/light.mystrom.markdown b/source/_components/light.mystrom.markdown index 9cc2555fb1..f9ceacdb22 100644 --- a/source/_components/light.mystrom.markdown +++ b/source/_components/light.mystrom.markdown @@ -1,7 +1,7 @@ --- layout: page title: "myStrom WiFi Bulb" -description: "Instructions on how to integrate myStrom WiFi Bulbs into Home Assistant." +description: "Instructions how to integrate myStrom WiFi Bulbs into Home Assistant." date: 2017-04-18 06:00 sidebar: true comments: false diff --git a/source/_components/light.nanoleaf_aurora.markdown b/source/_components/light.nanoleaf_aurora.markdown deleted file mode 100644 index 4f066dc7b2..0000000000 --- a/source/_components/light.nanoleaf_aurora.markdown +++ /dev/null @@ -1,52 +0,0 @@ ---- -layout: page -title: "Nanoleaf Aurora Light Panel" -description: "Instructions how to integrate Nanoleaf Aurora Light Panels into Home Assistant." -date: 2018-01-04 20:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: nanoleaf_aurora_light.png -ha_category: Light -ha_iot_class: "Local Polling" -featured: false -ha_release: 0.67 ---- - -### {% linkable_title Configuration Sample %} - -To enable the Aurora lights, add the following lines to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: nanoleaf_aurora - host: 192.168.1.10 - token: xxxxxxxxxxxxxxxxxxxxx -``` - -{% configuration %} -host: - description: IP address or host-name of the device, e.g., 192.168.1.10. - required: true - type: string -token: - description: The *auth* token that you get via *POST* to */api/v1/new* - required: true - type: string -name: - description: Name of the component, make this unique if you have multiple Light Panels - required: false - type: string - default: Aurora -{% endconfiguration %} - -### {% linkable_title Getting The Auth Token %} - -1. Make sure that your Nanoleaf Aurora Panel is fully patched (as of the time of writing the latest version was 2.2.0) -2. Hold down the *ON* button on the Panel for 5 seconds; the LED will start flashing -3. Issue a *POST* request to the API endpoint, e.g., via `$ curl -i -X POST http://192.168.1.155:16021/api/v1/new` -4. The output should include the auth token like *{"auth_token":"xxxxxxxxxxxxxxxxxxxxx"}*, copy the resulting token into your configuration - -If you get a 403 Forbidden message, you probably did not press the *ON* button long enough. The time-frame to get a valid token is only 30 seconds, so you have to be quick to issue the curl request. diff --git a/source/_components/light.osramlightify.markdown b/source/_components/light.osramlightify.markdown index df1abeece9..86fa342c9b 100644 --- a/source/_components/light.osramlightify.markdown +++ b/source/_components/light.osramlightify.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Osram Lightify" -description: "Instructions on how to integrate Osram Lightify into Home Assistant." +description: "Instructions how to integrate Osram Lightify into Home Assistant." date: 2016-05-29 08:00 sidebar: true comments: false diff --git a/source/_components/light.piglow.markdown b/source/_components/light.piglow.markdown index c2664af84c..d261a81648 100644 --- a/source/_components/light.piglow.markdown +++ b/source/_components/light.piglow.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Piglow" -description: "Instructions on how to setup Piglow LED's within Home Assistant." +description: "Instructions how to setup Piglow LED's within Home Assistant." date: 2017-01-13 18:00 sidebar: true comments: false diff --git a/source/_components/light.qwikswitch.markdown b/source/_components/light.qwikswitch.markdown index 13f61413f6..e1f600c98f 100644 --- a/source/_components/light.qwikswitch.markdown +++ b/source/_components/light.qwikswitch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "QwikSwitch Light" -description: "Instructions on how to integrate Qwikswitch dimmers and relays as lights into Home Assistant." +description: "Instructions how to integrate Qwikswitch dimmers and relays as lights into Home Assistant." date: 2016-05-04 00:00 sidebar: true comments: false diff --git a/source/_components/light.rflink.markdown b/source/_components/light.rflink.markdown index cc56e6de3e..ebba128f88 100644 --- a/source/_components/light.rflink.markdown +++ b/source/_components/light.rflink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFLink Light" -description: "Instructions on how to integrate RFLink lights into Home Assistant." +description: "Instructions how to integrate RFLink lights into Home Assistant." date: 2016-01-04 sidebar: true comments: false diff --git a/source/_components/light.rfxtrx.markdown b/source/_components/light.rfxtrx.markdown index b6a1b707cf..ee5c513fe8 100644 --- a/source/_components/light.rfxtrx.markdown +++ b/source/_components/light.rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx Light" -description: "Instructions on how to integrate RFXtrx lights into Home Assistant." +description: "Instructions how to integrate RFXtrx lights into Home Assistant." date: 2015-10-08 10:15 sidebar: true comments: false diff --git a/source/_components/light.scsgate.markdown b/source/_components/light.scsgate.markdown index 07df0ca0f7..5625b43cfb 100644 --- a/source/_components/light.scsgate.markdown +++ b/source/_components/light.scsgate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SCSGate Light" -description: "Instructions on how to integrate SCSGate lights into Home Assistant." +description: "Instructions how to integrate SCSGate lights into Home Assistant." date: 2016-01-31 19:30 sidebar: true comments: false diff --git a/source/_components/light.sensehat.markdown b/source/_components/light.sensehat.markdown index 55e09b1219..b2bb9dbce5 100644 --- a/source/_components/light.sensehat.markdown +++ b/source/_components/light.sensehat.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sense HAT Light" -description: "Instructions on how to setup Sense HAT LED lights within Home Assistant." +description: "Instructions how to setup Sense HAT LED lights within Home Assistant." date: 2017-04-29 16:00 sidebar: true comments: false diff --git a/source/_components/light.tellstick.markdown b/source/_components/light.tellstick.markdown index 9c66e121ec..a81d238464 100644 --- a/source/_components/light.tellstick.markdown +++ b/source/_components/light.tellstick.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TellStick Light" -description: "Instructions on how to integrate TellStick lights into Home Assistant." +description: "Instructions how to integrate TellStick lights into Home Assistant." date: 2015-08-06 19:00 sidebar: true comments: false @@ -15,7 +15,7 @@ ha_iot_class: "Assumed State" This `tellstick` light platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) dimmers. -To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file: +To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/light.template.markdown b/source/_components/light.template.markdown index 9d1315b310..58648b4735 100755 --- a/source/_components/light.template.markdown +++ b/source/_components/light.template.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Template Light" -description: "Instructions on how to integrate Template Lights into Home Assistant." +description: "Instructions how to integrate Template Lights into Home Assistant." date: 2016-05-18 20:32 sidebar: true comments: false @@ -51,10 +51,6 @@ light: description: Name to use in the frontend. required: false type: string - entity_id: - description: A list of entity IDs so the light only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: [string, list] value_template: description: Defines a template to get the state of the light. required: false diff --git a/source/_components/light.tplink.markdown b/source/_components/light.tplink.markdown index 158504bcae..71fc4e9717 100644 --- a/source/_components/light.tplink.markdown +++ b/source/_components/light.tplink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TP-Link Bulb" -description: "Instructions on how to integrate TP-Link bulbs into Home Assistant." +description: "Instructions how to integrate TP-Link bulbs into Home Assistant." date: 2017-07-25 08:00 sidebar: true comments: false diff --git a/source/_components/light.vera.markdown b/source/_components/light.vera.markdown index dba42ffcaf..da0fc42fff 100644 --- a/source/_components/light.vera.markdown +++ b/source/_components/light.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Light" -description: "Instructions on how to integrate Vera lights into Home Assistant." +description: "Instructions how to integrate Vera lights into Home Assistant." date: 2015-10-20 21:00 sidebar: true comments: false diff --git a/source/_components/light.wemo.markdown b/source/_components/light.wemo.markdown index 1ae147ef86..df44818d04 100644 --- a/source/_components/light.wemo.markdown +++ b/source/_components/light.wemo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Belkin WeMo Lights" -description: "Instructions on how to integrate Belkin WeMo LED lights and WeMo Dimmer Switch into Home Assistant." +description: "Instructions how to integrate Belkin WeMo LED lights and WeMo Dimmer Switch into Home Assistant." date: 2016-02-20 00:45 sidebar: true comments: false diff --git a/source/_components/light.wink.markdown b/source/_components/light.wink.markdown index e537c11601..5e7b74771e 100644 --- a/source/_components/light.wink.markdown +++ b/source/_components/light.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Light" -description: "Instructions on how to setup the Wink lights within Home Assistant." +description: "Instructions how to setup the Wink lights within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/light.x10.markdown b/source/_components/light.x10.markdown index 45df065a49..b79a881441 100644 --- a/source/_components/light.x10.markdown +++ b/source/_components/light.x10.markdown @@ -1,7 +1,7 @@ --- layout: page title: "X10" -description: "Instructions on how to setup X10 devices within Home Assistant." +description: "Instructions how to setup X10 devices within Home Assistant." date: 2016-07-27 sidebar: true comments: false diff --git a/source/_components/light.xiaomi_aqara.markdown b/source/_components/light.xiaomi_aqara.markdown index 48bf4fb135..25e01ba22c 100644 --- a/source/_components/light.xiaomi_aqara.markdown +++ b/source/_components/light.xiaomi_aqara.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Light" -description: "Instructions on how to setup the Xiaomi light within Home Assistant." +description: "Instructions how to setup the Xiaomi light within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false diff --git a/source/_components/light.xiaomi_miio.markdown b/source/_components/light.xiaomi_miio.markdown index 991ff8c97f..90e5d1359b 100644 --- a/source/_components/light.xiaomi_miio.markdown +++ b/source/_components/light.xiaomi_miio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Philips Light" -description: "Instructions on how to integrate your Xiaomi Philips Lights within Home Assistant." +description: "Instructions how to integrate your Xiaomi Philips Lights within Home Assistant." date: 2017-08-26 08:45 sidebar: true comments: false @@ -13,54 +13,9 @@ ha_version: 0.53 ha_iot_class: "Local Polling" --- -The `xiaomi_miio` platform allows you to control the state of your Xiaomi Philips LED Ball Lamp, Xiaomi Philips Zhirui LED Bulb E14 Candle Lamp, Xiaomi Philips LED Ceiling Lamp and Xiaomi Philips Eyecare Lamp 2. +The `xiaomi_miio` platform allows you to control the state of your Xiaomi Philips LED Ball Lamp and Xiaomi Philips LED Ceiling Lamp. -## Features - -### Philips LED Ball Lamp and Philips Zhirui LED Candle Lamp - -* Power (on, off) -* Brightness -* Color temperature (175...333 mireds) -* Scene (1, 2, 3, 4) -* Delayed turn off (Resolution in seconds) -* Attributes - - model - - scene - - delayed_turn_off - -### Philips LED Ceiling Lamp - -* Power (on, off) -* Brightness -* Color temperature (175...370 mireds) -* Scene (1, 2, 3, 4) -* Night light mode (on, off) -* Delayed turn off (Resolution in seconds) -* Attributes - - model - - scene - - delayed_turn_off - - night_light_mode - - automatic_color_temperature - -### Philips Eyecare Smart Lamp 2 - -* Eyecare light (on, off) -* Ambient light (on, off) -* Brightness (of each light) -* Scene (1, 2, 3, 4) -* Night light mode (on, off) -* Delayed turn off (Resolution in seconds) -* Eye fatigue reminder / notification (on, off) -* Eyecare mode (on, off) -* Attributes - - model - - scene - - delayed_turn_off - - night_light_mode - - reminder - - eyecare_mode +Currently, the supported features are `on`, `off`, `set_cct` (colortemp) , `set_bright` (brightness). Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. @@ -73,99 +28,20 @@ light: name: Xiaomi Philips Smart LED Ball host: 192.168.130.67 token: YOUR_TOKEN - model: philips.light.bulb ``` Configuration variables: - **host** (*Required*): The IP of your light. - **token** (*Required*): The API token of your light. - **name** (*Optional*): The name of your light. -- **model** (*Optional*): The model of your light. Valid values are `philips.light.bulb`, `philips.light.candle2`, `philips.light.sread1`, `philips.light.ceiling` and `philips.light.zyceiling`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available. - -{% configuration %} -host: - description: The IP address of your device. - required: true - type: string -token: - description: The API token of your device. - required: true - type: string -name: - description: The name of your device. - required: false - type: string - default: Xiaomi Philips Light -model: - description: The model of your device. - required: false - type: string -{% endconfiguration %} ## {% linkable_title Platform Services %} -### {% linkable_title Service `light.xiaomi_miio_set_scene` %} +### Service fan/xiaomi_miio_set_scene Set one of the 4 available fixed scenes. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | +| `entity_id` | yes | Only act on specific light. Else targets all. | | `scene` | no | Scene, between 1 and 4. | - -### {% linkable_title Service `light.xiaomi_miio_set_delayed_turn_off` %} - -Delayed turn off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | -| `time_period` | no | Time period for the delayed turn off. | - -### {% linkable_title Service `light.xiaomi_miio_reminder_on` %} (Eyecare Smart Lamp 2 only) - -Enable the eye fatigue reminder/notification. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | - -### {% linkable_title Service `light.xiaomi_miio_reminder_off` %} (Eyecare Smart Lamp 2 only) - -Disable the eye fatigue reminder/notification. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | - -### {% linkable_title Service `light.xiaomi_miio_night_light_mode_on` %} (Eyecare Smart Lamp 2 only) - -Turn the smart night light mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | - -### {% linkable_title Service `light.xiaomi_miio_night_light_mode_off` %} (Eyecare Smart Lamp 2 only) - -Turn the smart night light mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | - -### {% linkable_title Service `light.xiaomi_miio_eyecare_mode_on` %} (Eyecare Smart Lamp 2 only) - -Turn the eyecare mode on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | - -### {% linkable_title Service `light.xiaomi_miio_eyecare_mode_off` %} (Eyecare Smart Lamp 2 only) - -Turn the eyecare mode off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|-------------------------------------------------------| -| `entity_id` | yes | Only act on a specific light. Else targets all. | diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index 8ee047b47f..b098d007d5 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yeelight Wifi Bulb" -description: "Instructions on how to setup Yeelight Wifi devices within Home Assistant." +description: "Instructions how to setup Yeelight Wifi devices within Home Assistant." date: 2016-10-29 sidebar: true comments: false @@ -35,7 +35,7 @@ light: Configuration variables: -- **ip** (*Required*): IP(s) of your Wifi bulbs +- **ip** (*Required*): IP(s) of your wifi bulbs - **name** (*Optional*): A friendly name for the device. - **transition** (*Optional*, default 350): Smooth transitions over time (in ms). - **use_music_mode** (*Optional*, default False): Enable music mode. @@ -62,18 +62,6 @@ This component is tested to work with the following models. If you have a differ - **YLDD01YL**: Lightstrip (Color) - **YLDD02YL**: Lightstrip (Color) - **MJCTD01YL**: Xiaomi Mijia Bedside Lamp - WIFI Version! -- **MJTD01YL**: Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) -- **YLXD02YL**: Yeelight Ceiling Light 4 (Jiaoyue 650) -- **YLXD01YL**: Yeelight Smart LED Ceiling Light - Youth Version -## {% linkable_title Platform Services %} -### {% linkable_title Service `light.yeelight_set_mode` %} - -Set a operation mode. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific yeelight. Else targets all. | -| `mode` | no | Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'. | diff --git a/source/_components/light.yeelightsunflower.markdown b/source/_components/light.yeelightsunflower.markdown index 0583084626..1b0e441970 100644 --- a/source/_components/light.yeelightsunflower.markdown +++ b/source/_components/light.yeelightsunflower.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yeelight Sunflower Bulb" -description: "Instructions on how to setup Yeelight Sunflower hub and bulbs within Home Assistant." +description: "Instructions how to setup Yeelight Sunflower hub and bulbs within Home Assistant." date: 2017-02-11 sidebar: true comments: false diff --git a/source/_components/light.zengge.markdown b/source/_components/light.zengge.markdown index b2f46b065d..ed15a92752 100644 --- a/source/_components/light.zengge.markdown +++ b/source/_components/light.zengge.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zengge" -description: "Instructions on how to integrate Zengge Bluetooth bulbs into Home Assistant." +description: "Instructions how to integrate Zengge Bluetooth bulbs into Home Assistant." date: 2017-01-14 08:00 sidebar: true comments: false diff --git a/source/_components/light.zha.markdown b/source/_components/light.zha.markdown index 904c1e59de..c3b0cc2d8b 100644 --- a/source/_components/light.zha.markdown +++ b/source/_components/light.zha.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ZigBee Home Automation Light" -description: "Instructions on how to setup ZigBee Home Automation lights within Home Assistant." +description: "Instructions how to setup ZigBee Home Automation lights within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false diff --git a/source/_components/light.zwave.markdown b/source/_components/light.zwave.markdown index 891f63e886..4053e61f1d 100644 --- a/source/_components/light.zwave.markdown +++ b/source/_components/light.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Light" -description: "Instructions on how to setup the Z-Wave lights within Home Assistant." +description: "Instructions how to setup the Z-Wave lights within Home Assistant." date: 2015-11-11 13:00 sidebar: true comments: false diff --git a/source/_components/lirc.markdown b/source/_components/lirc.markdown index 1c6dc56be3..6d379e04ca 100644 --- a/source/_components/lirc.markdown +++ b/source/_components/lirc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LIRC" -description: "Instructions on how to integrate IR remotes with LIRC into Home Assistant." +description: "Instructions how to integrate IR remotes with LIRC into Home Assistant." date: 2016-05-22 19:59 sidebar: true comments: false @@ -14,9 +14,9 @@ ha_release: 0.21 ha_iot_class: "Local Push" --- -[LIRC](http://www.lirc.org/) integration for Home Assistant allows you to receive signals from an infrared remote control and control actions based on the buttons you press. You can use them to set scenes or trigger any other [automation](/components/automation/). +[LIRC](http://www.lirc.org/) integration for Home Assistant allows you to receive signals from an infrared remote control and control actions based on the buttons you press. You can use them to set scenes or trigger any other [automation](https://home-assistant.io/components/automation/). -Sending IR commands is not supported in this component (yet), but can be accomplished using the [shell_command component](/components/shell_command/) in conjunction with the `irsend` command. +Sending IR commands is not supported in this component (yet), but can be accomplished using the [shell_command component](https://home-assistant.io/components/shell_command/) in conjunction with the `irsend` command. ### {% linkable_title Installation %} @@ -32,14 +32,14 @@ The configuration is slightly different : - The `hardware.conf` file is not supported, obsoleted by a new `lirc_options.conf` file and systemd unit definitions. - The former single `lirc` service is replaced with the three systemd services `lircd.service`, `lircmd.service` and `irexec.service`. There is no counterpart to the 0.9.0 `lirc` service which covered all of these. Using a separate transmitter device requires yet another service. - - 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented. - + - 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented. + For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where the update process is explained when you have updated from jessie to stretch.

### {% linkable_title Configuring LIRC %} -Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g., for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes. +Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g. for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes. Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this: @@ -98,4 +98,4 @@ automation: entity_id: group.a_lights ``` -The `button_name` data values (e.g., `KEY_0`) are set by you in the `.lircrc` file. +The `button_name` data values (e.g. `KEY_0`) are set by you in the `.lircrc` file. diff --git a/source/_components/litejet.markdown b/source/_components/litejet.markdown index fb33408953..3770bb024b 100644 --- a/source/_components/litejet.markdown +++ b/source/_components/litejet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LiteJet" -description: "Instructions on how to setup the LiteJet hub within Home Assistant." +description: "Instructions how to setup the LiteJet hub within Home Assistant." date: 2015-10-26 09:37 sidebar: true comments: false diff --git a/source/_components/lock.abode.markdown b/source/_components/lock.abode.markdown index 9dcc3cff90..c1e2860370 100644 --- a/source/_components/lock.abode.markdown +++ b/source/_components/lock.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Lock" -description: "Instructions on how to integrate Abode locks into Home Assistant." +description: "Instructions how to integrate Abode locks into Home Assistant." date: 2017-08-26 13:28 sidebar: true comments: false diff --git a/source/_components/lock.august.markdown b/source/_components/lock.august.markdown deleted file mode 100644 index eda4f37d06..0000000000 --- a/source/_components/lock.august.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "August Lock" -description: "Instructions on how to integrate your August devices into Home Assistant." -date: 2018-02-17 22:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: august.png -ha_category: Lock -ha_release: "0.64" -ha_iot_class: "Cloud Polling" ---- - -The `august` lock platform allows you to control your [August](http://august.com) lock from within Home Assistant. - -To add `august` lock to your installation, follow instructions in [August component](/components/august/). diff --git a/source/_components/lock.bmw_connected_drive.markdown b/source/_components/lock.bmw_connected_drive.markdown deleted file mode 100755 index 4c6c7a2edc..0000000000 --- a/source/_components/lock.bmw_connected_drive.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "BMW Connected Drive Lock" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." -date: 2018-02-22 23:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: bmw.png -ha_category: Lock -ha_release: 0.66 ---- - - -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. - -The lock will be automatically configured if `bmw_connected_drive` component is configured. - -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/lock.homematic.markdown b/source/_components/lock.homematic.markdown deleted file mode 100644 index d536312e2e..0000000000 --- a/source/_components/lock.homematic.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "Homematic Lock (KeyMatic)" -description: "Instructions how to integrate Homematic locks (KeyMatic) within Home Assistant." -date: 2018-01-28 03:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: homematic.png -ha_category: Lock -ha_release: 0.66 -ha_iot_class: "Local Push" ---- - -The `homematic` lock platform lets you observe and control the state of the HomeMatic [Homematic](http://www.homematic.com/) KeyMatic lock through Home Assistant. - -Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. diff --git a/source/_components/lock.isy994.markdown b/source/_components/lock.isy994.markdown index b019662a68..04109b9cd6 100644 --- a/source/_components/lock.isy994.markdown +++ b/source/_components/lock.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Lock" -description: "Instructions on how to integrate ISY994 locks into Home Assistant." +description: "Instructions how to integrate ISY994 locks into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/lock.lockitron.markdown b/source/_components/lock.lockitron.markdown index 6b320e7108..418881c169 100644 --- a/source/_components/lock.lockitron.markdown +++ b/source/_components/lock.lockitron.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lockitron Lock" -description: "Instructions on how to integrate Lockitron locks into Home Assistant." +description: "Instructions how to integrate Lockitron locks into Home Assistant." date: 2017-03-24 00:00 sidebar: true comments: false diff --git a/source/_components/lock.markdown b/source/_components/lock.markdown index 67d5b6509a..c2c3cc5530 100644 --- a/source/_components/lock.markdown +++ b/source/_components/lock.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Locks" -description: "Instructions on how to setup your locks with Home Assistant." +description: "Instructions how to setup your locks with Home Assistant." date: 2015-11-21 08:10 sidebar: true comments: false diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index ff8eb05170..8ed47ccf4a 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Lock" -description: "Instructions on how to integrate MQTT locks into Home Assistant." +description: "Instructions how to integrate MQTT locks into Home Assistant." date: 2016-02-28 15:00 sidebar: true comments: false @@ -24,7 +24,7 @@ Optimistic mode can be forced, even if state topic is available. Try to enable i To enable MQTT locks in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry lock: - platform: mqtt command_topic: "home/frontdoor/set" diff --git a/source/_components/lock.nello.markdown b/source/_components/lock.nello.markdown index 558f9098b9..53f2e26e79 100644 --- a/source/_components/lock.nello.markdown +++ b/source/_components/lock.nello.markdown @@ -16,7 +16,6 @@ ha_iot_class: "Cloud Polling" --- The `nello` platform allows you to control [Nello](https://nello.io) intercoms. - To get started you need to create a secondary Nello account and authorize it to access your lock(s).

@@ -25,26 +24,18 @@ Be aware that if you use your main account for Home Assistant you may not be abl ## {% linkable_title Configuration %} -To add your Nello locks to your installation, add the following to your `configuration.yaml` file: - ```yaml # Example configuration.yaml entry lock: - platform: nello - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: mail@example.com + password: mySecretPassword ``` -{% configuration %} -username: - description: The username of your Nello account. - required: true - type: string -password: - description: The password of your Nello account. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): The username of your Nello account. +- **password** (*Required*): The password of your Nello account. ## {% linkable_title Events %} diff --git a/source/_components/lock.sesame.markdown b/source/_components/lock.sesame.markdown index affd029f63..01d9910fda 100644 --- a/source/_components/lock.sesame.markdown +++ b/source/_components/lock.sesame.markdown @@ -15,28 +15,18 @@ ha_release: "0.47" The `sesame` platform allows you to control your [Sesame](https://candyhouse.co/) smart locks made by CANDY HOUSE, Inc. -## {% linkable_title Configuration %} - Your Sesame needs to be paired with a mobile device running the app in *virtual station* mode, or a standalone [Wi-Fi Access Point](https://candyhouse.co/collections/frontpage/products/wi-fi-access-point). Once you have remote access enabled using one of the above AND the Integration - cloud option enabled on the Sesame app for that lock settings, add the following to your `configuration.yaml` file: - ```yaml # Example configuration.yaml entry lock: - platform: sesame - email: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD + email: abc@i-lovecandyhouse.co + password: super-strong-password ``` -{% configuration %} -email: - description: The email address for your Sesame account. - required: true - type: string -password: - description: The password for your Sesame account. - required: true - type: string -{% endconfiguration %} +Configuration variables: +- **email** (*Required*): The email address for your Sesame account. +- **password** (*Required*): The password for your Sesame account. diff --git a/source/_components/lock.vera.markdown b/source/_components/lock.vera.markdown index a305038987..8baf864dfd 100644 --- a/source/_components/lock.vera.markdown +++ b/source/_components/lock.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Lock" -description: "Instructions on how to integrate Vera locks into Home Assistant." +description: "Instructions how to integrate Vera locks into Home Assistant." date: 2016-06-29 15:00 sidebar: true comments: false diff --git a/source/_components/lock.verisure.markdown b/source/_components/lock.verisure.markdown index e3c2d31e85..2e72677179 100644 --- a/source/_components/lock.verisure.markdown +++ b/source/_components/lock.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure Lock" -description: "Instructions on how to setup the Verisure locks within Home Assistant." +description: "Instructions how to setup the Verisure locks within Home Assistant." date: 2016-02-12 06:00 sidebar: true comments: false diff --git a/source/_components/lock.wink.markdown b/source/_components/lock.wink.markdown index a792e130a8..1f51751b3f 100644 --- a/source/_components/lock.wink.markdown +++ b/source/_components/lock.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Lock" -description: "Instructions on how to setup the Wink locks within Home Assistant." +description: "Instructions how to setup the Wink locks within Home Assistant." date: 2015-11-20 12:00 sidebar: true comments: false diff --git a/source/_components/lock.zwave.markdown b/source/_components/lock.zwave.markdown index ba25eacd6c..e1d6fd7b33 100644 --- a/source/_components/lock.zwave.markdown +++ b/source/_components/lock.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Lock" -description: "Instructions on how to setup the Z-Wave Locks within Home Assistant." +description: "Instructions how to setup the Z-Wave Locks within Home Assistant." date: 2016-05-07 08:00 sidebar: true comments: false diff --git a/source/_components/logbook.markdown b/source/_components/logbook.markdown index 438e747430..adabef99d1 100644 --- a/source/_components/logbook.markdown +++ b/source/_components/logbook.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Logbook" -description: "Instructions on how to enable the logbook component for Home Assistant." +description: "Instructions how to enable the logbook component for Home Assistant." date: 2015-04-25 9:23 sidebar: true comments: false @@ -11,7 +11,7 @@ logo: logbook.png ha_category: "History" --- - The logbook component provides a different perspective on the history of your house by showing all the changes that happened to your house in reverse chronological order. [See the demo for a live example](/demo/). It depends on the `recorder` component for storing the data. This means that if the [`recorder`](/components/recorder/) component is set up to use e.g., MySQL or PostgreSQL as data store, the `logbook` component does not use the default SQLite database to store data. + The logbook component provides a different perspective on the history of your house by showing all the changes that happened to your house in reverse chronological order. [See the demo for a live example](/demo/). It depends on the `recorder` component for storing the data. This means that if the [`recorder`](/components/recorder/) component is set up to use e.g. MySQL or PostgreSQL as data store, the `logbook` component does not use the default SQLite database to store data. To enable the logbook in your installation, add the following to your `configuration.yaml` file: @@ -26,8 +26,8 @@ Configuration variables: - **entities** (*Optional*): The list of entity ids to be excluded from creating logbook entries. - **domains** (*Optional*): The list of domains to be excluded from creating logbook entries. - **include** (*Optional*): Configure which components should create logbook entries. - - **entities** (*Optional*): The list of entity ids to be included in creating logbook entries. - - **domains** (*Optional*): The list of domains to be included in creating logbook entries. + - **entities** (*Optional*): The list of entity ids to be included from creating logbook entries. + - **domains** (*Optional*): The list of domains to be included from creating logbook entries. If you want to exclude messages of some entities or domains from the logbook just add the `exclude` parameter like: diff --git a/source/_components/logger.markdown b/source/_components/logger.markdown index 2f89e09096..70168cf440 100644 --- a/source/_components/logger.markdown +++ b/source/_components/logger.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Logger" -description: "Instructions on how to enable the logger component for Home Assistant." +description: "Instructions how to enable the logger component for Home Assistant." date: 2015-11-12 17:00 sidebar: true comments: false diff --git a/source/_components/lutron.markdown b/source/_components/lutron.markdown index 6799e1feb5..c946160db1 100644 --- a/source/_components/lutron.markdown +++ b/source/_components/lutron.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron" -description: "Instructions on how to use Lutron devices with Home Assistant." +description: "Instructions how to use Lutron devices with Home Assistant." date: 2017-01-28 13:00 sidebar: true comments: false @@ -18,8 +18,6 @@ ha_iot_class: "Local Polling" Presently, there's only support for communicating with the [RadioRA 2](http://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RadioRA2/Overview.aspx) Main Repeater and only handle light switches and dimmers. -## {% linkable_title Configuration %} - When configured, the `lutron` component will automatically discover the rooms and their associated switches/dimmers as configured by the RadioRA 2 software from Lutron. Each room will be treated as a separate group. To use Lutron RadioRA 2 devices in your installation, add the following to your `configuration.yaml` file using the IP address of your RadioRA 2 main repeater: diff --git a/source/_components/lutron_caseta.markdown b/source/_components/lutron_caseta.markdown index 9783766c89..912bd82dc4 100644 --- a/source/_components/lutron_caseta.markdown +++ b/source/_components/lutron_caseta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Caseta" -description: "Instructions on how to use Lutron Caseta devices with Home Assistant." +description: "Instructions how to use Lutron Caseta devices with Home Assistant." date: 2017-01-28 13:00 sidebar: true comments: false @@ -25,7 +25,7 @@ The currently supported Caseta devices are: - Scenes as Home Assistant [scenes](/components/scene.lutron_caseta/) - Lutron shades as Home Assistant [covers](/components/cover.lutron_caseta/) -When configured, the `lutron_caseta` component will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g., a dimmer called 'Bedroom Lamp' becomes `light.bedroom_lamp` in Home Assistant. +When configured, the `lutron_caseta` component will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g. a dimmer called 'Bedroom Lamp' becomes `light.bedroom_lamp` in Home Assistant. To use Lutron Caseta devices in your installation, you must first log in to your Lutron account and generate a certificate that allows Home Assistant to connect to your bridge. This can be accomplished by downloading and executing [this script](/assets/get_lutron_cert.zip), which will generate three files: caseta.key, caseta.crt, caseta-bridge.crt when you run it. See the instructions at the top of the script for more information. diff --git a/source/_components/mailbox.asterisk_mbox.markdown b/source/_components/mailbox.asterisk_mbox.markdown index 15d5ec455f..25a0859aa9 100644 --- a/source/_components/mailbox.asterisk_mbox.markdown +++ b/source/_components/mailbox.asterisk_mbox.markdown @@ -1,16 +1,15 @@ --- layout: page title: "Asterisk Voicemail Mailbox" -description: "Instructions on how to integrate an Asterisk Voicemail within Home Assistant." +description: "Instructions how to integrate an Asterisk Voicemail within Home Assistant." date: 2017-06-30 18:30 sidebar: true comments: false sharing: true footer: true -logo: asterisk.png ha_category: Mailbox ha_version: 0.51 --- -The Asterisk Voicemail Mailbox provides visual and audio access to voicemail on the Asterisk PBX server. This mailbox is enabled automatically through the [Asterisk Voicemail component](/components/asterisk_mbox/) configuration. +The Asterisk Voicemail Mailbox provides visual and audio access to voicemail on the Asterisk PBX server. This mailbox is enabled automatically through the [Asterisk Voicemail component](/components/asterisk_mbox) configuration. diff --git a/source/_components/mailbox.markdown b/source/_components/mailbox.markdown index 16bfa603b8..28f4d77f43 100644 --- a/source/_components/mailbox.markdown +++ b/source/_components/mailbox.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mailbox" -description: "Instructions on how to setup your mailboxes with Home Assistant." +description: "Instructions how to setup your mailboxes with Home Assistant." date: 2017-06-30 18:30 sidebar: true comments: false diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown index 2f13d2c062..78764d7507 100644 --- a/source/_components/mailgun.markdown +++ b/source/_components/mailgun.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mailgun" -description: "Instructions on how to add Mailgun mail notifications to Home Assistant." +description: "Instructions how to add Mailgun mail notifications to Home Assistant." date: 2017-02-06 16:52 sidebar: true comments: false diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown deleted file mode 100644 index 1047d54053..0000000000 --- a/source/_components/matrix.markdown +++ /dev/null @@ -1,136 +0,0 @@ ---- -layout: page -title: "Matrix" -description: "Matrix chatbot support" -date: 2018-03-25 18:50 -sidebar: true -comments: false -sharing: true -footer: true -logo: matrix.png -ha_category: Hub -ha_version: 0.69 ---- - -This component allows you to send messages to matrix rooms, as well as to react to messages in matrix rooms. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. - -```yaml -# Example configuration.yaml entry -matrix: - homeserver: https://matrix.org - username: "@my_matrix_user:matrix.org" - password: supersecurepassword - rooms: - - "#hasstest:matrix.org" - commands: - - word: my_command - name: my_command -``` - -Configuration variables: - -{% configuration %} -username: - description: "The matrix username that home assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." - required: true - type: string -password: - description: The password for your Matrix account. - required: true - type: string -homeserver: - description: "The full URL for your homeserver. If you use the defauls matrix.org homeserver, this is 'https://matrix.org'." - required: true - type: string -verify_ssl: - description: Verify the homeservers certificate. - required: false - type: string - default: true -rooms: - description: "The list of rooms that the bot should join and listen for commands (see below) in. While you can limit the list of rooms that a certain command applies to on a per-command basis (see below), you must still list all rooms here that commands should be received in. Rooms can be given either by their internal ID (e.g., '!cURbafjkfsMDVwdRDQ:matrix.org') or any of their aliases (e.g., '#matrix:matrix.org')." - required: false - type: [string] - default: empty -commands: - description: "A list of commands that the bot should listen for. If a command is triggered (via its *word* or *expression*, see below), an event is fired that you can handle using automations. Every command consists of these possible configuration options:" - required: false - type: map - default: empty - keys: - word: - description: "Specifies a word that the bot should listen for. If you specify 'my_command' here, the bot will react to any message starting with '!my_command'." - required: false - type: string - expression: - description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression." - required: false - type: string - name: - description: "The name of the command. This will be an attribute of the event that is fired when this command triggers." - required: true - type: string - rooms: - description: "A list of rooms that the bot should listen for this command in. If this is not given, the *rooms* list from the main config is used. Please note that every room in this list must also be in the main *room* config." - required: false - type: [string] - default: empty -{% endconfiguration %} - -### {% linkable_title Event Data %} - -If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command that has no name set, the `name` field contains the word instead. - -If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message. - -### {% linkable_title Comprehensive Configuration Example %} - -This example also uses the [matrix `notify` platform](/components/notify.matrix/). - -```yaml -# The Matrix component -matrix: - homeserver: https://matrix.org - username: "@my_matrix_user:matrix.org" - password: supersecurepassword - rooms: - - "#hasstest:matrix.org" - - "#someothertest:matrix.org" - commands: - - word: testword - rooms: - - "#someothertest:matrix.org" - - expression: "My name is (?P.*)" - name: introduction - -notify: - - name: matrix_notify - platform: matrix - default_room: "#hasstest:matrix.org" - -automation: - - alias: 'React to !testword' - trigger: - platform: event - event_type: matrix_command - event_data: - command: testword - action: - service: notify.matrix_notify - data: - message: 'It looks like you wrote !testword' - - alias: 'React to an introduction' - trigger: - platform: event - event_type: matrix_command - event_data: - command: introduction - action: - service: notify.matrix_notify - data_template: - message: "Hello {{trigger.event.data.name}}" -``` - -This configuration will: -- Listen for "!testword" in the room "#someothertest:matrix.org" (and *only*) there. If such a message is encountered, it will answer with "It looks like you wrote !testword" into the "#hasstest:matrix.org" channel. -- Listen in both rooms for any message matching "My name is " and answer with "Hello " into "#hasstest:matrix.org". diff --git a/source/_components/maxcube.markdown b/source/_components/maxcube.markdown index 7439d2d19f..c9645e9fc5 100644 --- a/source/_components/maxcube.markdown +++ b/source/_components/maxcube.markdown @@ -25,42 +25,13 @@ Supported Devices: - MAX! Window Sensor (tested) - MAX! Wall Thermostat (tested) -### {% linkable_title One Gateway %} - A `maxcube` section must be present in the `configuration.yaml` file and contain the following options as required: ```yaml # Example configuration.yaml entry maxcube: - gateways: - - host: 192.168.0.20 + host: 192.168.0.20 ``` - -### {% linkable_title Multiple Gateways %} - -```yaml -# Example configuration.yaml entry -maxcube: - gateways: - - host: 192.168.0.20 - port: 62910 - - host: 192.168.0.21 - port: 62910 -``` - -{% configuration %} - host: - description: The IP address of the eQ-3 MAX! Cube to use. - required: true - type: string - port: - description: The UDP port number. - required: false - type: int - default: 62910 - scan_interval: - description: The update interval in seconds - required: false - type: int - default: 300 -{% endconfiguration %} +Configuration variables: +- **host** (*Required*): The IP address of the eQ-3 MAX! Cube to use. +- **port** (*Optional*): The UDP port number. Defaults to `62910`. diff --git a/source/_components/media_extractor.markdown b/source/_components/media_extractor.markdown index 8386b0390a..114d70f3fe 100644 --- a/source/_components/media_extractor.markdown +++ b/source/_components/media_extractor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Media Extractor" -description: "Instructions on how to integrate the Media Extractor into Home Assistant." +description: "Instructions how to integrate the Media Extractor into Home Assistant." date: 2017-07-12 07:00 sidebar: true comments: false diff --git a/source/_components/media_player.anthemav.markdown b/source/_components/media_player.anthemav.markdown index 8e59296db9..945fdc0c64 100644 --- a/source/_components/media_player.anthemav.markdown +++ b/source/_components/media_player.anthemav.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Anthem A/V Receivers" -description: "Instructions on how to integrate Anthem A/V Receivers into Home Assistant." +description: "Instructions how to integrate Anthem A/V Receivers into Home Assistant." date: 2016-12-31 23:11 sidebar: true comments: false diff --git a/source/_components/media_player.apple_tv.markdown b/source/_components/media_player.apple_tv.markdown index 7b16307760..383afdae98 100644 --- a/source/_components/media_player.apple_tv.markdown +++ b/source/_components/media_player.apple_tv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Apple TV Media Player" -description: "Instructions on how to integrate Apple TV devices into Home Assistant." +description: "Instructions how to integrate Apple TV devices into Home Assistant." date: 2017-02-08 07:11 sidebar: true comments: false diff --git a/source/_components/media_player.blackbird.markdown b/source/_components/media_player.blackbird.markdown deleted file mode 100644 index 99873f1cc0..0000000000 --- a/source/_components/media_player.blackbird.markdown +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: page -title: "Blackbird 8x8 HDMI Matrix Switch" -description: "Instructions on how to integrate Monoprice Blackbird 4k 8x8 HDBaseT Matrix Switch into Home Assistant." -date: 2018-03-29 16:35 -sidebar: true -comments: false -sharing: true -footer: true -logo: monoprice.svg -ha_category: Media Player -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -The `blackbird` platform allows you to control [Monoprice Blackbird Matrix Switch](https://www.monoprice.com/product?p_id=21819) using a serial connection. - -To add a Blackbird device to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: blackbird - type: serial - port: /dev/ttyUSB0 - zones: - 1: - name: Living Room - sources: - 3: - name: BluRay -``` - -{% configuration %} -type: - description: The type of device connection - serial or socket - required: true - type: string -port: - description: The serial port to which Blackbird matrix switch is connected. Either port or host must be defined. - required: optional - type: string -host: - description: The IP address of the Blackbird matrix switch. Either port or host must be defined. - required: optional - type: string -zones: - description: This is the list of zones available. Valid zones are 1,2,3,4,5,6,7,8. Each zone must have a name assigned to it. - required: true - type: int - keys: - name: - description: The name of the zone. -sources: - description: The list of sources available. Valid source numbers are 1,2,3,4,5,6,7,8. Each source number corresponds to the input number on the Blackbird matrix switch. Similar to zones, each source must have a name assigned to it. - required: true - type: int - keys: - name: - description: The name of the source. -{% endconfiguration%} - -### {% linkable_title Service `BLACKBIRD_SETALLZONES` %} - -Set all zones to the same input source. This service allows you to immediately synchronize all the TVs in your home. Regardless of `entity_id` provided, all zones will be updated. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String that points at an `entity_id` of a zone. -| `source` | no | String of source name to activate. diff --git a/source/_components/media_player.bluesound.markdown b/source/_components/media_player.bluesound.markdown index 69372c8c33..f711cbe897 100644 --- a/source/_components/media_player.bluesound.markdown +++ b/source/_components/media_player.bluesound.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Bluesound" -description: "Instructions on how to integrate Bluesound devices into Home Assistant." +description: "Instructions how to integrate Bluesound devices into Home Assistant." date: 2017-04-21 19:00 sidebar: true comments: false @@ -46,37 +46,3 @@ media_player: port: 11000 - host: 192.168.1.131 ``` - -### {% linkable_title Service `bluesound_join` %} - -Group players together under a single master speaker. That will make a new group or join to exists group. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `master` | no | A single `entity_id` that will become/hold the master speaker. -| `entity_id` | no | String or list of a single `entity_id` that will group to master speaker. - -### {% linkable_title Service `bluesound_unjoin` %} - -Remove one or more speakers from a group of speakers. If no `entity_id` is provided, all speakers are unjoined. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of `entity_id`s that will be separated from their master speaker. - -### {% linkable_title Service `bluesound_set_sleep_timer` %} - -Sets a timer that will turn off the speaker. For each time you call this it will increase the time by one step. The steps are (in minutes): 15, 30, 45, 60, 90, 0. -If you increase an ongoing timer of for example 13 minutes, it will increase it to 15. If the timer is set to 90, it will remove the time (hence the 0). - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of `entity_id`s that will have their timers set. - -### {% linkable_title Service `bluesound_clear_sleep_timer` %} - -Clear the sleep timer on a speaker, if one is set. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. diff --git a/source/_components/media_player.cast.markdown b/source/_components/media_player.cast.markdown index 13d18534ba..c97f391dab 100644 --- a/source/_components/media_player.cast.markdown +++ b/source/_components/media_player.cast.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Google Cast" -description: "Instructions on how to integrate Google Cast into Home Assistant." +description: "Instructions how to integrate Google Cast into Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false diff --git a/source/_components/media_player.channels.markdown b/source/_components/media_player.channels.markdown deleted file mode 100644 index 12138976e2..0000000000 --- a/source/_components/media_player.channels.markdown +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: page -title: "Channels" -description: "Instructions on how to integrate Channels into Home Assistant." -date: 2018-03-06 11:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: channels.png -ha_category: Media Player -ha_release: 0.65.0 -ha_iot_class: "Local Polling" ---- - - -The Channels platform allows you to control [Channels](https://getchannels.com/) from Home Assistant. Play, pause, seek, or skip commercials on an instance of Channels that is running on your network. - -Your favorite channels will appear as sources in the Source List in Home Assistant. - -To add Channels to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: channels - name: Family Room Channels - host: 192.168.1.50 -``` - -Configuration variables: - -- **host** (*Required*): The IP of the device running Channels, e.g., 192.168.1.50 -- **port** (*Optional*): The port where Channels is accessible, defaults to 57000. -- **name** (*Optional*): The name of the Channels instance in Home Assistant, eg. Family Room Channels. Defaults to Channels. - -### {% linkable_title Service `channels_seek_forward` %} - -Seek forward by the number of seconds currently set in settings on the instance of Channels. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String that points at `entity_id` of Channels app. - - -### {% linkable_title Service `channels_seek_backward` %} - -Seek backward by the number of seconds currently set in settings on the instance of Channels. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String that points at `entity_id` of Channels app. - -### {% linkable_title Service `channels_seek_by` %} - -Seek forward or backward by a provided number of seconds. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String that points at `entity_id` of Channels app. -| `seconds` | no | Number of seconds to seek in the timeline by. Negative seconds seeks backwards. diff --git a/source/_components/media_player.clementine.markdown b/source/_components/media_player.clementine.markdown index 781ac147a5..c730daf5d9 100644 --- a/source/_components/media_player.clementine.markdown +++ b/source/_components/media_player.clementine.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Clementine Music Player" -description: "Instructions on how to integrate Clementine Music Player within Home Assistant." +description: "Instructions how to integrate Clementine Music Player within Home Assistant." date: 2017-02-11 17:15 sidebar: true comments: false diff --git a/source/_components/media_player.cmus.markdown b/source/_components/media_player.cmus.markdown index 1415de1e54..e798889686 100644 --- a/source/_components/media_player.cmus.markdown +++ b/source/_components/media_player.cmus.markdown @@ -1,7 +1,7 @@ --- layout: page title: "cmus" -description: "Instructions on how to integrate cmus Music Player into Home +description: "Instructions how to integrate cmus Music Player into Home Assistant." date: 2016-06-17 18:45 sidebar: true @@ -23,19 +23,19 @@ media_player: - platform: cmus ``` -If cmus is running on a remote server: +if cmus is running on a remote server: ```yaml # Example configuration.yaml entry media_player: - platform: cmus - host: IP_ADDRESS_OF_CMUS_PLAYER - password: YOUR_PASSWORD + host: IP_ADDRESS + password: PASSWORD ``` Configuration variables: -- **host** (*Optional*): Hostname or IP address of the machine running cmus. Note if a remote cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set. +- **host** (*Optional*): Hostname or IP address of the machine running cmus. Note if a remote cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set. - **password** (*Required if host is set*): Password for your cmus player. - **port** (*Optional*): Port of the cmus socket, defaults to 3000. - **name** (*Optional*): The name you'd like to give the cmus player in Home Assistant diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown index ebfe0177ba..b8c0e38013 100644 --- a/source/_components/media_player.denon.markdown +++ b/source/_components/media_player.denon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Denon Network Receivers" -description: "Instructions on how to integrate Denon Network Receivers into Home Assistant." +description: "Instructions how to integrate Denon Network Receivers into Home Assistant." date: 2015-09-08 09:00 sidebar: true comments: false diff --git a/source/_components/media_player.denonavr.markdown b/source/_components/media_player.denonavr.markdown index ee1c434ff4..31ad2b0160 100644 --- a/source/_components/media_player.denonavr.markdown +++ b/source/_components/media_player.denonavr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Denon AVR Network Receivers" -description: "Instructions on how to integrate Denon AVR Network Receivers into Home Assistant." +description: "Instructions how to integrate Denon AVR Network Receivers into Home Assistant." date: 2015-09-08 09:00 sidebar: true comments: false diff --git a/source/_components/media_player.directv.markdown b/source/_components/media_player.directv.markdown index f7f6559619..2cd2c7f44d 100644 --- a/source/_components/media_player.directv.markdown +++ b/source/_components/media_player.directv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DirecTV" -description: "Instructions on how to integrate DirecTV receivers into Home Assistant." +description: "Instructions how to integrate DirecTV receivers into Home Assistant." date: 2016-07-19 01:0+0000 sidebar: true comments: false diff --git a/source/_components/media_player.dunehd.markdown b/source/_components/media_player.dunehd.markdown index bbf646f0fb..76c084bcf4 100644 --- a/source/_components/media_player.dunehd.markdown +++ b/source/_components/media_player.dunehd.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DuneHD media players" -description: "Instructions on how to integrate DuneHD media players into Home Assistant." +description: "Instructions how to integrate DuneHD media players into Home Assistant." date: 2016-11-26 09:00 sidebar: true comments: false diff --git a/source/_components/media_player.emby.markdown b/source/_components/media_player.emby.markdown index 2f12bc1d80..ca77cbde1a 100644 --- a/source/_components/media_player.emby.markdown +++ b/source/_components/media_player.emby.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Emby" -description: "Instructions on how to integrate Emby into Home Assistant." +description: "Instructions how to integrate Emby into Home Assistant." date: 2016-10-13 22:00 sidebar: true comments: false diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown index 0abf2b3dad..855333def8 100644 --- a/source/_components/media_player.firetv.markdown +++ b/source/_components/media_player.firetv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "FireTV" -description: "Instructions on how to integrate Fire-TV into Home Assistant." +description: "Instructions how to integrate Fire-TV into Home Assistant." date: 2015-10-23 18:00 sidebar: true comments: false @@ -16,7 +16,7 @@ ha_iot_class: "Local Polling" The `firetv` platform allows you to control a [Amazon Fire TV/stick](http://www.amazon.com/Amazon-DV83YW-Fire-TV/dp/B00U3FPN4U). -The python-firetv Python 2.x module with its helper script that exposes an HTTP server to fetch state and perform actions is used. +The python-firetv Python 2.x module with its helper script that exposes a HTTP server to fetch state and perform actions is used. Steps to configure your Amazon Fire TV stick with Home Assistant: diff --git a/source/_components/media_player.frontier_silicon.markdown b/source/_components/media_player.frontier_silicon.markdown index c7887e9c8b..0c6a5843fa 100644 --- a/source/_components/media_player.frontier_silicon.markdown +++ b/source/_components/media_player.frontier_silicon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Frontier Silicon Internet Radios" -description: "Instructions on how to integrate Frontier Silicon Internet Radios into Home Assistant." +description: "Instructions how to integrate Frontier Silicon Internet Radios into Home Assistant." date: 2017-02-04 00:01 sidebar: true comments: false diff --git a/source/_components/media_player.gpmdp.markdown b/source/_components/media_player.gpmdp.markdown index c65ed0dff0..7207e0e092 100644 --- a/source/_components/media_player.gpmdp.markdown +++ b/source/_components/media_player.gpmdp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Google Play Music Desktop Player" -description: "Instructions on how to integrate GPMDP into Home Assistant." +description: "Instructions how to integrate GPMDP into Home Assistant." date: 2016-05-09 08:00 sidebar: true comments: false diff --git a/source/_components/media_player.itunes.markdown b/source/_components/media_player.itunes.markdown index 6885a33385..fd357eb8ec 100644 --- a/source/_components/media_player.itunes.markdown +++ b/source/_components/media_player.itunes.markdown @@ -1,7 +1,7 @@ --- layout: page title: "iTunes" -description: "Instructions on how to integrate iTunes into Home Assistant." +description: "Instructions how to integrate iTunes into Home Assistant." date: 2015-06-22 11:00 sidebar: true comments: false diff --git a/source/_components/media_player.kodi.markdown b/source/_components/media_player.kodi.markdown index 83689d4c1a..556812292c 100644 --- a/source/_components/media_player.kodi.markdown +++ b/source/_components/media_player.kodi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Kodi" -description: "Instructions on how to integrate Kodi into Home Assistant." +description: "Instructions how to integrate Kodi into Home Assistant." date: 2015-06-22 11:00 sidebar: true comments: false @@ -17,9 +17,7 @@ ha_iot_class: "Local Push" The `kodi` platform allows you to control a [Kodi](http://kodi.tv/) multimedia system from Home Assistant. -The preferred way to set up the Kodi platform is by enabling the [discovery component](https://www.home-assistant.io/components/discovery/) which requires enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation. - -In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file: +To add Kodi to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/media_player.lg_netcast.markdown b/source/_components/media_player.lg_netcast.markdown index 7a60e23578..138eaec8bd 100644 --- a/source/_components/media_player.lg_netcast.markdown +++ b/source/_components/media_player.lg_netcast.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LG Netcast TV" -description: "Instructions on how to integrate a LG TV (Netcast 3.0 & 4.0) within Home Assistant." +description: "Instructions how to integrate a LG TV (Netcast 3.0 & 4.0) within Home Assistant." date: 2016-05-12 23:22 sidebar: true comments: false diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown index 40b642dc0c..62c1af3a4c 100644 --- a/source/_components/media_player.markdown +++ b/source/_components/media_player.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Media Player" -description: "Instructions on how to setup your media players with Home Assistant." +description: "Instructions how to setup your media players with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false @@ -9,7 +9,7 @@ sharing: true footer: true --- -Interacts with media players on your network. Please check the right sidebar for a full list of supported devices. +Interacts with media players on your network. Please check the sidebar for a full list of supported devices. ## {% linkable_title Services %} @@ -20,28 +20,28 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | ---------------------- | -------- | ------------------------------------------------ | | `entity_id` | yes | Target a specific media player. Defaults to all. | -#### {% linkable_title Service `media_player.volume_mute` %} +#### {% linkable_title Service `media_player/volume_mute` %} | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------| | `entity_id` | yes | Target a specific media player. Defaults to all. | | `is_volume_muted` | no | True/false for mute/unmute | -#### {% linkable_title Service `media_player.volume_set` %} +#### {% linkable_title Service `media_player/volume_set` %} | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------| | `entity_id` | yes | Target a specific media player. Defaults to all. | | `volume_level` | no | Float for volume level | -#### {% linkable_title Service `media_player.media_seek` %} +#### {% linkable_title Service `media_player/media_seek` %} | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------------| | `entity_id` | yes | Target a specific media player. Defaults to all. | | `seek_position` | no | Position to seek to. The format is platform dependent. | -#### {% linkable_title Service `media_player.play_media` %} +#### {% linkable_title Service `media_player/play_media` %} | Service data attribute | Optional | Description | | -----------------------| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -49,14 +49,14 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, | `media_content_id` | no | A media identifier. The format of this is component dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. | | `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. | -#### {% linkable_title Service `media_player.select_source` %} +#### {% linkable_title Service `media_player/select_source` %} | Service data attribute | Optional | Description | | ---------------------- | -------- | ---------------------------------------------------- | | `entity_id` | yes | Target a specific media player. Defaults to all. | | `source` | no | Name of the source to switch to. Platform dependent. | -#### {% linkable_title Service `media_player.shuffle_set` %} +#### {% linkable_title Service `media_player/shuffle_set` %} Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](/components/media_player.mpd/), [Kodi](/components/media_player.kodi/), [Squeezebox](/components/media_player.squeezebox/) and [Universal](/components/media_player.universal/). diff --git a/source/_components/media_player.mediaroom.markdown b/source/_components/media_player.mediaroom.markdown deleted file mode 100644 index 39a417a5f3..0000000000 --- a/source/_components/media_player.mediaroom.markdown +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: page -title: "Mediaroom" -description: "Instructions on how to integrate Mediaroom Set-Top Boxes into Home Assistant." -date: 2018-01-22 22:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: mediaroom.png -ha_category: Media Player -ha_iot_class: "Local Polling" -ha_release: "0.63" ---- - -The `mediaroom` component allows you to control a [Mediaroom](https://en.wikipedia.org/wiki/Ericsson_Mediaroom) Set-Top Box (STB) from Home Assistant. - -To add a Mediaroom STB to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: mediaroom -``` - -{% configuration %} - host: - description: The hostname or IP address of the device. - required: false - type: string - default: Tries to discovery your device. - name: - description: The name of the device used in the frontend. - required: false - type: string - default: Mediaroom STB - optimistic: - description: In case the component cannot determine the status of the box, consider the box always ON. - required: false - type: boolean - default: false -{% endconfiguration %} - -Notice that all parameters are optional, and discovery should configure everything for you. - -#### {% linkable_title Using the Mediaroom component %} - -The component has been developed for Portuguese TV operators currently using the Mediaroom platform, but should also work in other deployments in which the STB can be controlled remotely through a socket on port 8082. - -In most cases (single STB) you just need to setup the *platform* and discovery will do the rest. - -If the STB is on the same network segment as Home Assistant, it can determine whether the device is turned on or off. Without this, the component will fail to determine the Set-top box status, and you are required to add the *optimistic* configuration variable. - -## {% linkable_title Examples %} - -### {% linkable_title Example `press_button` script %} - -The `play_media` function can be used in scripts to change channels and emulate button pressing from a remote control. - -{% raw %} -```yaml -# Example play_media script -# -press_button: - sequence: - service: media_player.play_media - data_template: - entity_id: media_player.mediaroom_stb - media_content_id: "{{ value }}" - media_content_type: "channel" -``` -{% endraw %} - -### {% linkable_title Example configuration with 2 STB %} - -```yaml -# Example configuration.yaml entry for 2 STB -media_player: - - platform: mediaroom - host: 192.168.1.64 - name: Living Room STB - - platform: mediaroom - host: 192.168.1.65 - name: Bedroom STB -``` diff --git a/source/_components/media_player.mpchc.markdown b/source/_components/media_player.mpchc.markdown index 98f6846f3a..4e4c187d0f 100644 --- a/source/_components/media_player.mpchc.markdown +++ b/source/_components/media_player.mpchc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MPC-HC" -description: "Instructions on how to integrate MPC-HC into Home Assistant." +description: "Instructions how to integrate MPC-HC into Home Assistant." date: 2016-07-27 21:21 sidebar: true comments: false diff --git a/source/_components/media_player.mpd.markdown b/source/_components/media_player.mpd.markdown index 51888be2b2..b561797aac 100644 --- a/source/_components/media_player.mpd.markdown +++ b/source/_components/media_player.mpd.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Music Player Daemon (MPD)" -description: "Instructions on how to integrate Music Player Daemon into Home Assistant." +description: "Instructions how to integrate Music Player Daemon into Home Assistant." date: 2016-09-30 23:06 sidebar: true comments: false diff --git a/source/_components/media_player.nad.markdown b/source/_components/media_player.nad.markdown index 41684f7212..b35a5ea99b 100644 --- a/source/_components/media_player.nad.markdown +++ b/source/_components/media_player.nad.markdown @@ -1,7 +1,7 @@ --- layout: page title: "NAD" -description: "Instructions on how to integrate NAD receivers into Home Assistant." +description: "Instructions how to integrate NAD receivers into Home Assistant." date: 2016-01-05 20:00 sidebar: true comments: false diff --git a/source/_components/media_player.nadtcp.markdown b/source/_components/media_player.nadtcp.markdown index e673e4472d..98a160f76b 100644 --- a/source/_components/media_player.nadtcp.markdown +++ b/source/_components/media_player.nadtcp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "NAD tcp" -description: "Instructions on how to integrate the NAD D 7050 or C338 digital amplifiers into Home Assistant." +description: "Instructions how to integrate the NAD D 7050 or C338 digital amplifiers into Home Assistant." date: 2017-06-07 20:00 sidebar: true comments: false diff --git a/source/_components/media_player.onkyo.markdown b/source/_components/media_player.onkyo.markdown index 19854cfe60..e78075c01a 100644 --- a/source/_components/media_player.onkyo.markdown +++ b/source/_components/media_player.onkyo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Onkyo" -description: "Instructions on how to integrate Onkyo and some Pioneer receivers into Home Assistant." +description: "Instructions how to integrate Onkyo and some Pioneer receivers into Home Assistant." date: 2016-03-30 08:00 sidebar: true comments: false @@ -16,8 +16,6 @@ ha_iot_class: "Local Polling" The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/) and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. Please be aware that you need to enable "Network Standby" for this component to work in your Hardware. -## {% linkable_title Configuration %} - To add an Onkyo or Pioneer receiver to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -30,28 +28,11 @@ media_player: pc: 'HTPC' ``` -{% configuration %} -host: - description: IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers. - required: false - type: string -name: - description: Name of the device. (*Required if host is specified*) - required: false - type: string -max_volume: - description: Maximum volume. Defaults to 80. - required: false - type: number -sources: - description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified. - required: false - type: list -zone2: - description: Enables control for the receiver's second zone. - required: false - type: bool -{% endconfiguration %} +Configuration variables: + +- **host** (*Optional*): IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers. +- **name** (*Required if host is specified*): Name of the device. +- **sources** (*Optional*): A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified. List of source names: diff --git a/source/_components/media_player.openhome.markdown b/source/_components/media_player.openhome.markdown index ae10d32d3c..e174968827 100644 --- a/source/_components/media_player.openhome.markdown +++ b/source/_components/media_player.openhome.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Linn / Openhome" -description: "Instructions on how to integrate Linn Ds and Openhome renderers into Home Assistant." +description: "Instructions how to integrate Linn Ds and Openhome renderers into Home Assistant." date: 2017-02-21 22:40 sidebar: true comments: false diff --git a/source/_components/media_player.panasonic_viera.markdown b/source/_components/media_player.panasonic_viera.markdown index 2877848601..0e58bcb390 100644 --- a/source/_components/media_player.panasonic_viera.markdown +++ b/source/_components/media_player.panasonic_viera.markdown @@ -44,33 +44,7 @@ media_player: Configuration variables: -- **host** (*Required*): The IP of the Panasonic Viera TV, e.g., `192.168.0.10`. +- **host** (*Required*): The IP of the Panasonic Viera TV, e.g. `192.168.0.10`. - **port** (*Optional*): The port number of your Panasonic Viera TV. Defaults to `55000`. -- **mac** (*Optional*): The MAC address of your Panasonic Viera TV, e.g., `AA:BB:CC:DD:99:1A`. +- **mac** (*Optional*): The MAC address of your Panasonic Viera TV, e.g. `AA:BB:CC:DD:99:1A`. - **name** (*Optional*): The name you would like to give to the Panasonic Viera TV. - -### {% linkable_title Example `play_media` script %} - -The `play_media` function can be used to open web pages and other media types (images, movies) in the TV web browser. - -```yaml -# Example play_media script that can be triggered when someone is detected at the door -# -script: - front_door_camera: - alias: "Show who's at the door" - sequence: - - service: media_player.turn_on - data: - entity_id: media_player.living_room_tv - - service: media_player.play_media - data: - entity_id: media_player.living_room_tv - media_content_type: "url" - media_content_id: "http://google.com" - - delay: - seconds: 5 - - service: media_player.media_stop - data: - entity_id: media_player.living_room_tv -``` diff --git a/source/_components/media_player.pandora.markdown b/source/_components/media_player.pandora.markdown index 76c0406125..5f0098cff8 100644 --- a/source/_components/media_player.pandora.markdown +++ b/source/_components/media_player.pandora.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pandora" -description: "Instructions on how to integrate Pandora radio into Home Assistant." +description: "Instructions how to integrate Pandora radio into Home Assistant." date: 2016-06-10 19:59 sidebar: true comments: false @@ -14,17 +14,17 @@ ha_release: 0.22 ha_iot_class: "Local Polling" --- -If you have a Pandora account, you can control it from Home Assistant with this media player. +If you have a Pandora account, you can control it from Home Assistant with this media player. ### {% linkable_title Installation of Pianobar %} This media player uses the [Pianobar command-line Pandora client](https://github.com/PromyLOPh/pianobar), which you have to install separately. This can be done on a Raspberry Pi 2/3 with Raspbian Jessie as follows . _(Note: Other platforms may have different installation processes)_ -The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with ffmpeg, so you should make sure you go through the backport process documented in [The FFmpeg component](/components/ffmpeg/) before doing this. Install the following basic dependencies: +The version of pianobar that comes with Jessie has a bug, so you have to build a more recent version. The latest version depends on a recent version of libraries associated with ffmpeg, so you should make sure you go through the backport process documented in [The FFmpeg component](https://home-assistant.io/components/ffmpeg/) before doing this. Install the following basic dependencies: ```bash -$ sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config libcurl4-openssl-dev +$ sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson0-dev make pkg-config libcurl4-openssl-dev ``` And now install the backported ffmpeg-related libraries (note that if you're using an older version of ffmpeg for other things on this machine, you may encounter issues after doings this): @@ -61,7 +61,7 @@ media_player: - platform: pandora ``` -That's it! Now you will find a media player. If you click it you will find all your stations listed as different sources. If you switch to one, the station will begin playing. +That's it! Now you will find a media player. If you click it you will find all your stations listed as different sources. If you switch to one, the station will begin playing.

diff --git a/source/_components/media_player.philips_js.markdown b/source/_components/media_player.philips_js.markdown index e776db61a3..d7e663e8e5 100644 --- a/source/_components/media_player.philips_js.markdown +++ b/source/_components/media_player.philips_js.markdown @@ -29,5 +29,3 @@ Configuration variables: - **host** (*Required*): IP address of TV. - **name** (*Optional*): The name you would like to give to the Philips TV. -- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol). -- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1`. diff --git a/source/_components/media_player.pioneer.markdown b/source/_components/media_player.pioneer.markdown index 6bc6d1a5b0..66086c5ded 100644 --- a/source/_components/media_player.pioneer.markdown +++ b/source/_components/media_player.pioneer.markdown @@ -29,7 +29,7 @@ Configuration variables: - **host** (*Required*): The IP of the Pioneer device, eg. `192.168.0.10` - **name** (*Optional*): The name you would like to give to the receiver. -- **port** (*Optional*): The port on which the Pioneer device listens, e.g., `23` (default) or `8102` +- **port** (*Optional*): The port on which the Pioneer device listens, e.g. `23` (default) or `8102` - **timeout** (*Optional*): Number of seconds (float) to wait for blocking operations like connect, write, and read. Notes: diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index e17068d221..ddaf3a611b 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Plex" -description: "Instructions on how to integrate Plex into Home Assistant." +description: "Instructions how to integrate Plex into Home Assistant." date: 2015-10-05 21:21 sidebar: true comments: false @@ -69,8 +69,6 @@ media_player: show_all_controls: false use_custom_entity_ids: true use_episode_art: true - remove_unavailable_clients: true - client_remove_interval: 600 ``` - **entity_namespace** (*Optional*): Prefix for entity ID's. Defaults to `null`. Useful when using overlapping components (ex. Apple TV and Plex components when you have Apple TV's you use as Plex clients). Go from _media_player.playroom2_ to _media_player.plex_playroom_ - **include_non_clients** (*Optional*): Display non-recontrollable clients (ex. remote clients, PlexConnect Apple TV's). Defaults to `false`. @@ -78,8 +76,6 @@ media_player: - **show_all_controls** (*Optional*): Forces all controls to display. Defaults to `false`. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect. - **use_custom_entity_ids** (*Optional*): Name Entity ID's by client ID's instead of friendly names. Defaults to `false`. HA assigns entity ID's on a first come first serve basis. When you have identically named devices connecting (ex. media_player.plex_web_safari, media_player.plex_web_safari2), you can't reliably distinguish and or predict which device is which. This option avoids this issue by using unique client ID's (ex. media_player.dy4hdna2drhn). - **use_episode_art** (*Optional*): Display TV episode art instead of TV show art. Defaults to `false`. -- **remove_unavailable_clients** (*Optional*): Remove stale plex clients from UI after interval. Defaults to `true`. -- **client_remove_interval** (*Optional*): How long a client is to be unavailable for before it is cleaned up. Defaults to `600 seconds (10min)`. ### {% linkable_title Service `play_media` %} diff --git a/source/_components/media_player.roku.markdown b/source/_components/media_player.roku.markdown index c7771e0f40..5c889727de 100644 --- a/source/_components/media_player.roku.markdown +++ b/source/_components/media_player.roku.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Roku" -description: "Instructions on how to integrate Roku into Home Assistant." +description: "Instructions how to integrate Roku into Home Assistant." date: 2016-05-16 20:0+0000 sidebar: true comments: false diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index d944b2b3a7..744488bebe 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -50,15 +50,12 @@ Currently known supported models: - EH5600 - F6400AF - F6400 -- F8000BF - D6505 - D6300SF - U6000 (port must be set to 8001) - U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed) -- K5579 (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - K6500AF (port must be set to 8001) - KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed) -- KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed) - KU6290 (port must be set to 8001) - KU7000 (port must be set to 8001) - MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed) @@ -77,10 +74,10 @@ Currently tested but not working models: - JS9500 - State is always "on" and unable to control (but port 8001 *is* open) - MU6300 - Port set to 8001, `pip3 install websocket-client` must be executed, turning on works, status not working reliably, turning off is not permanent (it comes back on) -None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these. +None of the 2014 (H) and 2015 (J) model series (e.g. J5200) will work, since Samsung have used a different (encrypted) type of interface for these. If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.samsungtv.markdown). -The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. +The first letter (U, P, L, H & K) represent the screen type, e.g. LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these before adding them to the list. Currently the ability to select a source is not implemented. diff --git a/source/_components/media_player.songpal.markdown b/source/_components/media_player.songpal.markdown deleted file mode 100644 index 0fd9a73f72..0000000000 --- a/source/_components/media_player.songpal.markdown +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: page -title: "Sony SongPal compatible devices" -description: "Instructions on how to integrate Sony Songpal devices into Home Assistant." -date: 2018-02-03 09:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: sony.png -ha_category: Media Player -ha_iot_class: "Local Polling" -ha_release: 0.65 ---- - -The `songpal` platform allows you to control Sony's Songpal ("[Audio Control API](https://developer.sony.com/develop/audio-control-api/)") compatible devices such as soundbars, AV receivers and wireless speakers from Home Assistant. - -Even when the API officially supports only a few devices (HT-ST5000, HT-MT500, HT-CT800, SRS-ZR5 and STR-DN1080), it has also been confirmed to work on others. [The list of supported devices](http://vssupport.sony.net/en_ww/device.html) from Sony's Songpal website lists devices which are likely to be compatible with this platform. - -If the platform works with your non-listed device, or you encounter bugs, please feel free to [report them upstream](https://github.com/rytilahti/python-songpal). - -A few notes: - -- The quick start-up mode has to be enabled in order to turn the device on. -- Supports currently only one output terminal, i.e. the volume control works only on the first volume controller as reported by the backend library. -- Some devices, e.g., HT-XT3, do not support decreasing the volume step-by-step correctly. -- Feel free to improve the available services! - -## {% linkable_title Configuration %} - -The platform will be loaded automatically by discovery component. If you want to manually configure it, add the following to your `configuration.yaml` file: - -```yaml -media_player: - - platform: songpal - name: my soundbar - endpoint: http://IP_ADDRESS:10000/sony -``` - -{% configuration %} -name: - description: The name to display for this device. - required: false - type: string -endpoint: - description: API endpoint of the device. - required: true - type: string -{% endconfiguration %} - -See [python-songpal's documentation](https://github.com/rytilahti/python-songpal#locating-the-endpoint) how to get your API endpoint. - -## {% linkable_title Services %} - -In addition to the general [media player services](/components/media_player/#services), the following services are provided: - -### {% linkable_title Service `media_player/songpal_set_sound_setting` %} - -For a list of available settings and their values use [`songpal sound`](https://github.com/rytilahti/python-songpal#sound-settings) command. - -| Service data attribute | Optional | Description | -|------------------------|----------|--------------------------------------------------| -| `entity_id` | yes | Target entity, leave unset for all devices | -| `name` | no | Configuration variable, e.g., `nightmode` | -| `value` | no | New configuration value, e.g., `on` | - - - diff --git a/source/_components/media_player.sonos.markdown b/source/_components/media_player.sonos.markdown index 862cd822f8..3afe420ff4 100644 --- a/source/_components/media_player.sonos.markdown +++ b/source/_components/media_player.sonos.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sonos" -description: "Instructions on how to integrate Sonos devices into Home Assistant." +description: "Instructions how to integrate Sonos devices into Home Assistant." date: 2015-09-12 13:00 sidebar: true comments: false diff --git a/source/_components/media_player.soundtouch.markdown b/source/_components/media_player.soundtouch.markdown index 463914f236..fa2a550b02 100644 --- a/source/_components/media_player.soundtouch.markdown +++ b/source/_components/media_player.soundtouch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Soundtouch" -description: "Instructions on how to integrate Bose Soundtouch devices into Home Assistant." +description: "Instructions how to integrate Bose Soundtouch devices into Home Assistant." date: 2016-11-06 13:00 sidebar: true comments: false diff --git a/source/_components/media_player.spotify.markdown b/source/_components/media_player.spotify.markdown index 7097e06e20..ec34749834 100644 --- a/source/_components/media_player.spotify.markdown +++ b/source/_components/media_player.spotify.markdown @@ -29,7 +29,7 @@ To create the required Spotify Application: - Login to [Spotify Developer](https://developer.spotify.com) - Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page -- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file. +- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file. - Add a **Redirect URI** in the following forms: No SSL: `http://:/api/spotify` @@ -38,7 +38,7 @@ To create the required Spotify Application: The URL is whatever you use to access Home Assistant from outside your network (including port if applicable). -- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](/components/http/). +- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](https://home-assistant.io/components/http/). ## {% linkable_title Configuration %} diff --git a/source/_components/media_player.ue_smart_radio.markdown b/source/_components/media_player.ue_smart_radio.markdown index 0a250b6b86..217b625b8d 100644 --- a/source/_components/media_player.ue_smart_radio.markdown +++ b/source/_components/media_player.ue_smart_radio.markdown @@ -22,8 +22,8 @@ To add your UE Smart Radio player to your installation, add the following to you # Example configuration.yaml entry media_player: - platform: ue_smart_radio - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` {% configuration %} diff --git a/source/_components/media_player.universal.markdown b/source/_components/media_player.universal.markdown index 76cbc4a4ba..106f114f78 100644 --- a/source/_components/media_player.universal.markdown +++ b/source/_components/media_player.universal.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Universal" -description: "Instructions on how to create a universal media player in Home Assistant." +description: "Instructions how to create a universal media player in Home Assistant." date: 2016-01-12 22:00 sidebar: true comments: false diff --git a/source/_components/media_player.vizio.markdown b/source/_components/media_player.vizio.markdown index 1557b16649..7c8cfa363b 100644 --- a/source/_components/media_player.vizio.markdown +++ b/source/_components/media_player.vizio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vizio SmartCast TV" -description: "Instructions on how to integrate Vizio SmartCast TV into Home Assistant." +description: "Instructions how to integrate Vizio SmartCast TV into Home Assistant." date: 2017-07-10 19:00 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.49 ha_iot_class: "Local Polling" --- -The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs (2016+ models). +The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs (2016+ models). ## Pairing @@ -36,7 +36,7 @@ Make sure that your TV is on before continuing. If you don't know IP address of your TV run following command: -```bash +```bash $ pyvizio --ip=0 --auth=0 discover ``` @@ -56,14 +56,14 @@ Initiation will show you two different values: Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing: ```bash -$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin} +$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin} ``` -You will need the authentication token returned by this command to configure Home Assistant. +You will need the authentication token returned by this command to configure Home Assistant. ## Configuration -To add your Vizio TV to your installation, add the following to your `configuration.yaml` file: +To add your Vizio TV to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -84,9 +84,9 @@ Configuration variables: If the `Power Mode` of your TV is set to `Eco Mode`, turning the device ON won't work. -### Changing tracks +### Changing tracks -Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing. +Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing. ### Sources @@ -96,7 +96,7 @@ Source list shows all external devices connected to the TV through HDMI plus lis Vizio SmartCast service is accessible through HTTPS with self-signed certificate. If you have low LOGLEVEL in your Home Assistant configuration, you'll see a lot of warnings like this: `InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.` -You can adjust the log level for `media_player` components with the [logger](/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy. +You can adjust the log level for `media_player` components with the [logger](https://home-assistant.io/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy. If you want to only ignore only this specific [python urllib3 SSL warning](https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings), you will need to run Home Assistant with the python flag `-W` or the environment variable `PYTHONWARNINGS` set to: `ignore:Unverified HTTPS request is being made` diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown index 0925495764..21ed9cdf24 100644 --- a/source/_components/media_player.vlc.markdown +++ b/source/_components/media_player.vlc.markdown @@ -60,7 +60,3 @@ You need to add the `homeassistant` user to the `audio` group: ```bash sudo usermod -a -G audio homeassistant ``` - -##### {% linkable_title VLC currently not supported with Hass.io %} - -According to the forum topic ["How to add VLC into my Hassio"](http://community.home-assistant.io/t/how-to-add-vlc-into-my-hassio/23000/5), it is not possible to install packages like VLC on Hass.io. diff --git a/source/_components/media_player.volumio.markdown b/source/_components/media_player.volumio.markdown index 26053822e8..f8945adc88 100644 --- a/source/_components/media_player.volumio.markdown +++ b/source/_components/media_player.volumio.markdown @@ -12,11 +12,12 @@ ha_category: Media Player ha_release: 0.41 --- -The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant. +The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player +from Home Assistant. -The preferred way to set up the Volumio platform is by enabling the [discovery component](/components/discovery/). -In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file: +To add a Volumio player to your installation, add the following to +your `configuration.yaml` file. ```yaml # Example configuration.yaml entry diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown index 1d634dcebc..3775ae8260 100644 --- a/source/_components/media_player.webostv.markdown +++ b/source/_components/media_player.webostv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LG webOS Smart TV" -description: "Instructions on how to integrate a LG webOS Smart TV within Home Assistant." +description: "Instructions how to integrate a LG webOS Smart TV within Home Assistant." date: 2016-04-18 23:24 sidebar: true comments: false @@ -19,7 +19,7 @@ The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Sm To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others). -Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your Home Assistants's states. Follow the instructions and accept pairing request on your TV. +Once basic configuration is added to your `configuration.yaml` *Configuration* card should prompt on your HA's States. Follow the instructions and accept pairing request on your TV. Pairing information will be saved to the `filename:` provided in configuration; this process is IP sensitive, in case the IP address of your TV would change in future. @@ -36,18 +36,16 @@ media_player: Configuration variables: -- **host** (*Optional*): The IP of the LG webOS Smart TV, e.g., `192.168.0.10`. +- **host** (*Optional*): The IP of the LG webOS Smart TV, e.g. `192.168.0.10`. - **turn_on_action** (*Optional*): Defines an [action](/docs/automation/action/) to turn the TV on. - **name** (*Optional*): The name you would like to give to the LG webOS Smart TV. - **timeout** (*Optional*): The timeout for connections to the TV in seconds. - **filename** (*Optional*): The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. It defaults to `webostv.conf`. - **customize** array (*Optional*): List of options to customize. - - **sources** array (*Optional*): List of hardware and webOS App inputs. + - ***sources** array (*Optional*): List of hardware and webOS App inputs. If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered. -### {% linkable_title Example %} - A full configuration example will look like the sample below: ```yaml @@ -55,7 +53,7 @@ A full configuration example will look like the sample below: media_player: - platform: webostv host: 192.168.0.10 - name: Living Room TV + name: Living Room TV timeout: 5 filename: webostv.conf turn_on_action: @@ -69,15 +67,15 @@ media_player: - makotv - netflix ``` +** avoid using `[ ]` in the `name:` of your device. -Avoid using `[ ]` in the `name:` of your device. -### {% linkable_title Turn on action %} +*Turn On Action* Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan. -Common for webOS 3.0 and higher would be to use WakeOnLan feature. -To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models). +Common for webOS 3.0 and higher would be to use WakeOnLan feature. +To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version). ```yaml # Example configuration.yaml entry @@ -92,40 +90,9 @@ media_player: data: mac: B4:E6:2A:1E:11:0F ``` +Any other [actions](/docs/automation/action/) to power on the device can be configured. -Any other [actions](/docs/automation/action/) to power on the device can be configured. -### {% linkable_title Sources %} +*Sources* To obtain complete list of available sources currently configured on the TV, once the webOS TV is configured and linked, while its powered on head to the **Developer Tools** > **States**, find your `media_player.` and use the sources listed in `source_list:` remembering to split them per line into your `sources:` configuration. - -### {% linkable_title Change channel through play_media service %} - -The `play_media` service can be used in a script to switch to the specified tv channel. -It selects the best matching cannel according to the `media_content_id` parameter: - 1. Channel number *(i.e. '1' or '6')* - 2. Exact channel name *(i.e. 'France 2' or 'CNN')* - 3. Substring in channel name *(i.e. 'BFM' in 'BFM TV')* - -```yaml -# Example action entry in script to switch to channel number 1 -service: media_player.play_media -data: - entity_id: media_player.lg_webos_smart_tv - media_content_id: 1 - media_content_type: "channel" - -# Example action entry in script to switch to channel including 'TF1' in its name -service: media_player.play_media -data: - entity_id: media_player.lg_webos_smart_tv - media_content_id: "TF1" - media_content_type: "channel" -``` - -### {% linkable_title Next/Previous buttons %} - -The behaviour of the next and previsous buttons is different depending on the active source: - - - if the source is 'LiveTV' (television): next/previous buttons act as channel up/down - - otherwise: next/previsous buttons act as next/previous track diff --git a/source/_components/media_player.xiaomi_tv.markdown b/source/_components/media_player.xiaomi_tv.markdown deleted file mode 100644 index ffc2f1efc7..0000000000 --- a/source/_components/media_player.xiaomi_tv.markdown +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: page -title: "Xiaomi TV" -description: "Instructions on how to integrate a Xiaomi TV into Home Assistant." -date: 2018-02-12 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Media Player -ha_release: 0.64 -ha_iot_class: "Assumed State" ---- - -The `xiaomi_tv` platform allows you to control a [Xiaomi TV](http://www.mi.com/en/mitv3s/65flat/). - -You need to make sure the TV is connected to the internet, and that your Home Assistant instance is on the same network. - -To add a TV to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: xiaomi_tv -``` - -

-When starting or restarting Home Assistant make sure your TV is off. This is a flaw in the TV itself. -

- -Configuration variables: - -- **host** (*Optional*): The IP of the Xiaomi TV, eg. 192.168.0.10 -- **name** (*Optional*): The name to use on the frontend. Default is 'Xiaomi TV'. - -If you do not set a host in the configuration file, local TVs will automatically be discovered. - -To manually add a TV you can use the following configuration: - -```yaml -# Example configuration.yaml entry -media_player: - - platform: xiaomi_tv - host: YOUR_TV_IP - name: YOUR_TV_NAME -``` - -

-The platform will never turn your TV off. Instead, it will be put to sleep and woken up. This can be useful, because the selected source of the TV will remain the same. It will essentially turn your TV into a dumb TV. -

diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown index b996e642a4..c306b1d527 100644 --- a/source/_components/media_player.yamaha.markdown +++ b/source/_components/media_player.yamaha.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yamaha Network Receivers" -description: "Instructions on how to integrate Yamaha Network Receivers into Home Assistant." +description: "Instructions how to integrate Yamaha Network Receivers into Home Assistant." date: 2016-03-26 0:58 -0700 sidebar: true comments: false @@ -36,9 +36,9 @@ Configuration variables: default name (often model number) that is returned by the device. - **host** (*Optional*): IP address or hostname of the device - **source_ignore** (*Optional*): List of sources to hide in the front-end -- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast` +- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g. `HDMI1` to `ChromeCast` - **zone_ignore** (*Optional*): List of zones to hide in the front-end -- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room` +- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g. `Main_Zone` to `Family Room` ### {% linkable_title Discovery notes %} @@ -121,5 +121,5 @@ Enable or disable an output port (HDMI) on the receiver. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`s of Yamaha receivers. -| `port` | no | Port to enable or disable, e.g., `hdmi1`. +| `port` | no | Port to enable or disable, e.g. `hdmi1`. | `enabled` | no | To enable set true, otherwise set to false. diff --git a/source/_components/media_player.ziggo_mediabox_xl.markdown b/source/_components/media_player.ziggo_mediabox_xl.markdown index 0581b320a2..5919b19b50 100644 --- a/source/_components/media_player.ziggo_mediabox_xl.markdown +++ b/source/_components/media_player.ziggo_mediabox_xl.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ziggo Mediabox XL" -description: "Instructions on how to integrate the Ziggo Mediabox XL into Home Assistant." +description: "Instructions how to integrate the Ziggo Mediabox XL into Home Assistant." date: 2017-11-10 20:00 sidebar: true comments: false diff --git a/source/_components/melissa.markdown b/source/_components/melissa.markdown deleted file mode 100644 index 46be358b61..0000000000 --- a/source/_components/melissa.markdown +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: page -title: "Melissa Climate" -description: "Instructions on how to integrate Melissa Climate into Home Assistant." -date: 2017-01-05 17:30 -sidebar: true -comments: false -sharing: true -footer: true -logo: mclimate.png -ha_category: Hub -featured: false -ha_release: 0.63 -ha_iot_class: "Cloud Polling" ---- - -The `Melissa` component is the main component to connect to a [Melissa Climate](http://seemelissa.com/) A/C control. - -## {% linkable_title Configuration %} - -To set the Melissa component up, add the following information to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -melissa: - username: YOUR_MELISSA_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} - username: - description: The username for accessing your Melissa account. - required: true - type: string - password: - description: The password for accessing your Melissa account. - required: true - type: string -{% endconfiguration %} diff --git a/source/_components/mercedesme.markdown b/source/_components/mercedesme.markdown deleted file mode 100644 index db5774c518..0000000000 --- a/source/_components/mercedesme.markdown +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: page -title: "Mercedes me" -description: "Instructions on how to integrate Mercedes car with Mercedes me into Home Assistant." -date: 2018-01-27 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: mercedesme.png -ha_category: Hub -ha_release: 0.63 -ha_iot_class: "Cloud Polling" ---- - - -The `mercedesme` component offers integration with the [Mercedes me](https://www.mercedes-benz.com/de/mercedes-me/) cloud service and provides presence detection as well as sensors such as doors, tires, windows, and service interval. - -This component provides the following platforms: - - - Binary Sensors: Windows, tires, doors and lock. - - Sensors:Fuel status, service interval, remaining km, etc. - - Device tracker: To track location of your car. - -

- The component was removed. The vendor disabled the API endpoint and a new API is not available currently. -

diff --git a/source/_components/mochad.markdown b/source/_components/mochad.markdown index bf0617cefb..f27367f0da 100644 --- a/source/_components/mochad.markdown +++ b/source/_components/mochad.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mochad" -description: "Instructions on how to integrate Mochad into Home Assistant." +description: "Instructions how to integrate Mochad into Home Assistant." date: 2016-10-20 17:09 sidebar: true comments: false @@ -13,8 +13,6 @@ ha_release: 0.32 The `mochad` component is the main component to integrate all X10 platforms being controlled by [mochad](https://sourceforge.net/projects/mochad/). Besides this component you will have to setup your X10 devices separately. -## {% linkable_title Configuration %} - To integrate your Mochad units with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -22,20 +20,10 @@ To integrate your Mochad units with Home Assistant, add the following section to mochad: ``` -{% configuration %} -host: - description: The host that mochad is running on. - required: false - type: string - default: localhost -port: - description: The port that mochad is running on. - required: false - type: int - default: 1099 -{% endconfiguration %} +Configuration variables: -## {% linkable_title Example %} +- **host** (*Optional*): The host that mochad is running on. Defaults to `localhost`. +- **port** (*Optional*): The port that mochad is running on. Defaults to `1099`. A full configuration sample could look like the one below: diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown index dcccf0ede6..9d56005829 100644 --- a/source/_components/modbus.markdown +++ b/source/_components/modbus.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Modbus" -description: "Instructions on how to integrate Modbus within Home Assistant." +description: "Instructions how to integrate Modbus within Home Assistant." date: 2015-04-25 9:16 sidebar: true comments: false @@ -16,8 +16,6 @@ ha_iot_class: "Local Push" [Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable logic controller). It currently supports sensors and switches which can be controlled over serial, TCP, and UDP connections. -## {% linkable_title Configuration %} - To add modbus to your installation, add the following to your `configuration.yaml` file: For a network connection: diff --git a/source/_components/mqtt.markdown b/source/_components/mqtt.markdown index 275cac866e..5514b98c36 100644 --- a/source/_components/mqtt.markdown +++ b/source/_components/mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT" -description: "Instructions on how to setup MQTT within Home Assistant." +description: "Instructions how to setup MQTT within Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false @@ -33,10 +33,6 @@ mqtt: broker: IP_ADDRESS_BROKER ``` -

-The minimal setup uses the embedded MQTT broker, however a separate broker is advised for more stability. -

- ## {% linkable_title Additional features %} - [Certificate](/docs/mqtt/certificate/) diff --git a/source/_components/mqtt_eventstream.markdown b/source/_components/mqtt_eventstream.markdown index 4946433e63..7dd471e5cb 100644 --- a/source/_components/mqtt_eventstream.markdown +++ b/source/_components/mqtt_eventstream.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Eventstream" -description: "Instructions on how to setup MQTT eventstream within Home Assistant." +description: "Instructions how to setup MQTT eventstream within Home Assistant." date: 2016-01-13 08:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: depends The `mqtt_eventstream` component connects two Home Assistant instances via MQTT. -## {% linkable_title Configuration %} - To integrate MQTT Eventstream into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -35,10 +33,6 @@ subscribe_topic: description: Topic to receive events from the remote server. required: false type: string -ignore_event: - description: Ignore sending these [events](/docs/configuration/events/) over mqtt. - required: false - type: list {% endconfiguration %} ## {% linkable_title Multiple Instances %} @@ -50,9 +44,6 @@ Events from multiple instances can be aggregated to a single master instance by mqtt_eventstream: publish_topic: master/topic subscribe_topic: slaves/# - ignore_event: - - call_service - - state_changed ``` For a multiple instance setup, each slave would publish to their own topic. diff --git a/source/_components/mqtt_statestream.markdown b/source/_components/mqtt_statestream.markdown index 8b1afaa89d..5b7b832fe9 100644 --- a/source/_components/mqtt_statestream.markdown +++ b/source/_components/mqtt_statestream.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Statestream" -description: "Instructions on how to setup MQTT Statestream within Home Assistant." +description: "Instructions how to setup MQTT Statestream within Home Assistant." date: 2017-10-01 20:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: depends The `mqtt_statestream` component publishes state changes in Home Assistant to individual MQTT topics. -## {% linkable_title Configuration %} - To enable MQTT Statestream in Home Assistant, add the following section to your `configuration.yaml` file: ```yaml diff --git a/source/_components/mychevy.markdown b/source/_components/mychevy.markdown index 15a6b88ff1..64584db11d 100644 --- a/source/_components/mychevy.markdown +++ b/source/_components/mychevy.markdown @@ -13,31 +13,33 @@ ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -The `MyChevy` component communicates with the [my.chevrolet](https://my.chevrolet.com) website using selenium to log in as your user, and screen scrape the data provided. GM does not make it easy to sign up for any official development program, so this provides a workaround to get access to your data. +The `MyChevy` component communicates with the +[my.chevrolet](https://my.chevrolet.com) website using selenium to log +in as your user, and screen scrape the data provided. GM does not +make it easy to sign up for any official development program, so this +provides a workaround to get access to your data. This component provides the following platforms: - - - Binary sensors: if the car is plugged in - - Sensors: Battery Level, Charge Mode, EST Range, Total Distance Traveled - -## {% linkable_title Configuration %} + - Binary sensors - if the car is plugged in + - Sensors - such as Battery Level, Charge Mode, EST Range, Total + Distance Traveled To use MyChevy in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry mychevy: - username: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD + username: email + password: password ``` {% configuration %} username: - description: The email address associated with your my.chevrolet account. + description: The email address associated with your my.chevrolet account required: true type: string password: - description: The password for your given my.chevrolet account. + description: The password for your given my.chevrolet account required: true type: string {% endconfiguration %} @@ -45,15 +47,27 @@ password: #### {% linkable_title Installation %} -Because this uses selenium behind the scenes, installation is more complicated than merely pip install. See the [installation instructions](https://github.com/sdague/mychevy). +Because this uses selenium behind the scenes, installation is more +complicated than merely pip install. See the installation instructions +at https://github.com/sdague/mychevy. #### {% linkable_title Limitations %} -The architecture of the GM automotive networking imposes some limitations on the functionality of the component. +The architecture of the GM automotive networking imposes some +limitations on the functionality of the component. -The OnStar network link is very slow, and takes 1 - 3 minutes to get information back from the car. As such the mychevy component only polls every 30 minutes to not overwhelms that connection. +The OnStar network link is very slow, and takes 1 - 3 minutes to get +information back from the car. As such the mychevy component only +polls every 30 minutes to not overwhelms that connection. -The OnStar network (or more specifically the gateway used by the my.chevrolet website) appears to suffer more than most networks when the car is a) in a garage, and b) it's cold outside (like < 15 degrees F). One of the provided sensors is a status sensor which indicates if we got connectivity with the car on the last polling cycle or not. - -The "API" for this is written by web scraping. As such, it only currently is known to work if you have a Chevy Bolt EV, and only 1 Chevy car connected to OnStar. Patches for extended support should go to the https://github.com/sdague/mychevy project first, then Home Assistant can be extended. +The OnStar network (or more specifically the gateway used by the +my.chevrolet website) appears to suffer more than most networks when +the car is a) in a garage, and b) it's cold outside (like < 15 degrees +F). One of the provided sensors is a status sensor which indicates if +we got connectivity with the car on the last polling cycle or not. +The "API" for this is written by web scraping. As such, it only +currently is known to work if you have a Chevy Bolt EV, and only 1 +Chevy car connected to OnStar. Patches for extended support should go +to the https://github.com/sdague/mychevy project first, then +Home Assistant can be extended. diff --git a/source/_components/mycroft.markdown b/source/_components/mycroft.markdown index 9754096be0..705800f6e3 100644 --- a/source/_components/mycroft.markdown +++ b/source/_components/mycroft.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mycroft" -description: "Instructions on how to setup Mycroft AI within Home Assistant." +description: "Instructions how to setup Mycroft AI within Home Assistant." date: 2017-08-26 17:00 sidebar: true comments: false diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index f9e9388c67..c91f5a123e 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors" -description: "Instructions on how to integrate MySensors sensors into Home Assistant." +description: "Instructions how to integrate MySensors sensors into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/neato.markdown b/source/_components/neato.markdown index 82c36d9dfa..8c5b205e98 100644 --- a/source/_components/neato.markdown +++ b/source/_components/neato.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Neato Robotics" -description: "Instructions on how to integrate your Neato within Home Assistant." +description: "Instructions how to integrate your Neato within Home Assistant." date: 2016-10-09 20:15 sidebar: true comments: false @@ -19,21 +19,15 @@ To enable `neato` in your installation, add the following to your `configuration ```yaml # Example configuration.yaml entry neato: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` -{% configuration %} -username: - description: Username for the Neato account. - required: true - type: string -password: - description: v - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): Username for the Neato account. +- **password** (*Required*): Password for the Neato account.

-After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. The start/stop functionality does not work. More information on how to update can be found [here](https://support.neatorobotics.com/hc/en-us/articles/115004320694-Software-Update-4-0-for-Neato-Botvac-Connected-D3-D5-). +After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. The start/stop functionality does not work. More information on how to update here: https://support.neatorobotics.com/hc/en-us/articles/115004320694-Software-Update-4-0-for-Neato-Botvac-Connected-D3-D5-

diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown index 718bddc253..7aa5adfb9c 100644 --- a/source/_components/nest.markdown +++ b/source/_components/nest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest" -description: "Instructions on how to integrate Nest into Home Assistant." +description: "Instructions how to integrate Nest into Home Assistant." date: 2016-01-29 21:57 sidebar: true comments: false diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown index 0efe4ac968..ebb254a310 100644 --- a/source/_components/netatmo.markdown +++ b/source/_components/netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo" -description: "Instructions on how to integrate Netatmo component into Home Assistant." +description: "Instructions how to integrate Netatmo component into Home Assistant." date: 2016-06-02 08:10 sidebar: true comments: false diff --git a/source/_components/notify.apns.markdown b/source/_components/notify.apns.markdown index dcad472dbb..30737d617e 100644 --- a/source/_components/notify.apns.markdown +++ b/source/_components/notify.apns.markdown @@ -1,7 +1,7 @@ --- layout: page title: "APNS" -description: "Instructions on how to add APNS notifications to Home Assistant." +description: "Instructions how to add APNS notifications to Home Assistant." date: 2016-09-05 23:00 sidebar: true comments: false diff --git a/source/_components/notify.aws_lambda.markdown b/source/_components/notify.aws_lambda.markdown index be5a5494ca..21ef850da9 100644 --- a/source/_components/notify.aws_lambda.markdown +++ b/source/_components/notify.aws_lambda.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AWS Lambda" -description: "Instructions on how to invoke AWS Lambda functions from Home Assistant." +description: "Instructions how to invoke AWS Lambda functions from Home Assistant." date: 2016-05-14 16:35 sidebar: true comments: false diff --git a/source/_components/notify.aws_sns.markdown b/source/_components/notify.aws_sns.markdown index cfa69e0084..21a6b48cc5 100644 --- a/source/_components/notify.aws_sns.markdown +++ b/source/_components/notify.aws_sns.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AWS SNS" -description: "Instructions on how to publish messages to AWS SNS from Home Assistant." +description: "Instructions how to publish messages to AWS SNS from Home Assistant." date: 2016-05-14 16:35 sidebar: true comments: false diff --git a/source/_components/notify.aws_sqs.markdown b/source/_components/notify.aws_sqs.markdown index a1e8a33f8b..e40e81050b 100644 --- a/source/_components/notify.aws_sqs.markdown +++ b/source/_components/notify.aws_sqs.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AWS SQS" -description: "Instructions on how to publish messages to AWS SQS from Home Assistant." +description: "Instructions how to publish messages to AWS SQS from Home Assistant." date: 2016-05-14 16:35 sidebar: true comments: false diff --git a/source/_components/notify.ciscospark.markdown b/source/_components/notify.ciscospark.markdown index fb55b90a6f..cf2449fac4 100644 --- a/source/_components/notify.ciscospark.markdown +++ b/source/_components/notify.ciscospark.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Cisco Spark" -description: "Instructions on how to add CiscoSpark notifications to Home Assistant." +description: "Instructions how to add CiscoSpark notifications to Home Assistant." date: 2017-02-20 15:00 sidebar: true comments: false diff --git a/source/_components/notify.clickatell.markdown b/source/_components/notify.clickatell.markdown index 8ac5d9a614..783f3deb58 100644 --- a/source/_components/notify.clickatell.markdown +++ b/source/_components/notify.clickatell.markdown @@ -40,7 +40,7 @@ Configuration variables: * **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `clickatell`. The notifier will bind to the service notify.NOTIFIER_NAME. * **api_key** (Required): Your API key. -* **recipient** (Required): Your phone number. This is where you want to send your notification SMS messages. e.g., `61444333444`. +* **recipient** (Required): Your phone number. This is where you want to send your notification SMS messages. e.g. `61444333444`. -To use notifications, please see the [getting started with automation page](/getting-started/automation/). +To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/). diff --git a/source/_components/notify.clicksend.markdown b/source/_components/notify.clicksend.markdown index 8d619617b4..e7eb8acc81 100644 --- a/source/_components/notify.clicksend.markdown +++ b/source/_components/notify.clicksend.markdown @@ -15,12 +15,9 @@ ha_release: 0.48 The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver notifications from Home Assistant. -## {% linkable_title Prerequisites %} - +### Get your ClickSend API Credentials Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`. -## {% linkable_title Configuration %} - To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file: ```yaml @@ -31,14 +28,6 @@ notify: username: CLICKSEND_USERNAME api_key: CLICKSEND_API_KEY recipient: PHONE_NO - -# Multiple recipients -notify: - - platform: clicksend - name: ClickSend - username: CLICKSEND_USERNAME - api_key: CLICKSEND_API_KEY - recipient: [PHONE_NO1, PHONE_NO2] ``` {% configuration %} @@ -55,9 +44,9 @@ api_key: required: true type: string recipient: - description: "A single or multiple phone numbers. This is where you want to send your SMS notification messages, e.g., `09171234567` or `[09171234567, 09177654321]`." + description: "Your phone number. This is where you want to send your notification SMS messages, e.g., `09171234567`." required: true - type: string or list + type: string sender: description: The name or number of the sender. required: false @@ -65,4 +54,4 @@ sender: default: recipient {% endconfiguration %} -To use notifications, please see the [getting started with automation page](/getting-started/automation/). +To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/). diff --git a/source/_components/notify.clicksend_tts.markdown b/source/_components/notify.clicksend_tts.markdown index 6009c9e987..28e860834f 100644 --- a/source/_components/notify.clicksend_tts.markdown +++ b/source/_components/notify.clicksend_tts.markdown @@ -38,5 +38,5 @@ Configuration variables: * **language** (Optional): The language you want to use to convert the message to audio. Accepted values are found in the [ClickSend Documentation](http://docs.clicksend.apiary.io/#reference/voice/voice-languages). Default value is `en-us`. * **voice** (Optional): The voice that needs to be used to play the message to the recipient. Allowed values are `female` or `male`. Default value is `female`. -To use notifications, please see the [getting started with automation page](/getting-started/automation/). +To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/). diff --git a/source/_components/notify.command_line.markdown b/source/_components/notify.command_line.markdown index 4f82febe40..a5d3b6a594 100644 --- a/source/_components/notify.command_line.markdown +++ b/source/_components/notify.command_line.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Command line Notify" -description: "Instructions on how to add command line notifications to Home Assistant." +description: "Instructions how to add command line notifications to Home Assistant." date: 2016-02-22 20:00 sidebar: true comments: false diff --git a/source/_components/notify.discord.markdown b/source/_components/notify.discord.markdown index 01029fb4b1..657b94e84e 100644 --- a/source/_components/notify.discord.markdown +++ b/source/_components/notify.discord.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Discord" -description: "Instructions on how to add Discord notifications to Home Assistant." +description: "Instructions how to add Discord notifications to Home Assistant." date: 2016-01-14 15:15 sidebar: true comments: false @@ -16,7 +16,7 @@ The [Discord service](https://discordapp.com/) is a platform for the notify comp In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later. -When setting up the application you can use this [icon](/demo/favicon-192x192.png). +When setting up the application you can use this [icon](https://home-assistant.io/demo/favicon-192x192.png). To use Discord notifications, add the following to your `configuration.yaml` file: @@ -35,11 +35,11 @@ Configuration variables: ### {% linkable_title Setting up the bot %} -Bots can only send messages to servers. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me). +Bots can only send messages to servers. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me).

-

+

Now use the Discord Authorization page with the **Client ID** of your [bot](https://discordapp.com/developers/docs/topics/oauth2#bots). diff --git a/source/_components/notify.ecobee.markdown b/source/_components/notify.ecobee.markdown index 53f97f69d1..18ba15b94b 100644 --- a/source/_components/notify.ecobee.markdown +++ b/source/_components/notify.ecobee.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ecobee Notify" -description: "Instructions on how to setup the Ecobee notification component within Home Assistant." +description: "Instructions how to setup the Ecobee notification component within Home Assistant." date: 2016-05-12 09:00 sidebar: true comments: false diff --git a/source/_components/notify.facebook.markdown b/source/_components/notify.facebook.markdown index 5b4e497947..0bdb62c8a7 100644 --- a/source/_components/notify.facebook.markdown +++ b/source/_components/notify.facebook.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Facebook Messenger" -description: "Instructions on how to add Facebook user notifications to Home Assistant." +description: "Instructions how to add Facebook user notifications to Home Assistant." date: 2016-12-31 14:14 sidebar: true comments: false @@ -50,7 +50,7 @@ automation: - '+919784516314' ``` -You can also send messages to users that do not have stored their phone number on Facebook, but this requires a bit more work. The Messenger platform uses page-specific user IDs instead of a global user ID. You will need to enable a webhook for the "messages" event in Facebook's developer console. Once a user writes a message to a page, that webhook will then receive the user's page specific ID as part of the webhook's payload. Below is a simple PHP script that reacts to the message "get my id" and sends a reply containing the user's ID: +You can also send messages to users that do not have stored their phone number with Facebook, but this requires a bit more work. The Messenger platform uses page specific user IDs instead of a global user ID. You will need to enable a webhook for the "messages" event in Facebook's developer console. Once a user writes a message to a page, that webhook will then receive the user's page specific ID as part of the webhook's payload. Below is a simple PHP script that reacts to the message "get my id" and sends a reply containing the user's ID: ```php + +

If you are accessing home Assistant over HTTPS using SSL, you cannot access HTTP sites through an iframe panel.

To enable Panel iFrames in your installation, add the following to your `configuration.yaml` file: @@ -28,34 +28,12 @@ panel_iframe: fridge: title: 'Fridge' url: 'http://192.168.1.5' - otherapp: - title: 'Other App' - url: '/otherapp' ``` +Configuration variables: -{% configuration %} - panel_iframe: - description: Enables the panel_iframe component. Only allowed once. - required: true - type: map - keys: - panel_name: - description: Name of the panel. Only allowed once. - required: true - type: map - keys: - title: - description: Friendly title for the panel. Will be used in the sidebar. - required: true - type: string - url: - description: The absolute URL or relative URL with an absolute path to open. - required: true - type: string - icon: - description: Icon for entry. Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. - required: false - type: string -{% endconfiguration %} +- **[panel_name]** (*Required*): Name of the panel. + - **title** (*Required*): Friendly title for the panel. Will be used in the sidebar. + - **icon** (*Optional*): Icon for entry. Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. + - **url** (*Required*): The URL to open. diff --git a/source/_components/persistent_notification.markdown b/source/_components/persistent_notification.markdown index 9fac3ddc0c..2f96756ea9 100644 --- a/source/_components/persistent_notification.markdown +++ b/source/_components/persistent_notification.markdown @@ -30,7 +30,7 @@ The service `persistent_notification/create` takes in `message`, `title`, and `n The `persistent_notification` component supports specifying [templates](/topics/templating/) for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications. -In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject. +In an [action](https://home-assistant.io/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject. ```yaml action: @@ -55,26 +55,6 @@ action: notification_id: "1234" ``` - -### {% linkable_title Markdown support %} - -The message attribute supports the [Markdown formatting syntax](https://daringfireball.net/projects/markdown/syntax). Some examples are: - -| Type | Message | -| ---- | ------- | -| Headline 1 | `# Headline` | -| Headline 2 | `## Headline` | -| Newline | `\n` | -| Bold | `**My bold text**` | -| Cursive | `*My cursive text*` | -| Link | `[Link](https://home-assistant.io/)` | -| Image | `![image](/local/my_image.jpg)` | - -

- `/local/` in this context refers to the `.homeassistant/www/` folder. -

- - ### {% linkable_title Create a persistent notification %} Choose service developer tool icon **Services** from the **Developer Tools** to call the `persistent_notification` service. Select `persistent_notification/create` from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. @@ -87,3 +67,5 @@ Choose serv
 }
 ```
 This will create the notification entry shown above.
+
+NOTE: if you have defined a ```default_view:``` in your ```Groups:``` configuration you will need to include ```persistent_notification.<notification_id>``` e.g. ```persistent_notification.1234``` as per the example above, to your Groups configuration, in order to see the notification after creating it. 
diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown
index 45e9832381..a08f4cd935 100644
--- a/source/_components/pilight.markdown
+++ b/source/_components/pilight.markdown
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Pilight"
-description: "Instructions on how to setup Pilight within Home Assistant."
+description: "Instructions how to setup Pilight within Home Assistant."
 date: 2015-08-07 18:00
 sidebar: true
 comments: false
@@ -17,23 +17,23 @@ ha_iot_class: "Local Push"
 
 This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication. 
 
-The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g., automation). Additionally a send service is provided to send RF codes.
-
-## {% linkable_title Configuration %}
+The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g. automation). Additionally a send service is provided to send RF codes.
 
 To integrate pilight into Home Assistant, add the following section to your `configuration.yaml` file:
 
 ```yaml
 # Example configuration.yaml entry
 pilight:
+  host: 127.0.0.1
+  port: 5000
 ```
 
 Configuration variables:
 
-- **host** (*Optional*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32.
-- **port** (*Optional*): The network port to connect to. The usual port is [5001](https://manual.pilight.org/development/api.html).
+- **host** (*Required*): The IP address of the computer running the pilight-daemon, e.g. 192.168.1.32.
+- **port** (*Required*): The network port to connect to. The usual port is [5000](https://manual.pilight.org/development/api.html).
 - **send_delay** (*Optional*): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware.
-- **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
+- **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g. the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
 
 In this example only received RF codes using a daycom or Intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight [API](https://manual.pilight.org/development/api.html).
 
diff --git a/source/_components/plant.markdown b/source/_components/plant.markdown
index 6beaa00557..80fccc281d 100644
--- a/source/_components/plant.markdown
+++ b/source/_components/plant.markdown
@@ -59,7 +59,7 @@ If the sensor data is within the min/max values the status will be `ok`, if not
 
 ## Data Source
 
-The main sources of the data will usually be a [MiFlora sensor](/components/sensor.miflora/) or a [MQTT sensor](/components/sensor.mqtt/) receiving the data from a [PlantGateway](https://github.com/ChristianKuehnel/plantgateway).
+The main sources of the data will usually be a [MiFlora sensor](/components/sensor.miflora/) or a [MQTT sensor](/components/sensor.miflora/) receiving the data from a [PlantGateway](https://github.com/ChristianKuehnel/plantgateway).
 
 If you want to get the date via a PlantGateway, this is a typical configuration for the MQTT sensors:
 
diff --git a/source/_components/proximity.markdown b/source/_components/proximity.markdown
index ba8882accd..3d8c45b736 100644
--- a/source/_components/proximity.markdown
+++ b/source/_components/proximity.markdown
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Proximity"
-description: "Instructions on how to setup Proximity monitoring within Home Assistant."
+description: "Instructions how to setup Proximity monitoring within Home Assistant."
 date: 2016-02-07 10:00
 sidebar: true
 comments: false
@@ -50,7 +50,7 @@ proximity:
 Configuration variables:
 
 - **zone** (*Optional*): The zone to which this component is measuring the distance to. Default is the home zone.
-- **ignored_zones** array (*Optional*): Where proximity is not calculated for a device (either the device being monitored or ones being compared (e.g., work or school).
+- **ignored_zones** array (*Optional*): Where proximity is not calculated for a device (either the device being monitored or ones being compared (e.g. work or school).
 - **devices** array (*Optional*): A list of devices to compare location against to check closeness to the configured zone.
 - **tolerance** (*Optional*): The tolerance used to calculate the direction of travel in meters (m) to filter out small GPS coordinate changes.
 - **unit_of_measurement** (*Optional*): The unit of measurement for distance. Valid values are (km, m, mi, ft) [kilometers, meters, miles and feet respectively]. The default value is kilometers.
diff --git a/source/_components/python_script.markdown b/source/_components/python_script.markdown
index 6881352431..5e03edc16c 100644
--- a/source/_components/python_script.markdown
+++ b/source/_components/python_script.markdown
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "Python Scripts"
-description: "Instructions on how to setup Python scripts within Home Assistant."
+description: "Instructions how to setup Python scripts within Home Assistant."
 date: 2017-06-15 19:59
 sidebar: true
 comments: false
@@ -20,7 +20,7 @@ This component allows you to write Python scripts that are exposed as services i
 | `data` | The data passed to the Python Script service call.
 | `logger` | A logger to allow you to log messages: `logger.info()`, `logger.warning()`, `logger.error()`. [API reference][logger-api]
 
-[hass-api]: /developers/development_hass_object/
+[hass-api]: https://home-assistant.io/developers/development_hass_object/
 [logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects
 
 ## {% linkable_title Writing your first script %}
diff --git a/source/_components/qwikswitch.markdown b/source/_components/qwikswitch.markdown
index e915be3979..b7958abeda 100644
--- a/source/_components/qwikswitch.markdown
+++ b/source/_components/qwikswitch.markdown
@@ -1,7 +1,7 @@
 ---
 layout: page
 title: "QwikSwitch QSUSB Hub"
-description: "Instructions on how to integrate the QwikSwitch QSUSB Hub into Home Assistant."
+description: "Instructions how to integrate the QwikSwitch QSUSB Hub into Home Assistant."
 date: 2016-05-04 00:00
 sidebar: true
 comments: false
@@ -13,9 +13,12 @@ featured: false
 ha_release: "0.20"
 ---
 
-The `qwikswitch` component is the main component to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application.
 
-The `qwikswitch` component discovers all devices from QS Mobile. Currently, Relays and LED dimmers are discovered in Home Assistant. Relay devices are [lights](/components/light.qwikswitch/) by default, and can be configured as [switches](/components/switch.qwikswitch/).
+The `qwikswitch` component is the main component to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant.
+
+Loading the `qwikswitch` component automatically adds all devices from the QS Mobile application. QS Mobile controls the QSUSB Modem device.
+
+Currently QwikSwitch relays and LED dimmers are supported (tested). QwikSwitch relay devices can be [switches](/components/switch.qwikswitch/) or [lights](/components/light.qwikswitch/) in Home-Assistant. If the device name in the QSUSB app ends with ` Switch` it will be created as a switch, otherwise as a light.
 
 Example configuration:
 
@@ -28,67 +31,28 @@ qwikswitch:
 Configuration variables:
 
 - **url** (*Required*): The URL including the port of your QwikSwitch hub.
-- **dimmer_adjust** (*Optional*): A decimal value to adjust the brightness of the dimmer exponentially. Increasing this value allows dimmers that reach full brightness with low values in QS Mobile to appear more linear in Home Assistant. Recommended values between 1 and 2 and the default is 1.
-- **button_events** (*Optional*): A comma-separated list of button types that will generate events. See [QwikSwitch Events] for detail.
-- **switches** (*Optional*): A list of device QS_id -If you use MariaDB 10 you need to add port 3307 to the SERVER_IP, e.g., `mysql://user:password@SERVER_IP:3307/DB_NAME?charset=utf8`. - -+If you are running a database server instance on the same server as Home Assistant then you must ensure that this service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the service file. - -```bash -$ sudo nano /etc/systemd/system/home-assistant@homeassistant.service -``` - -and add the service for PostgreSQL: - -``` -[Unit] -Description=Home Assistant -After=network.target postgresql.service -``` - -Save the file then reload `systemctl`: - -```bash -$ sudo systemctl daemon-reload -``` -

- ## {% linkable_title Installation notes %} Not all Python bindings for the chosen database engine can be installed directly. This section contains additional details which should help you to get it working. ### {% linkable_title MariaDB and MySQL %} -If you are in a virtual environment, don't forget to activate it before installing the `mysqlclient` Python package described below. - -```bash -pi@homeassistant:~ $ sudo su homeassistant -s /bin/bash -homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate -(homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient -``` - -For MariaDB you may have to install a few dependencies. If you're using MariaDB version 10.2, libmariadbclient-dev was renamed to libmariadb-dev, please install the correct package based on your MariaDB version. - -On the Python side we use the `mysqlclient`: +For MariaDB you may have to install a few dependencies. On the Python side we use the `mysqlclient`: ```bash $ sudo apt-get install libmariadbclient-dev libssl-dev @@ -210,6 +179,14 @@ $ sudo apt-get install default-libmysqlclient-dev libssl-dev $ pip3 install mysqlclient ``` +If you are in a virtual environment, don't forget to activate it before installing the `mysqlclient` Python package. + +```bash +pi@homeassistant:~ $ sudo su homeassistant -s /bin/bash +homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate +(homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient +``` + After installing the dependencies, it is required to create the database manually. During the startup, Home Assistant will look for the database specified in the `db_url`. If the database doesn't exist, it will not automatically create it for you. Once Home Assistant finds the database, with right level of permissions, all the required tables will then be automatically created and the data will be populated accordingly. diff --git a/source/_components/remember_the_milk.markdown b/source/_components/remember_the_milk.markdown index 70abbed77e..c7244b2f0b 100644 --- a/source/_components/remember_the_milk.markdown +++ b/source/_components/remember_the_milk.markdown @@ -12,7 +12,7 @@ ha_category: Calendar ha_release: 0.57 --- -The `Remember The Milk` (RTM) component allows you to create tasks in [remember_the_milk](https://www.rememberthemilk.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that you should not forget, e.g., water the plants. The component allows you to have several RTM accounts in parallel. +The `Remember The Milk` (RTM) component allows you to create tasks in [remember_the_milk](https://www.rememberthemilk.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that you should not forget, e.g. water the plants. The component allows you to have several RTM accounts in parallel. ## {% linkable_title Setup %} @@ -51,7 +51,7 @@ Configuration variables: ### {% linkable_title Step 2: registering your account %} -After saving the configuration, you need to (re-)start Home Assistant. On the first start you will notice a new "Configuration" panel appearing on the Home Assistant page. After opening the configuration page, follow the link "Remember The Milk login". This will take you to a login page where you have to log in with your normal Remember The Milk credentials. This will authorize Home Assistant to access your Remember The Milk account. +After saving the configuration, you need to (re-)start Home Assistant. On the first start you will notice a new "Configuration" panel appearing on the Home Assistant page. After opening the configuration page, follow the link "Remember The Milk login". This will take you to a login page where you have to log in with your normal Rember The Milk credentials. This will authorize Home Assistant to access your Remember The Milk account. After that click on the "login completed" button. This will tell Home Assistant that you have completed the login process on the Remember The Milk page and Home Assistant should try to register with this account. diff --git a/source/_components/remote.apple_tv.markdown b/source/_components/remote.apple_tv.markdown index 7fe3bc7f9a..692de767fc 100644 --- a/source/_components/remote.apple_tv.markdown +++ b/source/_components/remote.apple_tv.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Apple TV Remote" -description: "Instructions on how to integrate Apple TV remote into Home Assistant." +description: "Instructions how to integrate Apple TV remote into Home Assistant." date: 2017-06-26 20:50 sidebar: true comments: false diff --git a/source/_components/remote.harmony.markdown b/source/_components/remote.harmony.markdown index c6178d048c..cc2eba65cc 100755 --- a/source/_components/remote.harmony.markdown +++ b/source/_components/remote.harmony.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Harmony Hub Remote" -description: "Instructions on how to integrate Harmony Hub remotes into Home Assistant." +description: "Instructions how to integrate Harmony Hub remotes into Home Assistant." date: 2016-11-05 17:00 sidebar: true comments: false @@ -35,7 +35,7 @@ remote: host: 10.168.1.13 ``` -You can override some default configuration values on a discovered hub (e.g., the `port` or `activity`) by adding a `configuration.yaml` setting. In this case leave the `host` setting empty so the platform will discover the host IP automatically, but set the `name` in the config to match exactly the name you have set for your Hub so the platform knows what Hub you are trying to configure. +You can override some default configuration values on a discovered hub (e.g. the `port` or `activity`) by adding a `configuration.yaml` setting. In this case leave the `host` setting empty so the platform will discover the host IP automatically, but set the `name` in the config to match exactly the name you have set for your Hub so the platform knows what Hub you are trying to configure. ```yaml # Example configuration.yaml entry with discovery diff --git a/source/_components/remote.itach.markdown b/source/_components/remote.itach.markdown index 5dd51679a2..35e14d1852 100755 --- a/source/_components/remote.itach.markdown +++ b/source/_components/remote.itach.markdown @@ -16,7 +16,7 @@ ha_release: 0.39 The `itach` remote platform allows you to control IR devices with a [Global Caché iTach Device](https://www.globalcache.com/products/itach/ip2irspecs) and GC-100 devices. The Global Cache IR API are similar across their product line. See API documentation links at the end of this page. -In order to utilize the digital input (binary sensor) and relay (switch) features of your Global Cache device you will need to use the [gc100 component](/components/gc100) and associated platforms. +In order to utilize the digital input (binary sensor) and relay (switch) features of your Global Cache device you will need to use the [gc100 component](https://home-assistant.io/components/gc100) and associated platforms. To use your iTach remote in your installation, you will need to know the IR commands for your devices in Pronto hex format and add the following to your `configuration.yaml` file: diff --git a/source/_components/remote.kira.markdown b/source/_components/remote.kira.markdown index 376d29837a..7924da8fe7 100644 --- a/source/_components/remote.kira.markdown +++ b/source/_components/remote.kira.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Kira Remote" -description: "Instructions on how to integrate Kira modules into Home Assistant." +description: "Instructions how to integrate Kira modules into Home Assistant." date: 2017-05-07 17:00 sidebar: true comments: false diff --git a/source/_components/remote.markdown b/source/_components/remote.markdown index 7359fae9d2..fada23fde3 100755 --- a/source/_components/remote.markdown +++ b/source/_components/remote.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Remotes" -description: "Instructions on how to setup your remotes with Home Assistant." +description: "Instructions how to setup your remotes with Home Assistant." date: 2016-11-05 19:39 sidebar: true comments: false diff --git a/source/_components/remote.xiaomi_miio.markdown b/source/_components/remote.xiaomi_miio.markdown deleted file mode 100644 index 8284a73868..0000000000 --- a/source/_components/remote.xiaomi_miio.markdown +++ /dev/null @@ -1,148 +0,0 @@ ---- -layout: page -title: "Xiaomi IR Remote" -description: "Instructions for how to integrate the Xiaomi IR Remote within Home Assistant." -date: 2017-01-25 17:08 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Remote -ha_release: 0.63 -ha_iot_class: "Local Polling" ---- - -The `xiaomi miio` remote platform allows you to send IR commands from your Xiaomi IR Remote (ChuangmiIr). - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. - -## {% linkable_title Configuring the Platform %} - -To add a Xiaomi IR Remote to your installation, add the following to your configuration.yaml file: -```yaml -remote: - - platform: xiaomi_miio - host: 192.168.42.42 - token: YOUR_TOKEN -``` - -{% configuration %} -host: - description: The IP of your remote. - required: true - type: string -token: - description: The API token of your remote. - required: true - type: string -name: - description: The name of your remote. - required: false - type: string -slot: - description: The slot used to save learned command. - required: false - type: int - default: 1 -timeout: - description: Timeout for learning a new command. - required: false - type: int - default: 30 -hidden: - description: Hide the entity from UI. There is currently no reason to show the entity in UI as turning it off or on does nothing. - required: false - type: boolean - default: True -commands: - required: false - type: map - keys: - command: - description: A list of commands as [raw (learned command)](/components/remote.xiaomi_miio/#raw) or [pronto hex code](/components/remote.xiaomi_miio/#pronto-hex-code). - required: true - type: list - -{% endconfiguration %} - -## {% linkable_title Full Configuration %} - -```yaml -remote: - - platform: xiaomi_miio - name: "bathroom remote" - host: 192.168.42.42 - token: YOUR_TOKEN - slot: 1 - timeout: 30 - hidden: false - commands: - activate_towel_heater: - command: - - raw:base64:[optional_frequency] - read_bad_poem: - command: - - raw:base64:[optional_frequency] - - pronto:pronto_hex:[optional_repeat] -``` - -## {% linkable_title Use named commands to create UI buttons %} - -```yaml -script: - towel_heater: - sequence: - - service: remote.send_command - entity_id: 'remote.bathroom_remote' - data: - command: - - 'activate_towel_heater' - please_cover_your_ears: - sequence: - - service: remote.send_command - entity_id: 'remote.bathroom_remote' - data: - command: - - 'read_bad_poem' -``` - -## {% linkable_title Command Types %} - -The Xiaomi IR Remote Platform currently supports two different formats for IR codes. - -### {% linkable_title Raw %} - -A raw command is a command learned from [`remote.xiaomi_miio_learn_command`](/components/remote.xiaomi_miio/#remotexiaomi_miio_learn_command). - -A raw command is defined as in the following example: -`raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE=` -with an optional last parameter of frequency: -`raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE=:38400` - -### {% linkable_title Pronto Hex Code %} - -A pronto hex code is a hex code often supplied by the device manufacturer. - -A pronto hex code is defined as in the following example: -`pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E` -with an optional last parameter of repeats (required by some devices): -`pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E:2` - -## {% linkable_title Platform Services %} - -The Xiaomi IR Remote Platform registers two services. - -### {% linkable_title `remote.send_command` %} - -Allows sending either named commands using an identifier or sending commands as one of the two types defined in [Command Types](/components/remote.xiaomi_miio/#command-types). - -### {% linkable_title `remote.xiaomi_miio_learn_command` %} - -Used to learn new commands. - -Use the entity_id of the Xiaomi IR Remote to start a learning process. - -`slot` and `timeout` can be specified, but multiple commands learned to the same slot can still be sent using [`remote.send_command`](/components/remote.xiaomi_miio/#remotesend_command) even if they are overwritten. - -After learning the command the base64 string can be found as a notification in Overview, the string can be copied by left clicking on the string and choose the copy option. diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown index 4475396730..c01e8ce94a 100644 --- a/source/_components/rest_command.markdown +++ b/source/_components/rest_command.markdown @@ -1,8 +1,8 @@ --- layout: page title: "RESTful Command" -description: "Instructions on how to integrate REST commands into Home Assistant." -date: 2018-02-24 00:00 +description: "Instructions how to integrate REST commands into Home Assistant." +date: 2016-12-27 00:00 sidebar: true comments: false sharing: true @@ -32,7 +32,6 @@ Configuration variables: - **[service_name]** (*Required*): The name used to expose the service. E.g., in the above example, it would be `rest_command.example_request`. - **url** (*Required*): The URL (support template) for sending request. - **method** (*Optional*): HTTP method to use (`get`, `post`, `put`, or `delete`). Defaults to `get`. - - **headers** (*Optional*): The headers for the requests. - **payload** (*Optional*): A string/template to send with request. - **username** (*Optional*): The username for HTTP authentication. - **password** (*Optional*): The password for HTTP authentication. diff --git a/source/_components/rflink.markdown b/source/_components/rflink.markdown index a8f340c48f..33e2113215 100644 --- a/source/_components/rflink.markdown +++ b/source/_components/rflink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFLink" -description: "Instructions on how to integrate RFLink gateway into Home Assistant." +description: "Instructions how to integrate RFLink gateway into Home Assistant." date: 2016-01-04 sidebar: true comments: false @@ -68,7 +68,7 @@ $ socat /dev/ttyACM0,b57600 TCP-LISTEN:1234,reuseaddr Other methods of exposing the serial interface over TCP are possible (eg: ESP8266 or using Arduino Wifi shield). Essentially the serial stream should be directly mapped to the TCP stream. -Tested with Wifi serial bridge [esp-link V2.2.3](https://github.com/jeelabs/esp-link/releases/tag/v2.2.3) running on a NodeMCU (ESP8266 Wifi module) with ESP8266 TXD0 (pin D10) and RXD0 (pin D9) connected to Arduino MEGA 2560 RX (Pin 2) and TX (Pin 3) respectively. +Tested with Wifi serial bridge [esp-link V2.2.3](https://github.com/jeelabs/esp-link/releases/tag/v2.2.3) running on a NodeMCU (ESP8266 Wifi module) with ESP8266 TXD0 (pin D10) and RXD0 (pin D9) connected to Arduino MEGA 2560 RX (Pin 2) and TX (Pin 3) respectively.

Due to different logic levels, a voltage level shifter is required between the 3.3V NodeMCU and 5V Arduino MEGA 2560 pins. The BSS138 bidirectional logic level converter has been tested for serial pins and the [link](https://www.aliexpress.com/item/8CH-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-DC-DC-5V-to-3-3V-Setp/32238089139.html) is recommended for the CC2500 transceiver (used for Ikea Ansluta and Philips Living Colors) @@ -136,7 +136,7 @@ If you find a device is recognized differently, with different protocols or the ### {% linkable_title Technical Overview %} - The`rflink` Python module is an asyncio transport/protocol which is setup to fire a callback for every (valid/supported) packet received by the RFLink gateway. -- This component uses this callback to distribute 'rflink packet events' over [Home Assistant's event bus](/docs/configuration/events/) which can be subscribed to by entities/platform implementations. +- This component uses this callback to distribute 'rflink packet events' over [Home Assistant's event bus](https://home-assistant.io/docs/configuration/events/) which can be subscribed to by entities/platform implementations. - The platform implementation takes care of creating new devices (if enabled) for unseen incoming packet ID's. - Device entities take care of matching to the packet ID, interpreting and performing actions based on the packet contents. Common entity logic is maintained in this main component. diff --git a/source/_components/rfxtrx.markdown b/source/_components/rfxtrx.markdown index 046e27ac02..64c0e1dee4 100644 --- a/source/_components/rfxtrx.markdown +++ b/source/_components/rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx" -description: "Instructions on how to integrate RFXtrx into Home Assistant." +description: "Instructions how to integrate RFXtrx into Home Assistant." date: 2015-10-08 10:15 sidebar: true comments: false @@ -24,7 +24,7 @@ rfxtrx: Configuration variables: -- **device** (*Required*): The path to your device, e.g., `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` +- **device** (*Required*): The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` - **debug** (*Optional*): If you want to receive debug output. - **dummy** (*Optional*): Then you have need a connected drive to test your settings. Can be useful for debugging and testing. diff --git a/source/_components/ring.markdown b/source/_components/ring.markdown index 4daf012653..762810d6a7 100644 --- a/source/_components/ring.markdown +++ b/source/_components/ring.markdown @@ -21,19 +21,13 @@ To enable device linked in your [Ring.com](https://ring.com/) account, add the f ```yaml # Example configuration.yaml entry ring: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: secret ``` -{% configuration %} -username: - description: The username for accessing your Ring account. - required: true - type: string -password: - description: The password for accessing your Ring account. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): The username for accessing your Ring account. +- **password** (*Required*): The password for accessing your Ring account. Finish its configuration by visiting the [Ring binary sensor](/components/binary_sensor.ring/) or [Ring sensor](/components/sensor.ring/) documentation. diff --git a/source/_components/rpi_gpio.markdown b/source/_components/rpi_gpio.markdown index 31a1befde2..642804ffff 100644 --- a/source/_components/rpi_gpio.markdown +++ b/source/_components/rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi GPIO" -description: "Instructions on how to integrate the GPIO capability of a Raspberry Pi into Home Assistant." +description: "Instructions how to integrate the GPIO capability of a Raspberry Pi into Home Assistant." date: 2016-08-30 19:00 sidebar: true comments: false diff --git a/source/_components/rpi_pfio.markdown b/source/_components/rpi_pfio.markdown index 1b3c4785e5..51feb22b70 100644 --- a/source/_components/rpi_pfio.markdown +++ b/source/_components/rpi_pfio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "PiFace Digital I/O" -description: "Instructions on how to integrate the PiFace Digital I/O module into Home Assistant." +description: "Instructions how to integrate the PiFace Digital I/O module into Home Assistant." date: 2016-05-08 15:00 sidebar: true comments: false diff --git a/source/_components/scene.hunterdouglas_powerview.markdown b/source/_components/scene.hunterdouglas_powerview.markdown index 2ef810a113..5598971724 100644 --- a/source/_components/scene.hunterdouglas_powerview.markdown +++ b/source/_components/scene.hunterdouglas_powerview.markdown @@ -1,14 +1,14 @@ --- layout: page title: "PowerView Scenes" -description: "Instructions on how to setup Hunter Douglas PowerView scenes within Home Assistant." +description: "Instructions how to setup Hunter Douglas PowerView scenes within Home Assistant." date: 2016-03-11 16:00 sidebar: true comments: false sharing: true footer: true logo: hunter-douglas-powerview.png -ha_category: Scene +ha_category: Cover ha_release: 0.15 --- diff --git a/source/_components/scene.knx.markdown b/source/_components/scene.knx.markdown deleted file mode 100644 index e77b657181..0000000000 --- a/source/_components/scene.knx.markdown +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: page -title: "KNX Scene" -description: "Instructions on how to integrate KNX Scenes into Home Assistant." -date: 2018-02-03 20:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: knx.png -ha_category: Scene -ha_release: "0.63" ---- - -The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes. - -The `knx` component must be configured correctly, see [KNX Component](/components/knx). - -```yaml -# Example configuration.yaml entry -scene: - - name: Romantic - platform: knx - address: 8/8/8 - scene_number: 23 -``` - -Configuration variables: - -- **name** (*Optional*): A name for this device used within Home Assistant. -- **address**: KNX group address of the binary sensor. -- **scene_number** KNX scene number to be activated. - - diff --git a/source/_components/scene.lifx_cloud.markdown b/source/_components/scene.lifx_cloud.markdown index 7b6ac7a279..cddb7cafd2 100644 --- a/source/_components/scene.lifx_cloud.markdown +++ b/source/_components/scene.lifx_cloud.markdown @@ -17,8 +17,8 @@ The `lifx_cloud` scene platform allows you to activate the scenes that LIFX smar ```yaml # Example configuration.yaml entry scene: - - platform: lifx_cloud - token: YOUR_LIFX_TOKEN + platform: lifx_cloud + token: YOUR_LIFX_TOKEN ``` Configuration variables: diff --git a/source/_components/scene.litejet.markdown b/source/_components/scene.litejet.markdown index 511c1cb6fa..fca7954e1b 100644 --- a/source/_components/scene.litejet.markdown +++ b/source/_components/scene.litejet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LiteJet Scenes" -description: "Instructions on how to setup LiteJet scenes within Home Assistant." +description: "Instructions how to setup LiteJet scenes within Home Assistant." date: 2016-10-26 16:00 sidebar: true comments: false diff --git a/source/_components/scene.lutron_caseta.markdown b/source/_components/scene.lutron_caseta.markdown index 7e07ed485e..2d10556edf 100644 --- a/source/_components/scene.lutron_caseta.markdown +++ b/source/_components/scene.lutron_caseta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Caseta Scene" -description: "Instructions on how to setup Lutron Caseta Scenes within Home Assistant." +description: "Instructions how to setup Lutron Caseta Scenes within Home Assistant." date: 2017-07-28 16:00 sidebar: true comments: false diff --git a/source/_components/scene.markdown b/source/_components/scene.markdown index 4bf9f168f7..74e8dd09b4 100644 --- a/source/_components/scene.markdown +++ b/source/_components/scene.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Scenes" -description: "Instructions on how to setup scenes within Home Assistant." +description: "Instructions how to setup scenes within Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -11,7 +11,7 @@ logo: home-assistant.png ha_category: Organization --- -You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red. +You can create scenes that capture the states you want certain entities to be. For example a scene can specify that light A should be turned on and light B should be bright red. ```yaml # Example configuration.yaml entry @@ -38,13 +38,6 @@ Configuration variables: - **name** (*Required*): Friendly name of scene. - **entities** (*Required*): Entities to control. -As you can see, there are two ways to define the states of each `entity_id`: - -- Define the `state` directly with the entity. -- Define a complex state with its attributes. - -The mapping from states to services is done with the [state helper](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/state.py#L74). So, please have a look there for available states for your scenes. - Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service). ```yaml @@ -62,5 +55,5 @@ automation: ```

-Please note that the scene component currently only supports one service call per entity to achieve the state. Due to this limitation, you cannot set states belonging to different services. A workaround for this limitation is to write a script, which you then turn on in your scene. +Please note that the scene component currently only supports one service call per entity to achieve the state. Due to this limitation you cannot set states belonging to different services.

diff --git a/source/_components/scene.tahoma.markdown b/source/_components/scene.tahoma.markdown deleted file mode 100644 index b5cd1c4294..0000000000 --- a/source/_components/scene.tahoma.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "Tahoma Scene" -description: "Instructions on how to integrate Tahoma scenes into Home Assistant." -date: 2018-02-18 12:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: tahoma.png -ha_category: Scene -ha_release: 0.64 ---- - -The `tahoma` scene platform lets you trigger scenes added to your Tahoma Box in Home Assistant. - -Scenes will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. diff --git a/source/_components/scene.wink.markdown b/source/_components/scene.wink.markdown index cf8e79cf4c..50ef56848f 100644 --- a/source/_components/scene.wink.markdown +++ b/source/_components/scene.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Scene" -description: "Instructions on how to setup the Wink scenes(shortcuts) within Home Assistant." +description: "Instructions how to setup the Wink scenes(shortcuts) within Home Assistant." date: 2017-04-01 16:45 sidebar: true comments: false diff --git a/source/_components/script.markdown b/source/_components/script.markdown index 856b758aab..52dd111053 100644 --- a/source/_components/script.markdown +++ b/source/_components/script.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Scripts" -description: "Instructions on how to setup scripts within Home Assistant." +description: "Instructions how to setup scripts within Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -26,7 +26,7 @@ script:          message: Current temperature is {% raw %}{{ states.sensor.temperature.state }}{% endraw %} ```

-Script names (e.g., `message_temperature` in the example above) are not allowed to contain dash (minus) characters, i.e. `-`. +Script names (e.g. `message_temperature` in the example above) are not allowed to contain dash (minus) characters, i.e. `-`. The preferred way to separate words for better readability is to use underscore (`_`) characters.

diff --git a/source/_components/scsgate.markdown b/source/_components/scsgate.markdown index 30fa3c975f..c70238554c 100644 --- a/source/_components/scsgate.markdown +++ b/source/_components/scsgate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SCSGate" -description: "Instructions on how to integrate SCSGate into Home Assistant." +description: "Instructions how to integrate SCSGate into Home Assistant." date: 2016-01-31 19:20 sidebar: true comments: false @@ -25,7 +25,7 @@ scsgate: Configuration variables: -- **device** (*Required*): The path to your device, e.g., `/dev/ttyACM0` +- **device** (*Required*): The path to your device, e.g. `/dev/ttyACM0` ### {% linkable_title How to find the scs_id for your devices %} diff --git a/source/_components/sensor.abode.markdown b/source/_components/sensor.abode.markdown index f2076b85f9..b886d385ab 100644 --- a/source/_components/sensor.abode.markdown +++ b/source/_components/sensor.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Sensor" -description: "Instructions on how to integrate Abode sensors into Home Assistant." +description: "Instructions how to integrate Abode sensors into Home Assistant." date: 2017-10-05 14:00 sidebar: true comments: false diff --git a/source/_components/sensor.ads.markdown b/source/_components/sensor.ads.markdown index 2360ac70c3..0e65a67bb6 100644 --- a/source/_components/sensor.ads.markdown +++ b/source/_components/sensor.ads.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ADS Sensor" -description: "Instructions on how to integrate ADS numeric values into Home Assistant." +description: "Instructions how to integrate ADS numeric values into Home Assistant." date: 2017-10-25 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.alarmdecoder.markdown b/source/_components/sensor.alarmdecoder.markdown index 770e94f1b7..d7b0483f9a 100644 --- a/source/_components/sensor.alarmdecoder.markdown +++ b/source/_components/sensor.alarmdecoder.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AlarmDecoder Sensor" -description: "Instructions on how to integrate AlarmDecoder sensors into Home Assistant." +description: "Instructions how to integrate AlarmDecoder sensors into Home Assistant." date: 2017-04-02 13:28 sidebar: true comments: false diff --git a/source/_components/sensor.alpha_vantage.markdown b/source/_components/sensor.alpha_vantage.markdown index 25714dd5cc..29712a8d0c 100644 --- a/source/_components/sensor.alpha_vantage.markdown +++ b/source/_components/sensor.alpha_vantage.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Alpha Vantage" -description: "Instructions on how to setup Alpha Vantage within Home Assistant." +description: "Instructions how to setup Alpha Vantage within Home Assistant." date: 2017-12-02 12:00 sidebar: true comments: false @@ -14,7 +14,7 @@ featured: false ha_release: "0.60" --- -The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market. This platform also provides detail about exchange rates. +The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market. To enable the `alpha_vantage` platform, add the following lines to your `configuration.yaml` file: @@ -23,17 +23,8 @@ To enable the `alpha_vantage` platform, add the following lines to your `configu sensor: - platform: alpha_vantage api_key: YOUR_API_KEY - symbols: - - symbol: GOOGL - name: Google - foreign_exchange: - - name: USD_EUR - from: USD - to: EUR ``` -Either a symbol or a foreign exchange must be configured, otherwise you will not get any data. - {% configuration %} api_key: description: "The API Key from [Alpha Vantage](https://www.alphavantage.co)." @@ -42,6 +33,7 @@ api_key: symbols: description: List of stock market symbols for given companies. required: false + default: GOOGL type: map keys: name: diff --git a/source/_components/sensor.amcrest.markdown b/source/_components/sensor.amcrest.markdown index 127021a1e2..538369de5a 100644 --- a/source/_components/sensor.amcrest.markdown +++ b/source/_components/sensor.amcrest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Amcrest IP Camera" -description: "Instructions on how to integrate Amcrest IP cameras sensors within Home Assistant." +description: "Instructions how to integrate Amcrest IP cameras sensors within Home Assistant." date: 2017-01-13 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.android_ip_webcam.markdown b/source/_components/sensor.android_ip_webcam.markdown index 35d4eefb7a..87f6f0d783 100644 --- a/source/_components/sensor.android_ip_webcam.markdown +++ b/source/_components/sensor.android_ip_webcam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Android IP Webcam Sensor" -description: "Instructions on how to integrate sensors for Android IP webcam within Home Assistant." +description: "Instructions how to integrate sensors for Android IP webcam within Home Assistant." date: 2017-03-10 00:00 sidebar: true comments: false diff --git a/source/_components/sensor.api_stream.markdown b/source/_components/sensor.api_stream.markdown index c363e88533..4b2c2a26ec 100644 --- a/source/_components/sensor.api_stream.markdown +++ b/source/_components/sensor.api_stream.markdown @@ -1,7 +1,7 @@ --- layout: page title: "API Stream Sensor" -description: "Instructions on how to count clients using the API stream within Home Assistant." +description: "Instructions how to count clients using the API stream within Home Assistant." date: 2016-11-19 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.arduino.markdown b/source/_components/sensor.arduino.markdown index f7f686370a..b7e4c1c6d7 100644 --- a/source/_components/sensor.arduino.markdown +++ b/source/_components/sensor.arduino.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Arduino Sensor" -description: "Instructions on how to integrate Arduino boards pins as sensors within Home Assistant." +description: "Instructions how to integrate Arduino boards pins as sensors within Home Assistant." date: 2015-09-14 18:28 sidebar: true comments: false diff --git a/source/_components/sensor.arest.markdown b/source/_components/sensor.arest.markdown index 4f7c68732f..bf5c31651c 100644 --- a/source/_components/sensor.arest.markdown +++ b/source/_components/sensor.arest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "aREST Sensor" -description: "Instructions on how to integrate aREST sensors within Home Assistant." +description: "Instructions how to integrate aREST sensors within Home Assistant." date: 2015-09-07 18:15 sidebar: true comments: false @@ -33,7 +33,7 @@ sensor: Configuration variables: -- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10. +- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. - **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used. - **monitored_variables** array (*Optional*): List of exposed variables. - **[variable]** (*Required*): Name of the variable to monitor. diff --git a/source/_components/sensor.arlo.markdown b/source/_components/sensor.arlo.markdown index e5184d2ed0..309795f795 100644 --- a/source/_components/sensor.arlo.markdown +++ b/source/_components/sensor.arlo.markdown @@ -15,10 +15,6 @@ ha_iot_class: "Cloud Polling" To get your [Arlo](https://arlo.netgear.com/) sensors working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo). -This platform does not support Arlo Q. - -## {% linkable_title Configuration %} - Once you have enabled the [Arlo component](/components/arlo), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.arwn.markdown b/source/_components/sensor.arwn.markdown index 8a9eea544a..fb66cc50bd 100644 --- a/source/_components/sensor.arwn.markdown +++ b/source/_components/sensor.arwn.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ARWN Sensor" -description: "Instructions on how to integrate ARWN within Home Assistant." +description: "Instructions how to integrate ARWN within Home Assistant." date: 2016-10-20 15:15 sidebar: true comments: false diff --git a/source/_components/sensor.bh1750.markdown b/source/_components/sensor.bh1750.markdown index 4910cdfba0..8b07a84482 100644 --- a/source/_components/sensor.bh1750.markdown +++ b/source/_components/sensor.bh1750.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BH1750 Light sensor" -description: "Instructions on how to integrate a BH1750 light sensor into Home Assistant." +description: "Instructions how to integrate a BH1750 light sensor into Home Assistant." date: 2017-06-10 00:00 sidebar: true comments: false diff --git a/source/_components/sensor.bitcoin.markdown b/source/_components/sensor.bitcoin.markdown index ba47bf8d9e..85173adc72 100644 --- a/source/_components/sensor.bitcoin.markdown +++ b/source/_components/sensor.bitcoin.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Bitcoin" -description: "Instructions on how to integrate Bitcoin data within Home Assistant." +description: "Instructions how to integrate Bitcoin data within Home Assistant." date: 2015-05-08 17:15 sidebar: true comments: false diff --git a/source/_components/sensor.blockchain.markdown b/source/_components/sensor.blockchain.markdown index 8c441ff88b..21da288337 100644 --- a/source/_components/sensor.blockchain.markdown +++ b/source/_components/sensor.blockchain.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Blockchain.info" -description: "Instructions on how to integrate Blockchain.info data within Home Assistant." +description: "Instructions how to integrate Blockchain.info data within Home Assistant." date: 2017-06-01 16:20 sidebar: true comments: false diff --git a/source/_components/sensor.bloomsky.markdown b/source/_components/sensor.bloomsky.markdown index 61b850de1e..a975a0300c 100644 --- a/source/_components/sensor.bloomsky.markdown +++ b/source/_components/sensor.bloomsky.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BloomSky Sensor" -description: "Instructions on how to integrate the BloomSky sensors within Home Assistant." +description: "Instructions how to integrate the BloomSky sensors within Home Assistant." date: 2016-02-03 20:00 sidebar: true comments: false diff --git a/source/_components/sensor.bme280.markdown b/source/_components/sensor.bme280.markdown index 7dd524405a..8da831b067 100644 --- a/source/_components/sensor.bme280.markdown +++ b/source/_components/sensor.bme280.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BME280 Sensor" -description: "Instructions on how to integrate a BME280 sensor into Home Assistant." +description: "Instructions how to integrate a BME280 sensor into Home Assistant." date: 2017-06-10 00:00 sidebar: true comments: false diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index 05d42769c1..e6978a3f0f 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -105,7 +105,7 @@ aq_humidity_baseline: default: 40 type: int aq_humidity_bias: - description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g., 25% hudidtity to 75% gas. + description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g. 25% hudidtity to 75% gas. required: false default: 25 type: int diff --git a/source/_components/sensor.bmw_connected_drive.markdown b/source/_components/sensor.bmw_connected_drive.markdown deleted file mode 100644 index 083e5124a6..0000000000 --- a/source/_components/sensor.bmw_connected_drive.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "BMW Connected Drive Sensor" -description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant." -date: 2018-01-10 23:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: bmw.png -ha_category: Sensor -ha_release: 0.64 ---- - - -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. - -The sensors will be automatically configured if the `bmw_connected_drive` component is configured. - -For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation. diff --git a/source/_components/sensor.broadlink.markdown b/source/_components/sensor.broadlink.markdown index 4688cf2aa0..70e82936ad 100644 --- a/source/_components/sensor.broadlink.markdown +++ b/source/_components/sensor.broadlink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Broadlink RM2 and A1 sensor" -description: "Instructions on how to integrate Broadlink RM2 and/or A1 E-air sensors within Home Assistant." +description: "Instructions how to integrate Broadlink RM2 and/or A1 E-air sensors within Home Assistant." date: 2016-12-03 21:59 sidebar: true comments: false @@ -78,7 +78,7 @@ sensor: The pycrypto library needs to be available on your platform. On a typical windows sysytem `pip install pycrypto` will fail, as a compiler needs to be installed first.

-The quickest way around this is to use a pre-built binary, e.g., from [https://github.com/sfbahr/PyCrypto-Wheels](https://github.com/sfbahr/PyCrypto-Wheels) +The quickest way around this is to use a pre-built binary, e.g. from [https://github.com/sfbahr/PyCrypto-Wheels](https://github.com/sfbahr/PyCrypto-Wheels) Be sure to get the correct 64 or 32-bit binary for your system, the full command line will look something like the sample below for a 64-bit system: diff --git a/source/_components/sensor.buienradar.markdown b/source/_components/sensor.buienradar.markdown index 63e1f88b46..cb1cd65660 100644 --- a/source/_components/sensor.buienradar.markdown +++ b/source/_components/sensor.buienradar.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Buienradar Sensor" -description: "Instructions on how to integrate buienradar.nl sensor within Home Assistant." +title: "Buienradar" +description: "Instructions how to integrate buienradar.nl sensor within Home Assistant." date: 2017-05-15 14:00 sidebar: true comments: false diff --git a/source/_components/sensor.coinbase.markdown b/source/_components/sensor.coinbase.markdown index c506d82341..89c06fc6f3 100644 --- a/source/_components/sensor.coinbase.markdown +++ b/source/_components/sensor.coinbase.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Coinbase Sensor" -description: "Instructions on how to setup Coinbase sensors within Home Assistant." +description: "Instructions how to setup Coinbase sensors within Home Assistant." date: 2017-12-08 18:00 sidebar: true comments: false diff --git a/source/_components/sensor.coinmarketcap.markdown b/source/_components/sensor.coinmarketcap.markdown index 1fc1300ab5..63fde6b5ea 100644 --- a/source/_components/sensor.coinmarketcap.markdown +++ b/source/_components/sensor.coinmarketcap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "CoinMarketCap" -description: "Instructions on how to integrate CoinMarketCap data within Home Assistant." +description: "Instructions how to integrate CoinMarketCap data within Home Assistant." date: 2016-08-31 08:15 sidebar: true comments: false diff --git a/source/_components/sensor.comed_hourly_pricing.markdown b/source/_components/sensor.comed_hourly_pricing.markdown index b371c8c197..d278c8a713 100644 --- a/source/_components/sensor.comed_hourly_pricing.markdown +++ b/source/_components/sensor.comed_hourly_pricing.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ComEd Hourly Pricing" -description: "Instructions on how to set up the ComEd Hourly Pricing sensor in Home Assistant." +description: "Instructions how to set up the ComEd Hourly Pricing sensor in Home Assistant." date: 2017-03-02 0:15 sidebar: true comments: false diff --git a/source/_components/sensor.comfoconnect.markdown b/source/_components/sensor.comfoconnect.markdown index 0d9400f5ce..78d22454b9 100644 --- a/source/_components/sensor.comfoconnect.markdown +++ b/source/_components/sensor.comfoconnect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zehnder ComfoAir Q Ventilation sensors" -description: "Instructions on how to integrate Zehnder ComfoAir Q350/450/600 sensors into Home Assistant." +description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 sensors into Home Assistant." date: 2017-06-28 18:00 sidebar: true comments: false diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown index 5cc0b4d9ea..e27656e9a5 100644 --- a/source/_components/sensor.command_line.markdown +++ b/source/_components/sensor.command_line.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Command line Sensor" -description: "Instructions on how to integrate command line sensors into Home Assistant." +description: "Instructions how to integrate command line sensors into Home Assistant." date: 2015-09-13 10:10 sidebar: true comments: false @@ -31,7 +31,7 @@ Configuration variables: - **name** (*Optional*): Name of the command sensor. - **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. - **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). +- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). ## {% linkable_title Examples %} @@ -61,7 +61,6 @@ sensor: Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system, various details about a system can be retrieved. Here the CPU temperature is of interest. Add something similar to your `configuration.yaml` file: -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -70,9 +69,8 @@ sensor: command: "cat /sys/class/thermal/thermal_zone0/temp" # If errors occur, remove degree symbol below unit_of_measurement: "°C" - value_template: '{{ value | multiply(0.001) | round(1) }}' + value_template: '{% raw %}{{ value | multiply(0.001) }}{% endraw %}' ``` -{% endraw %} ### {% linkable_title Monitoring failed login attempts on Home Assistant %} @@ -86,7 +84,7 @@ sensor: command: "grep -c 'Login attempt' /home/hass/.homeassistant/home-assistant.log" ``` -Make sure to configure the [logger component](/components/logger) to monitor the [http component](/components/http/) at least the `warning` level. +Make sure to configure the [logger component](/components/logger) to monitor the [http component](https://home-assistant.io/components/http/) at least the `warning` level. ```yaml # Example working logger settings that works @@ -151,13 +149,11 @@ sensor: [Templates](/docs/configuration/templating/) are supported in the `command:` configuration variable. This could be used if you want to include the state of a specific sensor as an argument to your external script. -{% raw %} ```yaml # Example configuration.yaml entry sensor: - platform: command_line name: wind direction - command: 'sh /home/pi/.homeassistant/scripts/wind_direction.sh {{ states.sensor.wind_direction.state }}' + command: 'sh /home/pi/.homeassistant/scripts/wind_direction.sh {% raw %}{{ states.sensor.wind_direction.state }}{% endraw %}' unit_of_measurement: "Direction" ``` -{% endraw %} diff --git a/source/_components/sensor.cpuspeed.markdown b/source/_components/sensor.cpuspeed.markdown index f69f014967..c997ae5a2f 100644 --- a/source/_components/sensor.cpuspeed.markdown +++ b/source/_components/sensor.cpuspeed.markdown @@ -1,7 +1,7 @@ --- layout: page title: "CPU speed" -description: "Instructions on how to integrate CPU speed within Home Assistant." +description: "Instructions how to integrate CPU speed within Home Assistant." date: 2015-10-15 11:00 sidebar: true comments: false diff --git a/source/_components/sensor.cups.markdown b/source/_components/sensor.cups.markdown index 2e32f5aa0f..eb9f43e9dd 100644 --- a/source/_components/sensor.cups.markdown +++ b/source/_components/sensor.cups.markdown @@ -1,7 +1,7 @@ --- layout: page title: "CUPS Sensor" -description: "Instructions on how to integrate CUPS sensors into Home Assistant." +description: "Instructions how to integrate CUPS sensors into Home Assistant." date: 2016-10-30 12:10 sidebar: true comments: false diff --git a/source/_components/sensor.darksky.markdown b/source/_components/sensor.darksky.markdown index 6b110a6c72..11edb0c1ce 100644 --- a/source/_components/sensor.darksky.markdown +++ b/source/_components/sensor.darksky.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: dark_sky.png ha_category: Weather -featured: false +featured: true ha_release: "0.30" redirect_from: /components/sensor.forecast/ ha_iot_class: "Cloud Polling" @@ -41,46 +41,6 @@ Configuration variables: - **api_key** (*Required*): Your API key. - **name** (*Optional*): Additional name for the sensors. Default to platform name. - **forecast** array (*Optional*): List of days in the 7 day forecast you would like to receive data on, starting with tomorrow as day 1. Any `monitored_condition` with a daily forecast by DarkSky will generate a sensor tagged with `_`. -- **language** (*Optional*): The desired language of the summary properties. Valid options are - - `ar`: Arabic - - `az`: Azerbaijani - - `be`: Belarusian - - `bg`: Bulgarian - - `bs`: Bosnian - - `ca`: Catalan - - `cs`: Czech - - `da`: Danish - - `de`: German - - `el`: Greek - - `en`: English (which is the default) - - `es`: Spanish - - `et`: Estonian - - `fi`: Finnish - - `fr`: French - - `hr`: Croatian - - `hu`: Hungarian - - `id`: Indonesian - - `is`: Icelandic - - `it`: Italian - - `ja`: Japanese - - `ka`: Georgian - - `kw`: Cornish - - `nb`: Norwegian Bokmål - - `nl`: Dutch - - `pl`: Polish - - `pt`: Portuguese - - `ro`: Romanian - - `ru`: Russian - - `sk`: Slovak - - `sl`: Slovenian - - `sr`: Serbian - - `sv`: Swedish - - `tet`: Tetum - - `tr`: Turkish - - `uk`: Ukrainian - - `x-pig-latin`: Igpay Atinlay - - `zh`: simplified Chinese - - `zh-tw`: traditional Chinese - **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml` - **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml` - **monitored_conditions** array (*Required*): Conditions to display in the frontend. @@ -88,7 +48,6 @@ Configuration variables: - **precip_type**: The type of precipitation occurring. - **precip_intensity**: The average expected intensity of precipitation occurring. - **precip_probability**: A value between 0 and 1 which is representing the probability of precipitation. - - **precip_accumulation**: Daily snow accumulation. Returns unknown if no snow accumulation available. - **temperature**: The current temperature. - **apparent_temperature**: A numerical value representing the apparent (or "feels like") temperature. - **dew_point**: The dew point. diff --git a/source/_components/sensor.deconz.markdown b/source/_components/sensor.deconz.markdown index 46dad20c0e..6844c88d83 100644 --- a/source/_components/sensor.deconz.markdown +++ b/source/_components/sensor.deconz.markdown @@ -43,28 +43,3 @@ Entity ids will be sensor.device_name, where device_name is defined in deCONZ. S - Xiaomi Smart Home Wireless Switch - Temperature Sensor - Xiaomi Temperature/Humidity Sensor - -#### {% linkable_title deCONZ Daylight Sensor %} - -The deCONZ Daylight sensor is a special sensor built into the deCONZ software since version 2.05.12. It is represented in Home Assistant as a sensor called sensor.daylight. The sensor's state value is a string corresponding to the phase of daylight (descriptions below taken from https://github.com/mourner/suncalc, on which the deCONZ implementation is based): - -| Sensor State | Description | -|--------------|-------------| -| sunrise_start | sunrise (top edge of the sun appears on the horizon) | -| sunrise_end | sunrise ends (bottom edge of the sun touches the horizon) | -| golden_hour_1 | morning golden hour (soft light, the best time for photography) | -| solar_noon | solar noon (sun is in the highest position) | -| golden_hour_2 | evening golden hour | -| sunset_start | sunset starts (bottom edge of the sun touches the horizon) | -| sunset_end | sunset (sun disappears below the horizon, evening civil twilight starts) | -| dusk | dusk (evening nautical twilight starts) | -| nautical_dusk | nautical dusk (evening astronomical twilight starts) | -| night_start | night starts (dark enough for astronomical observations) | -| nadir | nadir (darkest moment of the night, the sun is in the lowest position) | -| night_end | night ends (morning astronomical twilight starts) | -| nautical_dawn | nautical dawn (morning nautical twilight starts) | -| dawn | dawn (morning nautical twilight ends, morning civil twilight starts) | - -The sensor also has an attribute called "daylight" that has the value `true` when the sensor's state is `golden_hour_1`, `solar_noon`, or `golden_hour_2`, and `false` otherwise. - -These states can be used in automations as a trigger (e.g., trigger when a certain phase of daylight starts or ends) or condition (e.g., trigger only if in a certain phase of daylight). diff --git a/source/_components/sensor.deluge.markdown b/source/_components/sensor.deluge.markdown index d80cedf2f8..2f495a8d04 100644 --- a/source/_components/sensor.deluge.markdown +++ b/source/_components/sensor.deluge.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Deluge Sensor" -description: "Instructions on how to integrate Deluge sensors within Home Assistant." +description: "Instructions how to integrate Deluge sensors within Home Assistant." date: 2017-10-24 17:06 sidebar: true comments: false diff --git a/source/_components/sensor.deutsche_bahn.markdown b/source/_components/sensor.deutsche_bahn.markdown index 6586e49452..58fd420aeb 100644 --- a/source/_components/sensor.deutsche_bahn.markdown +++ b/source/_components/sensor.deutsche_bahn.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Deutsche Bahn" -description: "Instructions on how to integrate timetable data for traveling in Germany within Home Assistant." +description: "Instructions how to integrate timetable data for traveling in Germany within Home Assistant." date: 2015-06-02 21:45 sidebar: true comments: false @@ -25,21 +25,11 @@ sensor: from: NAME_OF_START_STATION to: NAME_OF_FINAL_STATION ``` -{% configuration %} -from: - description: The name of the start station. - required: true - type: string -to: - description: The name of the end/destination station. - required: true - type: string -only_direct: - description: Only show direct connections. - required: false - type: boolean - default: false -{% endconfiguration %} + +Configuration variables: + +- **from** (*Required*): The name of the start station. +- **to** (*Required*): The name of the end/destination station. This sensor stores a lot of attributes which can be accessed by other sensors eg. a [template sensor](/components/sensor.template/). diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown index 1898ab35d4..fd187c6794 100644 --- a/source/_components/sensor.dht.markdown +++ b/source/_components/sensor.dht.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DHT Sensor" -description: "Instructions on how to integrate DHTxx sensors within Home Assistant." +description: "Instructions how to integrate DHTxx sensors within Home Assistant." date: 2015-08-30 19:15 sidebar: true comments: false diff --git a/source/_components/sensor.domain_expiry.markdown b/source/_components/sensor.domain_expiry.markdown deleted file mode 100644 index a70306909a..0000000000 --- a/source/_components/sensor.domain_expiry.markdown +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: page -title: "Domain Expiry" -description: "Instructions on how to set up Domain expiry sensors within Home Assistant." -date: 2018-04-24 14:14 -sidebar: true -comments: false -sharing: true -footer: true -logo: home-assistant.png -ha_category: System Monitor -ha_release: 0.69 -ha_iot_class: "depends" ---- - -The `domain_expiry` sensor gets whois information about domain and displays the expiry in days. - -To add the Domain Expiry sensor to your installation, add these options to `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: domain_expiry - domain: home-assistant.io -``` - -{% configuration %} -domain: - description: Domain name to track - required: true - type: string -name: - description: The friendly name for the certificate. - required: false - type: string - default: Domain Expiry -{% endconfiguration %} \ No newline at end of file diff --git a/source/_components/sensor.dovado.markdown b/source/_components/sensor.dovado.markdown index bbbd0bae3c..f300a90fcb 100644 --- a/source/_components/sensor.dovado.markdown +++ b/source/_components/sensor.dovado.markdown @@ -33,8 +33,8 @@ Configuration variables: - **username** (*Required*): Your username. - **password** (*Required*): Your password. -- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. If no host is provided, the gateway for the same network as Home Assistant will automatically be used. -- **port** (*Optional*): The port number of your router, e.g., `999`. If no port is provided, the default API port (6435) will be used. +- **host** (*Optional*): The IP address of your router, e.g. `192.168.1.1`. If no host is provided, the gateway for the same network as Home Assistant will automatically be used. +- **port** (*Optional*): The port number of your router, e.g. `999`. If no port is provided, the default API port (6435) will be used. - **sensors** array (*Required*): Conditions to display in the frontend. - **network**: Network state (3G, 4G, etc). - **signal**: The signal strength (%). diff --git a/source/_components/sensor.dsmr.markdown b/source/_components/sensor.dsmr.markdown index 9980021de1..b073aae82f 100644 --- a/source/_components/sensor.dsmr.markdown +++ b/source/_components/sensor.dsmr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DSMR or Slimme meter" -description: "Instructions on how to integrate DSMR Smartmeter within Home Assistant." +description: "Instructions how to integrate DSMR Smartmeter within Home Assistant." date: 2016-11-12 12:00 sidebar: true comments: false diff --git a/source/_components/sensor.dte_energy_bridge.markdown b/source/_components/sensor.dte_energy_bridge.markdown index 80028de606..c79c4b73a0 100644 --- a/source/_components/sensor.dte_energy_bridge.markdown +++ b/source/_components/sensor.dte_energy_bridge.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DTE Energy Bridge" -description: "Instructions on how to setup DTE Energy Bridge with Home Assistant." +description: "Instructions how to setup DTE Energy Bridge with Home Assistant." date: 2016-06-07 08:10 sidebar: true comments: false diff --git a/source/_components/sensor.dublin_bus_transport.markdown b/source/_components/sensor.dublin_bus_transport.markdown index 6c32206895..4a25dc5990 100644 --- a/source/_components/sensor.dublin_bus_transport.markdown +++ b/source/_components/sensor.dublin_bus_transport.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dublin Bus Transport" -description: "Instructions on how to integrate timetable data for traveling on Dublin Bus within Home Assistant." +description: "Instructions how to integrate timetable data for traveling on Dublin Bus within Home Assistant." date: 2017-01-09 21:45 sidebar: true comments: false @@ -32,7 +32,7 @@ sensor: Configuration variables: - **stopid** (*Required*): The ID of the bus stop to get the information for. -- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g., `83`. +- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g. `83`. - **name** (*Optional*): A friendly name for this sensor. The public RTPI information is coming from [Dub Linked](https://data.dublinked.ie/). diff --git a/source/_components/sensor.dweet.markdown b/source/_components/sensor.dweet.markdown index 1bc81d27e6..bc3c710f53 100644 --- a/source/_components/sensor.dweet.markdown +++ b/source/_components/sensor.dweet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dweet.io" -description: "Instructions on how to integrate Dweet.io sensors within Home Assistant." +description: "Instructions how to integrate Dweet.io sensors within Home Assistant." date: 2015-12-10 10:15 sidebar: true comments: false diff --git a/source/_components/sensor.dyson.markdown b/source/_components/sensor.dyson.markdown index 022d778ceb..39ac3c5510 100644 --- a/source/_components/sensor.dyson.markdown +++ b/source/_components/sensor.dyson.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dyson Purifier Sensor" -description: "Instructions on how to setup the Dyson Purifier fans within Home Assistant." +description: "Instructions how to setup the Dyson Purifier fans within Home Assistant." date: 2017-05-27 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.ebox.markdown b/source/_components/sensor.ebox.markdown index d2ad1a9cb5..a76f9feacc 100644 --- a/source/_components/sensor.ebox.markdown +++ b/source/_components/sensor.ebox.markdown @@ -1,7 +1,7 @@ --- layout: page title: "EBox" -description: "Instructions on how to integrate EBox data usage within Home Assistant." +description: "Instructions how to integrate EBox data usage within Home Assistant." date: 2017-02-15 17:17 sidebar: true comments: false diff --git a/source/_components/sensor.ecobee.markdown b/source/_components/sensor.ecobee.markdown index 19491a566e..0ae2be049b 100644 --- a/source/_components/sensor.ecobee.markdown +++ b/source/_components/sensor.ecobee.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ecobee Sensor" -description: "Instructions on how to setup the Ecobee sensors within Home Assistant." +description: "Instructions how to setup the Ecobee sensors within Home Assistant." date: 2015-11-30 18:00 sidebar: true comments: false diff --git a/source/_components/sensor.efergy.markdown b/source/_components/sensor.efergy.markdown index 3fed31f58d..b1bde92188 100644 --- a/source/_components/sensor.efergy.markdown +++ b/source/_components/sensor.efergy.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Efergy" -description: "Instructions on how to integrate Efergy devices within Home Assistant." +description: "Instructions how to integrate Efergy devices within Home Assistant." date: 2015-07-11 0:15 sidebar: true comments: false diff --git a/source/_components/sensor.eight_sleep.markdown b/source/_components/sensor.eight_sleep.markdown index 2d78d94f70..635587b25a 100644 --- a/source/_components/sensor.eight_sleep.markdown +++ b/source/_components/sensor.eight_sleep.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Eight Sleep Sensor" -description: "Instructions on how to integrate sensors for Eight Sleep within Home Assistant." +description: "Instructions how to integrate sensors for Eight Sleep within Home Assistant." date: 2017-04-24 00:00 sidebar: true comments: false diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown index b87f019f0e..87dd5ac8fd 100644 --- a/source/_components/sensor.eliqonline.markdown +++ b/source/_components/sensor.eliqonline.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Eliqonline" -description: "Instructions on how to integrate Eliqonline devices within Home Assistant." +description: "Instructions how to integrate Eliqonline devices within Home Assistant." date: 2015-07-11 0:15 sidebar: true comments: false diff --git a/source/_components/sensor.emoncms.markdown b/source/_components/sensor.emoncms.markdown index a15c508199..3fb5f1aeab 100644 --- a/source/_components/sensor.emoncms.markdown +++ b/source/_components/sensor.emoncms.markdown @@ -42,8 +42,8 @@ sensor: ## {% linkable_title Default naming scheme %} The names of the sensors created by this component will use the feed names defined in EmonCMS if available, -or the feed ID otherwise, and will be prefixed with "EmonCMS", e.g., "EmonCMS Total Power" or "EmonCMS Feed 5". -If the `id` property is anything but `1`, the ID will be shown as well, e.g., "EmonCMS 2 Feed 5". +or the feed ID otherwise, and will be prefixed with "EmonCMS", e.g. "EmonCMS Total Power" or "EmonCMS Feed 5". +If the `id` property is anything but `1`, the ID will be shown as well, e.g. "EmonCMS 2 Feed 5". If `sensor_names` is used, any feeds with defined names will get those names exactly, with no prefix. diff --git a/source/_components/sensor.enocean.markdown b/source/_components/sensor.enocean.markdown index 669c07825a..6b627361f1 100644 --- a/source/_components/sensor.enocean.markdown +++ b/source/_components/sensor.enocean.markdown @@ -1,7 +1,7 @@ --- layout: page title: "EnOcean Sensor" -description: "Instructions on how to integrate TellStick sensors into Home Assistant." +description: "Instructions how to integrate TellStick sensors into Home Assistant." date: 2016-05-26 01:00 sidebar: true comments: false diff --git a/source/_components/sensor.envirophat.markdown b/source/_components/sensor.envirophat.markdown index 9863a4ab3b..84d87d55c1 100644 --- a/source/_components/sensor.envirophat.markdown +++ b/source/_components/sensor.envirophat.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Enviro pHAT" -description: "Instructions on how to integrate the Enviro pHAT within Home Assistant." +description: "Instructions how to integrate the Enviro pHAT within Home Assistant." date: 2017-05-03 17:00 sidebar: true comments: false diff --git a/source/_components/sensor.envisalink.markdown b/source/_components/sensor.envisalink.markdown index 94235f48b8..24f6474f14 100644 --- a/source/_components/sensor.envisalink.markdown +++ b/source/_components/sensor.envisalink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Envisalink Sensor" -description: "Instructions on how to integrate Envisalink sensors into Home Assistant." +description: "Instructions how to integrate Envisalink sensors into Home Assistant." date: 2016-07-01 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.etherscan.markdown b/source/_components/sensor.etherscan.markdown index 785ed42492..a94f0689a2 100644 --- a/source/_components/sensor.etherscan.markdown +++ b/source/_components/sensor.etherscan.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Etherscan" -description: "Instructions on how to integrate Etherscan.io data within Home Assistant." +description: "Instructions how to integrate Etherscan.io data within Home Assistant." date: 2017-06-01 16:20 sidebar: true comments: false diff --git a/source/_components/sensor.fail2ban.markdown b/source/_components/sensor.fail2ban.markdown index ca1467cf1b..5fb8c141f4 100644 --- a/source/_components/sensor.fail2ban.markdown +++ b/source/_components/sensor.fail2ban.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Fail2Ban Sensor" -description: "Instructions on how to integrate a fail2ban sensor into Home Assistant." +description: "Instructions how to integrate a fail2ban sensor into Home Assistant." date: 2017-10-19 10:30 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.57 --- -The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend. +The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend.

Your system must have `fail2ban` installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the `fail2ban` log file. @@ -72,7 +72,7 @@ logger: #### {% linkable_title Edit the `jail.local` file %} -Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](/cookbook/fail2ban/). +Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](https://home-assistant.io/cookbook/fail2ban/). Edit `/mnt/user/appdata/letsencrypt/fail2ban/jail.local` and append the following to the end of the file: @@ -123,7 +123,7 @@ Now do the same for the Home Assistant docker, but this time we'll be mapping th By default, the IP address that Home Assistant sees will be that of the container (something like `172.17.0.16`). What this means is that for any failed login attempt, assuming you have correctly configured `fail2ban`, the Docker IP will be logged as banned, but the originating IP is still allowed to make attempts. We need `fail2ban` to recognize the originating IP to properly ban it. -First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`. +First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`. ```bash proxy_set_header X-Real-IP $remote_addr; @@ -136,7 +136,7 @@ This snippet should be added within your Home Assistant server config, so you ha server { ... location / { - proxy_pass http://192.168.0.100:8123; + proxy_pass http://192.168.0.100:8123; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -153,7 +153,7 @@ server { proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } + } ... } ``` diff --git a/source/_components/sensor.fido.markdown b/source/_components/sensor.fido.markdown index edb59195a3..165f52bbf0 100644 --- a/source/_components/sensor.fido.markdown +++ b/source/_components/sensor.fido.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Fido" -description: "Instructions on how to integrate Fido data usage within Home Assistant." +description: "Instructions how to integrate Fido data usage within Home Assistant." date: 2017-01-01 17:17 sidebar: true comments: false diff --git a/source/_components/sensor.file.markdown b/source/_components/sensor.file.markdown index 8ae7216a7d..741d297c41 100644 --- a/source/_components/sensor.file.markdown +++ b/source/_components/sensor.file.markdown @@ -1,7 +1,7 @@ --- layout: page title: "File Sensor" -description: "Instructions on how to integrate sensors which read from files into Home Assistant." +description: "Instructions how to integrate sensors which read from files into Home Assistant." date: 2017-05-13 12:10 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.45 --- -The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). +The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. To enable the `file` sensor, add the following lines to your `configuration.yaml`: diff --git a/source/_components/sensor.filesize.markdown b/source/_components/sensor.filesize.markdown deleted file mode 100644 index 3178fa6e3c..0000000000 --- a/source/_components/sensor.filesize.markdown +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: page -title: "File size sensor" -description: "Component for monitoring the size of a file." -date: 2018-02-06 14:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: file.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.64 ---- - -Component for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). -Add to your config: - -```yaml -sensor: - - platform: filesize - file_paths: - - /config/home-assistant_v2.db - ``` - -{% configuration %} -file_paths: - description: The absolute path to the file. - required: true - type: list of strings -{% endconfiguration %} diff --git a/source/_components/sensor.filter.markdown b/source/_components/sensor.filter.markdown deleted file mode 100644 index 30661e8d1f..0000000000 --- a/source/_components/sensor.filter.markdown +++ /dev/null @@ -1,146 +0,0 @@ ---- -layout: page -title: "Filter Sensor" -description: "Instructions on how to integrate Data Filter Sensors into Home Assistant." -date: 2018-02-20 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Sensor -ha_release: 0.65 -ha_iot_class: "Local Push" -logo: home-assistant.png ---- - -The `filter` platform enables sensors that process the states of other entities. - -`filter` applies a signal processing algorithm to a sensor, previous and current states, and generates a `new state` given the chosen algorithm. The next image depicts an original sensor and the filter sensor of that same sensor using the [History Graph]({{site_roor}}/components/history_graph/) component. - -

- -

- -To enable Filter Sensors in your installation, add the following to your `configuration.yaml` file: - - -```yaml -# Example configuration.yaml entry -sensor: - - platform: filter - name: "filtered realistic humidity" - entity_id: sensor.realistic_humidity - filters: - - filter: outlier - window_size: 4 - radius: 4.0 - - filter: lowpass - time_constant: 10 - precision: 2 - - platform: filter - name: "filtered realistic temperature" - entity_id: sensor.realistic_temperature - filters: - - filter: outlier - window_size: 4 - radius: 2.0 - - filter: lowpass - time_constant: 10 - - filter: time_simple_moving_average - window_size: 00:05 - precision: 2 -``` - -Filters can be chained and are applied according to the order present in the configuration file. - -{% configuration %} -entity_id: - description: The entity ID of the sensor to be filtered. - required: true - type: string -name: - description: Name to use in the frontend. - required: false - type: string -filters: - description: Filters to be used. - required: true - type: list - keys: - filter: - description: Algorithm to be used to filter data. Available filters are `lowpass`, `outlier`, `throttle` and `time_simple_moving_average`. - required: true - type: string - window_size: - description: Size of the window of previous states. Time based filters such as `time_simple_moving_average` will require a time period (size in time), while other filters such as `outlier` will require an integer (size in number of states) - required: false - type: [int, time] - default: 1 - precision: - description: See [_lowpass_](#low-pass) filter. Defines the precision of the filtered state, through the argument of round(). - required: false - type: int - default: None - time_constant: - description: See [_lowpass_](#low-pass) filter. Loosely relates to the amount of time it takes for a state to influence the output. - required: false - type: int - default: 10 - radius: - description: See [_outlier_](#outlier) filter. Band radius from median of previous states. - required: false - type: float - default: 2.0 - type: - description: See [_time_simple_moving_average_](#time-simple-moving-average) filter. Defines the type of Simple Moving Average. - required: false - type: string - default: last -{% endconfiguration %} - -## {% linkable_title Filters %} - -### {% linkable_title Low-pass %} - -The Low-pass filter (`lowpass`) is one of signal processing most common filters, as it smooths data by shortcutting peaks and valleys. - -The included Low-pass filter is very basic and is based on [exponential smoothing](https://en.wikipedia.org/wiki/Exponential_smoothing), in which the previous data point is weighted with the new data point. - -```python -B = 1.0 / time_constant -A = 1.0 - B -LowPass(state) = A * previous_state + B * state -``` - -The returned value is rounded to the number of decimals defined in (`precision`). - -### {% linkable_title Outlier %} - -The Outlier filter (`outlier`) is a basic Band-pass filter, as it cuts out any value outside a specific range. - -The included Outlier filter will discard any value beyond a band centered on the median of the previous values, replacing it with the median value of the previous values. If inside the band, the - -```python -distance = abs(state - median(previous_states)) - -if distance > radius: - median(previous_states) -else: - state -``` - -### {% linkable_title Throttle %} - -The Throttle filter (`throttle`) will only update the state of the sensor for the first state in the window. This means the filter will skip all other values. - -To adjust the rate you need to set the window_size. To throttle a sensor down to 10%, the `window_size` should be set to 10, for 50% should be set to 2. - -This filter is relevant when you have a sensor which produces states at a very high-rate, which you might want to throttle down for storing or visualization purposes. - -### {% linkable_title Time Simple Moving Average %} - -The Time SMA filter (`time_simple_moving_average`) is based on the paper [Algorithms for Unevenly Spaced Time Series: Moving Averages and Other Rolling Operators](http://www.eckner.com/papers/Algorithms%20for%20Unevenly%20Spaced%20Time%20Series.pdf) by Andreas Eckner. - -The paper defines three types/versions of the Simple Moving Average (SMA): *last*, *next* and *linear*. Currently only *last* is implemented. - -Theta, as described in the paper, is the `window_size` parameter, and can be expressed using time notation (e.g., 00:05 for a five minutes time window). diff --git a/source/_components/sensor.fitbit.markdown b/source/_components/sensor.fitbit.markdown index a273f3d8af..1da5a51836 100644 --- a/source/_components/sensor.fitbit.markdown +++ b/source/_components/sensor.fitbit.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Fitbit" -description: "Instructions on how to integrate Fitbit devices within Home Assistant." +description: "Instructions how to integrate Fitbit devices within Home Assistant." date: 2016-05-09 15:01 sidebar: true comments: false @@ -36,7 +36,6 @@ Configuration variables: - **monitored_resources** (*Optional*): Resource to monitor. Defaults to `activities/steps`. - **clock_format** (*Optional*): Format to use for `sleep/startTime` resource. Accepts `12H` or `24H`. Defaults to `24H`. -- **unit_system** (*Optional*): Unit system to use for measurements. Accepts `default`, `metric`, `en_US` or `en_GB`. Defaults to `default`. Below is the list of resources that you can add to `monitored_resources`. One sensor is exposed for every resource. diff --git a/source/_components/sensor.fixer.markdown b/source/_components/sensor.fixer.markdown index 397d3b5b71..220619cf30 100644 --- a/source/_components/sensor.fixer.markdown +++ b/source/_components/sensor.fixer.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Fixer.io" -description: "Instructions on how to integrate exchange rates from Fixer.io within Home Assistant." +description: "Instructions how to integrate exchange rates from Fixer.io within Home Assistant." date: 2016-06-20 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.folder.markdown b/source/_components/sensor.folder.markdown deleted file mode 100644 index 292e7366ea..0000000000 --- a/source/_components/sensor.folder.markdown +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: page -title: "Folder sensor" -description: "Sensor for monitoring the contents of a folder." -date: 2018-02-21 14:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: file.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.64 ---- - -Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. - -To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -sensor: - - platform: folder - folder: /config -``` - -{% configuration %} -folder: - description: The folder path - required: true - type: string -filter: - description: Filter to apply - required: false - default: "`*`" - type: string -{% endconfiguration %} diff --git a/source/_components/sensor.foobot.markdown b/source/_components/sensor.foobot.markdown deleted file mode 100644 index cf300fa7ac..0000000000 --- a/source/_components/sensor.foobot.markdown +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: page -title: "Foobot Air Quality Monitor" -description: "Instructions on how to setup Foobot Air Quality sensor in Home Assistant." -date: 2018-02-14 06:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: foobot.png -ha_category: Health -ha_release: 0.66 -ha_iot_class: "Cloud Polling" ---- - -The `foobot` sensor platform will fetch air quality data from your or yours [Foobot device(s)](https://foobot.io/features/). - -This sensor requires an API token. Please obtain one at [Foobot API site](https://api.foobot.io/apidoc/index.html). - -## {% linkable_title Configuring the Platform %} - -To enable this sensor, add the following lines to your `configuration.yaml` file: - -```yaml -sensor: - - platform: foobot - token: FOOBOT_SECRET_KEY - username: FOOBOT_USERNAME -``` - -{% configuration %} - token: - description: The token for the Foobot API. - required: true - type: string - username: - description: Your Foobot username, used to fetch devices associated with an account. - required: true - type: string -{% endconfiguration %} - -## {% linkable_title Available Metrics %} - -Every ten minutes, it'll fetch the last ten minutes average of the following measurements: - - * Temperature - * Humidity - * Co2 - * VOC - * PM2.5 - * [Index](https://help.foobot.io/hc/en-us/articles/204814371-What-does-central-number-mean-) diff --git a/source/_components/sensor.fritzbox_callmonitor.markdown b/source/_components/sensor.fritzbox_callmonitor.markdown index dd57677a9c..157e338e43 100644 --- a/source/_components/sensor.fritzbox_callmonitor.markdown +++ b/source/_components/sensor.fritzbox_callmonitor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "FRITZ!Box Call Monitor" -description: "Instructions on how to integrate a phone call monitor for AVM FRITZ!Box routers into Home Assistant." +description: "Instructions how to integrate a phone call monitor for AVM FRITZ!Box routers into Home Assistant." date: 2016-08-13 15:00 sidebar: true comments: false @@ -14,11 +14,10 @@ ha_iot_class: "Local Polling" --- -The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes. +The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers +on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing`, or `talking` with the phone numbers involved contained in the state attributes. It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes. -## {% linkable_title Configuration %} - To activate the call monitor on your Fritz!Box, dial #96\*5\* from any phone connected to it. To use the Fritz!Box call monitor in your installation, add the following to your `configuration.yaml` file: @@ -45,7 +44,7 @@ Configuration variables: The example below shows a full configuration for a call monitor with phone book support. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: fritzbox_callmonitor name: Phone @@ -62,9 +61,8 @@ sensor: This example shows how to send notifications whenever the sensor's state changes. You will get notified both when you receive a call and also when a call is placed. -{% raw %} ```yaml -# Example configuration.yaml entry. +# Example configuration.yml entry. automation: - alias: "Notify about phone state" trigger: @@ -75,7 +73,7 @@ automation: data: title: "Phone" message: >- - {% if is_state("sensor.phone", "idle") %} + {% raw %}{% if is_state("sensor.phone", "idle") %} Phone is idle {% elif is_state("sensor.phone", "dialing") %} Calling {{ states.sensor.phone.attributes.to_name }} ({{ states.sensor.phone.attributes.to }}) @@ -83,6 +81,5 @@ automation: Incoming call from {{ states.sensor.phone.attributes.from_name }} ({{ states.sensor.phone.attributes.from }}) {% else %} Talking to {{ states.sensor.phone.attributes.with_name }} ({{ states.sensor.phone.attributes.with }}) - {% endif %} + {% endif %}{% endraw %} ``` -{% endraw %} diff --git a/source/_components/sensor.fritzbox_netmonitor.markdown b/source/_components/sensor.fritzbox_netmonitor.markdown index 58eea96a16..9842499a1a 100644 --- a/source/_components/sensor.fritzbox_netmonitor.markdown +++ b/source/_components/sensor.fritzbox_netmonitor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "FRITZ!Box Net Monitor" -description: "Instructions on how to integrate an AVM FRITZ!Box monitor into Home Assistant." +description: "Instructions how to integrate an AVM FRITZ!Box monitor into Home Assistant." date: 2017-01-17 22:00 sidebar: true comments: false diff --git a/source/_components/sensor.geizhals.markdown b/source/_components/sensor.geizhals.markdown index c978074056..13f02fc7a1 100644 --- a/source/_components/sensor.geizhals.markdown +++ b/source/_components/sensor.geizhals.markdown @@ -14,7 +14,7 @@ ha_release: "0.51" --- -The `geizhals` sensor will give you the best price of a product from [Geizhals](https://geizhals.de) or related site. With this information can be used in e.g., automations to notify you when a price drops. +The `geizhals` sensor will give you the best price of a product from [Geizhals](https://geizhals.de) or related site. With this information can be used in e.g. automations to notify you when a price drops. To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -29,7 +29,7 @@ sensor: Configuration variables: - **name** (*Required*): The internal name of the product in Home Assistant. -- **product_id** (*Required*): ID of the product. Get the ID from the geizhals website of your chosen product by clicking on the *Price History* tab, e.g., [here](https://geizhals.de/?phist=1453021). The URL of this site reveals the ID, e.g., with `product_id: 1453021`. +- **product_id** (*Required*): ID of the product. Get the ID from the geizhals website of your chosen product by clicking on the *Price History* tab, e.g. [here](https://geizhals.de/?phist=1453021). The URL of this site reveals the ID, e.g. with `product_id: 1453021`. - **description** (*Optional*): The name of the product in the front end. - **domain** (*Optional*): Domain which should be used for the request. Set this to `geizhals.at`, `geizhals.eu`, `geizhals.de`, `skinflint.co.uk` or `cenowarka.pl`. Defaults to `geizhals.de`. - **regex** (*Optional*): Regular expression to parse the price. Default: `\D\s(\d*)[\,|\.](\d*)`. diff --git a/source/_components/sensor.gitter.markdown b/source/_components/sensor.gitter.markdown index 72f3c4b7dc..55b8d29fe4 100644 --- a/source/_components/sensor.gitter.markdown +++ b/source/_components/sensor.gitter.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Gitter Sensor" -description: "Instructions on how to integrate a Gitter room sensor with Home Assistant" +description: "Instructions how to integrate a Gitter room sensor with Home Assistant" date: 2017-06-11 09:00 sidebar: true comments: false @@ -15,27 +15,19 @@ ha_release: 0.47 This `gitter` sensor allows one to monitor a [Gitter.im](https://gitter.im) chatroom for unread messages. -## {% linkable_title Configuration %} - Visit [Gitter Developer Apps](https://developer.gitter.im/apps) to retrieve your "Personal Access Token". To use a Gitter sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: gitter api_key: YOUR_API_TOKEN ``` -{% configuration %} -api_key: - description: Your Gitter.im API token. - required: true - type: string -room: - description: Gitter room to monitor. - required: false - type: string - default: home-assistant/home-assistant -{% endconfiguration %} +Configuration variables: + +- **api_key** (*Required*): Your Gitter.im API token. +- **room** (*Optional*): Gitter room to monitor. Defaults to `home-assistant/home-assistant` + diff --git a/source/_components/sensor.glances.markdown b/source/_components/sensor.glances.markdown index f455945493..03b25369a7 100644 --- a/source/_components/sensor.glances.markdown +++ b/source/_components/sensor.glances.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Glances" -description: "Instructions on how to integrate Glances sensors into Home Assistant." +description: "Instructions how to integrate Glances sensors into Home Assistant." date: 2015-09-14 19:10 sidebar: true comments: false @@ -58,9 +58,6 @@ sensor: - 'process_thread' - 'process_sleeping' - 'cpu_temp' - - 'docker_active' - - 'docker_cpu_use' - - 'docker_memory_use' ``` Configuration variables: @@ -84,8 +81,5 @@ Configuration variables: - **process_thread**: Number of threads - **process_sleeping**: Number of sleeping processes - **cpu_temp**: CPU Temperature (may not available on all platforms) - - **docker_active**: Count of active Docker containers - - **docker_cpu_use**: Total CPU usage in percent of Docker containers - - **docker_memory_use**: Total memory used of Docker containers Not all platforms are able to provide all metrics. For instance `cpu_temp` is requires installing and configuring `lmsensors` in Ubuntu, and may not be available at all in other platforms. diff --git a/source/_components/sensor.google_wifi.markdown b/source/_components/sensor.google_wifi.markdown index 303c89ed0a..76bb37400a 100644 --- a/source/_components/sensor.google_wifi.markdown +++ b/source/_components/sensor.google_wifi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Google Wifi" -description: "Instructions on how to integrate Google Wifi/OnHub routers into Home Assistant." +description: "Instructions how to integrate Google Wifi/OnHub routers into Home Assistant." date: 2017-07-15 21:22 sidebar: true comments: false diff --git a/source/_components/sensor.gpsd.markdown b/source/_components/sensor.gpsd.markdown index 82448cd970..0436c5f3d1 100644 --- a/source/_components/sensor.gpsd.markdown +++ b/source/_components/sensor.gpsd.markdown @@ -1,7 +1,7 @@ --- layout: page title: "GPSD" -description: "Instructions on how to integrate GPSD into Home Assistant." +description: "Instructions how to integrate GPSD into Home Assistant." date: 2016-07-18 07:00 sidebar: true comments: false diff --git a/source/_components/sensor.haveibeenpwned.markdown b/source/_components/sensor.haveibeenpwned.markdown index 7a6b7bc1b3..d58401931b 100644 --- a/source/_components/sensor.haveibeenpwned.markdown +++ b/source/_components/sensor.haveibeenpwned.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HaveIBeenPwned Sensor" -description: "Instructions on how to integrate HaveIBeenPwned sensor into Home Assistant." +description: "Instructions how to integrate HaveIBeenPwned sensor into Home Assistant." date: 2016-09-29 18:00 sidebar: true comments: false diff --git a/source/_components/sensor.hddtemp.markdown b/source/_components/sensor.hddtemp.markdown index 0116bedde1..73c84fd8a1 100644 --- a/source/_components/sensor.hddtemp.markdown +++ b/source/_components/sensor.hddtemp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HDDTemp" -description: "Instructions on how to integrate hard drive temperature information into Home Assistant." +description: "Instructions how to integrate hard drive temperature information into Home Assistant." date: 2016-10-28 07:00 sidebar: true comments: false diff --git a/source/_components/sensor.hive.markdown b/source/_components/sensor.hive.markdown index 0d4d087516..3e7350e147 100644 --- a/source/_components/sensor.hive.markdown +++ b/source/_components/sensor.hive.markdown @@ -14,12 +14,8 @@ ha_iot_class: "Cloud Polling" --- -The `hive` sensor component exposes Hive data as a sensor. +The 'hive' sensor component can expose as a sensor the current online status of your Hive Hub. -The platform exposes the following sensors: - -- Hive Hub Online Status -- Hive Outside Temperature

Full configuration details can be found on the main [Hive component](/components/hive/) page. diff --git a/source/_components/sensor.homematic.markdown b/source/_components/sensor.homematic.markdown index 005011cea6..aea1b6d5ef 100644 --- a/source/_components/sensor.homematic.markdown +++ b/source/_components/sensor.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Sensor" -description: "Instructions on how to integrate Homematic sensors within Home Assistant." +description: "Instructions how to integrate Homematic sensors within Home Assistant." date: 2016-06-28 08:30 sidebar: true comments: false diff --git a/source/_components/sensor.homematicip_cloud.markdown b/source/_components/sensor.homematicip_cloud.markdown deleted file mode 100644 index bfb8449890..0000000000 --- a/source/_components/sensor.homematicip_cloud.markdown +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: page -title: "HomematicIP Cloud Sensor" -description: "Instructions on how to integrate HomematIP sensors within Home Assistant." -date: 2018-04-02 13:40 -sidebar: true -comments: false -sharing: true -footer: true -logo: homematic.png -ha_category: Sensor -ha_release: 0.66 -ha_iot_class: "Local Push" ---- - -The `homematicip_cloud` sensor platform allows you to control -[HomematicIP](http://www.homematicip.de) sensors through Home Assistant. - -Devices will be configured automatically. Please refer to the -[component](/components/homematicip_cloud/) configuration on how to setup -HomematicIP Cloud. diff --git a/source/_components/sensor.hp_ilo.markdown b/source/_components/sensor.hp_ilo.markdown index f242584b9d..1f51f2052c 100644 --- a/source/_components/sensor.hp_ilo.markdown +++ b/source/_components/sensor.hp_ilo.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" The `hp_ilo` platform allows you to do an API call to the HP ILO (Integrated Lights-Out) sensor of your server, and use this data in Home Assistant sensors. -If the ILO or specified jsonpath query returns only a single value (e.g., a temperature or state), it will be put in the state field. If a data structure is returned, it will be placed in the `ilo_data` attribute. +If the ILO or specified jsonpath query returns only a single value (e.g. a temperature or state), it will be put in the state field. If a data structure is returned, it will be placed in the `ilo_data` attribute. Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](http://pythonhosted.org/python-hpilo/). @@ -23,7 +23,6 @@ Some more details about what can be retrieved from these sensors is available in

-## {% linkable_title Configuration %} To use this component in your installation, add the following to your `configuration.yaml` file: @@ -32,8 +31,8 @@ To use this component in your installation, add the following to your `configura sensor: - platform: hp_ilo host: IP_ADDRESS or HOSTNAME - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD monitored_variables: - name: SENSOR NAME sensor_type: SENSOR TYPE @@ -64,7 +63,7 @@ Valid sensor_types: - **server_health**: Get server health information. - **network_settings**: Get the iLO network settings. -## {% linkable_title Example %} +### Example In order to get two sensors reporting CPU fan speed and Ambient Inlet Temperature, as well as a dump of `server_health` on a HP Microserver Gen8, you could use the following in your `configuration.yaml` file @@ -72,8 +71,8 @@ In order to get two sensors reporting CPU fan speed and Ambient Inlet Temperatur sensor: - platform: hp_ilo host: IP_ADDRESS or HOSTNAME - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD monitored_variables: - name: CPU fanspeed sensor_type: server_health diff --git a/source/_components/sensor.http.markdown b/source/_components/sensor.http.markdown index 9b0ec80fe1..c119330eb4 100644 --- a/source/_components/sensor.http.markdown +++ b/source/_components/sensor.http.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HTTP Sensor" -description: "Instructions on how to integrate HTTP sensors within Home Assistant." +description: "Instructions how to integrate HTTP sensors within Home Assistant." date: 2016-02-05 12:15 sidebar: true comments: false diff --git a/source/_components/sensor.htu21d.markdown b/source/_components/sensor.htu21d.markdown index a485fb0c38..f81b0f6c71 100644 --- a/source/_components/sensor.htu21d.markdown +++ b/source/_components/sensor.htu21d.markdown @@ -1,7 +1,7 @@ --- layout: page title: "HTU21D Temperature and humidity sensor" -description: "Instructions on how to integrate a HTU21D Temperature and humidity sensor into Home Assistant." +description: "Instructions how to integrate a HTU21D Temperature and humidity sensor into Home Assistant." date: 2017-06-10 00:00 sidebar: true comments: false diff --git a/source/_components/sensor.hydroquebec.markdown b/source/_components/sensor.hydroquebec.markdown index 891f74ae21..18de06c9c7 100644 --- a/source/_components/sensor.hydroquebec.markdown +++ b/source/_components/sensor.hydroquebec.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Hydro-Québec" -description: "Instructions on how to integrate Hydro-Québec consumption profile within Home Assistant." +description: "Instructions how to integrate Hydro-Québec consumption profile within Home Assistant." date: 2016-12-10 0:15 sidebar: true comments: false diff --git a/source/_components/sensor.ihc.markdown b/source/_components/sensor.ihc.markdown index b3e91ed982..70ec6c11e2 100644 --- a/source/_components/sensor.ihc.markdown +++ b/source/_components/sensor.ihc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IHC Sensor" -description: "Instructions on how to integrate IHC Sensors within Home Assistant." +description: "Instructions how to integrate IHC Sensors within Home Assistant." date: 2017-11-27 13:35 sidebar: true comments: false diff --git a/source/_components/sensor.imap.markdown b/source/_components/sensor.imap.markdown index a3b9af23b2..34fd3df923 100644 --- a/source/_components/sensor.imap.markdown +++ b/source/_components/sensor.imap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IMAP Unread E-mail" -description: "Instructions on how to integrate IMAP unread email into Home Assistant." +description: "Instructions how to integrate IMAP unread email into Home Assistant." date: 2016-07-11 06:00 sidebar: true comments: false @@ -24,8 +24,8 @@ sensor: - platform: imap server: imap.gmail.com port: 993 - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` Configuration variables: diff --git a/source/_components/sensor.imap_email_content.markdown b/source/_components/sensor.imap_email_content.markdown index 22212426f6..35f9d2d694 100644 --- a/source/_components/sensor.imap_email_content.markdown +++ b/source/_components/sensor.imap_email_content.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IMAP Email Content" -description: "Instructions on how to integrate IMAP email content sensor into Home Assistant." +description: "Instructions how to integrate IMAP email content sensor into Home Assistant." date: 2016-09-09 12:30 sidebar: true comments: false diff --git a/source/_components/sensor.influxdb.markdown b/source/_components/sensor.influxdb.markdown index 66680379f7..32f18814a2 100644 --- a/source/_components/sensor.influxdb.markdown +++ b/source/_components/sensor.influxdb.markdown @@ -1,7 +1,7 @@ --- layout: page title: "InfluxDB Sensor" -description: "Instructions on how to integrate InfluxDB sensors within Home Assistant." +description: "Instructions how to integrate InfluxDB sensors within Home Assistant." date: 2016-10-26 23:15 sidebar: true comments: false diff --git a/source/_components/sensor.insteon_plm.markdown b/source/_components/sensor.insteon_plm.markdown deleted file mode 100644 index 1974ea9540..0000000000 --- a/source/_components/sensor.insteon_plm.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: page -title: "Insteon PLM Sensor" -description: "Instructions on how to setup the Insteon PLM sensors locally within Home Assistant." -date: 2017-02-19 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: insteon.png -ha_category: Sensor -ha_iot_class: "Local Push" -ha_version: 0.65 ---- - -The `insteon_plm` sensor platform lets you control your sensors through -an INSTEON PowerLinc Modem (PLM) device connected directly to your system on a -USB or serial port. To add support, set up the primary [insteon_plm] -component. - -[insteon_plm]: /components/insteon_plm/ - diff --git a/source/_components/sensor.isy994.markdown b/source/_components/sensor.isy994.markdown index 0be49fb0e1..60913660ef 100644 --- a/source/_components/sensor.isy994.markdown +++ b/source/_components/sensor.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Sensor" -description: "Instructions on how to integrate ISY994 sensors into Home Assistant." +description: "Instructions how to integrate ISY994 sensors into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/sensor.juicenet.markdown b/source/_components/sensor.juicenet.markdown index 03bad7fccc..b65740d15e 100644 --- a/source/_components/sensor.juicenet.markdown +++ b/source/_components/sensor.juicenet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Juicenet Sensor" -description: "Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant." +description: "Instructions how to setup WiFi-equipped Juicenet charging stations with Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/sensor.kira.markdown b/source/_components/sensor.kira.markdown index 1306cf161b..3f4d30443b 100644 --- a/source/_components/sensor.kira.markdown +++ b/source/_components/sensor.kira.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Kira Sensor" -description: "Instructions on how to integrate Kira modules into Home Assistant." +description: "Instructions how to integrate Kira modules into Home Assistant." date: 2017-05-07 17:00 sidebar: true comments: false diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown index f7e7892022..d44e76e2e3 100644 --- a/source/_components/sensor.knx.markdown +++ b/source/_components/sensor.knx.markdown @@ -34,5 +34,5 @@ sensor: - **name** (*Optional*): A name for this device used within Home Assistant. - **address**: KNX group address of the sensor. -- **type** (Optional): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed". +- **type** (Optional): "percent", "temperature", "illuminance", "speed_ms", "current". diff --git a/source/_components/sensor.kwb.markdown b/source/_components/sensor.kwb.markdown index 8c93feb4dd..7148e016f2 100644 --- a/source/_components/sensor.kwb.markdown +++ b/source/_components/sensor.kwb.markdown @@ -1,7 +1,7 @@ --- layout: page title: "KWB Easyfire Sensor" -description: "Instructions on how to integrate the KWB Easyfire sensor into Home Assistant." +description: "Instructions how to integrate the KWB Easyfire sensor into Home Assistant." date: 2017-03-06 14:10 sidebar: true comments: false diff --git a/source/_components/sensor.lacrosse.markdown b/source/_components/sensor.lacrosse.markdown index 5218a2b710..f5abbb4a05 100644 --- a/source/_components/sensor.lacrosse.markdown +++ b/source/_components/sensor.lacrosse.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LaCrosse Sensor" -description: "Instructions on how to integrate LaCrosse sensor data received from Jeelink into Home Assistant." +description: "Instructions how to integrate LaCrosse sensor data received from Jeelink into Home Assistant." date: 2017-10-29 15:00 sidebar: true comments: false diff --git a/source/_components/sensor.lastfm.markdown b/source/_components/sensor.lastfm.markdown index 8a78726e38..218e2f2a8e 100644 --- a/source/_components/sensor.lastfm.markdown +++ b/source/_components/sensor.lastfm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Last.fm" -description: "Instructions on how to integrate Last.fm sensors into Home Assistant." +description: "Instructions how to integrate Last.fm sensors into Home Assistant." date: 2016-05-18 09:00 sidebar: true comments: false diff --git a/source/_components/sensor.linux_battery.markdown b/source/_components/sensor.linux_battery.markdown index 4bc3ea6b7c..13fc3d3e2f 100644 --- a/source/_components/sensor.linux_battery.markdown +++ b/source/_components/sensor.linux_battery.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Linux Battery" -description: "Instructions on how to integrate Linux Battery information into Home Assistant." +description: "Instructions how to integrate Linux Battery information into Home Assistant." date: 2016-09-06 07:00 sidebar: true comments: false diff --git a/source/_components/sensor.london_air.markdown b/source/_components/sensor.london_air.markdown index b6713b73dc..d5c9bad344 100644 --- a/source/_components/sensor.london_air.markdown +++ b/source/_components/sensor.london_air.markdown @@ -59,7 +59,7 @@ Configuration variables: - **locations** array (*Required*): At least one entry required. -To explore the data available within the `data` attribute of a sensor use the `dev-template` tool on the Home-assistant frontend. `data` contains a list of monitored sites, where the number of monitored sites are given by the `sites` attribute. If a sensor has four sites, access the fourth site by indexing the list of sites using data[3]. Each site is a dictionary with multiple fields, with entries for the `latitude` and `longitude` of that site, a `pollution_status`, `site_code`, `site_name` and `site_type`. The field `number_of_pollutants` states how many pollutants are monitored (of the possible six) and the field `pollutants` returns a list with data for each pollutant. To access the first pollutant in the list for site zero use `attributes.data[0].pollutants[0]`. Each entry in `pollutants` is a dictionary with fields for the pollutant `code`, `description`, `index`, `quality` and a `summary`. [Template sensors](/components/sensor.template/) can then be added to display these attributes, for example: +To explore the data available within the `data` attribute of a sensor use the `dev-template` tool on the Home-assistant frontend. `data` contains a list of monitored sites, where the number of monitored sites are given by the `sites` attribute. If a sensor has four sites, access the fourth site by indexing the list of sites using data[3]. Each site is a dictionary with multiple fields, with entries for the `latitude` and `longitude` of that site, a `pollution_status`, `site_code`, `site_name` and `site_type`. The field `number_of_pollutants` states how many pollutants are monitored (of the possible six) and the field `pollutants` returns a list with data for each pollutant. To access the first pollutant in the list for site zero use `attributes.data[0].pollutants[0]`. Each entry in `pollutants` is a dictionary with fields for the pollutant `code`, `description`, `index`, `quality` and a `summary`. [Template sensors](https://home-assistant.io/components/sensor.template/) can then be added to display these attributes, for example: ```yaml # Example template sensors diff --git a/source/_components/sensor.loop_energy.markdown b/source/_components/sensor.loop_energy.markdown index fc38aed98e..55f8770b82 100644 --- a/source/_components/sensor.loop_energy.markdown +++ b/source/_components/sensor.loop_energy.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Loop Energy" -description: "Instructions on how to integrate Loop Energy devices within Home Assistant." +description: "Instructions how to integrate Loop Energy devices within Home Assistant." date: 2016-04-02 22:00 sidebar: true comments: false diff --git a/source/_components/sensor.luftdaten.markdown b/source/_components/sensor.luftdaten.markdown index 8e4a41cdef..6417ee5e0a 100644 --- a/source/_components/sensor.luftdaten.markdown +++ b/source/_components/sensor.luftdaten.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Luftdaten Sensor" -description: "Instructions on how to setup Luftdaten sensor in Home Assistant." +description: "Instructions how to setup Luftdaten sensor in Home Assistant." date: 2017-11-01 00:00 sidebar: true comments: false @@ -60,17 +60,8 @@ sensor: description: Display the humidity from the sensor. pressure: description: Display the pressure from the sensor. - show_on_map: - description: Option to show the position of the sensor on the map. - required: optional - default: false - type: boolean {% endconfiguration %} -

-If you set `show_on_map` to `True` then the location attributes are named `latitude` and `longitude`. The default name of the location attributes is `lat` and `long` to avoid showing them on the map. -

- Not all sensors provide all conditions. Also, it's possible that the sensor values are not available all the time. To check what a sensor is publishing use `curl`: ```bash diff --git a/source/_components/sensor.markdown b/source/_components/sensor.markdown index 647f0e7ab0..9f446e5266 100644 --- a/source/_components/sensor.markdown +++ b/source/_components/sensor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sensor" -description: "Instructions on how to setup your sensors with Home Assistant." +description: "Instructions how to setup your sensors with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false @@ -9,21 +9,8 @@ sharing: true footer: true --- -Sensors are gathering information about states and conditions. +Sensors are gathering information about states and conditions. -Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home Assistant directly, are gathered from web services, and, of course, physical devices. Please check the sidebar for a full list of supported sensor platforms. +Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home assistant directly, are gathered from web services, and, of course, physical devices. Please check the sidebar for a full list of supported sensor platforms. -### {% linkable_title Device Class %} -The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for sensors: - -- **None**: Generic sensor. This is the default and doesn't need to be set. -- **battery**: Percentage of battery that is left. -- **humidity**: Percentage of humidity in the air. -- **illuminance**: The current light level in lx or lm. -- **temperature**: Temperature in °C or °F. - -

- -Example of various device class icons for sensors. -

diff --git a/source/_components/sensor.melissa.markdown b/source/_components/sensor.melissa.markdown deleted file mode 100644 index 4b18248d52..0000000000 --- a/source/_components/sensor.melissa.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "Melissa Sensor" -description: "Instructions on how to integrate Melissa sensors into Home Assistant." -date: 2017-08-30 12:21 -sidebar: true -comments: false -sharing: true -footer: true -logo: mclimate.png -ha_category: Sensor -ha_iot_class: "Cloud Polling" -ha_release: 0.63 ---- - -The `Melissa` platform allows you to get data from your [Melissa](http://seemelissa.com/) sensors from within Home Assistant. - -The sensor platform will be automatically configured if Melissa component is configured. - -For more configuration information see the [Melissa component](/components/melissa/) documentation. diff --git a/source/_components/sensor.mercedesme.markdown b/source/_components/sensor.mercedesme.markdown deleted file mode 100644 index da5fd9ba45..0000000000 --- a/source/_components/sensor.mercedesme.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "Mercedes me Sensor" -description: "Instructions on how to integrate Mercedes me sensors into Home Assistant." -date: 2018-01-27 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: mercedesme.png -ha_category: Sensor -ha_iot_class: "Cloud Push" -ha_release: 0.63 ---- - -The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors from within Home Assistant. - -The sensor platform will be automatically configured if Mercedes me component is configured. - -For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation. diff --git a/source/_components/sensor.mfi.markdown b/source/_components/sensor.mfi.markdown index 4498c4d328..bcf44344df 100644 --- a/source/_components/sensor.mfi.markdown +++ b/source/_components/sensor.mfi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "mFi Sensor" -description: "Instructions on how to integrate mFi sensors within Home Assistant." +description: "Instructions how to integrate mFi sensors within Home Assistant." date: 2016-02-07 10:00 sidebar: true comments: false @@ -16,17 +16,15 @@ ha_release: 0.32 The `mfi` sensor platform to allow you to monitor [mFi mPort interface and sensors](https://www.ubnt.com/mfi/mport/). -## {% linkable_title Configuration %} - To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: mfi - host: IP_ADDRESS_OF_SENSOR - username: YOUR_USERNAME - password: YOUR_PASSWORD + host: IP_ADDRESS + username: USERNAME + password: PASSWORD ``` Configuration variables: diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 1034b4a5b3..8fcfca3d09 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -18,8 +18,8 @@ The `miflora` sensor platform allows one to monitor plants. The [Mi Flora plant # Installation Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system: -- On [Hass.io](/hassio/installation/): Miflora will work out of the box. -- On other Linux systems: +- On [Hass.io](https://home-assistant.io/hassio/installation/): Miflora will work out of the box. +- On other Linux systems: - Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.    - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` - Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/). @@ -38,7 +38,7 @@ C4:D3:8C:12:4C:57 Flower mate Or if your distribution is using bluetoothctl: ```bash -$ bluetoothctl +$ bluetoothctl [bluetooth]# scan on [NEW] Controller [default] [NEW] F8:04:33:AF:AB:A2 [TV] UE48JU6580 @@ -68,13 +68,13 @@ sensor: - **battery**: Battery details. - **name** (*Optional*): The name displayed in the frontend. - **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. +- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. - **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined) - **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined) - **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined) - **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. -Note that by default the sensor is only polled once every 20 minutes. This means with the `median: 3` setting will take as least 40 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem. +Note that by default the sensor is only polled once every 15 minutes. This means with the `median: 3` setting will take as least 30 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem. Reducing polling intervals will have a negative effect on the battery life. A full configuration example could look like the one below: diff --git a/source/_components/sensor.min_max.markdown b/source/_components/sensor.min_max.markdown index 428e848566..a71e0650e2 100644 --- a/source/_components/sensor.min_max.markdown +++ b/source/_components/sensor.min_max.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Min/max Sensor" -description: "Instructions on how to integrate min/max sensors into Home Assistant." +description: "Instructions how to integrate min/max sensors into Home Assistant." date: 2016-10-13 12:00 sidebar: true comments: false diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown deleted file mode 100644 index 0cfaa72542..0000000000 --- a/source/_components/sensor.mitemp_bt.markdown +++ /dev/null @@ -1,93 +0,0 @@ ---- -layout: page -title: "Xiaomi BLE Temperature and Humidity sensor" -description: "Instructions on how to integrate MiTemp BLE temperature and humidity sensor with Home Assistant." -date: 2018-04-22 12:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: DIY -ha_release: 0.69 -ha_iot_class: "Local Polling" ---- - -The `mitemp_bt` sensor platform allows one to monitor room temperature and humidity. The [Xiaomi Mijia BLE Temperature and Humidity sensor with LCD](https://www.amazon.com/Temperature-Humidity-Xiaomi-Bluetooth-Screen-Remote/dp/B079L6N6PC) is a small Bluetooth Low Energy device that monitors the room temperature and humidity. As only a single BLE device can be polled at the same time, the library employs locking to make sure this is the case. - -# Installation -Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system: - -- On [Hass.io](/hassio/installation/): Not yet supported. -- On other Linux systems: - - Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one. -    - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` -- Windows and MacOS are currently not supported by the btlewrap library. - -# Configuration -Start a scan to determine the MAC addresses of the sensor: - -```bash -$ sudo hcitool lescan -LE Scan ... -4C:65:A8:D2:31:7F MJ_HT_V1 -[...] -``` - -Or if your distribution is using bluetoothctl: - -```bash -$ bluetoothctl -[bluetooth]# scan on -Discovery started -[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes -[NEW] Device 4C:65:A8:D2:31:7F MJ_HT_V1 - -``` - - -Check for `MJ_HT_V1` or similar entries, those are your sensor. - -To use your Mi Temperature and Humidity sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: mitemp_bt - mac: 'xx:xx:xx:xx:xx:xx' - monitored_conditions: - - temperature -``` - -- **mac** (*Required*): The MAC address of your sensor. -- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters). - - **temperature**: Temperature in C at the sensor's location. - - **humidity**: Humidity level in % at the sensor's location. - - **battery**: Battery details (in %). -- **name** (*Optional*): The name displayed in the frontend. -- **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. -- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined) -- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined) -- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined) -- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. - -Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperaturs don't change that quickly. -Reducing polling intervals will have a negative effect on the battery life. - -A full configuration example could look like the one below: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: mitemp_bt - mac: 'xx:xx:xx:xx:xx:xx' - name: Kids Room Temp - force_update: false - median: 3 - monitored_conditions: - - temperature - - humidity - - battery -``` - diff --git a/source/_components/sensor.modbus.markdown b/source/_components/sensor.modbus.markdown index 5868888488..70cbfb494c 100644 --- a/source/_components/sensor.modbus.markdown +++ b/source/_components/sensor.modbus.markdown @@ -1,7 +1,7 @@ --- layout: page title: Modbus Sensor -description: "Instructions on how to integrate Modbus sensors into Home Assistant." +description: "Instructions how to integrate Modbus sensors into Home Assistant." date: 2015-08-30 23:38 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: "Local Push" The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers. -## {% linkable_title Configuration %} - To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: platform: modbus registers: diff --git a/source/_components/sensor.modem_callerid.markdown b/source/_components/sensor.modem_callerid.markdown index 6fa1ed1919..d2d0340bb3 100644 --- a/source/_components/sensor.modem_callerid.markdown +++ b/source/_components/sensor.modem_callerid.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Caller ID Sensor" -description: "Instructions on how to integrate the Caller ID sensor into Home Assistant." +description: "Instructions how to integrate the Caller ID sensor into Home Assistant." date: 2017-02-20 22:10 sidebar: true comments: false @@ -31,7 +31,7 @@ To find the path of your USB modem, run: `$ ls /dev/ttyACM*` -If Home Assistant (`hass`) runs with another user (e.g., `homeassistant` on Hassbian) give access to the stick with: +If Home Assistant (`hass`) runs with another user (e.g. `homeassistant` on Hassbian) give access to the stick with: `$ sudo usermod -a -G dialout homeassistant` diff --git a/source/_components/sensor.mold_indicator.markdown b/source/_components/sensor.mold_indicator.markdown index b14f077a19..74d91d671d 100644 --- a/source/_components/sensor.mold_indicator.markdown +++ b/source/_components/sensor.mold_indicator.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" The Mold Indicator sensor component consumes information of two temperature sensors and a humidity sensor to give an indication for possible mold growth in your home. In case of bad ventilation and insulation, the indoor humidity may lead to condensation on cold surfaces as the windows or even walls. Condensation or a high relative humidity near those cold surfaces leads to a higher risk for mold growth. This sensor component estimates the temperature at a pre-calibrated critical point in the room (the coldest surface) and calculates the relative humidity of the air at that point. If the sensor value rises above approximately 70 percent, mold growth might occur and the room should be ventilated. At 100%, the air humidity condensates at the critical point. -The sensor data may be used e.g., to signal bad air quality (too high air humidity) or to automate operation of indoor air humidifiers to keep the indoor humidity at an optimum. To use the Mold Indicator sensor in your installation, add the following to your `configuration.yaml` file: +The sensor data may be used e.g. to signal bad air quality (too high air humidity) or to automate operation of indoor air humidifiers to keep the indoor humidity at an optimum. To use the Mold Indicator sensor in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.moon.markdown b/source/_components/sensor.moon.markdown index 8b90dc0a44..327d221431 100644 --- a/source/_components/sensor.moon.markdown +++ b/source/_components/sensor.moon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Moon Sensor" -description: "Instructions on how to integrate the moon sensor into Home Assistant." +description: "Instructions how to integrate the moon sensor into Home Assistant." date: 2017-02-03 07:10 sidebar: true comments: false diff --git a/source/_components/sensor.mopar.markdown b/source/_components/sensor.mopar.markdown index 6514684183..3357ae9193 100644 --- a/source/_components/sensor.mopar.markdown +++ b/source/_components/sensor.mopar.markdown @@ -24,28 +24,18 @@ Be sure you have a [mopar.com](http://mopar.com) account with your vehicle(s) re To enable this sensor, add the following lines to your `configuration.yaml`. ```yaml -# Example configuration.yaml entry sensor: - platform: mopar - username: YOUR_USERNAME - password: YOUR_PASSWORD - pin: YOUR_UCONNECT_PIN + username: + password: + pin: ``` -{% configuration %} -username: - description: Your mopar.com username. - required: true - type: string -password: - description: Your mopar.com password. - required: true - type: string -pin: - description: v - required: true - type: string -{% endconfiguration %} +Configuration options for the Mopar sensor: + +- **username** (*Required*): Your mopar.com username. +- **password** (*Required*): Your mopar.com password. +- **pin** (*Required*): Your uConnect pin. ## {% linkable_title Service %} diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index 0b44200064..e6b96b3bc1 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Sensor" -description: "Instructions on how to integrate MQTT sensors within Home Assistant." +description: "Instructions how to integrate MQTT sensors within Home Assistant." date: 2015-05-30 23:21 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: depends This `mqtt` sensor platform uses the MQTT message payload as the sensor value. If messages in this `state_topic` are published with *RETAIN* flag, the sensor will receive an instant update with last known value. Otherwise, the initial state will be undefined. -## {% linkable_title Configuration %} - To use your MQTT sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt state_topic: "home/bedroom/temperature" @@ -46,10 +44,6 @@ unit_of_measurement: description: Defines the units of measurement of the sensor, if any. required: false type: string -icon: - description: Icon for the sensor (e.g. `mdi:gauge`). - required: false - type: string expire_after: description: Defines the number of seconds after the value expires if it's not updated. required: false @@ -82,50 +76,15 @@ json_attributes: description: A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes. reqired: false type: list, string -unique_id: - description: "An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception." - required: false - type: string -device_class: - description: The type/class of the sensor to set the icon in the frontend. - required: false - type: device_class - default: None {% endconfiguration %} ## {% linkable_title Examples %} In this section you find some real life examples of how to use this sensor. -### {% linkable_title JSON attributes configuration %} - -The example sensor below shows a configuration example which uses JSON in the state topic to add extra attributes. It also makes use of the availability topic. Attributes can then be extracted in [Templates](/docs/configuration/templating/#attributes). For example, to extract the `ClientName` attribute from the sensor below, use a template similar to: {% raw %}`{{ state_attr('sensor.bs_rssi', 'ClientName') }}`{% endraw %}. - -{% raw %} -```yaml -# Example configuration.yaml entry -sensor: - - platform: mqtt - name: "BS RSSI" - state_topic: "HUISHS/BunnyShed/NodeHealthJSON" - unit_of_measurement: 'dBm' - value_template: "{{ value_json.RSSI }}" - availability_topic: "HUISHS/BunnyShed/status" - payload_available: "online" - payload_not_available: "offline" - json_attributes: - - ClientName - - IP - - MAC - - RSSI - - HostName - - ConnectedSSID -``` -{% endraw %} - ### {% linkable_title Get battery level %} -If you are using the [OwnTracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from OwnTracks looks like this: +If you are using the [Owntracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from Owntracks looks like this: ```bash owntracks/tablet/tablet {"_type":"location","lon":7.21,"t":"u","batt":92,"tst":144995643,"tid":"ta","acc":27,"lat":46.12} @@ -135,13 +94,13 @@ Thus the trick is extracting the battery level from the payload. {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Battery Tablet" state_topic: "owntracks/tablet/tablet" - unit_of_measurement: '%' - value_template: "{{ value_json.batt }}" + name: "Battery Tablet" + unit_of_measurement: "%" + value_template: '{{ value_json.batt }}' ``` {% endraw %} @@ -161,29 +120,24 @@ Then use this configuration example to extract the data from the payload: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Temperature" - state_topic: "office/sensor1" + state_topic: 'office/sensor1' + name: 'Temperature' unit_of_measurement: '°C' - value_template: "{{ value_json.temperature }}" + value_template: '{{ value_json.temperature }}' - platform: mqtt - name: "Humidity" - state_topic: "office/sensor1" + state_topic: 'office/sensor1' + name: 'Humidity' unit_of_measurement: '%' - value_template: "{{ value_json.humidity }}" + value_template: '{{ value_json.humidity }}' ``` {% endraw %} ### {% linkable_title Get sensor value from a device with ESPEasy %} -Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" set a name ("Unit Name:") for your device (here it's "bathroom"). A "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example the topics are prefixed with "home". Please keep in mind that the ESPEasy default topics start with a `/` and only contain the name when writing your entry for the `configuration.yaml` file. - -- **Controller Subscribe**: `home/%sysname%/#` (instead of `/%sysname%/#`) -- **Controller Publish**: `home/%sysname%/%tskname%/%valname%` (instead of `/%sysname%/%tskname%/%valname%`) - -Also, add a sensor in the "Devices" tap with the name "analog" and "brightness" as value. +Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" set a name ("Unit Name:") for your device (here it's "bathroom"). A "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example the topics are prefixed with "home". Also, add a sensor in the "Devices" tap with the name "analog" and "brightness" as value. As soon as the unit is online, you will get the state of the sensor. @@ -197,10 +151,12 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mqtt - name: "Brightness" - state_topic: "home/bathroom/analog/brightness" + state_topic: 'home/bathroom/analog/brightness' + name: Brightness ``` {% endraw %} + + diff --git a/source/_components/sensor.mqtt_room.markdown b/source/_components/sensor.mqtt_room.markdown index 96aaa9dc7d..598dafefb1 100644 --- a/source/_components/sensor.mqtt_room.markdown +++ b/source/_components/sensor.mqtt_room.markdown @@ -16,8 +16,6 @@ ha_iot_class: depends The `mqtt_room` sensor platform allows you to detect the indoor location of devices using MQTT clients. -## {% linkable_title Configuration %} - To use this device tracker in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.mvglive.markdown b/source/_components/sensor.mvglive.markdown index 7d613d8598..d3b10f1882 100644 --- a/source/_components/sensor.mvglive.markdown +++ b/source/_components/sensor.mvglive.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MVG" -description: "Instructions on how to integrate Munich public transport departure times into Home Assistant." +description: "Instructions how to integrate Munich public transport departure times into Home Assistant." date: 2017-03-21 20:00 sidebar: true comments: false @@ -16,8 +16,6 @@ ha_iot_class: "Cloud Polling" The `mvglive` sensor will give you the departure time of the next bus, tram, subway, or train at the next station or stop in the Munich public transport network. Additional details such as the line number and destination are present in the attributes. -## {% linkable_title Configuration %} - To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml @@ -31,9 +29,9 @@ sensor: Configuration variables: - **station** (*Required*): Name of the stop or station. Visit [the MVG live web site](http://www.mvg-live.de) to find valid names. - - **destinations** (*Optional*): One or multiple final stop names, e.g., 'Feldmoching' or ['Feldmoching','Harthof']. This can be used to only consider a particular direction of travel + - **destinations** (*Optional*): One or multiple final stop names, e.g. 'Feldmoching' or ['Feldmoching','Harthof']. This can be used to only consider a particular direction of travel - **directions** (*Optional*): Filter by direction of the departure. For Tram, Bus, SEV, and S-Bahn, direction = direction. For U-Bahn trains, directions are more general. For U1, U2, U3 and U6, direction='1' indicates south-bound trains, direction='2' indicates northbound trains. For U4 and U5, direction='1' indicates east-bound trains, direction='2' indicates west-bound trains. For example, setting directions: '1' can be used to get all south-bound trains at Scheidplatz. - - **lines** (*Optional*): One or more line numbers, e.g., 'U2' or ['U2','U8','N41'] + - **lines** (*Optional*): One or more line numbers, e.g. 'U2' or ['U2','U8','N41'] - **products** (*Optional*): One or more modes of transport, defaults to all 4 modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn']. - **timeoffset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. - **name** (*Optional*): You can customize the name of the sensor, which defaults to the station name. @@ -44,7 +42,7 @@ Configuration variables: The example below shows a full configuration with three sensors that showcase the various configuration options. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: mvglive nextdeparture: diff --git a/source/_components/sensor.mysensors.markdown b/source/_components/sensor.mysensors.markdown index a6e8657014..06d90e74f8 100644 --- a/source/_components/sensor.mysensors.markdown +++ b/source/_components/sensor.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Sensor" -description: "Instructions on how to integrate MySensors sensors into Home Assistant." +description: "Instructions how to integrate MySensors sensors into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/sensor.nederlandse_spoorwegen.markdown b/source/_components/sensor.nederlandse_spoorwegen.markdown index bbdee43f63..b9a14e6605 100644 --- a/source/_components/sensor.nederlandse_spoorwegen.markdown +++ b/source/_components/sensor.nederlandse_spoorwegen.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nederlandse Spoorwegen" -description: "Instructions on how to integrate timetable data for traveling by train in the Netherlands within Home Assistant." +description: "Instructions how to integrate timetable data for traveling by train in the Netherlands within Home Assistant." date: 2017-10-25 13:35 sidebar: true comments: false @@ -24,16 +24,16 @@ Add the data to your `configuration.yaml` file as shown in the example: # Example configuration.yaml entry sensor: - platform: nederlandse_spoorwegen - email: you@example.com - password: !secret ns_password - routes: - - name: Rotterdam-Amsterdam - from: Rtd - to: Asd - - name: Groningen-Zwolle-Maastricht - from: Gn - to: Mt - via: Zl + email: you@example.com + password: !secret ns_password + routes: + - name: Rotterdam-Amsterdam + from: Rtd + to: Asd + - name: Groningen-Zwolle-Maastricht + from: Gn + to: Mt + via: Zl ``` Configuration variables: diff --git a/source/_components/sensor.nest.markdown b/source/_components/sensor.nest.markdown index 73c15de3d2..37e5d83d5a 100644 --- a/source/_components/sensor.nest.markdown +++ b/source/_components/sensor.nest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest Sensor" -description: "Instructions on how to integrate Nest sensors within Home Assistant." +description: "Instructions how to integrate Nest sensors within Home Assistant." date: 2016-01-13 19:59 sidebar: true comments: false diff --git a/source/_components/sensor.nest_weather.markdown b/source/_components/sensor.nest_weather.markdown index 971e72cb16..f2d7823055 100644 --- a/source/_components/sensor.nest_weather.markdown +++ b/source/_components/sensor.nest_weather.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Nest Weather Sensor" -description: "Instructions on how to integrate Nest sensors within Home Assistant." +description: "Instructions how to integrate Nest sensors within Home Assistant." date: 2016-01-13 19:59 sidebar: true comments: false diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 856ccc0ec4..14e71e985f 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo Sensor" -description: "Instructions on how to integrate Netatmo sensors into Home Assistant." +description: "Instructions how to integrate Netatmo sensors into Home Assistant." date: 2016-06-23 11:10 sidebar: true comments: false diff --git a/source/_components/sensor.netdata.markdown b/source/_components/sensor.netdata.markdown index 4cd3157c19..70df53e9c5 100644 --- a/source/_components/sensor.netdata.markdown +++ b/source/_components/sensor.netdata.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netdata" -description: "Instructions on how to integrate Netdata within Home Assistant." +description: "Instructions how to integrate Netdata within Home Assistant." date: 2016-12-05 07:00 sidebar: true comments: false diff --git a/source/_components/sensor.neurio_energy.markdown b/source/_components/sensor.neurio_energy.markdown index 03f9c22b58..dd6cac4ca7 100644 --- a/source/_components/sensor.neurio_energy.markdown +++ b/source/_components/sensor.neurio_energy.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Neurio" -description: "Instructions on how to integrate Neurio within Home Assistant." +description: "Instructions how to integrate Neurio within Home Assistant." date: 2016-02-15 21:50 sidebar: true comments: false diff --git a/source/_components/sensor.nzbget.markdown b/source/_components/sensor.nzbget.markdown index cb3b45fc5a..ad05e14fd0 100644 --- a/source/_components/sensor.nzbget.markdown +++ b/source/_components/sensor.nzbget.markdown @@ -1,7 +1,7 @@ --- layout: page title: "NZBGet" -description: "Instructions on how to integrate NZBGet within Home Assistant." +description: "Instructions how to integrate NZBGet within Home Assistant." date: 2016-04-08 19:59 sidebar: true comments: false diff --git a/source/_components/sensor.octoprint.markdown b/source/_components/sensor.octoprint.markdown index f16fc83ffb..129660a2f8 100644 --- a/source/_components/sensor.octoprint.markdown +++ b/source/_components/sensor.octoprint.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OctoPrint Sensor" -description: "Instructions on how to integrate OctoPrint sensors within Home Assistant." +description: "Instructions how to integrate OctoPrint sensors within Home Assistant." date: 2016-05-05 08:00 sidebar: true comments: false diff --git a/source/_components/sensor.onewire.markdown b/source/_components/sensor.onewire.markdown index d8d9076f8c..045c7e2280 100644 --- a/source/_components/sensor.onewire.markdown +++ b/source/_components/sensor.onewire.markdown @@ -1,7 +1,7 @@ --- layout: page title: "One wire Sensor" -description: "Instructions on how to integrate One wire (1-wire) sensors into Home Assistant." +description: "Instructions how to integrate One wire (1-wire) sensors into Home Assistant." date: 2017-09-15 10:10 sidebar: true comments: false @@ -25,7 +25,7 @@ Supported devices: - [DS2406/TAI-8570](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) Temperature and pressure sensor made by AAG - [DS2438/B1-R1-A](https://datasheets.maximintegrated.com/en/ds/DS2438.pdf) Temperature, pressure and humidity sensor by AAG -The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g [DS9490R](https://datasheets.maximintegrated.com/en/ds/DS9490-DS9490R.pdf)). +The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g [DS9490R](https://datasheets.maximintegrated.com/en/ds/DS9490-DS9490R.pdf)). #### Raspberry Pi setup In order to setup 1-Wire support on Raspberry Pi, you'll need to edit `/boot/config.txt` following [this documentation](https://www.waveshare.com/wiki/Raspberry_Pi_Tutorial_Series:_1-Wire_DS18B20_Sensor#Enable_1-Wire). Don't use the `mount_dir` option. @@ -37,12 +37,12 @@ When an interface adapter is used, sensors can be accessed on Linux hosts via [o This component has been modified to work with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices. If you wish to maintain continuity it can be resolved in the database by renaming the old devices to the new names. -Connect to your database using the instructions from [home-assistant.io/docs/backend/database/](/docs/backend/database/). Check the names of sensors: +Connect to your database using the instructions from [home-assistant.io/docs/backend/database/](https://home-assistant.io/docs/backend/database/). Check the names of sensors: ```sql SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 10; ``` -Alter the names of sensors using the following examples: +Alter the names of sensors using the following examples: ```sql UPDATE states SET entity_id='sensor._temperature' WHERE entity_id LIKE 'sensor.%' AND attributes LIKE '%\u00b0C%'; diff --git a/source/_components/sensor.openevse.markdown b/source/_components/sensor.openevse.markdown index e9df04e8da..a117ef20f4 100644 --- a/source/_components/sensor.openevse.markdown +++ b/source/_components/sensor.openevse.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenEVSE Sensor" -description: "Instructions on how to integrate a WiFi-equipped OpenEVSE Charging station with Home Assistant" +description: "Instructions how to integrate a WiFi-equipped OpenEVSE Charging station with Home Assistant" date: 2017-02-02 22:09 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: "Local Polling" This `openevse` sensor platform pulls data from an [OpenEVSE](https://www.openevse.com/) Charging station equipped with an ESP8266-based wifi connection. -## {% linkable_title Configuration %} - To enable this sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: openevse host: IP_ADDRESS diff --git a/source/_components/sensor.openhardwaremonitor.markdown b/source/_components/sensor.openhardwaremonitor.markdown index 6479aa9c9d..680a5f20d6 100644 --- a/source/_components/sensor.openhardwaremonitor.markdown +++ b/source/_components/sensor.openhardwaremonitor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Open Hardware Monitor Sensor" -description: "Instructions on how to integrate Open Hardware Monitor within Home Assistant." +description: "Instructions how to integrate Open Hardware Monitor within Home Assistant." date: 2017-06-16 00:00:00 sidebar: true comments: false diff --git a/source/_components/sensor.openweathermap.markdown b/source/_components/sensor.openweathermap.markdown index 48d141ddfe..6f9186a6f6 100644 --- a/source/_components/sensor.openweathermap.markdown +++ b/source/_components/sensor.openweathermap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenWeatherMap Sensor" -description: "Instructions on how to integrate OpenWeatherMap within Home Assistant." +description: "Instructions how to integrate OpenWeatherMap within Home Assistant." date: 2015-04-25 9:06 sidebar: true comments: false diff --git a/source/_components/sensor.otp.markdown b/source/_components/sensor.otp.markdown index 849f216718..2381fa180d 100644 --- a/source/_components/sensor.otp.markdown +++ b/source/_components/sensor.otp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OTP Sensor" -description: "Instructions on how to add One-Time Password (OTP) sensors into Home Assistant." +description: "Instructions how to add One-Time Password (OTP) sensors into Home Assistant." date: 2017-07-04 07:00:00 sidebar: true comments: false @@ -27,7 +27,7 @@ sensor: Configuration variables: - **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `OTP Sensor`. -- **token** (*Required*): The shared secret you use in your OTP generator (e.g., Google Authenticator on your phone) +- **token** (*Required*): The shared secret you use in your OTP generator (e.g. Google Authenticator on your phone) ## Generating a token @@ -48,5 +48,5 @@ Token: IHEDPEBEVA2WVHB7 Copy and paste the token into your Home Assistant configuration and add it to your OTP generator. Verify that they generate the same code.

-It is vital that your system clock is correct both on your Home Assistant server and on your OTP generator device (e.g., your phone). If not, the generated codes will not match! Make sure NTP is running and syncing your time correctly before creating an issue. +It is vital that your system clock is correct both on your Home Assistant server and on your OTP generator device (e.g. your phone). If not, the generated codes will not match! Make sure NTP is running and syncing your time correctly before creating an issue.

diff --git a/source/_components/sensor.pi_hole.markdown b/source/_components/sensor.pi_hole.markdown index f0b5dedbdb..809cee76ca 100644 --- a/source/_components/sensor.pi_hole.markdown +++ b/source/_components/sensor.pi_hole.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pi-Hole Sensor" -description: "Instructions on how to integrate REST sensors into Home Assistant." +description: "Instructions how to integrate REST sensors into Home Assistant." date: 2016-09-03 16:30 sidebar: true comments: false diff --git a/source/_components/sensor.pilight.markdown b/source/_components/sensor.pilight.markdown index 2a33cc2a1d..276586c98c 100644 --- a/source/_components/sensor.pilight.markdown +++ b/source/_components/sensor.pilight.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pilight Sensor" -description: "Instructions on how to integrate pilight sensors within Home Assistant." +description: "Instructions how to integrate pilight sensors within Home Assistant." date: 2016-10-08 23:21 sidebar: true comments: false @@ -14,14 +14,12 @@ ha_iot_class: depends --- -This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g., _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up. - -## {% linkable_title Configuration %} +This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g. _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up. To use your sensor via pilight, make sure it is [supported](https://wiki.pilight.org/doku.php/protocols) and add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: pilight variable: temperature diff --git a/source/_components/sensor.pollen.markdown b/source/_components/sensor.pollen.markdown deleted file mode 100644 index 8c61388224..0000000000 --- a/source/_components/sensor.pollen.markdown +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: page -title: "Pollen.com" -description: "Instructions on how to use Pollen.com data within Home Assistant" -date: 2018-01-10 19:20:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: pollen.jpg -ha_category: Health -ha_release: 0.63 -ha_iot_class: "Cloud Polling" ---- - -The `pollen` sensor platform collects and displays allergy and disease -information (based on a U.S. ZIP code) from [Pollen.com](https://www.pollen.com/). Data measured includes: - -* Indicies for allergies and cold/flu measurements -* Trends -* Current outlook -* more! - -## {% linkable_title Configuring the Platform %} - -To integrate `pollen` into Home Assistant, add the following section to your -`configuration.yaml` file (adjusting the `monitored_conditions` list to your -liking): - -```yaml -sensor: - platform: pollen - zip_code: "00544" - monitored_conditions: - - allergy_average_forecasted - - allergy_average_historical - - allergy_index_today - - allergy_index_tomorrow - - allergy_index_yesterday - - disease_average_forecasted -``` - -{% configuration %} - zip_code: - description: the U.S. ZIP code to gather data for (as a quoted string) - required: true - type: string - monitored_conditions: - description: the metric types to monitor; valid values are specified below - required: true - type: list -{% endconfiguration %} - -

-It is important to ensure the ZIP code is quoted if it starts with a 0. Unquoted -ZIP codes that start with 0 will cause errors. -

- -## {% linkable_title Available Metrics %} - -The following metrics can be monitored: - -* Allergy Index: Forecasted Average (`allergy_average_forecasted`): the average -forecasted allergy index over the next 5 days -* Allergy Index: Historical Average (`allergy_average_historical`): the average -historical allergy index over the past 30 days -* Allergy Index: Today (`allergy_index_today`): the allergy index for today -* Allergy Index: Tomorrow (`allergy_index_tomorrow`): the allergy index for -tomorrow -* Allergy Index: Yesterday (`allergy_index_yesterday`): the allergy index for -yesterday -* Cold & Flu: Forecasted Average (`disease_average_forecasted`): the average -forecasted cold/flu index over the next 5 days - -## {% linkable_title Understanding the Indices %} - -Any index-related sensor will have a value between 0.0 and 12.0. The values -map to the following human-friendly ratings: - -Range | Rating ---------- | ----------- -0.0 - 2.4 | Low -2.5 - 4.8 | Low/Medium -4.9 - 7.2 | Medium -7.3 - 9.6 | Medium/High -9.7 - 12.0 | High diff --git a/source/_components/sensor.postnl.markdown b/source/_components/sensor.postnl.markdown deleted file mode 100644 index 3087ce4b01..0000000000 --- a/source/_components/sensor.postnl.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: page -title: PostNL Sensor -description: "Instructions on how to set up PostNL sensors within Home Assistant." -date: 2017-04-22 08:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: postnl.png -ha_category: Sensor -ha_release: 0.69 -ha_iot_class: "Cloud Polling" ---- - -The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration. - -## {% linkable_title Configuration %} - -To enable this sensor, add the following lines to your `configuration.yaml`: - -```yaml -sensors: - - platform: postnl - username: POSTNL_USERNAME - password: POSTNL_PASSWORD -``` - -{% configuration %} -name: - description: Sensor name - required: false - default: "postnl" - type: string -username: - description: Account username of jouw.postnl.nl - required: true - type: string -password: - description: Account password of jouw.postnl.nl - required: true - type: string -{% endconfiguration %} - -

-This component is not affiliated with PostNL and retrieves date from the endpoints of the mobile application. Use at your own risk. -

diff --git a/source/_components/sensor.pushbullet.markdown b/source/_components/sensor.pushbullet.markdown index bd8ee0eda5..df04990f68 100644 --- a/source/_components/sensor.pushbullet.markdown +++ b/source/_components/sensor.pushbullet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pushbullet Mirrors" -description: "Instructions on how to read user pushes in Home Assistant" +description: "Instructions how to read user pushes in Home Assistant" date: 2017-04-20 16:44 sidebar: true comments: false diff --git a/source/_components/sensor.pvoutput.markdown b/source/_components/sensor.pvoutput.markdown index a61f661459..b36ded0c28 100644 --- a/source/_components/sensor.pvoutput.markdown +++ b/source/_components/sensor.pvoutput.markdown @@ -1,7 +1,7 @@ --- layout: page title: "PVOutput Sensor" -description: "Instructions on how to use PVOutput within Home Assistant." +description: "Instructions how to use PVOutput within Home Assistant." date: 2016-11-06 10:00 sidebar: true comments: false diff --git a/source/_components/sensor.pyload.markdown b/source/_components/sensor.pyload.markdown index 0c5886b637..c4d7611edb 100644 --- a/source/_components/sensor.pyload.markdown +++ b/source/_components/sensor.pyload.markdown @@ -1,7 +1,7 @@ --- layout: page title: "pyLoad Sensor" -description: "Instructions on how to integrate pyLoad download sensor within Home Assistant." +description: "Instructions how to integrate pyLoad download sensor within Home Assistant." date: 2017-10-23 09:00 sidebar: true comments: false diff --git a/source/_components/sensor.qnap.markdown b/source/_components/sensor.qnap.markdown index 3814f37bd0..38dd16ca98 100644 --- a/source/_components/sensor.qnap.markdown +++ b/source/_components/sensor.qnap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "QNAP Sensor" -description: "Instructions on how to integrate the QNAP sensor within Home Assistant." +description: "Instructions how to integrate the QNAP sensor within Home Assistant." date: 2017-02-02 06:39 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: "Local Polling" This `qnap` sensor allows getting various statistics from your [QNAP NAS](https://www.qnap.com/en-us/). -## {% linkable_title Configuration %} - To use the `qnap` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: qnap host: IP_ADDRESS_OF_QNAP_NAS diff --git a/source/_components/sensor.qwikswitch.markdown b/source/_components/sensor.qwikswitch.markdown deleted file mode 100644 index afc4fc6cb4..0000000000 --- a/source/_components/sensor.qwikswitch.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "QwikSwitch Sensor" -description: "Instructions on how to integrate Qwikswitch dimmers and relays as sensors into Home Assistant." -date: 2016-05-04 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: qwikswitch.png -ha_category: Sensor -ha_iot_class: "Local Push" -ha_release: "0.67" ---- - -The `qwikswitch` sensor platform allows you to use your [QwikSwitch](http://www.qwikswitch.co.za/) sensors in Home Assistant. - -The platform is configured through the [QwikSwitch component](/components/qwikswitch/). diff --git a/source/_components/sensor.radarr.markdown b/source/_components/sensor.radarr.markdown index 94a4665548..78ca33d041 100644 --- a/source/_components/sensor.radarr.markdown +++ b/source/_components/sensor.radarr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Radarr Sensor" -description: "Instructions on how to integrate Radarr sensors with Home Assistant" +description: "Instructions how to integrate Radarr sensors with Home Assistant" date: 2017-05-04 00:00 sidebar: true comments: false @@ -15,12 +15,10 @@ ha_release: 0.47 This `radarr` sensor platform pulls data from a given [Radarr](https://radarr.video/) instance. -## {% linkable_title Configuration %} - To use your Radarr sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: radarr api_key: YOUR_API_KEY diff --git a/source/_components/sensor.random.markdown b/source/_components/sensor.random.markdown index cbe6049cf3..d550d4b88d 100644 --- a/source/_components/sensor.random.markdown +++ b/source/_components/sensor.random.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Random Sensor" -description: "Instructions on how to integrate random number sensors into Home Assistant." +description: "Instructions how to integrate random number sensors into Home Assistant." date: 2016-10-30 12:10 sidebar: true comments: false @@ -14,9 +14,7 @@ ha_release: 0.32 --- -The `random` sensor platform is creating random sensor values (integers) out of a given range. Returned values form a [discrete uniform distribution](https://en.wikipedia.org/wiki/Discrete_uniform_distribution), meaning that each integer value in the range configured is equally likely to be drawn. This can be useful if you want to test automation rules. It generates a new value every time it is polled. - -## {% linkable_title Configuration %} +The `random` sensor platform is creating random sensor values (integers) out of a given range. This can be useful if you want to test automation rules. It generates a new value every time it is polled. To enable the random sensor, add the following lines to your `configuration.yaml`: @@ -50,4 +48,4 @@ unit_of_measurement: See the [entity component options][entity-docs] to control how often the main component polls the random sensor. The default is 30 seconds. -[entity-docs]: /docs/configuration/platform_options/ +[entity-docs]: https://home-assistant.io/docs/configuration/platform_options/ diff --git a/source/_components/sensor.rest.markdown b/source/_components/sensor.rest.markdown index 0c0cc9a7ab..7d8c751313 100644 --- a/source/_components/sensor.rest.markdown +++ b/source/_components/sensor.rest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RESTful Sensor" -description: "Instructions on how to integrate REST sensors into Home Assistant." +description: "Instructions how to integrate REST sensors into Home Assistant." date: 2015-09-14 19:10 sidebar: true comments: false @@ -151,7 +151,7 @@ sensor: unit_of_measurement: "°C" ``` -### {% linkable_title Accessing an HTTP authentication protected endpoint %} +### {% linkable_title Accessing a HTTP authentication protected endpoint %} The REST sensor supports HTTP authentication and customized headers. diff --git a/source/_components/sensor.rflink.markdown b/source/_components/sensor.rflink.markdown index 7efee12d68..38b529af80 100644 --- a/source/_components/sensor.rflink.markdown +++ b/source/_components/sensor.rflink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFLink Sensor" -description: "Instructions on how to integrate RFLink sensors into Home Assistant." +description: "Instructions how to integrate RFLink sensors into Home Assistant." date: 2016-01-04 sidebar: true comments: false diff --git a/source/_components/sensor.rfxtrx.markdown b/source/_components/sensor.rfxtrx.markdown index 91a2dd5cf1..9df49ee684 100644 --- a/source/_components/sensor.rfxtrx.markdown +++ b/source/_components/sensor.rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx Sensor" -description: "Instructions on how to integrate RFXtrx sensors into Home Assistant." +description: "Instructions how to integrate RFXtrx sensors into Home Assistant." date: 2015-08-06 17:15 sidebar: true comments: false diff --git a/source/_components/sensor.ripple.markdown b/source/_components/sensor.ripple.markdown index 2eda541505..ad960c30e5 100644 --- a/source/_components/sensor.ripple.markdown +++ b/source/_components/sensor.ripple.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ripple" -description: "Instructions on how to integrate ripple.com data within Home Assistant." +description: "Instructions how to integrate ripple.com data within Home Assistant." date: 2017-06-06 16:20 sidebar: true comments: false diff --git a/source/_components/sensor.sabnzbd.markdown b/source/_components/sensor.sabnzbd.markdown index 27766435fd..47680c4e1a 100644 --- a/source/_components/sensor.sabnzbd.markdown +++ b/source/_components/sensor.sabnzbd.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SABnzbd" -description: "Instructions on how to integrate SABnzbd within Home Assistant." +description: "Instructions how to integrate SABnzbd within Home Assistant." date: 2015-03-23 19:59 sidebar: true comments: false @@ -68,7 +68,7 @@ Note that this will create the following sensors: - sensor.sabnzbd_left - sensor.sabnzbd_disk - sensor.sabnzbd_disk_free - - sensor.sabnzbd_queue_count + - sensor.sabnzdb_queue_count ``` As always, you can determine the names of sensors by looking at the dev-state page `< >` in the web interface. diff --git a/source/_components/sensor.scrape.markdown b/source/_components/sensor.scrape.markdown index 047dd0e956..06d1cd8042 100644 --- a/source/_components/sensor.scrape.markdown +++ b/source/_components/sensor.scrape.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Scrape Sensor" -description: "Instructions on how to integrate Web scrape sensors into Home Assistant." +description: "Instructions how to integrate Web scrape sensors into Home Assistant." date: 2016-10-12 09:10 sidebar: true comments: false @@ -22,7 +22,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: scrape - resource: https://www.home-assistant.io + resource: https://home-assistant.io select: ".current-version h1" ``` @@ -43,14 +43,14 @@ In this section you find some real life examples of how to use this sensor. Ther ### {% linkable_title Home Assistant %} -The current release Home Assistant is published on [https://www.home-assistant.io/](/) +The current release Home Assistant is published on [https://home-assistant.io/](https://home-assistant.io/) {% raw %} ```yaml sensor: # Example configuration.yaml entry - platform: scrape - resource: https://www.home-assistant.io + resource: https://home-assistant.io name: Release select: ".current-version h1" value_template: '{{ value.split(":")[1] }}' @@ -66,7 +66,7 @@ Get the counter for all our implementations from the [Component overview](/compo # Example configuration.yaml entry sensor: - platform: scrape - resource: https://www.home-assistant.io/components/ + resource: https://home-assistant.io/components/ name: Home Assistant impl. select: 'a[href="#all"]' value_template: '{{ value.split("(")[1].split(")")[0] }}' @@ -126,7 +126,7 @@ sensor: resource: https://elen.nu/timpriser-pa-el-for-elomrade-se3-stockholm/ name: Electricity price select: ".elspot-content" - value_template: '{{ ((value.split(" ")[0]) | replace (",", ".")) }}' + value_template: '{{ value.split(" ")[0] }}' unit_of_measurement: "öre/kWh" ``` {% endraw %} diff --git a/source/_components/sensor.season.markdown b/source/_components/sensor.season.markdown index 875636fb7c..6297420cd1 100644 --- a/source/_components/sensor.season.markdown +++ b/source/_components/sensor.season.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Season Sensor" -description: "Instructions on how to add season sensors into Home Assistant." +description: "Instructions how to add season sensors into Home Assistant." date: 2017-07-04 07:00:00 sidebar: true comments: false diff --git a/source/_components/sensor.sense.markdown b/source/_components/sensor.sense.markdown deleted file mode 100644 index e13e45dd93..0000000000 --- a/source/_components/sensor.sense.markdown +++ /dev/null @@ -1,74 +0,0 @@ ---- -layout: page -title: Sense -description: "Instructions on how to integrate Sense within Home Assistant." -date: 2018-01-11 13:50 -sidebar: true -comments: false -sharing: true -footer: true -logo: sense.png -ha_category: Energy -ha_iot_class: "Cloud Polling" -ha_release: 0.65 ---- - - -Integrate your [Sense](https://sense.com) meter information into Home Assistant. -To enable this sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - platform: sense - email: CLIENT_ID - password: CLIENT_SECRET - monitored_conditions: - - active_usage - - active_production - - daily_usage - - daily_production -``` - -Two types of sensors can be monitored and will be created with the following names: -- **Active Usage/Production**: Current active power usage/production in Watts. Updated every 30 seconds. -- **Daily Usage/Production**: Daily power usage/production in kWh. Updated every 5 minutes. -- ... - -Weekly, Monthly and Yearly variants are also available. - -{% configuration %} -email: - description: The email associated with your Sense account/application. - required: true - type: string -password: - description: The password for your Sense account/application. - required: true - type: string -monitored_conditions: - description: List of sensors to display in the front end. - required: true - type: list - keys: - active_usage: - description: The current power usage in W - active_production: - description: The current solar production in W - daily_usage: - description: Total power used for current day in kWh - daily_production: - description: Total power produced for current day in kWh - weekly_usage: - description: Total power used for current week in kWh - weekly_production: - description: Total power produced for current week in kWh - monthly_usage: - description: Total power used for current month in kWh - monthly_production: - description: Total power produced for current month in kWh - yearly_usage: - description: Total power used for current year in kWh - yearly_production: - description: Total power produced for current year in kWh -{% endconfiguration %} diff --git a/source/_components/sensor.sensehat.markdown b/source/_components/sensor.sensehat.markdown index fb3447acd5..ae270f052f 100644 --- a/source/_components/sensor.sensehat.markdown +++ b/source/_components/sensor.sensehat.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sense HAT" -description: "Instructions on how to integrate Sense HAT within Home Assistant." +description: "Instructions how to integrate Sense HAT within Home Assistant." date: 2017-06-03 04:00 sidebar: true comments: false @@ -35,7 +35,7 @@ Configuration variables: - 'humidity' - 'pressure' is_hat_attached (Optional): True|False boolean; Default value is True declaring that the SenseHAT _is_ physically on the Raspberry Pi - + #### Customizing the Sense HAT data @@ -145,10 +145,10 @@ These issues have been discussed in the repository issue (#5093)[https://github. This fix has been tested with a clean install of: -* [Raspbian Jessie - version January 2017](https://downloads.raspberrypi.org/raspbian/images/raspbian-2017-01-10/) - +* [Raspbian Jessie - version January 2017](https://downloads.raspberrypi.org/raspbian/images/raspbian-2017-01-10/) + and - -* [Home-Assistant 0.37.1](/getting-started/installation-raspberry-pi-all-in-one/) + +* [Home-Assistant 0.37.1](https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/) For setting up the Sense HAT's RGB LED matrix as lights within Home Assistant, please see the [Sense HAT light component](/components/light.sensehat/). diff --git a/source/_components/sensor.serial.markdown b/source/_components/sensor.serial.markdown index 356ced350f..ea1ad91a0b 100644 --- a/source/_components/sensor.serial.markdown +++ b/source/_components/sensor.serial.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Serial Sensor" -description: "Instructions on how to integrate data from serial connected sensors into Home Assistant." +description: "Instructions how to integrate data from serial connected sensors into Home Assistant." date: 2017-10-13 07:00 sidebar: true comments: false diff --git a/source/_components/sensor.shodan.markdown b/source/_components/sensor.shodan.markdown index 6a98ad3042..e4ca7947a2 100644 --- a/source/_components/sensor.shodan.markdown +++ b/source/_components/sensor.shodan.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Shodan Sensor" -description: "Instructions on how to integrate Shodan sensors into Home Assistant." +description: "Instructions how to integrate Shodan sensors into Home Assistant." date: 2017-08-09 10:30 sidebar: true comments: false diff --git a/source/_components/sensor.sht31.markdown b/source/_components/sensor.sht31.markdown deleted file mode 100644 index 7adbfc2cee..0000000000 --- a/source/_components/sensor.sht31.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Sensirion SHT31 Sensor" -description: "Instructions on how to integrate SHT31 sensors within Home Assistant." -date: 2018-03-06 19:15 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: DIY -ha_release: 0.68 -logo: sensirion.png -ha_iot_class: "Local Polling" ---- - -The `sht31` sensor platform allows you to get the current temperature and humidity from a Sensirion SHT31 device. - -## {% linkable_title Configuration %} - -To use your SHT31 sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - platform: sht31 - name: Bedroom - i2c_address: 0x44 - monitored_conditions: - - temperature - - humidity -``` - -{% configuration %} - name: - description: The name of the sensor. Temperature and Humidity will be added to the name for the sensor name. - required: false - default: SHT31 - type: string - i2c_address: - description: I2C address of the sensor. - required: false - default: "`0x44`" - type: int - monitored_conditions: - description: Conditions to monitor. - required: false - default: All conditions - type: list - keys: - temperature: - description: The current temperature of the SHT31. - humidity: - description: The current humidity of the SHT31. -{% endconfiguration %} diff --git a/source/_components/sensor.sigfox.markdown b/source/_components/sensor.sigfox.markdown deleted file mode 100644 index f3f0bbb0ea..0000000000 --- a/source/_components/sensor.sigfox.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: page -title: "Sigfox Sensor" -description: "Display messages from Sigfox devices in Home Assistant." -date: 2018-04-07 12:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: sigfox.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -[SigFox](https://www.sigfox.com/en) component adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ( [snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). - -```yaml -# Example configuration.yaml entry -sensor: - - platform: sigfox - api_login: your_api_login - api_password: your_api_password -``` - -{% configuration %} -api_login: - description: Your Sigfox API login. - required: true - type: string -api_password: - description: Your Sigfox API password. - required: true - type: string -name: - description: The name to prepend to the device ID. - required: false - default: "sigfox" - type: string -{% endconfiguration %} - -Note that `your_api_login` and `your_api_password` are your **API access credentials** which can be accessed by following: - -1. Log into [Sigfox backend](https://backend.sigfox.com) -1. Select `GROUP` -1. Select `API ACCESS` -1. Click on `new` and create new access entry diff --git a/source/_components/sensor.simulated.markdown b/source/_components/sensor.simulated.markdown deleted file mode 100644 index 4667b9ff39..0000000000 --- a/source/_components/sensor.simulated.markdown +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: page -title: "Simulated sensor" -description: "Component for simulating a numerical sensor." -date: 2018-02-20 08:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: home-assistant.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.65 ---- - -This component provides a simulated sensor that generates a time-varying signal ```V(t)``` given by the [function](https://en.wikipedia.org/wiki/Sine_wave): - - ``` - V(t) = M + A sin((2 pi (t - t_0) / w) + P) + N(s) - ``` - -where: - -- **M** = the [mean](https://en.wikipedia.org/wiki/Mean) value of the sensor -- **A** = the [amplitude](https://en.wikipedia.org/wiki/Amplitude) of the periodic contribution -- **t** = the time when a value is generated -- **t_0** = the time when the sensor is started -- **w** = the time [period](https://en.wikipedia.org/wiki/Periodic_function) in seconds for a single complete cycle of the periodic contribution -- **P** = the [phase](https://en.wikipedia.org/wiki/Phase_(waves)) offset to add to the periodic contribution, in units of degrees -- **N(s)** = the random [Gaussian noise](https://en.wikipedia.org/wiki/Gaussian_noise) with spread **s** - -A simulated sensor with default values can be added to home-assistant using the following config: - -```yaml -sensor: - - platform: simulated -``` - -To give an example of simulating real world data, a simulated relative humidity sensor (in %) can be added using the following config: - -```yaml -sensor: - - platform: simulated - name: 'simulated relative humidity' - unit: '%' - amplitude: 0 # Turns off the periodic contribution - mean: 50 - spread: 10 - seed: 999 -``` - -Configuration variables: -{% configuration %} -name: - description: The name of the sensor - required: false - default: Defaults to 'simulated' - type: string -unit: - description: The unit to apply - required: false - default: Defaults to 'value' - type: string -amplitude: - description: The amplitude of periodic contribution - required: false - default: 1 - type: float -mean: - description: The mean level of the sensor - required: false - default: 0 - type: float -period: - description: The time in seconds for one complete oscillation of the periodic contribution - required: false - default: 0 - type: seconds -phase: - description: The phase offset (in degrees) to apply to the periodic component - required: false - default: 0 - type: float -seed: - description: The [seed](https://docs.python.org/3.6/library/random.html#random.seed) value for the random noise component - required: false - default: 999 - type: int -spread: - description: The spread is the range of the randomly distributed values about their mean. This is sometimes referred to as the Full Width at Half Maximum ([FWHM](https://en.wikipedia.org/wiki/Full_width_at_half_maximum)) of the random distribution - required: false - default: None - type: float -{% endconfiguration %} diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index f3eb166564..b2c9bfdcd1 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -16,16 +16,14 @@ ha_release: 0.36 The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](http://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. -## {% linkable_title Configuration %} - To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor sma: - platform: sma - host: IP_ADDRESS_OF_DEVICE - password: YOUR_SMA_PASSWORD + host: 192.168.88.199 + password: !secret sma_password sensors: current_consumption: [total_consumption] current_power: diff --git a/source/_components/sensor.smappee.markdown b/source/_components/sensor.smappee.markdown deleted file mode 100644 index 2886f2b434..0000000000 --- a/source/_components/sensor.smappee.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Smappee Sensor" -description: "Instructions on how to integrate Smappee energy monitor into Home Assistant." -date: 2018-02-26 08:37 -sidebar: true -comments: false -sharing: true -footer: true -logo: smappee.png -ha_release: "0.64" -ha_category: Sensor ---- - -[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. - -Energy monitor measurements will be automatically added when you connect to the Smappee controller. - -For more configuration information see the [Smappee component](/components/smappee/) documentation. diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown index f492d5ef3a..95429545db 100644 --- a/source/_components/sensor.snmp.markdown +++ b/source/_components/sensor.snmp.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SNMP" -description: "Instructions on how to integrate SNMP sensors within Home Assistant." +description: "Instructions how to integrate SNMP sensors within Home Assistant." date: 2016-06-05 20:00 sidebar: true comments: false diff --git a/source/_components/sensor.sochain.markdown b/source/_components/sensor.sochain.markdown index 26ff8d5fd1..77bf1c7836 100644 --- a/source/_components/sensor.sochain.markdown +++ b/source/_components/sensor.sochain.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SoChain" -description: "Instructions on how to integrate chain.so data within Home Assistant." +description: "Instructions how to integrate chain.so data within Home Assistant." date: 2017-06-01 16:20 sidebar: true comments: false diff --git a/source/_components/sensor.socialblade.markdown b/source/_components/sensor.socialblade.markdown deleted file mode 100644 index cf106c9133..0000000000 --- a/source/_components/sensor.socialblade.markdown +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: page -title: Social Blade Sensor -description: "Instructions on how to set up Social Blade Sensor within Home Assistant." -date: 2018-04-23 08:00 -sidebar: false -comments: false -sharing: true -footer: true -logo: socialblade.png -ha_category: Sensor -ha_release: 0.69 -ha_iot_class: "Cloud Polling" ---- - -The `socialblade` sensor component allows you get updates on a youtube channel using your social blade channel id. The sensor gets the subscribers and total views count from [Social Blade Website]( https://socialblade.com/) - -to get the channel id you can go to [Social Blade Website]( https://socialblade.com/) and search for youtube channel by username, then select the channel and grab the id from the url. -The channel id will be the last part of the url : -https://socialblade.com/youtube/channel/{channel_id} - -## Example for `configuration.yaml` : - -```yaml -sensor: - - platform: socialblade - channel_id: YOUR_CHANNEL_NUMBER -``` - -{% configuration %} -channel_id: - description: channel id number optained from the URL when you access Social Blade web client. - required: true - type: string -{% endconfiguration %} - -All the data will be fetch from [Social Blade]( https://socialblade.com/). diff --git a/source/_components/sensor.sonarr.markdown b/source/_components/sensor.sonarr.markdown index 13a4944fea..5f4d437c02 100644 --- a/source/_components/sensor.sonarr.markdown +++ b/source/_components/sensor.sonarr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sonarr Sensor" -description: "Instructions on how to integrate Sonarr sensors with Home Assistant" +description: "Instructions how to integrate Sonarr sensors with Home Assistant" date: 2016-11-19 13:35 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: "Local Polling" This `sonarr` sensor platform pulls data from a given [Sonarr](https://sonarr.tv/) instance. -## {% linkable_title Configuration %} - To use your Sonarr sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: sonarr api_key: YOUR_API_KEY diff --git a/source/_components/sensor.speedtest.markdown b/source/_components/sensor.speedtest.markdown index fb95a0cdff..bc1e8bf988 100644 --- a/source/_components/sensor.speedtest.markdown +++ b/source/_components/sensor.speedtest.markdown @@ -16,9 +16,7 @@ ha_iot_class: "Cloud Polling" The `speedtest` sensor component uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance. -## {% linkable_title Configuration %} - -By default, it will run every hour. The user can change the update frequency in the configuration by defining the minute, hour, and day for a speed test to run. For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php). +By default, it will run every hour. The user can change the update frequency in the configuration by defining the minute, hour, and day for a speedtest to run. For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php). To add a Speedtest.net sensor to your installation, add the following to your `configuration.yaml` file: @@ -34,54 +32,26 @@ sensor: - upload ``` -{% configuration %} - monitored_conditions: - description: Sensors to display in the frontend. - required: true - type: list - keys: - ping: - description: Reaction time in ms of your connection (how fast you get a response after you've sent out a request). - download: - description: Download speed (Mbit/s) - upload: - description: Upload speed (Mbit/s) - server_id: - description: Specify the speed test server to perform the test against. - required: false - type: int - day: - description: Specify the day(s) of the month to schedule the speed test. Use a list for multiple entries. - required: false - type: [int, list] - hour: - description: Specify the hour(s) of the day to schedule the speed test. Use a list for multiple entries. - required: false - type: [int, list] - minute: - description: Specify the minute(s) of the hour to schedule the speed test. Use a list for multiple entries. - required: false - type: [int, list] - default: 0 - second: - description: Specify the second(s) of the minute to schedule the speed test. Use a list for multiple entries. - required: false - type: [int, list] - default: 0 - manual: - description: True or False to turn manual mode on or off. Manual mode will disable scheduled speed tests. - required: false - type: bool - default: false -{% endconfiguration %} +Configuration variables: + +- **monitored_conditions** array (*Required*): Sensors to display in the frontend. + - **ping**: Reaction time in ms of your connection (how fast you get a response after you've sent out a request). + - **download**: Download speed in Mbps. + - **upload**: Upload speed in Mbps. +- **server_id** (*Optional*): Specify the speedtest server to perform test against. +- **minute** (*Optional*): Specify the minute(s) of the hour to schedule the speedtest. Use a list for multiple entries. Default is 0. +- **hour** (*Optional*): Specify the hour(s) of the day to schedule the speedtest. Use a list for multiple entries. Default is None. +- **day** (*Optional*): Specify the day(s) of the month to schedule the speedtest. Use a list for multiple entries. Default is None. +- **manual** (*Optional*): True or False to turn manual mode on or off. Manual mode will disable scheduled speedtests. This component uses [speedtest-cli](https://github.com/sivel/speedtest-cli) to gather network performance data from Speedtest.net. Please be aware of the potential [inconsistencies](https://github.com/sivel/speedtest-cli#inconsistency) that this component may display. -When Home Assistant first starts up, the values of the speed test will show as `Unknown`. You can use the service `sensor.update_speedtest` to run a manual speed test and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speed tests. +When Home Assistant first starts up, the values of the speedtest will show as `Unknown`. You can use the service `sensor.update_speedtest` to run a manual speedtest and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speedtests. + ## {% linkable_title Examples %} -In this section, you find some real-life examples of how to use this sensor. +In this section you find some real life examples of how to use this sensor. ### {% linkable_title Run periodically %} @@ -122,30 +92,26 @@ sensor: ### {% linkable_title Using as a trigger in an automation %} -{% raw %} ```yaml # Example configuration.yaml entry automation: - - alias: "Internet Speed Glow Connect Great" - trigger: - - platform: template - value_template: "{{ states('sensor.speedtest_download')|float > 10 }}" - action: - - service: shell_command.green - - - alias: "Internet Speed Glow Connect Poor" - trigger: - - platform: template - value_template: "{{ states('sensor.speedtest_download')|float < 10 }}" - action: - - service: shell_command.red + - alias: 'Internet Speed Glow Connect Great' + trigger: + platform: template + value_template: '{% raw %}{{ states.sensor.speedtest_download.state|float > 10}}{% endraw %}' + action: + service: shell_command.green + - alias: 'Internet Speed Glow Connect Poor' + trigger: + platform: template + value_template: '{% raw %}{{ states.sensor.speedtest_download.state| float < 10 }}{% endraw %}' + action: + service: shell_command.red ``` -{% endraw %} ## {% linkable_title Notes %} - When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter. -- Running this platform can have negative effects on the system's performance as it requires a fair amount of memory. -- Entries under `monitored_conditions` only control what entities are available in Home Assistant, it does not disable the condition from running. -- If ran frequently, this component has the ability to use a considerable amount of data. Frequent updates should be avoided on bandwidth-capped connections. -- While running, your network capacity is fully utilized. This may have a negative effect on other devices in use the network such as gaming consoles or streaming boxes. +- Entries under `monitored_conditions` only control what entities are available under home-assistant, it does not disable the condition from running. +- If ran frequently, this component has the capability of using a very large amount of data. Frequent updates should be avoided on bandwidth capped connections. +- While running, network usage is fully utilized. This may have a negative affect on other devices in use the network such as gaming consoles or streaming boxes. diff --git a/source/_components/sensor.spotcrime.markdown b/source/_components/sensor.spotcrime.markdown deleted file mode 100644 index b36d01b4b4..0000000000 --- a/source/_components/sensor.spotcrime.markdown +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: page -title: "Spot Crime" -description: "Instructions on how to integrate spotcrime.com into Home Assistant." -date: 2018-02-16 9:30 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Sensor -ha_release: 0.65 -ha_iot_class: "Cloud Polling" ---- - -The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](http://spotcrime.com). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml. - -You will need to request an API key from [Spotcrime](mailto:pyrrhus@spotcrime.com). - -To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. 0.01 = 1 mile. - -```yaml -sensor: - - platform: spotcrime - name: - radius: - api_key: <"your_api_key_here"> -``` - -{% configuration %} -name: - description: Name the sensor what you'd like. - required: true - type: string -radius: - description: Radius you'd like to search within. 0.01 = 1 mile. - required: true - type: float -api_key: - description: The API key to access the service. - required: true - type: string -days: - description: Number of days you'd like see to crime statistics for. - required: false - type: int -include: - description: Event types you want statistics for. - required: false - type: list -exclude: - description: Event types to ignore statistics for. - required: false - type: list -{% endconfiguration %} - -## {% linkable_title Notes %} - -### {% linkable_title Incident Types %} - -You can explicitly include or exclude incident types. Specifying `include`s restricts the incidents to those types. Specifying `exclude`s will return all incident types except those specified. - -These incident types are available: - -- Arrest -- Arson -- Assault -- Burglary -- Robbery -- Shooting -- Theft -- Vandalism -- Other - -### {% linkable_title Events %} - -The `crimealerts` sensor fires a `crimealerts_incident` event when a new incident is detected, including the type, time, and location of the incident. diff --git a/source/_components/sensor.sql.md b/source/_components/sensor.sql.md deleted file mode 100644 index e676ca9d43..0000000000 --- a/source/_components/sensor.sql.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -layout: page -title: "SQL Sensor" -description: "Instructions how to integrate SQL sensors into Home Assistant." -date: 2018-02-03 00:22 -sidebar: true -comments: false -sharing: true -footer: true -logo: sql.png -ha_category: Sensor -ha_release: 0.63 ---- - -The `SQL` sensor platform enables you to use values from an [SQL](https://en.wikipedia.org/wiki/SQL) database supported by the [sqlalchemy](https://www.sqlalchemy.org) library, to populate a sensor state (and attributes). -This can be used to present statistics about Home Assistant sensors if used with the recorder component database. It can also be used with an external data source. - -To configure this sensor, you need to define the sensor connection variables and a list of queries to your `configuration.yaml` file. A sensor will be created for each query: - -To enable it, add the following lines to your `configuration.yaml`: - -{% raw %} -```yaml -# Example configuration.yaml entry to monitor hass database size in MySQL -sensor: - - platform: sql - db_url: mysql://user:password@localhost/hass - queries: - - name: HASS DB size - query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;' - column: 'value' - unit_of_measurement: kB -``` -{% endraw %} - -{% configuration %} -db_url: - description: The URL which points to your database. See [supported engines](/components/recorder/#custom-database-engines). - required: false - default: "Defaults to the default recorder `db_url` (not the current `db_url` of recorder)." - type: string -queries: - description: List of your queries. - required: true - type: map - keys: - name: - description: The name of the sensor. - required: true - type: string - query: - description: An SQL QUERY string, should return 1 result at most. - required: true - type: string - column: - description: The field name to select. - required: true - type: string - unit_of_measurement: - description: Defines the units of measurement of the sensor, if any. - required: false - type: string - value_template: - description: Defines a template to extract a value from the payload. - required: false - type: template -{% endconfiguration %} - -## {% linkable_title Examples %} - -In this section you find some real life examples of how to use this sensor. - -### {% linkable_title Current state of an entity %} - -This example shows the previously *recorded* state of sensor *abc123*. - -```sql -SELECT * FROM states WHERE entity_id = 'sensor.abc123' ORDER BY id DESC LIMIT 2 -``` - -Note that the SQL sensor state corresponds to the last row of the SQL resultset. - -### {% linkable_title Previous state of an entity %} - -This example only works with *binary_sensors*: - -```sql -SELECT * FROM states WHERE entity_id='binary_sensor.xyz789' GROUP BY state ORDER BY last_changed DESC LIMIT 1 -``` - -### {% linkable_title Database size in Postgres %} - -```yaml -- platform: sql - db_url: postgresql://user:password@host/dbname - queries: - - name: db_size - query: "SELECT (pg_database_size('dsmrreader')/1024/1024) as db_size;" - column: "db_size" - unit_of_measurement: MB -``` diff --git a/source/_components/sensor.startca.markdown b/source/_components/sensor.startca.markdown deleted file mode 100644 index cd92fe272c..0000000000 --- a/source/_components/sensor.startca.markdown +++ /dev/null @@ -1,84 +0,0 @@ ---- -layout: page -title: "Start.ca" -description: "Instructions on how to integrate Start.ca data usage within Home Assistant." -date: 2018-02-12 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: startca.png -ha_category: Sensor -ha_release: 0.64 -ha_iot_class: "Cloud Polling" ---- - -Integrate your [Start.ca](https://www.start.ca/) account information into Home Assistant. - -You can get your API key from: - -[Start.ca Usage API](https://www.start.ca/support/usage/api) - -To use your Start.ca sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: startca - api_key: API_KEY - total_bandwidth: 400 - monitored_variables: - - usage - - usage_gb - - limit - - used_download - - used_upload - - used_total - - grace_download - - grace_upload - - grace_total - - total_download - - total_upload - - used_remaining -``` - -{% configuration %} -api_key: - description: The Start.ca API key to access the service. - required: true - type: string -total_bandwidth: - description: Your bandwidth limit in gigabytes. Set to `0` for unlimited plans without a cap. - required: true - type: string -monitored_conditions: - description: Conditions to display in the frontend. - required: true - type: list - keys: - usage: - description: Bandwidth usage (percentage). - usage_gb: - description: Bandwidth usage (gigabytes). - limit: - description: Monthly bandwidth limit (gigabytes). - used_download: - description: Bandwidth used by download outside the grace period (gigabytes). - used_upload: - description: Bandwidth used by upload outside the grace period (gigabytes). - used_total: - description: Total bandwidth (download and upload sum calculation) used outside the grace period (gigabytes). - grace_download: - description: Bandwidth used by download during the grace period (gigabytes). - grace_upload: - description: Bandwidth used by upload during the grace period (gigabytes). - grace_total: - description: Total bandwidth (download and upload sum calculation) used during the unlimited period (gigabytes). - total_download: - description: Total bandwidth download (Grace + Used) (gigabytes). - total_download: - description: Total bandwidth upload (Grace + Used) (gigabytes). - used_remaining: - description: Remaining bandwidth calucated from used and supplied total bandwidth (gigabytes). -{% endconfiguration %} - diff --git a/source/_components/sensor.statistics.markdown b/source/_components/sensor.statistics.markdown index 9bfd40dd39..01abb92ca2 100644 --- a/source/_components/sensor.statistics.markdown +++ b/source/_components/sensor.statistics.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Statistics Sensor" -description: "Instructions on how to integrate statistical sensors into Home Assistant." +description: "Instructions how to integrate statistical sensors into Home Assistant." date: 2016-09-28 12:10 sidebar: true comments: false @@ -16,7 +16,7 @@ ha_release: "0.30" The `statistics` sensor platform consumes the state from other sensors. Besides the maximum and the minimum values, the total, mean, median, variance and the standard deviation are also available as attributes. If it's a binary sensor then only state changes are counted. -If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the `recorder` component on startup. +If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the recoder component on startup. If you are *not* running the `recorder` component, it can take time till the sensor starts to work because a couple of attributes need more than one value to do the calculation. To enable the statistics sensor, add the following lines to your `configuration.yaml`: diff --git a/source/_components/sensor.steam_online.markdown b/source/_components/sensor.steam_online.markdown index e49bef70cb..6cf4638877 100644 --- a/source/_components/sensor.steam_online.markdown +++ b/source/_components/sensor.steam_online.markdown @@ -16,9 +16,9 @@ ha_release: 0.14 The Steam component will allow you to track the online status of public [Steam](https://steamcommunity.com) accounts. -You need a [free API key](https://steamcommunity.com/dev/apikey) to use the component +You need an API key which is [free](https://steamcommunity.com/dev/apikey) to use the component -To find an account's 64-bit SteamID on profiles without a custom URL you can check the URL of the profile page, the long string of numbers at the end is the 64-bit SteamID. If the profile has a custom URL you will have to copy the URL into [STEAMID I/O](https://steamid.io/) to find the 64-bit SteamID. +To find an account's 64-bit SteamID you can check the URL of the profile page, if it ends with a long string on numbers then that's the 64-bit SteamID. However, if the profile has a custom URL you will have to copy the it and enter it into [STEAMID I/O](https://steamid.io/) to find the 64-bit SteamID. To use Steam in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.supervisord.markdown b/source/_components/sensor.supervisord.markdown index fc978f2f2d..93a191fc9c 100644 --- a/source/_components/sensor.supervisord.markdown +++ b/source/_components/sensor.supervisord.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Supervisord" -description: "Instructions on how to integrate Supervisord within Home Assistant." +description: "Instructions how to integrate Supervisord within Home Assistant." date: 2016-05-13 22:00 sidebar: true comments: false diff --git a/source/_components/sensor.swiss_hydrological_data.markdown b/source/_components/sensor.swiss_hydrological_data.markdown index 44f4d6100b..59f81644e2 100644 --- a/source/_components/sensor.swiss_hydrological_data.markdown +++ b/source/_components/sensor.swiss_hydrological_data.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Swiss Hydrological Data" -description: "Instructions on how to integrate hydrological data of Swiss waters within Home Assistant." +description: "Instructions how to integrate hydrological data of Swiss waters within Home Assistant." date: 2016-06-17 17:00 sidebar: true comments: false diff --git a/source/_components/sensor.swiss_public_transport.markdown b/source/_components/sensor.swiss_public_transport.markdown index c1063e4d4a..8b3ac28b09 100644 --- a/source/_components/sensor.swiss_public_transport.markdown +++ b/source/_components/sensor.swiss_public_transport.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Swiss Public Transport" -description: "Instructions on how to integrate timetable data for traveling in Switzerland within Home Assistant." +description: "Instructions how to integrate timetable data for traveling in Switzerland within Home Assistant." date: 2015-06-02 21:45 sidebar: true comments: false diff --git a/source/_components/sensor.syncthru.markdown b/source/_components/sensor.syncthru.markdown deleted file mode 100644 index 19b2e5d139..0000000000 --- a/source/_components/sensor.syncthru.markdown +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: page -title: "Samsung SyncThru Printer" -description: "Instructions on how to integrate a Samsung printer providing SyncThru within Home Assistant." -date: 2018-02-19 23:33 -sidebar: true -comments: false -sharing: true -footer: true -logo: samsung.png -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.66 ---- - -The Samsung SyncThru Printer platform allows you to read current data from your local Samsung printer. - -It usually provides information about the device's state, the left amount of ink or toner and the state of paper trays. -The platform automatically monitors every supported part. - -If you wish not to include certain monitored values specify the values that you would like to see in the front-end via the `monitored_conditions` setting. - -```yaml -# Example configuration.yaml entry -sensor: - - platform: syncthru - resource: http://my-printer.address - name: My Awesome Printer - monitored_conditions: - - toner_black - - output_tray_0 -``` - -{% configuration %} - resource: - description: The address for connecting to the printer. Equal to the SyncThru Webservice address. - required: true - default: false - type: url - name: - description: A user specified name for the printer. Defaults to "Samsung Printer" and the friendly name will be the name of the printer model. - required: false - default: Samsung Printer - type: string - monitored_conditions: - description: Conditions to display in the frontend. - required: false - default: all values - type: list - keys: - toner_black: - description: Black toner fill level - toner_cyan: - description: Cyan toner fill level - toner_magenta: - description: Magenta toner fill level - toner_yellow: - description: Yellow toner fill level - drum_black: - description: Black drum state - drum_cyan: - description: Cyan drum state - drum_magenta: - description: Magenta drum state - drum_yellow: - description: Yellow drum state - tray_1: - description: First paper input tray state - tray_2: - description: Second paper input tray state - tray_3: - description: Third paper input tray state - tray_4: - description: Fourth paper input tray state - tray_5: - description: Fifth paper input tray state - output_tray_0: - description: First paper output tray state - output_tray_1: - description: Second paper output tray state - output_tray_2: - description: Third paper output tray state - output_tray_3: - description: Fourth paper output tray state - output_tray_4: - description: Fifth paper output tray state - output_tray_5: - description: Sixth paper output tray state -{% endconfiguration %} diff --git a/source/_components/sensor.synologydsm.markdown b/source/_components/sensor.synologydsm.markdown index 0b4b4ba197..bf7a0af0d0 100644 --- a/source/_components/sensor.synologydsm.markdown +++ b/source/_components/sensor.synologydsm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SynologyDSM Sensor" -description: "Instructions on how to integrate the SynologyDSM sensor within Home Assistant." +description: "Instructions how to integrate the SynologyDSM sensor within Home Assistant." date: 2016-10-30 23:21 sidebar: true comments: false @@ -14,19 +14,17 @@ ha_iot_class: "Local Polling" --- -The `synologydsm` sensor platform allows getting various statistics from your [Synology NAS](https://www.synology.com). - -## {% linkable_title Configuration %} +This `synologydsm` sensor allows getting various statistics from your [Synology NAS](https://www.synology.com). To use the `synologydsm` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry sensor: - platform: synologydsm host: IP_ADDRESS_OF_SYNOLOGY_NAS - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD monitored_conditions: - cpu_total_load - memory_real_usage @@ -35,7 +33,7 @@ sensor: Configuration variables: -- **host** (*Required*): The IP address of the Synology NAS to monitor. +- **host** (*Required*): The IP address of the Synology NAS to monitor - **port** (*Optional*): The port number on which the Synology NAS is reachable. Defaults to `5000`. - **username** (*Required*): An user to connect to the Synology NAS (a separate account is advised, see the Separate User Configuration section below for details). - **password** (*Required*): The password of the user to connect to the Synology NAS. diff --git a/source/_components/sensor.systemmonitor.markdown b/source/_components/sensor.systemmonitor.markdown index 855dca71c0..0cc01b8ade 100644 --- a/source/_components/sensor.systemmonitor.markdown +++ b/source/_components/sensor.systemmonitor.markdown @@ -1,7 +1,7 @@ --- layout: page title: "System Monitor" -description: "Instructions on how to monitor the Home Assistant host." +description: "Instructions how to monitor the Home Assistant host." date: 2015-03-23 19:59 sidebar: true comments: false @@ -56,10 +56,19 @@ The table contains types and their argument to use in your `configuration.yaml` | ipv4_address | Interface, eg. `eth0` | | ipv6_address | Interface, eg. `eth0` | | processor_use | | -| process | Binary, e.g., `octave-cli` | +| process | Binary, e.g. `octave-cli` | | last_boot | | | since_last_boot | | +**Note**: Some `type:` names used in the `configuration.yaml` file differ from the entity names. + +| Sensor type | Entity ID | +| :------------------ |:-------------------------| +| memory_free | sensor.ram_available | +| memory_use_percent | sensor.ram_used | +| processor_use | sensor.cpu_used | +| disk_use | sensor.disk_used | + ## {% linkable_title Linux specific %} To retrieve all available network interfaces on a Linux System, execute the `ifconfig` command. diff --git a/source/_components/sensor.sytadin.markdown b/source/_components/sensor.sytadin.markdown index 1c44a9bdd3..9f23c8df3f 100644 --- a/source/_components/sensor.sytadin.markdown +++ b/source/_components/sensor.sytadin.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sytadin Sensor" -description: "Instructions on how to integrate Sytadin sensors into Home Assistant." +description: "Instructions how to integrate Sytadin sensors into Home Assistant." date: 2017-10-05 14:00 sidebar: true comments: false diff --git a/source/_components/sensor.tahoma.markdown b/source/_components/sensor.tahoma.markdown index d5dbf0530e..80cf6bc4eb 100644 --- a/source/_components/sensor.tahoma.markdown +++ b/source/_components/sensor.tahoma.markdown @@ -1,17 +1,21 @@ --- layout: page title: "Tahoma Sensor" -description: "Instructions on how to integrate Tahoma sensors into Home Assistant." +description: "Instructions how to integrate Tahoma sensors into Home Assistant." date: 2017-07-18 12:00 sidebar: true comments: false sharing: true footer: true logo: tahoma.png -ha_category: Sensor +ha_category: Cover ha_release: 0.59 --- -The `tahoma` sensor platform lets you see sensors added to your Tahoma Box in Home Assistant. +To use your tahoma sensors in your installation, add the following to your `configuration.yaml` file: -Sensors will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. +```yaml +# Example configuration.yml entry +sensor: + platform: tahoma +``` diff --git a/source/_components/sensor.teksavvy.markdown b/source/_components/sensor.teksavvy.markdown index 9f7a8e70fa..2181e4273d 100644 --- a/source/_components/sensor.teksavvy.markdown +++ b/source/_components/sensor.teksavvy.markdown @@ -15,7 +15,8 @@ ha_iot_class: "Cloud Polling" Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information into Home Assistant. -You can get your API key from [TekSavvy My Account](https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement). +You can get your API key from +https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement To use your TekSavvy sensor in your installation, add the following to your `configuration.yaml` file: @@ -44,7 +45,7 @@ api_key: required: true type: string total_bandwidth: - description: Your bandwidth limit in gigabytes. Set to `0` for unlimited plans without a cap. + description: Your bandwidth limit in gigabytes. required: true type: string monitored_conditions: @@ -71,6 +72,6 @@ monitored_conditions: offpeak_total: description: Total bandwidth used during the unlimited period (gigabytes). onpeak_remaining: - description: Remaining bandwidth (gigabytes). + description: Remaining bandwidth (gigabytes). {% endconfiguration %} diff --git a/source/_components/sensor.tellduslive.markdown b/source/_components/sensor.tellduslive.markdown index 4e136af476..356ba316b5 100644 --- a/source/_components/sensor.tellduslive.markdown +++ b/source/_components/sensor.tellduslive.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Telldus Live sensor" -description: "Instructions on how to integrate Telldus Live sensors into Home Assistant." +description: "Instructions how to integrate Telldus Live sensors into Home Assistant." date: 2016-01-17 15:49 sidebar: true comments: false diff --git a/source/_components/sensor.tellstick.markdown b/source/_components/sensor.tellstick.markdown index c980118ed4..dc4cf5be79 100644 --- a/source/_components/sensor.tellstick.markdown +++ b/source/_components/sensor.tellstick.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TellStick Sensor" -description: "Instructions on how to integrate TellStick sensors into Home Assistant." +description: "Instructions how to integrate TellStick sensors into Home Assistant." date: 2015-08-06 19:00 sidebar: true comments: false @@ -16,7 +16,7 @@ ha_iot_class: "Local Polling" The `tellstick` sensor platform allows you to get current meteorological data from a [TellStick](http://www.telldus.se/products/tellstick) device. -To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file: +To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.temper.markdown b/source/_components/sensor.temper.markdown index 09626f0984..227cc42f80 100644 --- a/source/_components/sensor.temper.markdown +++ b/source/_components/sensor.temper.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TEMPer Sensor" -description: "Instructions on how to integrate TEMPer sensors into Home Assistant." +description: "Instructions how to integrate TEMPer sensors into Home Assistant." date: 2015-08-06 19:00 sidebar: true comments: false diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index 8ef5a5dc44..2841dc027b 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Template Sensor" -description: "Instructions on how to integrate Template Sensors into Home Assistant." +description: "Instructions how to integrate Template Sensors into Home Assistant." date: 2016-01-27 07:00 sidebar: true comments: false @@ -45,14 +45,6 @@ sensor: description: Name to use in the frontend. required: false type: string - friendly_name_template: - description: Defines a template for the name to be used in the frontend (this overrides friendly_name). - required: false - type: template - entity_id: - description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: string, list unit_of_measurement: description: Defines the units of measurement of the sensor, if any. required: false @@ -69,11 +61,6 @@ sensor: description: Defines a template for the entity picture of the sensor. required: false type: template - device_class: - description: The type/class of the sensor to set the icon in the frontend. - required: false - type: device_class - default: None {% endconfiguration %} ## {% linkable_title Considerations %} @@ -253,45 +240,3 @@ sensor: {% endif %} ``` {% endraw %} - -### {% linkable_title Change the Friendly Name Used in the Frontend %} - -This example shows how to change the `friendly_name` based on a date. -Explanation: we add a multiple of 86400 seconds (= 1 day) to the current unix timestamp to get a future date. - -{% raw %} -```yaml -sensor: - - platform: template - sensors: - forecast_1_day_ahead: - friendly_name_template: >- - {%- set date = as_timestamp(now()) + (1 * 86400 ) -%} - {{ date|timestamp_custom("Tomorrow (%-m/%-d)") }} - value_template: "{{ sensor.darksky_weather_forecast_1 }}" - forecast_2_days_ahead: - friendly_name_template: >- - {%- set date = as_timestamp(now()) + (2 * 86400 ) -%} - {{ date|timestamp_custom("%A (%-m/%-d)") }} - value_template: "{{ sensor.darksky_weather_forecast_2 }}" -``` -{% endraw %} - -This example shows how to change the `friendly_name` based on a state. - -{% raw %} -```yaml -sensor: - - platform: template - sensors: - net_power: - friendly_name_template: >- - {% if states('sensor.power_consumption')|float < 0 %} - Power Consumption - {% else %} - Power Production - {% end %} - value_template: "{{ states('sensor.power_consumption') }}" - unit_of_measurement: 'kW' -``` -{% endraw %} diff --git a/source/_components/sensor.thethingsnetwork.markdown b/source/_components/sensor.thethingsnetwork.markdown index faeb8b7e65..6dac17958f 100644 --- a/source/_components/sensor.thethingsnetwork.markdown +++ b/source/_components/sensor.thethingsnetwork.markdown @@ -1,7 +1,7 @@ --- layout: page title: "The Things Network Sensor" -description: "Instructions on how to integrate The Things Network sensors into Home Assistant." +description: "Instructions how to integrate The Things Network sensors into Home Assistant." date: 2017-09-30 08:00 sidebar: true comments: false @@ -17,8 +17,6 @@ The `thethingsnetwork` sensor platform allows you to get data from a [The Things This platform requires that the [The Things Network component](/components/thethingsnetwork/) is set up and the [The Things Network Storage Integration](https://www.thethingsnetwork.org/docs/applications/storage/) as well. -## {% linkable_title Prerequisites %} - Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications** and go to **Integrations**. Add a new integration. @@ -56,8 +54,6 @@ Select **Devices** to get the ID of your device that you want to use. Devices overview

-## {% linkable_title Configuration %} - To enable this platform, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.thinkingcleaner.markdown b/source/_components/sensor.thinkingcleaner.markdown index af6979bed2..d5c681ff73 100644 --- a/source/_components/sensor.thinkingcleaner.markdown +++ b/source/_components/sensor.thinkingcleaner.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Thinking Cleaner sensor" -description: "Instructions on how to integrate a ThinkingCleaner sensor within Home Assistant." +description: "Instructions how to integrate a ThinkingCleaner sensor within Home Assistant." date: 2016-04-10 17:24 sidebar: true comments: false diff --git a/source/_components/sensor.tibber.markdown b/source/_components/sensor.tibber.markdown index 81d11c7ac2..6ebcc84bcf 100644 --- a/source/_components/sensor.tibber.markdown +++ b/source/_components/sensor.tibber.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Tibber" -description: "Instructions on how to integrate Tibber within Home Assistant." +description: "Instructions how to integrate Tibber within Home Assistant." date: 2017-10-03 17:00 sidebar: true comments: false @@ -13,6 +13,7 @@ ha_release: 0.55 ha_iot_class: "Cloud Polling" --- + The `tibber` sensor provides the current electricity price if you are a [Tibber](https://tibber.com/) customer. To add Tibber to your installation, add the following to your `configuration.yaml` file: @@ -30,31 +31,3 @@ sensor: required: true type: string {% endconfiguration %} - -## {% linkable_title Examples %} - -In this section, you will find some real-life examples of how to use this sensor. - -### {% linkable_title Electricity price %} - -The electricity price can be used to make automations. The sensor has a `max_price` and `min_price` attribute, with max and min price for the current day. Here is an example to get a notification when the price is above 90% of the maximum price for the day: - -{% raw %} -```yaml -- alias: "Electricity price" - trigger: - platform: time - # Matches every hour at 1 minutes past whole - minutes: 1 - seconds: 00 - condition: - condition: template - value_template: '{{ float(states.sensor.electricity_price_hamretunet_10.state) > 0.9 * float(states.sensor.electricity_price_hamretunet_10.attributes.max_price) }}' - action: - - service: notify.pushbullet - data: - title: "Electricity price" - target: "device/daniel_telefon_cat" - message: "The electricity price is now {{ states.sensor.electricity_price_hamretunet_10.state }}" -``` -{% endraw %} diff --git a/source/_components/sensor.time_date.markdown b/source/_components/sensor.time_date.markdown index ce9547358e..a37980565e 100644 --- a/source/_components/sensor.time_date.markdown +++ b/source/_components/sensor.time_date.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Time & Date" -description: "Instructions on how to integrate the time and the date within Home Assistant." +description: "Instructions how to integrate the time and the date within Home Assistant." date: 2015-05-08 17:15 sidebar: true comments: false diff --git a/source/_components/sensor.toon.markdown b/source/_components/sensor.toon.markdown index 7a82ab95e9..fabf565aeb 100644 --- a/source/_components/sensor.toon.markdown +++ b/source/_components/sensor.toon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Toon Sensor" -description: "Instructions on how to integrate Toon climate devices within Home Assistant." +description: "Instructions how to integrate Toon climate devices within Home Assistant." date: 2017-10-22 12:00 sidebar: true comments: false diff --git a/source/_components/sensor.torque.markdown b/source/_components/sensor.torque.markdown index 38379ccd67..87ff9e0eca 100644 --- a/source/_components/sensor.torque.markdown +++ b/source/_components/sensor.torque.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Torque (OBD2)" -description: "Instructions on how to integrate Torque sensors into Home Assistant." +description: "Instructions how to integrate Torque sensors into Home Assistant." date: 2015-12-20 18:00 sidebar: true comments: false diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown deleted file mode 100644 index fb78480fb1..0000000000 --- a/source/_components/sensor.tradfri.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "IKEA Trådfri sensors" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." -date: 2017-04-12 22.04 -sidebar: true -comments: false -sharing: true -footer: true -logo: ikea.svg -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.67 ---- - -For installation instructions, see [the Trådfri component](/components/tradfri/). diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown deleted file mode 100644 index 272c4e0994..0000000000 --- a/source/_components/sensor.trafikverket_weatherstation.markdown +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: page -title: "Trafikverket WeatherStation" -description: "Instructions how to integrate Trafikverket WeatherStation within Home Assistant." -date: 2018-02-01 12:06 -sidebar: true -comments: false -sharing: true -footer: true -logo: trafikverket.png -ha_category: Sensor -ha_release: 0.66.0 ---- - -Showing weather information for air and road temperature provided by [Trafikverket](https://www.trafikverket.se/) in Sweden. - -Potential use cases: -- Get weather data in general -- You live near a weather station and want to know the current temperature at home -- Setup automations for your car heating system. If the road is frozen along the way to work, you might want the car heating system to start earlier. - -##### {% linkable_title Configuration %} - -To enable this sensor, add the following lines to your `configuration.yaml`. - -```yaml -sensor: - - platform: trafikverket_weatherstation - name: Trafikverket Road WeatherStation Kungälv - api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX - station: Kungälv - type: road -``` - -{% configuration %} -name: - description: Unique name of the device in the frontend. - required: true - type: string -api_key: - description: API key from Trafikverket. - required: true - type: string -station: - description: Name of the weather station. - required: true - type: string -type: - description: Defines which temperature you want (`air` or `road`). - required: true - type: string -scan_interval: - description: How frequently to query for new data (in seconds). - required: false - type: int - default: 300 -{% endconfiguration %} - -##### {% linkable_title Obtaining API key %} - -Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obtain the API key. - -##### {% linkable_title Weather stations %} - -Click [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=1/606442.17/6886316.22/&Layers=RoadWeather%2b) to get a map of valid weather stations. Once a station is found, copy the name according to the below picture and paste it in your `configuration.yaml` file as the `station` variable. - -

- -

- -##### {% linkable_title Examples %} - -```yaml -sensor: - - platform: trafikverket_weatherstation - name: Trafikverket Road WeatherStation Kungälv - api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX - station: Kungälv - type: road - - platform: trafikverket_weatherstation - name: Trafikverket Air WeatherStation Lanna - api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX - station: Lanna - type: air - scan_interval: 600 -``` diff --git a/source/_components/sensor.transmission.markdown b/source/_components/sensor.transmission.markdown index e76da08026..4e54096833 100644 --- a/source/_components/sensor.transmission.markdown +++ b/source/_components/sensor.transmission.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Transmission Sensor" -description: "Instructions on how to integrate Transmission sensors within Home Assistant." +description: "Instructions how to integrate Transmission sensors within Home Assistant." date: 2015-04-25 9:06 sidebar: true comments: false diff --git a/source/_components/sensor.twitch.markdown b/source/_components/sensor.twitch.markdown index 6ed513ca90..ce0b0d051b 100644 --- a/source/_components/sensor.twitch.markdown +++ b/source/_components/sensor.twitch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Twitch" -description: "Instructions on how to integrate Twitch sensors into Home Assistant." +description: "Instructions how to integrate Twitch sensors into Home Assistant." date: 2015-12-19 09:00 sidebar: true comments: false diff --git a/source/_components/sensor.uk_transport.markdown b/source/_components/sensor.uk_transport.markdown index de21db07dd..759f37f982 100644 --- a/source/_components/sensor.uk_transport.markdown +++ b/source/_components/sensor.uk_transport.markdown @@ -22,7 +22,7 @@ Additional sensors can be added but at the expense of a reduced refresh rate. 2 Queries are entered as a list, with the two transport modes available being `bus` and `train`. -Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](http://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g., `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json). +Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](http://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g. `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json). To add a single train departure sensor add the following to your `configuration.yaml` file: @@ -48,7 +48,7 @@ Configuration variables: - **origin** (*Required*): Specify the three character long origin station code. - **destination** (*Required*): Specify the three character long destination station code. -A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform. +A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](https://home-assistant.io/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform. ```yaml # Example configuration.yaml entry for a template sensor to access the attributes of the next departing train. diff --git a/source/_components/sensor.uptime.markdown b/source/_components/sensor.uptime.markdown index f67feb188e..b17f985797 100644 --- a/source/_components/sensor.uptime.markdown +++ b/source/_components/sensor.uptime.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Uptime Sensor" -description: "Instructions on how to integrate an uptime sensor into Home Assistant." +description: "Instructions how to integrate an uptime sensor into Home Assistant." date: 2017-10-13 10:30 sidebar: true comments: false diff --git a/source/_components/sensor.uscis.markdown b/source/_components/sensor.uscis.markdown deleted file mode 100644 index 3d214dc818..0000000000 --- a/source/_components/sensor.uscis.markdown +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: page -title: USCIS Sensor -description: "Instructions on how to set up USCIS within Home Assistant." -date: 2018-03-21 08:00 -sidebar: false -comments: false -sharing: true -footer: true -logo: uscis.png -ha_category: Sensor -ha_release: 0.68 -ha_iot_class: "Cloud Polling" ---- - -The `uscis` sensor component allows you get updates on your USCIS case using your case/receipt number. The sensor gets the case information from [USCIS Website]( https://egov.uscis.gov/casestatus/landing.do) - -## Example for `configuration.yaml` : - -```yaml -sensor: - - platform: uscis - case_id: YOUR_CASE_NUMBER - name: OPTIONAL_NAME -``` - -{% configuration %} -friendly_name: - description: Name of the sensor in Home Assistant. - required: false - default: USCIS - type: string -case_id: - description: Case/receipt number used to get the case details from USCIS web client. - required: true - type: string -{% endconfiguration %} - -All the data will be fetch from [USCIS](https://egov.uscis.gov/casestatus/mycasestatus.do). diff --git a/source/_components/sensor.vasttrafik.markdown b/source/_components/sensor.vasttrafik.markdown index 8f3862fdd8..a5aad007bd 100644 --- a/source/_components/sensor.vasttrafik.markdown +++ b/source/_components/sensor.vasttrafik.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Västtrafik Public Transport" -description: "Instructions on how to integrate timetable data for traveling in Sweden within Home Assistant." +description: "Instructions how to integrate timetable data for traveling in Sweden within Home Assistant." date: 2016-10-05 08:45 sidebar: true comments: false @@ -13,6 +13,7 @@ ha_iot_class: "Cloud Polling" ha_release: "0.30" --- + The `vasttrafik` sensor will provide you traveling details for the larger Göteborg area in Sweden from the [Västtrafik](https://vasttrafik.se/) public transportation service. You must create an application [here](https://developer.vasttrafik.se/portal/#/applications) to obtain a `key` and a `secret`. @@ -33,11 +34,10 @@ Configuration variables: - **key** (*Required*): The API key to access your Västtrafik account. - **secret** (*Required*): The API secret to access your Västtrafik account. -- **departures** array (*Required*): List of travel routes. +- **departures** array (*Required*): List of traveling routes. - **name** (*Optional*): Name of the route. - **from** (*Required*): The start station. - **heading** (*Optional*): Direction of the traveling. - - **lines** (*Optional*): Only consider these lines. - **delay** (*Optional*): Delay in minutes. Defaults to 0. The data are coming from [Västtrafik](https://vasttrafik.se/). @@ -54,8 +54,5 @@ sensor: - name: Mot järntorget from: Musikvägen heading: Järntorget - lines: - - 7 - - GRÖN delay: 10 ``` diff --git a/source/_components/sensor.vera.markdown b/source/_components/sensor.vera.markdown index 0fbdf0ff31..c1e7b16a37 100644 --- a/source/_components/sensor.vera.markdown +++ b/source/_components/sensor.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Sensor" -description: "Instructions on how to integrate Vera sensors into Home Assistant." +description: "Instructions how to integrate Vera sensors into Home Assistant." date: 2015-10-20 21:00 sidebar: true comments: false diff --git a/source/_components/sensor.verisure.markdown b/source/_components/sensor.verisure.markdown index 8ee60938a9..75a4676365 100644 --- a/source/_components/sensor.verisure.markdown +++ b/source/_components/sensor.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure Sensor" -description: "Instructions on how to integrate Verisure sensors into Home Assistant." +description: "Instructions how to integrate Verisure sensors into Home Assistant." date: 2016-02-23 21:31 +0100 sidebar: true comments: false diff --git a/source/_components/sensor.version.markdown b/source/_components/sensor.version.markdown index a84c05f7a2..3f8eaa196e 100644 --- a/source/_components/sensor.version.markdown +++ b/source/_components/sensor.version.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Version Sensor" -description: "Instructions on how to integrate a version sensor into Home Assistant." +description: "Instructions how to integrate a version sensor into Home Assistant." date: 2017-08-10 10:30 sidebar: true comments: false diff --git a/source/_components/sensor.waqi.markdown b/source/_components/sensor.waqi.markdown index a3fd05aab8..ce920cfeff 100644 --- a/source/_components/sensor.waqi.markdown +++ b/source/_components/sensor.waqi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "World Air Quality Index" -description: "Instructions on how to setup World Air Quality Index sensor in Home Assistant." +description: "Instructions how to setup World Air Quality Index sensor in Home Assistant." date: 2016-11-17 06:00 sidebar: true comments: false diff --git a/source/_components/sensor.waze_travel_time.markdown b/source/_components/sensor.waze_travel_time.markdown deleted file mode 100644 index db3e3f0418..0000000000 --- a/source/_components/sensor.waze_travel_time.markdown +++ /dev/null @@ -1,59 +0,0 @@ ---- -layout: page -title: "Waze Travel Time" -description: "Instructions on how to add Waze travel time to Home Assistant." -date: 2018-01-23 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: waze.png -ha_category: Transport -ha_iot_class: "Cloud Polling" -ha_release: 0.67 ---- - -The `waze_travel_time` sensor provides travel time from the [Waze](https://www.waze.com/). - -Unit system is set to metric system. - -## {% linkable_title Configuration %} - -To use this sensor in your installation, add the following `abode` section to your `configuration.yaml` file: - -```yaml -# Example entry for configuration.yaml -sensor: - - platform: waze_travel_time - origin: Montréal, QC - destination: Québec, QC - region: 'US' -``` - -{% configuration %} -origin: - description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). - required: true - type: string -destination: - description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). - required: true - type: string -region: - description: Choose one of the available regions from 'EU', 'US', 'NA' (equivalent to 'US') or 'IL'. - required: true - type: string -name: - description: A name to display on the sensor. - required: false - default: "Waze Travel Time" - type: string -incl_filter: - description: A substring that has to be present in the description of the selected route (a simple case-insensitive matching). - required: false - type: string -excl_filter: - description: A substring that has to be NOT present in the description of the selected route (a simple case-insensitive matching). - required: false - type: string -{% endconfiguration %} diff --git a/source/_components/sensor.wink.markdown b/source/_components/sensor.wink.markdown index 7300fd8d65..5a54a70424 100644 --- a/source/_components/sensor.wink.markdown +++ b/source/_components/sensor.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Sensor" -description: "Instructions on how to setup the Wink sensors within Home Assistant." +description: "Instructions how to setup the Wink sensors within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/sensor.worldclock.markdown b/source/_components/sensor.worldclock.markdown index c35d652f10..c195fe37ce 100644 --- a/source/_components/sensor.worldclock.markdown +++ b/source/_components/sensor.worldclock.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Worldclock" -description: "Instructions on how to integrate a Worldclock within Home Assistant." +description: "Instructions how to integrate a Worldclock within Home Assistant." date: 2015-10-02 11:15 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: pre 0.7 --- -The `worldclock` sensor platform simply displays the current time in a different time zone +The `worldclock` sensor platform simple displays the current time in a different time zone To enable this sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.worldtidesinfo.markdown b/source/_components/sensor.worldtidesinfo.markdown index 1b5dca3185..955f380d4a 100644 --- a/source/_components/sensor.worldtidesinfo.markdown +++ b/source/_components/sensor.worldtidesinfo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "World Tides" -description: "Instructions on how to add Tides information to Home Assistant." +description: "Instructions how to add Tides information to Home Assistant." date: 2017-08-23 08:00 sidebar: true comments: false diff --git a/source/_components/sensor.worxlandroid.markdown b/source/_components/sensor.worxlandroid.markdown index 5497ae7005..5f52ac95d9 100644 --- a/source/_components/sensor.worxlandroid.markdown +++ b/source/_components/sensor.worxlandroid.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Worx Landroid" -description: "Instructions on how to integrate Worx Landroid WG796E.1 or WG797E as sensors within Home Assistant." +description: "Instructions how to integrate Worx Landroid WG796E.1 or WG797E as sensors within Home Assistant." date: 2017-09-12 13:23 sidebar: true comments: false diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown index d86dd62935..4183dfa0b0 100644 --- a/source/_components/sensor.wunderground.markdown +++ b/source/_components/sensor.wunderground.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Weather Underground (WUnderground)" -description: "Instructions on how to integrate Weather Underground (WUnderground) Weather within Home Assistant." +description: "Instructions how to integrate Weather Underground (WUnderground) Weather within Home Assistant." date: 2016-08-18 sidebar: true comments: false @@ -86,7 +86,7 @@ Configuration variables: - **weather**: A human-readable text summary with picture from Wunderground. - **weather_1d** [[12h]](#12h): A human-readable weather forecast using imperial units. - **weather_1d_metric** [[12h]](#12h): A human-readable weather forecast using metric units. - - **weather_1h** [[1h]](#1h): Weather conditions in 1 hour. (e.g., "Thunderstorm" etc.) + - **weather_1h** [[1h]](#1h): Weather conditions in 1 hour. (e.g. "Thunderstorm" etc.) - **wind_degrees**: Wind degrees - **wind_dir**: Wind direction - **wind_gust_kph**: Wind gusts speed in kph @@ -105,7 +105,7 @@ All the conditions listed above will be updated every 5 minutes. _12 hour forecasts_ -Monitored conditions marked above with [12h] are 12 hour forecasts. To get a forecast for different period/daytime replace the `_1d_` part of the sensor name. e.g., `weather_2n` will give you forecast for tomorrow night. Valid values for day are `1` to `4` and valid values for daytime are `d` or `n`. +Monitored conditions marked above with [12h] are 12 hour forecasts. To get a forecast for different period/daytime replace the `_1d_` part of the sensor name. e.g. `weather_2n` will give you forecast for tomorrow night. Valid values for day are `1` to `4` and valid values for daytime are `d` or `n`. _Daily forecasts_ @@ -115,7 +115,7 @@ in `_1d_` part of the sensor name. Valid values are from `1` to `4`. _Hourly forecasts_ Conditions marked with [1h] are hourly forecasts. To get forecast for different hour, replace the number -in the `_1h_` part of the sensor name with `1` to `36`. e.g., `weather_24h` will give you weather in 24 hours. +in the `_1h_` part of the sensor name with `1` to `36`. E.g. `weather_24h` will give you weather in 24 hours. ### {% linkable_title Additional examples %} diff --git a/source/_components/sensor.xiaomi_aqara.markdown b/source/_components/sensor.xiaomi_aqara.markdown index a69c4f685a..247a9a94c9 100644 --- a/source/_components/sensor.xiaomi_aqara.markdown +++ b/source/_components/sensor.xiaomi_aqara.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Sensor" -description: "Instructions on how to setup the Xiaomi sensor within Home Assistant." +description: "Instructions how to setup the Xiaomi sensor within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false diff --git a/source/_components/sensor.xiaomi_miio.markdown b/source/_components/sensor.xiaomi_miio.markdown deleted file mode 100644 index 65d1f3780f..0000000000 --- a/source/_components/sensor.xiaomi_miio.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: page -title: "Xiaomi Air Quality Monitor" -description: "Instructions how to integrate your Xiaomi Mi Air Quality Monitor within Home Assistant." -date: 2018-02-28 08:35 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Sensor -ha_version: 0.66 -ha_iot_class: "Local Polling" ---- - -The `xiaomi_miio` sensor platform is observing your Xiaomi Mi Air Quality Monitor (PM2.5) and reporting the air quality index. - -Currently, the supported features are: - -* Air Quality Index (AQI) -* Attributes - - power - - charging - - battery - - time_stat - -Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. - -To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: xiaomi_miio - name: Xiaomi Air Quality Monitor - host: 192.168.130.73 - token: YOUR_TOKEN -``` - -{% configuration %} -host: - description: The IP address of your miio device. - required: true - type: string -token: - description: The API token of your miio device. - required: true - type: string -name: - description: The name of your miio device. - required: false - type: string - default: Xiaomi Miio Sensor -{% endconfiguration %} diff --git a/source/_components/sensor.yahoo_finance.markdown b/source/_components/sensor.yahoo_finance.markdown index 0e8d12c0fb..8a55a78dda 100644 --- a/source/_components/sensor.yahoo_finance.markdown +++ b/source/_components/sensor.yahoo_finance.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yahoo Finance" -description: "Instructions on how to setup Yahoo Finance within Home Assistant." +description: "Instructions how to setup Yahoo Finance within Home Assistant." date: 2016-09-18 21:00 sidebar: true comments: false diff --git a/source/_components/sensor.yr.markdown b/source/_components/sensor.yr.markdown index 772fa6560e..35813cb459 100644 --- a/source/_components/sensor.yr.markdown +++ b/source/_components/sensor.yr.markdown @@ -1,7 +1,7 @@ --- layout: page title: "YR" -description: "Instructions on how to integrate Yr.no within Home Assistant." +description: "Instructions how to integrate Yr.no within Home Assistant." date: 2016-01-04 14:00 sidebar: true comments: false diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index fdd5a38b80..0f9bcd7a85 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yahoo Weather Sensor" -description: "Instructions on how to integrate Yahoo Weather within Home Assistant." +description: "Instructions how to integrate Yahoo Weather within Home Assistant." date: 2016-07-06 9:06 sidebar: true comments: false diff --git a/source/_components/sensor.zabbix.markdown b/source/_components/sensor.zabbix.markdown index 64e960ed61..daf65e1a78 100644 --- a/source/_components/sensor.zabbix.markdown +++ b/source/_components/sensor.zabbix.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zabbix Sensor" -description: "Instructions on how to integrate Zabbix Triggers sensors within Home Assistant." +description: "Instructions how to integrate Zabbix Triggers sensors within Home Assistant." date: 2016-12-13 22:57 sidebar: true comments: false diff --git a/source/_components/sensor.zamg.markdown b/source/_components/sensor.zamg.markdown index 014752a66e..9c6558a569 100644 --- a/source/_components/sensor.zamg.markdown +++ b/source/_components/sensor.zamg.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ZAMG Sensor" -description: "Instructions on how to integrate ZAMG sensors within Home Assistant." +description: "Instructions how to integrate ZAMG sensors within Home Assistant." date: 2016-12-06 08:00 sidebar: true comments: false diff --git a/source/_components/sensor.zestimate.markdown b/source/_components/sensor.zestimate.markdown deleted file mode 100644 index ca9547e404..0000000000 --- a/source/_components/sensor.zestimate.markdown +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: page -title: "Zestimate" -description: "Instructions on how to integrate the Zestimate sensor into Home Assistant." -date: 2018-03-02 3:10 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Sensor -logo: zillow.png -ha_release: 0.65 -ha_iot_class: "Cloud Polling" ---- - -The `zestimate` sensor allows one to track the Zestimate value of properties using the [Zillow API](https://www.zillow.com/howto/api/APIOverview.htm). - -## {% linkable_title Configuration %} - -You will need to sign up for the Zillow API at the following link [Zillow API](https://www.zillow.com/howto/api/APIOverview.htm). You will also need the Zillow property ID for each property you'd like to track. This information is available from the URL of a property you are interested in. - -For example, the White House zpid is 84074482 and can be found in it's Zillow URL: [https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/](https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/) - -To enable this sensor, add the following lines to your `configuration.yaml`. - -```yaml -sensor: - - platform: zestimate - api_key: YOUR_API_KEY - zpid: - - YOUR_ZPID_1 - - YOUR_ZPID_2 -``` - -{% configuration %} -api_key: - description: The API key to access the service. - required: true - type: string -zpid: - description: Property IDs to track in the front end. - required: true - type: list -{% endconfiguration %} - -### {% linkable_title Additional Attributes %} - -The following additional attributes are also available via the sensor. - -These attributes are available: - -- Last update -- 30 Day change in value -- Valuation Range High -- Valuation Range Low -- Address -- Currency -- Amount diff --git a/source/_components/sensor.zwave.markdown b/source/_components/sensor.zwave.markdown index 70fba841c5..2b22c7cce9 100644 --- a/source/_components/sensor.zwave.markdown +++ b/source/_components/sensor.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Sensor" -description: "Instructions on how to setup the Z-Wave sensors within Home Assistant." +description: "Instructions how to setup the Z-Wave sensors within Home Assistant." date: 2015-11-15 13:00 sidebar: true comments: false diff --git a/source/_components/shell_command.markdown b/source/_components/shell_command.markdown index 8c03c7c7af..d9f64f8a07 100644 --- a/source/_components/shell_command.markdown +++ b/source/_components/shell_command.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Shell command" -description: "Instructions on how to integrate Shell commands into Home Assistant." +description: "Instructions how to integrate Shell commands into Home Assistant." date: 2015-10-13 19:10 sidebar: true comments: false diff --git a/source/_components/shiftr.markdown b/source/_components/shiftr.markdown index a383534704..16ae6a53f0 100644 --- a/source/_components/shiftr.markdown +++ b/source/_components/shiftr.markdown @@ -15,8 +15,6 @@ ha_release: 0.48 The `shiftr` component makes it possible to transfer details collected with Home Assistant to [Shiftr.io](https://shiftr.io) and visualize the flow of the information. Keep in mind that your details will be public! -## {% linkable_title Configuration %} - Create a new [namespace](https://shiftr.io/new) and generate a new token. You will need to use `Key (Username)` and `Secret (Password)` to setup the component. To use the `shiftr` component in your installation, add the following to your `configuration.yaml` file: @@ -24,18 +22,12 @@ To use the `shiftr` component in your installation, add the following to your `c ```yaml # Example configuration.yaml entry shiftr: - username: YOUR_NAMESPACE_USERNAME - password: YOUR_NAMESPACE_PASSWORD + username: 63d8187f + password: 32fd92de6a59c3e2 ``` -{% configuration %} -username: - description: Username for the Shiftr namespace. - required: true - type: string -password: - description: Password for the Shiftr namespace. - required: true - type: string -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): Username for the namespace. +- **password** (*Required*): Password for the namespace. diff --git a/source/_components/skybell.markdown b/source/_components/skybell.markdown index 189f3a1b99..4a7a2cfdac 100644 --- a/source/_components/skybell.markdown +++ b/source/_components/skybell.markdown @@ -17,15 +17,13 @@ The `skybell` implementation allows you to integrate your [Skybell.com](http://w Currently only the Skybell HD is supported by this platform. -## {% linkable_title Configuration %} - To enable devices set up with your [Skybell.com](http://www.skybell.com/) account, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry skybell: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: secret ``` {% configuration %} diff --git a/source/_components/sleepiq.markdown b/source/_components/sleepiq.markdown index a3efeaa0a0..6527c803f0 100644 --- a/source/_components/sleepiq.markdown +++ b/source/_components/sleepiq.markdown @@ -22,18 +22,11 @@ To set it up, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sleepiq: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: omgsecure ``` -{% configuration %} -username: - description: Your SleepIQ username (usually an e-mail address). - required: true - type: string -password: - description: Your SleepIQ password. - required: true - type: string -{% endconfiguration %} +Configuration variables: +- **username** (*Required*): Your SleepIQ username (usually an email address). +- **password** (*Required*): Your SleepIQ password. diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown deleted file mode 100644 index ce56987f72..0000000000 --- a/source/_components/smappee.markdown +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: page -title: "Smappee" -description: "Instructions on how to setup Smappee within Home Assistant." -date: 2018-02-26 08:37 -sidebar: true -comments: false -sharing: true -footer: true -logo: smappee.png -ha_release: "0.64" -ha_category: Hub ---- - -The `smappee` component adds support for the [Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. - -Switches and Sensors are supported - and will be automatically added when you connect to the Smappee controller. - -The smappee component gets information from [Smappee API](https://smappee.atlassian.net/wiki/display/DEVAPI/API+Methods). - -## {% linkable_title Configuration %} - -Info on how to get API access is described in the [smappy wiki](https://github.com/EnergieID/smappy/wiki). - -To use the `smappee` component in your installation, add the following to your `configuration.yaml` file: - - -```yaml -# Example configuration.yaml entry -smappee: - host: 10.0.0.5 - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET - username: YOUR_MYSMAPPEE_USERNAME - password: YOUR_MYSMAPPEE_PASSWORD -``` - -```yaml -# Minimal example configuration.yaml entry -smappee: - host: 10.0.0.5 -``` - -```yaml -# Cloud only example configuration.yaml entry -smappee: - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET - username: YOUR_MYSMAPPEE_USERNAME - password: YOUR_MYSMAPPEE_PASSWORD -``` - -Configuration variables: - -- **host** (*Optional*): Your Local Smappee unit IP. -- **host_password** (*Optional*): Your Local Smappee password. -- **client_id** (*Optional*): Your Smappee API client_id. -- **client_secret** (*Optional*): Your Smappee API client_secret. -- **username** (*Optional*): Your My Smappee username. -- **password** (*Optional*): Your My Smappee password. diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index e7086ac9dc..1e8dae2e05 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -1,8 +1,8 @@ --- layout: page title: "Snips" -description: "Instructions on how to integrate Snips within Home Assistant." -date: 2018-05-02 12:00 +description: "Instructions how to integrate Snips within Home Assistant." +date: 2017-06-22 12:00 sidebar: true comments: false sharing: true @@ -14,7 +14,7 @@ ha_release: 0.48 The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on privacy. It runs 100% on-device, and does not require an internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialog Management. -The latest documentation can be found here: [Snips Platform Documentation](https://snips.gitbook.io/documentation/). +The latest documentation can be found here: [Snips Platform Documentation](https://github.com/snipsco/snips-platform-documentation/wiki). ![Snips Modules](/images/screenshots/snips_modules.png) @@ -27,63 +27,55 @@ Snips takes voice or text as input and produces *intents* as output, which are e ### {% linkable_title Installation %} -The Snips platform can be installed via the Snips APT/Debian repository. If you prefer to install the platform using the Docker distribution, check out our [Docker Installation Guide](https://github.com/snipsco/snips-platform-documentation/wiki/6.--Miscellaneous#using-docker). +The Snips Voice Platform is installed as a Docker image on Raspberry Pi with the following command: + +```bash +(pi) $ curl https://install.snips.ai -sSf | sh +``` + +Snips can also be installed on a Debian/Ubuntu machine as well: ```bash $ sudo apt-get update $ sudo apt-get install -y dirmngr -$ sudo bash -c 'echo "deb https://raspbian.snips.ai/$(lsb_release -cs) stable main" > /etc/apt/sources.list.d/snips.list' -$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys D4F50CDCA10A2849 +$ sudo bash -c 'echo "deb https://debian.snips.ai/$(lsb_release -cs) stable main" > /etc/apt/sources.list.d/snips.list' +$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys F727C778CCB0A455 + $ sudo apt-get update $ sudo apt-get install -y snips-platform-voice ``` -Note: if the keyserver pgp.mit.edu is down try to use another one in the 4th line , like pgp.surfnet.nl: - -```bash -sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849 -``` - ### {% linkable_title Creating an assistant %}
-Head over to the [Snips Console](https://console.snips.ai) to create your assistant. Launch the training and download by clicking on the "Download Assistant" button. - -The next step is to get the assistant to work on your device. Unzip and copy the assistant folder that you downloaded from the web console to the path. Assuming your downloaded assistant folder is on your desktop, just run: +Snips assistants are created via the [Snips Console](https://console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi: ```bash -$ scp -r ~/Desktop/assistant pi@:/home/pi/. +$ scp assistantproj_XXX.zip pi@pi_hostname:/home/pi/assistant.zip ``` -Now ssh into your Raspberry Pi: +and installed locally via the `snips-install-assistant` helper script: ```bash -$ ssh pi@ -``` - -By default, this command is `ssh pi@raspberrypi.local`, if you are using the default Raspberry Pi hostname. - -Then, move the assistant to the right folder: - -```bash -(pi) $ sudo mv /home/pi/assistant /usr/share/snips/assistant -``` - -Note: if you already have an assistant installed and wish to replace it, start by removing the previous one, and then move the new one in its place: - -```bash -(pi) $ sudo rm -r /usr/share/snips/assistant -(pi) $ sudo mv /home/pi/assistant /usr/share/snips/assistant +(pi) $ sudo snips-install-assistant assistant.zip ``` ### {% linkable_title Running Snips %} Make sure that a microphone is plugged to the Raspberry Pi. If you are having trouble setting up audio, we have written a guide on [Raspberry Pi Audio Configuration](https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi#configuring-the-audio). -Start the Snips Voice Platform by starting the `snips-*` services: +Start the Snips Voice Platform using the `snips` command: + +Raspberry Pi: + +```bash +(pi) $ snips +``` + +Debian/Ubuntu: ```bash $ sudo systemctl start "snips-*" @@ -97,17 +89,32 @@ followed by a command, e.g. > Set the lights to green in the living room -As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml` file, as explained below. +We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/intent/` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below. #### {% linkable_title Optional: specifying an external MQTT broker %} -By default, Snips runs its own MQTT broker. But we can also tell Snips to use an external broker by specifying this when launching Snips. In this case, we need to specify this in the `/etc/snips.toml` configuration file. For more information on configuring this, see the [Using an external MQTT broker](https://github.com/snipsco/snips-platform-documentation/wiki/6.--Miscellaneous#using-external-mqtt-broker) article. +By default, Snips runs its own MQTT broker. But we can also tell Snips to use an external broker by specifying this when launching Snips. In this case, instead of running the `snips` command above (which assumes we are using the internal MQTT broker), we use the full launch command with explicitly specified parameters (replace `MQTT_BROKER_IP` and `MQTT_BROKER_PORT` with appropriate values): + +Raspberry Pi: + +```sh +$ docker run -t --rm --name snips --log-driver none \ + -v /home/pi/.asoundrc:/root/.asoundrc \ + -v /opt/snips/config:/opt/snips/config \ + --privileged -v /dev/snd:/dev/snd snipsdocker/platform \ + --mqtt MQTT_BROKER_IP:MQTT_BROKER_PORT +``` +Debian/Ubuntu: + +Edit the `/etc/snips.toml` file. See snips documentation for more information on configuring this + +For more details on launch options, check the documentation on [Snips Platform Commands](https://github.com/snipsco/snips-platform-documentation/wiki/6.--Learn-more:-Platform-Commands#using-a-custom-mqtt-bus). ## {% linkable_title Home Assistant configuration %} ### {% linkable_title Specifying the MQTT broker %} -Messages between Snips and Home Assistant are passed via MQTT. We can either point Snips to the MQTT broker used by Home Assistant, as explained above, or tell Home Assistant which [MQTT broker](/docs/mqtt/) to use by adding the following entry to the `configuration.yaml` file: +Messages between Snips and Home Assistant are passed via MQTT. We must tell Home Assistant which [MQTT broker](/docs/mqtt/) to use by adding the following entry to the `configuration.yaml` file: ```yaml mqtt: @@ -115,7 +122,7 @@ mqtt: port: MQTT_BROKER_PORT ``` -By default, Snips runs an MQTT broker on port 9898. So if we wish to use this broker, and if Snips and Home Assistant run on the same device, the entry will look as follows: +As explained above, Snips by default runs an MQTT broker on port 9898. So if we wish to use this broker, the entry will look as follows: ```yaml mqtt: @@ -123,11 +130,11 @@ mqtt: port: 9898 ``` -Alternatively, MQTT can be configured to bridge messages between servers if using a custom MQTT broker such as [mosquitto](https://mosquitto.org/). +Alternatively, MQTT can be configured to bridge messages between servers if using a custom MQTT broker such as `mosquitto`. ### {% linkable_title Triggering actions %} -In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors: +In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles `ActivateLightColors` intents (included in the Snips IoT intent bundle) to change light colors: {% raw %} ```yaml @@ -143,11 +150,9 @@ intent_script: ``` {% endraw %} -In the `data_template` block, we have access to special variables, corresponding to the slot names for the intent. In the present case, the `ActivateLightColor` has two slots, `objectLocation` and `objectColor`. +The variables that can be used in the template are of the form 'slotName = value'. -### {% linkable_title Special slots %} - -In the above example, the slots are plain strings. However, when more complex types are used, such as dates or time ranges, they will be transformed to rich Python objects, for example: +Snips intents that utilize builtin slot types will contain extended information along with the value and can be exposed using this format: {% raw %} ```yaml @@ -166,11 +171,11 @@ SetTimer: ``` {% endraw %} -### {% linkable_title Sending TTS Notifications %} +### Sending TTS Notifications You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door". -#### {% linkable_title Service `snips.say` %} +#### {% linkable_title Service `snips/say` %} | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------------| @@ -178,7 +183,7 @@ You can send TTS notifications to Snips using the snips.say and snips.say_action | `site_id` | yes | Site to use to start session. | | `custom_data` | yes | custom data that will be included with all messages in this session. | -#### {% linkable_title Service `snips.say_action` %} +#### {% linkable_title Service `snips/say_action` %} | Service data attribute | Optional | Description | |------------------------|----------|--------------------------------------------------------| @@ -188,48 +193,19 @@ You can send TTS notifications to Snips using the snips.say and snips.say_action | `can_be_enqueued` | yes | If True, session waits for an open session to end, if False session is dropped if one is running. | | `intent_filter` | yes | Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. | - -### {% linkable_title Snips Support %} - -There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support. - -### {% linkable_title Configuration Examples %} - -#### {% linkable_title Turn on a light %} +#### Configuration Examples ```yaml -intent_script: +script: turn_on_light: - speech: - type: plain - text: 'OK, closing the garage door' - action: - service: light.turn_on -``` - -##### {% linkable_title Open a Garage Door %} - -```yaml -intent_script: - OpenGarageDoor: - speech: - type: plain - text: 'OK, opening the garage door' - action: - - service: cover.open_cover + sequence: + service: script.turn_on_light + service: snips.say data: - entity_id: garage_door -``` + text: 'OK, the light is now on' -##### {% linkable_title Intiating a query %} - -Here is a more complex example. The automation is triggered if the garage door is open for more than 10 minutes. -Snips will then ask you if you want to close it and if you respond with something like "Close the garage door" it -will do so. Unfortunately there is no builtin support for yes and no responses. - -```yaml automation: - garage_door_has_been_open: + query_garage_door: trigger: - platform: state entity_id: binary_sensor.my_garage_door_sensor @@ -253,40 +229,3 @@ intent_script: action: - service: script.garage_door_close ``` - -##### {% linkable_title Weather %} - -So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example (Dark Sky)[/components/sensor.darksky/] and the `api_key` in the `secrets.yaml` file. - -```yaml -- platform: darksky - name: "Dark Sky Weather" - api_key: !secret dark_sky_key - update_interval: - minutes: 10 - monitored_conditions: - - summary - - hourly_summary - - temperature - - temperature_max - - temperature_min -``` - -Then create this `intent_script.yaml` file in your configuration directory. - -{% raw %} -```yaml -intent_script: - searchWeatherForecast: - speech: - type: plain - text: > - The weather is currently - {{ states('sensor.dark_sky_weather_temperature') | round(0) }} - degrees outside and {{ states('sensor.dark_sky_weather_summary') }}. - The high today will be - {{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}} - and {{ states('sensor.dark_sky_weather_hourly_summary') }} -``` -{% endraw %} - diff --git a/source/_components/spc.markdown b/source/_components/spc.markdown index 0e8819fb85..1573174329 100644 --- a/source/_components/spc.markdown +++ b/source/_components/spc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SPC" -description: "Instructions on how to setup Vanderbilt SPC devices within Home Assistant." +description: "Instructions how to setup Vanderbilt SPC devices within Home Assistant." date: 2017-05-18 08:00 sidebar: true comments: false @@ -27,8 +27,8 @@ spc: Configuration variables: -- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g., `http://:8088`. -- **ws_url** (*Required*): URL of the SPC Web Gateway websocket, e.g., `ws://:8088`. +- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g. `http://:8088`. +- **ws_url** (*Required*): URL of the SPC Web Gateway websocket, e.g. `ws://:8088`. Supported sensors will be automatically discovered and added, however they will be hidden by default. diff --git a/source/_components/sun.markdown b/source/_components/sun.markdown index 91d1f7903e..8de87f43be 100644 --- a/source/_components/sun.markdown +++ b/source/_components/sun.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Sun" -description: "Instructions on how to track the sun within Home Assistant." +description: "Instructions how to track the sun within Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false diff --git a/source/_components/switch.abode.markdown b/source/_components/switch.abode.markdown index 2cc7d2e977..8979b0e286 100644 --- a/source/_components/switch.abode.markdown +++ b/source/_components/switch.abode.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Abode Switch" -description: "Instructions on how to integrate Abode switches into Home Assistant." +description: "Instructions how to integrate Abode switches into Home Assistant." date: 2017-08-26 13:28 sidebar: true comments: false diff --git a/source/_components/switch.acer_projector.markdown b/source/_components/switch.acer_projector.markdown index 70e1ae5499..d9158b3152 100644 --- a/source/_components/switch.acer_projector.markdown +++ b/source/_components/switch.acer_projector.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Acer Projector Switch" -description: "Instructions on how to integrate Acer Projector switches into Home Assistant." +description: "Instructions how to integrate Acer Projector switches into Home Assistant." date: 2016-05-07 07:00 sidebar: true comments: false diff --git a/source/_components/switch.amcrest.markdown b/source/_components/switch.amcrest.markdown deleted file mode 100644 index d9ed4564b2..0000000000 --- a/source/_components/switch.amcrest.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: "Amcrest IP Camera Settings" -description: "Instructions on how to integrate settings for Amcrest IP Camera as switches within Home Assistant." -date: 2018-03-08 00:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: amcrest.png -ha_category: Switch -ha_release: 0.67 -ha_iot_class: "Local Polling" ---- - -The `amcrest` switch platform lets you control settings of [Amcrest IP Camera](https://home-assistant.io/components/camera.amcrest/) through Home Assistant. - -Switches will be configured automatically. Please refer to the [component](/components/amcrest/) configuration on how to setup. diff --git a/source/_components/switch.android_ip_webcam.markdown b/source/_components/switch.android_ip_webcam.markdown index bb32b0c9f5..980d363adc 100644 --- a/source/_components/switch.android_ip_webcam.markdown +++ b/source/_components/switch.android_ip_webcam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Android IP Webcam Settings" -description: "Instructions on how to integrate settings for Android IP webcam as switch within Home Assistant." +description: "Instructions how to integrate settings for Android IP webcam as switch within Home Assistant." date: 2017-03-10 00:00 sidebar: true comments: false diff --git a/source/_components/switch.anel_pwrctrl.markdown b/source/_components/switch.anel_pwrctrl.markdown index c753805477..fbd3023d3f 100644 --- a/source/_components/switch.anel_pwrctrl.markdown +++ b/source/_components/switch.anel_pwrctrl.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ANEL PwrCtrl Switch" -description: "Instructions on how to integrate ANEL PwrCtrl switches within Home Assistant." +description: "Instructions how to integrate ANEL PwrCtrl switches within Home Assistant." date: 2016-10-02 19:04 sidebar: true comments: false diff --git a/source/_components/switch.arduino.markdown b/source/_components/switch.arduino.markdown index a27907103a..bc4f76b19e 100644 --- a/source/_components/switch.arduino.markdown +++ b/source/_components/switch.arduino.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Arduino Switch" -description: "Instructions on how to integrate Arduino boards pins as switches within Home Assistant." +description: "Instructions how to integrate Arduino boards pins as switches within Home Assistant." date: 2015-09-14 18:28 sidebar: true comments: false diff --git a/source/_components/switch.arest.markdown b/source/_components/switch.arest.markdown index 603949d5c1..bca17d23c5 100644 --- a/source/_components/switch.arest.markdown +++ b/source/_components/switch.arest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "aREST Switch" -description: "Instructions on how to integrate aREST switches within Home Assistant." +description: "Instructions how to integrate aREST switches within Home Assistant." date: 2015-09-11 23:15 sidebar: true comments: false diff --git a/source/_components/switch.bbb_gpio.markdown b/source/_components/switch.bbb_gpio.markdown index 7b02e6a927..22feef16a6 100644 --- a/source/_components/switch.bbb_gpio.markdown +++ b/source/_components/switch.bbb_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "BeagleBone Black GPIO Switch" -description: "Instructions on how to integrate the GPIO of a BeagleBone Black into Home Assistant as a switch." +description: "Instructions how to integrate the GPIO of a BeagleBone Black into Home Assistant as a switch." date: 2017-01-14 10:00 sidebar: true comments: false diff --git a/source/_components/switch.broadlink.markdown b/source/_components/switch.broadlink.markdown index ad5f0214dc..f63297eed5 100644 --- a/source/_components/switch.broadlink.markdown +++ b/source/_components/switch.broadlink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Broadlink RM Switch" -description: "Instructions on how to have Broadlink RM switches." +description: "Instructions how to have Broadlink RM switches." date: 2016-11-22 22:41 sidebar: true comments: false @@ -43,7 +43,7 @@ Configuration variables: - **slot_3** (*Optional*) - **slot_4** (*Optional*) -Information about how to install on Windows can be found [here](/components/sensor.broadlink/#microsoft-windows-installation) +Information about how to install on Windows can be found [here](https://home-assistant.io/components/sensor.broadlink/#microsoft-windows-installation) ### {% linkable_title How to obtain IR/RF packets? %} @@ -90,8 +90,8 @@ switch: friendly_name: "Phillips Tv" command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=' command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA=' -``` - +``` + Example config for `sp1`, `sp2`, `honeywell_sp2`, `sp3`, `spmini2` and `spminiplus` devices: ```yaml @@ -106,7 +106,7 @@ switch: mac: 'MAC_ADDRESS' type: sp2 friendly_name: 'Humidifier' -``` +``` Example config for `mp1` device: @@ -142,10 +142,10 @@ script: sequence: - service: switch.broadlink_send_packet_192_168_0_107 data: - packet: + packet: - "JgCMAJSSFDYUNhQ2FBEUERQRFBEUERQ2FDYUNhQRFBEUERQRFBEUERQRFDYUERQRFBEUERQRFDYUNhQRFDYUNhQ2FDYUNhQABfWUkhQ2FDYUNhQRFBEUERQRFBEUNhQ2FDYUERQRFBEUERQRFBEUERQ2FBEUERQRFBEUERQ2FDYUERQ2FDYUNhQ2FDYUAA0FAAAAAAAAAAAAAAAA" - "JgBGAJSTFDUUNhM2ExITEhMSExITEhM2EzYTNhQRFBEUERQRFBEUNRQ2ExITNhMSExITNhMSExITEhM2ExITNhQ1FBEUNhMADQUAAA==" -``` +``` ### {% linkable_title Using E-Control Remotes %} @@ -168,7 +168,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro jsonSubIr jsonButton jsonIrCode - + 4. Install Requirements Run `pip install simplejson`. You must install simplejson in the same python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied". diff --git a/source/_components/switch.command_line.markdown b/source/_components/switch.command_line.markdown index 3f3ef8d022..0c70ae6afc 100644 --- a/source/_components/switch.command_line.markdown +++ b/source/_components/switch.command_line.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Command line Switch" -description: "Instructions on how to have switches call command line commands." +description: "Instructions how to have switches call command line commands." date: 2015-06-10 22:41 sidebar: true comments: false @@ -40,7 +40,7 @@ Configuration variables: A note on `friendly_name`: -When set, the `friendly_name` had been previously used for API calls and backend configuration instead of the `object_id` ("identifier"), but [this behavior is changing](https://github.com/home-assistant/home-assistant/pull/4343) to make the `friendly_name` for display purposes only. This allows users to set an `identifier` that emphasizes uniqueness and predictability for API and config purposes but have a prettier `friendly_name` still show up in the UI. As an additional benefit, if a user wanted to change the `friendly_name` / display name (e.g., from "Kitchen Lightswitch" to "Kitchen Switch" or "Living Room Light", or remove the `friendly_name` altogether), he or she could do so without needing to change existing automations or API calls. See aREST device below for an example. +When set, the `friendly_name` had been previously used for API calls and backend configuration instead of the `object_id` ("identifier"), but [this behavior is changing](https://github.com/home-assistant/home-assistant/pull/4343) to make the `friendly_name` for display purposes only. This allows users to set an `identifier` that emphasizes uniqueness and predictability for API and config purposes but have a prettier `friendly_name` still show up in the UI. As an additional benefit, if a user wanted to change the `friendly_name` / display name (e.g. from "Kitchen Lightswitch" to "Kitchen Switch" or "Living Room Light", or remove the `friendly_name` altogether), he or she could do so without needing to change existing automations or API calls. See aREST device below for an example. ## {% linkable_title Examples %} @@ -63,7 +63,7 @@ switch: friendly_name: Kitchen Lightswitch ``` -Given this example, in the UI one would see the `friendly_name` of "Kitchen Light". However, the `identifier` is `arest_pin_four`, making the `entity_id` `switch.arest_pin_four`, which is what one would use in [`automation`](/components/automation/) or in [API calls](/developers/). +Given this example, in the UI one would see the `friendly_name` of "Kitchen Light". However, the `identifier` is `arest_pin_four`, making the `entity_id` `switch.arest_pin_four`, which is what one would use in [`automation`](https://home-assistant.io/components/automation/) or in [API calls](https://home-assistant.io/developers/). ### {% linkable_title Shutdown your local host %} @@ -85,7 +85,7 @@ switch: ### {% linkable_title Control your VLC player %} -This switch will control a local VLC media player ([Source](https://community.home-assistant.io/t/vlc-player/106)). +This switch will control a local VLC media player ([Source](https://community.home-assistant.io/t/vlc-player/106)). ```yaml diff --git a/source/_components/switch.deluge.markdown b/source/_components/switch.deluge.markdown index b9673415c3..738732d27c 100644 --- a/source/_components/switch.deluge.markdown +++ b/source/_components/switch.deluge.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Deluge Switch" -description: "Instructions on how to integrate Deluge within Home Assistant." +description: "Instructions how to integrate Deluge within Home Assistant." date: 2017-10-19 09:00 sidebar: true comments: false diff --git a/source/_components/switch.digitalloggers.markdown b/source/_components/switch.digitalloggers.markdown index c0c2272d17..f3142a6bbc 100755 --- a/source/_components/switch.digitalloggers.markdown +++ b/source/_components/switch.digitalloggers.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Digital Loggers Switch" -description: "Instructions on how to integrate Digital Loggers DIN III relays into Home Assistant." +description: "Instructions how to integrate Digital Loggers DIN III relays into Home Assistant." date: 2016-10-02 10:00 sidebar: true comments: false diff --git a/source/_components/switch.dlink.markdown b/source/_components/switch.dlink.markdown index 50da6cf4a7..708ba90e39 100644 --- a/source/_components/switch.dlink.markdown +++ b/source/_components/switch.dlink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "D-Link Switch" -description: "Instructions on how to integrate D-Link switches into Home Assistant." +description: "Instructions how to integrate D-Link switches into Home Assistant." date: 2016-02-21 09:00 sidebar: true comments: false diff --git a/source/_components/switch.doorbird.markdown b/source/_components/switch.doorbird.markdown index cb5b66db17..fc2497f917 100644 --- a/source/_components/switch.doorbird.markdown +++ b/source/_components/switch.doorbird.markdown @@ -1,7 +1,7 @@ --- layout: page title: "DoorBird Switch" -description: "Instructions on how to integrate DoorBird video doorbell relays into Home Assistant." +description: "Instructions how to integrate DoorBird video doorbell relays into Home Assistant." date: 2017-08-06 11:30 sidebar: true comments: false diff --git a/source/_components/switch.edimax.markdown b/source/_components/switch.edimax.markdown index 06f58328a4..028b64d61a 100644 --- a/source/_components/switch.edimax.markdown +++ b/source/_components/switch.edimax.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Edimax Switch" -description: "Instructions on how to integrate Edimax switches into Home Assistant." +description: "Instructions how to integrate Edimax switches into Home Assistant." date: 2015-06-10 22:54 sidebar: true comments: false diff --git a/source/_components/switch.eufy.markdown b/source/_components/switch.eufy.markdown deleted file mode 100644 index 1a79dbd26b..0000000000 --- a/source/_components/switch.eufy.markdown +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -title: "Eufy Switch" -description: "Instructions on how to integrate Eufy switches into Home Assistant." -date: 2018-04-09 19:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: eufy.png -ha_category: Switch -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -The `eufy` platform allows you to control your [Eufy](http://www.eufylife.com) switches from within Home Assistant. - -They will be automatically discovered if the [Eufy](/components/eufy/) component is enabled. - diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index 41df410065..69d3e8671e 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Flux Light Adjustment" -description: "Instructions on how to have switches call command line commands." +description: "Instructions how to have switches call command line commands." date: 2016-06-01 17:41 sidebar: true comments: false @@ -16,9 +16,7 @@ The `flux` switch platform will change the temperature of your lights similar to The component will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration. -During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights periodically. - -The color temperature is specified kelvin, and accepted values are between 1000 and 40000 kelvin. Lower values will seem more red, while higher will look more white. +During the day (in between `start time` and `sunset time`), it will fade the lights from the `start_colortemp` to the `sunset_colortemp`. After sunset (between `sunset_time` and `stop_time`), the lights will fade from the `sunset_colortemp` to the `stop_colortemp`. If the lights are still on after the `stop_time` it will continue to change the light to the `stop_colortemp` until the light is turned off. The fade effect is created by updating the lights every periodically. If you want to update at variable intervals, you can leave the switch turned off and use automation rules that call the service `switch._update` whenever you want the lights updated, where `` equals the `name:` property in the switch configuration. @@ -38,7 +36,7 @@ Configuration variables: - **lights** (*Required*) array: List of light entities. - **name** (*Optional*): The name to use when displaying this switch. - **start_time** (*Optional*): The start time. Default to sunrise. -- **stop_time** (*Optional*): The stop time. Defaults to dusk. +- **stop_time** (*Optional*): The stop time. Defaults to 22:00. - **start_colortemp** (*Optional*): The color temperature at the start. Defaults to `4000`. - **sunset_colortemp** (*Optional*): The sun set color temperature. Defaults to `3000`. - **stop_colortemp** (*Optional*): The color temperature at the end. Defaults to `1900`. diff --git a/source/_components/switch.fritzbox.markdown b/source/_components/switch.fritzbox.markdown deleted file mode 100644 index 83657be0c8..0000000000 --- a/source/_components/switch.fritzbox.markdown +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: page -title: "Fritzbox Switch" -description: "Instructions on how to integrate the AVM Fritzbox switch." -date: 2017-11-12 17:10 -sidebar: true -comments: false -sharing: true -footer: true -logo: avm.png -ha_category: Switch -ha_release: 0.68 -ha_iot_class: "Local Polling" ---- - -

-To get AVM Fritzbox switch follow the instructions for the general [Fritzbox](/components/fritzbox/). -

- -### {% linkable_title Attributes %} - -The are several attributes that can be useful for automations and templates. - -| Attribute | Description | -| --------- | ----------- | -| `device_locked` | The state of the key lock at the device. -| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface. -| `temperature_unit` | The unit of the temperature sensor (only available if the device support temperature sensor). -| `temperature` | The current temperature sensor reading (only available if the device supports temperature sensor). -| `total_consumption` | The total power consumption since the beginning of operation (only available if the device supports power meter function). -| `total_consumption_unit` | The unit of the total_consumption (only available if the device supports power meter function). diff --git a/source/_components/switch.fritzdect.markdown b/source/_components/switch.fritzdect.markdown index 380deebdaf..b0d3b2ee3c 100644 --- a/source/_components/switch.fritzdect.markdown +++ b/source/_components/switch.fritzdect.markdown @@ -1,7 +1,7 @@ --- layout: page title: "AVM FRITZ!DECT Switch" -description: "Instructions on how to integrate your AVM FRITZ!DECT switches into Home Assistant." +description: "Instructions how to integrate your AVM FRITZ!DECT switches into Home Assistant." date: 2017-01-24 21:00 sidebar: true comments: false @@ -23,7 +23,7 @@ Supported devices (tested): Supported Firmwares (tested): - FRITZ!OS: 06.80 / FRITZ!DECT: 03.83 -- FRITZ!OS: 06.98-51288 (Beta) / FRITZ!DECT: 03.87 +- FRITZ!OS: 06.60 / FRITZ!DECT: 03.83 To use your AVM FRITZ!DECT switch(es) in your installation, add the following to your `configuration.yaml` file: @@ -35,23 +35,12 @@ switch: password: YOUR_PASSWORD ``` -{% configuration %} -username: - description: The username for your Fritz!Box. - required: true - type: string -password: - description: The password for your Fritz!Box. - required: true - type: string -host: - description: The IP address/hostname of your Fritz!Box. - required: false - type: string - default: fritz.box -{% endconfiguration %} +Configuration variables: + +- **username** (*Required*): The username for your Fritz!Box. +- **password** (*Required*): The password for your Fritz!Box. +- **host** (*Optional*): The IP address/hostname of your Fritz!Box. Defaults to `fritz.box`. -It is recommended to create a dedicated user for Home Assistant and only allow access to "Smart Home".

If this component throws an error when starting home-assistant you should check if all actors are plugged in and connected to the FritzBox. Inactive actors that are not deleted from FritzBox configuration might lead to errors. diff --git a/source/_components/switch.hikvisioncam.markdown b/source/_components/switch.hikvisioncam.markdown index 64fc873989..85249cd681 100644 --- a/source/_components/switch.hikvisioncam.markdown +++ b/source/_components/switch.hikvisioncam.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Hikvision Camera Switch" -description: "Instructions on how to integrate Hikvision camera switches into Home Assistant." +description: "Instructions how to integrate Hikvision camera switches into Home Assistant." date: 2015-06-10 22:54 sidebar: true comments: false diff --git a/source/_components/switch.hive.markdown b/source/_components/switch.hive.markdown index e4ea483797..8f7d867722 100644 --- a/source/_components/switch.hive.markdown +++ b/source/_components/switch.hive.markdown @@ -14,11 +14,10 @@ ha_iot_class: "Cloud Polling" --- -The `hive` switch platform integrates your Hive plugs into Home Assistant, enabling control of your devices. +The 'hive' switch component integrates your Hive plugs into Home Assistant, enabling control of your devices. -The platform supports the following Hive products: - -- Hive Active Plug +The Hive switch component supports the following Hive products: +- **Hive Active Plug**

diff --git a/source/_components/switch.homekit_controller.markdown b/source/_components/switch.homekit_controller.markdown deleted file mode 100644 index 43bf3be57b..0000000000 --- a/source/_components/switch.homekit_controller.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "HomeKit Switch" -description: "Instructions on how to setup HomeKit switches within Home Assistant." -date: 2017-03-19 21:08 -sidebar: true -comments: false -sharing: true -footer: true -logo: apple-homekit.png -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.68 ---- - -To get your HomeKit switches working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/). diff --git a/source/_components/switch.homematic.markdown b/source/_components/switch.homematic.markdown index 7902ae4974..3e3fd7e878 100644 --- a/source/_components/switch.homematic.markdown +++ b/source/_components/switch.homematic.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Homematic Switch" -description: "Instructions on how to integrate Homematic switches within Home Assistant." +description: "Instructions how to integrate Homematic switches within Home Assistant." date: 2016-06-28 08:30 sidebar: true comments: false diff --git a/source/_components/switch.hook.markdown b/source/_components/switch.hook.markdown index fbfeef75b4..3ba23b8c19 100644 --- a/source/_components/switch.hook.markdown +++ b/source/_components/switch.hook.markdown @@ -20,44 +20,23 @@ In short, Hook is an RF to Wi-Fi bridge, controlling devices that receive comman Hook provides a simple [REST API](https://app.swaggerhub.com/api/rahilj/GetHook_RestAPI/v1). This Home Assistant component reads in devices that have been set up in the official app. -## {% linkable_title Configuration %} - Configure with either your username/password or your API token for the official app. -To enable this platform in your installation, add the following to your `configuration.yaml` file: - ```yaml # Example configuration.yaml entry switch: - - platform: hook - username: YOUR_E_MAIL_ADDRESS - password: YOUR_HOOK + - platform: hook + username: + password: !secret hook ``` - Or - ```yaml # Example configuration.yaml entry switch: - - platform: hook - token: YOUR_API_TOKEN + - platform: hook + token: ``` -{% configuration %} -username: - description: The email address associated with your Hook Smart Home Hub. - required: true - type: string -password: - description: The password for your Hook Smart Home Hub. - required: true - type: string -token: - description: The API token for your Hook Smart Home Hub. - required: true - type: string -{% endconfiguration %} - Extra debug logging is available, if you need it. ```yaml diff --git a/source/_components/switch.ihc.markdown b/source/_components/switch.ihc.markdown index 67abf63932..011ef33a02 100644 --- a/source/_components/switch.ihc.markdown +++ b/source/_components/switch.ihc.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IHC Switch" -description: "Instructions on how to integrate IHC switches within Home Assistant." +description: "Instructions how to integrate IHC switches within Home Assistant." date: 2017-11-27 13:35 sidebar: true comments: false diff --git a/source/_components/switch.insteon_local.markdown b/source/_components/switch.insteon_local.markdown index 8a3c3f9360..0d8c71aa8d 100644 --- a/source/_components/switch.insteon_local.markdown +++ b/source/_components/switch.insteon_local.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon (Local) Switch" -description: "Instructions on how to setup the Insteon Hub switches locally within Home Assistant." +description: "Instructions how to setup the Insteon Hub switches locally within Home Assistant." date: 2016-12-18 08:00 sidebar: true comments: false diff --git a/source/_components/switch.insteon_plm.markdown b/source/_components/switch.insteon_plm.markdown index 8843679bb0..2e32a56160 100644 --- a/source/_components/switch.insteon_plm.markdown +++ b/source/_components/switch.insteon_plm.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon PLM Switch" -description: "Instructions on how to setup the Insteon PLM switches locally within Home Assistant." +description: "Instructions how to setup the Insteon PLM switches locally within Home Assistant." date: 2017-02-19 17:00 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_iot_class: "Local Push" ha_version: 0.39 --- -The `insteon_plm` switch platform lets you control your on/off switches through +The `insteon_plm` switch platform lets you control your switches through an INSTEON PowerLinc Modem (PLM) device connected directly to your system on a USB or serial port. To add support, set up the primary [insteon_plm] component. diff --git a/source/_components/switch.isy994.markdown b/source/_components/switch.isy994.markdown index eacf1a002d..e5b4249dd6 100644 --- a/source/_components/switch.isy994.markdown +++ b/source/_components/switch.isy994.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ISY994 Switch" -description: "Instructions on how to integrate ISY994 switch into Home Assistant." +description: "Instructions how to integrate ISY994 switch into Home Assistant." date: 2016-09-03 23:00 sidebar: true comments: false diff --git a/source/_components/switch.kankun.markdown b/source/_components/switch.kankun.markdown index 919b798f9d..03c5a217ed 100644 --- a/source/_components/switch.kankun.markdown +++ b/source/_components/switch.kankun.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" The `kankun` switch platform allows you to toggle customized Kankun SP3 Wifi switches. Switches are modified to include the [json.cgi](https://github.com/homedash/kankun-json/blob/master/cgi-bin/json.cgi) -script to provide an HTTP API. Details of the necessary modifications can be found +script to provide a HTTP API. Details of the necessary modifications can be found [here](http://www.homeautomationforgeeks.com/openhab_http.shtml#kankun) (be sure to install the JSON version of the script as linked above). diff --git a/source/_components/switch.litejet.markdown b/source/_components/switch.litejet.markdown index 34f90d9bad..22c4d9d65f 100644 --- a/source/_components/switch.litejet.markdown +++ b/source/_components/switch.litejet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "LiteJet Switch" -description: "Instructions on how to setup the LiteJet switches within Home Assistant." +description: "Instructions how to setup the LiteJet switches within Home Assistant." date: 2016-10-26 13:00 sidebar: true comments: false diff --git a/source/_components/switch.lutron_caseta.markdown b/source/_components/switch.lutron_caseta.markdown index 100e044b1b..428006a56f 100644 --- a/source/_components/switch.lutron_caseta.markdown +++ b/source/_components/switch.lutron_caseta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Lutron Caseta Switch" -description: "Instructions on how to setup the Lutron Caseta switches within Home Assistant." +description: "Instructions how to setup the Lutron Caseta switches within Home Assistant." date: 2017-04-30 09:00 sidebar: true comments: false diff --git a/source/_components/switch.markdown b/source/_components/switch.markdown index 54fb891d5c..73a98c47c1 100644 --- a/source/_components/switch.markdown +++ b/source/_components/switch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Switches" -description: "Instructions on how to setup your switches with Home Assistant." +description: "Instructions how to setup your switches with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false diff --git a/source/_components/switch.mfi.markdown b/source/_components/switch.mfi.markdown index f82e580257..62f6ed84d2 100644 --- a/source/_components/switch.mfi.markdown +++ b/source/_components/switch.mfi.markdown @@ -1,7 +1,7 @@ --- layout: page title: "mFi Switch" -description: "Instructions on how to integrate mFi switches within Home Assistant." +description: "Instructions how to integrate mFi switches within Home Assistant." date: 2016-02-07 10:00 sidebar: true comments: false @@ -15,17 +15,15 @@ ha_iot_class: "Local Polling" The `mfi` switch platform to allow you to control [mFi Controllable Power Outlets](https://www.ubnt.com/mfi/mpower/). -## {% linkable_title Configuration %} - To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry switch: - platform: mfi - host: IP_ADDRESS_OF_SWITCH - username: YOUR_USERNAME - password: YOUR_PASSWORD + host: IP_ADDRESS + username: USERNAME + password: PASSWORD ``` Configuration variables: diff --git a/source/_components/switch.mochad.markdown b/source/_components/switch.mochad.markdown index a1d7569ec1..383e91bacd 100644 --- a/source/_components/switch.mochad.markdown +++ b/source/_components/switch.mochad.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Mochad Switch" -description: "Instructions on how to integrate X10 Mochad switches into Home Assistant." +description: "Instructions how to integrate X10 Mochad switches into Home Assistant." date: 2016-10-20 21:13 sidebar: true comments: false @@ -14,12 +14,10 @@ ha_release: 0.32 The `mochad` switch platform lets you control an X10 enabled switch device. -## {% linkable_title Configuration %} - To enable this sensor, you first have to set up the [mochad component](/components/mochad/) and then add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: mochad devices: @@ -33,5 +31,3 @@ Configuration variables: - **name** (*Optional*): The name of the switch. Default is: x10_switch_dev_*address*. - **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl. - - diff --git a/source/_components/switch.modbus.markdown b/source/_components/switch.modbus.markdown index 3bf176c125..bac21bbd81 100644 --- a/source/_components/switch.modbus.markdown +++ b/source/_components/switch.modbus.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Modbus Switch" -description: "Instructions on how to integrate Modbus switches into Home Assistant." +description: "Instructions how to integrate Modbus switches into Home Assistant." date: 2015-08-30 23:38 sidebar: true comments: false @@ -16,12 +16,10 @@ ha_iot_class: "Local Push" The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers. -## {% linkable_title Configuration %} - To use your Modbus switches in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: platform: modbus slave: 1 diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 295ae106db..17430c9c8f 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Switch" -description: "Instructions on how to integrate MQTT switches into Home Assistant." +description: "Instructions how to integrate MQTT switches into Home Assistant." date: 2015-08-30 23:38 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: depends The `mqtt` switch platform lets you control your MQTT enabled switches. -## {% linkable_title Configuration %} - In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT switch will receive an instant state update after subscription, and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`. When a `state_topic` is not available, the switch will work in optimistic mode. In this mode, the switch will immediately change state after every command. Otherwise, the switch will wait for state confirmation from the device (message from `state_topic`). @@ -26,7 +24,7 @@ Optimistic mode can be forced, even if the `state_topic` is available. Try to en To enable this switch in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: mqtt command_topic: "home/bedroom/switch1/set" @@ -38,10 +36,6 @@ name: required: false type: string default: MQTT Switch -icon: - description: Icon for the switch (e.g. `mdi:radiator`). - required: false - type: string state_topic: description: The MQTT topic subscribed to receive state updates. required: false @@ -108,7 +102,7 @@ In this section you will find some real life examples of how to use this sensor. The example below shows a full configuration for a switch. ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: mqtt name: "Bedroom Switch" @@ -142,7 +136,7 @@ The configuration will look like the example below: {% raw %} ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: mqtt name: bathroom diff --git a/source/_components/switch.mysensors.markdown b/source/_components/switch.mysensors.markdown index a0fffa84e3..d383e68b7d 100644 --- a/source/_components/switch.mysensors.markdown +++ b/source/_components/switch.mysensors.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MySensors Switch" -description: "Instructions on how to integrate MySensors switches into Home Assistant." +description: "Instructions how to integrate MySensors switches into Home Assistant." date: 2016-10-01 15:00 +0200 sidebar: true comments: false diff --git a/source/_components/switch.mystrom.markdown b/source/_components/switch.mystrom.markdown index 924087adcd..6fafcbbb78 100644 --- a/source/_components/switch.mystrom.markdown +++ b/source/_components/switch.mystrom.markdown @@ -1,7 +1,7 @@ --- layout: page title: "myStrom Switch" -description: "Instructions on how to integrate myStrom switches into Home Assistant." +description: "Instructions how to integrate myStrom switches into Home Assistant." date: 2015-11-25 22:00 sidebar: true comments: false diff --git a/source/_components/switch.neato.markdown b/source/_components/switch.neato.markdown index 2f0e1e8d1e..b45fa7f5f2 100644 --- a/source/_components/switch.neato.markdown +++ b/source/_components/switch.neato.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Neato Robotics Switch" -description: "Instructions on how to integrate a Neato Botvac Connected switch within Home Assistant." +description: "Instructions how to integrate a Neato Botvac Connected switch within Home Assistant." date: 2016-10-19 17:10 sidebar: true comments: false diff --git a/source/_components/switch.netio.markdown b/source/_components/switch.netio.markdown index f5c4a9742f..57f5a5abdb 100644 --- a/source/_components/switch.netio.markdown +++ b/source/_components/switch.netio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netio Switch" -description: "Instructions on how to integrate Netio switches into Home Assistant." +description: "Instructions how to integrate Netio switches into Home Assistant." date: 2016-09-02 19:00 sidebar: true comments: false diff --git a/source/_components/switch.orvibo.markdown b/source/_components/switch.orvibo.markdown index 656bcd4a22..30516626df 100644 --- a/source/_components/switch.orvibo.markdown +++ b/source/_components/switch.orvibo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Orvibo Switch" -description: "Instructions on how to integrate Orvibo sockets within Home Assistant." +description: "Instructions how to integrate Orvibo sockets within Home Assistant." date: 2015-11-15 18:15 sidebar: true comments: false diff --git a/source/_components/switch.pilight.markdown b/source/_components/switch.pilight.markdown index ca2c837986..8c803184a4 100644 --- a/source/_components/switch.pilight.markdown +++ b/source/_components/switch.pilight.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pilight Switch" -description: "Instructions on how to have switches using 433 MHz connected to a computer running pilight." +description: "Instructions how to have switches using 433 MHz connected to a computer running pilight." date: 2015-06-10 22:41 sidebar: true comments: false @@ -19,8 +19,6 @@ Additionally, RF commands can be defined that trigger this switch to turn on and To be really sure that Home Assistant knows the actual state of your device it is recommended to use the RF remote with codes unknown to any of your 433 MHz devices. Thus you use the remote to trigger this switch to send the correct RF code to the device. -## {% linkable_title Configuration %} - To define a Pilight switch, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/switch.pulseaudio_loopback.markdown b/source/_components/switch.pulseaudio_loopback.markdown index 6248f9910e..138dd949bc 100644 --- a/source/_components/switch.pulseaudio_loopback.markdown +++ b/source/_components/switch.pulseaudio_loopback.markdown @@ -1,7 +1,7 @@ --- layout: page title: "PulseAudio Loopback Switch" -description: "Instructions on how to use Pulseaudio loopback modules to build a flexible whole-home audio system." +description: "Instructions how to use Pulseaudio loopback modules to build a flexible whole-home audio system." date: 2016-03-22 21:00:00 sidebar: true comments: false diff --git a/source/_components/switch.qwikswitch.markdown b/source/_components/switch.qwikswitch.markdown index 805e47d5fe..9b07aa24d0 100644 --- a/source/_components/switch.qwikswitch.markdown +++ b/source/_components/switch.qwikswitch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "QwikSwitch Switch" -description: "Instructions on how to integrate QwikSwitch relays into Home Assistant." +description: "Instructions how to integrate QwikSwitch relays into Home Assistant." date: 2016-05-04 00:00 sidebar: true comments: false diff --git a/source/_components/switch.rachio.markdown b/source/_components/switch.rachio.markdown index 9208a2d475..e04bb7da70 100644 --- a/source/_components/switch.rachio.markdown +++ b/source/_components/switch.rachio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Rachio Switch" -description: "Instructions on how to use Rachio switches with Home Assistant." +description: "Instructions how to use Rachio switches with Home Assistant." date: 2017-05-29 09:00 sidebar: true comments: false diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown index 673c4d1928..eee1d471b9 100644 --- a/source/_components/switch.rainbird.markdown +++ b/source/_components/switch.rainbird.markdown @@ -15,24 +15,20 @@ ha_iot_class: "Local Polling" This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. -## {% linkable_title Configuration %} - Once you have enabled the [Rain Bird component](/components/rainbird), add the following to your `configuration.yaml` file: ```yaml switch: - - platform: rainbird - switches: - sprinkler_1: - zone: 1 - friendly_name: "Front sprinklers" - trigger_time: 10 - scan_interval: 10 - sprinkler_2: - friendly_name: "Back sprinklers" - zone: 2 - trigger_time: 20 - scan_interval: 10 + sprinkler_1: + zone: 1 + friendly_name: "Front sprinklers" + trigger_time: 20 + scan_interval: 10 + sprinkler_2: + friendly_name: "Back sprinklers" + zone: 2 + trigger_time: 20 + scan_interval: 10 ``` Configuration variables: diff --git a/source/_components/switch.raincloud.markdown b/source/_components/switch.raincloud.markdown index 2e2af72de8..e5cbc2d070 100644 --- a/source/_components/switch.raincloud.markdown +++ b/source/_components/switch.raincloud.markdown @@ -25,7 +25,7 @@ switch: Configuration variables: -- **watering_minutes** (*Optional*): Value in minutes to watering your garden via frontend. Defaults to 15. The values allowed are: 5, 10, 15, 30, 45, 60. +- **watering_minutes** (*Optional*): Value in minutes to watering your garden via frontend. Defaults to 15. - **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored. - **auto_watering**: Toggle the watering scheduled per zone. - **manual_watering**: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component. diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index f37ce0fbd5..1b85b03aa4 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -13,24 +13,77 @@ ha_iot_class: "Cloud Polling" ha_release: 0.51 --- -The `rainmachine` switch platform allows you to control programs and zones -within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). +The `rainmachine` switch platform allows you to control programs and zones within +a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). -

-You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/) -configured to use this switch. After configuring that component, switches will -automatically appear. -

+## {% linkable_title Configuring the Platform %} + +The platform allows for either local (i.e., directly across the LAN) or remote +(i.e., through RainMachine's cloud API) access; the route you choose will +dictate what your configuration should look like. + +For local access, specify the IP address/hostname of your RainMachine unit +, your RainMachine password, and optionally, the device's HTTP port: + +```yaml +switch: + platform: rainmachine + ip_address: 192.168.1.100 + password: my_password_123 +``` + +For remote access, specify your RainMachine username/email and password: + +```yaml +switch: + platform: rainmachine + email: user@host.com + password: my_password_123 +``` + +Configuration Variables: + +- **ip_address** (*Optional*): the IP address of your RainMachine unit; cannot be +used with the `email` parameter +- **email** (*Optional*): your RainMachine username/email; cannot be used with the +`ip_address` parameter +- **password** (*Required*): your RainMachine password +- **port** (*Optional*): the TCP port used by your unit for the REST API (default: 8080) +- **ssl** (*Optional*): whether communication with the local device should occur +over HTTPS (default: true) +- **zone_run_time** (*Optional*): the number of seconds that a zone should run when +turned on (default: 600) ## {% linkable_title Controlling Your Device %} -After Home Assistant loads, new switches will be added for every enabled -program and zone. These work as expected: +After Home Assistant loads, you will see new switches for every enabled program +and zone. These work as expected: - Program On/Off: starts/stops a program - Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to determine how long to run for) -Programs and zones are linked. While a program is running, you will see both -the program and zone switches turned on; turning either one off will turn the -other one off (just like in the web app). +Programs and zones are linked. If a program is running its final zone, you will +see both the program and zone switches turned on; turning either one off will +turn the other one off (just like in the web app). + +## {% linkable_title Weblink %} + +If you would like to see and control more detailed information, create an [iFrame](/components/panel_iframe/) that renders the RainMachine web app: + +```yaml +panel_iframe: + rainmachine: + title: RainMachine + url: "https://my.rainmachine.com/s//ui/" + icon: mdi:water-pump +``` + +You can find `` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL. + +## {% linkable_title For Awareness %} + +The remote RainMachine API currently has two broken operations (i.e., they return +error codes): starting a program and stopping a program. Please note that +starting/stopping programs with the remote API is disabled until RainMachine +can fix the issue. diff --git a/source/_components/switch.raspihats.markdown b/source/_components/switch.raspihats.markdown index f31a33edaa..23f7afb96f 100644 --- a/source/_components/switch.raspihats.markdown +++ b/source/_components/switch.raspihats.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspihats Switch" -description: "Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a switch." +description: "Instructions how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a switch." date: 2017-05-15 04:20 sidebar: true comments: false diff --git a/source/_components/switch.rest.markdown b/source/_components/switch.rest.markdown index 65f0afcd3e..776882cd54 100644 --- a/source/_components/switch.rest.markdown +++ b/source/_components/switch.rest.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RESTful Switch" -description: "Instructions on how to integrate REST switches into Home Assistant." +description: "Instructions how to integrate REST switches into Home Assistant." date: 2015-09-14 19:10 sidebar: true comments: false @@ -13,9 +13,8 @@ ha_release: 0.7.6 ha_iot_class: "Local Polling" --- -The `rest` switch platform allows you to control a given endpoint that supports a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer). The switch can get the state via GET and set the state via POST on a given REST resource. -## {% linkable_title Configuration %} +The `rest` switch platform allows you to control a given endpoint that supports a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer). The switch can get the state via GET and set the state via POST on a given REST resource. To enable this switch, add the following lines to your `configuration.yaml` file: @@ -31,16 +30,17 @@ resource: description: The resource or endpoint that contains the value. required: true type: string + default: string method: description: "The method of the request. Supported `post` or `put`." required: false type: string - default: post + default: POST name: description: Name of the REST Switch. required: false type: string - default: REST Switch + default: REST Binary Switch timeout: description: Timeout for the request. required: false @@ -68,10 +68,6 @@ password: description: The password for accessing the REST endpoint. required: false type: string -headers: - description: The headers for the request. - required: false - type: list, string {% endconfiguration %}

@@ -82,23 +78,21 @@ Make sure that the URL matches exactly your endpoint or resource. ### {% linkable_title Switch with templated value %} -This example shows a switch that uses a [template](/topics/templating/) to allow Home Assistant to determine its state. In this example, the REST endpoint returns this JSON response with true indicating the switch is on. +This example shows a switch that uses a [template](/topics/templating/) to allow Home Assistant to determine its state. In this example the REST endpoint returns this JSON response with true indicating the switch is on. ```json {"is_active": "true"} ``` -{% raw %} + ```yaml switch: - platform: rest resource: http://IP_ADDRESS/led_endpoint body_on: '{"active": "true"}' body_off: '{"active": "false"}' - is_on_template: '{{ value_json.is_active }}' - headers: - Content-Type: application/json + is_on_template: '{% raw %}{{value_json.is_active}}{% endraw %}' ``` -{% endraw %} `body_on` and `body_off` can also depend on the state of the system. For example, to enable a remote temperature sensor tracking on a radio thermostat, one has to send the current value of the remote temperature sensor. This can be achieved by using the template `{% raw %}'{"rem_temp":{{states.sensor.bedroom_temp.state}}}'{% endraw %}`. + diff --git a/source/_components/switch.rflink.markdown b/source/_components/switch.rflink.markdown index ee42e8bbd7..08b5e61458 100644 --- a/source/_components/switch.rflink.markdown +++ b/source/_components/switch.rflink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFLink Switch" -description: "Instructions on how to integrate RFLink switches into Home Assistant." +description: "Instructions how to integrate RFLink switches into Home Assistant." date: 2016-01-04 sidebar: true comments: false diff --git a/source/_components/switch.rfxtrx.markdown b/source/_components/switch.rfxtrx.markdown index 52b58ab4a6..434a4c4563 100644 --- a/source/_components/switch.rfxtrx.markdown +++ b/source/_components/switch.rfxtrx.markdown @@ -1,7 +1,7 @@ --- layout: page title: "RFXtrx Switch" -description: "Instructions on how to integrate RFXtrx switches into Home Assistant." +description: "Instructions how to integrate RFXtrx switches into Home Assistant." date: 2015-10-08 10:15 sidebar: true comments: false diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown index 5b3a888e24..192bb82544 100644 --- a/source/_components/switch.rpi_gpio.markdown +++ b/source/_components/switch.rpi_gpio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi GPIO Switch" -description: "Instructions on how to integrate the GPIO of a Raspberry Pi into Home Assistant as a switch." +description: "Instructions how to integrate the GPIO of a Raspberry Pi into Home Assistant as a switch." date: 2015-08-07 14:00 sidebar: true comments: false @@ -35,10 +35,6 @@ Configuration variables: For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. -

-Note that a pin managed by HASS is expected to be exclusive to HASS. -

- A common question is what does Port refer to, this number is the actual GPIO # not the pin #. For example, if you have a relay connected to pin 11 its GPIO # is 17. diff --git a/source/_components/switch.rpi_pfio.markdown b/source/_components/switch.rpi_pfio.markdown index 30498f7d99..d8e77e79fa 100644 --- a/source/_components/switch.rpi_pfio.markdown +++ b/source/_components/switch.rpi_pfio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "PiFace Digital I/O Switch" -description: "Instructions on how to integrate the PiFace Digital I/O module into Home Assistant as a switch." +description: "Instructions how to integrate the PiFace Digital I/O module into Home Assistant as a switch." date: 2016-05-08 15:00 sidebar: true comments: false diff --git a/source/_components/switch.rpi_rf.markdown b/source/_components/switch.rpi_rf.markdown index b9813ceb56..2d412034f5 100644 --- a/source/_components/switch.rpi_rf.markdown +++ b/source/_components/switch.rpi_rf.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Raspberry Pi RF Switch" -description: "Instructions on how to integrate devices controlled via codes sent with low-cost GPIO RF modules on a Raspberry Pi into Home Assistant as a switch." +description: "Instructions how to integrate devices controlled via codes sent with low-cost GPIO RF modules on a Raspberry Pi into Home Assistant as a switch." date: 2016-05-10 09:00 sidebar: true comments: false diff --git a/source/_components/switch.scsgate.markdown b/source/_components/switch.scsgate.markdown index 35e1f6b7f8..07ff2d6005 100644 --- a/source/_components/switch.scsgate.markdown +++ b/source/_components/switch.scsgate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "SCSGate Switch" -description: "Instructions on how to integrate SCSGate switches into Home Assistant." +description: "Instructions how to integrate SCSGate switches into Home Assistant." date: 2016-01-31 22:15 sidebar: true comments: false diff --git a/source/_components/switch.smappee.markdown b/source/_components/switch.smappee.markdown deleted file mode 100644 index 0576738e51..0000000000 --- a/source/_components/switch.smappee.markdown +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: page -title: "Smappee Switch" -description: "Instructions on how to integrate Smappee Comfort Plug into Home Assistant." -date: 2018-02-26 08:37 -sidebar: true -comments: false -sharing: true -footer: true -logo: smappee.png -ha_release: "0.64" -ha_category: Switch -ha_iot_class: "Local Push" ---- - -[Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. - -Comport Plugs will be automatically added when you connect to the Smappee controller. - -For more configuration information see the [Smappee component](/components/smappee/) documentation. diff --git a/source/_components/switch.tahoma.markdown b/source/_components/switch.tahoma.markdown deleted file mode 100644 index a7c3338fee..0000000000 --- a/source/_components/switch.tahoma.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "Tahoma Switch" -description: "Instructions on how to integrate Tahoma switches into Home Assistant." -date: 2017-07-18 12:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: tahoma.png -ha_category: Sensor -ha_release: 0.59 ---- - -The `tahoma` switch platform lets you see switches added to your Tahoma Box in Home Assistant. - -Switches will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma. diff --git a/source/_components/switch.tellduslive.markdown b/source/_components/switch.tellduslive.markdown index 1cfa2c6fc8..4477289a87 100644 --- a/source/_components/switch.tellduslive.markdown +++ b/source/_components/switch.tellduslive.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Telldus Live Switch" -description: "Instructions on how to integrate Telldus Live switches into Home Assistant." +description: "Instructions how to integrate Telldus Live switches into Home Assistant." date: 2016-01-17 15:49 sidebar: true comments: false diff --git a/source/_components/switch.tellstick.markdown b/source/_components/switch.tellstick.markdown index 9de976af4b..9c1ed88d73 100644 --- a/source/_components/switch.tellstick.markdown +++ b/source/_components/switch.tellstick.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TellStick Switch" -description: "Instructions on how to integrate TellStick switches into Home Assistant." +description: "Instructions how to integrate TellStick switches into Home Assistant." date: 2015-08-06 19:00 sidebar: true comments: false @@ -15,7 +15,7 @@ ha_iot_class: "Assumed State" This `tellstick` switch platform allows you to control [TellStick](http://www.telldus.se/products/tellstick) devices. -To use your TellStick device, you first have to set up your [Tellstick hub](/components/tellstick/) and then add the following to your `configuration.yaml` file: +To use your TellStick device, you first have to set up your [Tellstick hub](https://home-assistant.io/components/tellstick/) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/switch.telnet.markdown b/source/_components/switch.telnet.markdown index ef1345cd5b..bffd8e78fb 100644 --- a/source/_components/switch.telnet.markdown +++ b/source/_components/switch.telnet.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Telnet Switch" -description: "Instructions on how to integrate telnet switches into Home Assistant." +description: "Instructions how to integrate telnet switches into Home Assistant." date: 2017-08-10 19:19 sidebar: true comments: false @@ -39,6 +39,6 @@ Configuration variables: - **port** (*Optional*): Port to connect to. Default is 23 if not defined. - **command_on** (*Required*): Command to turn device on. - **command_off** (*Required*): Command to turn device off. - - **command_state** (*Optional*): Command to determine the state of the switch. If not defined the switch will assume successful state changes. - - **value_template** (*Optional*): The template evaluating to `true` will indicate that the switch is on. + - **command_state** (*Required*): Command to determine the state of the switch. If not defined the switch will assume successful state changes. + - **value_template** (*Required*): The template evaluating to `true` will indicate that the switch is on. - **name** (*Optional*): The name used to display the switch in the frontend. diff --git a/source/_components/switch.template.markdown b/source/_components/switch.template.markdown index cfcb54d092..86d0e95e57 100644 --- a/source/_components/switch.template.markdown +++ b/source/_components/switch.template.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Template Switch" -description: "Instructions on how to integrate Template Switches into Home Assistant." +description: "Instructions how to integrate Template Switches into Home Assistant." date: 2016-02-07 07:00 sidebar: true comments: false @@ -55,10 +55,6 @@ switch: description: Name to use in the frontend. required: false type: string - entity_id: - description: A list of entity IDs so the switch only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: [string, list] value_template: description: Defines a template to set the state of the switch. required: true @@ -75,10 +71,6 @@ switch: description: Defines a template for the icon of the switch. required: false type: template - entity_picture_template: - description: Defines a template for the picture of the switch. - required: false - type: template {% endconfiguration %} ## {% linkable_title Considerations %} diff --git a/source/_components/switch.tesla.markdown b/source/_components/switch.tesla.markdown index 2ded4d7d10..a8c63ede4e 100644 --- a/source/_components/switch.tesla.markdown +++ b/source/_components/switch.tesla.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Cloud Push" ha_release: 0.54 --- -The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging, max range switch) from within Home Assistant. +The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging) from within Home Assistant. The switch platform will be automatically configured if Tesla component is configured. diff --git a/source/_components/switch.thinkingcleaner.markdown b/source/_components/switch.thinkingcleaner.markdown index 30a937f212..8be94f7992 100644 --- a/source/_components/switch.thinkingcleaner.markdown +++ b/source/_components/switch.thinkingcleaner.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Thinking Cleaner Switch" -description: "Instructions on how to integrate a ThinkingCleaner switches within Home Assistant." +description: "Instructions how to integrate a ThinkingCleaner switches within Home Assistant." date: 2016-04-10 17:24 sidebar: true comments: false diff --git a/source/_components/switch.toon.markdown b/source/_components/switch.toon.markdown index 744622da78..af4e197850 100644 --- a/source/_components/switch.toon.markdown +++ b/source/_components/switch.toon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Toon Smart Plugs" -description: "Instructions on how to integrate Toon smart plugs within Home Assistant." +description: "Instructions how to integrate Toon smart plugs within Home Assistant." date: 2017-10-22 12:00 sidebar: true comments: false diff --git a/source/_components/switch.tplink.markdown b/source/_components/switch.tplink.markdown index da0083120b..5839ff2cef 100644 --- a/source/_components/switch.tplink.markdown +++ b/source/_components/switch.tplink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TP-Link Switch" -description: "Instructions on how to integrate TP-Link switches into Home Assistant." +description: "Instructions how to integrate TP-Link switches into Home Assistant." date: 2016-07-13 08:00 sidebar: true comments: false diff --git a/source/_components/switch.transmission.markdown b/source/_components/switch.transmission.markdown index 888f1470a0..3c9ef39bfa 100644 --- a/source/_components/switch.transmission.markdown +++ b/source/_components/switch.transmission.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Transmission Switch" -description: "Instructions on how to integrate Transmission within Home Assistant." +description: "Instructions how to integrate Transmission within Home Assistant." date: 2015-06-02 09:00 sidebar: true comments: false diff --git a/source/_components/switch.upcloud.markdown b/source/_components/switch.upcloud.markdown deleted file mode 100644 index 98f45d0e68..0000000000 --- a/source/_components/switch.upcloud.markdown +++ /dev/null @@ -1,34 +0,0 @@ ---- -layout: page -title: UpCloud Switch -description: Instructions on how to set up UpCloud switches within Home Assistant. -date: 2018-01-28 20:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: upcloud.png -ha_category: Switch -ha_release: 0.65 -ha_iot_class: Cloud Polling ---- - -The `upcloud` switch platform allows you to control (start/stop) your UpCloud servers. - -To use your UpCloud servers, you first have to set up your [UpCloud hub](/components/upcloud/) and then add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -switch: - - platform: upcloud - servers: - - 002167b7-4cb1-44b7-869f-e0900ddeeae1 - - 00886296-6137-4074-afe3-068e16d89d00 -``` - -{% configuration %} -servers: - description: List of servers you want to control. - required: true - type: list -{% endconfiguration %} diff --git a/source/_components/switch.vera.markdown b/source/_components/switch.vera.markdown index e515a8d74c..09dc61b109 100644 --- a/source/_components/switch.vera.markdown +++ b/source/_components/switch.vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera Switch" -description: "Instructions on how to integrate Vera switches into Home Assistant." +description: "Instructions how to integrate Vera switches into Home Assistant." date: 2015-10-20 21:00 sidebar: true comments: false diff --git a/source/_components/switch.verisure.markdown b/source/_components/switch.verisure.markdown index c84b3739f8..4169abe98d 100644 --- a/source/_components/switch.verisure.markdown +++ b/source/_components/switch.verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure SmartPlug" -description: "Instructions on how to setup the Verisure SmartPlug within Home Assistant." +description: "Instructions how to setup the Verisure SmartPlug within Home Assistant." date: 2016-02-15 22:00 sidebar: true comments: false diff --git a/source/_components/switch.vesync.markdown b/source/_components/switch.vesync.markdown deleted file mode 100644 index b02f476e93..0000000000 --- a/source/_components/switch.vesync.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -layout: page -title: "VeSync Switch" -description: "Instructions on how to set up Etekcity VeSync switches within Home Assistant." -date: 2018-03-09 02:11 -sidebar: true -comments: false -sharing: true -footer: true -logo: vesync.png -ha_category: Switch -ha_release: 0.66 ---- - -The `vesync` switch platform enables integration with Etekcity VeSync smart switches. - -VeSync switches are low-cost wifi smart plugs that offer energy monitoring and work with popular voice assistants. - -To use your VeSync switches, you must first register your switches with the VeSync app. Once registration is complete you must add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -switch: - - platform: vesync - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: Username needed to log in to VeSync. - required: true - type: string -password: - description: Password needed to log in to VeSync. - required: true - type: string -{% endconfiguration %} - -### {% linkable_title Exposed Attributes %} - -VeSync switches will expose the following details. - -| Attribute | Description | Example | -| ------------------- | ------------------------------------------------------------------- | --------------- | -| `current_power_w` | The present power consumption of the switch in watts. | 100 | -| `today_energy_kwh` | The kilowatt hours used by the switch during the previous 24 hours. | 0.12 | diff --git a/source/_components/switch.volvooncall.markdown b/source/_components/switch.volvooncall.markdown deleted file mode 100644 index f4de42f501..0000000000 --- a/source/_components/switch.volvooncall.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "Volvo On Call" -description: "Instructions for how to integrate Volvo On Call into Home Assistant." -date: 2016-10-02 17:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: volvo.png -ha_category: Presence Detection -ha_release: "0.30" ---- - - -Integrates Volvo on Call into Home Assistant. See the [main component](/components/volvooncall/) for configuration instructions. diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown index 161cfcd1b5..6fc7699fa7 100644 --- a/source/_components/switch.wake_on_lan.markdown +++ b/source/_components/switch.wake_on_lan.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wake on LAN Switch" -description: "Instructions on how to integrate a wake on lan switch." +description: "Instructions how to integrate a wake on lan switch." date: 2016-03-18 18:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: "Local Polling" The `wake_on_lan` (WOL) switch platform allows you to turn on a [WOL](https://en.wikipedia.org/wiki/Wake-on-LAN) enabled computer. -## {% linkable_title Configuration %} -

The WOL switch can only turn on your computer and monitor the state. There is no universal way to turn off a computer remotely. The `turn_off` variable is there to help you call a script when you have figured out how to remotely turn off your computer. See below for suggestions on how to do this. @@ -25,7 +23,7 @@ See below for suggestions on how to do this. To enable this switch in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry +# Example configuration.yml entry switch: - platform: wake_on_lan mac_address: "00-01-02-03-04-05" @@ -44,8 +42,7 @@ Configuration variables: Here are some real life examples of how to use the **turn_off** variable. ### {% linkable_title Suspending Linux %} - -Suggested recipe for letting the `turn_off` script suspend a Linux computer (the **target**) +Suggested recipe for letting the turn_off script suspend a Linux computer (the **target**) from Home Assistant running on another Linux computer (the **server**). 1. On the **server**, log in as the user account Home Assistant is running under. (I'm using `hass` in this example) diff --git a/source/_components/switch.wemo.markdown b/source/_components/switch.wemo.markdown index 6bca30af1a..7b6a4ae901 100644 --- a/source/_components/switch.wemo.markdown +++ b/source/_components/switch.wemo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Belkin WeMo Switch" -description: "Instructions on how to integrate Belkin WeMo switches into Home Assistant." +description: "Instructions how to integrate Belkin WeMo switches into Home Assistant." date: 2016-02-20 00:47 sidebar: true comments: false diff --git a/source/_components/switch.wink.markdown b/source/_components/switch.wink.markdown index 9a02607792..085aba3a38 100644 --- a/source/_components/switch.wink.markdown +++ b/source/_components/switch.wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink Switch" -description: "Instructions on how to setup the Wink switches within Home Assistant." +description: "Instructions how to setup the Wink switches within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/switch.xiaomi_aqara.markdown b/source/_components/switch.xiaomi_aqara.markdown index 0306ba2921..f207229bee 100644 --- a/source/_components/switch.xiaomi_aqara.markdown +++ b/source/_components/switch.xiaomi_aqara.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Switch" -description: "Instructions on how to setup the Xiaomi switch within Home Assistant." +description: "Instructions how to setup the Xiaomi switch within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false diff --git a/source/_components/switch.xiaomi_miio.markdown b/source/_components/switch.xiaomi_miio.markdown index 6124437209..f8d03291d0 100644 --- a/source/_components/switch.xiaomi_miio.markdown +++ b/source/_components/switch.xiaomi_miio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Xiaomi Smart WiFi Socket and Smart Power Strip" -description: "Instructions on how to integrate your Xiaomi Smart WiFi Socket aka Plug or Xiaomi Smart Power Strip within Home Assistant." +description: "Instructions how to integrate your Xiaomi Smart WiFi Socket aka Plug or Xiaomi Smart Power Strip within Home Assistant." date: 2017-08-26 10:18 sidebar: true comments: false @@ -13,38 +13,12 @@ ha_version: 0.56 ha_iot_class: "Local Polling" --- -The `xiaomi_miio` switch platform allows you to control the state of your Xiaomi Smart WiFi Socket aka Plug, Xiaomi Smart Power Strip and Xiaomi Chuangmi Plug V1. +The `xiaomi_miio` switch platform allows you to control the state of your Xiaomi Smart WiFi Socket aka Plug or Xiaomi Smart Power Strip. + +Currently, the supported features are `on`, `off`. If the device provides the current load, it will be reported. Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file. -## Features - -### Xiaomi Smart WiFi Socket - -* Power (on, off) -* Attributes - - Temperature - -### Xiaomi Chuangmi Plug V1 - -* Power (on, off) -* USB (on, off) -* Attributes - - Temperature - -### Xiaomi Smart Power Strip - -* Power (on, off) -* Wifi LED (on, off) -* Power Price (0...999) -* Power Mode (green, normal) (Power Strip V1 only) -* Attributes - - Temperature - - Current - - Load power - - Wifi LED - - Mode (Power Strip V1 only) - To add a plug to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -54,67 +28,9 @@ switch: name: Original Xiaomi Mi Smart WiFi Socket host: 192.168.130.59 token: YOUR_TOKEN - model: chuangmi.plug.m1 ``` Configuration variables: -- **host** (*Required*): The IP of your miio device. -- **token** (*Required*): The API token of your miio device. -- **name** (*Optional*): The name of your miio device. -- **model** (*Optional*): The model of your miio device. Valid values are `chuangmi.plug.v1`, `qmi.powerstrip.v1`, `zimi.powerstrip.v2`, `chuangmi.plug.m1` and `chuangmi.plug.v2`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available. - -{% configuration %} -host: - description: The IP address of your device. - required: true - type: string -token: - description: The API token of your device. - required: true - type: string -name: - description: The name of your device. - required: false - type: string - default: Xiaomi Miio Switch -model: - description: The model of your device. - required: false - type: string -{% endconfiguration %} - -## {% linkable_title Platform Services %} - -### {% linkable_title Service `switch.xiaomi_miio_set_wifi_led_on` %} (Power Strip only) - -Turn the wifi led on. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific xiaomi miio switch entity. Else targets all. | - -### {% linkable_title Service `switch.xiaomi_miio_set_wifi_led_off` %} (Power Strip only) - -Turn the wifi led off. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific xiaomi miio switch entity. Else targets all. | - -### {% linkable_title Service `switch.xiaomi_miio_set_power_price` %} (Power Strip) - -Set the power price. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------| -| `entity_id` | yes | Only act on a specific xiaomi miio switch entity. Else targets all. | -| `price` | no | Power price, between 0 and 999. | - -### {% linkable_title Service `switch.xiaomi_miio_set_power_mode` %} (Power Strip V1 only) - -Set the power mode. - -| Service data attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------------------------| -| `entity_id` | yes | Only act on a specific xiaomi miio switch entity. Else targets all. | -| `mode` | no | Power mode, valid values are 'normal' and 'green' | +- **host** (*Required*): The IP of your plug. +- **token** (*Required*): The API token of your plug. +- **name** (*Optional*): The name of your plug. diff --git a/source/_components/switch.zwave.markdown b/source/_components/switch.zwave.markdown index 9525daed35..2ae97b2180 100644 --- a/source/_components/switch.zwave.markdown +++ b/source/_components/switch.zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave Switch" -description: "Instructions on how to setup the Z-Wave switches within Home Assistant." +description: "Instructions how to setup the Z-Wave switches within Home Assistant." date: 2015-11-15 13:00 sidebar: true comments: false diff --git a/source/_components/system_log.markdown b/source/_components/system_log.markdown index ef3ba0f5ed..fae6692223 100644 --- a/source/_components/system_log.markdown +++ b/source/_components/system_log.markdown @@ -12,7 +12,7 @@ ha_category: Other ha_release: 0.58 --- -The `system_log` component stores information about all logged errors and warnings in Home Assistant. All collected information is accessible directly in the frontend, just navigate to the `Info` section under `Developer Tools`. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the number of stored log entries using the parameter `max_entries`. +The `system_log` component stores information about all logged errors and warnings in Home Assistant. All collected information is accessible directly in the frontend, just navigate to the `Info` section under `Developer Tools`. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the amount of stored log entries using the parameter `max_entries`. This component is automatically loaded by the `frontend` (so no need to do anything if you are using the frontend). If you are not doing so, or if you wish to change a parameter, add the following section to your `configuration.yaml` file: @@ -35,66 +35,3 @@ max_entries: To manually clear the system log, call this service. -## {% linkable_title Events %} - -Errors and warnings are posted as the event `system_log_event`, so it is possible to write automations that trigger whenever a warning or error occurs. The following information is included in each event: - -| Field | Description | -|------------------------------------------------------------------------------------------| -| `level` | Either `WARNING` or `ERROR` depending on severity. | -| `source` | File that triggered the error, e.g., `core.py` or `media_player/yamaha.py`. | -| `exception` | Full stack trace if available, otherwise empty string. | -| `message` | Descriptive message of the error, e.g., "Error handling request". | -| `timestamp` | Unix timestamp with as a double, e.g., 1517241010.237416. | - -Live examples of these events can be found in the Home Assistant log file or by just looking in the system log. An example could, for instance, look like this: - - - -The message ("Unable to find service..."), source (`core.py`) and level (`WARNING`) can easily be extracted from the image. Exact timestamp and stack trace is shown if the entry is selected. - -## {% linkable_title Examples %} - -Here are some examples using the events posted by `system_log`. - -### {% linkable_title Counting Number of Warnings %} - -This will create a `counter` that increases every time a warning is logged: - -```yaml -counter: - warning_counter: - name: Warnings - icon: mdi:alert - -automation: - - alias: Count warnings - trigger: - platform: event - event_type: system_log_event - event_data: - level: WARNING - action: - service: counter.increment - entity_id: counter.warning_counter -``` - -### {% linkable_title Conditional Messages %} - -This automation will create a persistent notification whenever an error or warning is logged that has the word "service" in the message: - -```yaml -automation: - - alias: Create notifications for "service" errors - trigger: - platform: event - event_type: system_log_event - condition: - condition: template - value_template: {% raw %}'{{ "service" in trigger.event.data.message }}'{% endraw %} - action: - service: persistent_notification.create - data_template: - title: Something bad happened - message: {% raw %}'{{ trigger.event.data.message }}'{% endraw %} -``` diff --git a/source/_components/tahoma.markdown b/source/_components/tahoma.markdown index f41f3936cc..3d092af3fb 100644 --- a/source/_components/tahoma.markdown +++ b/source/_components/tahoma.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling" --- -The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds covers, scenes and a sun sensor from the Tahoma platform. +The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds actually covers and the sun sensor from tahoma platform. To use your Tahoma devices in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown index 32397d0fbe..be2dcff5e5 100644 --- a/source/_components/telegram_bot.markdown +++ b/source/_components/telegram_bot.markdown @@ -19,27 +19,24 @@ This component creates notification services to send, or edit previously sent, m If you don't need to receive messages, you can use the [broadcast](/components/telegram_bot.broadcast/) platform instead. -## {% linkable_title Notification services %} - -Available services: `send_message`, `send_photo`, `send_document`, `send_location`, `send_sticker`, `edit_message`, `edit_replymarkup`, `edit_caption` and `answer_callback_query`. - -### {% linkable_title Service `telegram_bot.send_message` %} +### {% linkable_title Notification services %} +Available services: `send_message`, `send_photo`, `send_document`, `send_location`, `edit_message`, `edit_replymarkup`, `edit_caption`, `answer_callback_query`. +#### {% linkable_title Service `telegram_bot/send_message` %} Send a notification. | Service data attribute | Optional | Description | |---------------------------|----------|--------------------------------------------------| | `message` | no | Message body of the notification. | | `title` | yes | Optional title for your notification. Will be composed as '%title\n%message'. | -| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. | +| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. | | `parse_mode` | yes | Parser for the message text: `html` or `markdown`. | | `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. | | `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.send_photo` and `telegram_bot.send_sticker` %} - +#### {% linkable_title Service `telegram_bot/send_photo` %} Send a photo. | Service data attribute | Optional | Description | @@ -47,16 +44,16 @@ Send a photo. | `url` | no | Remote path to an image. | | `file` | no | Local path to an image. | | `caption` | yes | The title of the image. | -| `username` | yes | Username for a URL which requires HTTP basic authentication. | -| `password` | yes | Password for a URL which requires HTTP basic authentication. | +| `username` | yes | Username for a URL which require HTTP basic authentication. | +| `password` | yes | Password for a URL which require HTTP basic authentication. | | `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. | -| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. | +| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. | | `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.send_video` %} +#### {% linkable_title Service `telegram_bot/send_video` %} Send a video. | Service data attribute | Optional | Description | @@ -67,13 +64,12 @@ Send a video. | `username` | yes | Username for a URL which requires HTTP basic authentication. | | `password` | yes | Password for a URL which requires HTTP basic authentication. | | `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. | -| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. | +| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. | | `disable_notification` | yes | True/false to send the message silently. iOS users and web users will not receive a notification. Android users will receive a notification with no sound. Defaults to False. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.send_document` %} - +#### {% linkable_title Service `telegram_bot/send_document` %} Send a document. | Service data attribute | Optional | Description | @@ -81,29 +77,27 @@ Send a document. | `url` | no | Remote path to a document. | | `file` | no | Local path to a document. | | `caption` | yes | The title of the document. | -| `username` | yes | Username for a URL which requires HTTP basic authentication. | -| `password` | yes | Password for a URL which requires HTTP basic authentication. | +| `username` | yes | Username for a URL which require HTTP basic authentication. | +| `password` | yes | Password for a URL which require HTTP basic authentication. | | `authentication` | yes | Define which authentication method to use. Set to `digest` to use HTTP digest authentication. Defaults to `basic`. | -| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. | +| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. | | `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.send_location` %} - +#### {% linkable_title Service `telegram_bot/send_location` %} Send a location. | Service data attribute | Optional | Description | |---------------------------|----------|--------------------------------------------------| | `latitude` | no | The latitude to send. | | `longitude` | no | The longitude to send. | -| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. | +| `target` | yes | An array of pre-authorized chat_ids to send the notification to. Defaults to the first allowed chat_id. | | `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.edit_message` %} - +#### {% linkable_title Service `telegram_bot/edit_message` %} Edit a previously sent message in a conversation. | Service data attribute | Optional | Description | @@ -116,8 +110,7 @@ Edit a previously sent message in a conversation. | `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.edit_caption` %} - +#### {% linkable_title Service `telegram_bot/edit_caption` %} Edit the caption of a previously sent message. | Service data attribute | Optional | Description | @@ -128,9 +121,8 @@ Edit the caption of a previously sent message. | `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.edit_replymarkup` %} - -Edit the inline keyboard of a previously sent message. +#### {% linkable_title Service `telegram_bot/edit_replymarkup` %} +Edit the inline keyboard of a previusly sent message. | Service data attribute | Optional | Description | |---------------------------|----------|--------------------------------------------------| @@ -139,8 +131,7 @@ Edit the inline keyboard of a previously sent message. | `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | -### {% linkable_title Service `telegram_bot.answer_callback_query` %} - +#### {% linkable_title Service `telegram_bot/answer_callback_query` %} Respond to a callback query originated by clicking on an online keyboard button. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. | Service data attribute | Optional | Description | @@ -149,7 +140,7 @@ Respond to a callback query originated by clicking on an online keyboard button. | `callback_query_id` | no | Unique id of the callback response. In the `telegram_callback` event data: `{{ trigger.event.data.id }}` | | `show_alert` | yes | True/false for show a permanent notification. Defaults to False. | -### {% linkable_title Service `telegram_bot.delete_message` %} +#### {% linkable_title Service `telegram_bot/delete_message` %} Delete a previously sent message in a conversation. | Service data attribute | Optional | Description | @@ -157,12 +148,12 @@ Delete a previously sent message in a conversation. | `message_id` | no | Id of the message to delete. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. You can use `"last"` to refer to the last message sent to `chat_id`. | | `chat_id` | no | The chat_id where to delete the message. | -## {% linkable_title `telegram` notification platform %} +### {% linkable_title `Telegram` notification platform %} -The [`telegram` notification platform](/components/notify.telegram/) requires the `telegram_bot` component to work with, and it's designed to generate a customized shortcut (`notify.USERNAME`) to send notifications (messages, photos, documents and locations) to a particular `chat_id` with the old syntax, allowing backward compatibility. + +The [Telegram notification platform](/components/notify.telegram/) requires the `telegram_bot` component to work with, and it's designed to generate a customized shortcut (`notify.USERNAME`) to send notifications (messages, photos, documents and locations) to a particular `chat_id` with the old syntax, allowing backward compatibility. The required yaml configuration now reduces to: - ```yaml notify: - name: NOTIFIER_NAME @@ -170,7 +161,8 @@ notify: chat_id: USER_CHAT_ID ``` -## {% linkable_title Event triggering %} +### {% linkable_title Event triggering %} + A command looks like `/thecommand`, or `/othercommand with some args`. @@ -197,7 +189,7 @@ chat_id: "" chat: "" ``` -If the message is sent from a [press from an inline button](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating), for example, a callback query is received, and Home Assistant will fire a `telegram_callback` event with: +if the message is sent from a [press from an inline button](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating), for example, a callback query is received, and Home Assistant will fire a `telegram_callback` event with: ```yaml data: "" @@ -212,6 +204,7 @@ chat_id: "" ### {% linkable_title Configuration samples %} + Simple ping pong example. ```yaml @@ -228,7 +221,7 @@ action: message: 'pong' ``` -An example that shows keyboard interaction with `notify.telegram` +Example that show keyboard interaction with `notify.telegram` ```yaml trigger: @@ -263,9 +256,8 @@ action: entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0 ``` -An example to show the use of event_data in action: +An example to show the use of event_data in the action: -{% raw %} ```yaml - alias: 'Kitchen Telegram Speak' trigger: @@ -277,21 +269,17 @@ An example to show the use of event_data in action: - service: notify.kitchen_echo data_template: message: > - Message from {{ trigger.event.data["from_first"] }}. {% for state in trigger.event.data["args"] %} {{ state }} {% endfor %} + Message from {% raw %}{{ trigger.event.data["from_first"] }}. {% for state in trigger.event.data["args"] %} {{ state }} {% endfor %}{% endraw %} ``` -{% endraw %} ### {% linkable_title Sample automations with callback queries and inline keyboards %} -A quick example to show some of the callback capabilities of inline keyboards with a dumb automation consisting in a simple repeater of normal text that presents an inline keyboard with 3 buttons: 'EDIT', 'NO' and 'REMOVE BUTTON': - +Quick example to show some of the callback capabilities of inline keyboards with a dumb automation consisting in a simple repeater of normal text that presents an inline keyboard with 3 buttons: 'EDIT', 'NO' and 'REMOVE BUTTON': - Pressing 'EDIT' changes the sent message. - Pressing 'NO' only shows a brief notification (answering the callback query). - Pressing 'REMOVE BUTTON' changes the inline keyboard removing that button. Text repeater: - -{% raw %} ```yaml - alias: 'Telegram bot that repeats text' hide_entity: true @@ -302,18 +290,15 @@ Text repeater: - service: telegram_bot.send_message data_template: title: '*Dumb automation*' - target: '{{ trigger.event.data.user_id }}' - message: 'You said: {{ trigger.event.data.text }}' + target: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} + message: 'You said: {% raw %}{{ trigger.event.data.text }}{% endraw %}' disable_notification: true inline_keyboard: - "Edit message:/edit_msg, Don't:/do_nothing" - "Remove this button:/remove button" ``` -{% endraw %} Message editor: - -{% raw %} ```yaml - alias: 'Telegram bot that edits the last sent message' hide_entity: true @@ -330,22 +315,19 @@ Message editor: show_alert: true - service: telegram_bot.edit_message data_template: - message_id: '{{ trigger.event.data.message.message_id }}' - chat_id: '{{ trigger.event.data.chat_id }}' + message_id: {% raw %}'{{ trigger.event.data.message.message_id }}'{% endraw %} + chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} title: '*Message edit*' inline_keyboard: - "Edit message:/edit_msg, Don't:/do_nothing" - "Remove this button:/remove button" message: > - Callback received from {{ trigger.event.data.from_first }}. - Message id: {{ trigger.event.data.message.message_id }}. - Data: {{ trigger.event.data.data }} + {% raw %}Callback received from {% raw %}{{ trigger.event.data.from_first }}{% endraw %}. + Message id: {% raw %}{{ trigger.event.data.message.message_id }}{% endraw %}. + Data: {% raw %}{{ trigger.event.data.data }}{% endraw %} ``` -{% endraw %} Keyboard editor: - -{% raw %} ```yaml - alias: 'Telegram bot that edits the keyboard' hide_entity: true @@ -357,20 +339,17 @@ Keyboard editor: action: - service: telegram_bot.answer_callback_query data_template: - callback_query_id: '{{ trigger.event.data.id }}' + callback_query_id: {% raw %}'{{ trigger.event.data.id }}'{% endraw %} message: 'Callback received for editing the inline keyboard!' - service: telegram_bot.edit_replymarkup data_template: message_id: 'last' - chat_id: '{{ trigger.event.data.chat_id }}' + chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} inline_keyboard: - "Edit message:/edit_msg, Don't:/do_nothing" ``` -{% endraw %} Only acknowledges the 'NO' answer: - -{% raw %} ```yaml - alias: 'Telegram bot that simply acknowledges' hide_entity: true @@ -382,10 +361,9 @@ Only acknowledges the 'NO' answer: action: - service: telegram_bot.answer_callback_query data_template: - callback_query_id: '{{ trigger.event.data.id }}' + callback_query_id: {% raw %}'{{ trigger.event.data.id }}'{% endraw %} message: 'OK, you said no!' ``` -{% endraw %} For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) is advised. @@ -422,7 +400,7 @@ class TelegramBotEventListener(appapi.AppDaemon): assert event_id == 'telegram_callback' data_callback = payload_event['data'] callback_id = payload_event['id'] - chat_id = payload_event['chat_id'] + user_id = payload_event['user_id'] # keyboard = ["Edit message:/edit_msg, Don't:/do_nothing", # "Remove this button:/remove button"] keyboard = [[("Edit message", "/edit_msg"), @@ -442,7 +420,7 @@ class TelegramBotEventListener(appapi.AppDaemon): title = '*Message edit*' msg = 'Callback received from %s. Message id: %s. Data: ``` %s ```' self.call_service('telegram_bot/edit_message', - chat_id=chat_id, + chat_id=user_id, message_id=msg_id, title=title, message=msg % (user, msg_id, data_callback), @@ -458,7 +436,7 @@ class TelegramBotEventListener(appapi.AppDaemon): # Edit the keyboard new_keyboard = keyboard[:1] self.call_service('telegram_bot/edit_replymarkup', - chat_id=chat_id, + chat_id=user_id, message_id='last', inline_keyboard=new_keyboard) diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 42968880ba..735593a0b1 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Telldus Live" -description: "Instructions on how to integrate Telldus Live into Home Assistant." +description: "Instructions how to integrate Telldus Live into Home Assistant." date: 2016-01-17 16:00 sidebar: true comments: false @@ -21,7 +21,7 @@ If you are upgrading from 0.58 or older, you need to remove all Telldus configur Home Assistant will automatically discover the presence of a Tellstick Net or Tellstick ZNet on your local network if the [discovery]({{site_root}}/components/discovery/) component is enabled. When discovery and the key exchange with Telldus Live have been completed, you will be presented with an option to integrate with the cloud or local API for direct communication with your hardware in your LAN. Local API supports only one device at this stage. Local API is only supported with the Znet Lite products, the older hardware (such as Tellstick Net) does not support local API. -To manually integrate your Telldus Live with Home Assistant, e.g., if your device is on another network or in another location, add the following section to your `configuration.yaml` file: +To manually integrate your Telldus Live with Home Assistant, e.g. if your device is on another network or in another location, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown index 4f9e03870d..de69aaffc3 100644 --- a/source/_components/tellstick.markdown +++ b/source/_components/tellstick.markdown @@ -1,7 +1,7 @@ --- layout: page title: "TellStick" -description: "Instructions on how to integrate your TellStick into Home Assistant." +description: "Instructions how to integrate your TellStick into Home Assistant." date: 2015-03-28 13:06 sidebar: true comments: false @@ -30,6 +30,6 @@ tellstick: Configuration variables: - **signal_repetitions** (*Optional*): Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly. -- **host** (*Optional*): If you run tellstick on another server or with a hass.io add-on. +- **host** (*Optional*): If you run tellstick on a other server or with a hass.io add-on. - **port** (*Optional*): If needed with host config option. Must be port pair, for example `[50800, 50801]`. diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown index 8673396fc6..4cc5dbd85d 100644 --- a/source/_components/tesla.markdown +++ b/source/_components/tesla.markdown @@ -18,19 +18,19 @@ The `Tesla` component offers integration with the [Tesla](https://auth.tesla.com This component provides the following platforms: - Binary sensors - such as parking and charger connection. - - Sensors - such as Battery level, Inside/Outside temperature, odometer, and estimated range. + - Sensors - such as Battery level, Inside/Outside temperature. - Device tracker - to track location of your car - Lock - Door lock. Enables you to control Tesla's door lock - Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. - - Switch - Charger and max range switch. Allow you to start/stop charging and set max range charging. + - Switch - Charger switch. Allow you to start/stop charging. To use Tesla in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry tesla: - username: YOUR_E_MAIL_ADDRESS - password: YOUR_PASSWORD + username: email + password: password ``` Configuration variables: diff --git a/source/_components/thethingsnetwork.markdown b/source/_components/thethingsnetwork.markdown index 328022f6cc..65211c241d 100644 --- a/source/_components/thethingsnetwork.markdown +++ b/source/_components/thethingsnetwork.markdown @@ -20,7 +20,7 @@ The Things network support various integrations to make the data available: | The Things Network Integration | Home Assistant platform | |---|---| | [MQTT](https://www.thethingsnetwork.org/docs/applications/mqtt/) | | -| [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/components/sensor.thethingsnetwork/) | +| [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/component/sensor.thethingsnetwork/) | | [HTTP](https://www.thethingsnetwork.org/docs/applications/http/) | | ### {% linkable_title Setup %} diff --git a/source/_components/thingspeak.markdown b/source/_components/thingspeak.markdown index 2336a59747..d8da23a931 100644 --- a/source/_components/thingspeak.markdown +++ b/source/_components/thingspeak.markdown @@ -12,8 +12,8 @@ ha_category: "History" ha_release: 0.32 --- -The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/). -For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](/components/influxdb/). +The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/). +For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](https://home-assistant.io/components/influxdb/). You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your Write API Key from the "API Keys" tab of the channel you want to use. diff --git a/source/_components/timer.markdown b/source/_components/timer.markdown index eb6db877f3..61ff400aea 100644 --- a/source/_components/timer.markdown +++ b/source/_components/timer.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Timer" -description: "Instructions on how to integrate timers into Home Assistant." +description: "Instructions how to integrate timers into Home Assistant." date: 2017-10-23 06:00 sidebar: true comments: false @@ -107,29 +107,30 @@ timer: ```yaml # Example automations.yaml entry -- alias: Timerswitch - id: 'Timerstart' - # Timer is started when the switch pumprun is set to on. - trigger: - - platform: state - entity_id: switch.pumprun - to: 'on' - action: +- action: - service: timer.start entity_id: timer.test + alias: Timerswitch + id: 'Timerstart' + +# Timer is started when the switch pumprun is set to on. + trigger: + platform: state + entity_id: switch.pumprun + to: 'on' # When timer is stopped, the time run out, another message is sent -- alias: Timerstop - id: 'Timerstop' - trigger: - - platform: event - event_type: timer.finished - event_data: - entity_id: timer.test - action: +- action: - service: notify.nma data: message: "Timer stop" + alias: Timerstop + id: 'Timerstop' + trigger: + platform: event + event_type: timer.finished + event_data: + entity_id: timer.test ``` ### {% linkable_title Control a timer from the frontend %} diff --git a/source/_components/toon.markdown b/source/_components/toon.markdown index e516db9ce8..08c38f9ace 100644 --- a/source/_components/toon.markdown +++ b/source/_components/toon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Toon" -description: "Instructions on how to integrate Toon within Home Assistant." +description: "Instructions how to integrate Toon within Home Assistant." date: 2017-10-22 12:00 sidebar: true comments: false diff --git a/source/_components/tts.amazon_polly.markdown b/source/_components/tts.amazon_polly.markdown index 8be1fdc0a5..465a5abea1 100644 --- a/source/_components/tts.amazon_polly.markdown +++ b/source/_components/tts.amazon_polly.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Amazon Polly" -description: "Instructions on how to setup Amazon Polly with Home Assistant." +description: "Instructions how to setup Amazon Polly with Home Assistant." date: 2017-01-28 09:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_release: 0.37 The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output. Polly is a paid service via Amazon Web Services. There is a [free tier](https://aws.amazon.com/polly/pricing/) for the first 12 months and then a charge per million characters afterwards. -## {% linkable_title Configuration %} - To get started, add the following lines to your `configuration.yaml` (example for Amazon Polly): ```yaml @@ -25,62 +23,33 @@ tts: - platform: amazon_polly aws_access_key_id: AWS_ACCESS_KEY_ID aws_secret_access_key: AWS_SECRET_ACCESS_KEY + profile_name: AWS_PROFILE + region_name: 'us-east-1' + voice: Joanna ``` -{% configuration %} -aws_access_key_id: - description: "Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`." - required: true - type: string -aws_secret_access_key: - description: "Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`." - required: true - type: string -profile_name: - description: A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. - required: false - type: string -region_name: - description: "The region identifier to connect to. The default is `us-east-1`. See the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions." - required: false - type: string or list -name: - description: "Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`." - required: false - type: string -text_type: - description: "Specify wherever to use text (default) or ssml markup by default." - required: false - type: string - default: text -voice: - description: "Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices." - required: false - type: string -output_format: - description: "Override the default output format, e.g., `mp3`, `ogg_vorbis` or `pcm`." - required: false - type: string - default: mp3 -sample_rate: - description: "Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm." - required: false - type: string -{% endconfiguration %} +Configuration variables: +| Parameter | Value | Description | +|---------------------|----------|-------------| +| `aws_access_key_id` | Required | Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name` | +| `aws_secret_access_key` | Required | Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. | +| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. | +| `region_name` | Optional | The region identifier to connect to. The default is `us-east-1`. | +| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. | +| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup by default. | +| `voice` | Optional | Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices. | +| `output_format` | mp3/ogg_vorbis/pcm | Override the default output format, defaults to MP3. | +| `sample_rate` | 8000/16000/22050 | Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm. | -## {% linkable_title Usage %} - +## Usage Say to all `media_player` device entities: - ```yaml - service: tts.amazon_polly_say data_template: message: 'Hello from Amazon Polly' ``` - or - ```yaml - service: tts.amazon_polly_say data_template: diff --git a/source/_components/tts.baidu.markdown b/source/_components/tts.baidu.markdown index 47ba6f0ad8..e8499742fd 100644 --- a/source/_components/tts.baidu.markdown +++ b/source/_components/tts.baidu.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Baidu Text-to-Speech" -description: "Instructions on how to setup Baidu TTS with Home Assistant." +description: "Instructions how to setup Baidu TTS with Home Assistant." date: 2017-11-21 09:00 sidebar: true comments: false diff --git a/source/_components/tts.google.markdown b/source/_components/tts.google.markdown index 1b0468c87d..cbed90dada 100644 --- a/source/_components/tts.google.markdown +++ b/source/_components/tts.google.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Google Text-to-Speech" -description: "Instructions on how to setup Google Text-to-Speech with Home Assistant." +description: "Instructions how to setup Google Text-to-Speech with Home Assistant." date: 2016-12-13 07:00 sidebar: true comments: false diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 5fc0d8de47..7a2733ebbc 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Text-to-Speech (TTS)" -description: "Instructions on how to setup Text-to-Speech (TTS) with Home Assistant." +description: "Instructions how to setup Text-to-Speech (TTS) with Home Assistant." date: 2016-12-13 07:00 sidebar: true comments: false @@ -22,17 +22,13 @@ tts: - platform: google ``` -

-Depending on your setup, you might need to set a base URL (`base_url`) inside the [http component](/components/http/). -

- -The following optional parameters can be used with any platform. However, the TTS component will only look for global settings under the configuration of the first configured platform: +The following optional parameters can be used with any platform. However the TTS component will only look for global settings under the configuration of the first configured platform: | Parameter | Default | Description | |---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `cache` | True | Allow TTS to cache voice file to local storage. | -| `cache_dir` | tts | Folder name or path to a folder for caching files. | -| `time_memory` | 300 | Time to hold the voice data inside memory for fast play on a media player. Minimum is 60 s and the maximum 57600 s (16 hours). | +| `cache_dir` | tts | Folder name or path to folder for caching files. | +| `time_memory` | 300 | Time to hold the voice data inside memory for fast play on media player. Minimum is 60 s and the maximum 57600 s (16 hours). | The extended example from above would look like the following sample: @@ -45,9 +41,13 @@ tts: time_memory: 300 ``` +

+If you are running Home Assistant over SSL or from within a container, you will have to setup a base URL (`base_url`) inside the [http component](/components/http/). +

+ ## {% linkable_title Service say %} -The `say` service support `language` and on some platforms also `options` for set, i.e., *voice, motion, speed, etc*. The text for speech is set with `message`. +The `say` service support `language` and on some platforms also `options` for set i.e. *voice, motion, speed, etc*. The text for speech is set with `message`. Say to all `media_player` device entities: @@ -88,33 +88,3 @@ data_template: ## {% linkable_title Cache %} The component has two caches. Both caches can be controlled with the `cache` option in the platform configuration or the service call `say`. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period. - -## {% linkable_title REST Api %} - -#### {% linkable_title POST /api/tts_get_url %} - -Returns an URL to the generated TTS file. Platform and message are required. - -```json -{ - "plaform": "amazon_polly", - "message": "I am speaking now" -} -``` - -The return code is 200 if the file is generated. The message body will contain a JSON object with the URL. - -```json -{ - "url": "http://127.0.0.1:8123/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd_en_-_demo.mp3" -} -``` - -Sample `curl` command: - -```bash -$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \ - -H "Content-Type: application/json" \ - -d '{"message": "I am speaking now", "platform": "amazon_polly"}' \ - http://localhost:8123/api/tts_get_url -``` diff --git a/source/_components/tts.marytts.markdown b/source/_components/tts.marytts.markdown index 7b13da9906..42fff710e1 100644 --- a/source/_components/tts.marytts.markdown +++ b/source/_components/tts.marytts.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MaryTTS" -description: "Instructions on how to setup MaryTTS with Home Assistant." +description: "Instructions how to setup MaryTTS with Home Assistant." date: 2017-04-08 16:49 sidebar: true comments: false diff --git a/source/_components/tts.microsoft.markdown b/source/_components/tts.microsoft.markdown index bb68917616..036dfed524 100644 --- a/source/_components/tts.microsoft.markdown +++ b/source/_components/tts.microsoft.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Microsoft Text-to-Speech" -description: "Instructions on how to setup Microsoft Text-to-Speech with Home Assistant." +description: "Instructions how to setup Microsoft Text-to-Speech with Home Assistant." date: 2017-11-07 12:00 sidebar: true comments: false diff --git a/source/_components/tts.picotts.markdown b/source/_components/tts.picotts.markdown index 5525c0b8ec..411cc11c4c 100644 --- a/source/_components/tts.picotts.markdown +++ b/source/_components/tts.picotts.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Pico Text-to-Speech" -description: "Instructions on how to setup Pico Text-to-Speech with Home Assistant." +description: "Instructions how to setup Pico Text-to-Speech with Home Assistant." date: 2017-01-03 16:00 sidebar: true comments: false diff --git a/source/_components/tts.voicerss.markdown b/source/_components/tts.voicerss.markdown index 99e6b5d685..612ae41082 100644 --- a/source/_components/tts.voicerss.markdown +++ b/source/_components/tts.voicerss.markdown @@ -1,7 +1,7 @@ --- layout: page title: "VoiceRSS" -description: "Instructions on how to setup VoiceRSS TTS with Home Assistant." +description: "Instructions how to setup VoiceRSS TTS with Home Assistant." date: 2016-12-13 07:00 sidebar: true comments: false diff --git a/source/_components/tts.yandextts.markdown b/source/_components/tts.yandextts.markdown index af30eacea7..18693965e7 100644 --- a/source/_components/tts.yandextts.markdown +++ b/source/_components/tts.yandextts.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yandex TTS" -description: "Instructions on how to setup Yandex SpeechKit TTS with Home Assistant." +description: "Instructions how to setup Yandex SpeechKit TTS with Home Assistant." date: 2017-01-17 03:04 sidebar: true comments: false diff --git a/source/_components/twilio.markdown b/source/_components/twilio.markdown index ed3752a9e2..299a91f019 100644 --- a/source/_components/twilio.markdown +++ b/source/_components/twilio.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Twilio" -description: "Instructions on how to add Twilio notifications to Home Assistant." +description: "Instructions how to add Twilio notifications to Home Assistant." date: 2016-05-14 14:14 sidebar: true comments: false @@ -32,4 +32,4 @@ Configuration variables: - **auth_token** (*Required*): Your Twilio AUTH TOKEN which can be found in your [console](https://www.twilio.com/console). It should be directly under where you found the `account_sid`. ### {% linkable_title Usage %} -After configuring the base Twilio component, add and configure either or both of the [twilio SMS](/components/notify.twilio_sms/) and [twilio Phone](/components/notify.twilio_call) components to utilize the notification functionality. +After configuring the base Twilio component, add and configure either or both of the [twilio SMS](https://home-assistant.io/components/notify.twilio_sms/) and [twilio Phone](https://home-assistant.io/components/notify.twilio_call) components to utilize the notification functionality. diff --git a/source/_components/upcloud.markdown b/source/_components/upcloud.markdown deleted file mode 100644 index dcb15e41fc..0000000000 --- a/source/_components/upcloud.markdown +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: page -title: UpCloud -description: Instructions on how to integrate UpCloud within Home Assistant. -date: 2018-01-28 20:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Hub -ha_release: 0.65 -logo: upcloud.png -ha_iot_class: Cloud Polling ---- - - -The `upcloud` component allows you to access the information about your [UpCloud](https://www.upcloud.com/) servers from Home Assistant. - -Set up your API user credentials in your [UpCloud control panel](https://my.upcloud.com/). - -To integrate your UpCloud servers with Home Assistant, add the following section to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -upcloud: - username: YOUR_API_USERNAME - password: YOUR_API_PASSWORD -``` - -{% configuration %} -username: - description: Your UpCloud API username. - required: true - type: string -password: - description: Your UpCloud API user password. - required: true - type: string -scan_interval: - description: Update interval in seconds. - required: false - type: int - default: 60 -{% endconfiguration %} diff --git a/source/_components/usps.markdown b/source/_components/usps.markdown index 3a7c9a06ab..6f92cc8e77 100644 --- a/source/_components/usps.markdown +++ b/source/_components/usps.markdown @@ -16,37 +16,6 @@ ha_iot_class: "Cloud Polling" The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/). In addition to having a USPS account, you will need to complete the "Opt-In" process for packages by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail. -## Prerequisites - -This component requires that a headless-capable web browser is installed on your system - either PhantomJS or Google Chrome. Preferably use Chrome if your operating system supports it, since PhantomJS is deprecated. - -

- If you are using a Raspberry Pi, you must use PhantomJS. -

- -### PhantomJS - -Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). Ensure the executable is on your `PATH`. `phantomjs --version` should work and report the correct version. This is the default option and requires no further configuration. - -

- Don't use apt-get to install PhantomJS. This version is not compatible. -

- -If you use the PhantomJS option, specify `driver: phantomjs` in your `usps` configuration. - - -### Chrome - -Install Chrome 59 or greater (preferably the most recent). Install the latest [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads). Ensure both executables are on your `PATH`. `google-chrome --version` and `chromedriver --version` should work and report the correct version. - -OS-specific instructions: -- [Ubuntu 16](https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5) (Selenium server portion *not* necessary) -- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) - -If you use the Chrome option, specify `driver: chrome` in your `usps` configuration. - -## Configuration - To enable this component, add the following lines to your `configuration.yaml`: ```yaml @@ -62,7 +31,6 @@ Configuration options for the USPS component: - **username** (*Required*): The username to access the MyUSPS service. - **password** (*Required*): The password for the given username. -- **driver** (*Required*): Specify if you're using `phantomjs` or `chrome`. - **name** (*Optional*): Prefix for sensor names (defaults to "USPS")

diff --git a/source/_components/vacuum.dyson.markdown b/source/_components/vacuum.dyson.markdown index b482899130..4ac3d49e5e 100644 --- a/source/_components/vacuum.dyson.markdown +++ b/source/_components/vacuum.dyson.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Dyson 360 Eye" -description: "Instructions on how to integrate your Dyson Eye 360 vacuum robot within Home Assistant." +description: "Instructions how to integrate your Dyson Eye 360 vacuum robot within Home Assistant." date: 2017-08-06 10:30 sidebar: true comments: false diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index c626a39934..51b0adc667 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vacuum cleaner robots" -description: "Instructions on how to setup a botvac in Home Assistant." +description: "Instructions how to setup a botvac in Home Assistant." date: 2017-07-28 15:00 sidebar: true comments: false @@ -27,7 +27,7 @@ Available services: `turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_hom Before calling one of these services, make sure your botvac platform supports it. -#### {% linkable_title Service `vacuum.turn_on` %} +#### {% linkable_title Service `vacuum/turn_on` %} Start a new cleaning task. @@ -35,7 +35,7 @@ Start a new cleaning task. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.turn_off` %} +#### {% linkable_title Service `vacuum/turn_off` %} Stop the current cleaning task and return to the dock. @@ -43,7 +43,7 @@ Stop the current cleaning task and return to the dock. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.start_pause` %} +#### {% linkable_title Service `vacuum/start_pause` %} Start, pause or resume a cleaning task. @@ -51,7 +51,7 @@ Start, pause or resume a cleaning task. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.stop` %} +#### {% linkable_title Service `vacuum/stop` %} Stop the current activity of the botvac. @@ -59,7 +59,7 @@ Stop the current activity of the botvac. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.return_to_home` %} +#### {% linkable_title Service `vacuum/return_to_home` %} Tell the botvac to return home. @@ -67,7 +67,7 @@ Tell the botvac to return home. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.locate` %} +#### {% linkable_title Service `vacuum/locate` %} Locate the vacuum cleaner robot. @@ -75,7 +75,7 @@ Locate the vacuum cleaner robot. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.clean_spot` %} +#### {% linkable_title Service `vacuum/clean_spot` %} Tell the vacuum cleaner to do a spot clean-up. @@ -83,7 +83,7 @@ Tell the vacuum cleaner to do a spot clean-up. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific botvac. Else targets all. | -#### {% linkable_title Service `vacuum.set_fanspeed` %} +#### {% linkable_title Service `vacuum/set_fanspeed` %} Set the fan speed of the botvac. The `fanspeed` can be a label, as `balanced` or `turbo`, or be a number; it depends on the `vacuum` platform. @@ -92,7 +92,7 @@ Set the fan speed of the botvac. The `fanspeed` can be a label, as `balanced` or | `entity_id` | yes | Only act on specific botvac. Else targets all. | | `fanspeed` | no | Platform dependent vacuum cleaner fan speed, with speed steps, like 'medium', or by percentage, between 0 and 100. | -#### {% linkable_title Service `vacuum.send_command` %} +#### {% linkable_title Service `vacuum/send_command` %} Send a platform-specific command to the vacuum cleaner. diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index 1777c7cd89..65ed9679ce 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Vacuum" -description: "Instructions on how to integrate your MQTT enabled Vacuum within Home Assistant." +description: "Instructions how to integrate your MQTT enabled Vacuum within Home Assistant." date: 2017-09-11 20:26 sidebar: true comments: false diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index b670457369..2c0ed93464 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Neato Robotics Vacuum" -description: "Instructions on how to integrate a Neato Botvac Connected Vacuum within Home Assistant." +description: "Instructions how to integrate a Neato Botvac Connected Vacuum within Home Assistant." date: 2017-10-18 16:11 sidebar: true comments: false diff --git a/source/_components/vacuum.roomba.markdown b/source/_components/vacuum.roomba.markdown index bf28b11035..32c1393eb2 100644 --- a/source/_components/vacuum.roomba.markdown +++ b/source/_components/vacuum.roomba.markdown @@ -1,7 +1,7 @@ --- layout: page title: "iRobot Roomba" -description: "Instructions on how to integrate your Wi-Fi enabled Roomba within Home Assistant." +description: "Instructions how to integrate your Wi-Fi enabled Roomba within Home Assistant." date: 2017-08-04 20:43 sidebar: true comments: false diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 9fa8cbe3da..4abc27588c 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -13,7 +13,8 @@ ha_release: 0.51 ha_iot_class: "Local Polling" --- -The `xiaomi miio` vacuum platform allows you to control the state of your [Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/). +The `xiaomi miio` vacuum platform allows you to control the state of your +[Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/). Currently supported features are: @@ -49,22 +50,26 @@ Configuration variables: ## {% linkable_title Platform Services %} -In addition to all of the services provided by the `vacuum` component (`turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_home`, `locate`, `set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific services to access the remote control mode of the robot. These are: +In addition to [all of the services provided by the `vacuum` component] +]) (`turn_on`, `turn_off`, `start_pause`, `stop`, `return_to_home`, `locate`, +`set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific +services to access the remote control mode of the robot. These are: - `xiaomi_remote_control_start` - `xiaomi_remote_control_stop` - `xiaomi_remote_control_move` - `xiaomi_remote_control_move_step` -### {% linkable_title Service `vacuum.xiaomi_remote_control_start` %} +### {% linkable_title Service `vacuum/xiaomi_remote_control_start` %} -Start the remote control mode of the robot. You can then move it with `remote_control_move`; when done, call `remote_control_stop`. +Start the remote control mode of the robot. You can then move it with +`remote_control_move`; when done, call `remote_control_stop`. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific robot; default targets all | -### {% linkable_title Service `vacuum.xiaomi_remote_control_stop` %} +### {% linkable_title Service `vacuum/xiaomi_remote_control_stop` %} Exit the remote control mode of the robot. @@ -72,18 +77,20 @@ Exit the remote control mode of the robot. |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific robot; default targets all | -### {% linkable_title Service `vacuum.xiaomi_remote_control_move` %} +### {% linkable_title Service `vacuum/xiaomi_remote_control_move` %} -Remote control the robot. Please ensure you first set it in remote control mode with `remote_control_start`. +Remote control the robot. Please ensure you first set it in remote control +mode with `remote_control_start`. | Service data attribute | Optional | Description | |---------------------------|----------|-------------------------------------------------------| | `entity_id` | yes | Only act on specific robot; default targets all | | `velocity` | no | Speed: between -0.29 and 0.29 | | `rotation` | no | Rotation: between -179 degrees and 179 degrees | -| `duration` | no | The number of milliseconds that the robot should move for | +| `duration` | no | The number of seconds that the robot should move for | -### {% linkable_title Service `vacuum.xiaomi_remote_control_move_step` %} + +### {% linkable_title Service `vacuum/xiaomi_remote_control_move_step` %} Enter remote control mode, make one move, stop, and exit remote control mode. @@ -92,12 +99,13 @@ Enter remote control mode, make one move, stop, and exit remote control mode. | `entity_id` | yes | Only act on specific robot; default targets all | | `velocity` | no | Speed: between -0.29 and 0.29. | | `rotation` | no | Rotation: between -179 degrees and 179 degrees. | -| `duration` | no | The number of milliseconds that the robot should move for | +| `duration` | no | The number of seconds that the robot should move for | ## {% linkable_title Attributes %} -In addition to [all of the attributes provided by the `vacuum` component](/components/vacuum/#attributes), -(`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, `status`, and `params`), the `xiaomi` platform introduces specific attributes. These are: +In addition to [all of the attributes provided by the `vacuum` component](https://home-assistant.io/components/vacuum/#attributes), +(`battery_icon`, `cleaned_area`, `fan_speed`, `fan_speed_list`, `status`, and +`params`), the `xiaomi` platform introduces specific attributes. These are: - `cleaning_time` - `do_not_disturb` @@ -125,45 +133,12 @@ The following table shows the units of measurement for each attribute: ## {% linkable_title Retrieving the Access Token %}

-As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Mi-Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.0](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/) is confirmed as working for the following Android methods. - -This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained -easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool. +This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot +Vacuum and Xiaomi Philips Lights. The Xiaomi Gateway uses another security +method and requires a `key` (16 alphanumeric chars), which can be obtained +easily via a hidden menu item at the Mi-Home app.

-#### {% linkable_title Miio command line tool %} - -You can install the command line tool with: - -```bash -$ npm install -g miio -``` - -Discovering devices on current network - -```bash -$ miio discover -``` - -This will list devices that are connected to the same network as your computer. Let it run for a while so it has a chance to reach all devices, as it might take a minute or two for all devices to answer. - -The commands outputs each device on this format: - -```text -Device ID: 48765421 -Model info: zhimi.airpurifier.m1 -Address: 192.168.100.9 -Token: token-as-hex-here via auto-token -Support: At least basic -``` - -The information output is: - -* __Device ID__ - the unique identifier of the device, does not change if the device is reset. -* __Model ID__ - the model id if it could be determined, this indicates what type of device it is -* __Address__ - the IP that the device has on the network -* __Token__ - the token of the device or ??? if it could not be automatically determined - #### {% linkable_title Windows and Android %} To fetch the token follow these instructions depending on your mobile phone platform. @@ -197,13 +172,13 @@ To fetch the token follow these instructions depending on your mobile phone plat 1. Configure the robot with the Mi-Home app. 2. Enable developer mode, USB debugging and plug the Android phone into the computer. -3. Get ADB e.g., `apt-get install android-tools-adb` or `apt-get install adb` +3. Get ADB e.g. `apt-get install android-tools-adb` or `apt-get install adb` 4. `adb devices` should list your device. Consult ADB manual if necessary. -5. Issue a backup command via adb: `adb backup -noapk com.xiaomi.smarthome -f backup.ab` (set a password if prompted on your phone). Some devices may required single quotes in the command `adb backup '-noapk com.xiaomi.smarthome -f backup.ab'` +5. Issue a backup command via adb: `adb backup -noapk com.xiaomi.smarthome -f backup.ab` (set a password if prompted on your phone) 6. Download the 'ADB Backup Extractor' from [here](https://sourceforge.net/projects/adbextractor/files/latest/download) 7. Extract the data from the backup: `java -jar Android\ Backup\ Utilities/Android\ Backup\ Extractor/android-backup-extractor-20171005-bin/abe.jar unpack backup.ab unpacked.tar` (enter the password, if prompted) 8. Untar the unpacked data: `tar -xvf unpacked.tar` -9. `sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name like "%Vacuum%";'` returns the token for your Xiaomi vacuum bot. +9. `sqlite3 apps/com.xiaomi.smarthome/db/miio2.db 'select token from devicerecord where name = "Mi Robot Vacuum";'` returns the token for your Xiaomi vacuum bot. #### {% linkable_title Linux and Android (rooted!) %} @@ -230,7 +205,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 3. Get ADB f.e. `apt-get install android-tools-adb` 4. `adb devices` should list your device 5. `adb root` (does work for development builds only: ones with `ro.debuggable=1`) -6. `adb shell` (for those using Magisk based root the previous command won't work. After entering a shell, type `su` to enter the root shell) +6. `adb shell` 7. `echo "select name,localIP,token from devicerecord;" | sqlite3 /data/data/com.xiaomi.smarthome/databases/miio2.db` returns a list of all registered devices including IP address and token. #### {% linkable_title iOS %} @@ -245,7 +220,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 8. Install [DB Browser for SQLite](http://sqlitebrowser.org/). 9. Open DB Browser and load the `.sqlite` file you saved from your backup. 10. Click on the `Execute SQL` tab. -11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME LIKE "%Vacuum%"` +11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME = "Mi Robot Vacuum"` 12. Copy the returned 32-digit hexadecimal string to your clipboard. 13. Open `Terminal` and execute this command: `echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000` 14. Use the resulting string as your token. diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown index 1dfa965fb4..264f39157f 100644 --- a/source/_components/vera.markdown +++ b/source/_components/vera.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Vera" -description: "Instructions on how to setup Vera Z-Wave hubs and configure devices within Home Assistant." +description: "Instructions how to setup Vera Z-Wave hubs and configure devices within Home Assistant." date: 2015-03-23 20:04 sidebar: true comments: false diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 7eac9bad58..d73c9c9e49 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Verisure" -description: "Instructions on how to setup Verisure devices within Home Assistant." +description: "Instructions how to setup Verisure devices within Home Assistant." date: 2015-08-17 20:28 sidebar: true comments: false @@ -45,4 +45,4 @@ Configuration variables: - **mouse** (*Optional*): Set to 1 to show mouse detectors, 0 to disable. Default 1. - **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1. - **code_digits** (*Optional*): Number of digits in PIN code. Default 4. -- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations' +- **giid** (*Optional*): The GIID of your installation (If you have more then one alarm system). diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 6482d372cc..09664ef231 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -21,8 +21,8 @@ To use Volvo On Call in your installation, add the following to your `configurat ```yaml # Example configuration.yaml entry volvooncall: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: username + password: password ``` Users registered with Volvo in North America or China will need to specify a region: @@ -30,18 +30,15 @@ Users registered with Volvo in North America or China will need to specify a reg ```yaml # North America volvooncall: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: username + password: password region: na ``` - -or - ```yaml # China volvooncall: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: username + password: password region: cn ``` @@ -50,8 +47,8 @@ A more advanced example for setting the vehicle name and selecting what resource ```yaml # Example configuration.yaml entry volvooncall: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: username + password: password name: abc123: 'Batmobile' resources: diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown index 2f7b1d4532..a6bd3291ac 100644 --- a/source/_components/wake_on_lan.markdown +++ b/source/_components/wake_on_lan.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wake on LAN" -description: "Instructions on how to setup the Wake on LAN component in Home Assistant." +description: "Instructions how to setup the Wake on LAN component in Home Assistant." date: 2017-07-8 15:00 sidebar: true comments: false diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index 2555b1fb80..9bf884e0c2 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -13,11 +13,12 @@ ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -The `waterfurnace` component communicates with the WaterFurnace Symphony website's WebSocket to show you many of the sensors in your -system. While not an official API, this is the same backend the Symphony website is based on, and should be reasonably stable. +The `waterfurnace` component communicates with the WaterFurnace +Symphony website's WebSocket to show you many of the sensors in your +system. While not an official API, this is the same backend the +Symphony website is based on, and should be reasonably stable. The sensors provided include: - - Thermostat Setpoint - Thermostat Current Temp - Leaving Air Temp @@ -27,37 +28,41 @@ The sensors provided include: - Total system power (in Watts) - Furnace Mode -## {% linkable_title Configuration %} - To use Waterfurnace in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry waterfurnace: - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: you@example.com + password: secr3tpassword unit: 0123456789AB ``` {% configuration %} username: - description: The email address for your Symphony WaterFurnace account - required: true - type: string + description: The email address for your Symphony WaterFurnace account + required: true + type: string password: - description: The password for your Symphony WaterFurnace account - required: true - type: string + description: The password for your Symphony WaterFurnace account + required: true + type: string unit: - description: The unit serial number for your WaterFurnace - required: true - type: string + description: The unit serial number for your WaterFurnace + required: true + type: string {% endconfiguration %} #### {% linkable_title Limitations %} -The WebSocket interface used by this module requires active polling, otherwise the server side shuts down the connection. By default, this polling is happening every 10 seconds. All sensors are updated during every polling cycle. - -While this is communicating with a thermostat, geothermal systems operate most efficiently when setbacks are not used, and the home is kept at a constant temperature. It remains useful to collect the data from the system to understand its performance, but a full climate interface won't be implemented. +The WebSocket interface used by this module requires active polling, +otherwise the server side shuts down the connection. By default, this +polling is happening every 10 seconds. All sensors are updated during +every polling cycle. +While this is communicating with a thermostat, geothermal systems +operate most efficiently when setbacks are not used, and the home is +kept at a constant temperature. It remains useful to collect the data +from the system to understand its performance, but a full climate +interface won't be implemented. diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown index fe26c58337..3a9d64c81a 100644 --- a/source/_components/weather.bom.markdown +++ b/source/_components/weather.bom.markdown @@ -15,12 +15,9 @@ ha_iot_class: "Cloud Polling" The `bom` weather platform uses the [Australian Bureau of Meteorology (BOM)](http://www.bom.gov.au) as a source for current (half-hourly) meteorological data. -## {% linkable_title Configuration %} - To add the BOM weather platform to your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry weather: - platform: bom ``` diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown index 0b4ef3f0db..9cfb72d10c 100644 --- a/source/_components/weather.buienradar.markdown +++ b/source/_components/weather.buienradar.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Buienradar" -description: "Instructions on how to integrate buienradar.nl weather within Home Assistant." +title: "Buienradar Weather" +description: "Instructions how to integrate buienradar.nl weather within Home Assistant." date: 2017-05-15 14:00 sidebar: true comments: false @@ -14,11 +14,8 @@ ha_iot_class: "Cloud Polling" --- The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. - The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the Buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). -## {% linkable_title Configuration %} - To add the Buienradar weather to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -29,7 +26,7 @@ weather: Configuration variables: -- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of `weather.[name]`; if no name is specified, it will try to set its name to `weather.BR_[stationname]`. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named `weather.BR_unknown_station`. Later the station name will be known and get updated, but the entity name remains. +- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the weather component will get an entity name of 'weather.[name]'; if no name is specified, it will try to set its name to 'weather.BR_[stationname]'. However at the moment in time, the entity is created, no data has been retrieved yet, so the entity will get named 'weather.BR_unknown_station'. Later the station name will be known and get updated, but the entity name remains. - **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. - **longitude**(*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration but can be overridden/changed in this component to select a different location for Buienradar. - **forecast** (*Optional*): 'True' to add a temperature forecast, 'False' to suppress it. diff --git a/source/_components/weather.darksky.markdown b/source/_components/weather.darksky.markdown index 6a3b1ad138..0352ef6074 100644 --- a/source/_components/weather.darksky.markdown +++ b/source/_components/weather.darksky.markdown @@ -1,27 +1,29 @@ --- layout: page title: "Dark Sky" -description: "Instructions on how to integrate Dark Sky within Home Assistant." +description: "Instructions how to integrate Dark Sky within Home Assistant." date: 2016-09-29 09:00 sidebar: true comments: false sharing: true footer: true -featured: true logo: dark_sky.png ha_category: Weather ha_release: 0.61 ha_iot_class: "Cloud Polling" --- -The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. +The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as +a source for meteorological data for your location. -## {% linkable_title Configuration %} - -You need an API key which is free but requires [registration](https://darksky.net/dev/register). The free tier allows up to 1000 calls per day, this platform updates at most every 3 minutes, using up to 480 of those calls. +You need an API key which is free but requires +[registration](https://darksky.net/dev/register). The free tier allows up to +1000 calls per day, this platform updates at most every 3 minutes, using up to +480 of those calls.

-[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day. +[Dark Sky](https://darksky.net/dev/) will charge you $0.0001 per API call if you +enter your credit card details and create more than 1000 calls per day.

To add Dark Sky to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.ecobee.markdown b/source/_components/weather.ecobee.markdown index 33f1983ecd..0f32830963 100644 --- a/source/_components/weather.ecobee.markdown +++ b/source/_components/weather.ecobee.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Ecobee Weather" -description: "Instructions on how to setup the Ecobee weather within Home Assistant." +description: "Instructions how to setup the Ecobee weather within Home Assistant." date: 2017-11-29 21:00 sidebar: true comments: false diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index c256cae2a8..f082409139 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Weather" -description: "Instructions on how to setup your Weather platforms with Home Assistant." +description: "Instructions how to setup your Weather platforms with Home Assistant." date: 2016-09-28 14:00 sidebar: true comments: false @@ -13,22 +13,4 @@ The `weather` platforms are gathering meteorological information from web servic Home Assistant currently supports free web services and such which require a registration. Please check the sidebar for a full list of supported `weather` platforms. -## {% linkable_title Condition mapping %} - -The `weather` platform only knows the below listed conditions. The reason for this is that for these conditions is an icon from [Material Design Icons](https://materialdesignicons.com/) available and mapped in the [frontend](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/cards/ha-weather-card.html#L77). - -- 'cloudy' -- 'fog' -- 'hail' -- 'lightning' -- 'lightning-rainy' -- 'partlycloudy' -- 'pouring' -- 'rainy' -- 'snowy' -- 'snowy-rainy' -- 'sunny' -- 'windy' -- 'windy-variant' -- 'exceptional': diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index df624d2a9c..5875121806 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -15,12 +15,9 @@ ha_iot_class: "Cloud Polling" The `metoffice` weather platform uses the Met Office's [DataPoint API][datapoint] for weather data. -## {% linkable_title Configuration %} - To add the Met Office weather platform to your installation, you'll need to register for a free API key at the link above and then add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry weather: - platform: metoffice api_key: YOUR_API_KEY diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index 53f7e9a348..9c0a24f447 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -1,7 +1,7 @@ --- layout: page title: "OpenWeatherMap" -description: "Instructions on how to integrate OpenWeatherMap within Home Assistant." +description: "Instructions how to integrate OpenWeatherMap within Home Assistant." date: 2016-09-29 09:00 sidebar: true comments: false @@ -15,8 +15,6 @@ ha_iot_class: "Cloud Polling" The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. -## {% linkable_title Configuration %} - You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up). To add OpenWeatherMap to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 27bbda8214..e087503679 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Yahoo Weather" -description: "Instructions on how to integrate Yahoo Weather within Home Assistant." +description: "Instructions how to integrate Yahoo Weather within Home Assistant." date: 2016-07-06 9:06 sidebar: true comments: false @@ -19,8 +19,6 @@ The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/ Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.

-## {% linkable_title Configuration %} - The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID, it will be generated from Home Assistant's latitude and longitude. To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index b3112d97ea..89cc25bca8 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -1,7 +1,7 @@ --- layout: page title: "ZAMG Weather" -description: "Instructions on how to integrate ZAMG sensors within Home Assistant." +description: "Instructions how to integrate ZAMG sensors within Home Assistant." date: 2016-12-06 08:00 sidebar: true comments: false @@ -17,8 +17,6 @@ The `zamg` platform uses meteorological details published by the Austrian weathe Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd). -## {% linkable_title Configuration %} - To add ZAMG to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown index ebc44a1eb9..4d4d5b9cc8 100644 --- a/source/_components/weblink.markdown +++ b/source/_components/weblink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Weblink" -description: "Instructions on how to setup Links within Home Assistant." +description: "Instructions how to setup Links within Home Assistant." date: 2016-02-02 20:00 sidebar: true comments: false @@ -22,26 +22,13 @@ weblink: entities: - name: Router url: http://192.168.1.1/ - icon: mdi:router-wireless - name: Home Assistant - url: https://www.home-assistant.io - - name: Grafana - url: /grafana + url: https://home-assistant.io ``` +Configuration variables: -{% configuration %} -name: - description: Text for the link. - required: true - type: string -url: - description: The URL (absolute URL or absolute path) for the link. - required: true - type: string -icon: - description: Icon for entry. - required: false - type: string -{% endconfiguration %} +- **name** (*Required*): Text for the link. +- **url** (*Required*): The URL for the link. +- **icon** (*Optional*): Icon for entry. Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. diff --git a/source/_components/websocket_api.markdown b/source/_components/websocket_api.markdown index 5cb8e926d0..4eff8a8a3f 100644 --- a/source/_components/websocket_api.markdown +++ b/source/_components/websocket_api.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Websocket API" -description: "Instructions on how to setup the WebSocket API within Home Assistant." +description: "Instructions how to setup the WebSocket API within Home Assistant." date: 2018-01-21 08:00 sidebar: true comments: false diff --git a/source/_components/wemo.markdown b/source/_components/wemo.markdown index ab0f345bf7..96821a0032 100644 --- a/source/_components/wemo.markdown +++ b/source/_components/wemo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Belkin WeMo" -description: "Instructions on how to integrate Belkin WeMo devices into Home Assistant." +description: "Instructions how to integrate Belkin WeMo devices into Home Assistant." date: 2016-02-20 00:41 sidebar: true comments: false diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index cf62b8d380..e1d617a9e3 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Wink" -description: "Instructions on how to setup the Wink hub within Home Assistant." +description: "Instructions how to setup the Wink hub within Home Assistant." date: 2015-01-20 22:36 sidebar: true comments: false diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 1fd18f55c2..c5cdbcc788 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -18,9 +18,6 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ #### {% linkable_title Supported Devices %} -- Xiaomi Aqara Gateway (lumi.gateway.v2, lumi.gateway.v3) -- Aqara Air Conditioning Companion (lumi.acpartner.v3) -- Aqara Intelligent Door Lock (lock.aq1) - Temperature and Humidity Sensor (1st and 2nd generation) - Motion Sensor (1st and 2nd generation) - Door and Window Sensor (1st and 2nd generation) @@ -45,8 +42,8 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/ - Gateway Radio - Gateway Button -- Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2) -- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1) +- Aqara Air Conditioning Companion +- Aqara Intelligent Air Conditioner Controller Hub - Decoupled mode of the Aqara Wall Switches (Single & Double) - Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure @@ -168,6 +165,12 @@ Stops a playing ringtone immediately. #### {% linkable_title Service `xiaomi_aqara.add_device` %} +| Service data attribute | Optional | Description | +|---------------------------|----------|-------------------------------------------------------| +| `gw_mac` | no | MAC address of the Xiaomi Aqara Gateway | + +#### {% linkable_title Service `xiaomi_aqara.add_device` %} + Enables the join permission of the Xiaomi Aqara Gateway for 30 seconds. A new device can be added afterwards by pressing the pairing button once. | Service data attribute | Optional | Description | diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index e463083999..0bc2fe72cb 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zabbix" -description: "Instructions on how to integrate Zabbix into Home Assistant." +description: "Instructions how to integrate Zabbix into Home Assistant." date: 2016-12-13 22:57 sidebar: true comments: false diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 0e769fc6a4..2e4a749b97 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zigbee Home Automation" -description: "Instructions on how to integrate your Zigbee Home Automation within Home Assistant." +description: "Instructions how to integrate your Zigbee Home Automation within Home Assistant." date: 2017-02-22 19:59 sidebar: true comments: false @@ -18,18 +18,14 @@ integration for Home Assistant allows you to connect many off-the-shelf ZigBee d There is currently support for the following device types within Home Assistant: -- [Binary Sensor](../binary_sensor.zha) (e.g., motion and door sensors) -- [Sensor](../sensor.zha) (e.g., temperature sensors) +- [Binary Sensor](../binary_sensor.zha) (e.g. motion and door sensors) +- [Sensor](../sensor.zha) (e.g. temperature sensors) - [Light](../light.zha) - [Switch](../switch.zha) -- [Fan](../fan.zha) Known working ZigBee radios: -- Nortek/GoControl Z-Wave & Zigbee USB Adapter - Model HUSBZB-1 -- XBee Series 2C -- [Elelabs ZigBee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) -- [Elelabs ZigBee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) +- Nortek/GoControl Z-Wave & Zigbee USB Adaptor - Model HUSBZB-1 To configure the component, a `zha` section must be present in the `configuration.yaml`, and the path to the serial device for the radio and path to the database which will persist your network data is required. @@ -43,9 +39,7 @@ zha: Configuration variables: - - **radio_type** (*Optional*): One of `ezsp` (default) or `xbee` - **usb_path** (*Required*): Path to the serial device for the radio. - - **baud_rate** (*Optional*): Baud rate of the serial device. - **database_path** (*Required*): Path to the database which will keep persistent network data. To add new devices to the network, call the `permit` service on the `zha` domain, and then follow the device instructions for doing a scan or factory reset. In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown index c97d06657f..00d4f7e664 100644 --- a/source/_components/zone.markdown +++ b/source/_components/zone.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Zone" -description: "Instructions on how to setup zones within Home Assistant." +description: "Instructions how to setup zones within Home Assistant." date: 2015-10-04 09:23 sidebar: true comments: false diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index 0ebf5fbafc..0f3bccbb94 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -39,6 +39,6 @@ zoneminder: path: ZM_PATH path_zms: ZM_PATH_ZMS ssl: False - username: YOUR_USERNAME - password: YOUR_PASSWORD + username: USERNAME + password: PASSWORD ``` diff --git a/source/_components/zwave.markdown b/source/_components/zwave.markdown index 9dd4811b3e..316c2d3bd1 100644 --- a/source/_components/zwave.markdown +++ b/source/_components/zwave.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Z-Wave" -description: "Instructions on how to integrate your existing Z-Wave within Home Assistant." +description: "Instructions how to integrate your existing Z-Wave within Home Assistant." date: 2016-02-27 19:59 sidebar: true comments: false diff --git a/source/_cookbook/automation_flashing_lights.markdown b/source/_cookbook/automation_flashing_lights.markdown index 5a55323eac..df14121307 100644 --- a/source/_cookbook/automation_flashing_lights.markdown +++ b/source/_cookbook/automation_flashing_lights.markdown @@ -97,14 +97,6 @@ script: service: homeassistant.turn_off data: entity_id: switch.REL1 - - alias: loop_room1 - service: script.turn_on - data: - entity_id: script.flash_loop - - flash_loop: - alias: Flash loop - sequence: - delay: # time for flash light off seconds: 1 diff --git a/source/_cookbook/automation_kodi_dynamic_input_select.markdown b/source/_cookbook/automation_kodi_dynamic_input_select.markdown index 9fc1bbd3f9..040d4f1284 100644 --- a/source/_cookbook/automation_kodi_dynamic_input_select.markdown +++ b/source/_cookbook/automation_kodi_dynamic_input_select.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples This requires a [Kodi](/components/media_player.kodi/) media player, and consists of commands that perform queries in the Kodi library, and a selection box (`input_select`) that shows the available options. By clicking the commands, the selection box is updated, and when selecting an option, Kodi plays the media. -Option filling is done in an [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) app, which listens for events that are triggered with the results of the Kodi JSONRPC API queries when scripts run. This application also listens to the selection box and calls the play media service with the corresponding parameters. +Option filling is done in an [AppDaemon](https://home-assistant.io/docs/ecosystem/appdaemon/tutorial/) app, which listens for events that are triggered with the results of the Kodi JSONRPC API queries when scripts run. This application also listens to the selection box and calls the play media service with the corresponding parameters. The media player yaml config: diff --git a/source/_cookbook/configuration_yaml_by_apocrathia.markdown b/source/_cookbook/configuration_yaml_by_apocrathia.markdown deleted file mode 100644 index 6ac2ccd329..0000000000 --- a/source/_cookbook/configuration_yaml_by_apocrathia.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by Apocrathia" -description: "" -date: 2018-05-02 12:40 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/Apocrathia/home-assistant-config/ ---- diff --git a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown b/source/_cookbook/configuration_yaml_by_greenturtwig.markdown index a5bc7c5b18..dcb11f8454 100644 --- a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown +++ b/source/_cookbook/configuration_yaml_by_greenturtwig.markdown @@ -8,6 +8,6 @@ comments: false sharing: true footer: true ha_category: Example configuration.yaml -ha_external_link: https://github.com/GreenTurtwig/personal-home-automation/blob/master/configuration.yaml +ha_external_link: https://github.com/GreenTurtwig/personal-home-automation/tree/master/Home%20Assistant --- diff --git a/source/_cookbook/configuration_yaml_by_gummientchen.markdown b/source/_cookbook/configuration_yaml_by_gummientchen.markdown deleted file mode 100644 index 3205562886..0000000000 --- a/source/_cookbook/configuration_yaml_by_gummientchen.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: page -title: "Configuration.yaml by Gummientchen" -description: "" -date: 2018-03-23 09:13 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Example configuration.yaml -ha_external_link: https://github.com/Gummientchen/Home-AssistantConfig ---- diff --git a/source/_cookbook/custom_panel_using_react.markdown b/source/_cookbook/custom_panel_using_react.markdown index e526487b0c..800f2f3378 100644 --- a/source/_cookbook/custom_panel_using_react.markdown +++ b/source/_cookbook/custom_panel_using_react.markdown @@ -20,7 +20,7 @@ This is a [React](https://facebook.github.io/react/) implementation of [TodoMVC] Download the source [here](https://github.com/home-assistant/example-custom-config/blob/master/panels/react.html). Copy the file to `/panels/` (you might have to create the directory if it doesn't exist). -Create an entry for the panel in your `configuration.yaml` file to enable it. +Create a entry for the panel in your `configuration.yaml` file to enable it. ```yaml panel_custom: diff --git a/source/_cookbook/dim_lights_when_playing_media.markdown b/source/_cookbook/dim_lights_when_playing_media.markdown index a53c90d9f0..e0c19c45d3 100644 --- a/source/_cookbook/dim_lights_when_playing_media.markdown +++ b/source/_cookbook/dim_lights_when_playing_media.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples Like it how the lights dim up/down at the movies? Do it at home as well! -This example uses the [media player](/components/media_player/), [lights](/components/light/) (transitions) and the [sun](/components/sun/) component. We'll use actions to detect media player state changes and [scenes](/components/scene/) to control multiple lights and transition between scenes. +This example uses the [media player](https://home-assistant.io/components/media_player/), [lights](https://home-assistant.io/components/light/) (transitions) and the [sun](https://home-assistant.io/components/sun/) component. We'll use actions to detect media player state changes and [scenes](https://home-assistant.io/components/scene/) to control multiple lights and transition between scenes. #### {% linkable_title Scenes %} One scene for normal light, one for when movies are on. A 2 second transition gives a nice 'feel' to the switch. diff --git a/source/_cookbook/sonos_say.markdown b/source/_cookbook/sonos_say.markdown index fd4b04b402..80a928d7a4 100644 --- a/source/_cookbook/sonos_say.markdown +++ b/source/_cookbook/sonos_say.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples #### {% linkable_title Sonos say script to speak with text-to-speech %} -This script allows you to use [TTS](/components/#text-to-speech) on Sonos. +This script allows you to use [TTS](https://home-assistant.io/components/#text-to-speech) on Sonos. ```yaml script: @@ -46,7 +46,7 @@ automation: trigger: - platform: state entity_id: input_boolean.mytest - action: + action: - service: script.sonos_say data: sonos_entity: media_player.office @@ -54,14 +54,3 @@ automation: message: 'Your husband coming home!' delay: '00:00:05' ``` -Note that this example uses the `voicerss` text-to-speech platform. There are many platforms that can be used. The one installed by default with Home Assistant is Google TTS. This appears in your `configuration.yaml` file as: - -``` - tts: - - platform: google -``` - -If you want to use this TTS engine, change the line in the example provided to: -``` -- service: tts.google_say -``` diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 13eca37354..b623f46b04 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples ### {% linkable_title iOS Devices %} -If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level. +If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the icon template option to create a dynamic icon that changes with the battery level. {% raw %} ```yaml @@ -21,6 +21,8 @@ sensor: sensors: battery_iphone: friendly_name: iPhone Battery + # "entity_id:" ensures that this sensor will only update when your device tracker does. + entity_id: device_tracker.iphone unit_of_measurement: '%' value_template: >- {%- if states.device_tracker.iphone.attributes.battery %} @@ -28,10 +30,21 @@ sensor: {% else %} {{ states.sensor.battery_iphone.state }} {%- endif %} - device_class: battery + icon_template: > + {% set battery_level = states.sensor.battery_iphone.state|default(0)|int %} + {% set battery_round = (battery_level / 10) |int * 10 %} + {% if battery_round >= 100 %} + mdi:battery + {% elif battery_round > 0 %} + mdi:battery-{{ battery_round }} + {% else %} + mdi:battery-alert + {% endif %} ``` {% endraw %} +The `else` part is used to have the sensor keep its last state if the newest [iCloud](/components/device_tracker.icloud/) update doesn't have any battery state in it (which happens sometimes). Otherwise the sensor will be blank. + ### {% linkable_title Android and iOS Devices %} While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks. @@ -44,6 +57,5 @@ sensor: name: "Battery Tablet" unit_of_measurement: "%" value_template: '{{ value_json.batt }}' - device_class: battery ``` {% endraw %} diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown index c5f3d7cbd7..fae79de927 100644 --- a/source/_docs/asterisk_mbox.markdown +++ b/source/_docs/asterisk_mbox.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Asterisk Voicemail Server Installation" -description: "Instructions on how to integrate your existing Asterisk voicemail within Home Assistant." +description: "Instructions how to integrate your existing Asterisk voicemail within Home Assistant." date: 2017-06-30 18:30 sidebar: true comments: false diff --git a/source/_docs/automation.markdown b/source/_docs/automation.markdown index e50db5d9bf..8eb4124183 100644 --- a/source/_docs/automation.markdown +++ b/source/_docs/automation.markdown @@ -47,12 +47,14 @@ State changes can be used as the source of triggers and the current state can be Actions are all about calling services. To explore the available services open the Services developer tool. Services allow to change anything. For example turn on a light, run a script or enable a scene. Each service has a domain and a name. For example the service `light.turn_on` is capable of turning on any light in your system. Services can be passed parameters to for example tell which device to turn on or what color to use. -You have to set an initial state in your automations in order for Home Assistant to enable them upon restart. +

+As of version 0.42 you have to set an initial state in your automations in order for Home Assistant to restore them upon restart. ```text -automation: - alias: Automation Name initial_state: True trigger: ... ``` + +

diff --git a/source/_docs/automation/action.markdown b/source/_docs/automation/action.markdown index 0df212be7c..ce9d7c9e05 100644 --- a/source/_docs/automation/action.markdown +++ b/source/_docs/automation/action.markdown @@ -22,12 +22,13 @@ automation: event: sunset action: service: light.turn_on + entity_id: + - light.kitchen + - light.living_room data: brightness: 150 rgb_color: [255, 0, 0] - entity_id: - - light.kitchen - - light.living_room + automation 2: # Notify me on my mobile phone of an event trigger: diff --git a/source/_docs/automation/condition.markdown b/source/_docs/automation/condition.markdown index cae9f96a97..78f396fa67 100644 --- a/source/_docs/automation/condition.markdown +++ b/source/_docs/automation/condition.markdown @@ -17,7 +17,6 @@ The available conditions for an automation are the same as for the script syntax Example of using condition: ```yaml -automation: - alias: 'Enciende Despacho' trigger: platform: state diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 31bced2ddb..b0f16e1445 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant, then you're all set! Go to the UI and enjoy. +In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant then you're all set! Go to the UI and enjoy. From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/components/sensor.random/). @@ -19,7 +19,7 @@ Choose a meaningful name for your automation rules.

-If the value of the sensor is greater than 10, then the automation rule should apply. +If the value of the sensor is greater than 10 then the automation rule should apply.

@@ -39,20 +39,18 @@ As "Service Data" we want a simple text that is shown as part of the notificatio } ``` -Don't forget to save your new automation rule. For your saved automation rule to come into effect, you will need to go to the **Configuration** page and click on **Reload Automation**. +Don't forget to save your new automation rule. In order for your saved automation rule to come into effect you will need to go to the **Configuration** page and click on **Reload Automation**. ## {% linkable_title Updating your configuration to use the editor %} -First, check that you have activated the configuration editor. +First check that you have activated the configuration editor. ```yaml # Activate the configuration editor config: ``` -The automation editor reads and writes to the file `automations.yaml` in the root of your [configuration](/docs/configuration/) folder. -Currently, both the name of this file and its location are fixed. -Make sure that you have set up the automation component to read from it: +The automation editor reads and writes to the file `automations.yaml` in your [configuration](/docs/configuration/) folder. Make sure that you have set up the automation component to read from it: ```yaml # Configuration.yaml example @@ -67,19 +65,9 @@ automation old: platform: ... ``` -You can use the `automation:` and `automation old:` sections at the same time: - - `automation old:` to keep your manual designed automations - - `automation:` to save the automation created by the online editor - -```yaml -automation: !include automations.yaml -automation old: !include_dir_merge_list automations -``` - - ## {% linkable_title Migrating your automations to `automations.yaml` %} -If you want to migrate your old automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over, you'll have to add an `id`. This can be any string as long as it's unique. +If you want to migrate your old automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over you'll have to add an `id`. This can be any string as long as it's unique. For example, the below automation will be triggered when the sun goes from below the horizon to above the horizon. Then, if the temperature is between 17 and 25 degrees, a light will be turned on. diff --git a/source/_docs/automation/examples.markdown b/source/_docs/automation/examples.markdown index 2e2ade256f..9e28e0b3e7 100644 --- a/source/_docs/automation/examples.markdown +++ b/source/_docs/automation/examples.markdown @@ -38,7 +38,6 @@ automation: after: '16:00:00' before: '23:00:00' action: - # With a single service call, we don't need a '-' before service - though you can if you want to service: homeassistant.turn_on entity_id: group.living_room @@ -77,9 +76,9 @@ automation: event_data: entity_id: binary_sensor.cube_158d000103a3de action: - service_template: notify.pushover - data_template: - title: "Cube event detected" - message: "Cube has triggered this event: {{ trigger.event }}" + - service_template: notify.pushover + data_template: + title: "Cube event detected" + message: "Cube has triggered this event: {{ trigger.event }}" ``` {% endraw %} diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 748ff6313d..140fd421ae 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -33,7 +33,7 @@ automation: ### {% linkable_title Home Assistant trigger %} -Triggers when Home Assistant starts up or shuts down. +Use this platform to trigger when Home Assistant starts up and shuts down. ```yaml automation: @@ -56,7 +56,7 @@ automation: ``` ### {% linkable_title Numeric state trigger %} -Triggers when numeric value of an entity's state crosses a given threshold. On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below or from below to above the given threshold. +On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below a threshold, or from below to above the given threshold. ```yaml automation: @@ -78,13 +78,12 @@ automation:

Listing above and below together means the numeric_state has to be between the two values. -In the example above, a numeric_state that goes to 17.1-24.9 (from 17 or below, or 25 or above) -would fire this trigger. +In the example above, a numeric_state that is 17.1-24.9 would fire this trigger.

### {% linkable_title State trigger %} -Triggers when the state of a given entity changes. If only entity_id is given trigger will activate for all state changes, even if only state attributes change. +Triggers when the state of tracked entities change. If only entity_id given will match all state changes, even if only state attributes change. ```yaml automation: @@ -108,7 +107,7 @@ automation:

### {% linkable_title Sun trigger %} -Triggers when the sun is setting or rising. An optional time offset can be given to have it trigger a set time before or after the sun event (i.e. 45 minutes before sunset, when dusk is setting in). +Trigger when the sun is setting or rising. An optional time offset can be given to have it trigger for example 45 minutes before sunset, when dusk is setting in. ```yaml automation: @@ -183,7 +182,7 @@ automation 3: ### {% linkable_title Zone trigger %} -Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/components/device_tracker.gpslogger/), the [OwnTracks platform](/components/device_tracker.owntracks/), and the [iCloud platform](/components/device_tracker.icloud/). +Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/) as well as the [iCloud platform](/components/device_tracker.icloud/). ```yaml automation: diff --git a/source/_docs/autostart.markdown b/source/_docs/autostart.markdown index 48ca9fb411..95e9608adc 100644 --- a/source/_docs/autostart.markdown +++ b/source/_docs/autostart.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Autostart Home Assistant" -description: "Instructions on how to setup Home Assistant to launch on start." +description: "Instructions how to setup Home Assistant to launch on start." date: 2015-9-1 22:57 sidebar: true comments: false diff --git a/source/_docs/autostart/macos.markdown b/source/_docs/autostart/macos.markdown index 56e6b27c3f..0a1b6ea134 100644 --- a/source/_docs/autostart/macos.markdown +++ b/source/_docs/autostart/macos.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Autostart on macOS" -description: "Instructions on how to setup Home Assistant to launch on Apple macOS." +description: "Instructions how to setup Home Assistant to launch on Apple macOS." date: 2015-9-1 22:57 sidebar: true comments: false diff --git a/source/_docs/autostart/synology.markdown b/source/_docs/autostart/synology.markdown index f19f15ab73..2d97b91e57 100644 --- a/source/_docs/autostart/synology.markdown +++ b/source/_docs/autostart/synology.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Autostart on Synology NAS boot" -description: "Instructions on how to setup Home Assistant to launch on boot on Synology NAS." +description: "Instructions how to setup Home Assistant to launch on boot on Synology NAS." date: 2015-9-1 22:57 sidebar: true comments: false diff --git a/source/_docs/autostart/systemd.markdown b/source/_docs/autostart/systemd.markdown index 17211e5ed9..e1e1b6b466 100644 --- a/source/_docs/autostart/systemd.markdown +++ b/source/_docs/autostart/systemd.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Autostart using systemd" -description: "Instructions on how to setup Home Assistant to launch on boot using systemd." +description: "Instructions how to setup Home Assistant to launch on boot using systemd." date: 2015-9-1 22:57 sidebar: true comments: false @@ -21,7 +21,7 @@ If the preceding command returns the string `systemd`, continue with the instruc A service file is needed to control Home Assistant with `systemd`. The template below should be created using a text editor. Note, root permissions via `sudo` will likely be needed. The following should be noted to modify the template: - `ExecStart` contains the path to `hass` and this may vary. Check with `whereis hass` for the location. -- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as (normally `homeassistant`). In particular, this is the case for Ubuntu 16.04. +- For most systems, the file is `/etc/systemd/system/home-assistant@[your user].service` with [your user] replaced by the user account that Home Assistant will run as (normally `homeassistant`). In particular, this is the case for Ubuntu 16.04. - If unfamiliar with command-line text editors, `sudo nano -w [filename]` can be used with `[filename]` replaced with the full path to the file. Ex. `sudo nano -w /etc/systemd/system/home-assistant@[your user].service`. After text entered, press CTRL-X then press Y to save and exit. - If you're running Home Assistant in a Python virtual environment or a Docker container, please skip to the appropriate template listed below. @@ -41,7 +41,7 @@ WantedBy=multi-user.target ### {% linkable_title Python virtual environment %} -If you've setup Home Assistant in `virtualenv` following our [Python installation guide](/getting-started/installation-virtualenv/) or [manual installation guide for Raspberry Pi](/getting-started/installation-raspberry-pi/), the following template should work for you. If Home Assistant install is not located at `/srv/homeassistant`, please modify the `ExecStart=` line appropriately. +If you've setup Home Assistant in `virtualenv` following our [Python installation guide](https://home-assistant.io/getting-started/installation-virtualenv/) or [manual installation guide for Raspberry Pi](https://home-assistant.io/getting-started/installation-raspberry-pi/), the following template should work for you. If Home Assistant install is not located at `/srv/homeassistant`, please modify the `ExecStart=` line appropriately. ``` [Unit] @@ -80,7 +80,7 @@ WantedBy=multi-user.target ### Next Steps -You need to reload `systemd` to make the daemon aware of the new configuration. +You need to reload `systemd` to make the daemon aware of the new configuration. ```bash $ sudo systemctl --system daemon-reload diff --git a/source/_docs/autostart/upstart.markdown b/source/_docs/autostart/upstart.markdown index c77660a84d..b627ab3806 100644 --- a/source/_docs/autostart/upstart.markdown +++ b/source/_docs/autostart/upstart.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Autostart using Upstart" -description: "Instructions on how to setup Home Assistant to launch on boot using Upstart." +description: "Instructions how to setup Home Assistant to launch on boot using Upstart." date: 2015-9-1 22:57 sidebar: true comments: false diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 2d0dc0f027..0b7a7138ca 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -11,8 +11,6 @@ footer: true When launched for the first time, Home Assistant will write a default configuration file enabling the web interface and device discovery. It can take up to a minute for your devices to be discovered and appear in the user interface. -The web interface can be found at `http://ip.ad.dre.ss:8123/` - for example if your Home Assistant system has the IP address `192.168.0.40` then you'll find the web interface as `http://192.168.0.40:8123/`. - The location of the folder differs between operating systems: | OS | Path | @@ -26,12 +24,12 @@ If you want to use a different folder for configuration, use the config command Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains components to be loaded with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable functionality.

- You will have to restart Home Assistant for most changes to `configuration.yaml` to take effect. You can load changes to [automations](/docs/automation/), [customize](/docs/configuration/customizing-devices/), [groups](/components/group/), and [scripts](/components/script/) without restarting. + You will have to restart Home Assistant for changes to `configuration.yaml` to take effect.

If you run into trouble while configuring Home Assistant, have a look at the [configuration troubleshooting page](/getting-started/troubleshooting-configuration/) and at the [configuration.yaml examples](/cookbook/#example-configurationyaml).

- Test any changes to your configuration files from the command line with `hass --script check_config`. This script allows you to test changes without the need to restart Home Assistant. Remember to run this as the user you run Home Assistant as. + Test any changes to your configuration files from the command line with `hass --script check_config`. This script allows you to test changes without the need to restart Home Assistant.

diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 3ac38b00a2..77e8359eba 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -28,7 +28,7 @@ Configuration variables: - **longitude** (*Optional*): Longitude of your location required to calculate the time the sun rises and sets. - **elevation** (*Optional*): Altitude above sea level in meters. Impacts weather/sunrise data. - **unit_system** (*Optional*): `metric` for Metric, `imperial` for Imperial. -- **time_zone** (*Optional*): Pick yours from here: [http://en.wikipedia.org/wiki/List_of_tz_database_time_zones](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) +- **time_zone** (*Optional*): Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones - **name** (*Optional*): Name of the location where Home Assistant is running. - **customize** (*Optional*): [Customize](/docs/configuration/customizing-devices/) entities. - **customize_domain** (*Optional*): [Customize](/docs/configuration/customizing-devices/) all entities in a domain. diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index a76c1ed2aa..71b8a2f561 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -71,15 +71,14 @@ homeassistant: ### {% linkable_title Device Class %} -Device class is currently supported by the following components: +Device class is currently supported by the following platforms: * [Binary Sensor](/components/binary_sensor/) -* [Sensor](/components/sensor/) * [Cover](/components/cover/) ### {% linkable_title Reloading customize %} -Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the service developer tool icon service developer tools, select the service `homeassistant.reload_core_config` and click "CALL SERVICE". +Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant/reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the service developer tool icon service developer tools, select the service `homeassistant/reload_core_config` and click "Call Service".

New customize information will be applied the next time the state of the entity gets updated. diff --git a/source/_docs/configuration/entity-registry.markdown b/source/_docs/configuration/entity-registry.markdown deleted file mode 100644 index 6c75ad8dfe..0000000000 --- a/source/_docs/configuration/entity-registry.markdown +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: page -title: "Entity Registry" -description: "The entity registry contains." -date: 2016-04-20 06:00 -sidebar: true -comments: false -sharing: true -footer: true ---- - -

-This is a new and experimental feature of Home Assistant. -

- -Starting with version 0.63, Home Assistant keeps a registry of known entities. -The entity registry makes sure that entities get unique identifiers and allow -customizing the identifiers and names of these entities. - -As this is still a very new part of Home Assistant, changes will require a -restart of Home Assistant to take effect. A config user interface will be added -in a future version. - -

-An entity needs to have a unique ID to be registered in the entity registry. -Not all integrations currently provide a unique id for their entities. -

- -The entity registry is stored in `/entity_registry.yaml`. As a user, -you are unable to add entries, only update them. Here is an example file: - -``` -climate.downstairs_virtual: - platform: nest - unique_id: EPoMyWkpNyoYu3pGlmGxabcdefghijkl - name: Downstairs thermostat -light.study_ceiling: - platform: hue - unique_id: f0:fe:6b:00:14:00:00:00-00 - disabled_by: user -``` - -As a user, you can change the `entity_id` and add the `name` and `disabled_by` -value to each entry. - - - The value of `name` will override the name of the entity as given by the - integration. - - _Added in Home Assistant 0.64._ - - The key `disabled_by` can either be `hass` or `user`. This functionality - is even more experimental than the whole entity registry itself and might - cause integrations to fail and might be removed in the future. - - _Added in Home Assistant 0.64._ - -{% linkable_title Supported Components %} - -At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown index ff0bcd3514..6ad5aa152d 100644 --- a/source/_docs/configuration/events.markdown +++ b/source/_docs/configuration/events.markdown @@ -17,10 +17,6 @@ Home Assistant contains a few built-in events that are used to coordinate betwee ### {% linkable_title Event `homeassistant_start` %} Event `homeassistant_start` is fired when all components from the configuration have been intitialized. This is the event that will start the timer firing off `time_changed` events. -

- Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' [platform](/docs/automation/trigger) instead. -

- ### {% linkable_title Event `homeassistant_stop` %} Event `homeassistant_stop` is fired when Home Assistant is shutting down. It should be used to close any open connection or release any resources. diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown index 0ea062deb9..acd352a07d 100644 --- a/source/_docs/configuration/group_visibility.markdown +++ b/source/_docs/configuration/group_visibility.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Group Visibility" -description: "Instructions on how to change group visibility using automations." +description: "Instructions how to change group visibility using automations." date: 2016-10-29 13:00 sidebar: true comments: false diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 7c95fa719e..7e5016be99 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -10,9 +10,9 @@ footer: true redirect_from: /topics/packages/ --- -Packages in Home Assistant provides a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). +Packages in Home Assistant provides a way to bundle different component's configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or parts of configuration using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). -Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a package name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: +Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: ```yaml homeassistant: @@ -22,7 +22,7 @@ homeassistant: ...package configuration here... ``` -The package configuration can include: `switch`, `light`, `automation`, `groups`, or most other Home Assistant components. +The package configuration can include: `switch`, `light`, `automation`, `groups` or the majority of the Home Assistant components. It can be specified inline or in a separate YAML file using `!include`. @@ -63,7 +63,7 @@ light: There are some rules for packages that will be merged: -1. Component names may only use the basic form (e.g., `switch`, but not `switch 1` or `switch aa`). +1. Component names may only use the basic form (e.g. `switch`, but not `switch 1` or `switch aa`). 2. Platform based components (`light`, `switch`, etc) can always be merged. 3. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file. @@ -81,7 +81,7 @@ Components inside packages can only specify platform entries using configuration ### {% linkable_title Create a packages folder %} -One way to organize packages is to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your `configuration.yaml` will load all packages: +One way to organize packages would be to create a folder named "packages" in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your `configuration.yaml` will load all packages: ```yaml homeassistant: diff --git a/source/_docs/configuration/remote.markdown b/source/_docs/configuration/remote.markdown index a323ff1c98..bd0d0ba60b 100644 --- a/source/_docs/configuration/remote.markdown +++ b/source/_docs/configuration/remote.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /getting-started/basic/#remote-access --- If you're interested in logging in to Home Assistant while away, you'll have to make your instance remotely accessible. Remember to follow the [securing checklist](/docs/configuration/securing/) before doing this. @@ -15,7 +16,7 @@ The most common approach is to set up port forwarding from your router to port 8 A problem with making a port accessible is that some Internet Service Providers only offer dynamic IPs. This can cause you to lose access to Home Assistant while away. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/). -Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post, or this [detailed guide](/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with HA. +Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the [set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post, or this [detailed guide](https://home-assistant.io/docs/ecosystem/certificates/lets_encrypt/) to using Let's Encrypt with HA. Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/) between your client and the Home Assistant instance. diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown index fa6e91f8d3..24ec0aa4f0 100644 --- a/source/_docs/configuration/securing.markdown +++ b/source/_docs/configuration/securing.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Securing" -description: "Instructions on how to secure your Home Assistant installation." +description: "Instructions how to secure your Home Assistant installation." date: 2016-10-06 06:00 sidebar: true comments: false @@ -14,10 +14,10 @@ One major advantage of Home Assistant is that it's not dependent on cloud servic ### {% linkable_title Checklist %} -- [Protect your web interface with a password](/getting-started/basic/#password-protecting-the-web-interface) +- [Protect your web interface with a password](https://home-assistant.io/getting-started/basic/#password-protecting-the-web-interface) - Secure your host. Sources could be [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf), or the [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html). - Restrict network access to your devices. Set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. -- Don't run Home Assistant as root – consider the Principle of Least Privilege. +- Don't run Home Assistant as root – consider the Principle of Least Privilege. - Keep your [secrets](/topics/secrets/) safe. If you want to allow remote access, consider these additional points: diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index ec0d021ea5..3a1a9b6e53 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -10,9 +10,9 @@ footer: true redirect_from: /topics/splitting_configuration/ --- -So you've been using Home Assistant for a while now and your [configuration.yaml file brings people to tears](/cookbook/configuration_yaml_from_bassclarinetl2/) or you simply want to start off with the distributed approach, here's how to "split the configuration.yaml" into more manageable (read: humanly readable) pieces. +So you've been using Home Assistant for a while now and your [configuration.yaml file brings people to tears](https://home-assistant.io/cookbook/configuration_yaml_from_bassclarinetl2/) or you simply want to start off with the distributed approach, here's how to "split the configuration.yaml" into more manageable (read: humanly readable) pieces. -First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](/cookbook/#example-configurationyaml). +First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](https://home-assistant.io/cookbook/#example-configurationyaml). As commenting code doesn't always happen, please read on for the details. diff --git a/source/_docs/configuration/state_object.markdown b/source/_docs/configuration/state_object.markdown index fdb99ea075..c9ee1f9403 100644 --- a/source/_docs/configuration/state_object.markdown +++ b/source/_docs/configuration/state_object.markdown @@ -37,7 +37,7 @@ Attribute | Description `icon` | Icon to use for the entity in the frontend. Example: `mdi:home`. `hidden` | Boolean if the entity should not be shown in the frontend. Example: `true`. `entity_picture` | URL to a picture that should be used instead of showing the domain icon. Example: `http://example.com/picture.jpg`. -`assumed_state` | Boolean if the current state is an assumption. [More info](/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) Example: `True`. +`assumed_state` | Boolean if the current state is an assumption. [More info](https://home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) Example: `True`. `unit_of_measurement` | The unit of measurement the state is expressed in. Used for grouping graphs or understanding the entity. Example: `°C`. When an attribute contains spaces, you can retrieve it like this: `states.sensor.livingroom.attributes["Battery numeric"]`. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index dfcd8bddce..a0d56a158a 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Templating" -description: "Instructions on how to use the templating feature of Home Assistant." +description: "Instructions how to use the templating feature of Home Assistant." date: 2015-12-12 12:00 sidebar: true comments: false @@ -43,13 +43,12 @@ script: msg_who_is_home: sequence: - service: notify.notify - data_template: - message: > - {% raw %}{% if is_state('device_tracker.paulus', 'home') %} - Ha, Paulus is home! - {% else %} - Paulus is at {{ states('device_tracker.paulus') }}. - {% endif %}{% endraw %} + message: > + {% raw %}{% if is_state('device_tracker.paulus', 'home') %} + Ha, Paulus is home! + {% else %} + Paulus is at {{ states('device_tracker.paulus') }}. + {% endif %}{% endraw %} ``` [Jinja2](http://jinja.pocoo.org/) supports a wide variety of operations: @@ -68,7 +67,6 @@ Home Assistant adds extensions to allow templates to access all of the current s - `states.sensor.temperature` returns the state object for `sensor.temperature`. - `states('device_tracker.paulus')` will return the state string (not the object) of the given entity or `unknown` if it doesn't exist. - `is_state('device_tracker.paulus', 'home')` will test if the given entity is specified state. -- `state_attr('device_tracker.paulus', 'battery')` will return the value of the attribute or None if it doesn't exist. - `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity is specified state. - `now()` will be rendered as current time in your time zone. - For specific values: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` @@ -80,25 +78,14 @@ Home Assistant adds extensions to allow templates to access all of the current s - `float` will format the output as float. - `strptime(string, format)` will parse a string to a datetime based on a [format][strp-format]. - `log(value, base)` will take the logarithm of the input. When the base is omitted, it defaults to `e` - the natural logarithm. Can also be used as a filter. -- `sin(value)` will return the sine of the input. Can be used as a filter. -- `cos(value)` will return the cosine of the input. Can be used as a filter. -- `tan(value)` will return the tangent of the input. Can be used as a filter. -- `sqrt(value)` will return the square root of the input. Can be used as a filter. -- `e` mathematical constant, approximately 2.71828. -- `pi` mathematical constant, approximately 3.14159. -- `tau` mathematical constant, approximately 6.28318. - Filter `round(x)` will convert the input to a number and round it to `x` decimals. - Filter `timestamp_local` will convert an UNIX timestamp to local time/data. - Filter `timestamp_utc` will convert an UNIX timestamp to UTC time/data. - Filter `timestamp_custom(format_string, local_boolean)` will convert an UNIX timestamp to a custom format, the use of a local timestamp is default, supporting [Python format options](https://docs.python.org/3/library/time.html#time.strftime). -- Filter `max` will obtain the largest item in a sequence. +- Filter `max` will obtain the larget item in a sequence. - Filter `min` will obtain the smallest item in a sequence. -- Filter `regex_match(string, find, ignorecase=FALSE)` will match the find expression at the beginning of the string using regex. -- Filter `regex_search(string, find, ignorecase=FALSE)` will match the find expression anywhere in the string using regex. -- Filter `regex_replace(string, find='', replace='', ignorecase=False)` will replace the find expression with the replace string using regex. -- Filter `regex_findall_index(string, find='', index=0, ignorecase=False)` will find all regex matches of find in string and return the match at index (findall returns an array of matches). -[strp-format]: https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior +[strp-format]: https://docs.python.org/3.4/library/datetime.html#strftime-and-strptime-behavior

If your template uses an `entity_id` that begins with a number (example: `states.device_tracker.2008_gmc`) you must use a bracket syntax to avoid errors caused by rendering the `entity_id` improperly. In the example given, the correct syntax for the device tracker would be: `states.device_tracker['2008_gmc']` @@ -126,7 +113,7 @@ The next two statements result in same value if state exists. The second one wil ### {% linkable_title Attributes %} -Print an attribute if state is defined. Both will return the same thing but the last one you can specify entity_id from a variable. +Print an attribute if state is defined ```text {% raw %}{% if states.device_tracker.paulus %} @@ -136,18 +123,6 @@ Print an attribute if state is defined. Both will return the same thing but the {% endif %}{% endraw %} ``` -With strings - -```text -{% raw %}{% set tracker_name = "paulus"%} - -{% if states("device_tracker." + tracker_name) != "unknown" %} - {{ state_attr("device_tracker." + tracker_name, "battery")}} -{% else %} - ?? -{% endif %}{% endraw %} -``` - ### {% linkable_title Sensor states %} Print out a list of all the sensor states. @@ -281,10 +256,6 @@ The following overview contains a couple of options to get the needed values: {% raw %}{{ float(value_json) * (2**10) }}{% endraw %} {% raw %}{{ value_json | log }}{% endraw %} {% raw %}{{ log(1000, 10) }}{% endraw %} -{% raw %}{{ sin(pi / 2) }}{% endraw %} -{% raw %}{{ cos(tau) }}{% endraw %} -{% raw %}{{ tan(pi) }}{% endraw %} -{% raw %}{{ sqrt(e) }}{% endraw %} # Timestamps {% raw %}{{ value_json.tst | timestamp_local }}{% endraw %} diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown index 0d867a2622..f1b88fe876 100644 --- a/source/_docs/configuration/troubleshooting.markdown +++ b/source/_docs/configuration/troubleshooting.markdown @@ -20,7 +20,7 @@ Whenever a component or configuration option results in a warning, it will be st When a component does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your component you are trying to set up. -If you have incorrect entries in your configuration files you can use the [`check_config`](/docs/tools/check_config/) script to assist in identifying them: `hass --script check_config`. If you need to provide the path for your configuration you can do this using the `-c` argument like this: `hass --script check_config -c /path/to/your/config/dir`. +If you have incorrect entries in your configuration files you can use the `check_config` script to assist in identifying them: `hass --script check_config`. #### {% linkable_title Problems with the configuration %} diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 68503dab96..9398ec30bd 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -93,15 +93,3 @@ lights: !include lights.yaml ``` More information about this feature can also be found at [splitting configuration](/docs/configuration/splitting_configuration/). - -## {% linkable_title Common Issues %} - -### {% linkable_title found character '\t' %} - -If you see the following message: - -``` -found character '\t' that cannot start any token -``` - -This means that you've mistakenly entered a tab character, instead of spaces. diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown index 92c27eb51a..ae0c192511 100644 --- a/source/_docs/ecosystem/apache.markdown +++ b/source/_docs/ecosystem/apache.markdown @@ -35,10 +35,10 @@ To be able to access to your Home Assistant instance by using https://home.examp ServerName home.example.org ProxyPreserveHost On ProxyRequests off - ProxyPass /api/websocket ws://localhost:8123/api/websocket - ProxyPassReverse /api/websocket ws://localhost:8123/api/websocket ProxyPass / http://localhost:8123/ ProxyPassReverse / http://localhost:8123/ + ProxyPass /api/websocket ws://localhost:8123/api/websocket + ProxyPassReverse /api/websocket ws://localhost:8123/api/websocket RewriteEngine on RewriteCond %{HTTP:Upgrade} =websocket [NC] diff --git a/source/_docs/ecosystem/appdaemon.markdown b/source/_docs/ecosystem/appdaemon.markdown index f327433108..76edbc1dd5 100755 --- a/source/_docs/ecosystem/appdaemon.markdown +++ b/source/_docs/ecosystem/appdaemon.markdown @@ -76,7 +76,7 @@ class FlashyMotionLights(appapi.AppDaemon): This is starting to get a little more complex in Home Assistant automations, requiring an automation rule and two separate scripts. -Now let's extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Let's warn someone inside the house that there has been motion outside by flashing a lamp on and off ten times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1-second timer to run `flash_warning()`, which, when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bails out after ten iterations. +Now let's extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Let's warn someone inside the house that there has been motion outside by flashing a lamp on and off ten times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1-second timer to run `flash_warning()`, which, when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bales out after ten iterations. ```python import appdaemon.appapi as appapi diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index 923505b262..48c8d994ba 100755 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -39,7 +39,7 @@ There are several circumstances under which `initialize()` might be called: - Following a change in the status of Daylight Savings Time - Following a restart of Home Assistant -In every case, the App is responsible for recreating any state it might need as if it were the first time it was ever started. If `initialize()` is called, the app can safely assume that it is either being loaded for the first time, or that all callbacks and timers have been canceled. In either case, the APP will need to recreate them. Depending upon the application it may be desirable for the App to establish state such as whether or not a particular light is on, within the `initialize()` function to ensure that everything is as expected or to make immediate remedial action (e.g., turn off a light that might have been left on by mistake when the app was restarted). +In every case, the App is responsible for recreating any state it might need as if it were the first time it was ever started. If `initialize()` is called, the app can safely assume that it is either being loaded for the first time, or that all callbacks and timers have been canceled. In either case, the APP will need to recreate them. Depending upon the application it may be desirable for the App to establish state such as whether or not a particular light is on, within the `initialize()` function to ensure that everything is as expected or to make immediate remedial action (e.g. turn off a light that might have been left on by mistake when the app was restarted). After the `initialize()` function is in place, the rest of the app consists of functions that are called by the various callback mechanisms, and any additional functions the user wants to add as part of the program logic. Apps are able to subscribe to 2 main classes of events: @@ -150,7 +150,7 @@ light = light.garage ## {% linkable_title Callback Constraints %} -Callback constraints are a feature of AppDaemon that removes the need for repetition of some common coding checks. Many Apps will wish to process their callbacks only when certain conditions are met, e.g., someone is home, and it's after sunset. These kinds of conditions crop up a lot, and use of callback constraints can significantly simplify the logic required within callbacks. +Callback constraints are a feature of AppDaemon that removes the need for repetition of some common coding checks. Many Apps will wish to process their callbacks only when certain conditions are met, e.g. someone is home, and it's after sunset. These kinds of conditions crop up a lot, and use of callback constraints can significantly simplify the logic required within callbacks. Put simply, callback constraints are one or more conditions on callback execution that can be applied to an individual App. An App's callbacks will only be executed if all of the constraints are met. If a constraint is absent it will not be checked for. @@ -194,7 +194,7 @@ constrain_input_boolean = input_boolean.enable_motion_detection,off ``` ### {% linkable_title input_select %} -The input_select constraint prevents callbacks unless the specified input_select is set to one or more of the nominated (comma separated) values. This is useful to allow certain Apps to be turned on and off according to some flag, e.g., a house mode flag. +The input_select constraint prevents callbacks unless the specified input_select is set to one or more of the nominated (comma separated) values. This is useful to allow certain Apps to be turned on and off according to some flag, e.g. a house mode flag. ```ini # Single value @@ -272,7 +272,7 @@ Any other attributes such as brightness for a lamp will only be present if the e Also bear in mind that some attributes such as brightness for a light, will not be present when the light is off. -In most cases, the attribute `state` has the most important value in it, e.g., for a light or switch this will be `on` or `off`, for a sensor it will be the value of that sensor. Many of the AppDaemon API calls and callbacks will implicitly return the value of state unless told to do otherwise. +In most cases, the attribute `state` has the most important value in it, e.g. for a light or switch this will be `on` or `off`, for a sensor it will be the value of that sensor. Many of the AppDaemon API calls and callbacks will implicitly return the value of state unless told to do otherwise. ### {% linkable_title get_state() %} @@ -294,9 +294,9 @@ All parameters are optional, and if `get_state()` is called with no parameters i ##### {% linkable_title entity %} -This is the name of an entity or device type. If just a device type is provided, e.g., `light` or `binary_sensor`, `get_state()` will return a dictionary of all devices of that type, indexed by the entity_id, containing all the state for each entity. +This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `get_state()` will return a dictionary of all devices of that type, indexed by the entity_id, containing all the state for each entity. -If a fully qualified `entity_id` is provided, `get_state()` will return the state attribute for that entity, e.g., `on` or `off` for a light. +If a fully qualified `entity_id` is provided, `get_state()` will return the state attribute for that entity, e.g. `on` or `off` for a light. ##### {% linkable_title attribute %} @@ -345,11 +345,11 @@ set_state(entity_id, **kwargs) ##### {% linkable_title entity_id %} -Entity id for which the state is to be set, e.g., `light.office_1`. +Entity id for which the state is to be set, e.g. `light.office_1`. ##### {% linkable_title values %} -A list of keyword values to be changed or added to the entities state. e.g., `state = "off"`. Note that any optional attributes such as colors for bulbs etc, need to reside in a dictionary called `attributes`; see the example. +A list of keyword values to be changed or added to the entities state. e.g. `state = "off"`. Note that any optional attributes such as colors for bulbs etc, need to reside in a dictionary called `attributes`; see the example. #### {% linkable_title Examples %} @@ -461,7 +461,7 @@ handle = listen_state(callback, entity = None, **kwargs) #### {% linkable_title Returns %} -A unique identifier that can be used to cancel the callback if required. Since variables created within object methods are local to the function they are created in, and in all likelihood the cancellation will be invoked later in a different function, it is recommended that handles are stored in the object namespace, e.g., `self.handle`. +A unique identifier that can be used to cancel the callback if required. Since variables created within object methods are local to the function they are created in, and in all likelihood the cancellation will be invoked later in a different function, it is recommended that handles are stored in the object namespace, e.g. `self.handle`. #### {% linkable_title Parameters %} @@ -473,9 +473,9 @@ Function to be invoked when the requested state change occurs. It must conform t ##### {% linkable_title entity %} -This is the name of an entity or device type. If just a device type is provided, e.g., `light` or `binary_sensor`, `listen_state()` will subscribe to state changes of all devices of that type. If a fully qualified `entity_id` is provided, `listen_state()` will listen for state changes for just that entity. +This is the name of an entity or device type. If just a device type is provided, e.g. `light` or `binary_sensor`, `listen_state()` will subscribe to state changes of all devices of that type. If a fully qualified `entity_id` is provided, `listen_state()` will listen for state changes for just that entity. -When called, AppDaemon will supply the callback function, in old and new, with the state attribute for that entity, e.g., `on` or `off` for a light. +When called, AppDaemon will supply the callback function, in old and new, with the state attribute for that entity, e.g. `on` or `off` for a light. ##### {% linkable_title attribute (optional) %} @@ -949,11 +949,11 @@ All of the scheduler calls above support 2 additional optional arguments, `rando For example: ```python -# Run a callback in 2 minutes minus a random number of seconds between 0 and 60, e.g., run between 60 and 120 seconds from now +# Run a callback in 2 minutes minus a random number of seconds between 0 and 60, e.g. run between 60 and 120 seconds from now self.handle = self.run_in(callback, 120, random_start = -60, **kwargs) -# Run a callback in 2 minutes plus a random number of seconds between 0 and 60, e.g., run between 120 and 180 seconds from now +# Run a callback in 2 minutes plus a random number of seconds between 0 and 60, e.g. run between 120 and 180 seconds from now self.handle = self.run_in(callback, 120, random_end = 60, **kwargs) -# Run a callback in 2 minutes plus or minus a random number of seconds between 0 and 60, e.g., run between 60 and 180 seconds from now +# Run a callback in 2 minutes plus or minus a random number of seconds between 0 and 60, e.g. run between 60 and 180 seconds from now self.handle = self.run_in(callback, 120, random_start = -60, random_end = 60, **kwargs) ``` @@ -1150,11 +1150,11 @@ None ##### {% linkable_title service %} -The service name, e.g., `light.turn_on`. +The service name, e.g. `light.turn_on`. ##### {% linkable_title \*\*kwargs %} -Each service has different parameter requirements. This argument allows you to specify a comma separated list of keyword value pairs, e.g., `entity_id = light.office_1`. These parameters will be different for every service and can be discovered using the developer tools. Most if not all service calls require an `entity_id` however, so use of the above example is very common with this call. +Each service has different parameter requirements. This argument allows you to specify a comma separated list of keyword value pairs, e.g. `entity_id = light.office_1`. These parameters will be different for every service and can be discovered using the developer tools. Most if not all service calls require an `entity_id` however, so use of the above example is very common with this call. #### {% linkable_title Examples %} @@ -1187,7 +1187,7 @@ None ##### {% linkable_title entity_id %} -Fully qualified entity_id of the thing to be turned on, e.g., `light.office_lamp` or ```scene.downstairs_on``` +Fully qualified entity_id of the thing to be turned on, e.g. `light.office_lamp` or ```scene.downstairs_on``` ##### {% linkable_title \*\*kwargs %} @@ -1219,7 +1219,7 @@ None ##### {% linkable_title entity_id %} -Fully qualified entity_id of the thing to be turned off, e.g., `light.office_lamp` or `scene.downstairs_on`. +Fully qualified entity_id of the thing to be turned off, e.g. `light.office_lamp` or `scene.downstairs_on`. #### {% linkable_title Examples %} @@ -1246,7 +1246,7 @@ None ##### {% linkable_title entity_id %} -Fully qualified entity_id of the thing to be toggled, e.g., `light.office_lamp` or `scene.downstairs_on`. +Fully qualified entity_id of the thing to be toggled, e.g. `light.office_lamp` or `scene.downstairs_on`. #### {% linkable_title Examples %} @@ -1273,7 +1273,7 @@ None ##### {% linkable_title entity_id %} -Fully qualified entity_id of the input_number to be changed, e.g., `input_number.alarm_hour`. +Fully qualified entity_id of the input_number to be changed, e.g. `input_number.alarm_hour`. ##### {% linkable_title value %} @@ -1303,7 +1303,7 @@ None ##### {% linkable_title entity_id %} -Fully qualified entity_id of the input_select to be changed, e.g., `input_select.mode`. +Fully qualified entity_id of the input_select to be changed, e.g. `input_select.mode`. ##### {% linkable_title value %} @@ -1385,7 +1385,7 @@ A standard Python object reference. #### {% linkable_title event_name %} -Name of the event that was called, e.g., `call_service`. +Name of the event that was called, e.g. `call_service`. #### {% linkable_title data %} @@ -1422,7 +1422,7 @@ Name of the event to subscribe to. Can be a standard Home Assistant event such a One or more keyword value pairs representing App specific parameters to supply to the callback. If the keywords match values within the event data, they will act as filters, meaning that if they don't match the values, the callback will not fire. -As an example of this, a Minimote controller when activated will generate an event called `zwave.scene_activated`, along with 2 pieces of data that are specific to the event - `entity_id` and `scene`. If you include keyword values for either of those, the values supplied to the `listen_event()` call must match the values in the event or it will not fire. If the keywords do not match any of the data in the event they are simply ignored. +As an example of this, a Minimote controller when activated will generate an event called `zwave.scene_activated`, along with 2 pieces of data that are specific to the event - `entity_id` and `scene`. If you include keyword values for either of those, the values supplied to the `listen_event()1 call must match the values in the event or it will not fire. If the keywords do not match any of the data in the event they are simply ignored. Filtering will work with any event type, but it will be necessary to figure out the data associated with the event to understand what values can be filtered on. This can be achieved by examining Home Assistant's logfiles when the event fires. @@ -1528,7 +1528,7 @@ def service(self, event_name, data): #### {% linkable_title event_name %} -The name of the event that caused the callback, e.g., `"MODE_CHANGE"` or `call_service`. +The name of the event that caused the callback, e.g. `"MODE_CHANGE"` or `call_service`. #### {% linkable_title data %} @@ -1617,7 +1617,7 @@ A string representing the location of the tracker. ##### {% linkable_title tracker_id %} -Fully qualified entity_id of the device tracker to query, e.g., `device_tracker.andrew`. +Fully qualified entity_id of the device tracker to query, e.g. `device_tracker.andrew`. #### {% linkable_title Examples %} @@ -1871,7 +1871,7 @@ self.log("{} ({}) is {}".format(tracker, self.friendly_name(tracker), self.get_ ### {% linkable_title split_entity() %} -`split_entity()` will take a fully qualified entity id of the form `light.hall_light` and split it into 2 values, the device and the entity, e.g., `light` and `hall_light`. +`split_entity()` will take a fully qualified entity id of the form `light.hall_light` and split it into 2 values, the device and the entity, e.g. `light` and `hall_light`. #### {% linkable_title Synopsis %} @@ -1925,7 +1925,7 @@ MyApp.turn_light_on() ### {% linkable_title split_device_list() %} -`split_device_list()` will take a comma separated list of device types (or anything else for that matter) and return them as an iterable list. This is intended to assist in use cases where the App takes a list of entities from an argument, e.g., a list of sensors to monitor. If only one entry is provided, an iterable list will still be returned to avoid the need for special processing. +`split_device_list()` will take a comma separated list of device types (or anything else for that matter) and return them as an iterable list. This is intended to assist in use cases where the App takes a list of entities from an argument, e.g. a list of sensors to monitor. If only one entry is provided, an iterable list will still be returned to avoid the need for special processing. #### {% linkable_title Synopsis %} @@ -1941,7 +1941,7 @@ A list of split devices with 1 or more entries. ```python for sensor in self.split_device_list(self.args["sensors"]): - do something for each sensor, e.g., make a state subscription + do something for each sensor, e.g. make a state subscription ``` diff --git a/source/_docs/ecosystem/appdaemon/tutorial.markdown b/source/_docs/ecosystem/appdaemon/tutorial.markdown index 28f325dfa0..6a9998bced 100755 --- a/source/_docs/ecosystem/appdaemon/tutorial.markdown +++ b/source/_docs/ecosystem/appdaemon/tutorial.markdown @@ -12,7 +12,7 @@ redirect_from: /ecosystem/appdaemon/tutorial/ ## {% linkable_title Another Take on Automation %} -If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". +If you haven't yet read Paulus' excellent Blog entry on [Perfect Home Automation](https://home-assistant.io/blog/2016/01/19/perfect-home-automation/) I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the "Automation" in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the "Internet of Things". So given the importance of Automation, what should Automation allow us to do? I am a pragmatist at heart so I judge individual systems by the ease of accomplishing a few basic but representative tasks: @@ -29,7 +29,7 @@ So why `AppDaemon`? AppDaemon is not meant to replace Home Assistant Automations - New paradigm - some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations can't - Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible, experienced Python programmers should feel right at home. -- Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g., a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file +- Reuse - write a piece of code once and instantiate it as an app as many times as you need with different parameters e.g. a motion light program that you can use in 5 different places around your home. The code stays the same, you just dynamically add new instances of it in the config file - Dynamic - AppDaemon has been designed from the start to enable the user to make changes without requiring a restart of Home Assistant, thanks to its loose coupling. However, it is better than that - the user can make changes to code and AppDaemon will automatically reload the code, figure out which Apps were using it and restart them to use the new code with out the need to restart `AppDaemon` itself. It is also possible to change parameters for an individual or multiple apps and have them picked up dynamically, and for a final trick, removing or adding apps is also picked up dynamically. Testing cycles become a lot more efficient as a result. - Complex logic - Python's If/Else constructs are clearer and easier to code for arbitrarily complex nested logic - Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened @@ -43,38 +43,22 @@ The best way to show what AppDaemon does is through a few simple examples. ### {% linkable_title Sunrise/Sunset Lighting %} -Lets start with a simple App to turn a light on every night fifteen -minutes (900 seconds) before sunset and off every morning at sunrise. -Every App when first started will have its ``initialize()`` function -called which gives it a chance to register a callback for AppDaemons's -scheduler for a specific time. In this case we are using -`run_at_sunrise()` and `run_at_sunset()` to register 2 separate -callbacks. The named argument `offset` is the number of seconds offset -from sunrise or sunset and can be negative or positive (it defaults to -zero). For complex intervals it can be convenient to use Python's -`datetime.timedelta` class for calculations. In the example below, -when sunrise or just before sunset occurs, the appropriate callback -function, `sunrise_cb()` or `before_sunset_cb()` is called which -then makes a call to Home Assistant to turn the porch light on or off by -activating a scene. The variables `args["on_scene"]` and -`args["off_scene"]` are passed through from the configuration of this -particular App, and the same code could be reused to activate completely -different scenes in a different version of the App. +Lets start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its `initialize()` function called which gives it a chance to register a callback for AppDaemons's scheduler for a specific time. In this case we are using `run_at_sunrise()` and `run_at_sunset()` to register 2 separate callbacks. The argument `0` is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals it can be convenient to use Python's `datetime.timedelta` class for calculations. When sunrise or sunset occurs, the appropriate callback function, `sunrise_cb()` or `sunset_cb()` is called which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables `args["on_scene"]` and `args["off_scene"]` are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App. ```python - import appdaemon.plugins.hass.hassapi as hass +import homeassistant.appapi as appapi - class OutsideLights(hass.Hass): +class OutsideLights(appapi.AppDaemon): - def initialize(self): - self.run_at_sunrise(self.sunrise_cb) - self.run_at_sunset(self.before_sunset_cb, offset=-900) + def initialize(self): + self.run_at_sunrise(self.sunrise_cb, 0) + self.run_at_sunset(self.sunset_cb, 0) + + def sunrise_cb(self, kwargs): + self.turn_on(self.args["off_scene"]) - def sunrise_cb(self, kwargs): - self.turn_on(self.args["off_scene"]) - - def before_sunset_cb(self, kwargs): - self.turn_on(self.args["on_scene"]) + def sunset_cb(self, kwargs): + self.turn_on(self.args["on_scene"]) ``` @@ -91,12 +75,12 @@ class FlashyMotionLights(appapi.AppDaemon): def initialize(self): self.listen_state(self.motion, "binary_sensor.drive", new = "on") - + def motion(self, entity, attribute, old, new, kwargs): if self.sun_down(): self.turn_on("light.drive") self.run_in(self.light_off, 60) - + def light_off(self, kwargs): self.turn_off("light.drive") ``` @@ -112,17 +96,17 @@ class MotionLights(appapi.AppDaemon): def initialize(self): self.listen_state(self.motion, "binary_sensor.drive", new = "on") - + def motion(self, entity, attribute, old, new, kwargs): if self.self.sun_down(): self.turn_on("light.drive") self.run_in(self.light_off, 60) self.flashcount = 0 self.run_in(self.flash_warning, 1) - + def light_off(self, kwargs): self.turn_off("light.drive") - + def flash_warning(self, kwargs): self.toggle("light.living_room") self.flashcount += 1 @@ -138,7 +122,7 @@ I have spent the last few weeks moving all of my (fairly complex) automations ov Some people will maybe look at all of this and say "what use is this, I can already do all of this", and that is fine, as I said this is an alternative not a replacement, but I am hopeful that for some users this will seem a more natural, powerful and nimble way of building potentially very complex automations. -If this has whet your appetite, feel free to give it a try. +If this has whet your appetite, feel free to give it a try. Happy Automating! diff --git a/source/_docs/ecosystem/backup/backup_dropbox.markdown b/source/_docs/ecosystem/backup/backup_dropbox.markdown index 6baa2cbc9a..e0d7336899 100644 --- a/source/_docs/ecosystem/backup/backup_dropbox.markdown +++ b/source/_docs/ecosystem/backup/backup_dropbox.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Configuration Backup to Dropbox" -description: "Instructions on how backup your Home Assistant configuration to Dropbox" +description: "Instructions how backup your Home Assistant configuration to Dropbox" date: 2017-04-24 18:00 sidebar: true comments: false @@ -10,7 +10,7 @@ footer: true redirect_from: /cookbook/dropboxbackup/ --- -Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) similar to [Github Backup](/docs/ecosystem/backup/backup_github/) +Backing up and regularly syncing your Home Assistant configuration to [Dropbox](http://dropbox.com) similar to [Github Backup](https://home-assistant.io/docs/ecosystem/backup/backup_github/) ### {% linkable_title Requirements %} diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 278d3fc20c..db4ab29626 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Configuration Backup to GitHub" -description: "Instructions on how backup your Home Assistant configuration to GitHub" +description: "Instructions how backup your Home Assistant configuration to GitHub" date: 2017-01-05 18:00 sidebar: true comments: false @@ -28,21 +28,21 @@ This will not create a full backup of your Home Assistant files or your OS. In a Some best practices to consider before putting your configuration on GitHub: -- Extensive use of [secrets.yaml](/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location +- Extensive use of [secrets.yaml](https://home-assistant.io/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location - Exclusion of some files, including `secrets.yaml` and device-specific information using a [`.gitignore`](https://git-scm.com/docs/gitignore) file - Regularly committing your configuration to GitHub to make sure that your backup is up to date - Use a README.md to document your configuration and include screenshots of your Home Assistant GUI ### {% linkable_title Step 1: Installing and Initializing Git %} -In order to put your configuration on GitHub, you must install the git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu, or any Debian-based system) *note: this isn't required in Hass.io, it's included as default so proceed to step 2*: +In order to put your configuration on GitHub, you must install the git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu, or any Debian-based system): ```bash $ sudo apt-get update $ sudo apt-get install git ``` -### {% linkable_title Step 2: Creating %} `.gitignore` +### {% linkable_title Step 2: Creating %} `.gitignore`

Before creating and pushing your Home Assistant configuration to GitHub, please make sure to follow the `secrets.yaml` best practice mentioned above and scrub your configuration for any passwords or sensitive information. diff --git a/source/_docs/ecosystem/backup/backup_usb.markdown b/source/_docs/ecosystem/backup/backup_usb.markdown index cc07a0b079..6bd6276883 100644 --- a/source/_docs/ecosystem/backup/backup_usb.markdown +++ b/source/_docs/ecosystem/backup/backup_usb.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Configuration Backup to USB drive" -description: "Instructions on how backup your Home Assistant configuration to USB drive" +description: "Instructions how backup your Home Assistant configuration to USB drive" date: 2017-04-29 08:00 sidebar: true comments: false @@ -9,12 +9,11 @@ sharing: true footer: true --- -This will step you through the process of setting up a backup of your Home Assistant configuration to a USB device. This is a good method if you don't want to mask all of your passwords since the backup is kept locally at your home/residence. +Backing up your Home Assistant configuration to USB drive. A good plus side is that you don't need to mask all your passwords since the backup is locally at your home/residence. ### {% linkable_title Requirements %} - -First, you need a USB drive. It should be formatted properly for your device and connected to your device before beginning. Any type of partition will work, but Linux filesystems are preferred so that you can set permissions. -Once connected you want to mount the drive. To find the path where it is located, you can use the `dmesg` command. +First you need a USB drive. Once you have one you need to prepare it to be used on your device. +Once connected you want to format/work with the drive. To know what path it is in, you can check with `dmesg`. ```bash # dmesg | grep sd @@ -33,17 +32,16 @@ Once connected you want to mount the drive. To find the path where it is located [726259.209004] sd 0:0:0:0: [sda] Attached SCSI removable disk ``` -The device here is `sda` and our partition is `sda1`. So our partition is located here `/dev/sda1`. +Here we see we have a drive on `/dev/sda1`. We assume you created a partition on the drive to start with. This can be any type of partition. Preferred is a Linux filesystem type so you can set permissions! Mount the drive (as root) to `/media` ```bash -# sudo mount /dev/sda1 /media/ +# mount /dev/sda1 /media/ ``` -### {% linkable_title Prepare the USB Device %} - -Change to the `/media` directory and create a folder called `hassbackup`. Change the ownership to the user that runs Home Assistant. In this example case, the user and group are both `homeassistant`. +### {% linkable_title Prepare USB Stick %} +Change into it and create a folder called `hassbackup` and change the ownership to the user that runs Home Assistant. In my case group and user are both `homeassistant`. ```bash # cd /media/ @@ -56,10 +54,11 @@ drwxr-xr-x 22 root root 4096 Mar 22 18:37 .. drwxr-xr-x 2 homeassistant homeassistant 4096 Apr 29 10:36 hassbackup drwx------ 2 root root 16384 Apr 29 10:18 lost+found ``` +You can ignore 'lost+found'. ### {% linkable_title Install Dependency %} -The script in the next section uses zip to preserve space on your drive. So we will install zip next. +In order to preserve space on your drive we use zip. Install that too. ```bash /media# apt-get install zip @@ -69,9 +68,9 @@ Building dependency tree Setting up zip (3.0-8) ... ``` -### {% linkable_title Download and Run Script %} +### {% linkable_title Install and run script %} -Become the `homeassistant` user (or whatever user runs Home Assistant). Change to whatever directory you would like the [script](https://gist.github.com/riemers/041c6a386a2eab95c55ba3ccaa10e7b0) placed into and run the following command. +Become the `homeassistant` user and place the following [script](https://gist.github.com/riemers/041c6a386a2eab95c55ba3ccaa10e7b0) to a place of your liking. ```bash # wget https://gist.githubusercontent.com/riemers/041c6a386a2eab95c55ba3ccaa10e7b0/raw/86727d4e72e9757da4f68f1c9d784720e72d0e99/usb_backup.sh @@ -83,7 +82,7 @@ Make the downloaded script executable. # chmod +x usb_backup.sh ``` -Edit the script file using your preferred text editor (use nano if you are not advanced). Change the paths to reflect your configuration, then simply run `./usb_backup.sh`. +Open up the file and change the paths you want to use, then simply run the `./usb_backup.sh`. ```bash $ .homeassistant/extraconfig/shell_code/usb_backup.sh @@ -92,27 +91,26 @@ $ .homeassistant/extraconfig/shell_code/usb_backup.sh [i] Keeping all files no prunning set ``` -### {% linkable_title Set Up Crontab %} - -To automatically backup your configuration on a schedule, you can add a crontab for it as the `homeassistant` user. -Change the path below to the directory where you placed the `usb_backup.sh` and run the following line. This will backup every night at 3 am. +### {% linkable_title Crontab %} +In order for this to automatically make a backup every night at 3 am, you can add a crontab for it as the `homeassistant` user. +Change below path to where you placed the `usb_backup.sh` and run the following line. ```bash (crontab -l 2>/dev/null; echo "0 3 * * * /home/homeassistant/.homeassistant/extraconfig/shell_code/usb_backup.sh") | crontab - ``` -### {% linkable_title Auto Mount the USB Device %} +### {% linkable_title Auto mount %} -NOTE: This does not automatically mount your USB drive at boot. You will need to manually mount your drive after each boot or add a line to your `/etc/fstab` file. +This does not automatically mount your USB drive at boot. You need to do that manually or add a line to your `/etc/fstab` file. -To manually mount a USB drive located at `/dev/sda1`, run the following line: - -```bash -# mount /dev/sda1 /media -``` - -Alternatively, auto-mount the drive by adding the following entry to your `/etc/fstab`: +If your drive is on `/dev/sda1`, you could add an entry to your `/etc/fstab` like so: ```text /dev/sda1 /media ext4 defaults,noatime 0 1 ``` + +Manual step to mount the USB drive: + +```bash +# mount /dev/sda1 /media +``` diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index 1239eb550a..ee9cb80892 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -10,11 +10,11 @@ footer: true ---

-If you are using Hass.io or Hassbian, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io or the [DuckDNS suite](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/duckdns.md) for Hassbian to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt. +If you are using Hass.io, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt.

-

-Before exposing your Home Assistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](/docs/configuration/basic/) page. +

+Before exposing your Home Assistant instance to the outside world it is ESSENTIAL that you have set a password following the advice on the [http](https://home-assistant.io/docs/configuration/basic/) page.

@@ -22,16 +22,16 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri * You can access your Home Assistant instance across your local network, and access the device that it is on via SSH from your local network. * You know the internal IP address of your router and can access your router's configuration pages. - * You have already set up a password for your Home Assistant instance, following the advice on this page: [http](/docs/configuration/basic/) + * You have already set up a password for your Home Assistant instance, following the advice on this page: [http](https://home-assistant.io/docs/configuration/basic/) * You want to access your Home Assistant instance when you are away from home (ie, not connected to your local network) and secure it with a TLS/SSL certificate. * You have a basic understanding of the phrases I have used so far. * You are not currently running anything on port 80 on your network (you'd know if you were). * If you are not using Home Assistant on a Debian/Raspian/Hassbian system you will be able to convert any of the terminology I use in to the correct syntax for your system. * You understand that this is a 'guide' covering the general application of these things to the general masses and there are things outside of the scope of it, and it does not cover every eventuality (although I have made some notes where people may stumble). Also, I have used some turns of phrase to make it easier to understand for the novice reader which people of advanced knowledge may say is innacurate. My goal here is to get you through this guide with a satisfactory outcome and have a decent understanding of what you are doing and why, not to teach you advanced internet communication protocols. * Each step presumes you have fully completed the previous step successfully, so if you did an earlier step following a different guide, please ensure that you have not missed anything out that may affect the step you have jumped to, and ensure that you adapt any commands to take in to account different file placements from other guides. - + Steps we will take: - + - 0 - Gain a basic level of understanding around IP addresses, port numbers and port forwarding - 1 - Set your device to have a static IP address - 2 - Set up port forwarding without TLS/SSL and test connection @@ -42,48 +42,48 @@ Steps we will take: - 7 - Set up a sensor to monitor the expiry date of the certificate - 8 - Set up an automatic renewal of the TLS/SSL certificate - 9 - Set up an alert to warn us if something went wrong - + ### {% linkable_title 0 - Gain a basic level of understanding around IP addresses, port numbers and port forwarding %} - + An IP address is a bit like a phone number. When you access your Home Assistant instance you type something similar to 192.168.0.200:8123 in to your address bar of your browser. The bit before the colon is the IP address (in this case 192.168.0.200) and the bit after is the port number (in this case 8123). When you SSH in to the device running Home Assistant you will use the same IP address, and you will use port 22. You may not be aware that you are using port 22, but if you are using Putty look in the box next to where you type the IP address, you will see that it has already selected port 22 for you. - + So, if an IP address is like a phone number, a port number is like an extension number. An analogy would be if you phone your local doctors on 192-1680-200 and the receptionist answers, you ask to speak to Dr. Smith and she will put you through to extension 8123, which is the phone Dr. Smith is sitting at. The doctors surgery is the device your Home Assistant is running on, Dr. Smith is your Home Assistant. Thusly, your Home Assistant instance is 'waiting for your call' on port 8123, at the device IP 192.168.0.200 . - + Now, to speak to the outside world your connection goes through a router. Your router will have two IP addresses. One is the internal network number, most likely 192.168.0.1 in my example, and an external IP address that incoming traffic is sent to. In the example of calling the doctors, the external IP is your telephone number's area code. - + So, when we want to connect to our Home Assistant instance from outside our network we will need to call the correct extension number, at the correct phone number, in the correct area code. - + We will be looking for a system to run like this (in this example I will pretend our external IP is 12.12.12.12): - + ```text Outside world -> 12.12.12.12:8123 -> your router -> 192.168.0.200:8123 ``` Sounds simple? It really is except for two small, but easy to overcome, complications: - + * IP addresses are often dynamically allocated, so they can change. * Because of the way the internet works you cannot chain IP addresses together to get from where you are, to where you want to go. - + To get around the issue of changing IP addresses we must remember that there are two IP addresses affected. Your external one (which we will 'call' to get on to your network from the internet) and your internal one (192.168.0.200 in the example I am currently using). - + So, we can use a static IP to ensure that whenever our device running Home Assistant connects to our router it always uses the same address. This way our internal IP never changes. This is covered in step 1 below. - + We then have no control over our external IP, as our Service Provider will give us a new one at random intervals. To fix this we will use a service called DuckDNS which will give us a name for our connection (something like examplehome.duckdns.org) and behind the scenes will continue to update your external IP. So no matter how many times the IP address changes, typing examplehome.duckdns.org in to our browser will convert to the correct, up-to-date, IP address. This is covered in step 3 below. - + To get around the issue of not being able to chain the IP addresses together (I can't say I want to call 12:12:12:12 and be put through to 192.168.0.200, and then be put through to extension 8123) we use port forwarding. Port forwarding is the process of telling your router which device to allow the outside connection to speak to. In the doctors surgery example, port forwarding is the receptionist. This takes a call from outside, and forwards it to the correct extension number inside. It is important to note that port forwarding can forward an incoming request for one port to a different port on your internal network if you so choose, and we will be doing this later on. The end result being that when we have our TSL/SSL certificate our incoming call will be requesting port 443 (because that is the SSL port, like the SSH port is always 22), but our port forwarding rule will forward this to our HA instance on port 8123. When this guide is completed we will run something like this: - + ```text Outside world -> https://examplehome.duckdns.org -> 12.12.12.12:443 -> your router -> 192.168.0.200:8123 ``` So, let's make it happen... ### {% linkable_title 1 - Set your device to have a static IP address %} - + Whenever a device is connected to a network it has an IP address. This IP address is often dynamically assigned to the device on connection. This means there are occasions where the IP address you use to access Home Assistant, or SSH in to the device running Home Assistant, may change. Setting a static IP address means that the device will always be on the same address. - + SSH in to your system running Home Assistant and login. - + Type the following command to list your network interfaces: - + ```bash $ ifconfig ``` @@ -94,17 +94,17 @@ You will receive an output similar to the image below: Screenshot

- + Make a note of the interface name and the IP address you are currently on. In the picture it is the wireless connection that is highlighted, but with your setup it may be the wired one (eth0 or similar), make sure you get the correct information. - + Then type the following command to open the text file that controls your network connection: -```bash +```bash $ sudo nano /etc/dhcpcd.conf ``` At the bottom of the file add the following lines: - + ```text interface wlan0 <----- or the interface you just wrote down. @@ -113,7 +113,7 @@ static routers=192.168.0.1 <---- Your router's IP address static domain_name_servers=192.168.0.1 <---- Your router's IP address ``` -It is important to note that the first three bytes of your static IP address and your router's IP address should be the same, eg: +It is important to note that the first three bits of your static IP address and your router's IP address should be the same, eg: ```text Router: 192.168.0.1 @@ -195,17 +195,13 @@ In the domains section pick a name for your subdomain, this can be anything you The URL you will be using later to access your Home Assistant instance from outside will be the subdomain you picked, followed by duckdns.org . For our example we will say our URL is examplehome.duckdns.org -Set up Home Assistant to keep your DuckDNS URL and external IP address in sync. In your `configuration.yaml` file add the following: +On the top left of duckdns.org select the install option. Then pick your operating system from the list. In our example we will use a Raspberry Pi. In the dropdown box select the URL you just created. -```yaml -duckdns: - domain: examplehome - access_token: abcdefgh-1234-abcd-1234-abcdefgh -``` +Duckdns.org will now generate personalised instructions for you to follow so that your device can update their website every time your IP address changes. Carefully follow the instructions given on duckdns.org to set up your device. -The access token is available on your DuckDNS page. Restart Home Assistant after the change. +At the end of the instructions DuckDNS will suggest you set up port forwarding. No need, we have already done this in step 2. -What you have now done is set up DuckDNS so that whenever you type examplehome.duckdns.org in to your browser it will convert that to your router's external IP address. Your external IP address will always be up to date because Homeassistant will update DuckDNS every time it changes. +What you have now done is set up DuckDNS so that whenever you type examplehome.duckdns.org in to your browser it will convert that to your router's external IP address. Your external IP address will always be up to date because your device running Home Assistant will update DuckDNS every time it changes. Now type your new URL in to your address bar on your browser with port 8123 on the end: @@ -255,7 +251,7 @@ $ sudo adduser hass sudo If you did not already log in as the user that currently runs Home Assistant, change to that user (usually `hass` or `homeassistant` - you may have used a command similar to this in the past): ```bash -$ sudo su -s /bin/bash hass +$ sudo su -s /bin/bash hass ``` Make sure you are in the home directory for the Home Assistant user: @@ -276,7 +272,7 @@ $ chmod a+x certbot-auto You might need to stop Home Assistant before continuing with the next step. You can do this via the Web-UI or use the following command if you are running on Hassbian: ```text -$ sudo systemctl stop home-assistant@homeassistant.service +$ sudo systemctl stop home-assistant@homeassistant.service ``` You can restart Home Assistant after the next step using the same command and replacing `stop` with `start`. @@ -340,8 +336,8 @@ http: ssl_key: /etc/letsencrypt/live/examplehome.duckdns.org/privkey.pem base_url: examplehome.duckdns.org ``` - -You may wish to set up other options for the [http](/components/http/) component at this point, these extra options are beyond the scope of this guide. + +You may wish to set up other options for the [http](https://home-assistant.io/components/http/) component at this point, these extra options are beyond the scope of this guide. Save the changes to configuration.yaml. Restart Home Assistant. @@ -367,7 +363,11 @@ https://YOUR-HA-IP:8123 Some cases such as this are where your router does not allow 'loopback' or where there is a problem with incoming connections due to technical failure. In these cases you can still use your internal connection and safely ignore the warnings. -If you were previously using a webapp on your phone/tablet to access your Home Assistant you should delete the old one and create a new one with the new address. The old one will no longer work as it is not keyed to your new, secure URL. Instructions for creating your new webapp can be found [here](/docs/frontend/mobile/). +If you were previously using a webapp on your phone/tablet to access your Home Assistant you should delete the old one and create a new one with the new address. The old one will no longer work as it is not keyed to your new, secure URL. Instructions for creating your new webapp can be found here: + +```text +https://home-assistant.io/docs/frontend/mobile/ +``` All done? Accessing your Home Assistant from across the world with your DuckDNS URL and a lovely secure logo on your browser? Ace! Now let's clean up our port forwards so that we are only exposing the parts of our network that are absolutely necessary to the outside world. @@ -387,11 +387,11 @@ You are now part of one of two groups: * If you have BOTH rules you are able to set up auto renewals of your certificates using port 80 and the standard http challenge, as performed above. * If you only have one, you are still able to set up auto renewals of your certificates, but will have to specify additional options when renewing that will temporarily stop Home Assistant and use port 8123 for certificate renewal. - + Please remember whether you are a ONE-RULE person or a BOTH-RULE person for step 8! - + Let's Encrypt certificates only last for 90 days. When they have less than 30 days left they can be renewed. Renewal is a simple process. - + Move on to step 7 to see how to monitor your certificates expiry date, and be ready to renew your certificate when the time comes. ### {% linkable_title 7 - Set up a sensor to monitor the expiry date of the certificate %} @@ -402,9 +402,9 @@ Setting a sensor to read the number of days left on your TLS/SSL certificate bef * You can set automations based on the number of days left * You can set alerts to notify you if your certificate has not been renewed and is coming close to expiry. * If you cannot set up automatic renewals due to your ISP blocking port 80, you will have timely reminders to complete the process manually. - + If you do not wish to set up a sensor you can skip straight to step 8 to learn how to update your certificates. - + The sensor will rely on a command line program that needs to be installed on your device running Home Assistant. SSH in to the device and run the following commands: ```bash @@ -442,33 +442,33 @@ If you are a ONE-RULE person (from step 6), you can automatically renew your cer If you are a TWO-RULE person (from step 6), you can automatically renew your certificate using a `http-01` challenge and port 80. There are a number of options for automating the renewal process: - + #### Option 1: Your certificate can be renewed as a 'cron job' - cron jobs are background tasks run by the computer at specified intervals (and are totally independent of Home Assistant). Defining cron is outside of the scope of this guide but you will have had dealings with `crontab` when setting up DuckDNS in step 3 - + To set a cron job to run the script at regular intervals: - + * SSH in to your device running Home Assistant. * Change to your Home Assistant user (command similar to): - + ```bash $ sudo su -s /bin/bash hass ``` - + * Open the crontab: - + ```bash $ crontab -e ``` - + * If you are a TWO-RULE Person: Scroll to the bottom of the file and paste in the following line - + ```text 30 2 * * 1 ~/certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01 ``` * If you are a ONE-RULE Person: Scroll to the bottom of the file and paste in the following line - + ```text 30 2 * * 1 ~/certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges tls-sni-01 --tls-sni-01-port 8123 --pre-hook "sudo systemctl stop home-assistant@homeassistant.service" --post-hook "sudo systemctl start home-assistant@homeassistant.service" ``` @@ -478,17 +478,17 @@ $ crontab -e 3. We define pre-hooks and post-hooks that stop our Home Assistant service before certbot runs, freeing port 8123 for certificate renewal, and restart Home Assistant after renewal is complete. * Save the file and exit - - + + #### Option 2: You can set an automation in Home Assistant to run the certbot renewal script. - + Add the following sections to your configuration.yaml if you are a TWO-RULE person -```yaml -shell_command: +```yaml +shell_command: renew_ssl: ~/certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01 - + automation: - alias: 'Auto Renew SSL Cert' trigger: @@ -502,34 +502,34 @@ If you are a ONE-RULE person, replace the `certbot-auto` command above with `~/c #### Option 3: You can manually update the certificate when your certificate is less than 30 days to expiry. - -To manually update: - + +To manually update: + * SSH in to your device running Home Assistant. * Change to your Home Assistant user (command similar to): - + ```bash $ su - s /bin/bash hass ``` - + * Change to your certbot folder - + ```bash $ cd ~/certbot/ ``` * Run the renewal command - + ```bash $ ./certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01 ``` * If you are a ONE-RULE person, replace the `certbot-auto` command above with `~/certbot/certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges tls-sni-01 --tls-sni-01-port 8123 --pre-hook "sudo systemctl stop home-assistant@homeassistant.service" --post-hook "sudo systemctl start home-assistant@homeassistant.service"` - + So, now were all set up. We have our secured, remotely accessible Home Assistant instance and we're on track for keeping our certificates up to date. But what if something goes wrong? What if the automation didn't fire? What if the cron job forgot to run? What if the dog ate my homework? Read on to set up an alert so you can be notified in plenty of time if you need to step in and sort out any failures. - + ### {% linkable_title 9 - Set up an alert to warn us if something went wrong. %} - + We set up our automatic renewal of our certificates and whatever method we used the certificate should be renewed on or around 30 days before it expires. But what if a week later it still hasn't been? This alert will go off if the expiry time on the certificate gets down to 21 days. This will give you 3 weeks to fix the problem, get your new certificate installed and get another 90 days of secure Home Assistant connections in play. In your `configuration.yaml` add the following automation, adding your preferred notification platform where appropriate: @@ -538,15 +538,15 @@ In your `configuration.yaml` add the following automation, adding your preferred automation: - alias: 'SSL expiry notification' trigger: - platform: numeric_state - entity_id: sensor.ssl_cert_expiry - below: 21 - action: - service: notify.[your_notification_preference] - data: - message: 'Warning - SSL certificate expires in 21 days and has not been automatically renewed' + platform: numeric_state + entity_id: sensor.ssl_cert_expiry + below: 21 + action: + service: notify.[your_notification_preference] + data: + message: 'Warning - SSL certificate expires in 21 days and has not been automatically renewed' ``` - + If you receive this warning notification, follow the steps for a manual update from step 8. Any error messages received at that point can be googled and resolved. If the manual update goes without a hitch there may be something wrong with your chosen method for automatic updates, and you can start troubleshooting from there. So, that's it. We've taken a Home Assistant instance that was only reachable on the local network, made it accessible from the internet, secured it, and set up a system to ensure that it always stays secure. Well done, go and treat yourself to a cookie! diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown index 2aab9deb6d..53736e0693 100644 --- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown +++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown @@ -11,8 +11,8 @@ redirect_from: /cookbook/tls_self_signed_certificate/ --- If your Home Assistant instance is only accessible from your local network you can still protect the communication between your browsers and the frontend with SSL/TLS. -[Let's encrypt]({{site_root}}/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/) will only work if you have a DNS entry and remote access is allowed. -The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will complain about the security. If you have a CA then this will not be an issue. +[Let's encrypt]({{site_root}}/blog/2015/12/13/setup-encryption-using-lets-encrypt/) will only work if you have a DNS entry and remote access is allowed. +The solution is to use a self-signed certificate. As you most likely don't have a certification authority (CA) your browser will conplain about the security. If you have a CA then this will not be an issue. To create a certificate locally, you need the [OpenSSL](https://www.openssl.org/) command-line tool. diff --git a/source/_docs/ecosystem/hadashboard.markdown b/source/_docs/ecosystem/hadashboard.markdown index 87c06d166d..226b6906d9 100755 --- a/source/_docs/ecosystem/hadashboard.markdown +++ b/source/_docs/ecosystem/hadashboard.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /ecosystem/hadashboard/ --- -HADashboard is a modular, skinnable dashboard for [Home Assistant](/) that is intended to be wall mounted, and is optimized for distance viewing. +HADashboard is a modular, skinnable dashboard for [Home Assistant](https://home-assistant.io/) that is intended to be wall mounted, and is optimized for distance viewing.

diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown index 3087d6b6b2..c9fac261ec 100644 --- a/source/_docs/ecosystem/hass-configurator.markdown +++ b/source/_docs/ecosystem/hass-configurator.markdown @@ -12,7 +12,7 @@ redirect_from: /ecosystem/hass-configurator/ ### {% linkable_title Configuration UI for Home Assistant %} -Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you're done with editing the file, click the save-button and it will replace the original. +Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded [Ace editor](https://ace.c9.io/), which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you're done with editing the file, click the save-button and it will replace the original. Essentially this is a browser-based alternative to modifying your configuration through SSH, Windows + SMB, Github etc..

@@ -38,7 +38,7 @@ This tool allows you to browse your filesystem and modify files. So be careful w Consider running the configurator as a user with limited privileges to limit possible damage.

### {% linkable_title Installation (Linux, OS X) %} -There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline). +There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn't work when you're offline). - Copy [configurator.py](https://github.com/danielperna84/hass-configurator/blob/master/configurator.py) to your Home Assistant configuration directory (e.g `/home/homeassistant/.homeassistant`): `wget https://raw.githubusercontent.com/danielperna84/hass-configurator/master/configurator.py` - Make it executable: `sudo chmod 755 configurator.py` - (Optional) Set the `GIT` variable in configurator.py to `True` if [GitPython](https://gitpython.readthedocs.io/) is installed on your system. This is required if you want to make use of the Git integration. @@ -46,8 +46,8 @@ There are no dependencies on Python modules that are not part of the standard li - To terminate the process do the usual `CTRL+C`, maybe once or twice ### {% linkable_title Configuration %} -Near the top of the `configurator.py`-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type _string_, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though. -To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) wherever you like and append the full path to the file to the command when starting the configurator. e.g., `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that `None` becomes `null`. +Near the top of the `configurator.py`-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type _string_, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though. +To keep your settings across updates it is also possible to save settings in an external file. In that case copy [settings.conf](https://github.com/danielperna84/hass-configurator/blob/master/settings.conf) wherever you like and append the full path to the file to the command when starting the configurator. E.g. `sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf`. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that `None` becomes `null`. #### LISTENIP (string) The IP the service is listening on. By default it is binding to `0.0.0.0`, which is every interface on the system. @@ -66,22 +66,22 @@ Set credentials in the form of `"username:password"` if authentication should be #### ALLOWED_NETWORKS (list) Limit access to the configurator by adding allowed IP addresses / networks to the list, e.g `ALLOWED_NETWORKS = ["192.168.0.0/24", "172.16.47.23"]` #### BANNED_IPS (list) -List of statically banned IP addresses, e.g., `BANNED_IPS = ["1.1.1.1", "2.2.2.2"]` +List of statically banned IP addresses, e.g. `BANNED_IPS = ["1.1.1.1", "2.2.2.2"]` #### BANLIMIT (integer) Ban IPs after `n` failed login attempts. Restart the service to reset banning. The default of `0` disables this feature. `CREDENTIALS` has to be set for this to work. #### IGNORE_PATTERN (list) -Files and folders to ignore in the UI, e.g., `IGNORE_PATTERN = [".*", "*.log", "__pycache__"]`. +Files and folders to ignore in the UI, e.g. `IGNORE_PATTERN = [".*", "*.log", "__pycache__"]`. #### DIRSFIRST (bool) If set to `True`, directories will be displayed at the top of the filebrowser. #### GIT (bool) Set this variable to `True` to enable Git integration. This feature requires [GitPython](https://gitpython.readthedocs.io) to be installed on the system that is running the configurator. For technical reasons this feature can not be enabled with the static settings file. - -__Note regarding `ALLOWED_NETWORKS`, `BANNED_IPS` and `BANLIMIT`__: + +__Note regarding `ALLOWED_NETWORKS`, `BANNED_IPS` and `BANLIMIT`__: The way this is implemented works in the following order: 1. (Only if `CREDENTIALS` is set) Check credentials - - Failure: Retry `BANLIMIT` times, after that return error 420 (unless you try again without any authentication headers set, e.g., private tab of your browser) + - Failure: Retry `BANLIMIT` times, after that return error 420 (unless you try again without any authentication headers set, e.g. private tab of your browser) - Success: Continue 2. Check if client IP address is in `BANNED_IPS` - Yes: Return error 420 @@ -91,7 +91,7 @@ The way this is implemented works in the following order: - Yes: Continue and display UI of configurator ### {% linkable_title Embedding into Home Assistant %} -Home Assistant has the [panel_iframe](/components/panel_iframe/) component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend. +Home Assistant has the [panel_iframe](https://home-assistant.io/components/panel_iframe/) component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend. An example configuration would look like this: ```yaml @@ -107,11 +107,11 @@ Be careful when setting up port forwarding to the configurator while embedding i ### {% linkable_title Daemonizing / Keeping the configurator running %} Since the configurator script on its own is no service, you will have to take some extra steps to keep it running. Here are five options (for Linux), but there are more, depending on your usecase. -1. Fork the process into the background with the command: +1. Fork the process into the background with the command: `nohup sudo ./configurator.py &` -2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment. -3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.supervisor) would be an example configuration you could use to control the configurator. -4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](/docs/hassbian/). +2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](https://home-assistant.io/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment. +3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.supervisor) would be an example configuration you could use to control the configurator. +4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](https://home-assistant.io/docs/hassbian/). 5. A tool called [screen](http://ss64.com/bash/screen.html) (alternative to tmux). If it's not already installed on your system, you can do `sudo apt-get install screen` or `sudo yum install screen` to get it. When it's installed, start a screen session by executing `screen`. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing `CTRL+A` and then `CTRL+D`. It is now safe to disconnect from your SSH session. To resume the screen session, log in to your machine and execute `screen -r`. diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 027fe50323..6959ade8f1 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -21,7 +21,7 @@ The app is available on the iOS App Store in every country that Apple supports.

-## {% linkable_title Basic requirements %} +## Basic requirements * iOS device running at least iOS 9, but iOS 10 is greatly preferred. * Home Assistant 0.42.4 or higher for push notification support. @@ -33,7 +33,7 @@ Loading the `ios` component will also load the [`device_tracker`][device-tracker ## {% linkable_title Setup %} -### {% linkable_title Automated Setup %} +### Automated Setup The `ios` component will automatically be loaded under the following circumstances: @@ -44,7 +44,7 @@ Automated discovery and component loading only happens at first install of the a After the first automated setup you need to add `ios:` to your configuration so that the component loads by default even after restarting Home Assistant. -### {% linkable_title Manual Setup %} +### Manual Setup You may also manually load the `ios` component by adding the following to your configuration: diff --git a/source/_docs/ecosystem/ios/integration.markdown b/source/_docs/ecosystem/ios/integration.markdown index b6c27dd437..3bd3791ebb 100644 --- a/source/_docs/ecosystem/ios/integration.markdown +++ b/source/_docs/ecosystem/ios/integration.markdown @@ -18,7 +18,7 @@ Query parameters are passed as a dictionary in the call. Example: `homeassistant://call_service/device_tracker.see?entity_id=device_tracker.entity` ## Fire event -You can create an [event trigger](/docs/automation/trigger/#event-trigger) and fire the event. +You can create an [event trigger](https://home-assistant.io/docs/automation/trigger/#event-trigger) and fire the event. Example: `homeassistant://fire_event/custom_event?entity_id=MY_CUSTOM_EVENT` diff --git a/source/_docs/ecosystem/ios/notifications.markdown b/source/_docs/ecosystem/ios/notifications.markdown index c1eee576e3..a4a025907c 100644 --- a/source/_docs/ecosystem/ios/notifications.markdown +++ b/source/_docs/ecosystem/ios/notifications.markdown @@ -12,7 +12,7 @@ redirect_from: /ecosystem/ios/notifications/ The `ios` notify platform enables sending push notifications to the Home Assistant iOS app. -The 'ios' component will automatically load the notify service. +The 'ios' component will automatically load the notify service. The service component can be called using `service: notify.ios_`. Your device ID can be found in the `ios.conf` file in your configuration folder. The file is compressed JSON. You can view it easier by copying the file contents and pasting them into [JSONLint](http://jsonlint.com). @@ -21,4 +21,4 @@ In this example, the device ID is `robbiet480_7plus`, so the notify service to u {"devices":{"robbiet480_7plus":{"app":{"bundleIdentifer":"io.robbie.HomeAssistant","versionNumber":1,"buildNumber":53},"pushSounds":[],"permissions":["location"],"deviceId":"robbiet480_7plus","device":{"type":"iPhone 7 Plus","systemName":"iOS","systemVersion":"10.3","permanentID":"AB9F02FE-6AC6-47B8-ADEB-5DD87B489156","localizedModel":"iPhone","name":"Robbie's iPhone 7 Plus","model":"iPhone"},"battery":{"state":"Full","level":100},"pushToken":"SECRET","pushId":"SECRET"}}} ``` -You can find more information in the [Basic Notifications](/docs/ecosystem/ios/notifications/basic/) documentation and the [Actionable Notifications](/docs/ecosystem/ios/notifications/actions/) documentation. +You can find more information in the [Basic Notifications](https://home-assistant.io/docs/ecosystem/ios/notifications/basic/) documentation and the [Actionable Notifications](https://home-assistant.io/docs/ecosystem/ios/notifications/actions/) documentation. diff --git a/source/_docs/ecosystem/ios/notifications/basic.markdown b/source/_docs/ecosystem/ios/notifications/basic.markdown index 7e0a5e9288..5f8d723745 100644 --- a/source/_docs/ecosystem/ios/notifications/basic.markdown +++ b/source/_docs/ecosystem/ios/notifications/basic.markdown @@ -36,7 +36,6 @@ automation: action: service: notify.ios_ data: - title: "Smart Home Alerts" message: "Something happened at home!" data: push: @@ -54,14 +53,13 @@ automation action: service: notify.ios_ data: - title: "Smart Home Alerts" message: "Something happened at home!" data: subtitle: "Subtitle goes here" ``` ### {% linkable_title Sending notifications to multiple phones %} -To send notifications to multiple phones, create a [notification group](/components/notify.group/): +To send notifications to multiple phones, create a [notification group](https://home-assistant.io/components/notify.group/): ```yaml notify: - name: NOTIFIER_NAME diff --git a/source/_docs/ecosystem/nginx.markdown b/source/_docs/ecosystem/nginx.markdown index 46ae6152d1..24e4c7e084 100644 --- a/source/_docs/ecosystem/nginx.markdown +++ b/source/_docs/ecosystem/nginx.markdown @@ -14,17 +14,13 @@ Using NGINX as a proxy for Home Assistant allows you to serve Home Assistant sec ### {% linkable_title 1. Get a domain name forwarded to your IP %} -Chances are, you have a dynamic IP address (your ISP changes your address periodically). If this is true, you can use a Dynamic DNS service to obtain a domain and set it up to update with you IP. If you purchase your own domain name, you will be able to easily get a trusted SSL certificate later. +Chances are, you have a dynamic IP Address (your ISP changes your address periodically). If this is true, you can use a Dynamic DNS service to obtain a domain and set it up to update with you IP. If you purchase your own domain name, you will be able to easily get a trusted SSL certificate later. ### {% linkable_title 2 Install nginx on your server %} This will vary depending on your OS. Check out Google for this. After installing, ensure that NGINX is not running. -

-You will at least need nginx >= 1.3.13, as WebSocket support is required for the reverse proxy. -

- ### {% linkable_title 3. Obtain an SSL certificate %} There are two ways of obtaining an SSL certificate. @@ -32,7 +28,7 @@ There are two ways of obtaining an SSL certificate. #### {% linkable_title Using Let's Encrypt %} If you purchased your own domain, you can use https://letsencrypt.org/ to obtain a free, publicly trusted SSL certificate. This will allow you to work with services like IFTTT. Download and install per the instructions online and get a certificate using the following command. -```bash +``` $ sudo ./letsencrypt-auto certonly --standalone -d example.com -d www.example.com ``` @@ -79,13 +75,14 @@ $ sudo ln ../sites-available/hass default Double check this configuration to ensure all settings are correct and start nginx. + ### {% linkable_title 8. Port forwarding. %} Forward ports 443 and 80 to your server on your router. Do not forward port 8123. ### {% linkable_title NGINX Config %} -```text +``` map $http_upgrade $connection_upgrade { default upgrade; '' close; diff --git a/source/_docs/ecosystem/scenegen.markdown b/source/_docs/ecosystem/scenegen.markdown index 37d2534b08..3cf1e1b03c 100644 --- a/source/_docs/ecosystem/scenegen.markdown +++ b/source/_docs/ecosystem/scenegen.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /ecosystem/scenegen/ --- -Scenegen is a scene generation tool for [Home Assistant](/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTFul API so can be run from anywhere. It currently supports lights and switches only. +Scenegen is a scene generation tool for [Home Assistant](https://home-assistant.io/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTFul API so can be run from anywhere. It currently supports lights and switches only. ## {% linkable_title Installation %} diff --git a/source/_docs/ecosystem/synology.markdown b/source/_docs/ecosystem/synology.markdown index c5c436da58..099ea41ef0 100644 --- a/source/_docs/ecosystem/synology.markdown +++ b/source/_docs/ecosystem/synology.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Synology" -description: "Instructions on how to get Home Assistant up and running on Synology" +description: "Instructions how to get Home Assistant up and running on Synology" release_date: 2016-12-07 15:00:00 -0500 sidebar: true comments: false diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown index 2454f5989a..611b8586ae 100644 --- a/source/_docs/frontend/browsers.markdown +++ b/source/_docs/frontend/browsers.markdown @@ -37,7 +37,7 @@ We would appreciate if you help to keep this page up-to-date and add feedback. | Browser | Release | State | Comments | | :-------------------- |:---------------|:-----------|:-------------------------| -| [Firefox] | 59.0 | works | | +| [Firefox] | 57.0 | works | | | [Midori] | 0.5.11 | works | | | [Chromium] | 63.0.3239.108 | works | | | [Conkeror] | 1.0.2 | works | | diff --git a/source/_docs/frontend/mobile.markdown b/source/_docs/frontend/mobile.markdown index d7342115b7..3a2c1af740 100644 --- a/source/_docs/frontend/mobile.markdown +++ b/source/_docs/frontend/mobile.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/mobile/ --- -Home Assistant has [a companion app for iOS](/docs/ecosystem/ios/). +Home Assistant has [a companion app for iOS](https://home-assistant.io/docs/ecosystem/ios/). On both Android and iOS, you can add the Home Assistant "web app" to your homescreen as if it was native (Home Assistant leverages the W3C [manifest.json](https://w3c.github.io/manifest/) support). diff --git a/source/_docs/installation.markdown b/source/_docs/installation.markdown index 16380e6837..4b54abe2d3 100644 --- a/source/_docs/installation.markdown +++ b/source/_docs/installation.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Installation of Home Assistant" -description: "Instructions on how to install Home Assistant to launch on start." +description: "Instructions how to install Home Assistant to launch on start." date: 2017-02-15 08:00 sidebar: true comments: false @@ -14,7 +14,7 @@ redirect_from: /getting-started/installation/ Beginners should check our [Getting started guide](/getting-started/) first. This is for users that require advanced installations.

-Home Assistant provides multiple ways to be installed. A requirement is that you have [Python 3.5.3 or later](https://www.python.org/downloads/) installed. +Home Assistant provides multiple ways to be installed. A requirement is that you have [Python 3.5+](https://www.python.org/downloads/) installed.
diff --git a/source/_docs/installation/archlinux.markdown b/source/_docs/installation/archlinux.markdown index 3e13bd2691..09ae89b4dd 100644 --- a/source/_docs/installation/archlinux.markdown +++ b/source/_docs/installation/archlinux.markdown @@ -21,10 +21,10 @@ $ sudo pacman -S python-pip and Home Assistant itself. ```bash -$ pip3 install --user homeassistant +$ pip3 install homeassistant ``` -Home Assistant is part of the [AUR](https://aur.archlinux.org/packages/home-assistant/). This means that it can be installed with `pacaur`. This package is often broken or outdated: +Home Assistant is part of the [AUR](https://aur.archlinux.org/packages/home-assistant/). This means that it can be installed with `pacaur`: ```bash $ pacaur -S home-assistant diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown index 5f16fc5bc0..e54d67acb8 100644 --- a/source/_docs/installation/armbian.markdown +++ b/source/_docs/installation/armbian.markdown @@ -11,8 +11,6 @@ footer: true [armbian](https://www.armbian.com) runs on a wide-variety of [ARM development boards](https://www.armbian.com/download/). Currently there are around 50 boards supported inclusive the OrangePi family, Cubieboard, Pine64, and Odroid. -Python 3.5.3 or later is required. - Setup Python and `pip` ```bash diff --git a/source/_docs/installation/centos.markdown b/source/_docs/installation/centos.markdown index aadd8dbf93..b427d83d39 100644 --- a/source/_docs/installation/centos.markdown +++ b/source/_docs/installation/centos.markdown @@ -9,9 +9,9 @@ sharing: true footer: true --- -To run Python 3.x on [CentOS](https://www.centos.org/) or RHEL (Red Hat Enterprise Linux), [Software Collections](https://www.softwarecollections.org/en/scls/rhscl/rh-python36/) needs to be activated first. +To run Python 3.x on [CentOS](https://www.centos.org/) or RHEL (Red Hat Enterprise Linux), [Software Collections](https://www.softwarecollections.org/en/scls/rhscl/rh-python34/) needs to be activated first. -You must install Python 3.5.3 or later. Software Collections version of Python 3.5 is 3.5.1 so this guide uses Python 3.6. +There are effort in progress to bring Python 3.4 to [Extra Packages for Enterprise Linux (EPEL)](https://fedoraproject.org/wiki/EPEL) which will allow you to follow the [Fedora Instructions](/docs/installation/fedora/). ### {% linkable_title Using Software Collections %} @@ -21,27 +21,27 @@ First of all install the software collection repository as root. For example, on $ yum install centos-release-scl ``` -Then install the Python 3.6 package: +Then install the Python 3.5 package: ```bash -$ yum install rh-python36 +$ yum install rh-python35 ``` Once installed, switch to your `homeassistant` user (if you've set one up), enable the software collection and check that it has set up the new version of Python: ```bash -$ scl enable rh-python36 bash +$ scl enable rh-python35 bash $ python --version -Python 3.6.3 +Python 3.5.1 ``` -You will be in a command shell set up with Python 3.6 as your default version. The virtualenv and pip commands will be correct for this version, so you can now create a virtual environment and install Home Assistant following the main [instructions](/docs/installation/virtualenv/#step-4-set-up-the-virtualenv). +You will be in a command shell set up with Python 3.5 as your default version. The virtualenv and pip commands will be correct for this version, so you can now create a virtual environment and install Home Assistant following the main [instructions](https://home-assistant.io/docs/installation/virtualenv/#step-4-set-up-the-virtualenv). You will need to enable the software collection each time you log on before you activate your virtual environment. ### {% linkable_title Systemd with Software Collections %} -To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows: +To autostart Home Assistant using systemd follow the main [instructions](https://home-assistant.io/docs/autostart/systemd/) and adjust the template as follows: ``` [Unit] @@ -55,7 +55,7 @@ User=homeassistant Environment=VIRTUAL_ENV="/srv/homeassistant" Environment=PATH="$VIRTUAL_ENV/bin:$PATH" # ExecStart using software collection: -ExecStart=/usr/bin/scl enable rh-python36 -- /srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" +ExecStart=/usr/bin/scl enable rh-python35 -- /srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" [Install] WantedBy=multi-user.target diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 4245f1069c..63212564d6 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/installation-docker/ --- -Installation with Docker is straightforward. Adjust the following command so that `/path/to/your/config/` points at the folder where you want to store your configuration and run it: +Installation with Docker is straightforward. Adjust the following command so that `/path/to/your/config/` points at the folder where you want to store your config and run it: ### {% linkable_title Linux %} @@ -18,27 +18,16 @@ Installation with Docker is straightforward. Adjust the following command so tha $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant ``` -### {% linkable_title Raspberry Pi 3 (Raspbian) %} - -```bash -$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant:0.XX.x -``` - -The Docker container for Raspberry Pi 3 does not have a 'latest' tag so the version number must be specified explicitly, i.e. 0.68.0. This goes for both CLI and Docker Compose. - - ### {% linkable_title macOS %} -When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container ([Docker issue](https://github.com/docker/for-mac/issues/44)). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, e.g, `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). +When using `boot2docker` on macOS you are unable to map the local time to your Docker container. Use `-e "TZ=America/Los_Angeles"` instead of `-v /etc/localtime:/etc/localtime:ro`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). -If you wish to browse directly to `http://localhost:8123` from your macOS host, meaning forward ports directly to the container, replace the `--net=host` switch with `-p 8123:8123`. More detail can be found in [the docker forums](https://forums.docker.com/t/should-docker-run-net-host-work/14215/10). +Additionally, if your expectation is that you will be able to browse directly to `http://localhost:8123` on your macOS host, then you will also need to replace the `--net=host` switch with `-p 8123:8123`. This is currently the only way to forward ports on to your actual host (macOS) machine instead of the virtual machine inside `xhyve`. More detail on this can be found in [the docker forums](https://forums.docker.com/t/should-docker-run-net-host-work/14215/10). ```bash $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -e "TZ=America/Los_Angeles" -p 8123:8123 homeassistant/home-assistant ``` -Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates. - ### {% linkable_title Windows %} When running Home Assistant in Docker on Windows, you may have some difficulty getting ports to map for routing (since the `--net=host` switch actually applies to the hypervisor's network interface). To get around this, you will need to add port proxy ipv4 rules to your local Windows machine, like so (Replacing '192.168.1.10' with whatever your Windows IP is, and '10.0.50.2' with whatever your Docker container's IP is): @@ -60,7 +49,7 @@ The steps would be: * Wait for some time until your NAS has pulled the image * Move to the "Image"-section of the Docker-app * Click on "Launch" -* Choose a container-name you want (e.g., "homeassistant") +* Choose a container-name you want (e.g. "homeassistant") * Click on "Advanced Settings" * Set "Enable auto-restart" if you like * Within "Volume" click on "Add Folder" and choose either an existing folder or add a new folder. The "mount point" has to be "/config", so that Home Assistant will use it for the configs and logs. @@ -87,69 +76,6 @@ Remark: to restart your Home Assistant within Synology NAS, you just have to do If you want to use a USB Bluetooth adapter or Z-Wave USB Stick with Home Assistant on Synology Docker these instructions do not correctly configure the container to access the USB devices. To configure these devices on your Synology Docker Home Assistant you can follow the instructions provided [here](https://philhawthorne.com/installing-home-assistant-io-on-a-synology-diskstation-nas/) by Phil Hawthorne.

-### {% linkable_title QNAP NAS %} - -As QNAP within QTS now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatibility-information, if your NAS is supported), see https://www.qnap.com/solution/container_station/en/index.php - -The steps would be: - - - Install "Container Station" package on your Qnap NAS - - Launch Container Station and move to "Create Container"-section - - Search image "homeassistant/home-assistant" with Docker hub and click on "Install" - - Choose "latest" version and click next - - Choose a container-name you want (e.g., "homeassistant") - - Click on "Advanced Settings" - - Within "Shared Folders" click on "Volume from host" > "Add" and choose either an existing folder or add a new folder. The "mount point has to be `/config`, so that Home Assistant will use it for the configuration and logs. - - Within "Network" and select Network Mode to "Host" - - To ensure that Home Assistant displays the correct timezone go to the "Environment" tab and click the plus sign then add `variable` = `TZ` & `value` = `Europe/London` choosing [your correct timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) - - Click on "Create" - - Wait for some time until your NAS has created the container - - Your Home Assistant within Docker should now run and will serve the web interface from port 8123 on your Docker host (this will be your Qnap NAS IP address - for example `http://192.xxx.xxx.xxx:8123`) - -Remark: To update your Home Assistant on your Docker within Qnap NAS, you just remove container and image and do steps again (Don't remove "config" folder). - -If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assistant on Qnap Docker, follow those steps: - -#### {% linkable_title Z-Wave %} - - - Connect to your NAS over SSH - - Load cdc-acm kernel module(when nas restart need to run this command) - `insmod /usr/local/modules/cdc-acm.ko` - - Find USB devices attached. Type command: - `ls /dev/tty*` - The above command should show you any USB devices plugged into your NAS. If you have more than one, you may get multiple items returned. Like : `ttyACM0` - - - Run Docker command: - `docker run --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant` - - `-v` is your config path - `-e` is set timezone - - - Edit `configuration.yaml` - -```yaml -zwave: - usb_path: /dev/ttyACM0 -``` - -That will tell Home Assistant where to look for our Z-wave radio. - -#### {% linkable_title Bluetooth %} - - - Connect to your NAS over SSH - - Run Docker command: - `docker run --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant` - - First `-v` is your config path - `-e` is set timezone - - - Edit the `configuration.yaml` file - -```yaml -device_tracker: - - platform: bluetooth_tracker -``` - ### {% linkable_title Restart %} If you change the configuration you have to restart the server. To do that you have 2 options. @@ -164,8 +90,7 @@ As the docker command becomes more complex, switching to `docker-compose` can be ```yaml version: '3' services: - homeassistant: - container_name: home-assistant + web: image: homeassistant/home-assistant volumes: - /path/to/your/config:/config @@ -182,12 +107,10 @@ $ docker-compose up -d ### {% linkable_title Exposing Devices %} -In order to use Z-Wave, ZigBbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: +In order to use z-wave, zigbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: ```bash -$ docker run -d --name="home-assistant" -v /path/to/your/config:/config \ - -v /etc/localtime:/etc/localtime:ro --device /dev/ttyUSB0:/dev/ttyUSB0 \ - --net=host homeassistant/home-assistant +$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --device /dev/ttyUSB0:/dev/ttyUSB0 --net=host homeassistant/home-assistant ``` or in a `docker-compose.yml` file: @@ -195,8 +118,7 @@ or in a `docker-compose.yml` file: ```yaml version: '3' services: - homeassistant: - container_name: home-assistant + web: image: homeassistant/home-assistant volumes: - /path/to/your/config:/config diff --git a/source/_docs/installation/hassbian.markdown b/source/_docs/installation/hassbian.markdown index bc20ad6359..a9177f3ab1 100644 --- a/source/_docs/installation/hassbian.markdown +++ b/source/_docs/installation/hassbian.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Hassbian" -description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi." +description: "Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi." date: 2016-09-26 21:00 sidebar: true comments: false @@ -10,7 +10,7 @@ footer: true redirect_from: /getting-started/hassbian/ --- -Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3B+. It is one of the easiest ways of installing Home Assistant. +Hassbian is our customized operating system for the Raspberry Pi 3. It is the easiest way of installing Home Assistant. - [Install Hassbian][install] - [Customize your installation][customize] diff --git a/source/_docs/installation/hassbian/common-tasks.markdown b/source/_docs/installation/hassbian/common-tasks.markdown index edf92d8ace..6fddcd360b 100644 --- a/source/_docs/installation/hassbian/common-tasks.markdown +++ b/source/_docs/installation/hassbian/common-tasks.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Common tasks on Hassbian" -description: "Instructions on how to do common tasks on Hassbian." +description: "Instructions how to do common tasks on Hassbian." date: 2016-09-26 21:00 sidebar: true comments: false @@ -11,7 +11,7 @@ redirect_from: /docs/hassbian/common-tasks/ --- ### {% linkable_title Login to the Raspberry Pi %} -To login to your Raspberry Pi running Hassbian you're going to be using a ssh client. Depending on your platform there are several alternatives for doing this. Linux and Max OS generally have a ssh client installed. Windows users are recommended to download and install the ssh client [Putty][ssh-putty]. +To login to your Raspberry Pi running HASSbian you're going to be using a ssh client. Depending on your platform there are several alternatives for doing this. Linux and Max OS generally have a ssh client installed. Windows users are recommended to download and install the ssh client [Putty][ssh-putty]. Connect to the Raspberry Pi over ssh. Default user name is `pi` and password is `raspberry`. Linux and Mac OS users execute the following command in a terminal. @@ -28,22 +28,22 @@ Optionally, starting with Windows 10 anniversary update, you can use the built-i Log in as the `pi` account and execute the following commands: ```bash -$ sudo systemctl stop home-assistant@homeassistant.service +$ sudo systemctl stop home-assistant@homeassistant.service ``` Replace `stop` with `start` or `restart` to get the desired functionality. -To get the current state of the `homeassistant.service` replace `stop` with `status`. +To get the current state of the `homeassistant.service` replace `stop` with `status`. ### {% linkable_title Update Home Assistant %}

-You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant` +You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`

Log in as the `pi` account and execute the following commands: ```bash -$ sudo systemctl stop home-assistant@homeassistant.service +$ sudo systemctl stop home-assistant@homeassistant.service $ sudo su -s /bin/bash homeassistant $ source /srv/homeassistant/bin/activate $ pip3 install --upgrade homeassistant @@ -53,12 +53,12 @@ $ sudo systemctl start home-assistant@homeassistant.service This will in order do the following: -- Stop the Home Assistant service running on Hassbian +- Stop the Home Assistant service running on HASSbian - Open a shell as the `homeassistant` user running the Homeassistant service and that has ownership over the Home Assistant installation. - Change into the virtual Python environment at `/srv/homeassistant/` containing the Home Assistant installation. - Upgrade the Home Assistant installation to the latest release. - Exit the shell and return to the `pi` user. -- Start the Home Assistant service. +- Restart the Home Assistant service. ### {% linkable_title Manually launch Home Assistant %} Log in as the `pi` account and execute the following commands: diff --git a/source/_docs/installation/hassbian/customization.markdown b/source/_docs/installation/hassbian/customization.markdown index e1c968a0c4..adc479f6d4 100644 --- a/source/_docs/installation/hassbian/customization.markdown +++ b/source/_docs/installation/hassbian/customization.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Customization" -description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi." +description: "Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi." date: 2016-09-26 21:00 sidebar: true comments: false @@ -10,34 +10,26 @@ footer: true redirect_from: /docs/hassbian/customization/ --- -To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of suites that can easily be installed or upgraded for easier customization of your Home Assistant installation. -The tool is available by running `hassbian-config`. +To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of packages that can easily be installed or upgraded for easier customization of your Home Assistant installation. +The tool is available by running `hassbian-config`. ### Install scripts -To view the available suites run `hassbian-config show` or have a look at the [hassbian-scripts repository][hassbian-repo]. -These are some of the available suites: - - [AppDaemon](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/appdaemon.md) - - [Duck DNS](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/duckdns.md) _This can also be configured to generate Let's Encrypt SSL certificates_ - - [Homebridge](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/homebridge.md) - - [Mosquitto](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/mosquitto.md) - - [Samba](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/samba.md) - - [Webterminal](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/webterminal.md) - - Various database engines. - - [MariaDB](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/mariadb.md) - - [PostgreSQL](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/postgresql.md) - - [MS SQL](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/mssql.md) +To view the available packages run `hassbian-config show` and `sudo hassbian-config install PACKAGENAME`. + - Install Hue. Configures the Python executable to allow usage of low numbered ports for use with Emulated Hue component that's used with Amazon Echo, Google Home and Mycroft.ai. + - Install MariaDB. This script installs MariaDB and it's dependencies for use with the recorder component in Home Assistant. No database or database user is created during this setup and will need to be created manually. + - Install Mosquitto MQTT server. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support. + - Install Libcec. Adds local [HDMI CEC support][cec]. *This scipt is currently brooken upstream since it currently doesn't build properly for Python >3.4* + - Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and it's usage is not recommended if you share your network with others. + - Install Tradfri. Installs dependencies for using IKEA Trådfri. + - Install Duck DNS auto renewal. This script adds a cron job to auto update the WAN IP address for the defined domain. Before running this script you should already have an Duck DNS account. During the installation you will be asked to supply your domain name and the token for your account. + - Install a web terminal for easy access to ssh in any web browser. This script installs a web terminal called 'shellinabox' on your system that gives you SSH access in your web browser. - To install any of them simply run `sudo hassbian-config install SUITE`. - -### Upgrade scripts -To view the available suites run `hassbian-config show` or have a look at the [hassbian-scripts repository][hassbian-repo]. -These are some of the available suites: -- [AppDaemon](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/appdaemon.md) -- [Hassbian](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/hassbian.md) -- [Home Assistant](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/homeassistant.md) -- [hassbian-config (hassbian-sctipts)](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/hassbian_config.md) - -To upgrade any of them simply run `sudo hassbian-config upgrade SUITE`. +#### Upgrade scripts +To view the available packages run `hassbian-config show` and `sudo hassbian-config upgrade PACKAGENAME`. +- Upgrade your Home Assistant installation. +- Upgrade your HASSbian installation. +- Upgrade HASSbian-scripts. +- Upgrade HASSbian-scripts from dev branch. For more information about this tool have a look at the [hassbian-scripts repository][hassbian-repo]. diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index c6e73879ef..3c4acb26e9 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Installing Hassbian" -description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi." +description: "Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi." date: 2016-09-26 21:00 sidebar: true comments: false @@ -10,23 +10,22 @@ footer: true redirect_from: /docs/hassbian/installation/ --- -One of the easiest ways to install Home Assistant on your Raspberry Pi Zero, 2 ,3 and 3B+ is by using Hassbian: a Raspberry Pi image with Home Assistant built-in. The image will install the latest version of Home Assistant on initial boot (~10 minutes). +The easiest way to install Home Assistant on your Raspberry Pi is by using HASSbian: a Raspberry Pi image with Home Assistant built-in. The image will install the latest version of Home Assistant on initial boot (~10 minutes). - 1. [Download the Hassbian image][image-download] + 1. [Download the Hassbian image][image-download] (364 MB) 2. Use [Etcher][etcher] to flash the image to your SD card - 3. Ensure your Raspberry Pi has wired access to the internet for the entire process or configure your [wireless network settings](#wireless-network) **before proceeding to step 4**. - 4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 10 minutes. + 3. Ensure your Raspberry Pi has wired access to the internet for the entire process or configure your wireless network settings **before proceeding to step 4**. + 4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 5 minutes.

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.

-These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk). -Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc). +These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk). Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc). -After initial boot an installer will run in the background, this will download and install the newest version of [hassbian-config](https://github.com/home-assistant/hassbian-scripts) and Home-Assistant, this takes around 10 minutes to complete, after it has finished, you will be prompted to login: `hassbian login:`. Installation is complete at this point. The default username is `pi` and the password is `raspberry`. +After initial boot an installer will run in the background and takes around 15 minutes to complete, after it has finished, you will be prompted to login: `hassbian login:`. Installation is complete at this point. The default username is `pi` and the password is `raspberry`. -Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at [http://hassbian.local:8123]. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`. +Open a browser on a device that's connected to the same WiFi network as your Raspberry Pi and point it to Home Assistant at [http://hassbian.local:8123]. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`. If you find that the web page is not reachable after 30 minutes or so, check that you have files in `/home/homeassistant/.homeassistant/`, if there are no files in this location then run the installer manually using this command: `sudo systemctl start install_homeassistant.service`. @@ -36,7 +35,7 @@ The following extras are included on the image: - GPIO pins are ready to use. - Bluetooth is ready to use (supported models only, no Bluetooth LE). - SSH server is enabled. - - A tool called [`hassbian-config`](https://github.com/home-assistant/hassbian-scripts#hassbian-scripts). + - A tool called [`hassbian-config`](https://github.com/home-assistant/hassbian-scripts#hassbian-config-hassbian-config). ### {% linkable_title Wireless Network %} @@ -64,3 +63,4 @@ You may need to adjust the country code depending upon where you are. A list of [etcher]: https://etcher.io/ [http://hassbian.local:8123]: http://hassbian.local:8123 [wifi-setup]: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md + diff --git a/source/_docs/installation/hassbian/integrations.markdown b/source/_docs/installation/hassbian/integrations.markdown index d6f7a3fd0c..5658ce712e 100644 --- a/source/_docs/installation/hassbian/integrations.markdown +++ b/source/_docs/installation/hassbian/integrations.markdown @@ -26,11 +26,11 @@ For more details about the GPIO layout, visit the [documentation](https://www.ra Permission have been given to the `homeassistant` user to use the GPIO pins and all of the following components should require no underlying changes to work. Just follow the component pages for each on how to add them to your Home Assistant installation. - - [DHT Sensor](/components/sensor.dht/) - - [Raspberry Pi Cover](/components/cover.rpi_gpio/) - - [Raspberry Pi GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/) - - [Raspberry Pi GPIO Switch](/components/switch.rpi_gpio/) - - [Raspberry Pi RF Switch](/components/switch.rpi_rf/) + - [DHT Sensor](/components/sensor.dht/). + - [Raspberry Pi Cover](/components/cover.rpi_gpio/). + - [Raspberry Pi GPIO Binary Sensor](/components/binary_sensor.rpi_gpio/). + - [Raspberry Pi GPIO Switch](/components/switch.rpi_gpio/). + - [Raspberry Pi RF Switch](/components/switch.rpi_rf/). ### {% linkable_title Raspberry Pi Camera %} diff --git a/source/_docs/installation/hassbian/upgrading.markdown b/source/_docs/installation/hassbian/upgrading.markdown index d7e094c16a..7ef479edcb 100644 --- a/source/_docs/installation/hassbian/upgrading.markdown +++ b/source/_docs/installation/hassbian/upgrading.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Upgrading Hassbian" -description: "Instructions on how to upgrade Hassbian to the latest version." +description: "Instructions how to upgrade Hassbian to the latest version." date: 2016-09-26 21:00 sidebar: true comments: false @@ -10,7 +10,7 @@ footer: true redirect_from: /docs/hassbian/upgrading/ --- -Hassbian is based on Raspbian and uses the same repositories. Any changes to Raspbian will be reflected in Hassbian. To update and upgrade system packages and installed software (excluding Home Assistant) do the following. +HASSbian is based on Raspbian and uses the same repositories. Any changes to Raspbian will be reflected in HASSbian. To update and upgrade system packages and installed software (excluding Home Assistant) do the following. Log in as the `pi` account and execute the following commands: ```bash @@ -18,9 +18,10 @@ $ sudo apt-get update $ sudo apt-get -y upgrade ``` + #### {% linkable_title Updating Home Assistant %}

-You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant` +You can also use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`

To update the Home Assistant installation execute the following command as the `pi` user. diff --git a/source/_docs/installation/macos.markdown b/source/_docs/installation/macos.markdown index 51292c43ab..25b3706db7 100644 --- a/source/_docs/installation/macos.markdown +++ b/source/_docs/installation/macos.markdown @@ -11,7 +11,7 @@ footer: true [macOS](http://www.apple.com/macos/) is available by default on Apple computer. If you run a different operating system, please refer to the other section of the documentation. -To run Home Assistant on macOS you need to install Python first. Download Python 3.5.3 or later from https://www.python.org/downloads/mac-osx/ and follow the instructions of the installer. +To run Home Assistant on macOS you need to install Python first. Download Python from https://www.python.org/downloads/mac-osx/ and follow the instructions of the installer. Open a terminal and install Home Assistant. diff --git a/source/_docs/installation/raspberry-pi-all-in-one.markdown b/source/_docs/installation/raspberry-pi-all-in-one.markdown index f983bb9d0b..6039ffed44 100644 --- a/source/_docs/installation/raspberry-pi-all-in-one.markdown +++ b/source/_docs/installation/raspberry-pi-all-in-one.markdown @@ -9,5 +9,5 @@ redirect_from: /getting-started/installation-raspberry-pi-all-in-one/ ---

- The All-In-One Installer is deprecated, you will have problems updating Home Assistant in 2018. Please move to another [installation method](/getting-started/). + The All-In-One Installer is deprecated, you will have problems updating Home Assistant in 2018. Please move to another [installation method](https://home-assistant.io/getting-started/).

diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index c272e97dbf..178ad0abdf 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -12,16 +12,6 @@ redirect_from: /getting-started/installation-raspberry-pi/ This installation of Home Assistant requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite. -You must have Python 3.5.3 or later installed, which is the case for Raspbian Stretch. - -

-Although these installation steps specifically mention a Raspberry Pi, you can go ahead and proceed on any Linux install as well. This guide is also referred to as the "Advanced Guide" for a virtual environment install. -

- -

-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. USB ports on your computer also will not supply enough power and must not be used. -

- Connect to the Raspberry Pi over SSH. Default password is `raspberry`. You will need to enable SSH access. The Raspberry Pi website has instructions [here](https://www.raspberrypi.org/documentation/remote-access/ssh/). @@ -49,10 +39,10 @@ $ sudo apt-get install python3 python3-venv python3-pip ``` Add an account for Home Assistant called `homeassistant`. -Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory. The arguments `-G dialout` adds the user to the `dialout` group. This is required for using Z-Wave and Zigbee controllers. +Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory. ```bash -$ sudo useradd -rm homeassistant -G dialout +$ sudo useradd -rm homeassistant ``` Next we will create a directory for the installation of Home Assistant and change the owner to the `homeassistant` account. @@ -71,13 +61,7 @@ $ cd /srv/homeassistant $ python3 -m venv . $ source bin/activate ``` -Once you have activated the virtual environment (notice the prompt change) you will need to run the following command to install a required python package. - -```bash -(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel -``` - -Once you have installed the required python package it is now time to install Home Assistant! +Once you have activated the virtual environment you will notice the prompt change and then you can install Home Assistant. ```bash (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant @@ -95,15 +79,3 @@ When you run the `hass` command for the first time, it will download, install an

If you want setup `hass` as a daemon and autostart it on boot please refer to [Autostart Home Assistant](/docs/autostart/). - -### {% linkable_title Updating %} - -To update to the latest version of Home Assistant follow these simple steps: - -```bash -$ sudo su -s /bin/bash homeassistant -$ source /srv/homeassistant/bin/activate -$ pip3 install --upgrade homeassistant -``` - -Once the last command executes restart the Home Assistant service to apply the latest updates. Please keep in mind that some updates may take longer to boot up than others. If Home Assistant fails to start make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases). diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown index 454dcd8858..9edf9fbb00 100644 --- a/source/_docs/installation/synology.markdown +++ b/source/_docs/installation/synology.markdown @@ -10,10 +10,6 @@ footer: true redirect_from: /getting-started/installation-synology/ --- -

-Synology only provide Python 3.5.1, which is not compatible with Home Assistant 0.65.0 or later. Until Synology offer an updated version of Python, Home Assistant 0.64 is the most recent version that will be able to be installed. You can manually specify the version of Home Assistant to install, for example to install version 0.64.3 you would do `./python3 -m pip install homeassistant==0.64.3` -

- There are 2 alternatives, when using Home Assistant on Synology NAS: 1. using Docker 2. directly running on DSM @@ -55,21 +51,21 @@ Install PIP (Python's package management system) # ./python3 -m ensurepip ``` -Use PIP to install Homeassistant package 0.64.3 +Use PIP to install Homeassistant package ```bash -# ./python3 -m pip install homeassistant==0.64.3 +# ./python3 -m pip install homeassistant ``` Create homeassistant config directory & switch to it ```bash # mkdir /volume1/homeassistant -# chown homeassistant /volume1/homeassistant +# chown /volume1/homeassistant homeassistant # chmod 755 /volume1/homeassistant # cd /volume1/homeassistant ``` -Hint: alternatively you can also create a "Shared Folder" via Synology WebUI (e.g., via "File Station") - this has the advantage that the folder is visible via "File Station". +Hint: alternatively you can also create a "Shared Folder" via Synology WebUI (e.g. via "File Station") - this has the advantage that the folder is visible via "File Station". Create hass-daemon file using the following code (edit the variables in uppercase if necessary) diff --git a/source/_docs/installation/updating.markdown b/source/_docs/installation/updating.markdown index a9884322b6..a23aa31b27 100644 --- a/source/_docs/installation/updating.markdown +++ b/source/_docs/installation/updating.markdown @@ -11,14 +11,10 @@ redirect_from: /getting-started/updating/ ---

-The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install [Hass.io](/hassio/), [Hassbian](/docs/installation/hassbian/common-tasks/#update-home-assistant), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant). +The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install [Hass.io](/hassio/), [HASSbian](/docs/hassbian/common-tasks/#update-home-assistant), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant).

-Check what's new in the latest version and potentially impacts your system in [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). It is good practice to review these release notes and pay close attention to the **Breaking Changes** that are listed there. If you haven't done an update for a while, you should also check previous release notes as they can also contain relevant **Breaking Changes**. **Breaking Changes** may require configuration updates for your components. If you missed this and Home Assistant refuses to start, check the log file in the [configuration](/docs/configuration/) directory, e.g., `.homeassistant/home-assistant.log`, for details about broken components. - -

-To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Hass.io](/hassio/), [Hassbian](/docs/hassbian/installation/), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv). -

+View what's new in the latest version and potential impacts on your system [here](https://github.com/home-assistant/home-assistant/releases). The default way to update Home Assistant to the latest release, when available, is: @@ -26,13 +22,11 @@ The default way to update Home Assistant to the latest release, when available, $ pip3 install --upgrade homeassistant ``` -For a Docker container, simply pull the latest one: +After updating, you must restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well. -```bash -$ sudo docker pull homeassistant/home-assistant:latest -``` - -After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well. +

+To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Hass.io](/hassio/), [HASSbian](/docs/hassbian/installation/), [Vagrant](/docs/installation/vagrant/), or [Virtualenv](/docs/installation/virtualenv). +

[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant. @@ -46,7 +40,7 @@ $ pip3 install homeassistant==0.XX.X #### {% linkable_title Run the development version %} -If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to `dev`. +If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to `dev`.

The "dev" branch is likely to be unstable. Potential consequences include loss of data and instance corruption. diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 7c56772af7..51ab71aa14 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -10,16 +10,12 @@ footer: true redirect_from: /getting-started/installation-virtualenv/ --- -If you already have Python 3.5.3 or later installed, you can easily give Home Assistant a spin. +If you already have Python 3.5 or later installed, you can easily give Home Assistant a spin. It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most unix like systems. _(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`.)_ -

-It is recommended to use the [advanced guide](/docs/installation/raspberry-pi/) which allows for the installation to run as a `homeassistant` user. The steps below may be shorter but some users find difficulty when applying updates and may run into issues. -

- ### {% linkable_title Install %} 1. Create a virtual environment in your current directory: @@ -74,12 +70,3 @@ It is recommended to use the [advanced guide](/docs/installation/raspberry-pi/)

Looking for more advanced guides? Check our [Rasbian guide](/docs/installation/raspberry-pi/) or the [other installation guides](/docs/installation/).

- -### {% linkable_title After upgrading Python %} - -If you've upgraded Python (for example, you were running 3.5.2 and now you've installed 3.5.4) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory: - -```bash -$ mv homeassistant homeassistant.old -``` -Then follow the [Install](/docs/installation/virtualenv/#install) steps again, being sure to use the newly installed version of Python. diff --git a/source/_docs/mqtt/birth_will.markdown b/source/_docs/mqtt/birth_will.markdown index 8ba1aa593a..afce8a592f 100644 --- a/source/_docs/mqtt/birth_will.markdown +++ b/source/_docs/mqtt/birth_will.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Birth and Last will" -description: "Instructions on how to setup MQTT birth and last will messages within Home Assistant." +description: "Instructions how to setup MQTT birth and last will messages within Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 87406a5873..a5f9e9ba70 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -1,13 +1,14 @@ --- layout: page title: "MQTT Brokers" -description: "Instructions on how to setup MQTT brokers for Home Assistant." +description: "Instructions how to setup MQTT brokers for Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#picking-a-broker --- The MQTT component needs you to run an MQTT broker for Home Assistant to connect to. There are four options, each with various degrees of ease of setup and privacy. @@ -62,7 +63,7 @@ mqtt: {% configuration %} broker: required: false - description: The IP address or hostname of your MQTT broker, e.g., 192.168.1.32. + description: The IP address or hostname of your MQTT broker, e.g. 192.168.1.32. type: string port: required: false @@ -98,23 +99,14 @@ tls_insecure: type: boolean tls_version: required: false - description: "TLS/SSL protocol version to use. Available options are: `'auto'`, `'1.0'`, `'1.1'`, `'1.2'`. Make sure to put quotes around the value. Defaults to `'auto'`." + description: "TLS/SSL protocol version to use. Available options are: `auto`, `1.0`, `1.1`, `1.2`. Defaults to `auto`." type: string {% endconfiguration %}

There is an issue with the Mosquitto package included in Ubuntu 14.04 LTS. Specify `protocol: 3.1` in your MQTT configuration to work around this issue. -If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS'` then you need to set `tls_version: '1.2'`. -

- -

-If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file /etc/systemd/system/home-assistant@homeassistant.service as root (e.g., sudo nano /etc/systemd/system/home-assistant@homeassistant.service) and add the mosquitto service: -``` -[Unit] -Description=Home Assistant -After=network.target mosquitto.service -``` +If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS'` then you need to set `tls_version: 1.2`.

diff --git a/source/_docs/mqtt/certificate.markdown b/source/_docs/mqtt/certificate.markdown index 252e0a5160..bf410b916a 100644 --- a/source/_docs/mqtt/certificate.markdown +++ b/source/_docs/mqtt/certificate.markdown @@ -1,7 +1,7 @@ --- layout: page title: "MQTT Certificate" -description: "Instructions on how to setup MQTT with a certificate in Home Assistant." +description: "Instructions how to setup MQTT with a certificate in Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 27b588f015..0fa7a45c04 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -1,13 +1,14 @@ --- layout: page title: "MQTT Discovery" -description: "Instructions on how to setup MQTT Discovery within Home Assistant." +description: "Instructions how to setup MQTT Discovery within Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#discovery --- The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/components/binary_sensor.http/) and the [HTTP sensor](/components/sensor.http/). The basic idea is that the device itself adds its configuration into your `configuration.yaml` automatically. To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. @@ -15,7 +16,6 @@ The discovery of MQTT devices will enable one to use MQTT devices with only mini Supported by MQTT discovery: - [Binary sensors](/components/binary_sensor.mqtt/) -- [Cameras](/components/camera.mqtt/) - [Covers](/components/cover.mqtt/) - [Fans](/components/fan.mqtt/) - [Lights](/components/light.mqtt/) @@ -43,8 +43,8 @@ The discovery topic need to follow a specific format: ``` - ``: One of the supported components, eg. `binary_sensor`. -- `` (*Optional*): ID of the node providing the topic. -- ``: The ID of the device. This is only to allow for separate topics for each device and is not used for the `entity_id`. +- ``: (*Optional*) id of the node providing the topic. +- ``: The ID of the device. This will become the `entity_id` in Home Assistant. - `<>`: The topic `config` or `state` which defines the current action. The payload will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`. @@ -56,9 +56,8 @@ The `` level can be used by clients to only subscribe to their own (com The following firmware for ESP8266, ESP32 and Sonoff unit has built-in support for MQTT discovery: - [Sonoff-Tasmota](https://github.com/arendst/Sonoff-Tasmota) (starting with 5.11.1e) -- [esphomeyaml](https://esphomelib.com/esphomeyaml/index.html) +- [esphomelib](https://github.com/OttoWinter/esphomelib) - [ESPurna](https://github.com/xoseperez/espurna) -- [Arilux AL-LC0X LED controllers](https://github.com/mertenats/Arilux_AL-LC0X) ### {% linkable_title Examples %} diff --git a/source/_docs/mqtt/logging.markdown b/source/_docs/mqtt/logging.markdown index d4deaf4f48..08b84f5277 100644 --- a/source/_docs/mqtt/logging.markdown +++ b/source/_docs/mqtt/logging.markdown @@ -1,13 +1,14 @@ --- layout: page title: "MQTT Logging" -description: "Instructions on how to setup MQTT Logging within Home Assistant." +description: "Instructions how to setup MQTT Logging within Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#logging --- The [logger](/components/logger/) component allow the logging of received MQTT messages. diff --git a/source/_docs/mqtt/processing_json.markdown b/source/_docs/mqtt/processing_json.markdown index 8afb951f8e..b10558655c 100644 --- a/source/_docs/mqtt/processing_json.markdown +++ b/source/_docs/mqtt/processing_json.markdown @@ -1,13 +1,14 @@ --- layout: page title: "Processing JSON" -description: "Instructions on how to process the MQTT payload." +description: "Instructions how to process the MQTT payload." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#processing-json --- The MQTT [switch](/components/switch.mqtt/) and [sensor](/components/sensor.mqtt/) platforms support processing JSON over MQTT messages and parsing them using JSONPath. JSONPath allows you to specify where in the JSON the value resides that you want to use. The following examples will always return the value `100`. diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown index 941d79e7b7..0b3e778fdf 100644 --- a/source/_docs/mqtt/service.markdown +++ b/source/_docs/mqtt/service.markdown @@ -1,13 +1,14 @@ --- layout: page title: "MQTT Publish service" -description: "Instructions on how to setup the MQTT Publish service within Home Assistant." +description: "Instructions how to setup the MQTT Publish service within Home Assistant." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#publish-service --- The MQTT component will register the service `publish` which allows publishing messages to MQTT topics. There are two ways of specifying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload. diff --git a/source/_docs/mqtt/testing.markdown b/source/_docs/mqtt/testing.markdown index e6c87bdbfc..3cc565d051 100644 --- a/source/_docs/mqtt/testing.markdown +++ b/source/_docs/mqtt/testing.markdown @@ -1,13 +1,14 @@ --- layout: page title: "MQTT Testing" -description: "Instructions on how to test your MQTT setup." +description: "Instructions how to test your MQTT setup." date: 2015-08-07 18:00 sidebar: true comments: false sharing: true footer: true logo: mqtt.png +redirect_from: /components/mqtt/#testing-your-setup --- The `mosquitto` broker package ships commandline tools (often as `*-clients` package) to send and receive MQTT messages. As an alternative have a look at [hbmqtt_pub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provided by HBMQTT. For sending test messages to a broker running on localhost check the example below: diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index ef490f4de2..5c39a604ab 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -21,8 +21,7 @@ script: sequence: # This is written using the Script Syntax - service: light.turn_on - data: - entity_id: light.ceiling + entity_id: light.ceiling - service: notify.notify data: message: 'Turned on the ceiling light!' @@ -33,11 +32,11 @@ script: The most important one is the action to call a service. This can be done in various ways. For all the different possibilities, have a look at the [service calls page]. ```yaml -- alias: Bedroom lights on - service: light.turn_on - data: - entity_id: group.bedroom - brightness: 100 +alias: Bedroom lights on +service: light.turn_on +data: + entity_id: group.bedroom + brightness: 100 ``` ### {% linkable_title Test a Condition %} @@ -45,9 +44,9 @@ The most important one is the action to call a service. This can be done in vari While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will finish. There are many different conditions which are documented at the [conditions page]. ```yaml -- condition: state - entity_id: device_tracker.paulus - state: 'home' +condition: state +entity_id: device_tracker.paulus +state: 'home' ``` ### {% linkable_title Delay %} @@ -56,53 +55,46 @@ Delays are useful for temporarily suspending your script and start it at a later ```yaml # Waits 1 hour -- delay: '01:00' +delay: 01:00 ``` ```yaml # Waits 1 minute, 30 seconds -- delay: '00:01:30' +delay: 00:01:30 ``` ```yaml # Waits 1 minute -- delay: - # supports milliseconds, seconds, minutes, hours, days - minutes: 1 +delay: + # supports milliseconds, seconds, minutes, hours, days + minutes: 1 ``` -{% raw %} ```yaml # Waits however many minutes input_number.minute_delay is set to # Valid formats include HH:MM and HH:MM:SS -- delay: "00:{{ states('input_number.minute_delay')|int }}:00" +delay: {% raw %}'00:{{ states.input_number.minute_delay.state | int }}:00'{% endraw %} ``` -{% endraw %} - ### {% linkable_title Wait %} Wait until some things are complete. We support at the moment `wait_template` for waiting until a condition is `true`, see also on [Template-Trigger](/docs/automation/trigger/#template-trigger). It is possible to set a timeout after which the script will abort its execution if the condition is not satisfied. Timeout has the same syntax as `delay`. -{% raw %} ```yaml # wait until media player have stop the playing -- wait_template: "{{ is_state('media_player.floor', 'stop') }}" +wait_template: {% raw %}"{{ states.media_player.floor.state == 'stop' }}"{% endraw %} ``` -{% endraw %} -{% raw %} ```yaml -# wait until a valve is < 10 or abort after 1 minute. -- wait_template: "{{ states.climate.kitchen.attributes.valve|int < 10 }}" - timeout: '00:01:00' +# wait until a valve is < 10 or abort after 1 minutes. +wait_template: {% raw %}"{{ states.climate.kitchen.attributes.valve < 10 }}"{% endraw %} +timeout: 00:01:00 ``` -{% endraw %} When using `wait_template` within an automation `trigger.entity_id` is supported for `state`, `numeric_state` and `template` triggers, see also [Available-Trigger-Data](/docs/automation/templating/#available-trigger-data). {% raw %} ```yaml -- wait_template: "{{ is_state('trigger.entity_id', 'on') }}" +wait_template: "{{ is_state(trigger.entity_id, 'on') }}" ``` {% endraw %} @@ -110,13 +102,13 @@ It is also possible to use dummy variables, e.g., in scripts, when using `wait_t {% raw %} ```yaml -# Service call, e.g., from an automation. -- service: script.do_something - data_template: - dummy: input_boolean.switch +# Service call, e.g. from an automation. +service: script.do_something +data_template: + dummy: "{{ input_boolean.switch }}" # Inside the script -- wait_template: "{{ is_state(dummy, 'off') }}" +wait_template: "{{ is_state(dummy, 'off') }}" ``` {% endraw %} @@ -125,12 +117,12 @@ It is also possible to use dummy variables, e.g., in scripts, when using `wait_t This action allows you to fire an event. Events can be used for many things. It could trigger an automation or indicate to another component that something is happening. For instance, in the below example it is used to create an entry in the logbook. ```yaml -- event: LOGBOOK_ENTRY - event_data: - name: Paulus - message: is waking up - entity_id: device_tracker.paulus - domain: light +event: LOGBOOK_ENTRY +event_data: + name: Paulus + message: is waking up + entity_id: device_tracker.paulus + domain: light ``` You can also use event_data_template to fire an event with custom data. This could be used to pass data to another script awaiting @@ -138,10 +130,10 @@ an event trigger. {% raw %} ```yaml -- event: MY_EVENT - event_data_template: - name: myEvent - customData: "{{ myCustomVariable }}" +event: MY_EVENT +event_data_template: + name: myEvent + customData: "{{ myCustomVariable }}" ``` {% endraw %} @@ -153,13 +145,13 @@ The following automation shows how to raise a custom event called `event_light_s ```yaml - alias: Fire Event trigger: - - platform: state - entity_id: switch.kitchen - to: 'on' + platform: state + entity_id: switch.kitchen + to: 'on' action: - - event: event_light_state_changed - event_data: - state: 'on' + event: event_light_state_changed + event_data: + state: "on" ``` {% endraw %} @@ -169,8 +161,8 @@ The following automation shows how to capture the custom event `event_light_stat ```yaml - alias: Capture Event trigger: - - platform: event - event_type: event_light_state_changed + platform: event + event_type: event_light_state_changed action: - service: notify.notify data_template: diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index 5ca5b9c756..3314e0f427 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -28,24 +28,9 @@ condition: below: '20' ``` -If you do not want to combine AND and OR conditions, you can also just list them sequentially, by default all conditions have to be true. -The following configuration works the same as the one listed above: - -```yaml -condition: - - condition: state - entity_id: 'device_tracker.paulus' - state: 'home' - - condition: numeric_state - entity_id: 'sensor.temperature' - below: '20' -``` - -Currently you need to format your conditions like this to be able to edit them using the [automations editor](/docs/automation/editor/). - ### {% linkable_title OR condition %} -Test multiple conditions in 1 condition statement. Passes if any embedded condition is valid. +Test multiple conditions in 1 condition statement. Passes if any embedded conditions is valid. ```yaml condition: @@ -119,26 +104,16 @@ condition: The sun condition can test if the sun has already set or risen when a trigger occurs. The `before` and `after` keys can only be set to `sunset` or `sunrise`. They have a corresponding optional offset value (`before_offset`, `after_offset`) that can be added, similar to the [sun trigger][sun_trigger]. -[sun_trigger]: /docs/automation/trigger/#sun-trigger +[sun_trigger]: /getting-started/automation-trigger/#sun-trigger ```yaml condition: condition: sun after: sunset - # Optional offset value - in this case it must from -1 hours relative to sunset, or after + # Optional offset value after_offset: "-1:00:00" ``` -```yaml -condition: - condition: or # 'when dark' condition: either after sunset or before sunrise - conditions: - - condition: sun - after: sunset - - condition: sun - before: sunrise -``` - Here is a truth table to clarify the parameters with and without offset: | command | night | at sunrise | daytime | at sunset | diff --git a/source/_docs/scripts/service-calls.markdown b/source/_docs/scripts/service-calls.markdown index ab73aad529..b1b1833340 100644 --- a/source/_docs/scripts/service-calls.markdown +++ b/source/_docs/scripts/service-calls.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Service Calls" -description: "Instructions on how to call services in Home Assistant." +description: "Instructions how to call services in Home Assistant." date: 2016-03-12 12:00 -0800 sidebar: true comments: false diff --git a/source/_docs/tools/benchmark.markdown b/source/_docs/tools/benchmark.markdown index 04ac884068..c95894489e 100644 --- a/source/_docs/tools/benchmark.markdown +++ b/source/_docs/tools/benchmark.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /docs/tools/scripts/#benchmark --- For testing the performance of Home Assistant the Benchmark script runs until you exit using Control+C. diff --git a/source/_docs/tools/check_config.markdown b/source/_docs/tools/check_config.markdown index b09ea5b17c..f3a926783e 100644 --- a/source/_docs/tools/check_config.markdown +++ b/source/_docs/tools/check_config.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /docs/tools/scripts/#configuration-check --- Test any changes to your `configuration.yaml` file before launching Home Assistant. This script allows you to test changes without the need to restart Home Assistant. @@ -15,23 +16,3 @@ Test any changes to your `configuration.yaml` file before launching Home Assista $ hass --script check_config ``` -The script has further options like checking configuration files which are not located in the default directory or showing your secrets for debugging. - -```bash -$ hass --script check_config -h -usage: hass [-h] [--script {check_config}] [-c CONFIG] [-i [INFO]] [-f] [-s] - -Check Home Assistant configuration. - -optional arguments: - -h, --help show this help message and exit - --script {check_config} - -c CONFIG, --config CONFIG - Directory that contains the Home Assistant - configuration - -i [INFO], --info [INFO] - Show a portion of the config - -f, --files Show used configuration files - -s, --secrets Show secret information -``` - diff --git a/source/_docs/tools/credstash.markdown b/source/_docs/tools/credstash.markdown index 023ee23998..0d419a104f 100644 --- a/source/_docs/tools/credstash.markdown +++ b/source/_docs/tools/credstash.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /docs/configuration/secrets/#storing-passwords-securely-in-aws --- Using [Credstash](https://github.com/fugue/credstash) is an alternative way to `secrets.yaml`. They can be managed from the command line via the credstash script. diff --git a/source/_docs/tools/db_migrator.markdown b/source/_docs/tools/db_migrator.markdown index 68127935ae..bdce8d1ab0 100644 --- a/source/_docs/tools/db_migrator.markdown +++ b/source/_docs/tools/db_migrator.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /components/influxdb/#data-migration ---

diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown index 99ce3e7cf7..88e282683c 100644 --- a/source/_docs/tools/dev-tools.markdown +++ b/source/_docs/tools/dev-tools.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The frontend contains a section called "Developer Tools". +The frontend contains a section called "Developer Tools".

@@ -63,7 +63,7 @@ For ex: Changing the `light.bedroom` state from `off` to `on` does not turn on t This Events section is as basic as it can get. It does only one thing – fires events on the event bus. To fire an event, simply type the name of the event, and pass the event data in JSON format. -For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as +For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as ```json { "state":"on" } @@ -83,20 +83,19 @@ If there is an automation that handles that event, it will be automatically trig {% linkable_title Template Editor %} -The Template Editor provides a way to test the template code quickly. When the Template Editor page is loaded, it comes with a sample template code that illustrates how the code can be written and tested. +The Template Editor provides a way to test the template code quickly. When the Template Editor page is loaded, it comes with a sample template code that illustrates how the code can be written and tested. -It has two sections, code goes on the left hand side, and the output is shown on the right hand side. The code can be removed and replaced, and when the page is loaded/refreshed, the default sample code will be loaded back. +It has two sections, code goes on the left hand side, and the output is shown on the right hand side. The code can be removed and replaced, and when the page is loaded/refreshed, the default sample code will be loaded back. It is a good practice to test the template code in the template editor prior to putting it in automations and scripts. -For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](/topics/templating/) +For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](https://home-assistant.io/topics/templating/) {% linkable_title mqtt %} -This section is only visible if the MQTT component is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/components/mqtt/) component. - -Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button. +This section is only visible if the MQTT is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to [mqtt]( https://home-assistant.io/components/mqtt/) +Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button. {% linkable_title Info %} diff --git a/source/_docs/tools/ensure_config.markdown b/source/_docs/tools/ensure_config.markdown index 596c44d571..c953939856 100644 --- a/source/_docs/tools/ensure_config.markdown +++ b/source/_docs/tools/ensure_config.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /docs/tools/scripts/#existence-of-configuration --- This script checks if the `configuration.yaml` file exists. If the file is not available, one is created. diff --git a/source/_docs/tools/hass.markdown b/source/_docs/tools/hass.markdown index 73e0bd68cd..3ba0896f35 100644 --- a/source/_docs/tools/hass.markdown +++ b/source/_docs/tools/hass.markdown @@ -39,7 +39,6 @@ optional arguments: specified days --log-file LOG_FILE Log file to write to. If not set, CONFIG/home- assistant.log is used - --log-no-color Disable color logs --runner On restart exit with code 100 --script ... Run one of the embedded scripts --daemon Run Home Assistant as daemon diff --git a/source/_docs/tools/influxdb_import.markdown b/source/_docs/tools/influxdb_import.markdown index 8ff3d85e7b..b8bea1046c 100644 --- a/source/_docs/tools/influxdb_import.markdown +++ b/source/_docs/tools/influxdb_import.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /components/influxdb/#data-import-script --- If you want to import all the recorded data from your recorder database you can use the data import script. It will read all your state_change events from the database and add them as data-points to the InfluxDB. You can specify the source database either by pointing the `--config` option to the config directory which includes the default SQLite database or by giving a sqlalchemy connection URI with `--uri`. diff --git a/source/_docs/tools/keyring.markdown b/source/_docs/tools/keyring.markdown index be4f2634a0..6434337b39 100644 --- a/source/_docs/tools/keyring.markdown +++ b/source/_docs/tools/keyring.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /docs/configuration/secrets/#storing-passwords-in-a-keyring-managed-by-your-os --- Using [Keyring](https://github.com/jaraco/keyring) is an alternative way to `secrets.yaml`. The secrets can be managed from the command line via the `keyring` script. diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown index 6ee6a284fa..c6a68fb3c6 100644 --- a/source/_docs/z-wave.markdown +++ b/source/_docs/z-wave.markdown @@ -37,9 +37,3 @@ There are 12 different regions for Z-Wave devices, which relates to the frequenc You'll now need to connect your [controller](/docs/z-wave/controllers/), [configure](/docs/z-wave/installation) the Z-Wave component, then [add some devices](/docs/z-wave/adding) using the [control panel](/docs/z-wave/control-panel). [This explains](/docs/z-wave/devices/) about devices, and how [entities are named](/docs/z-wave/entities). You can get more information on the [available services](/docs/z-wave/services/) and [events](/docs/z-wave/events/), what the [query stages](/docs/z-wave/query-stage) of battery powered devices are, as well as details on configuring [specific devices](/docs/z-wave/device-specific/). - -## {% linkable_title Instant status updates %} - -When you toggle a switch or control a light locally you may find that it takes some time for that to be reflected in Home Assistant. That's because Lutron had patents on the status updates using the *Hail* command class, the traditional way of allowing devices to tell the controller that something happened locally. The same result can be achieved through the *Association* command class, or *Central Scene* command class (though, *Central Scene* isn't [fully supported](https://github.com/OpenZWave/open-zwave/pull/1125) in OpenZWave). - -If you search [the Z-Wave products database](http://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](https://www.home-assistant.io/docs/z-wave/control-panel/#entities-of-this-node). diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index b6fb1f7b3d..e2a34934ba 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -18,7 +18,7 @@ To add (include) a non-secure Z-Wave [device](/docs/z-wave/devices/) to your sys 3. Activate your device to be included by following the instructions provided with the device 4. With the device in its final location, run a *Heal Network* -Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices), since this is likely to limit the features the device supports. +Don't use this for [secure devices](https://home-assistant.io/docs/z-wave/adding/#adding-secure-devices), since this is likely to limit the features the device supports.

Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports. diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index ee08d772d8..06c9bd741b 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -32,16 +32,12 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro ## {% linkable_title Z-Wave Node Management %} -

-Since 0.63 and the new experimental [entity registry](/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change the default *friendly_name* attribute for all the entities). See [this issue](https://github.com/home-assistant/home-assistant/issues/12430). -

- * **Refresh Node** refreshes the information on the node and its entities. If used on a battery powered device, the device will first need to wake for this to work. * **Remove Failed Node** will remove a failed node from the network. The node needs to be on the controller's Failed Node List (marked as `is_failed: true`), otherwise this command will fail. * **Replace Failed Node** will replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail. * **Print Node** prints all state of Z-Wave node to the console log -* **Rename Node** sets the name of the `zwave` entity - this won't happen immediately, and requires you to restart Home Assistant (not reboot) to set the new name. Other entities of a device are renamed using the [entity registry](/docs/configuration/entity-registry/). +* **Rename Node** sets a node's name - this won't happen immediately, and requires you to restart Home Assistant (not reboot) to set the new name * **Heal Node** starts healing of the node.(Update neighbor list and update return routes) @@ -82,8 +78,10 @@ This will display the Z-Wave related information about the node: * **lastResponseRTT** The Round Trip Time of the response to the last request * **manufacturer_name** The name of the manufacturer, as supplied by OpenZWave * **max_baud_rate** The maximum bandwidth the device supports, most modern devices will support 40,000 or higher +* **new_entity_id** In 0.47, Home Assistant introduced a new naming convention for entities, this shows the new naming convention * **node_id** The unique node ID of this node * **node_name** The base name of this node, this is used to build the entity ID of all entities of this node +* **old_entity_id** If `new_entity_ids: false` has been configured, then this is the entity_id that will be used. Support for this will be removed in the future * **product_name** The product name of the device, as supplied by OpenZWave * **query_stage** The query stage for this device (see [here](/docs/z-wave/query-stage/) for details) * **receivedCnt** The number of messages received from the device @@ -108,16 +106,6 @@ You can use this to enable one device to directly control another. This is prima There may be multiple groups, that are used for different purposes. The manual of your device will explain what each group is for. -#### {% linkable_title Broadcast group %} - -Some Z-Wave devices may associate themselves with the broadcast group (group 255). You'll be able to tell if this has happened if opening a door (or triggering a motion sensor) causes lights to come on, and closing the door (or the motion sensor going clear) causes lights to run off. There's no way to clear this from the control panel, but you can use the `zwave.change_association` service: - -```json -{"association": "remove", "node_id": 3, "group": 1, "target_node_id": 255} -``` - -That would remove the broadcast group from association group 1 of the device with node_id 3. - ### {% linkable_title Node config options %} You can set the *wakeup* interval (in seconds) of the device, this is shown for all devices that can be battery powered, even if they are currently mains powered. The wakeup interval only applies when those devices are battery powered. @@ -142,20 +130,6 @@ If your node has user codes, you can set and delete them. The format is raw hex Some non compliant device like tag readers, have implemented to use raw hex code. Please refer to a hex ascii table to set your code. Example: http://www.asciitable.com/ -Here is a small Python program than will take numbers on the command line and print the correct sequence for compliant devices: - -```python -#! /usr/bin/python3 -import sys - -translations = {} - -for x in range(0, 10): - translations["%s" % x] = "\\x3%s" % x - -for c in sys.argv[1]: - print(translations[c], end='') -``` ## {% linkable_title OZW Log %} diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 7a0952abcc..941f8d1eea 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -27,7 +27,7 @@ You need to have a [supported Z-Wave USB stick or module](https://github.com/Ope | ZWave.me UZB1 | ✓ | | |

- If you're using Hass.io or running HASS in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through. + If you're using Hass.io, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through.

## {% linkable_title Stick Alternatives %} diff --git a/source/_docs/z-wave/devices.markdown b/source/_docs/z-wave/devices.markdown index 92d43f0094..13d2966b4f 100644 --- a/source/_docs/z-wave/devices.markdown +++ b/source/_docs/z-wave/devices.markdown @@ -39,7 +39,7 @@ The key improvements are: ### {% linkable_title Z-Wave Security 2 %} -From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (March 2018) OpenZWave does not support the S2 framework. +From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (September 2017) OpenZWave does not support the S2 framework. ## {% linkable_title Device power %} diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index b3fc38d817..b110e34863 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -36,14 +36,14 @@ $ sudo /Applications/Python\ x.x/Install\ Certificates.command ### {% linkable_title Raspberry Pi %} -On Raspberry Pi you will need to enable the serial interface in the `raspi-config` tool before you can add Z-Wave to Home Assistant. +On Raspberry Pi you will need to enable the serial interface in the `raspbi-config` tool before you can add Z-Wave to Home Assistant. ## {% linkable_title Configuration %} ```yaml # Example configuration.yaml entry zwave: - usb_path: /dev/ttyACM0 + usb_path: /dev/ttyUSB0 ``` {% configuration zwave %} @@ -53,7 +53,7 @@ usb_path: type: string default: /zwaveusbstick network_key: - description: The 16-byte network key in the form `"0x01, 0x02..."` used in order to connect securely to compatible devices. It is recommended that a network key is configured as security enabled devices may not function correctly if they are not added securely. + description: The 16-byte network key in the form `"0x01, 0x02..."` used in order to connect securely to compatible devices. required: false type: string default: None @@ -77,7 +77,12 @@ debug: required: false type: boolean default: False -device_config / device_config_domain / device_config_glob: +new_entity_ids: + description: Switch to new entity_id generation. + required: false + type: boolean + default: True +device_config: description: This attribute contains node-specific override values. (For releases prior to 0.39 this variable is called **customize**) See [Customizing devices and services](/docs/configuration/customizing-devices/) for the format. required: false type: string, list @@ -135,7 +140,7 @@ Or, if there is no result, try to find detailed USB connection info with: $ dmesg | grep USB ``` -If Home Assistant (`hass`) runs with another user (e.g., *homeassistant* on Hassbian) give access to the stick with: +If Home Assistant (`hass`) runs with another user (e.g. *homeassistant* on Hassbian) give access to the stick with: ```bash $ sudo usermod -a -G dialout homeassistant @@ -205,7 +210,7 @@ The first run after adding a device is when the `zwave` component will take time ### {% linkable_title Component could not be set up %} -Sometimes the device may not be accessible and you'll get an error message upon startup about not being able to set up Z-Wave. Run the following command for your device path (here we're using `/dev/ttyAMA0` for our Razberry board): +Sometimes the device may not be accessible and you'll get an error message upon startup about not being able to set up Z-Wave. Run the following command for your device path: ```bash $ ls -l /dev/ttyAMA0 @@ -224,18 +229,6 @@ $ sudo chgrp dialout /dev/ttyAMA0 $ sudo chmod g+rw /dev/ttyAMA0 ``` -Check too that the account you're running Home Assistant as is in the `dialout` group. For instance, if you're using `homeassistant`: - -```bash -$ groups homeassistant -``` - -That should include `dialout`, if it doesn't then: - -```bash -$ sudo usermod -G dialout homeassistant -``` - ### {% linkable_title Device path changes %} If your device path changes when you restart, see [this guide](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/) on fixing it. diff --git a/source/_docs/z-wave/query-stage.markdown b/source/_docs/z-wave/query-stage.markdown index 7112cd055b..2037963e45 100644 --- a/source/_docs/z-wave/query-stage.markdown +++ b/source/_docs/z-wave/query-stage.markdown @@ -9,10 +9,6 @@ sharing: true footer: true --- -When the Z-Wave mesh is first started, the controller will go through all the following stages for every device on the mesh. This is a slow process, and to complete requires that the devices be awake. While devices that are mains or USB powered are always awake, battery-powered devices spend most of their time asleep. Because of this, you can expect that after startup your battery powered devices will spend time in `Initializing (CacheLoad)` - how long depends on the device. - -Your devices will still function normally while marked as `Initializing`. - | Stage | Description | |------------------------|--------------------------------------------------------------------| | None | Query process hasn't started for this node | @@ -21,7 +17,7 @@ Your devices will still function normally while marked as `Initializing`. | WakeUp | Start wake up process if a sleeping node | | ManufacturerSpecific1 | Retrieve manufacturer name and product ids if ProtocolInfo lets us | | NodeInfo | Retrieve info about supported, controlled command classes | -| NodePlusInfo | Retrieve Z-Wave+ info and update device classes | +| NodePlusInfo | Retrieve ZWave+ info and update device classes | | SecurityReport | Retrieve a list of Command Classes that require Security | | ManufacturerSpecific2 | Retrieve manufacturer name and product ids | | Versions | Retrieve version information | diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown index b6c420a91b..0a6499d2d4 100644 --- a/source/_docs/z-wave/services.markdown +++ b/source/_docs/z-wave/services.markdown @@ -29,7 +29,7 @@ The `zwave` component exposes multiple services to help maintain the network. Al | remove_failed_node | Remove a failed node from the network. The Node should be on the controller's Failed Node List, otherwise this command will fail. | | replace_failed_node | Replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail. | | reset_node_meters | Reset a node's meter values. Only works if the node supports this. | -| set_config_parameter | Lets the user set a config parameter to a node. NOTE: Use the parameter option's `label` string as the `value` for list parameters (e.g., `"value": "Off"`). For all other parameters use the relevant integer `value` (e.g., `"value": 1`). | +| set_config_parameter | Lets the user set a config parameter to a node. NOTE: Use the parameter option's `label` string as the `value` for list parameters (e.g. `"value": "Off"`). For all other parameters use the relevant integer `value` (e.g. `"value": 1`). | | soft_reset | Tells the controller to do a "soft reset." This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command. | | start_network | Starts the Z-Wave network. | | stop_network | Stops the Z-Wave network. | diff --git a/source/_faq/ha-vs-hassio.markdown b/source/_faq/ha-vs-hassio.markdown deleted file mode 100644 index 41e373cfee..0000000000 --- a/source/_faq/ha-vs-hassio.markdown +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: page -title: "Home Assistant vs. Hass.io" -description: "Home Assistant vs. Hass.io" -date: 2018-02-12 09:00 -sidebar: true -comments: false -sharing: true -footer: true -ha_category: Installation ---- - -Home Assistant is a Python program, in simple words. It can be run various operating system and provide the ability to track, control and automate your devices. When people talking about Home Assistant they usually refer to a standalone [installation method](/docs/installation/). - -[Hass.io](/hassio/) is a combination of Home Assistant and tools which allows one to run it easily on a Raspberry Pi and other platforms without setting up an operating system first. Hass.io is an all-in one-solution and has a management user interface that can be used from the Home Assistant frontend. This interface is not present in a standalone setup of Home Assistant. - -Be aware that add-ons are only available in Hass.io, due to the way Hass.io is installed. diff --git a/source/_faq/pip3.markdown b/source/_faq/pip3.markdown index 9b4fe56e02..cb957a7cf4 100644 --- a/source/_faq/pip3.markdown +++ b/source/_faq/pip3.markdown @@ -10,7 +10,7 @@ ha_category: Installation --- -This utility should have been installed as part of the Python 3 installation. Check if Python 3 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). +This utility should have been installed as part of the Python 3.4 installation. Check if Python 3.4 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/). If you are able to successfully run `python3 --version` but not `pip3`, install Home Assistant by running the following command instead: diff --git a/source/_includes/asides/cloud_navigation.html b/source/_includes/asides/cloud_navigation.html deleted file mode 100644 index 93a7baf70e..0000000000 --- a/source/_includes/asides/cloud_navigation.html +++ /dev/null @@ -1,14 +0,0 @@ -
-

About Home Assistant

-
    -
  • - The Home Assistant Cloud is a cloud-based service provided to supporters of the Home Assistant project. -
  • -
  • - {% active_link /cloud/ Introduction %} -
  • -
  • - {% active_link /cloud/ Amazon Alexa %} -
  • -
-
diff --git a/source/_includes/asides/developers_navigation.html b/source/_includes/asides/developers_navigation.html new file mode 100644 index 0000000000..0f42206817 --- /dev/null +++ b/source/_includes/asides/developers_navigation.html @@ -0,0 +1,135 @@ +
+ {% include edit_github.html %} + +
+

Development Guide

+ +
+
diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index b956865e7a..add2fd1bbc 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -3,7 +3,7 @@

Topics