diff --git a/.github/workflows/markdown.yml b/.github/workflows/markdown.yml
new file mode 100644
index 00000000000..1f74dac813e
--- /dev/null
+++ b/.github/workflows/markdown.yml
@@ -0,0 +1,20 @@
+name: Markdown
+
+on: [push, pull_request]
+
+jobs:
+ remark:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checking out files from GitHub
+ uses: actions/checkout@v1
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: 12.x
+ - name: Installing dependencies
+ run: npm install
+ env:
+ CI: true
+ - name: Running remark lint
+ run: npm run markdown:lint
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000000..40e6bd96a68
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+12.1
diff --git a/.remarkignore b/.remarkignore
new file mode 100644
index 00000000000..f7da595b9f0
--- /dev/null
+++ b/.remarkignore
@@ -0,0 +1,5 @@
+# Auto generated file
+_source/developers/credits.markdown
+
+# Third party
+sass/inuitcss/*
\ No newline at end of file
diff --git a/.remarkrc.js b/.remarkrc.js
new file mode 100644
index 00000000000..679b1587cca
--- /dev/null
+++ b/.remarkrc.js
@@ -0,0 +1,18 @@
+var remarkrc = {
+ settings: {
+ bullet: '-',
+ commonmark: true,
+ emphasis: '_',
+ fence: '`',
+ incrementListMarker: true,
+ listItemIndent: 1,
+ strong: '*'
+ },
+ plugins: [
+ ["frontmatter"],
+ ["lint-fenced-code-flag"],
+ ["lint-no-shell-dollars"]
+ ]
+};
+
+module.exports = remarkrc;
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
index 2f27c87fa72..584f2fa3a3b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,7 +3,7 @@ source "https://rubygems.org"
ruby "> 2.5.0"
group :development do
- gem 'rake', '12.3.3'
+ gem 'rake', '13.0.0'
gem 'jekyll', '4.0.0'
gem 'compass', '1.0.3'
gem 'sass-globbing', '1.1.5'
diff --git a/Gemfile.lock b/Gemfile.lock
index baa5809420a..61322e42c0b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -78,7 +78,7 @@ GEM
rack (2.0.7)
rack-protection (2.0.7)
rack
- rake (12.3.3)
+ rake (13.0.0)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
@@ -115,7 +115,7 @@ DEPENDENCIES
jekyll-sitemap (= 1.3.1)
jekyll-time-to-read (= 0.1.2)
nokogiri (= 1.10.4)
- rake (= 12.3.3)
+ rake (= 13.0.0)
sass-globbing (= 1.1.5)
sinatra (= 2.0.7)
stringex (= 2.8.5)
diff --git a/LICENSE.md b/LICENSE.md
index 6981c7b8898..11eaa38bf5e 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -170,7 +170,7 @@ c. No term or condition of this Public License will be waived and no failure to
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
-```
+```txt
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org
diff --git a/_config.yml b/_config.yml
index 1f1bcda6fde..c8657356797 100644
--- a/_config.yml
+++ b/_config.yml
@@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 99
-current_patch_version: 2
-date_released: 2019-09-19
+current_patch_version: 3
+date_released: 2019-09-25
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000000..bfe070db959
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1202 @@
+{
+ "name": "home-assistant.io",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/unist": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
+ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "anymatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz",
+ "integrity": "sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "bail": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
+ "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "ccount": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
+ "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "character-entities": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz",
+ "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==",
+ "dev": true
+ },
+ "character-entities-html4": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz",
+ "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==",
+ "dev": true
+ },
+ "character-entities-legacy": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz",
+ "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==",
+ "dev": true
+ },
+ "character-reference-invalid": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz",
+ "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz",
+ "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^3.0.1",
+ "braces": "^3.0.2",
+ "fsevents": "^2.0.6",
+ "glob-parent": "^5.0.0",
+ "is-binary-path": "^2.1.0",
+ "is-glob": "^4.0.1",
+ "normalize-path": "^3.0.0",
+ "readdirp": "^3.1.1"
+ }
+ },
+ "co": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
+ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
+ "dev": true
+ },
+ "collapse-white-space": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
+ "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "fault": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz",
+ "integrity": "sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==",
+ "dev": true,
+ "requires": {
+ "format": "^0.2.2"
+ }
+ },
+ "figures": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz",
+ "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "fn-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz",
+ "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=",
+ "dev": true
+ },
+ "format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
+ "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
+ "dev": true,
+ "optional": true
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
+ "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz",
+ "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "is-alphabetical": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz",
+ "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==",
+ "dev": true
+ },
+ "is-alphanumeric": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
+ "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
+ "dev": true
+ },
+ "is-alphanumerical": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
+ "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==",
+ "dev": true,
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
+ "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+ "dev": true
+ },
+ "is-decimal": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz",
+ "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==",
+ "dev": true
+ },
+ "is-empty": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz",
+ "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz",
+ "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==",
+ "dev": true
+ },
+ "is-hidden": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.2.tgz",
+ "integrity": "sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz",
+ "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==",
+ "dev": true
+ },
+ "is-whitespace-character": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
+ "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==",
+ "dev": true
+ },
+ "is-word-character": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz",
+ "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "load-plugin": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/load-plugin/-/load-plugin-2.3.1.tgz",
+ "integrity": "sha512-dYB1lbwqHgPTrruy9glukCu8Ya9vzj6TMfouCtj2H/GuJ+8syioisgKTBPxnCi6m8K8jINKfTOxOHngFkUYqHw==",
+ "dev": true,
+ "requires": {
+ "npm-prefix": "^1.2.0",
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "longest-streak": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
+ "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==",
+ "dev": true
+ },
+ "markdown-escapes": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz",
+ "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==",
+ "dev": true
+ },
+ "markdown-extensions": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz",
+ "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==",
+ "dev": true
+ },
+ "markdown-table": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
+ "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
+ "dev": true
+ },
+ "mdast-comment-marker": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz",
+ "integrity": "sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==",
+ "dev": true
+ },
+ "mdast-util-compact": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz",
+ "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "^1.1.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-prefix": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz",
+ "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.1.0",
+ "shellsubstitute": "^1.1.0",
+ "untildify": "^2.1.0"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "parse-entities": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
+ "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
+ "dev": true,
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
+ "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
+ "dev": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ }
+ },
+ "readable-stream": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
+ "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.1.tgz",
+ "integrity": "sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.0.4"
+ }
+ },
+ "remark": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-11.0.0.tgz",
+ "integrity": "sha512-cxfoqvY1Tyz7n1KF2JpywPCKulF69XvGmFwykuRPnqFkc8aSNQOFvcI1L3jj5NOjm+fpDdwwnGmwabxni1X8oQ==",
+ "dev": true,
+ "requires": {
+ "remark-parse": "^7.0.0",
+ "remark-stringify": "^7.0.0",
+ "unified": "^8.2.0"
+ }
+ },
+ "remark-cli": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/remark-cli/-/remark-cli-7.0.0.tgz",
+ "integrity": "sha512-gYomWviFnZsiRimG+Jdb4LQ9c8uSOcGmPTmzlvxImt0gvzabqlp1kaqndxTx4kYLsWGqwhQRO+M9iyqHDkoDlA==",
+ "dev": true,
+ "requires": {
+ "markdown-extensions": "^1.1.0",
+ "remark": "^11.0.0",
+ "unified-args": "^7.0.0"
+ }
+ },
+ "remark-frontmatter": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.2.tgz",
+ "integrity": "sha512-2eayxITZ8rezsXdgcXnYB3iLivohm2V/ZT4Ne8uhua6A4pk6GdLE2ZzJnbnINtD1HRLaTdB7RwF9sgUbMptJZA==",
+ "dev": true,
+ "requires": {
+ "fault": "^1.0.1",
+ "xtend": "^4.0.1"
+ }
+ },
+ "remark-lint": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.5.tgz",
+ "integrity": "sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ==",
+ "dev": true,
+ "requires": {
+ "remark-message-control": "^4.0.0"
+ }
+ },
+ "remark-lint-fenced-code-flag": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz",
+ "integrity": "sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg==",
+ "dev": true,
+ "requires": {
+ "unified-lint-rule": "^1.0.0",
+ "unist-util-generated": "^1.1.0",
+ "unist-util-position": "^3.0.0",
+ "unist-util-visit": "^1.1.1"
+ }
+ },
+ "remark-lint-no-shell-dollars": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz",
+ "integrity": "sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ==",
+ "dev": true,
+ "requires": {
+ "unified-lint-rule": "^1.0.0",
+ "unist-util-generated": "^1.1.0",
+ "unist-util-visit": "^1.1.1"
+ }
+ },
+ "remark-message-control": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz",
+ "integrity": "sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==",
+ "dev": true,
+ "requires": {
+ "mdast-comment-marker": "^1.0.0",
+ "unified-message-control": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "remark-parse": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.0.tgz",
+ "integrity": "sha512-UlfoqASKUnwSrzOcLSa7fwYdkpbeWwAs49YYdQmoYXK1TUJ2CvDBb3v8Lkt2GQzdPW9dWbjhteOsJJ27p1rNFg==",
+ "dev": true,
+ "requires": {
+ "collapse-white-space": "^1.0.2",
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "is-word-character": "^1.0.0",
+ "markdown-escapes": "^1.0.0",
+ "parse-entities": "^1.1.0",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^1.0.0",
+ "vfile-location": "^2.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "remark-stringify": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.3.tgz",
+ "integrity": "sha512-+jgmjNjm2kR7y2Ns1BATXRlFr+iQ7sDcpSgytfU77nkw7UCd5yJNArSxB3MU3Uul7HuyYNTCjetoGfy8xLia1A==",
+ "dev": true,
+ "requires": {
+ "ccount": "^1.0.0",
+ "is-alphanumeric": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "longest-streak": "^2.0.1",
+ "markdown-escapes": "^1.0.0",
+ "markdown-table": "^1.1.0",
+ "mdast-util-compact": "^1.0.0",
+ "parse-entities": "^1.0.2",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "stringify-entities": "^2.0.0",
+ "unherit": "^1.0.4",
+ "xtend": "^4.0.1"
+ }
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "shellsubstitute": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz",
+ "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=",
+ "dev": true
+ },
+ "sliced": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
+ "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "state-toggle": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
+ "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
+ "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
+ "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringify-entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz",
+ "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==",
+ "dev": true,
+ "requires": {
+ "character-entities-html4": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.2",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "to-vfile": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.0.0.tgz",
+ "integrity": "sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^2.0.0",
+ "vfile": "^4.0.0"
+ }
+ },
+ "trim": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
+ "dev": true
+ },
+ "trim-trailing-lines": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
+ "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==",
+ "dev": true
+ },
+ "trough": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz",
+ "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "unherit": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz",
+ "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "xtend": "^4.0.1"
+ }
+ },
+ "unified": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-8.3.2.tgz",
+ "integrity": "sha512-NDtUAXcd4c+mKppCbsZHzmhkKEQuhveZNBrFYmNgMIMk2K9bc8hmG3mLEGVtRmSNodobwyMePAnvIGVWZfPdzQ==",
+ "dev": true,
+ "requires": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-plain-obj": "^2.0.0",
+ "trough": "^1.0.0",
+ "vfile": "^4.0.0"
+ }
+ },
+ "unified-args": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/unified-args/-/unified-args-7.1.0.tgz",
+ "integrity": "sha512-soi9Rn7l5c1g0RfElSCHMwaxeiclSI0EsS3uZmMPUOfwMeeeZjLpNmHAowV9iSlQh59iiZhSMyQu9lB8WnIz5g==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "chalk": "^2.0.0",
+ "chokidar": "^3.0.0",
+ "fault": "^1.0.2",
+ "json5": "^2.0.0",
+ "minimist": "^1.2.0",
+ "text-table": "^0.2.0",
+ "unified-engine": "^7.0.0"
+ }
+ },
+ "unified-engine": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/unified-engine/-/unified-engine-7.0.0.tgz",
+ "integrity": "sha512-zH/MvcISpWg3JZtCoY/GYBw1WnVHkhnPoMBWpmuvAifCPSS9mzT9EbtimesJp6t2nnr/ojI0mg3TmkO1CjIwVA==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^2.0.0",
+ "debug": "^4.0.0",
+ "fault": "^1.0.0",
+ "figures": "^3.0.0",
+ "fn-name": "^2.0.1",
+ "glob": "^7.0.3",
+ "ignore": "^5.0.0",
+ "is-empty": "^1.0.0",
+ "is-hidden": "^1.0.1",
+ "is-object": "^1.0.1",
+ "js-yaml": "^3.6.1",
+ "load-plugin": "^2.0.0",
+ "parse-json": "^4.0.0",
+ "to-vfile": "^6.0.0",
+ "trough": "^1.0.0",
+ "unist-util-inspect": "^4.1.2",
+ "vfile-reporter": "^6.0.0",
+ "vfile-statistics": "^1.1.0",
+ "x-is-string": "^0.1.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "unified-lint-rule": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz",
+ "integrity": "sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ==",
+ "dev": true,
+ "requires": {
+ "wrapped": "^1.0.1"
+ }
+ },
+ "unified-message-control": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz",
+ "integrity": "sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==",
+ "dev": true,
+ "requires": {
+ "trim": "0.0.1",
+ "unist-util-visit": "^1.0.0",
+ "vfile-location": "^2.0.0"
+ }
+ },
+ "unist-util-generated": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz",
+ "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==",
+ "dev": true
+ },
+ "unist-util-inspect": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-4.1.4.tgz",
+ "integrity": "sha512-7xxyvKiZ1SC9vL5qrMqKub1T31gRHfau4242F69CcaOrXt//5PmRVOmDZ36UAEgiT+tZWzmQmbNZn+mVtnR9HQ==",
+ "dev": true,
+ "requires": {
+ "is-empty": "^1.0.0"
+ }
+ },
+ "unist-util-is": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
+ "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
+ "dev": true
+ },
+ "unist-util-position": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz",
+ "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==",
+ "dev": true
+ },
+ "unist-util-remove-position": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz",
+ "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit": "^1.1.0"
+ }
+ },
+ "unist-util-stringify-position": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz",
+ "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.2"
+ }
+ },
+ "unist-util-visit": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
+ "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
+ "dev": true,
+ "requires": {
+ "unist-util-visit-parents": "^2.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
+ "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
+ "dev": true,
+ "requires": {
+ "unist-util-is": "^3.0.0"
+ }
+ },
+ "untildify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz",
+ "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "vfile": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz",
+ "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "replace-ext": "1.0.0",
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
+ }
+ },
+ "vfile-location": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz",
+ "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==",
+ "dev": true
+ },
+ "vfile-message": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz",
+ "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.2",
+ "unist-util-stringify-position": "^2.0.0"
+ }
+ },
+ "vfile-reporter": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz",
+ "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==",
+ "dev": true,
+ "requires": {
+ "repeat-string": "^1.5.0",
+ "string-width": "^4.0.0",
+ "supports-color": "^6.0.0",
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-sort": "^2.1.2",
+ "vfile-statistics": "^1.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "vfile-sort": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz",
+ "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==",
+ "dev": true
+ },
+ "vfile-statistics": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz",
+ "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==",
+ "dev": true
+ },
+ "wrapped": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wrapped/-/wrapped-1.0.1.tgz",
+ "integrity": "sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI=",
+ "dev": true,
+ "requires": {
+ "co": "3.1.0",
+ "sliced": "^1.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "x-is-string": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
+ "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 00000000000..4e6167fb9ac
--- /dev/null
+++ b/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "home-assistant.io",
+ "description": "Home Assistant Website & Documentation",
+ "version": "1.0.0",
+ "dependencies": {},
+ "devDependencies": {
+ "remark-cli": "^7.0.0",
+ "remark-frontmatter": "^1.3.2",
+ "remark-lint": "^6.0.5",
+ "remark-lint-fenced-code-flag": "^1.0.3",
+ "remark-lint-no-shell-dollars": "^1.0.3",
+ "remark-stringify": "^7.0.3"
+ },
+ "scripts": {
+ "markdown:lint": "remark --quiet --frail ."
+ }
+}
diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown
index 488f0d75cf8..5b21c892f7a 100644
--- a/source/_addons/samba.markdown
+++ b/source/_addons/samba.markdown
@@ -12,6 +12,12 @@ Be careful when setting up port forwarding for remote access. If you don't restr
+
+
+Sometimes shares will not show up under network in Windows. Then you could open the file browser, click the address field where it says "> Network" and type //HASSIO to access Hass.io shares.
+
+
+
```json
{
"workgroup": "WORKGROUP",
diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown
index cf74fa5e6db..104b0ee1906 100644
--- a/source/_addons/snips.markdown
+++ b/source/_addons/snips.markdown
@@ -17,7 +17,7 @@ The Snips add-on by default comes with an assistant that allows you to turn on l
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:
-```
+```txt
Turn on kitchen light
Open garage door
What is on my shopping list
diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown
index dcc28085cd2..c5b3fd08378 100644
--- a/source/_addons/tellstick.markdown
+++ b/source/_addons/tellstick.markdown
@@ -19,7 +19,7 @@ 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](/components/tellstick#light), [sensors](/components/tellstick#sensor) and [switches](/components/tellstick#switch) you follow the guidelines for each type individually that is [described for Home Assistant](/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 b77a482f908..911471eed18 100644
--- a/source/_components/abode.markdown
+++ b/source/_components/abode.markdown
@@ -14,15 +14,6 @@ ha_category:
- Switch
ha_release: 0.52
ha_iot_class: Cloud Push
-redirect_from:
- - /components/alarm_control_panel.abode/
- - /components/binary_sensor.abode/
- - /components/camera.abode/
- - /components/cover.abode/
- - /components/lock.abode/
- - /components/light.abode/
- - /components/switch.abode/
- - /components/sensor.abode/
---
The `abode` integration will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
diff --git a/source/_components/acer_projector.markdown b/source/_components/acer_projector.markdown
index 3c2afd279b8..d711e9242dc 100644
--- a/source/_components/acer_projector.markdown
+++ b/source/_components/acer_projector.markdown
@@ -6,8 +6,6 @@ ha_category:
- Multimedia
ha_iot_class: Local Polling
ha_release: 0.19
-redirect_from:
- - /components/switch.acer_projector/
---
The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](http://www.acer.com).
diff --git a/source/_components/actiontec.markdown b/source/_components/actiontec.markdown
index d8ab1d94371..ae5fd9a3e9d 100644
--- a/source/_components/actiontec.markdown
+++ b/source/_components/actiontec.markdown
@@ -5,8 +5,6 @@ logo: actiontec.png
ha_category:
- Presence Detection
ha_release: 0.7
-redirect_from:
- - /components/device_tracker.actiontec/
---
This platform allows you to detect presence by looking at connected devices to an [Actiontec](http://www.actiontec.com/) device.
diff --git a/source/_components/ads.markdown b/source/_components/ads.markdown
index 52d857697ba..7b0e4a0661b 100644
--- a/source/_components/ads.markdown
+++ b/source/_components/ads.markdown
@@ -11,11 +11,6 @@ ha_category:
- Cover
ha_release: "0.60"
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.ads/
- - /components/light.ads/
- - /components/sensor.ads/
- - /components/switch.ads/
---
The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](http://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface.
diff --git a/source/_components/aftership.markdown b/source/_components/aftership.markdown
index 81cb929492a..6c320fb4856 100644
--- a/source/_components/aftership.markdown
+++ b/source/_components/aftership.markdown
@@ -6,8 +6,6 @@ ha_category:
- Postal Service
ha_release: 0.85
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.aftership/
---
The `aftership` platform allows one to track deliveries by [AfterShip](https://www.aftership.com), a service that supports 490+ couriers worldwide. It is free to use up to 100 tracked packages per month, after that there is a fee.
diff --git a/source/_components/air_quality.markdown b/source/_components/air_quality.markdown
index e0546cba346..32c20f81e6c 100644
--- a/source/_components/air_quality.markdown
+++ b/source/_components/air_quality.markdown
@@ -1,8 +1,6 @@
---
title: "Air Quality"
description: "Instructions on how to add air quality sensors with Home Assistant"
-redirect_from:
- - /components/air_pollutants/
ha_release: 0.85
---
diff --git a/source/_components/airvisual.markdown b/source/_components/airvisual.markdown
index daf4d9a9a5b..0f56195ebf8 100644
--- a/source/_components/airvisual.markdown
+++ b/source/_components/airvisual.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_release: 0.53
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.airvisual/
---
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be created.
diff --git a/source/_components/aladdin_connect.markdown b/source/_components/aladdin_connect.markdown
index 2c34ce16fa8..ddcf9d3797a 100644
--- a/source/_components/aladdin_connect.markdown
+++ b/source/_components/aladdin_connect.markdown
@@ -6,8 +6,6 @@ ha_category:
- Cover
ha_release: 0.75
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/cover.aladdin_connect/
---
The `aladdin_connect` cover platform lets you control Genie Aladdin Connect garage doors through Home Assistant.
diff --git a/source/_components/alarmdecoder.markdown b/source/_components/alarmdecoder.markdown
index b714973fb49..2ea98e71c39 100644
--- a/source/_components/alarmdecoder.markdown
+++ b/source/_components/alarmdecoder.markdown
@@ -8,10 +8,6 @@ ha_category:
- Sensor
ha_release: 0.43
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.alarmdecoder/
- - /components/binary_sensor.alarmdecoder/
- - /components/sensor.alarmdecoder/
---
The `alarmdecoder` integration will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad.
@@ -85,7 +81,7 @@ panel_display:
default: false
type: boolean
zones:
- description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*"
+ description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/alarmdecoder) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*"
required: false
type: list
keys:
diff --git a/source/_components/alarmdotcom.markdown b/source/_components/alarmdotcom.markdown
index 313704f07b3..ec12d4556ad 100644
--- a/source/_components/alarmdotcom.markdown
+++ b/source/_components/alarmdotcom.markdown
@@ -5,8 +5,6 @@ logo: alarmdotcom.png
ha_category:
- Alarm
ha_release: 0.11
-redirect_from:
- - /components/alarm_control_panel.alarmdotcom/
---
The `alarmdotcom` platform is consuming the information provided by [Alarm.com](https://www.alarm.com/).
diff --git a/source/_components/alpha_vantage.markdown b/source/_components/alpha_vantage.markdown
index 31b3b8c1383..5a6a919ef0f 100644
--- a/source/_components/alpha_vantage.markdown
+++ b/source/_components/alpha_vantage.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_iot_class: Cloud Polling
ha_release: "0.60"
-redirect_from:
- - /components/sensor.alpha_vantage/
---
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.
diff --git a/source/_components/amazon_polly.markdown b/source/_components/amazon_polly.markdown
index 5252e003db2..70773d1b1c1 100644
--- a/source/_components/amazon_polly.markdown
+++ b/source/_components/amazon_polly.markdown
@@ -5,8 +5,6 @@ logo: polly.png
ha_category:
- Text-to-speech
ha_release: 0.37
-redirect_from:
- - /components/tts.amazon_polly/
---
The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output.
diff --git a/source/_components/ambient_station.markdown b/source/_components/ambient_station.markdown
index 4be61d78c31..d39490018ca 100644
--- a/source/_components/ambient_station.markdown
+++ b/source/_components/ambient_station.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.85
ha_iot_class: Cloud Push
-redirect_from:
- - /components/sensor.ambient_station/
---
The `Ambient Weather Station` integration retrieves local weather information
diff --git a/source/_components/amcrest.markdown b/source/_components/amcrest.markdown
index b31c63bc1e5..bf6f64dc4c3 100644
--- a/source/_components/amcrest.markdown
+++ b/source/_components/amcrest.markdown
@@ -10,10 +10,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.49
-redirect_from:
- - /components/camera.amcrest/
- - /components/sensor.amcrest/
- - /components/switch.amcrest/
---
The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant.
diff --git a/source/_components/android_ip_webcam.markdown b/source/_components/android_ip_webcam.markdown
index 1a383feb3c2..b4a6a0e7e7e 100644
--- a/source/_components/android_ip_webcam.markdown
+++ b/source/_components/android_ip_webcam.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: "0.40"
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.android_ip_webcam/
- - /components/camera.android_ip_webcam/
- - /components/sensor.android_ip_webcam/
- - /components/switch.android_ip_webcam/
---
The `android_ip_webcam` integration turns any Android phone or tablet into a network camera with multiple viewing options.
@@ -190,7 +185,7 @@ binary_sensor:
## Camera
-The `android_ip_webcam` integration adds a camera by default if you choose not to use the integration but still want to see the video feed then the [`mjpeg` camera](/components/camera.mjpeg/) platform can be used.
+The `android_ip_webcam` integration adds a camera by default if you choose not to use the integration but still want to see the video feed then the [`mjpeg` camera](/components/mjpeg) platform can be used.
## Configuration
diff --git a/source/_components/androidtv.markdown b/source/_components/androidtv.markdown
index 33ef900d4cd..ef6cfbd1103 100644
--- a/source/_components/androidtv.markdown
+++ b/source/_components/androidtv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.7.6
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.firetv/
---
The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
diff --git a/source/_components/anel_pwrctrl.markdown b/source/_components/anel_pwrctrl.markdown
index 870df563a74..193edd1b187 100644
--- a/source/_components/anel_pwrctrl.markdown
+++ b/source/_components/anel_pwrctrl.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: "0.30"
-redirect_from:
- - /components/switch.anel_pwrctrl/
---
The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](http://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
diff --git a/source/_components/anthemav.markdown b/source/_components/anthemav.markdown
index 2711ba92612..3d232210814 100644
--- a/source/_components/anthemav.markdown
+++ b/source/_components/anthemav.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Push
ha_release: 0.37
-redirect_from:
- - /components/media_player.anthemav/
---
Both [Anthem]'s current and last generation of A/V Receivers and Processors support IP-based, network control. This Home Assistant platform adds proper "local push" support for any of these receivers on your network.
diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown
index 686fc738314..ffacda23099 100644
--- a/source/_components/apcupsd.markdown
+++ b/source/_components/apcupsd.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: 0.13
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.apcupsd/
- - /components/sensor.apcupsd/
---
[APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) is enabled on the APC device.
diff --git a/source/_components/apns.markdown b/source/_components/apns.markdown
index 410a7b0ac8a..973bbb17f00 100644
--- a/source/_components/apns.markdown
+++ b/source/_components/apns.markdown
@@ -5,8 +5,6 @@ logo: apple.png
ha_category:
- Notifications
ha_release: 0.31
-redirect_from:
- - /components/notify.apns/
---
The `apns` platform uses the Apple Push Notification service (APNS) to deliver notifications from Home Assistant.
diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown
index 28e83f95567..9a125746a98 100644
--- a/source/_components/apple_tv.markdown
+++ b/source/_components/apple_tv.markdown
@@ -8,12 +8,9 @@ ha_category:
- Remote
ha_iot_class: Local Push
ha_release: 0.49
-redirect_from:
- - /components/media_player.apple_tv/
- - /components/remote.apple_tv/
---
-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/apple_tv#remote) if you want to send remote control buttons, e.g., arrow keys.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/aqualogic.markdown b/source/_components/aqualogic.markdown
index eb0f2168f6e..0ec4b70a17b 100644
--- a/source/_components/aqualogic.markdown
+++ b/source/_components/aqualogic.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: "0.80"
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.aqualogic/
- - /components/switch.aqualogic/
---
The AquaLogic integration provides connectivity to a Hayward/Goldline AquaLogic/ProLogic pool controller. Note that an RS-485 to Ethernet adapter connected to the pool controller is required.
diff --git a/source/_components/aquostv.markdown b/source/_components/aquostv.markdown
index 5e87d5fd04a..b4cd920e056 100644
--- a/source/_components/aquostv.markdown
+++ b/source/_components/aquostv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.35
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.aquostv/
---
The `aquostv` platform allows you to control a [Sharp Aquos TV](http://www.sharp-world.com/aquos/en/index.html).
diff --git a/source/_components/arduino.markdown b/source/_components/arduino.markdown
index b84be2acc40..875b4bd0e23 100644
--- a/source/_components/arduino.markdown
+++ b/source/_components/arduino.markdown
@@ -9,9 +9,6 @@ ha_category:
featured: true
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.arduino/
- - /components/switch.arduino/
---
The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection.
diff --git a/source/_components/arest.markdown b/source/_components/arest.markdown
index 57282ff7410..5c76d7ab19f 100644
--- a/source/_components/arest.markdown
+++ b/source/_components/arest.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.9
-redirect_from:
- - /components/binary_sensor.arest/
- - /components/sensor.arest/
- - /components/switch.arest/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/arlo.markdown b/source/_components/arlo.markdown
index 1e82b54d60a..4aa6b0fd0a8 100644
--- a/source/_components/arlo.markdown
+++ b/source/_components/arlo.markdown
@@ -9,10 +9,6 @@ ha_category:
- Sensor
ha_release: 0.46
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/alarm_control_panel.arlo/
- - /components/camera.arlo/
- - /components/sensor.arlo/
---
The `arlo` implementation allows you to integrate your [Arlo](https://arlo.netgear.com/) devices in Home Assistant.
@@ -51,7 +47,7 @@ scan_interval:
It is recommended to create a dedicated user on Arlo website to be used within Home Assistant and then share your Arlo cameras.
-Finish its configuration by visiting the [Arlo sensor page](/components/sensor.arlo/) or [Arlo camera page](/components/camera.arlo/) or [Arlo control panel page](/components/alarm_control_panel.arlo/). Arlo also has a service call `arlo.update` that can be manually called to force an update prior to the regular scheduled interval.
+Finish its configuration by visiting the [Arlo sensor page](/components/arlo#sensor) or [Arlo camera page](/components/arlo#camera) or [Arlo control panel page](/components/arlo). Arlo also has a service call `arlo.update` that can be manually called to force an update prior to the regular scheduled interval.
The Arlo integration also provides a camera service to enable/disable the motion detection sensor. The example below enables the motion detection every time the Home Assistant service starts.
@@ -132,7 +128,7 @@ 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).
+More examples and configuration options can be found on the [Manual Alarm Control page](/components/manual#examples).
## Camera
diff --git a/source/_components/aruba.markdown b/source/_components/aruba.markdown
index e518e517663..b0885b3b3e0 100644
--- a/source/_components/aruba.markdown
+++ b/source/_components/aruba.markdown
@@ -5,8 +5,6 @@ logo: aruba.png
ha_category:
- Presence Detection
ha_release: 0.7
-redirect_from:
- - /components/device_tracker.aruba/
---
diff --git a/source/_components/arwn.markdown b/source/_components/arwn.markdown
index 566b50d74bb..11222a9610f 100644
--- a/source/_components/arwn.markdown
+++ b/source/_components/arwn.markdown
@@ -5,8 +5,6 @@ ha_category:
- Sensor
ha_release: 0.31
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.arwn/
---
The `arwn` sensor platform is a client for the [Ambient Radio Weather Network](http://github.com/sdague/arwn) project. This collects weather station data and makes it available in an MQTT subtree.
diff --git a/source/_components/asterisk_cdr.markdown b/source/_components/asterisk_cdr.markdown
index 9d854143473..a8a8f9cab97 100644
--- a/source/_components/asterisk_cdr.markdown
+++ b/source/_components/asterisk_cdr.markdown
@@ -5,8 +5,6 @@ logo: asterisk.png
ha_category:
- Mailbox
ha_release: 0.79
-redirect_from:
- - /components/mailbox.asterisk_cdr/
---
The Asterisk Call Data Recorder provides access to Asterisk call logs on the Asterisk PBX server. This mailbox is enabled automatically through the [Asterisk Voicemail integration](/components/asterisk_mbox/) configuration if the `asterisk_mbox_server` is configured to provide CDR data. More information on configuring the server can be found in the [Asterisk PBX configuration guide](/docs/asterisk_mbox/).
diff --git a/source/_components/asterisk_mbox.markdown b/source/_components/asterisk_mbox.markdown
index 8987a44328a..31a8f5ab2ae 100644
--- a/source/_components/asterisk_mbox.markdown
+++ b/source/_components/asterisk_mbox.markdown
@@ -6,8 +6,6 @@ ha_category:
- Mailbox
ha_iot_class: Local Push
ha_release: 0.51
-redirect_from:
- - /components/mailbox.asterisk_mbox/
---
The `asterisk_mbox` Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The integration 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.
diff --git a/source/_components/asuswrt.markdown b/source/_components/asuswrt.markdown
index 09e7cfa2edb..7c573c94243 100644
--- a/source/_components/asuswrt.markdown
+++ b/source/_components/asuswrt.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: 0.83
ha_iot_class: Local Polling
-redirect_from:
- - /components/device_tracker.asuswrt/
- - /components/sensor.asuswrt/
---
The `asuswrt` integration is the main integration to connect to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
diff --git a/source/_components/august.markdown b/source/_components/august.markdown
index b2f7ba1d9f1..06e70a946a7 100644
--- a/source/_components/august.markdown
+++ b/source/_components/august.markdown
@@ -9,10 +9,6 @@ ha_category:
- Lock
ha_release: 0.64
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.august/
- - /components/camera.august/
- - /components/lock.august/
---
The `august` integration allows you to integrate your [August](http://august.com) devices in Home Assistant.
diff --git a/source/_components/aurora.markdown b/source/_components/aurora.markdown
index ed9c234558a..57e7c5fa6f7 100644
--- a/source/_components/aurora.markdown
+++ b/source/_components/aurora.markdown
@@ -5,8 +5,6 @@ ha_category:
- Environment
ha_release: 0.39
logo: noaa.png
-redirect_from:
- - /components/binary_sensor.aurora/
---
The `aurora` platform uses the [NOAA aurora forecast](http://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity.
diff --git a/source/_components/automatic.markdown b/source/_components/automatic.markdown
index 46917dc5866..fa6678a3ad2 100644
--- a/source/_components/automatic.markdown
+++ b/source/_components/automatic.markdown
@@ -6,8 +6,6 @@ ha_category:
- Car
ha_release: 0.28
ha_iot_class: Cloud Push
-redirect_from:
- - /components/device_tracker.automatic/
---
diff --git a/source/_components/avion.markdown b/source/_components/avion.markdown
index 8773091cfbc..e786dd7a92e 100644
--- a/source/_components/avion.markdown
+++ b/source/_components/avion.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Assumed State
logo: avi-on.png
ha_release: 0.37
-redirect_from:
- - /components/light.avion/
---
Support for the Avi-on Bluetooth dimmer switch [Avi-On](http://avi-on.com/).
diff --git a/source/_components/awair.markdown b/source/_components/awair.markdown
index 7cb261870b8..8754ae6e752 100644
--- a/source/_components/awair.markdown
+++ b/source/_components/awair.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_release: 0.84
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.awair/
---
The `awair` sensor platform will fetch data from your [Awair device(s)](https://getawair.com).
diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown
index 9dd0688bf53..29d14a0a4e1 100644
--- a/source/_components/axis.markdown
+++ b/source/_components/axis.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_config_flow: true
ha_release: 0.45
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.axis/
- - /components/camera.axis/
---
[Axis Communications](https://www.axis.com/) devices are surveillance cameras, speakers, access control and other security-related network connected hardware. Event API works with firmware 5.50 and newer.
diff --git a/source/_components/baidu.markdown b/source/_components/baidu.markdown
index a02d82656f4..e1b13e4c9bf 100644
--- a/source/_components/baidu.markdown
+++ b/source/_components/baidu.markdown
@@ -5,8 +5,6 @@ logo: baiducloud.png
ha_category:
- Text-to-speech
ha_release: 0.59
-redirect_from:
- - /components/tts.baidu/
---
The `baidu` text-to-speech platform uses [Baidu TTS engine](https://cloud.baidu.com/product/speech/tts) to read a text with natural sounding voices.
diff --git a/source/_components/bayesian.markdown b/source/_components/bayesian.markdown
index b12e2f856b5..e6077902d1f 100644
--- a/source/_components/bayesian.markdown
+++ b/source/_components/bayesian.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.53
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.bayesian/
---
The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`.
diff --git a/source/_components/bbb_gpio.markdown b/source/_components/bbb_gpio.markdown
index 54abf69bb50..f977d033f4f 100644
--- a/source/_components/bbb_gpio.markdown
+++ b/source/_components/bbb_gpio.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.36
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.bbb_gpio/
- - /components/switch.bbb_gpio/
---
The `bbb_gpio` integration is the base for all [BeagleBone Black](https://beagleboard.org/black) related GPIO platforms in Home Assistant.
diff --git a/source/_components/bbox.markdown b/source/_components/bbox.markdown
index 336f31c4f19..98296eb2b0a 100644
--- a/source/_components/bbox.markdown
+++ b/source/_components/bbox.markdown
@@ -8,9 +8,6 @@ ha_category:
- Presence Detection
ha_release: 0.31
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.bbox/
- - /components/device_tracker.bbox/
---
The `bbox` platform uses the [Bbox Modem Router](https://www.bouyguestelecom.fr/offres-internet/bbox-fit) from the French Internet provider Bouygues Telecom. Sensors are mainly bandwidth measures.
diff --git a/source/_components/bh1750.markdown b/source/_components/bh1750.markdown
index 3d407b30fea..f270c27d31c 100644
--- a/source/_components/bh1750.markdown
+++ b/source/_components/bh1750.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.48
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.bh1750/
---
The `bh1750` sensor platform allows you to read the ambient light level in Lux from a [BH1750FVI sensor](https://www.mouser.com/ds/2/348/bh1750fvi-e-186247.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the resolution modes of the sensor described in its datasheet.
diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown
index bf67d140ada..b7f47491082 100644
--- a/source/_components/binary_sensor.mqtt.markdown
+++ b/source/_components/binary_sensor.mqtt.markdown
@@ -183,7 +183,7 @@ Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.c
As soon as the unit is online, you will get the state of the attached button.
-```
+```txt
home/bathroom/status Connected
...
home/bathroom/switch/button 1
diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown
index f941901f6dc..fc9a06f72bc 100644
--- a/source/_components/binary_sensor.rest.markdown
+++ b/source/_components/binary_sensor.rest.markdown
@@ -118,7 +118,7 @@ In this section you find some real-life examples of how to use this sensor.
### aREST sensor
-Instead of using an [aREST](/components/binary_sensor.arest/) binary sensor,
+Instead of using an [aREST](/components/arest#binary-sensor) binary sensor,
you could retrieve the value of a device supporting
aREST directly with a REST binary sensor.
diff --git a/source/_components/bitcoin.markdown b/source/_components/bitcoin.markdown
index 96982e1be3e..372fa394799 100644
--- a/source/_components/bitcoin.markdown
+++ b/source/_components/bitcoin.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: pre 0.7
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.bitcoin/
---
diff --git a/source/_components/blackbird.markdown b/source/_components/blackbird.markdown
index 5236d4f88a6..6d206fd3cde 100644
--- a/source/_components/blackbird.markdown
+++ b/source/_components/blackbird.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.68
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.blackbird/
---
The `blackbird` platform allows you to control [Monoprice Blackbird Matrix Switch](https://www.monoprice.com/product?p_id=21819) using a serial connection.
diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown
index a53b546b95e..595f4caf34c 100644
--- a/source/_components/blink.markdown
+++ b/source/_components/blink.markdown
@@ -10,11 +10,6 @@ ha_category:
- Sensor
ha_release: "0.40"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/alarm_control_panel.blink/
- - /components/binary_sensor.blink/
- - /components/camera.blink/
- - /components/sensor.blink/
---
The `blink` integration lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems.
diff --git a/source/_components/blinksticklight.markdown b/source/_components/blinksticklight.markdown
index 0c5dab78c2f..deea66c49ee 100644
--- a/source/_components/blinksticklight.markdown
+++ b/source/_components/blinksticklight.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.7.5
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.blinksticklight/
---
diff --git a/source/_components/blinkt.markdown b/source/_components/blinkt.markdown
index 97e62a71574..41de596aa48 100644
--- a/source/_components/blinkt.markdown
+++ b/source/_components/blinkt.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_iot_class: Local Push
ha_release: 0.44
-redirect_from:
- - /components/light.blinkt/
---
The `blinkt` light platform lets you control the [Blinkt!](https://shop.pimoroni.com/products/blinkt) board, featuring eight super-bright RGB LEDs.
diff --git a/source/_components/blockchain.markdown b/source/_components/blockchain.markdown
index 855d6f354d0..564747c1d08 100644
--- a/source/_components/blockchain.markdown
+++ b/source/_components/blockchain.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.47
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.blockchain/
---
diff --git a/source/_components/bloomsky.markdown b/source/_components/bloomsky.markdown
index 6d0e4a0e7b2..9aa5661b1d4 100644
--- a/source/_components/bloomsky.markdown
+++ b/source/_components/bloomsky.markdown
@@ -9,8 +9,6 @@ ha_category:
- Sensor
ha_release: 0.14
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.bloomsky/
---
The `bloomsky` integration allows you to access your [BloomSky](https://www.bloomsky.com/) weather station's.
diff --git a/source/_components/bluesound.markdown b/source/_components/bluesound.markdown
index 4997a1c91cc..b83195ed7a8 100644
--- a/source/_components/bluesound.markdown
+++ b/source/_components/bluesound.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.51
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.bluesound/
---
The `bluesound` platform allows you to control your [Bluesound](http://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant.
diff --git a/source/_components/bluetooth_le_tracker.markdown b/source/_components/bluetooth_le_tracker.markdown
index 4c3209447dd..672fe5534a5 100644
--- a/source/_components/bluetooth_le_tracker.markdown
+++ b/source/_components/bluetooth_le_tracker.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.27
-redirect_from:
- - /components/device_tracker.bluetooth_le_tracker/
---
This tracker discovers new devices on boot and in regular intervals and tracks Bluetooth low-energy devices periodically based on interval_seconds value. It is not required to pair the devices with each other.
@@ -17,7 +15,7 @@ Devices discovered are stored with 'BLE_' as the prefix for device mac addresses
This platform requires pybluez to be installed. On Debian based installs, run
```bash
-$ sudo apt install bluetooth
+sudo apt install bluetooth
```
Before you get started with this platform, please note that:
@@ -54,9 +52,9 @@ Some BTLE devices (e.g., fitness trackers) are only visible to the devices that
Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information).
```bash
-$ sudo apt-get install libcap2-bin
-$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
-$ sudo setcap 'cap_net_raw+ep' `readlink -f \`which hcitool\``
+sudo apt-get install libcap2-bin
+sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
+sudo setcap 'cap_net_raw+ep' `readlink -f \`which hcitool\``
```
A restart of Home Assistant is required.
diff --git a/source/_components/bluetooth_tracker.markdown b/source/_components/bluetooth_tracker.markdown
index 6a23df6d4f1..1d5e33970f9 100644
--- a/source/_components/bluetooth_tracker.markdown
+++ b/source/_components/bluetooth_tracker.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.18
-redirect_from:
- - /components/device_tracker.bluetooth_tracker/
---
This tracker discovers new devices on boot and tracks Bluetooth devices periodically based on `interval_seconds` value. It is not required to pair the devices with each other! Devices discovered are stored with 'bt_' as the prefix for device MAC addresses in `known_devices.yaml`.
diff --git a/source/_components/bme280.markdown b/source/_components/bme280.markdown
index cb6fb70243d..341716da1ce 100644
--- a/source/_components/bme280.markdown
+++ b/source/_components/bme280.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.48
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.bme280/
---
The `bme280` sensor platform allows you to read temperature, humidity and pressure values of a [Bosch BME280 Environmental sensor](https://cdn-shop.adafruit.com/datasheets/BST-BME280_DS001-10.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet.
diff --git a/source/_components/bme680.markdown b/source/_components/bme680.markdown
index d7c64777d27..6ede66e3e8c 100644
--- a/source/_components/bme680.markdown
+++ b/source/_components/bme680.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.62
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.bme680/
---
The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement.
diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown
index db58fa4a926..4509d7a09be 100644
--- a/source/_components/bmw_connected_drive.markdown
+++ b/source/_components/bmw_connected_drive.markdown
@@ -10,11 +10,6 @@ ha_category:
- Sensor
ha_release: 0.64
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.bmw_connected_drive/
- - /components/device_tracker.bmw_connected_drive/
- - /components/lock.bmw_connected_drive/
- - /components/sensor.bmw_connected_drive/
---
The `bmw_connected_drive` integration lets you retrieve data of 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.
diff --git a/source/_components/bom.markdown b/source/_components/bom.markdown
index e8e86e3b870..5d0dacef237 100644
--- a/source/_components/bom.markdown
+++ b/source/_components/bom.markdown
@@ -8,9 +8,6 @@ ha_category:
- Camera
ha_release: 0.36
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.bom/
- - /components/sensor.bom/
---
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.
@@ -93,7 +90,7 @@ filename:
### Valid `location` values
-```
+```txt
Adelaide Albany AliceSprings Bairnsdale Bowen
Brisbane Broome Cairns Canberra Carnarvon
Ceduna Dampier Darwin Emerald Esperance
diff --git a/source/_components/braviatv.markdown b/source/_components/braviatv.markdown
index 187fd9cc4a9..6c1054e7b7b 100644
--- a/source/_components/braviatv.markdown
+++ b/source/_components/braviatv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.23
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.braviatv/
---
The `braviatv` platform allows you to control a [Sony Bravia TV](http://www.sony.com).
diff --git a/source/_components/broadcast.markdown b/source/_components/broadcast.markdown
index 58dad653bef..c84fb953e9c 100644
--- a/source/_components/broadcast.markdown
+++ b/source/_components/broadcast.markdown
@@ -5,8 +5,6 @@ logo: telegram.png
ha_category:
- Notifications
ha_release: 0.48
-redirect_from:
- - /components/telegram_bot.broadcast/
---
Telegram implementation to support **sending messages only**. Your Home Assistant instance does not have to be exposed to the Internet and there is no polling to receive messages sent to the bot.
@@ -49,4 +47,4 @@ proxy_params:
type: string
{% endconfiguration %}
-To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram/).
+To get your `chat_id` and `api_key` follow the instructions [here](/components/telegram).
diff --git a/source/_components/broadlink.markdown b/source/_components/broadlink.markdown
index c0bbc2c2b39..9dddff8bfdd 100644
--- a/source/_components/broadlink.markdown
+++ b/source/_components/broadlink.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.35
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.broadlink/
- - /components/sensor.broadlink/
---
There is currently support for the following device types within Home Assistant:
@@ -207,7 +204,7 @@ slots:
type: string
{% endconfiguration %}
-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](/components/broadlink#sensor#microsoft-windows-installation).
### How to obtain IR/RF packets?
diff --git a/source/_components/brottsplatskartan.markdown b/source/_components/brottsplatskartan.markdown
index 2a27ef21ec1..d696ff0a7b5 100644
--- a/source/_components/brottsplatskartan.markdown
+++ b/source/_components/brottsplatskartan.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: brottsplatskartan.png
ha_release: 0.85
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.brottsplatskartan/
---
The `brottsplatskartan` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Brottsplatskartan](https://brottsplatskartan.se). The sensor only counts incidents from the current day.
diff --git a/source/_components/brunt.markdown b/source/_components/brunt.markdown
index 12a252fd657..73efc8bfed0 100644
--- a/source/_components/brunt.markdown
+++ b/source/_components/brunt.markdown
@@ -6,8 +6,6 @@ ha_category:
- Cover
ha_release: 0.75
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/cover.brunt/
---
The `brunt` platform allows one to control Blind Engines by [Brunt](https://www.brunt.co). To use this sensor, you need a Brunt App Account. All Brunt Blind devices registered to your account are automatically added to your Home Assistant with the names given them through the Brunt app.
diff --git a/source/_components/bt_home_hub_5.markdown b/source/_components/bt_home_hub_5.markdown
index 6d8216cdc9b..cb582e38706 100644
--- a/source/_components/bt_home_hub_5.markdown
+++ b/source/_components/bt_home_hub_5.markdown
@@ -5,8 +5,6 @@ logo: bt.png
ha_category:
- Presence Detection
ha_release: 0.22
-redirect_from:
- - /components/device_tracker.bt_home_hub_5/
---
This platform offers presence detection by looking at connected devices to a [BT Home Hub 5](https://en.wikipedia.org/wiki/BT_Home_Hub) based router.
diff --git a/source/_components/bt_smarthub.markdown b/source/_components/bt_smarthub.markdown
index 07ad84467f7..0183a626455 100644
--- a/source/_components/bt_smarthub.markdown
+++ b/source/_components/bt_smarthub.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: 0.82
ha_iot_class: Local Polling
-redirect_from:
- - /components/device_tracker.bt_smarthub/
---
This platform offers presence detection by looking at connected devices to a [BT Smart Hub](https://en.wikipedia.org/wiki/BT_Smart_Hub) based router.
diff --git a/source/_components/buienradar.markdown b/source/_components/buienradar.markdown
index 2a796080b5a..771a8e335b2 100644
--- a/source/_components/buienradar.markdown
+++ b/source/_components/buienradar.markdown
@@ -7,8 +7,6 @@ ha_category:
- Weather
ha_release: 0.47
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.buienradar/
---
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.
diff --git a/source/_components/caldav.markdown b/source/_components/caldav.markdown
index f7fd60842d9..7222b17f02a 100644
--- a/source/_components/caldav.markdown
+++ b/source/_components/caldav.markdown
@@ -5,8 +5,6 @@ ha_category:
- Calendar
ha_iot_class: Cloud Polling
ha_release: "0.60"
-redirect_from:
- - /components/calendar.caldav/
---
The `caldav` platform allows you to connect to your WebDav calendar and generate
diff --git a/source/_components/canary.markdown b/source/_components/canary.markdown
index 9afab99c4fb..cc5a5077ada 100644
--- a/source/_components/canary.markdown
+++ b/source/_components/canary.markdown
@@ -8,10 +8,6 @@ ha_category:
- Sensor
ha_release: "0.60"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/alarm_control_panel.canary/
- - /components/camera.canary/
- - /components/sensor.canary/
---
The `canary` integration allows you to integrate your [Canary](https://canary.is) devices in Home Assistant.
diff --git a/source/_components/cast.markdown b/source/_components/cast.markdown
index 8a78310a2ef..eba23816871 100644
--- a/source/_components/cast.markdown
+++ b/source/_components/cast.markdown
@@ -7,7 +7,6 @@ ha_category:
featured: true
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from: /components/media_player.cast/
---
You can enable the Cast integration by going to the Integrations page inside the config panel.
diff --git a/source/_components/cert_expiry.markdown b/source/_components/cert_expiry.markdown
index 74e0c82183f..2d3d82f851b 100644
--- a/source/_components/cert_expiry.markdown
+++ b/source/_components/cert_expiry.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.44
ha_iot_class: Configurable
-redirect_from:
- - /components/sensor.cert_expiry/
---
The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days.
diff --git a/source/_components/channels.markdown b/source/_components/channels.markdown
index 88f2e4c29a8..449471874e4 100644
--- a/source/_components/channels.markdown
+++ b/source/_components/channels.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.65
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.channels/
---
diff --git a/source/_components/cisco_ios.markdown b/source/_components/cisco_ios.markdown
index 0f3eb664c9e..b4e69607d7d 100644
--- a/source/_components/cisco_ios.markdown
+++ b/source/_components/cisco_ios.markdown
@@ -5,8 +5,6 @@ logo: cisco.png
ha_category:
- Presence Detection
ha_release: 0.33
-redirect_from:
- - /components/device_tracker.cisco_ios/
---
This is a presence detection scanner for [Cisco](http://www.cisco.com) IOS devices.
diff --git a/source/_components/ciscospark.markdown b/source/_components/ciscospark.markdown
index dbb98889968..55a18800534 100644
--- a/source/_components/ciscospark.markdown
+++ b/source/_components/ciscospark.markdown
@@ -5,8 +5,6 @@ logo: ciscospark.png
ha_category:
- Notifications
ha_release: "0.40"
-redirect_from:
- - /components/notify.ciscospark/
---
The `ciscospark` notification platform allows you to deliver notifications from Home Assistant to [Cisco Spark](https://ciscospark.com/).
diff --git a/source/_components/citybikes.markdown b/source/_components/citybikes.markdown
index fa86b793def..3d5ac138e1f 100644
--- a/source/_components/citybikes.markdown
+++ b/source/_components/citybikes.markdown
@@ -5,8 +5,6 @@ logo: citybikes.png
ha_category:
- Transport
ha_release: 0.49
-redirect_from:
- - /components/sensor.citybikes/
---
diff --git a/source/_components/clementine.markdown b/source/_components/clementine.markdown
index 03f0c7f2642..173f292a319 100644
--- a/source/_components/clementine.markdown
+++ b/source/_components/clementine.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.39
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.clementine/
---
The `clementine` platform allows you to control a [Clementine Music Player](https://www.clementine-player.org).
diff --git a/source/_components/clickatell.markdown b/source/_components/clickatell.markdown
index e81970fcb81..45959da4837 100644
--- a/source/_components/clickatell.markdown
+++ b/source/_components/clickatell.markdown
@@ -5,8 +5,6 @@ logo: clickatell.png
ha_category:
- Notifications
ha_release: 0.56
-redirect_from:
- - /components/notify.clickatell/
---
The `clickatell` platform uses [Clickatell](https://clickatell.com) to deliver SMS notifications from Home Assistant.
diff --git a/source/_components/clicksend.markdown b/source/_components/clicksend.markdown
index 3e63c1a7fe2..cbe5dbd8ab6 100644
--- a/source/_components/clicksend.markdown
+++ b/source/_components/clicksend.markdown
@@ -5,8 +5,6 @@ logo: clicksend.png
ha_category:
- Notifications
ha_release: 0.48
-redirect_from:
- - /components/notify.clicksend/
---
The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver notifications from Home Assistant.
diff --git a/source/_components/clicksend_tts.markdown b/source/_components/clicksend_tts.markdown
index e724655bf57..c82e7e8d3a7 100644
--- a/source/_components/clicksend_tts.markdown
+++ b/source/_components/clicksend_tts.markdown
@@ -5,9 +5,6 @@ logo: clicksend.png
ha_category:
- Notifications
ha_release: 0.55
-redirect_from:
- - /components/notify.clicksendaudio/
- - /components/notify.clicksend_tts/
---
The `clicksend_tts` platform uses [ClickSend](https://clicksend.com) to deliver text-to-speech (TTS) notifications from Home Assistant.
diff --git a/source/_components/cmus.markdown b/source/_components/cmus.markdown
index 9739ba9d32a..8ac0a5b48c6 100644
--- a/source/_components/cmus.markdown
+++ b/source/_components/cmus.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.23
-redirect_from:
- - /components/media_player.cmus/
---
diff --git a/source/_components/co2signal.markdown b/source/_components/co2signal.markdown
index ea65c70fe5a..260c02b7419 100644
--- a/source/_components/co2signal.markdown
+++ b/source/_components/co2signal.markdown
@@ -6,8 +6,6 @@ ha_category:
- Environment
ha_release: 0.87
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.co2signal/
---
The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as https://www.electricitymap.org/. Not all countries/regions in the world are supported so please consult this website to check local availability.
diff --git a/source/_components/coinbase.markdown b/source/_components/coinbase.markdown
index 34a9bdb6969..ba75ab338c7 100644
--- a/source/_components/coinbase.markdown
+++ b/source/_components/coinbase.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.61
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.coinbase/
---
The `coinbase` integration lets you access account balances and exchange rates from [coinbase](https://coinbase.com).
diff --git a/source/_components/coinmarketcap.markdown b/source/_components/coinmarketcap.markdown
index 1bc5ed1ef7d..3f143ccd8a0 100644
--- a/source/_components/coinmarketcap.markdown
+++ b/source/_components/coinmarketcap.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.28
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.coinmarketcap/
---
diff --git a/source/_components/comed_hourly_pricing.markdown b/source/_components/comed_hourly_pricing.markdown
index 7079fe6a495..8bb97c4cda2 100644
--- a/source/_components/comed_hourly_pricing.markdown
+++ b/source/_components/comed_hourly_pricing.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: "0.40"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.comed_hourly_pricing/
---
The ComEd Hourly Pricing program is an optional program available to ComEd electric subscribers which charges customers a variable rate for electricity supply based on current demand rather than a traditional fixed rate. Live prices are published [here](https://hourlypricing.comed.com/live-prices/) and also via an [API](https://hourlypricing.comed.com/hp-api/) which we can integrate as a sensor in Home Assistant.
diff --git a/source/_components/comfoconnect.markdown b/source/_components/comfoconnect.markdown
index c3aa788ed76..1ab6097aa18 100644
--- a/source/_components/comfoconnect.markdown
+++ b/source/_components/comfoconnect.markdown
@@ -6,9 +6,6 @@ ha_category:
- Fan
- Sensor
ha_release: 0.48
-redirect_from:
- - /components/fan.comfoconnect/
- - /components/sensor.comfoconnect/
---
The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-st)/[450](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-st)/[600](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
diff --git a/source/_components/command_line.markdown b/source/_components/command_line.markdown
index c22e5a513d1..730e910e1a4 100644
--- a/source/_components/command_line.markdown
+++ b/source/_components/command_line.markdown
@@ -6,8 +6,6 @@ ha_category:
- Utility
ha_release: 0.12
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.command_line/
---
The `command_line` binary sensor platform issues specific commands to get data.
@@ -114,13 +112,13 @@ binary_sensor:
payload_off: "fail"
```
-Consider to use the [`ping` sensor ](/components/binary_sensor.ping/) as an alternative to the samples above.
+Consider to use the [`ping` sensor ](/components/ping#binary-sensor) as an alternative to the samples above.
### Check if a system service is running
The services running is listed in `/etc/systemd/system` and can be checked with the `systemctl` command:
-```
+```bash
$ systemctl is-active home-assistant@rock64.service
active
$ sudo service home-assistant@rock64.service stop
diff --git a/source/_components/concord232.markdown b/source/_components/concord232.markdown
index cc4fb988d7b..80ef881b4bf 100644
--- a/source/_components/concord232.markdown
+++ b/source/_components/concord232.markdown
@@ -6,9 +6,6 @@ ha_category:
- Alarm
- Binary Sensor
ha_release: 0.31
-redirect_from:
- - /components/binary_sensor.concord232/
- - /components/alarm_control_panel.concord232/
---
The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4.
diff --git a/source/_components/coolmaster.markdown b/source/_components/coolmaster.markdown
index 59347e05636..e325d87b536 100644
--- a/source/_components/coolmaster.markdown
+++ b/source/_components/coolmaster.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.88
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.coolmaster/
---
diff --git a/source/_components/cppm_tracker.markdown b/source/_components/cppm_tracker.markdown
index c8d86e219fc..d30b472ec27 100644
--- a/source/_components/cppm_tracker.markdown
+++ b/source/_components/cppm_tracker.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: "0.90"
ha_iot_class: Local Polling
-redirect_from:
- - /components/cppm/
---
This platform allows you to detect presence by looking at connected devices to [Aruba Clearpass](https://www.arubanetworks.com/products/security/network-access-control/).
diff --git a/source/_components/cpuspeed.markdown b/source/_components/cpuspeed.markdown
index 35f93373062..be4aa104582 100644
--- a/source/_components/cpuspeed.markdown
+++ b/source/_components/cpuspeed.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: pre 0.7
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.cpuspeed/
---
The `cpuspeed` sensor platform to allow you to monitor the current CPU speed.
diff --git a/source/_components/crimereports.markdown b/source/_components/crimereports.markdown
index ea63c57fd2a..1cdd1d8c3d4 100644
--- a/source/_components/crimereports.markdown
+++ b/source/_components/crimereports.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: crimereports.png
ha_release: 0.42
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.crimereports/
---
The `crimereports` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Crime Reports](https://www.crimereports.com). Your regional emergency services may or may not report data. The sensor only counts incidents from the current day.
diff --git a/source/_components/cups.markdown b/source/_components/cups.markdown
index 40af6c781e5..c8954521356 100644
--- a/source/_components/cups.markdown
+++ b/source/_components/cups.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.32
-redirect_from:
- - /components/sensor.cups/
---
diff --git a/source/_components/currencylayer.markdown b/source/_components/currencylayer.markdown
index cc3221508cf..0dbe85504a2 100644
--- a/source/_components/currencylayer.markdown
+++ b/source/_components/currencylayer.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: currencylayer.png
ha_iot_class: Cloud Polling
ha_release: 0.32
-redirect_from:
- - /components/sensor.currencylayer/
---
diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown
index 14047bc6511..0b3296ba1db 100644
--- a/source/_components/daikin.markdown
+++ b/source/_components/daikin.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_release: 0.59
ha_iot_class: Local Polling
ha_qa_scale: platinum
-redirect_from:
- - /components/climate.daikin/
- - /components/sensor.daikin/
---
The `daikin` integration integrates Daikin air conditioning systems into Home Assistant.
diff --git a/source/_components/danfoss_air.markdown b/source/_components/danfoss_air.markdown
index 8e3458f0d80..95baa5ec0bd 100644
--- a/source/_components/danfoss_air.markdown
+++ b/source/_components/danfoss_air.markdown
@@ -9,10 +9,6 @@ ha_category:
ha_release: 0.87
logo: danfoss_air.png
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.danfoss_air/
- - /components/sensor.danfoss_air/
- - /components/switch.danfoss_air/
---
The `danfoss_air` integration allows you to access information from your Danfoss Air HRV unit.
diff --git a/source/_components/darksky.markdown b/source/_components/darksky.markdown
index 3c8f07eae5a..0e2c765c8f7 100644
--- a/source/_components/darksky.markdown
+++ b/source/_components/darksky.markdown
@@ -6,9 +6,6 @@ ha_category:
- Weather
ha_release: "0.30"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.darksky/
- - /components/sensor.forecast/
---
The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
diff --git a/source/_components/ddwrt.markdown b/source/_components/ddwrt.markdown
index 720d8ec511c..25db41e18e1 100644
--- a/source/_components/ddwrt.markdown
+++ b/source/_components/ddwrt.markdown
@@ -5,8 +5,6 @@ logo: ddwrt.png
ha_category:
- Presence Detection
ha_release: pre 0.7
-redirect_from:
- - /components/device_tracker.ddwrt/
---
This platform offers presence detection by looking at connected devices to a [DD-WRT](https://dd-wrt.com/) based router.
diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown
index 3b205c7491f..b9911f6f776 100644
--- a/source/_components/deconz.markdown
+++ b/source/_components/deconz.markdown
@@ -14,14 +14,6 @@ ha_release: 0.61
ha_iot_class: Local Push
ha_qa_scale: platinum
ha_config_flow: true
-redirect_from:
- - /components/binary_sensor.deconz/
- - /components/climate.deconz/
- - /components/cover.deconz/
- - /components/light.deconz/
- - /components/scene.deconz/
- - /components/sensor.deconz/
- - /components/switch.deconz/
---
[deCONZ](https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/) by [Dresden Elektronik](https://www.dresden-elektronik.de) is a software that communicates with Conbee/Raspbee Zigbee gateways and exposes Zigbee devices that are connected to the gateway.
@@ -67,6 +59,10 @@ logger:
homeassistant.components.deconz: debug
```
+## Troubleshooting
+
+If you are having issues and want to report a problem, always start with making sure that you're on the latest [deCONZ software version](https://github.com/dresden-elektronik/deconz-rest-plugin/releases) and [latest firmware for hardware](https://www.dresden-elektronik.de/rpi/deconz-firmware/?C=M;O=D).
+
## Device services
Available services: `configure` and `deconz.device_refresh`.
@@ -83,13 +79,21 @@ Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.git
Either `entity` or `field` must be provided. If both are present, `field` will be interpreted as a subpath under the device path corresponding to the specified `entity`:
+```json
{ "field": "/lights/1", "data": {"name": "light2"} }
+```
+```json
{ "entity": "light.light1", "data": {"name": "light2"} }
+```
+```json
{ "entity": "light.light1", "field: "/state", "data": {"on": true} }
+```
+```json
{ "field": "/config", "data": {"permitjoin": 60} }
+```
#### Service `deconz.device_refresh`
diff --git a/source/_components/decora.markdown b/source/_components/decora.markdown
index 8c75c360370..8e3d4e932a8 100644
--- a/source/_components/decora.markdown
+++ b/source/_components/decora.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Polling
logo: leviton.png
ha_release: 0.37
-redirect_from:
- - /components/light.decora/
---
Support for the Decora Bluetooth dimmer switch [Leviton](https://www.leviton.com/en/products/residential/dimmers/automation-smart-home/decora-digital-with-bluetooth-dimmers#t=Products&sort=%40wcs_site_tree_rank%20ascending&layout=card).
diff --git a/source/_components/decora_wifi.markdown b/source/_components/decora_wifi.markdown
index a91435e3fee..aef1c6a0063 100644
--- a/source/_components/decora_wifi.markdown
+++ b/source/_components/decora_wifi.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Cloud Polling
logo: leviton.png
ha_release: 0.51
-redirect_from:
- - /components/light.decora_wifi/
---
Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API.
diff --git a/source/_components/deluge.markdown b/source/_components/deluge.markdown
index 14236471b8d..cbabe6d717f 100644
--- a/source/_components/deluge.markdown
+++ b/source/_components/deluge.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.57
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.deluge/
- - /components/sensor.deluge/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/denon.markdown b/source/_components/denon.markdown
index 6569d7264eb..a22a9078eee 100644
--- a/source/_components/denon.markdown
+++ b/source/_components/denon.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.7.2
-redirect_from:
- - /components/media_player.denon/
---
The `denon` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform.
@@ -49,4 +47,4 @@ A few notes for platform: denon
- Play and pause are supported, toggling is not possible.
- Seeking cannot be implemented as the UI sends absolute positions. Only seeking via simulated button presses is possible.
-[Denon AVR]: /components/media_player.denonavr/
+[Denon AVR]: /components/denonavr/
diff --git a/source/_components/denonavr.markdown b/source/_components/denonavr.markdown
index 074b8d3b6bf..977c6598503 100644
--- a/source/_components/denonavr.markdown
+++ b/source/_components/denonavr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.7.2
-redirect_from:
- - /components/media_player.denonavr/
---
The `denonavr` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform.
@@ -96,4 +94,4 @@ A few notes:
- To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings.
- Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel.
-[Denon]: /components/media_player.denon/
+[Denon]: /components/denon
diff --git a/source/_components/deutsche_bahn.markdown b/source/_components/deutsche_bahn.markdown
index cf65a46e3ea..f0fb887c7c7 100644
--- a/source/_components/deutsche_bahn.markdown
+++ b/source/_components/deutsche_bahn.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: db.png
ha_iot_class: Cloud Polling
ha_release: 0.14
-redirect_from:
- - /components/sensor.deutsche_bahn/
---
@@ -43,7 +41,7 @@ only_direct:
default: false
{% endconfiguration %}
-This sensor stores a lot of attributes which can be accessed by other sensors, e.g., a [template sensor](/components/sensor.template/).
+This sensor stores a lot of attributes which can be accessed by other sensors, e.g., a [template sensor](/components/template).
```yaml
# Example configuration.yaml entry
diff --git a/source/_components/dht.markdown b/source/_components/dht.markdown
index 5cfaa00f000..3a366372ed8 100644
--- a/source/_components/dht.markdown
+++ b/source/_components/dht.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_release: 0.7
logo: dht.png
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.dht/
---
diff --git a/source/_components/dialogflow.markdown b/source/_components/dialogflow.markdown
index eebb94698b7..31031692c57 100644
--- a/source/_components/dialogflow.markdown
+++ b/source/_components/dialogflow.markdown
@@ -5,8 +5,6 @@ logo: dialogflow.png
ha_category:
- Voice
ha_release: 0.56
-redirect_from:
- - /components/apiai/
---
The `dialogflow` integration is designed to be used with the [webhook](https://dialogflow.com/docs/fulfillment#webhook) integration of [Dialogflow](https://dialogflow.com/). When a conversation ends with a user, Dialogflow sends an action and parameters to the webhook.
diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown
index a7436fcb7f6..847d3789ed1 100644
--- a/source/_components/digital_ocean.markdown
+++ b/source/_components/digital_ocean.markdown
@@ -8,9 +8,6 @@ ha_category:
ha_release: "0.30"
logo: digital_ocean.png
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.digital_ocean/
- - /components/switch.digital_ocean/
---
The `digital_ocean` integration allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant.
diff --git a/source/_components/digitalloggers.markdown b/source/_components/digitalloggers.markdown
index e491ce64ddc..fbbdfa510ee 100644
--- a/source/_components/digitalloggers.markdown
+++ b/source/_components/digitalloggers.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.35
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.digitalloggers/
---
The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](http://www.digital-loggers.com/dinfaqs.html) switches.
diff --git a/source/_components/directv.markdown b/source/_components/directv.markdown
index a1097003b59..02cf6031fd4 100644
--- a/source/_components/directv.markdown
+++ b/source/_components/directv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.25
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.directv/
---
Master [DirecTV](http://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/components/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery.
diff --git a/source/_components/discogs.markdown b/source/_components/discogs.markdown
index e1ca730dff7..fa6af02d26e 100644
--- a/source/_components/discogs.markdown
+++ b/source/_components/discogs.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_release: 0.61
logo: discogs.png
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.discogs/
---
The `discogs` platform allows you to see the current amount of records in your [Discogs](https://discogs.com) collection.
diff --git a/source/_components/discord.markdown b/source/_components/discord.markdown
index c7f146bfde4..ccff715d00d 100644
--- a/source/_components/discord.markdown
+++ b/source/_components/discord.markdown
@@ -5,8 +5,6 @@ logo: discord.png
ha_category:
- Notifications
ha_release: 0.37
-redirect_from:
- - /components/notify.discord/
---
The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows integrations to send messages to the user using Discord.
diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown
index 2225b34f30d..51352b1fcd2 100644
--- a/source/_components/discovery.markdown
+++ b/source/_components/discovery.markdown
@@ -12,30 +12,30 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi
* [Apple TV](/components/apple_tv/)
* [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/)
- * [DLNA DMR enabled devices](/components/media_player.dlna_dmr/)
- * [Enigma2 media player](/components/media_player.enigma2/)
- * [Frontier Silicon internet radios](/components/media_player.frontier_silicon/)
- * [Google Cast](/components/media_player.cast/)
- * [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 SyncThru Printer](/components/sensor.syncthru/)
- * [Samsung TVs](/components/media_player.samsungtv/)
- * [Sonos speakers](/components/media_player.sonos/)
+ * [Bluesound speakers](/components/bluesound)
+ * [Bose Soundtouch speakers](/components/soundtouch)
+ * [Denon network receivers](/components/denonavr/)
+ * [DirecTV receivers](/components/directv)
+ * [DLNA DMR enabled devices](/components/dlna_dmr)
+ * [Enigma2 media player](/components/enigma2)
+ * [Frontier Silicon internet radios](/components/frontier_silicon)
+ * [Google Cast](/components/cast)
+ * [Linn / Openhome](/components/openhome)
+ * [Logitech Harmony Hub](/components/harmony)
+ * [Logitech media server (Squeezebox)](/components/squeezebox)
+ * [Netgear routers](/components/netgear)
+ * [Panasonic Viera](/components/panasonic_viera)
+ * [Philips Hue](/components/hue)
+ * [Plex media server](/components/plex#media-player)
+ * [Roku media player](/components/roku#media-player)
+ * [SABnzbd downloader](/components/sabnzbd)
+ * [Samsung SyncThru Printer](/components/syncthru)
+ * [Samsung TVs](/components/samsungtv)
+ * [Sonos speakers](/components/sonos)
* [Telldus Live](/components/tellduslive/)
* [Wink](/components/wink/)
- * [Yamaha media player](/components/media_player.yamaha/)
- * [Yeelight Sunflower bulb](/components/light.yeelightsunflower/)
+ * [Yamaha media player](/components/yamaha)
+ * [Yeelight Sunflower bulb](/components/yeelightsunflower/)
* [Xiaomi Gateway (Aqara)](/components/xiaomi_aqara/)
It will be able to add Google Chromecasts and Belkin WeMo switches automatically,
diff --git a/source/_components/dispatcher.markdown b/source/_components/dispatcher.markdown
index 8e8d6c53c62..b7e5f098755 100644
--- a/source/_components/dispatcher.markdown
+++ b/source/_components/dispatcher.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: camcorder.png
ha_release: "0.40"
ha_iot_class: Configurable
-redirect_from:
- - /components/camera.dispatcher/
---
diff --git a/source/_components/dlib_face_detect.markdown b/source/_components/dlib_face_detect.markdown
index 9ef512b54e8..413954b6040 100644
--- a/source/_components/dlib_face_detect.markdown
+++ b/source/_components/dlib_face_detect.markdown
@@ -5,8 +5,6 @@ logo: dlib.png
ha_category:
- Image Processing
ha_release: 0.44
-redirect_from:
- - /components/image_processing.dlib_face_detect/
---
The `dlib_face_detect` image processing platform allows you to use the [Dlib](http://www.dlib.net/) through Home Assistant. This platform enables face detection from cameras, and can fire events with attributes.
diff --git a/source/_components/dlib_face_identify.markdown b/source/_components/dlib_face_identify.markdown
index 04385831b3e..18b7d9e8077 100644
--- a/source/_components/dlib_face_identify.markdown
+++ b/source/_components/dlib_face_identify.markdown
@@ -5,8 +5,6 @@ logo: dlib.png
ha_category:
- Image Processing
ha_release: 0.44
-redirect_from:
- - /components/image_processing.dlib_face_identify/
---
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.
diff --git a/source/_components/dlink.markdown b/source/_components/dlink.markdown
index 941d486dcc7..54e2d1192f0 100644
--- a/source/_components/dlink.markdown
+++ b/source/_components/dlink.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.14
-redirect_from:
- - /components/switch.dlink/
---
The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](http://us.dlink.com/product-category/home-solutions/connected-home/smart-plugs/).
diff --git a/source/_components/dlna_dmr.markdown b/source/_components/dlna_dmr.markdown
index 8c4123710b7..67dac15e57b 100644
--- a/source/_components/dlna_dmr.markdown
+++ b/source/_components/dlna_dmr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.76
ha_iot_class: Local Push
-redirect_from:
- - /components/media_player.dlna_dmr/
---
The `dlna_dmr` platform allows you to control a [DLNA Digital Media Renderer](https://www.dlna.org/), such as DLNA enabled TVs or radios.
diff --git a/source/_components/dnsip.markdown b/source/_components/dnsip.markdown
index fec191407c0..24d3e270a74 100644
--- a/source/_components/dnsip.markdown
+++ b/source/_components/dnsip.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_iot_class: Cloud Polling
ha_release: "0.40"
-redirect_from:
- - /components/sensor.dnsip/
---
The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its value. There are two operational modes:
diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown
index 5fdc81d2675..e0889e97823 100644
--- a/source/_components/doorbird.markdown
+++ b/source/_components/doorbird.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.54
ha_iot_class: Local Push
-redirect_from:
- - /components/camera.doorbird/
- - /components/switch.doorbird/
---
The `doorbird` implementation allows you to integrate your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
diff --git a/source/_components/dovado.markdown b/source/_components/dovado.markdown
index 96262afbe83..6d2ab949a3e 100644
--- a/source/_components/dovado.markdown
+++ b/source/_components/dovado.markdown
@@ -8,9 +8,6 @@ ha_category:
logo: dovado.png
ha_release: 0.87
ha_iot_class: Local Polling
-redirect_from:
- - /components/notify.dovado/
- - /components/sensor.dovado/
---
The `dovado` integration manages communication with the [Dovado](http://www.dovado.com/) router.
diff --git a/source/_components/dsmr.markdown b/source/_components/dsmr.markdown
index 887827dd685..6da6374b879 100644
--- a/source/_components/dsmr.markdown
+++ b/source/_components/dsmr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.34
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.dsmr/
---
A sensor platform for Dutch Smart Meters which comply to DSMR (Dutch Smart Meter Requirements), also known as 'Slimme meter' or 'P1 poort'.
diff --git a/source/_components/dte_energy_bridge.markdown b/source/_components/dte_energy_bridge.markdown
index 7830053b28d..c0c6a8843c9 100644
--- a/source/_components/dte_energy_bridge.markdown
+++ b/source/_components/dte_energy_bridge.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.21
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.dte_energy_bridge/
---
A sensor platform for the [DTE](https://www.newlook.dteenergy.com/) Energy Bridge. To find out which version of the DTE Energy Bridge sensor you have, find the status LED on your box.
diff --git a/source/_components/dublin_bus_transport.markdown b/source/_components/dublin_bus_transport.markdown
index 3899b7a7c58..81689de682c 100644
--- a/source/_components/dublin_bus_transport.markdown
+++ b/source/_components/dublin_bus_transport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.36
-redirect_from:
- - /components/sensor.dublin_bus_transport/
---
The `dublin_bus_transport` sensor will give you the time until the next two departures from a Dublin bus stop using the RTPI information.
diff --git a/source/_components/duke_energy.markdown b/source/_components/duke_energy.markdown
index b457129530f..62e599b9e48 100644
--- a/source/_components/duke_energy.markdown
+++ b/source/_components/duke_energy.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.74
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.duke_energy/
---
The `duke_energy` sensor platform allows you get the previous days usage for all of your Duke Energy smart meters.
diff --git a/source/_components/dunehd.markdown b/source/_components/dunehd.markdown
index 22f6809b270..73d41fc50b0 100644
--- a/source/_components/dunehd.markdown
+++ b/source/_components/dunehd.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.34
-redirect_from:
- - /components/media_player.dunehd/
---
diff --git a/source/_components/dwd_weather_warnings.markdown b/source/_components/dwd_weather_warnings.markdown
index f5cef708543..4622f4b2e7c 100644
--- a/source/_components/dwd_weather_warnings.markdown
+++ b/source/_components/dwd_weather_warnings.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.51
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.dwd_weather_warnings/
---
The `dwd_weather_warnings` sensor platform uses the [Deutsche Wetter Dienst (DWD)](https://www.dwd.de) as a source for current and advance warnings.
diff --git a/source/_components/dweet.markdown b/source/_components/dweet.markdown
index 30a710ed2a6..c2ffcb58d5a 100644
--- a/source/_components/dweet.markdown
+++ b/source/_components/dweet.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.19
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.dweet/
---
The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](http://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!
diff --git a/source/_components/dyson.markdown b/source/_components/dyson.markdown
index 77e5c3fb157..e4c1b8328a6 100644
--- a/source/_components/dyson.markdown
+++ b/source/_components/dyson.markdown
@@ -10,11 +10,6 @@ ha_category:
- Vacuum
ha_iot_class: Cloud Polling
ha_release: 0.47
-redirect_from:
- - /components/vacuum.dyson/
- - /components/climate.dyson/
- - /components/fan.dyson/
- - /components/sensor.dyson/
---
The `dyson` integration is the main integration to integrate all [Dyson](https://www.dyson.com) related platforms.
diff --git a/source/_components/ebox.markdown b/source/_components/ebox.markdown
index 1ad3e460622..39561525151 100644
--- a/source/_components/ebox.markdown
+++ b/source/_components/ebox.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.39
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.ebox/
---
Integrate your [EBox](https://client.ebox.ca/) account information into Home Assistant.
diff --git a/source/_components/ebusd.markdown b/source/_components/ebusd.markdown
index 28c893f6a11..1a5ed645592 100644
--- a/source/_components/ebusd.markdown
+++ b/source/_components/ebusd.markdown
@@ -5,8 +5,6 @@ ha_category:
- Sensor
ha_iot_class: Local Polling
ha_release: 0.88
-redirect_from:
- - /components/sensor.ebusd/
---
Integration between [ebusd](https://github.com/john30/ebusd/) daemon for communication with eBUS heating systems, and Home Assistant using sensor component.
diff --git a/source/_components/ecoal_boiler.markdown b/source/_components/ecoal_boiler.markdown
index 617be151a62..9c4913dca89 100644
--- a/source/_components/ecoal_boiler.markdown
+++ b/source/_components/ecoal_boiler.markdown
@@ -5,9 +5,6 @@ ha_category:
- Water Heater
ha_release: 0.87
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.ecoal_boiler/
- - /components/switch.ecoal_boiler/
---
The `ecoal_boiler` integration is the base for pumps and sensors managed by [esterownik.pl eCoal boiler controller](https://esterownik.pl/nasze-produkty/ecoal).
diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown
index 5e761172f4d..ebb5c002e2a 100644
--- a/source/_components/ecobee.markdown
+++ b/source/_components/ecobee.markdown
@@ -11,12 +11,6 @@ ha_category:
featured: true
ha_release: 0.9
ha_iot_class: Cloud Poll
-redirect_from:
- - /components/sensor.ecobee/
- - /components/binary_sensor.ecobee/
- - /components/notify.ecobee/
- - /components/climate.ecobee/
- - /components/weather.ecobee/
---
The `ecobee` integration lets you control thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats and remote sensors.
@@ -142,12 +136,12 @@ auto, and off.
The Ecobee climate entity has some extra attributes to represent the state of the thermostat.
-| Name | Description |
-| ---- | ----------- |
-| `fan` | If the fan is currently on or off: `on` / `off`.
-| `climate_mode` | This is the climate mode that is active, or would be active if no override is active.
-| `equipment_running` | This is a comma seperated list of equipment that is currently running.
-| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on.
+| Name | Description |
+| ------------------- | ------------------------------------------------------------------------------------- |
+| `fan` | If the fan is currently on or off: `on` / `off`. |
+| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. |
+| `equipment_running` | This is a comma seperated list of equipment that is currently running. |
+| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on. |
## Services
@@ -162,42 +156,42 @@ Besides the standard services provided by the Home Assistant [Climate](https://w
Creates a vacation on the selected ecobee thermostat.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | no | ecobee thermostat on which to create the vacation |
-| `vacation_name` | no | Name of the vacation to create; must be unique on the thermostat |
-| `cool_temp` | no | Cooling temperature during the vacation |
-| `heat_temp` | no | Heating temperature during the vacation |
-| `start_date` | yes | Date the vacation starts in YYYY-MM-DD format |
-| `start_time` | yes | Time the vacation starts, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
-| `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) |
-| `end_time` | yes | Time the vacation ends, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
-| `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | ecobee thermostat on which to create the vacation |
+| `vacation_name` | no | Name of the vacation to create; must be unique on the thermostat |
+| `cool_temp` | no | Cooling temperature during the vacation |
+| `heat_temp` | no | Heating temperature during the vacation |
+| `start_date` | yes | Date the vacation starts in YYYY-MM-DD format |
+| `start_time` | yes | Time the vacation starts, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
+| `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) |
+| `end_time` | yes | Time the vacation ends, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
+| `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) |
| `fan_min_on_time` | yes | Minimum number of minutes to run the fan each hour (0 to 60) during the vacation (0 if not provided) |
### Service `ecobee.delete_vacation`
Delete a vacation on the selected ecobee thermostat.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------- |
| `entity_id` | no | ecobee thermostat on which to delete the vacation |
-| `vacation_name` | no | Name of the vacation to delete |
+| `vacation_name` | no | Name of the vacation to delete |
### Service `ecobee.resume_program`
Resumes the currently active schedule.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
-| `resume_all` | no | true or false
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. |
+| `resume_all` | no | true or false |
### Service `ecobee.set_fan_min_on_time`
Sets the minimum amount of time that the fan will run.
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
-| `fan_min_on_time` | no | integer (e.g. 5)
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
+| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. |
+| `fan_min_on_time` | no | integer (e.g. 5) |
diff --git a/source/_components/econet.markdown b/source/_components/econet.markdown
index a83bce25e5a..8a311db2424 100644
--- a/source/_components/econet.markdown
+++ b/source/_components/econet.markdown
@@ -6,9 +6,6 @@ ha_category:
- Water Heater
ha_release: 0.61
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/water_heater.econet/
- - /components/climate.econet/
---
The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vacation mode.
diff --git a/source/_components/ecovacs.markdown b/source/_components/ecovacs.markdown
index 15d14a4cf24..97404485a10 100644
--- a/source/_components/ecovacs.markdown
+++ b/source/_components/ecovacs.markdown
@@ -7,8 +7,6 @@ ha_category:
- Vacuum
ha_iot_class: Cloud Push
ha_release: 0.77
-redirect_from:
- - /components/vacuum.ecovacs/
---
The `ecovacs` integration is the main integration to integrate all [Ecovacs](https://www.ecovacs.com) (Deebot) vacuums. You will need your Ecovacs account information (username, password) to discover and control vacuums in your account.
@@ -77,7 +75,7 @@ The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Dee
The remaining lifespan of components on your Deebot vacuum will be reported as attributes on the vacuum entity. The value will be a whole number representing the percentage of life remaining.
-Here's an example of how to extract the filter's lifespan to its own sensor using a [template sensor](/components/sensor.template/):
+Here's an example of how to extract the filter's lifespan to its own sensor using a [template sensor](/components/template):
{% raw %}
```yaml
diff --git a/source/_components/eddystone_temperature.markdown b/source/_components/eddystone_temperature.markdown
index acdc8ae1f83..d40aada885b 100644
--- a/source/_components/eddystone_temperature.markdown
+++ b/source/_components/eddystone_temperature.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.42
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.eddystone_temperature/
---
The `eddystone_temperature` sensor platform reads temperature information from Bluetooth LE advertisements transmitted by [Eddystone](https://en.wikipedia.org/wiki/Eddystone_(Google)) beacons. Your beacons must be configured to transmit UID frames (for identification) and TLM frames (for temperature).
@@ -18,14 +16,14 @@ All beacons that support the Eddystone protocol, have a temperature sensor and c
As this platform uses `bluez` to scan for Bluetooth LE devices **a Linux OS with bluez installed** is required. In addition to that, the `libbluetooth` headers need to be installed:
```bash
-$ sudo apt-get install libbluetooth-dev
+sudo apt-get install libbluetooth-dev
```
Scanning for Bluetooth LE devices also requires special permissions. To grant these to the python executable execute the following:
```bash
-$ sudo apt-get install libcap2-bin
-$ sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which python3))
+sudo apt-get install libcap2-bin
+sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which python3))
```
To use your Eddystone beacon in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_components/edimax.markdown b/source/_components/edimax.markdown
index 32ba1e7486d..6e4a6087b82 100644
--- a/source/_components/edimax.markdown
+++ b/source/_components/edimax.markdown
@@ -5,8 +5,6 @@ logo: edimax.png
ha_category:
- Switch
ha_release: pre 0.7
-redirect_from:
- - /components/switch.edimax/
---
This `edimax` switch platform allows you to control the state of your [Edimax](https://www.edimax.com/edimax/merchandise/merchandise_list/data/edimax/global/home_automation_smart_plug/) switches.
@@ -44,7 +42,7 @@ name:
## Power consumption sensor
-Starting with [version 2 of the firmware](https://www.edimax.com/edimax/download/download/data/edimax/global/download/), the Edimax switches can also report the current and accumulated daily power consumption in their state objects. Use a [template sensor](/components/sensor.template/) to extract their values:
+Starting with [version 2 of the firmware](https://www.edimax.com/edimax/download/download/data/edimax/global/download/), the Edimax switches can also report the current and accumulated daily power consumption in their state objects. Use a [template sensor](/components/template) to extract their values:
{% raw %}
```yaml
diff --git a/source/_components/ee_brightbox.markdown b/source/_components/ee_brightbox.markdown
index 56293e3c962..0d16a199abf 100644
--- a/source/_components/ee_brightbox.markdown
+++ b/source/_components/ee_brightbox.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: 0.87
ha_iot_class: Local Polling
-redirect_from:
- - /components/device_tracker.ee_brightbox/
---
This platform offers presence detection by looking at connected devices to a [EE Bright Box 2](https://ee.co.uk/help/phones-and-device/home-broadband/bright-box-2-wireless-router/bright-box-2-wireless-router) router.
diff --git a/source/_components/efergy.markdown b/source/_components/efergy.markdown
index c8aa9c8c854..892d7a89aeb 100644
--- a/source/_components/efergy.markdown
+++ b/source/_components/efergy.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: pre 0.7
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.efergy/
---
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant.
diff --git a/source/_components/egardia.markdown b/source/_components/egardia.markdown
index d85003beeb8..888b8609dcc 100644
--- a/source/_components/egardia.markdown
+++ b/source/_components/egardia.markdown
@@ -8,9 +8,6 @@ ha_category:
- Binary Sensor
ha_release: 0.65
ha_iot_class: Local Polling
-redirect_from:
- - /components/alarm_control_panel.egardia/
- - /components/binary_sensor.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 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).
diff --git a/source/_components/eight_sleep.markdown b/source/_components/eight_sleep.markdown
index 3bbc657dd6c..cd21e6bd7dc 100644
--- a/source/_components/eight_sleep.markdown
+++ b/source/_components/eight_sleep.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: 0.44
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.eight_sleep/
- - /components/sensor.eight_sleep/
---
The `eight_sleep` integration allows Home Assistant to fetch data from your [Eight Sleep](https://eightsleep.com/) smart cover or mattress.
diff --git a/source/_components/eliqonline.markdown b/source/_components/eliqonline.markdown
index d1b57bfcc5e..0c41d7551a9 100644
--- a/source/_components/eliqonline.markdown
+++ b/source/_components/eliqonline.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: "0.10"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.eliqonline/
---
Integrate your [ELIQ Online](http://eliq.io) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account.
diff --git a/source/_components/elkm1.markdown b/source/_components/elkm1.markdown
index 4ddde4a4b89..15cc998b1a4 100644
--- a/source/_components/elkm1.markdown
+++ b/source/_components/elkm1.markdown
@@ -12,13 +12,6 @@ ha_category:
- Sensor
- Switch
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.elkm1/
- - /components/climate.elkm1/
- - /components/light.elkm1/
- - /components/scene.elkm1/
- - /components/sensor.elkm1/
- - /components/switch.elkm1/
---
The Elk-M1 is a home security and automation controller that is capable of alarm control panel functions and automation.
diff --git a/source/_components/emby.markdown b/source/_components/emby.markdown
index 829b595c51d..ce768cd0490 100644
--- a/source/_components/emby.markdown
+++ b/source/_components/emby.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.32
ha_iot_class: Local Push
-redirect_from:
- - /components/media_player.emby/
---
diff --git a/source/_components/emoncms.markdown b/source/_components/emoncms.markdown
index b74c5040823..69ce34188ee 100644
--- a/source/_components/emoncms.markdown
+++ b/source/_components/emoncms.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.29
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.emoncms/
---
diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown
index 90d37a24f1f..88337c748d7 100644
--- a/source/_components/emulated_hue.markdown
+++ b/source/_components/emulated_hue.markdown
@@ -1,6 +1,6 @@
---
title: "Emulated Hue Bridge"
-description: "Instructions on how to emulated Hue Bridge within Home Assistant."
+description: "Instructions on how to emulate a Hue Bridge within Home Assistant."
logo: home-assistant.png
ha_category:
- Hub
@@ -31,6 +31,8 @@ It is recommended to assign a static IP address to the computer running Home Ass
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`. To recover your `emulated_hue` functionality, backup your `config/emulated_hue_ids.json` file, delete the original one and reboot your Home Assistant instance.
+If you added or upgraded to a newer Alexa device and devices are not found, you must change to listen_port: 80. If Alexa responds with "value is out of range for device..." it means switches were automatically added as lights in discovery. Remove each device in the Alexa app. Turn on all the switches in Home Assistant. In the Alexa app go to "Add New Device" select "Switch" and then "other" to add them correctly.
+
### Configuration
@@ -47,9 +49,9 @@ emulated_hue:
```yaml
# Amazon Echo example configuration.yaml entry
emulated_hue:
-# Required if there is no older Echo device (Like an Echo Dot 1 or 2) in the same network
host_ip: YOUR.HASSIO.IP.ADDRESS
listen_port: 80
+ # Alexa stopped working on different ports. Search for "Philipps Hue Bridge V1 (round)" in the Alexa App to discover devices.
```
{% configuration %}
@@ -63,7 +65,7 @@ host_ip:
required: false
type: string
listen_port:
- description: The port the Hue bridge API web server will run on. This can be any free port on your system.
+ description: "The port the Hue bridge API web server will run on. This can be any free port on your system. However, all new Alexa devices require listen_port: 80."
required: false
type: integer
default: 8300
diff --git a/source/_components/enigma2.markdown b/source/_components/enigma2.markdown
index 1267ab9d4fa..8b3b46551f8 100644
--- a/source/_components/enigma2.markdown
+++ b/source/_components/enigma2.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: "0.90"
ha_iot_class: "Local Polling"
-redirect_from:
- - /components/media_player.enigma2/
---
The `enigma2` platform allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed.
diff --git a/source/_components/enocean.markdown b/source/_components/enocean.markdown
index 88698d6042d..1b9722f0921 100644
--- a/source/_components/enocean.markdown
+++ b/source/_components/enocean.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: 0.21
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.enocean/
- - /components/sensor.enocean/
- - /components/light.enocean/
- - /components/switch.enocean/
---
The [EnOcean](https://en.wikipedia.org/wiki/EnOcean) standard is supported by many different vendors. There are switches and sensors of many different kinds, and typically they employ energy harvesting to get power such that no batteries are necessary.
diff --git a/source/_components/enphase_envoy.markdown b/source/_components/enphase_envoy.markdown
index 46d59a6a7aa..b3367d300b8 100644
--- a/source/_components/enphase_envoy.markdown
+++ b/source/_components/enphase_envoy.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.76
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.enphase_envoy/
---
A sensor platform for the [Enphase Envoy](https://enphase.com/en-us/products-and-services/envoy-and-combiner) solar energy gateway. Works with older models that only have production metrics (ie. Envoy-C) and newer models that offer both production and consumption metrics (ie. Envoy-S).
diff --git a/source/_components/entur_public_transport.markdown b/source/_components/entur_public_transport.markdown
index 7e449d40d68..55b8e667496 100644
--- a/source/_components/entur_public_transport.markdown
+++ b/source/_components/entur_public_transport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_release: 0.84
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.entur_public_transport/
---
The `entur_public_transport` sensor gives real-time departure information for the next departures from any bus stop, car ferry quay, train station, airport and person ferries quay in Norway.
diff --git a/source/_components/envirophat.markdown b/source/_components/envirophat.markdown
index 5b3664ee2f0..b0d41db4b8a 100644
--- a/source/_components/envirophat.markdown
+++ b/source/_components/envirophat.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_iot_class: Local Polling
ha_release: 0.44
-redirect_from:
- - /components/sensor.envirophat/
---
The `envirophat` sensor platform allows you to display information collected by an [Enviro pHAT](https://shop.pimoroni.com/products/enviro-phat) add-on board for the Raspberry Pi. The board features a wide range of sensors, such as:
@@ -138,6 +136,6 @@ group:
Since the Enviro pHAT communicates over I2C, you might also need to make sure that the I2C devices are enabled, by adding or uncommenting the following line in `/boot/config.txt` (see the [DT Parameters section](https://www.raspberrypi.org/documentation/configuration/device-tree.md) in the Raspberry Pi documentation):
-```
+```txt
dtparam=i2c_arm=on
```
diff --git a/source/_components/envisalink.markdown b/source/_components/envisalink.markdown
index c1a3360515f..76f5629e0fa 100644
--- a/source/_components/envisalink.markdown
+++ b/source/_components/envisalink.markdown
@@ -8,10 +8,6 @@ ha_category:
- Sensor
ha_release: 0.23
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.envisalink/
- - /components/binary_sensor.envisalink/
- - /components/sensor.envisalink/
---
The `envisalink` integration will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this integration is built. Currently, the Envisalink version 4 is the latest model. This integration supports both the evl3 and the evl4.
@@ -108,7 +104,7 @@ panic_type:
default: Police
type: string
zones:
- description: "Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.envisalink/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*"
+ description: "Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/envisalink) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*"
required: false
type: integer
keys:
diff --git a/source/_components/ephember.markdown b/source/_components/ephember.markdown
index cf38c911098..704d125dcc2 100644
--- a/source/_components/ephember.markdown
+++ b/source/_components/ephember.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.57
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.ephember/
---
diff --git a/source/_components/epson.markdown b/source/_components/epson.markdown
index 3049bc8dbf8..311a3aa158c 100644
--- a/source/_components/epson.markdown
+++ b/source/_components/epson.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.72
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.epson/
---
The `epson` platform allows you to control a Epson projector from Home
diff --git a/source/_components/eq3btsmart.markdown b/source/_components/eq3btsmart.markdown
index 852962d3027..5eb9ea261db 100644
--- a/source/_components/eq3btsmart.markdown
+++ b/source/_components/eq3btsmart.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_iot_class: Local Polling
ha_release: 0.18
-redirect_from:
- - /components/climate.eq3btsmart/
---
The `eq3btsmart` climate platform allows you to integrate EQ3 Bluetooth Smart Thermostats.
diff --git a/source/_components/esphome.markdown b/source/_components/esphome.markdown
index 5d4167c13ad..0bc62f8a076 100644
--- a/source/_components/esphome.markdown
+++ b/source/_components/esphome.markdown
@@ -7,12 +7,6 @@ ha_category:
- DIY
ha_release: 0.85
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.esphome/
- - /components/cover.esphome/
- - /components/fan.esphome/
- - /components/light.esphome/
- - /components/switch.esphome/
---
This integration allows you to connect your [ESPHome](https://esphome.io) devices directly into Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
diff --git a/source/_components/etherscan.markdown b/source/_components/etherscan.markdown
index 164deeaa945..d16cf44d78d 100644
--- a/source/_components/etherscan.markdown
+++ b/source/_components/etherscan.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.47
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.etherscan/
---
The `Etherscan` sensor platform displays Ether and ERC-20 token balances from [Etherscan.io](https://etherscan.io).
diff --git a/source/_components/eufy.markdown b/source/_components/eufy.markdown
index 543eadb5b34..c52ac6501b7 100644
--- a/source/_components/eufy.markdown
+++ b/source/_components/eufy.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.68
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.eufy/
- - /components/switch.eufy/
---
The `eufy` integration is the main integration to integrate various [eufy](https://www.eufylife.com/) devices with Home Assistant.
diff --git a/source/_components/everlights.markdown b/source/_components/everlights.markdown
index cc9c1a92ac6..9b29cf84f75 100644
--- a/source/_components/everlights.markdown
+++ b/source/_components/everlights.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.87
-redirect_from:
- - /components/light.everlights/
---
[EverLights](https://myeverlights.com/) are permanent Christmas lights installed on a home's gutters or flashing. This integration can change all LEDs in a zone to a single color or activate a pattern that was previously saved to the control box.
diff --git a/source/_components/evohome.markdown b/source/_components/evohome.markdown
index 250f0a0b38a..4cd2d83222c 100644
--- a/source/_components/evohome.markdown
+++ b/source/_components/evohome.markdown
@@ -7,8 +7,6 @@ ha_category:
- Climate
ha_release: 0.80
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.evohome/
---
The `evohome` integration links Home Assistant with all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, such as:
diff --git a/source/_components/facebook.markdown b/source/_components/facebook.markdown
index 18732d859a3..93ae833a2c2 100644
--- a/source/_components/facebook.markdown
+++ b/source/_components/facebook.markdown
@@ -5,8 +5,6 @@ logo: facebook.png
ha_category:
- Notifications
ha_release: 0.36
-redirect_from:
- - /components/notify.facebook/
---
The `facebook` notification platform enables sending notifications via Facebook Messenger, powered by [Facebook](https://facebook.com).
diff --git a/source/_components/facebox.markdown b/source/_components/facebox.markdown
index 4cb4dd14a9d..26173ef578c 100644
--- a/source/_components/facebox.markdown
+++ b/source/_components/facebox.markdown
@@ -5,8 +5,6 @@ logo: machine-box.png
ha_category:
- Image Processing
ha_release: 0.70
-redirect_from:
- - /components/image_processing.facebox/
---
The `facebox` image processing platform allows you to detect and recognize faces in a camera image using [Facebox](https://machinebox.io/docs/facebox). The state of the entity is the number of faces detected, and recognized faces are listed in the `matched_faces` attribute. An `image_processing.detect_face` event is fired for each recognized face, and the event `data` provides the `confidence` of recognition, the `name` of the person, the `image_id` of the image associated with the match, the `bounding_box` that contains the face in the image, and the `entity_id` that processing was performed on.
diff --git a/source/_components/fail2ban.markdown b/source/_components/fail2ban.markdown
index 5d57383f163..142a55dc6e2 100644
--- a/source/_components/fail2ban.markdown
+++ b/source/_components/fail2ban.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Polling
logo: fail2ban.png
ha_release: 0.57
-redirect_from:
- - /components/sensor.fail2ban/
---
@@ -79,7 +77,7 @@ Next, we need to edit the `jail.local` file that is included with the Let's Encr
Edit `/mnt/user/appdata/letsencrypt/fail2ban/jail.local` and append the following to the end of the file:
-```
+```txt
[hass-iptables]
enabled = true
filter = hass
@@ -92,7 +90,7 @@ maxretry = 5
Now we need to create a filter for `fail2ban` so that it can properly parse the log. This is done with a `failregex`. Create a file called `hass.local` within the `filter.d` directory in `/mnt/user/appdata/letsencrypt/fail2ban` and add the following:
-```
+```txt
[INCLUDES]
before = common.conf
@@ -109,7 +107,7 @@ datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
First, we need to make sure that fail2ban log can be passed to Home Assistant and that the Home Assistant log can be passed to fail2ban. When starting the Let's Encrypt docker, you need to add the following argument (adjust paths based on your setup):
-```
+```txt
/mnt/user/appdata/home-assistant:/hass
```
@@ -117,7 +115,7 @@ This will map the Home Assistant configuration directory to the Let's Encrypt do
Now do the same for the Home Assistant docker, but this time we'll be mapping the `fail2ban` log directory to Home Assistant so that the fail2ban sensor is able to read that log:
-```
+```txt
/mnt/user/appdata/letsencrypt/log/fail2ban:/fail2ban
```
@@ -191,7 +189,7 @@ If, after following these steps, you're unable to get the `fail2ban` sensor work
- Add `logencoding = utf-8` to the `[hass-iptables]` entry
- Ensure the `failregex` you added to `filter.d/hass.local` matches the output within `home-assistant.log`
- Try changing the datepattern in `filter.d/hass/local` by adding the following entry (change the datepattern to fit your needs). [source](https://github.com/fail2ban/fail2ban/issues/174)
- ```
+ ```txt
[Init]
datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
```
diff --git a/source/_components/familyhub.markdown b/source/_components/familyhub.markdown
index bfd9b36fced..27fdf1dcfee 100644
--- a/source/_components/familyhub.markdown
+++ b/source/_components/familyhub.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: "0.70"
ha_iot_class: Local Polling
-redirect_from:
- - /components/camera.familyhub/
---
The `familyhub` platform allows you to get images of the inside of your [Samsung Family Hub refrigerator](https://www.samsung.com/us/explore/family-hub-refrigerator/connected-hub/) in Home Assistant.
diff --git a/source/_components/fastdotcom.markdown b/source/_components/fastdotcom.markdown
index 4d22bcb2dc9..3a20f2776f4 100644
--- a/source/_components/fastdotcom.markdown
+++ b/source/_components/fastdotcom.markdown
@@ -7,15 +7,13 @@ ha_category:
- Sensor
ha_release: 0.88
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.fastdotcom/
---
The `fastdotcom` integration uses the [Fast.com](https://fast.com/) web service to measure network bandwidth performance.
-Currently fast.com only supports measuring download bandwidth. If you want to measure bandwidth metrics other then download such as ping and upload, utilize the [speedtest](/components/sensor.speedtest) component.
+Currently fast.com only supports measuring download bandwidth. If you want to measure bandwidth metrics other then download such as ping and upload, utilize the [speedtest](/components/speedtestdotnet) component.
diff --git a/source/_components/ffmpeg.markdown b/source/_components/ffmpeg.markdown
index 0e7dc2173ab..09c4d529ba0 100644
--- a/source/_components/ffmpeg.markdown
+++ b/source/_components/ffmpeg.markdown
@@ -41,14 +41,14 @@ ffmpeg_bin:
To get the binary on Raspbian Debian Jessie Lite on a RPi you need to perform the following:
```bash
-$ sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
-$ sudo apt-get update
-$ sudo apt-get -t jessie-backports install ffmpeg
+sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
+sudo apt-get update
+sudo apt-get -t jessie-backports install ffmpeg
```
We can use now following in the configuration:
-```
+```yaml
ffmpeg:
ffmpeg_bin: /usr/bin/ffmpeg
```
@@ -59,8 +59,8 @@ In most cases, `ffmpeg` automatically detects all needed options to read a video
First, check that your stream is playable by `ffmpeg` outside of Home Assistant with (use option `-an` or `-vn` to disable video or audio stream):
-```
-$ ffmpeg -i INPUT -an -f null -
+```bash
+ffmpeg -i INPUT -an -f null -
```
Now you should be able to see what is going wrong. The following list contains some common problems and solutions:
diff --git a/source/_components/ffmpeg_motion.markdown b/source/_components/ffmpeg_motion.markdown
index 18f10caceb0..8568d38bcc1 100644
--- a/source/_components/ffmpeg_motion.markdown
+++ b/source/_components/ffmpeg_motion.markdown
@@ -5,9 +5,6 @@ logo: ffmpeg.png
ha_category:
- Image Processing
ha_release: 0.27
-redirect_from:
- - /components/binary_sensor.ffmpeg/
- - /components/binary_sensor.ffmpeg_motion/
---
The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.
diff --git a/source/_components/ffmpeg_noise.markdown b/source/_components/ffmpeg_noise.markdown
index 926f957d601..a80d17021af 100644
--- a/source/_components/ffmpeg_noise.markdown
+++ b/source/_components/ffmpeg_noise.markdown
@@ -5,8 +5,6 @@ logo: ffmpeg.png
ha_category:
- Image Processing
ha_release: 0.27
-redirect_from:
- - /components/binary_sensor.ffmpeg_noise/
---
The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.
diff --git a/source/_components/fibaro.markdown b/source/_components/fibaro.markdown
index 72ea2d53ece..416c0c8252d 100644
--- a/source/_components/fibaro.markdown
+++ b/source/_components/fibaro.markdown
@@ -13,13 +13,6 @@ ha_category:
- Switch
ha_release: 0.83
ha_iot_class: Local Push
-redirect_from:
- - /components/scene.fibaro/
- - /components/binary_sensor.fibaro/
- - /components/cover.fibaro/
- - /components/light.fibaro/
- - /components/sensor.fibaro/
- - /components/switch.fibaro/
---
The [Fibaro](http://fibaro.com) hub is a controller mainly connecting to Z-Wave devices.
diff --git a/source/_components/fido.markdown b/source/_components/fido.markdown
index c4da6da4d67..0f615b4db6b 100644
--- a/source/_components/fido.markdown
+++ b/source/_components/fido.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.39
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.fido/
---
Integrate your [Fido](https://www.fido.ca/) account information into Home Assistant.
diff --git a/source/_components/file.markdown b/source/_components/file.markdown
index 981bc079665..750767b1de4 100644
--- a/source/_components/file.markdown
+++ b/source/_components/file.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from:
- - /components/notify.file/
- - /components/sensor.file/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/filesize.markdown b/source/_components/filesize.markdown
index 666ba7a2f8a..81e1fdcff92 100644
--- a/source/_components/filesize.markdown
+++ b/source/_components/filesize.markdown
@@ -6,8 +6,6 @@ ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.64
-redirect_from:
- - /components/sensor.filesize/
---
The `filesize` sensor for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/).
diff --git a/source/_components/filter.markdown b/source/_components/filter.markdown
index 9bd8417f0e1..09e2d81b798 100644
--- a/source/_components/filter.markdown
+++ b/source/_components/filter.markdown
@@ -7,8 +7,6 @@ ha_release: 0.65
ha_iot_class: Local Push
logo: home-assistant.png
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.filter/
---
The `filter` platform enables sensors that process the states of other entities.
diff --git a/source/_components/fints.markdown b/source/_components/fints.markdown
index b3fe72cb42c..50fe88040f7 100644
--- a/source/_components/fints.markdown
+++ b/source/_components/fints.markdown
@@ -5,8 +5,6 @@ ha_category:
- Finance
ha_release: "0.70"
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.fints/
---
With the FinTS sensor, you can fetch your account information from your bank. This only works with banks that support the FinTS (aka. HBCI) standard. The FinTS standard used by many German banks. So if you do not have a German bank account, this will most likely not work for you. To find out if your bank supports FinTS, check the bank's website or call their hotline.
diff --git a/source/_components/fitbit.markdown b/source/_components/fitbit.markdown
index 93dba7106b7..f528e41130d 100644
--- a/source/_components/fitbit.markdown
+++ b/source/_components/fitbit.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_iot_class: Cloud Polling
ha_release: 0.19
-redirect_from:
- - /components/sensor.fitbit/
---
The Fitbit sensor allows you to expose data from [Fitbit](http://fitbit.com) to Home Assistant.
diff --git a/source/_components/fixer.markdown b/source/_components/fixer.markdown
index d971a706bd5..2c449712e4e 100644
--- a/source/_components/fixer.markdown
+++ b/source/_components/fixer.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: fixer-io.png
ha_iot_class: Cloud Polling
ha_release: 0.23
-redirect_from:
- - /components/sensor.fixer/
---
diff --git a/source/_components/fleetgo.markdown b/source/_components/fleetgo.markdown
index b7c87e09aa4..79248c0033a 100644
--- a/source/_components/fleetgo.markdown
+++ b/source/_components/fleetgo.markdown
@@ -6,9 +6,6 @@ ha_category:
- Car
ha_iot_class: Cloud Polling
ha_release: 0.76
-redirect_from:
- - /components/device_tracker.ritassist/
- - /components/ritassist
---
The `fleetgo` device tracker platform allows you to integrate your vehicles equipped with [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map.
diff --git a/source/_components/flexit.markdown b/source/_components/flexit.markdown
index ac686656388..06dd934c3e4 100644
--- a/source/_components/flexit.markdown
+++ b/source/_components/flexit.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.47
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.flexit/
---
Integrates [Flexit](https://www.flexit.no/en/) Air Conditioning unit into Home Assistant.
diff --git a/source/_components/flic.markdown b/source/_components/flic.markdown
index 3cf2602b7f4..7994661abcc 100644
--- a/source/_components/flic.markdown
+++ b/source/_components/flic.markdown
@@ -6,8 +6,6 @@ ha_category:
- Binary Sensor
ha_iot_class: Local Push
ha_release: 0.35
-redirect_from:
- - /components/binary_sensor.flic/
---
The `flic` platform allows you to receive click events from [flic](https://flic.io) smart buttons.
@@ -91,7 +89,7 @@ Event data:
- **click_type**: The type of click. Possible values are `single`, `double` and `hold`.
- **queued_time**: The amount of time this event was queued on the button, in seconds.
-To help detect and debug flic button clicks, you can use this automation that send a notification on very click type of every button. This example uses the [HTML5 push notification platform](/components/notify.html5/). Visit the [notification integration page](/components/notify/) for more information on setting up notifications.
+To help detect and debug flic button clicks, you can use this automation that send a notification on very click type of every button. This example uses the [HTML5 push notification platform](/components/html5). Visit the [notification integration page](/components/notify/) for more information on setting up notifications.
```yaml
automation:
diff --git a/source/_components/flock.markdown b/source/_components/flock.markdown
index cf51432bf99..e371d4ec809 100644
--- a/source/_components/flock.markdown
+++ b/source/_components/flock.markdown
@@ -5,8 +5,6 @@ logo: flock.png
ha_category:
- Notifications
ha_release: 0.71
-redirect_from:
- - /components/notify.flock/
---
diff --git a/source/_components/flunearyou.markdown b/source/_components/flunearyou.markdown
index 3837099eb72..0507379e805 100644
--- a/source/_components/flunearyou.markdown
+++ b/source/_components/flunearyou.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_release: 0.83
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.flunearyou/
---
The `flunearyou` sensor platform allows users in the United States and its
diff --git a/source/_components/flux.markdown b/source/_components/flux.markdown
index 98df65023e1..47bb976f126 100644
--- a/source/_components/flux.markdown
+++ b/source/_components/flux.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_release: 0.21
logo: home-assistant.png
ha_qa_scale: internal
-redirect_from:
- - /components/switch.flux/
---
The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night.
diff --git a/source/_components/flux_led.markdown b/source/_components/flux_led.markdown
index 99da271f031..d5fae9524c1 100644
--- a/source/_components/flux_led.markdown
+++ b/source/_components/flux_led.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.25
-redirect_from:
- - /components/light.flux_led/
---
The `flux_led` support is integrated into Home Assistant as a light platform. Several brands of both bulbs and controllers use the same protocol and they have the HF-LPB100 chipset in common. The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app.
diff --git a/source/_components/folder.markdown b/source/_components/folder.markdown
index 2244d28c0bc..23be9c142f3 100644
--- a/source/_components/folder.markdown
+++ b/source/_components/folder.markdown
@@ -6,8 +6,6 @@ ha_category:
- Utility
ha_iot_class: Local Polling
ha_release: 0.64
-redirect_from:
- - /components/sensor.folder/
---
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.
diff --git a/source/_components/foobot.markdown b/source/_components/foobot.markdown
index a52fad0e8d1..113747fce19 100644
--- a/source/_components/foobot.markdown
+++ b/source/_components/foobot.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_release: 0.66
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.foobot/
---
The `foobot` sensor platform will fetch air quality data from your or yours [Foobot device(s)](https://foobot.io/features/).
diff --git a/source/_components/foscam.markdown b/source/_components/foscam.markdown
index dc7417c6abb..6f21bd1750b 100644
--- a/source/_components/foscam.markdown
+++ b/source/_components/foscam.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_iot_class: Local Polling
ha_release: 0.7.3
-redirect_from:
- - /components/camera.foscam/
---
The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
diff --git a/source/_components/foursquare.markdown b/source/_components/foursquare.markdown
index 307324cbc74..b008784e041 100644
--- a/source/_components/foursquare.markdown
+++ b/source/_components/foursquare.markdown
@@ -34,7 +34,7 @@ After you have registered your APP on your [My Apps Page](https://foursquare.com
`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.
Visit the following URL in your browser:
-```
+```txt
https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
```
diff --git a/source/_components/free_mobile.markdown b/source/_components/free_mobile.markdown
index c4a061eebd0..215a82977ab 100644
--- a/source/_components/free_mobile.markdown
+++ b/source/_components/free_mobile.markdown
@@ -5,8 +5,6 @@ logo: free_mobile.png
ha_category:
- Notifications
ha_release: 0.11
-redirect_from:
- - /components/notify.free_mobile/
---
The `free_mobile` platform is using the French mobile operator [Free Mobile](http://mobile.free.fr/) to send SMS to your own cell phone.
diff --git a/source/_components/freebox.markdown b/source/_components/freebox.markdown
index df7c6bc8611..39fa86d34c5 100644
--- a/source/_components/freebox.markdown
+++ b/source/_components/freebox.markdown
@@ -9,9 +9,6 @@ ha_category:
- Switch
ha_release: 0.85
ha_iot_class: Local Polling
-redirect_from:
- - /components/device_tracker.freebox/
- - /components/sensor.freebox/
---
The `freebox` integration allows you to observe and control [Freebox router](http://www.free.fr/).
diff --git a/source/_components/fritz.markdown b/source/_components/fritz.markdown
index 87d56c5f247..f3f4c324e5c 100644
--- a/source/_components/fritz.markdown
+++ b/source/_components/fritz.markdown
@@ -5,8 +5,6 @@ logo: avm.png
ha_category:
- Presence Detection
ha_release: "0.10"
-redirect_from:
- - /components/device_tracker.fritz/
---
diff --git a/source/_components/fritzbox.markdown b/source/_components/fritzbox.markdown
index 3e3722c6c65..584bd17b633 100644
--- a/source/_components/fritzbox.markdown
+++ b/source/_components/fritzbox.markdown
@@ -9,11 +9,6 @@ ha_category:
- Switch
ha_release: 0.68
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.fritzbox/
- - /components/switch.fritzbox/
- - /components/climate.fritzbox/
- - /components/sensor.fritzbox/
---
The [AVM](https://en.avm.de) Fritzbox integration for Home Assistant allows you to integrate the switch and climate devices.
diff --git a/source/_components/fritzbox_callmonitor.markdown b/source/_components/fritzbox_callmonitor.markdown
index 92a2a841775..727c4fa81f3 100644
--- a/source/_components/fritzbox_callmonitor.markdown
+++ b/source/_components/fritzbox_callmonitor.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.27
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.fritzbox_callmonitor/
---
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.
diff --git a/source/_components/fritzbox_netmonitor.markdown b/source/_components/fritzbox_netmonitor.markdown
index 6e4b8ce1f35..8d4feec89ba 100644
--- a/source/_components/fritzbox_netmonitor.markdown
+++ b/source/_components/fritzbox_netmonitor.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.36
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.fritzbox_netmonitor/
---
The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers.
diff --git a/source/_components/fritzdect.markdown b/source/_components/fritzdect.markdown
index fc0a229b4e6..e7b40fa340a 100644
--- a/source/_components/fritzdect.markdown
+++ b/source/_components/fritzdect.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.38
-redirect_from:
- - /components/switch.fritzdect/
---
The `fritzdect` switch platform allows you to control the state of your [AVM FRITZ!DECT DECT-based wireless switches](https://en.avm.de/products/fritzdect/). The AVM FRITZ!DECT switches need to be paired to your Fritz!Box and then can be monitored and controlled via Home Assistant.
diff --git a/source/_components/frontier_silicon.markdown b/source/_components/frontier_silicon.markdown
index e44058fe4c7..613bb19a4ed 100644
--- a/source/_components/frontier_silicon.markdown
+++ b/source/_components/frontier_silicon.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Push
ha_release: "0.40"
-redirect_from:
- - /components/media_player.frontier_silicon/
---
This integration provides support for Internet Radios based on the [Frontier Silicon chipset]. Some of the manufacturers which offer products based on these chips include: Hama, Medion, Slivercrest, Auna, Technisat, Revo, Pinnel, etc. These devices will be usually controlled by the [UNDOK] app.
diff --git a/source/_components/futurenow.markdown b/source/_components/futurenow.markdown
index d31f61d51ea..b0f7938e908 100644
--- a/source/_components/futurenow.markdown
+++ b/source/_components/futurenow.markdown
@@ -5,8 +5,6 @@ logo: p5.png
ha_category:
- Light
ha_release: 0.75
-redirect_from:
- - /components/light.futurenow/
---
The `futurenow` light platform allows you to use [P5](http://www.p5.hu) FutureNow relay/dimmer units as lights. Currently supported units:
diff --git a/source/_components/garadget.markdown b/source/_components/garadget.markdown
index 2d5e969d857..2ec78a2c421 100644
--- a/source/_components/garadget.markdown
+++ b/source/_components/garadget.markdown
@@ -6,8 +6,6 @@ ha_category:
- Cover
ha_release: 0.32
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/cover.garadget/
---
diff --git a/source/_components/gc100.markdown b/source/_components/gc100.markdown
index 11765aaa454..6f0aa5902ac 100644
--- a/source/_components/gc100.markdown
+++ b/source/_components/gc100.markdown
@@ -7,9 +7,6 @@ ha_category:
- Switch
ha_release: 0.57
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.gc100/
- - /components/switch.gc100/
---
The Global Caché [GC-100](https://www.globalcache.com/products/gc-100/) can be integrated into Home Assistant. GC-100 is a TCP-controllable
@@ -21,7 +18,7 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Switch](#switch)
-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](/components/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é.
## Configuration
diff --git a/source/_components/gearbest.markdown b/source/_components/gearbest.markdown
index 7955c2b662a..113ce3a07d5 100644
--- a/source/_components/gearbest.markdown
+++ b/source/_components/gearbest.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: "0.60"
-redirect_from:
- - /components/sensor.gearbest/
---
diff --git a/source/_components/geizhals.markdown b/source/_components/geizhals.markdown
index 6c823218e09..a0f2d630f47 100644
--- a/source/_components/geizhals.markdown
+++ b/source/_components/geizhals.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.51
-redirect_from:
- - /components/sensor.geizhals/
---
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.
diff --git a/source/_components/generic.markdown b/source/_components/generic_ip_camera.markdown
similarity index 99%
rename from source/_components/generic.markdown
rename to source/_components/generic_ip_camera.markdown
index 71211d34b14..d571b169a57 100644
--- a/source/_components/generic.markdown
+++ b/source/_components/generic_ip_camera.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: home-assistant.png
ha_release: pre 0.7
ha_iot_class: Configurable
-redirect_from:
- - /components/camera.generic/
---
The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly.
diff --git a/source/_components/generic_thermostat.markdown b/source/_components/generic_thermostat.markdown
index ded18e84a9b..6e247967a82 100644
--- a/source/_components/generic_thermostat.markdown
+++ b/source/_components/generic_thermostat.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.generic_thermostat/
---
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler than the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter than the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
diff --git a/source/_components/geo_json_events.markdown b/source/_components/geo_json_events.markdown
index d1af720e800..af3cafcc038 100644
--- a/source/_components/geo_json_events.markdown
+++ b/source/_components/geo_json_events.markdown
@@ -6,8 +6,6 @@ ha_category:
- Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.79
-redirect_from:
- - /components/geo_location.geo_json_events/
---
The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location.
diff --git a/source/_components/geo_rss_events.markdown b/source/_components/geo_rss_events.markdown
index b522f74c101..25b99a57de3 100644
--- a/source/_components/geo_rss_events.markdown
+++ b/source/_components/geo_rss_events.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.55
-redirect_from:
- - /components/sensor.geo_rss_events/
---
The `geo_rss_events` sensor retrieves events from a GeoRSS feed and shows information of those events filtered by distance to Home Assistant's location and grouped by category.
diff --git a/source/_components/geofency.markdown b/source/_components/geofency.markdown
index 5458b6207f6..00102f19897 100644
--- a/source/_components/geofency.markdown
+++ b/source/_components/geofency.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: 0.53
ha_iot_class: Cloud Push
-redirect_from:
- - /components/device_tracker.geofency/
---
This integration sets up integration with [Geofency](http://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location.
diff --git a/source/_components/github.markdown b/source/_components/github.markdown
index 221b3c9027b..030f8409ccc 100644
--- a/source/_components/github.markdown
+++ b/source/_components/github.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.88
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.github/
---
The GitHub sensor integrates data from [GitHub](https://github.com/) to monitor your favorite repositories.
diff --git a/source/_components/gitlab_ci.markdown b/source/_components/gitlab_ci.markdown
index f757d7f3d62..50e9054409b 100644
--- a/source/_components/gitlab_ci.markdown
+++ b/source/_components/gitlab_ci.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.80
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.gitlab_ci/
---
The `gitlab_ci` sensor platform integrates results reported by CI/CD Pipeline Jobs in [GitLab](https://gitlab.com/).
diff --git a/source/_components/gitter.markdown b/source/_components/gitter.markdown
index b874bfb4d3a..f22ca36535a 100644
--- a/source/_components/gitter.markdown
+++ b/source/_components/gitter.markdown
@@ -5,8 +5,6 @@ logo: gitter.png
ha_category:
- Sensor
ha_release: 0.47
-redirect_from:
- - /components/sensor.gitter/
---
diff --git a/source/_components/glances.markdown b/source/_components/glances.markdown
index a2892121058..6f1d4a1a774 100644
--- a/source/_components/glances.markdown
+++ b/source/_components/glances.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.7.3
-redirect_from:
- - /components/sensor.glances/
---
diff --git a/source/_components/gntp.markdown b/source/_components/gntp.markdown
index 50b4f025593..a8b58a7ed9d 100644
--- a/source/_components/gntp.markdown
+++ b/source/_components/gntp.markdown
@@ -5,8 +5,6 @@ logo: gntp.png
ha_category:
- Notifications
ha_release: 0.16
-redirect_from:
- - /components/notify.gntp/
---
[GNTP](http://growl.info/documentation/developer/gntp.php) is a specification for sending and receiving notifications between computers. The most well known server implementations are [Growl](http://growl.info) for Mac and [Growl for Windows](http://www.growlforwindows.com/).
diff --git a/source/_components/gogogate2.markdown b/source/_components/gogogate2.markdown
index ab3688e7e46..9b91045b8d8 100644
--- a/source/_components/gogogate2.markdown
+++ b/source/_components/gogogate2.markdown
@@ -6,8 +6,6 @@ ha_category:
- Cover
ha_release: 0.67
ha_iot_class: Local Polling
-redirect_from:
- - /components/cover.gogogate2/
---
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.
diff --git a/source/_components/google_maps.markdown b/source/_components/google_maps.markdown
index 06ceda8da19..2b8878a693d 100644
--- a/source/_components/google_maps.markdown
+++ b/source/_components/google_maps.markdown
@@ -6,8 +6,6 @@ ha_release: 0.67
ha_category:
- Presence Detection
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/device_tracker.google_maps/
---
The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing).
diff --git a/source/_components/google_translate.markdown b/source/_components/google_translate.markdown
index 97e7d798f64..6ab7ffde4d3 100644
--- a/source/_components/google_translate.markdown
+++ b/source/_components/google_translate.markdown
@@ -5,9 +5,6 @@ logo: google.png
ha_category:
- Text-to-speech
ha_release: 0.35
-redirect_from:
- - /components/tts.google/
- - /components/google/
---
The `google_translate` text-to-speech platform uses the unofficial [Google Translate Text-to-Speech engine](https://translate.google.com/) to read a text with natural sounding voices.
diff --git a/source/_components/google_travel_time.markdown b/source/_components/google_travel_time.markdown
index 4a7ccadf83b..6ac9f604111 100644
--- a/source/_components/google_travel_time.markdown
+++ b/source/_components/google_travel_time.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.19
-redirect_from:
- - /components/sensor.google_travel_time/
---
The `google_travel_time` sensor provides travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/).
diff --git a/source/_components/google_wifi.markdown b/source/_components/google_wifi.markdown
index 4125cbaf46e..131ee254fd8 100644
--- a/source/_components/google_wifi.markdown
+++ b/source/_components/google_wifi.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: google_wifi.png
ha_iot_class: Local Polling
ha_release: "0.50"
-redirect_from:
- - /components/sensor.google_wifi/
---
diff --git a/source/_components/gpmdp.markdown b/source/_components/gpmdp.markdown
index c52a3a8be43..408413d9a4b 100644
--- a/source/_components/gpmdp.markdown
+++ b/source/_components/gpmdp.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: "0.20"
-redirect_from:
- - /components/media_player.gpmdp/
---
diff --git a/source/_components/gpsd.markdown b/source/_components/gpsd.markdown
index 89e84ceef05..c9b6bdadc6f 100644
--- a/source/_components/gpsd.markdown
+++ b/source/_components/gpsd.markdown
@@ -6,8 +6,6 @@ ha_category:
- Utility
ha_release: 0.26
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.gpsd/
---
The `gpsd` integration is using the GPS information collected by [gpsd](http://catb.org/gpsd/) and a GPS receiver.
diff --git a/source/_components/gpslogger.markdown b/source/_components/gpslogger.markdown
index 75a4762b0d5..d60d7e3f33a 100644
--- a/source/_components/gpslogger.markdown
+++ b/source/_components/gpslogger.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: 0.34
ha_iot_class: Cloud Push
-redirect_from:
- - /components/device_tracker.gpslogger/
---
This integration sets up integration with [GPSLogger](https://gpslogger.app/). GPSLogger is an open source app for Android that allows users to update your location in Home Assistant.
diff --git a/source/_components/greeneye_monitor.markdown b/source/_components/greeneye_monitor.markdown
index fea6c213fe6..d31b543a2a5 100644
--- a/source/_components/greeneye_monitor.markdown
+++ b/source/_components/greeneye_monitor.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.82
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.greeneye_monitor/
---
The [GreenEye Monitor (GEM)](http://www.brultech.com/greeneye/) integration for Home Assistant allows you to create sensors for the various data channels of the GEM. Each current transformer (CT) channel, pulse counter, and temperature sensor appears in Home Assistant as a sensor, and can be used in automations.
diff --git a/source/_components/greenwave.markdown b/source/_components/greenwave.markdown
index efdcd794150..4aace281ee9 100644
--- a/source/_components/greenwave.markdown
+++ b/source/_components/greenwave.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_release: 0.61
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.greenwave/
---
This integration communicates with the Greenwave Reality (TCP Connected) Gateway to allow control of all lights and fixtures registered to the gateway. Bulbs and Fixtures can be created and modified inside the TCP Lighting App for Android and iOS.
diff --git a/source/_components/gstreamer.markdown b/source/_components/gstreamer.markdown
index 65f7bf53d74..e0bf7e009f3 100644
--- a/source/_components/gstreamer.markdown
+++ b/source/_components/gstreamer.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: gstreamer.png
ha_release: 0.39
ha_iot_class: Local Push
-redirect_from:
- - /components/media_player.gstreamer/
---
The `gstreamer` platform allows you to play audio via a [gstreamer](https://gstreamer.freedesktop.org/) pipeline. Practically, this means you can play audio directly on the computer running Home Assistant. It is particularly suited for playing TTS. Advanced users can specify a pipeline to transform the audio stream and/or redirect it elsewhere.
diff --git a/source/_components/gtfs.markdown b/source/_components/gtfs.markdown
index 5be94ee6788..2a8d088a772 100644
--- a/source/_components/gtfs.markdown
+++ b/source/_components/gtfs.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Local Polling
ha_release: 0.17
-redirect_from:
- - /components/sensor.gtfs/
---
The `gtfs` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from your chosen public transit authority and is formatted as [General Transit Feed Specification](https://developers.google.com/transit/gtfs/) data, commonly known as GTFS.
diff --git a/source/_components/gtt.markdown b/source/_components/gtt.markdown
index 1c2ddd72976..a4d5e7bb764 100644
--- a/source/_components/gtt.markdown
+++ b/source/_components/gtt.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: gtt.png
ha_iot_class: Cloud Polling
ha_release: 0.85
-redirect_from:
- - /components/sensor.gtt/
---
diff --git a/source/_components/habitica.markdown b/source/_components/habitica.markdown
index 1bfa73e545f..b5abb3922a0 100644
--- a/source/_components/habitica.markdown
+++ b/source/_components/habitica.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.78
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.habitica/
---
This integration allows you to monitor and manage your Habitica profile. This integration exposes the [Habitica's API](https://habitica.com/apidoc/) as a Home Assistant service. It supports multiple users and allows you to automate checking out your habits and daily tasks or casting magics using Home Assistant.
@@ -94,7 +92,7 @@ So let's call the API on `habitica.api_call`.
Combining all together:
call `habitica.api_call` with data
-```
+```json
{
"name": "xxxNotAValidNickxxx",
"path": ["tasks", "user", "post"],
@@ -108,7 +106,7 @@ This call will create a new todo on `xxxNotAValidNickxxx`'s account with text `U
Also an event `habitica_api_call_success` will be fired with the following data:
-```
+```json
{
"name": "xxxNotAValidNickxxx",
"path": ["tasks", "user", "post"],
diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown
index fe2a33ff3db..970c177dedf 100644
--- a/source/_components/hangouts.markdown
+++ b/source/_components/hangouts.markdown
@@ -6,8 +6,6 @@ ha_category:
- Hub
- Notifications
ha_release: 0.77
-redirect_from:
- - /components/notify.hangouts/
---
This integration allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. Home Assistant will impersonate a Smartisan YQ603 phone which will then show up in your Google devices.
diff --git a/source/_components/harman_kardon_avr.markdown b/source/_components/harman_kardon_avr.markdown
index c16910a0e2a..87e4b0c47d9 100644
--- a/source/_components/harman_kardon_avr.markdown
+++ b/source/_components/harman_kardon_avr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.85
-redirect_from:
- - /components/media_player.harman_kardon_avr/
---
The `harman_kardon_avr` platform allows you to control Harman Kardon Network Receivers from Home Assistant.
diff --git a/source/_components/harmony.markdown b/source/_components/harmony.markdown
index a6051b217ce..b955b18831a 100644
--- a/source/_components/harmony.markdown
+++ b/source/_components/harmony.markdown
@@ -6,8 +6,6 @@ ha_category:
- Remote
ha_iot_class: Local Push
ha_release: 0.34
-redirect_from:
- - /components/remote.harmony/
---
The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](http://www.logitech.com/en-us/product/harmony-hub).
diff --git a/source/_components/haveibeenpwned.markdown b/source/_components/haveibeenpwned.markdown
index 4ef3b816e4b..958c59ff313 100644
--- a/source/_components/haveibeenpwned.markdown
+++ b/source/_components/haveibeenpwned.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.31
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.haveibeenpwned/
---
The `haveibeenpwned` sensor platform creates sensors that check for breached email accounts on [haveibeenpwned](https://haveibeenpwned.com).
diff --git a/source/_components/hddtemp.markdown b/source/_components/hddtemp.markdown
index 3ad3a2ff6c3..262e5f0a789 100644
--- a/source/_components/hddtemp.markdown
+++ b/source/_components/hddtemp.markdown
@@ -5,8 +5,6 @@ ha_category:
- System Monitor
ha_release: 0.32
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.hddtemp/
---
The `hddtemp` sensor platform is using the data provided by [HDDTemp](http://savannah.nongnu.org/projects/hddtemp).
diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown
index 485a0b11394..f77c0d39d76 100644
--- a/source/_components/hdmi_cec.markdown
+++ b/source/_components/hdmi_cec.markdown
@@ -6,9 +6,6 @@ ha_category:
logo: hdmi.png
ha_release: 0.23
ha_iot_class: Local Push
-redirect_from:
- - /components/media_player.hdmi_cec/
- - /components/switch.hdmi_cec/
---
The `hdmi_cec` integration provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entities for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as sound-bars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers.
@@ -34,8 +31,8 @@ If you are using [Hass.io](/hassio/) then just move forward to the configuration
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.
```bash
-$ ln -s /path/to/your/installation/of/cec.py /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.py /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
```
@@ -44,9 +41,8 @@ $ ln -s /path/to/your/installation/of/_cec.so /path/to/your/venv/lib/python*/sit
For the default virtual environment of a [HASSbian Image for Raspberry Pi](/docs/installation/raspberry-pi/) the command would be as follows.
```bash
-$ ln -s /usr/local/lib/python*/dist-packages/cec.py /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/python*/dist-packages/cec.py /srv/homeassistant/lib/python*/site-packages
+ln -s /usr/local/lib/python*/dist-packages/_cec.so /srv/homeassistant/lib/python*/site-packages
```
diff --git a/source/_components/heatmiser.markdown b/source/_components/heatmiser.markdown
index 57514e613bb..26059c0b501 100644
--- a/source/_components/heatmiser.markdown
+++ b/source/_components/heatmiser.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: "0.10"
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.heatmiser/
---
The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/room-thermostats/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
diff --git a/source/_components/hikvision.markdown b/source/_components/hikvision.markdown
index 518a8cdaa0f..fcb8f506c43 100644
--- a/source/_components/hikvision.markdown
+++ b/source/_components/hikvision.markdown
@@ -6,8 +6,6 @@ ha_category:
- Binary Sensor
ha_release: 0.35
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.hikvision/
---
The Hikvision Binary Sensor is a platform that parses the event stream of a
diff --git a/source/_components/hikvisioncam.markdown b/source/_components/hikvisioncam.markdown
index fe8959b36a8..4896023bf74 100644
--- a/source/_components/hikvisioncam.markdown
+++ b/source/_components/hikvisioncam.markdown
@@ -5,8 +5,6 @@ logo: hikvision.png
ha_category:
- Switch
ha_release: pre 0.7
-redirect_from:
- - /components/switch.hikvisioncam/
---
This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](http://www.hikvision.com/) camera.
diff --git a/source/_components/hipchat.markdown b/source/_components/hipchat.markdown
index e3de0fbd30c..3057371def7 100644
--- a/source/_components/hipchat.markdown
+++ b/source/_components/hipchat.markdown
@@ -5,8 +5,6 @@ logo: hipchat.png
ha_category:
- Notifications
ha_release: 0.52
-redirect_from:
- - /components/notify.hipchat/
---
diff --git a/source/_components/history_stats.markdown b/source/_components/history_stats.markdown
index 68b05276c75..02f2c668921 100644
--- a/source/_components/history_stats.markdown
+++ b/source/_components/history_stats.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.39
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.history_stats/
---
The `history_stats` sensor platform provides quick statistics about another integration or platforms, using data from the [history](/components/history/).
diff --git a/source/_components/hitron_coda.markdown b/source/_components/hitron_coda.markdown
index 53eee46d502..b0d14544f2f 100644
--- a/source/_components/hitron_coda.markdown
+++ b/source/_components/hitron_coda.markdown
@@ -5,8 +5,6 @@ logo: hitron.png
ha_category:
- Presence Detection
ha_release: 0.58
-redirect_from:
- - /components/device_tracker.hitron_coda/
---
This integration offers presence detection by examining devices connected to a [Rogers Hitron CODA](https://www.rogers.com/customer/support/article/wi-fi-password-hitron-coda4582-cgn3amr-cgnm3552-cgn3acr-cgn3)
diff --git a/source/_components/hive.markdown b/source/_components/hive.markdown
index 31b2c6df5c0..dd615a84d6f 100644
--- a/source/_components/hive.markdown
+++ b/source/_components/hive.markdown
@@ -12,12 +12,6 @@ ha_category:
- Water Heater
ha_release: 0.59
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.hive/
- - /components/climate.hive/
- - /components/light.hive/
- - /components/sensor.hive/
- - /components/switch.hive/
---
The `hive` integration is the main integration to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all Hive devices into Home Assistant, including support for multi-zone heating.
diff --git a/source/_components/hlk_sw16.markdown b/source/_components/hlk_sw16.markdown
index 571562e0074..69f8f71f180 100644
--- a/source/_components/hlk_sw16.markdown
+++ b/source/_components/hlk_sw16.markdown
@@ -7,8 +7,6 @@ ha_category:
- Switch
ha_release: 0.84
ha_iot_class: Local Push
-redirect_from:
- - /components/switch.hlk_sw16/
---
The [HLK-SW16](http://www.hlktech.net/product_detail.php?ProId=48) by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device.
diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown
index 5ad244ef746..91d59176de5 100644
--- a/source/_components/homekit.markdown
+++ b/source/_components/homekit.markdown
@@ -242,7 +242,7 @@ automation:
```
{% endraw %}
-In some cases it might be desirable to check that all entities are available before starting `HomeKit`. This can be accomplished by adding and additional `binary_sensor` as follows:
+In some cases it might be desirable to check that all entities are available before starting `HomeKit`. This can be accomplished by adding an additional `binary_sensor` as follows:
{% raw %}
```yaml
@@ -307,7 +307,7 @@ Filters are applied as follows:
## Safe Mode
-The `safe_mode` option should only be used (and only works) if you encounter issues during the pairing. ([Paring hangs - zeroconf error](#pairing-hangs---zeroconf-error)).
+The `safe_mode` option should only be used (and only works) if you encounter issues during the pairing. ([Pairing hangs - zeroconf error](#pairing-hangs---zeroconf-error)).
To use `safe_mode`, add the option to your `homekit` config:
@@ -397,7 +397,7 @@ This is often setup and network related. Make sure to check the other issues bel
- Try with WIFI **and** LAN
- Change the default [port](#port)
-Remember that the iOS device needs to be in the same local network as the Home Assistant device for paring.
+Remember that the iOS device needs to be in the same local network as the Home Assistant device for pairing.
#### `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - Docker
diff --git a/source/_components/homekit_controller.markdown b/source/_components/homekit_controller.markdown
index 8d182278ccf..a67b2cd23d8 100644
--- a/source/_components/homekit_controller.markdown
+++ b/source/_components/homekit_controller.markdown
@@ -14,14 +14,6 @@ ha_category:
- Sensor
ha_release: 0.68
ha_iot_class: Local Polling
-redirect_from:
- - /components/alarm_control_panel.homekit_controller/
- - /components/climate.homekit_controller/
- - /components/cover.homekit_controller/
- - /components/light.homekit_controller/
- - /components/lock.homekit_controller/
- - /components/switch.homekit_controller/
- - /components/sensor.homekit_controller/
---
The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to use accessories with the "Works with HomeKit" logo with Home Assistant. This integration should not be confused with the [HomeKit](/components/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown
index 8bd3b3ab4cd..89649446f6d 100644
--- a/source/_components/homematic.markdown
+++ b/source/_components/homematic.markdown
@@ -14,15 +14,6 @@ ha_category:
- Switch
ha_iot_class: Local Push
ha_release: 0.23
-redirect_from:
- - /components/binary_sensor.homematic/
- - /components/climate.homematic/
- - /components/cover.homematic/
- - /components/light.homematic/
- - /components/lock.homematic/
- - /components/notify.homematic/
- - /components/sensor.homematic/
- - /components/switch.homematic/
---
The [Homematic](http://www.homematic.com/) integration 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.
@@ -198,7 +189,7 @@ This does *not* affect the entities in Home Assistant. They all use their own co
### 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](/components/template) component. Here's an example of a template sensor that exposes the valve state of a thermostat.
```yaml
sensor:
diff --git a/source/_components/homematicip_cloud.markdown b/source/_components/homematicip_cloud.markdown
index cacc16ef301..c87eb1f650b 100644
--- a/source/_components/homematicip_cloud.markdown
+++ b/source/_components/homematicip_cloud.markdown
@@ -13,14 +13,6 @@ ha_category:
- Switch
ha_iot_class: Cloud Push
ha_release: 0.66
-redirect_from:
- - /components/alarm_control_panel.homematicip_cloud/
- - /components/binary_sensor.homematicip_cloud/
- - /components/climate.homematicip_cloud/
- - /components/cover.homematicip_cloud/
- - /components/light.homematicip_cloud/
- - /components/sensor.homematicip_cloud/
- - /components/switch.homematicip_cloud/
---
The [HomematicIP](http://www.homematic-ip.com) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk.
diff --git a/source/_components/homeworks.markdown b/source/_components/homeworks.markdown
index 23a533cddff..318745417ff 100644
--- a/source/_components/homeworks.markdown
+++ b/source/_components/homeworks.markdown
@@ -7,9 +7,6 @@ ha_category:
- Light
ha_release: 0.85
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.homeworks/
- - /components/light.homeworks/
---
[Lutron](http://www.lutron.com/) is an American lighting control company. The Lutron Homeworks Series 4 & 8 systems are relatively old (~2003), and use RS-232 connections to communicate with home automation systems. The `homeworks` integration in Home Assistant is responsible for communicating with the main controller for these systems. Communication is through an ethernet to serial converter (NPort, for example).
diff --git a/source/_components/honeywell.markdown b/source/_components/honeywell.markdown
index 5e4463aad00..3ceb52332ae 100644
--- a/source/_components/honeywell.markdown
+++ b/source/_components/honeywell.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: pre 0.7
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.honeywell/
---
The `honeywell` climate platform integrates Home Assistant with _US-based_ [Honeywell Total Connect Comfort (TCC)](https://mytotalconnectcomfort.com/portal/]) climate systems.
diff --git a/source/_components/hook.markdown b/source/_components/hook.markdown
index 54f0bd33318..152da2f657a 100644
--- a/source/_components/hook.markdown
+++ b/source/_components/hook.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_iot_class: Assumed State
ha_release: 0.34
-redirect_from:
- - /components/switch.hook/
---
The `hook` integration allows you to control the [Hook Smart Home Hub](http://www.hooksmarthome.com/) from within Home Assistant.
diff --git a/source/_components/horizon.markdown b/source/_components/horizon.markdown
index 534ac046e75..432fb10454b 100644
--- a/source/_components/horizon.markdown
+++ b/source/_components/horizon.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.72
-redirect_from:
- - /components/media_player.horizon/
---
The `horizon` integration allows you to control a [Unitymedia](https://www.unitymedia.de) Horizon HD Recorder from Home Assistant.
diff --git a/source/_components/hp_ilo.markdown b/source/_components/hp_ilo.markdown
index 6fc1dcf4d43..1e885a97742 100644
--- a/source/_components/hp_ilo.markdown
+++ b/source/_components/hp_ilo.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.27
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.hp_ilo/
---
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.
diff --git a/source/_components/html5.markdown b/source/_components/html5.markdown
index cece7c58507..d36a05a7160 100644
--- a/source/_components/html5.markdown
+++ b/source/_components/html5.markdown
@@ -5,8 +5,6 @@ logo: html5.png
ha_category:
- Notifications
ha_release: 0.27
-redirect_from:
- - /components/notify.html5/
---
The `html5` notification platform enables you to receive push notifications to Chrome or Firefox, no matter where you are in the world. `html5` also supports Chrome and Firefox on Android, which enables native-app-like integrations without actually needing a native app.
diff --git a/source/_components/http.markdown b/source/_components/http.markdown
index 2309d2ff386..4909b2caaf5 100644
--- a/source/_components/http.markdown
+++ b/source/_components/http.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_release: pre 0.7
ha_iot_class: Local Push
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.http/
- - /components/sensor.http/
---
The `http` integration serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings.
diff --git a/source/_components/htu21d.markdown b/source/_components/htu21d.markdown
index 1e7553c6d5b..8d177dd51e8 100644
--- a/source/_components/htu21d.markdown
+++ b/source/_components/htu21d.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.48
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.htu21d/
---
The `htu21d` sensor platform allows you to read the temperature and humidity from a [HTU21D sensor](http://www.datasheetspdf.com/PDF/HTU21D/779951/1) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins).
diff --git a/source/_components/huawei_lte.markdown b/source/_components/huawei_lte.markdown
index 09d4dff41f9..c23d6f000da 100644
--- a/source/_components/huawei_lte.markdown
+++ b/source/_components/huawei_lte.markdown
@@ -9,10 +9,6 @@ ha_category:
- Sensor
ha_release: 0.79
ha_iot_class: Local Polling
-redirect_from:
- - /components/notify.huawei_lte/
- - /components/device_tracker.huawei_lte/
- - /components/sensor.huawei_lte/
---
The Huawei LTE router integration for Home Assistant allows you to observe and control [Huawei LTE routers](https://consumer.huawei.com/en/smart-home/).
diff --git a/source/_components/huawei_router.markdown b/source/_components/huawei_router.markdown
index 745dd7f16c9..112ae50696c 100644
--- a/source/_components/huawei_router.markdown
+++ b/source/_components/huawei_router.markdown
@@ -5,8 +5,6 @@ logo: huawei.svg
ha_category:
- Presence Detection
ha_release: 0.51
-redirect_from:
- - /components/device_tracker.huawei_router/
---
The `huawei` device tracker platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
diff --git a/source/_components/hue.markdown b/source/_components/hue.markdown
index acf9948460f..8aa4640bbba 100644
--- a/source/_components/hue.markdown
+++ b/source/_components/hue.markdown
@@ -9,8 +9,6 @@ ha_iot_class: Local Polling
ha_qa_scale: platinum
featured: true
ha_release: "0.60"
-redirect_from:
- - /components/light.hue/
---
Philips Hue support is integrated into Home Assistant as a Hub that can drive the light & sensor platforms. The preferred way to setup the Philips Hue platform is by enabling the [discovery component](/components/discovery/).
diff --git a/source/_components/hunterdouglas_powerview.markdown b/source/_components/hunterdouglas_powerview.markdown
index 8a1d1a008c8..47e5c7b6e78 100644
--- a/source/_components/hunterdouglas_powerview.markdown
+++ b/source/_components/hunterdouglas_powerview.markdown
@@ -5,8 +5,6 @@ logo: hunter-douglas-powerview.png
ha_category:
- Scene
ha_release: 0.15
-redirect_from:
- - /components/scene.hunterdouglas_powerview/
---
Implements the [Hunter Douglas PowerView](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes.
diff --git a/source/_components/hydrawise.markdown b/source/_components/hydrawise.markdown
index 07abf835472..58a12fcc850 100644
--- a/source/_components/hydrawise.markdown
+++ b/source/_components/hydrawise.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.71
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.hydrawise/
- - /components/sensor.hydrawise/
- - /components/switch.hydrawise/
---
The `hydrawise` integration allows you to integrate your [Hunter Hydrawise](https://hydrawise.com) Wi-Fi irrigation controller system in Home Assistant.
diff --git a/source/_components/hydroquebec.markdown b/source/_components/hydroquebec.markdown
index 04cb2bf2f1a..2acb7064bb8 100644
--- a/source/_components/hydroquebec.markdown
+++ b/source/_components/hydroquebec.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.35
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.hydroquebec/
---
Integrate your [Hydro-Québec](https://www.hydroquebec.com/portail/) consumption profile information into Home Assistant.
diff --git a/source/_components/hyperion.markdown b/source/_components/hyperion.markdown
index 52e545ed375..5b85e62de74 100644
--- a/source/_components/hyperion.markdown
+++ b/source/_components/hyperion.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_release: 0.7.6
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.hyperion/
---
The `hyperion` platform allows you to integrate your [Hyperion](https://hyperion-project.org/wiki) into Home Assistant. Hyperion is an open source Ambilight implementation which runs on many platforms.
@@ -80,7 +78,7 @@ automation:
To have the lights playing a effect when pausing, idle or turn off a media player like plex you can use this example:
-```
+```yaml
- alias: Set hyperion effect after playback
trigger:
- platform: state
@@ -101,7 +99,7 @@ To have the lights playing a effect when pausing, idle or turn off a media playe
To capture the screen when playing something of a media_player you can use this example:
-```
+```yaml
- alias: Set hyperion when playback starts
trigger:
- platform: state
diff --git a/source/_components/ialarm.markdown b/source/_components/ialarm.markdown
index 9a95b2d4ac7..91a194f674e 100644
--- a/source/_components/ialarm.markdown
+++ b/source/_components/ialarm.markdown
@@ -5,8 +5,6 @@ logo: antifurto365-ialarm.png
ha_category:
- Alarm
ha_release: "0.60"
-redirect_from:
- - /components/alarm_control_panel.ialarm/
---
The `ialarm` platform provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems.
diff --git a/source/_components/icloud.markdown b/source/_components/icloud.markdown
index 893fcdc7f01..1f8fdb602f9 100644
--- a/source/_components/icloud.markdown
+++ b/source/_components/icloud.markdown
@@ -5,8 +5,6 @@ logo: icloud.png
ha_category:
- Presence Detection
ha_release: "0.10"
-redirect_from:
- - /components/device_tracker.icloud/
---
diff --git a/source/_components/iglo.markdown b/source/_components/iglo.markdown
index 2e24c22db1c..9edbcfe3e8d 100644
--- a/source/_components/iglo.markdown
+++ b/source/_components/iglo.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.61
-redirect_from:
- - /components/light.iglo/
---
The `iglo` platform allows you to integrate your [iGlo Lights](https://www.youtube.com/watch?v=oHTS9ji_v-s) into Home Assistant.
diff --git a/source/_components/ihc.markdown b/source/_components/ihc.markdown
index fb67037d428..e641ac21cc6 100644
--- a/source/_components/ihc.markdown
+++ b/source/_components/ihc.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: 0.62
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.ihc/
- - /components/light.ihc/
- - /components/sensor.ihc/
- - /components/switch.ihc/
---
IHC Controller integration for Home Assistant allows you to connect the LK IHC controller to Home Assistant. The controller is sold under other names in different countries - "ELKO Living system" in Sweden and Norway.
diff --git a/source/_components/imap.markdown b/source/_components/imap.markdown
index 56b3a8753d5..b96c727b69f 100644
--- a/source/_components/imap.markdown
+++ b/source/_components/imap.markdown
@@ -6,8 +6,6 @@ ha_category:
- Mailbox
ha_release: 0.25
ha_iot_class: Cloud Push
-redirect_from:
- - /components/sensor.imap/
---
The `imap` sensor platform is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the amount of unread emails.
diff --git a/source/_components/imap_email_content.markdown b/source/_components/imap_email_content.markdown
index 4b64ae0d0d9..4c8908ecec5 100644
--- a/source/_components/imap_email_content.markdown
+++ b/source/_components/imap_email_content.markdown
@@ -6,8 +6,6 @@ ha_category:
- Mailbox
ha_iot_class: Cloud Push
ha_release: 0.25
-redirect_from:
- - /components/sensor.imap_email_content/
---
The `imap_email_content` sensor platform will read emails from an IMAP email server and report them as a state change within Home Assistant. This is useful if you have a device that only reports its state via email.
diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown
index 0bcbe91280a..8e056452a6b 100644
--- a/source/_components/influxdb.markdown
+++ b/source/_components/influxdb.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.9
ha_iot_class: Configurable
-redirect_from:
- - /components/sensor.influxdb/
---
The `influxdb` integration makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown
index 4ce98239872..c42a5f9a3d0 100644
--- a/source/_components/input_datetime.markdown
+++ b/source/_components/input_datetime.markdown
@@ -98,7 +98,7 @@ To set both the date and time in the same call, use `date` and `time` together,
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):
+[time sensor](/components/time_date) elsewhere in your configuration):
{% raw %}
```yaml
diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown
index 0aedabe819c..95f0dd7406c 100644
--- a/source/_components/input_number.markdown
+++ b/source/_components/input_number.markdown
@@ -5,7 +5,6 @@ logo: home-assistant.png
ha_category:
- Automation
ha_release: 0.55
-redirect_from: /components/input_slider/
ha_qa_scale: internal
---
diff --git a/source/_components/insteon.markdown b/source/_components/insteon.markdown
index f9c35cb3b24..15f96cf126d 100644
--- a/source/_components/insteon.markdown
+++ b/source/_components/insteon.markdown
@@ -11,13 +11,6 @@ ha_category:
- Sensor
- Switch
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.insteon/
- - /components/cover.insteon/
- - /components/fan.insteon/
- - /components/light.insteon/
- - /components/sensor.insteon/
- - /components/switch.insteon/
ha_release: 0.39
---
diff --git a/source/_components/integration.markdown b/source/_components/integration.markdown
index 4bd42ad4d20..f2bd8fbf086 100644
--- a/source/_components/integration.markdown
+++ b/source/_components/integration.markdown
@@ -8,8 +8,6 @@ ha_release: 0.87
ha_iot_class: Local Push
logo: integral.png
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.integration/
---
The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. The integration sensors is updated upon changes of the the **source**. Fast sampling source sensors provide better results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used.
diff --git a/source/_components/iota.markdown b/source/_components/iota.markdown
index 85a5f3bdcbb..08e2d6a9dcd 100644
--- a/source/_components/iota.markdown
+++ b/source/_components/iota.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.62
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.iota/
---
[IOTA](http://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees.
diff --git a/source/_components/iperf3.markdown b/source/_components/iperf3.markdown
index e7338d4273e..80694beaa4b 100644
--- a/source/_components/iperf3.markdown
+++ b/source/_components/iperf3.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.71
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.iperf3/
---
The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](http://software.es.net/iperf/index.html) server.
diff --git a/source/_components/ipma.markdown b/source/_components/ipma.markdown
index ab9398a250c..4a229cf11fa 100644
--- a/source/_components/ipma.markdown
+++ b/source/_components/ipma.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.72
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.ipma/
---
The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](http://www.ipma.pt) as a source for current and forecast meteorological data.
diff --git a/source/_components/iqvia.markdown b/source/_components/iqvia.markdown
index 7f64c000978..b496ee3bb3f 100644
--- a/source/_components/iqvia.markdown
+++ b/source/_components/iqvia.markdown
@@ -6,9 +6,6 @@ ha_category:
- Health
ha_release: 0.63
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.pollen/
- - /components/pollen/
---
The `iqvia` sensor platform collects and displays allergy, asthma and disease
diff --git a/source/_components/irish_rail_transport.markdown b/source/_components/irish_rail_transport.markdown
index cc414319e5a..96e6fd4244d 100644
--- a/source/_components/irish_rail_transport.markdown
+++ b/source/_components/irish_rail_transport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.57
-redirect_from:
- - /components/sensor.irish_rail_transport/
---
The `irish_rail_transport` sensor will give you the time until the next two departures (within 90 minutes) from an Irish Rail station using the RTPI information.
diff --git a/source/_components/islamic_prayer_times.markdown b/source/_components/islamic_prayer_times.markdown
index 83028c45518..0e310132f11 100644
--- a/source/_components/islamic_prayer_times.markdown
+++ b/source/_components/islamic_prayer_times.markdown
@@ -5,8 +5,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.85
-redirect_from:
- - /components/sensor.islamic_prayer_times/
---
The Islamic Prayer Times (`islamic_prayer_times`) sensor platform displays the various prayer times for Muslims as sensors.
diff --git a/source/_components/iss.markdown b/source/_components/iss.markdown
index 8297df45346..20541d31029 100644
--- a/source/_components/iss.markdown
+++ b/source/_components/iss.markdown
@@ -5,9 +5,6 @@ logo: nasa.png
ha_category:
- Binary Sensor
ha_release: 0.36
-redirect_from:
- - /components/sensor.iss/
- - /components/binary_sensor.iss/
---
The `iss` platform uses the
@@ -51,7 +48,7 @@ The default name of the location attributes is `lat` and `long` to avoid showing
### Show position on map with camera platform
-The [generic camera platform](/components/camera.mjpeg/) offers
+The [generic camera platform](/components/mjpeg) offers
the possibility to show the location of the ISS on OpenStreetMap.
{% raw %}
diff --git a/source/_components/isy994.markdown b/source/_components/isy994.markdown
index 3972f030d48..26b3f65af65 100644
--- a/source/_components/isy994.markdown
+++ b/source/_components/isy994.markdown
@@ -13,14 +13,6 @@ ha_category:
- Switch
ha_release: 0.28
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.isy994/
- - /components/cover.isy994/
- - /components/fan.isy994/
- - /components/light.isy994/
- - /components/lock.isy994/
- - /components/sensor.isy994/
- - /components/switch.isy994/
---
The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices.
diff --git a/source/_components/itach.markdown b/source/_components/itach.markdown
index 4f4272e9fde..b988d1b70cc 100644
--- a/source/_components/itach.markdown
+++ b/source/_components/itach.markdown
@@ -6,8 +6,6 @@ ha_category:
- Remote
ha_iot_class: Assumed State
ha_release: 0.39
-redirect_from:
- - /components/remote.itach/
---
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.
diff --git a/source/_components/itunes.markdown b/source/_components/itunes.markdown
index ccfa6db8273..74268d14467 100644
--- a/source/_components/itunes.markdown
+++ b/source/_components/itunes.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.7.3
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.itunes/
---
diff --git a/source/_components/jewish_calendar.markdown b/source/_components/jewish_calendar.markdown
index 11680a677e4..3166f74adf8 100644
--- a/source/_components/jewish_calendar.markdown
+++ b/source/_components/jewish_calendar.markdown
@@ -5,8 +5,6 @@ ha_category:
- Calendar
ha_iot_class: Local Polling
ha_release: 0.79
-redirect_from:
- - /components/sensor.jewish_calendar/
---
The Jewish Calendar (`jewish_calendar`) sensor platform displays a variety of information related to the Jewish Calendar as a variety of sensors.
diff --git a/source/_components/joaoapps_join.markdown b/source/_components/joaoapps_join.markdown
index 03e28627f66..3dff0264d8a 100644
--- a/source/_components/joaoapps_join.markdown
+++ b/source/_components/joaoapps_join.markdown
@@ -6,8 +6,6 @@ ha_category:
- Hub
- Notifications
ha_release: 0.24
-redirect_from:
- - /components/notify.joaoapps_join/
---
The `joaoapps_join` integration exposes services from
diff --git a/source/_components/juicenet.markdown b/source/_components/juicenet.markdown
index 11f88b5ea5c..0ff4e490a91 100644
--- a/source/_components/juicenet.markdown
+++ b/source/_components/juicenet.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
- Sensor
ha_release: 0.47
-redirect_from:
- - /components/sensor.juicenet/
---
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.
diff --git a/source/_components/kankun.markdown b/source/_components/kankun.markdown
index 91343355393..8c7c92c05c5 100644
--- a/source/_components/kankun.markdown
+++ b/source/_components/kankun.markdown
@@ -5,8 +5,6 @@ ha_category:
- Switch
ha_release: 0.36
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.kankun/
---
The `kankun` switch platform allows you to toggle customized Kankun SP3 Wifi switches. Switches are
diff --git a/source/_components/keenetic_ndms2.markdown b/source/_components/keenetic_ndms2.markdown
index 232a1d96f31..e5eb4ae9976 100644
--- a/source/_components/keenetic_ndms2.markdown
+++ b/source/_components/keenetic_ndms2.markdown
@@ -5,8 +5,6 @@ logo: keenetic.png
ha_category:
- Presence Detection
ha_release: 0.54
-redirect_from:
- - /components/device_tracker.keenetic_ndms2/
---
This integration offers presence detection by examining devices connected to a [Keenetic](https://keenetic.net/)
diff --git a/source/_components/kira.markdown b/source/_components/kira.markdown
index 8ae5afa26a1..3e5eb9c3ece 100644
--- a/source/_components/kira.markdown
+++ b/source/_components/kira.markdown
@@ -7,9 +7,6 @@ ha_category:
- Remote
- Sensor
ha_release: 0.45
-redirect_from:
- - /components/sensor.kira/
- - /components/remote.kira/
---
The `kira` integration is the main integration to integrate Keene Electronics IR over IP [Kira](https://www.keene.co.uk/keene-ir-anywhere-single-worldwide.html) modules with Home Assistant.
diff --git a/source/_components/kiwi.markdown b/source/_components/kiwi.markdown
index 3eef4156105..9aaa8cf5804 100644
--- a/source/_components/kiwi.markdown
+++ b/source/_components/kiwi.markdown
@@ -6,8 +6,6 @@ ha_category:
- Lock
ha_release: 0.72
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/lock.kiwi/
---
The `KIWI` platform allows you to open your KIWI Smart Locks and Smart Entry Devices.
diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown
index 131ac8dcb8f..af2231d57b8 100644
--- a/source/_components/knx.markdown
+++ b/source/_components/knx.markdown
@@ -120,7 +120,7 @@ state_updater:
In order to directly interact with the KNX bus, you can use the following service:
-```
+```txt
Domain: knx
Service: send
Service Data: {"address": "1/0/15", "payload": 0}
diff --git a/source/_components/kodi.markdown b/source/_components/kodi.markdown
index 8190ab09397..95bfae3e86b 100644
--- a/source/_components/kodi.markdown
+++ b/source/_components/kodi.markdown
@@ -7,9 +7,6 @@ ha_category:
- Media Player
ha_release: pre 0.7
ha_iot_class: Local Push
-redirect_from:
- - /components/notify.kodi/
- - /components/media_player.kodi/
---
The `kodi` platform allows you to control a [Kodi](http://kodi.tv/) multimedia system from Home Assistant.
diff --git a/source/_components/konnected.markdown b/source/_components/konnected.markdown
index f5533ff0974..5c93112463c 100644
--- a/source/_components/konnected.markdown
+++ b/source/_components/konnected.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
- Sensor
ha_release: "0.70"
-redirect_from:
- - /components/binary_sensor.konnected/
- - /components/switch.konnected/
---
The `konnected` integration lets you connect wired sensors and switches to a NodeMCU ESP8226 based device running the [open source Konnected software](https://github.com/konnected-io/konnected-security). Reuse the wired sensors and siren from an old or pre-wired alarm system installation and integrate them directly into Home Assistant.
@@ -74,7 +71,7 @@ devices:
required: true
type: string
binary_sensors:
- description: A list of binary sensors connected to the device. See [Konnected Binary Sensor](/components/binary_sensor.konnected/) for configuration variables.
+ description: A list of binary sensors connected to the device. See [Konnected Binary Sensor](/components/konnected#binary-sensor) for configuration variables.
required: false
type: list
keys:
@@ -120,7 +117,7 @@ devices:
required: false
default: not set (device default is 3 minutes)
switches:
- description: A list of actuators (on/off switches) connected to the device. See [Konnected Switch](/components/switch.konnected/) for configuration variables.
+ description: A list of actuators (on/off switches) connected to the device. See [Konnected Switch](/components/konnected#switch) for configuration variables.
required: false
type: list
keys:
diff --git a/source/_components/kwb.markdown b/source/_components/kwb.markdown
index ebee98cdf92..fca97426250 100644
--- a/source/_components/kwb.markdown
+++ b/source/_components/kwb.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Local Polling
ha_release: "0.40"
-redirect_from:
- - /components/sensor.kwb/
---
The `kwb` integration integrates the sensors of KWB Easyfire pellet central heating units with the Comfort3 controller (https://www.kwb.net/produkte/) into Home Assistant.
diff --git a/source/_components/lacrosse.markdown b/source/_components/lacrosse.markdown
index 25eb572d847..0d6a6a36f61 100644
--- a/source/_components/lacrosse.markdown
+++ b/source/_components/lacrosse.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.58
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.lacrosse/
---
The `lacrosse` sensor platform is using the data provided by a [Jeelink](https://www.digitalsmarties.net/products/jeelink) USB dongle or this [Arduino sketch](https://svn.fhem.de/trac/browser/trunk/fhem/contrib/arduino/36_LaCrosse-LaCrosseITPlusReader.zip).
diff --git a/source/_components/lametric.markdown b/source/_components/lametric.markdown
index 2e2755de054..db23bdecf30 100644
--- a/source/_components/lametric.markdown
+++ b/source/_components/lametric.markdown
@@ -6,8 +6,6 @@ ha_category:
- Hub
- Notifications
ha_release: 0.49
-redirect_from:
- - /components/notify.lametric/
---
[LaMetric Time](http://lametric.com) is a smart clock that can be used to access applications, listen to web radio and display notifications.
@@ -39,7 +37,7 @@ These are the steps to take:
* Check all permission boxes
* Hit Save
4. You should be directed to your [Notification Apps list](https://developer.lametric.com/applications/sources), click on "Home Assistant", copy your client ID and client Secret and paste into the Home Assistant configuration block in the previous section.
-5. Set up some notifications in Home Assistant by following the instructions on the [Lametric Notify](/components/notify.lametric) page.
+5. Set up some notifications in Home Assistant by following the instructions on the [Lametric Notify](/components/lametric) page.
6. Save all configuration files and restart Home Assistant.
## Notifications
diff --git a/source/_components/lannouncer.markdown b/source/_components/lannouncer.markdown
index 4dfc4e0eac2..4f13d77d482 100644
--- a/source/_components/lannouncer.markdown
+++ b/source/_components/lannouncer.markdown
@@ -5,8 +5,6 @@ logo: lannouncer.png
ha_category:
- Notifications
ha_release: 0.36
-redirect_from:
- - /components/notify.lannouncer/
---
The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications.
diff --git a/source/_components/lastfm.markdown b/source/_components/lastfm.markdown
index 9d69e126750..2ca19ba6a3d 100644
--- a/source/_components/lastfm.markdown
+++ b/source/_components/lastfm.markdown
@@ -6,8 +6,6 @@ ha_category:
- Social
ha_iot_class: Cloud Polling
ha_release: "0.20"
-redirect_from:
- - /components/sensor.lastfm/
---
The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](http://www.last.fm).
diff --git a/source/_components/launch_library.markdown b/source/_components/launch_library.markdown
index 771999a99cd..bb7401277b1 100644
--- a/source/_components/launch_library.markdown
+++ b/source/_components/launch_library.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.83
-redirect_from:
- - /components/sensor.launch_library/
---
The `launch_library` sensor will provide you with information about the next planned space launch.
diff --git a/source/_components/lcn.markdown b/source/_components/lcn.markdown
index 146ae5852a0..67a39e6293a 100644
--- a/source/_components/lcn.markdown
+++ b/source/_components/lcn.markdown
@@ -13,10 +13,6 @@ ha_category:
- Switch
ha_release: 0.85
ha_iot_class: Local Push
-redirect_from:
- - /components/light.lcn/
- - /components/switch.lcn/
- - /components/cover.lcn/
---
The `lcn` integration for Home Assistant allows you to connect to [LCN](http://www.lcn.eu) hardware devices.
@@ -339,7 +335,7 @@ Whenever the address of a module or a group has to be specified, it can be addre
Example for modules:
-```
+```txt
connid.s000.m007
connid.s0.m7
s0.m7
@@ -348,7 +344,7 @@ s0.m7
Example for groups:
-```
+```txt
connid.s000.g007
connid.s0.g7
s0.g7
diff --git a/source/_components/lg_netcast.markdown b/source/_components/lg_netcast.markdown
index 048ab8268d8..1a5653e395d 100644
--- a/source/_components/lg_netcast.markdown
+++ b/source/_components/lg_netcast.markdown
@@ -6,11 +6,9 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: "0.20"
-redirect_from:
- - /components/media_player.lg_netcast/
---
-The `lg_netcast` platform allows you to control a LG Smart TV running NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013). For the new LG WebOS TV's use the [webostv](/components/media_player.webostv) platform.
+The `lg_netcast` platform allows you to control a LG Smart TV running NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013). For the new LG WebOS TV's use the [webostv](/components/webostv#media-player) platform.
To add a LG TV to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_components/lg_soundbar.markdown b/source/_components/lg_soundbar.markdown
index c72753a25c0..d6526e3a6b4 100644
--- a/source/_components/lg_soundbar.markdown
+++ b/source/_components/lg_soundbar.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.81
-redirect_from:
- - /components/media_player.lg_soundbar/
---
The `lg_soundbar` platform allows you to control [LG Soundbars](https://www.lg.com/us/sound-bars) from Home Assistant.
diff --git a/source/_components/lifx.markdown b/source/_components/lifx.markdown
index dcb92804928..22693bea424 100644
--- a/source/_components/lifx.markdown
+++ b/source/_components/lifx.markdown
@@ -6,7 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.81
-redirect_from: /components/light.lifx/
---
The `lifx` integration allows you to integrate your [LIFX](https://www.lifx.com) into Home Assistant.
diff --git a/source/_components/lifx_cloud.markdown b/source/_components/lifx_cloud.markdown
index 0b23600d413..ecaac20a6a7 100644
--- a/source/_components/lifx_cloud.markdown
+++ b/source/_components/lifx_cloud.markdown
@@ -5,8 +5,6 @@ logo: lifx.png
ha_category:
- Scene
ha_release: 0.43
-redirect_from:
- - /components/scene.lifx_cloud/
---
The `lifx_cloud` scene platform allows you to activate the scenes that LIFX smartphone apps store in the LIFX cloud.
diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown
index a99761c1447..afdf3e8374a 100644
--- a/source/_components/light.mqtt.markdown
+++ b/source/_components/light.mqtt.markdown
@@ -5,9 +5,6 @@ logo: mqtt.png
ha_category:
- Light
ha_iot_class: Configurable
-redirect_from:
- - /components/light.mqtt_json/
- - /components/light.mqtt_template/
ha_release: 0.8
---
@@ -651,7 +648,7 @@ light:
- [ESPHome](https://esphome.io) implements the JSON schema for MQTT based installs and supports [MQTT discovery](/docs/mqtt/discovery/).
-- [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.
+- [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) 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.
## Template schema
diff --git a/source/_components/lightwave.markdown b/source/_components/lightwave.markdown
index 9071b56142e..08e2e70caca 100644
--- a/source/_components/lightwave.markdown
+++ b/source/_components/lightwave.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.84
ha_iot_class: Assumed State
-redirect_from:
- - /components/light.lightwave/
- - /components/switch.lightwave/
---
The `lightwave` integration links Home Assistant with your Lightwave WiFi link for controlling Lightwave lights and switches.
diff --git a/source/_components/limitlessled.markdown b/source/_components/limitlessled.markdown
index e5ffa2d5628..9f9d2f981a6 100644
--- a/source/_components/limitlessled.markdown
+++ b/source/_components/limitlessled.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Assumed State
ha_release: pre 0.7
-redirect_from:
- - /components/light.limitlessled/
---
`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](http://www.milight.com/), LEDme, dekolight, or iLight.
diff --git a/source/_components/linksys_smart.markdown b/source/_components/linksys_smart.markdown
index 5d5dc2ba339..42e627fb94d 100644
--- a/source/_components/linksys_smart.markdown
+++ b/source/_components/linksys_smart.markdown
@@ -5,8 +5,6 @@ ha_category:
- Presence Detection
logo: linksys.png
ha_release: 0.48
-redirect_from:
- - /components/device_tracker.linksys_smart/
---
The `linksys_smart` platform offers presence detection by looking at connected devices to a Linksys Smart Wifi based router.
diff --git a/source/_components/linky.markdown b/source/_components/linky.markdown
index 99225fc18ae..059187b9d34 100644
--- a/source/_components/linky.markdown
+++ b/source/_components/linky.markdown
@@ -7,8 +7,6 @@ ha_category:
- Energy
- Sensor
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.linky/
---
The `linky` sensor platform is retrieving the consumption of your home from the [Linky electric meter](https://www.enedis.fr/linky-compteur-communicant).
diff --git a/source/_components/linode.markdown b/source/_components/linode.markdown
index 5f53f387e03..097b925111f 100644
--- a/source/_components/linode.markdown
+++ b/source/_components/linode.markdown
@@ -8,9 +8,6 @@ ha_category:
logo: linode.png
ha_release: 0.57
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.linode/
- - /components/switch.linode/
---
The `linode` integration allows you to access the information about your [Linode](https://linode.com) systems from Home Assistant.
diff --git a/source/_components/linux_battery.markdown b/source/_components/linux_battery.markdown
index a71296ee3ee..63d5ecc4395 100644
--- a/source/_components/linux_battery.markdown
+++ b/source/_components/linux_battery.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.28
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.linux_battery/
---
The `linux_battery` sensor platform is using the information stored in `/sys/class/power_supply/` on your local Linux system to display details about the current state of your battery.
diff --git a/source/_components/litejet.markdown b/source/_components/litejet.markdown
index 06a1ebb9081..15ad5dc2e13 100644
--- a/source/_components/litejet.markdown
+++ b/source/_components/litejet.markdown
@@ -8,10 +8,6 @@ ha_category:
- Switch
ha_iot_class: Local Push
ha_release: 0.32
-redirect_from:
- - /components/light.litejet/
- - /components/scene.litejet/
- - /components/switch.litejet/
---
LiteJet is a centralized lighting system that predates most home automation technology. All lights and wall switches are wired to a central panel. This central panel has a serial port interface that allows a computer to control the system via LiteJet's third party protocol.
diff --git a/source/_components/liveboxplaytv.markdown b/source/_components/liveboxplaytv.markdown
index bdc98302862..26353a990a1 100644
--- a/source/_components/liveboxplaytv.markdown
+++ b/source/_components/liveboxplaytv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.38
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.liveboxplaytv/
---
The `liveboxplaytv` platform allows you to control [Orange Livebox Play TV appliances](https://boutique.orange.fr/internet/decodeur-tv-livebox).
diff --git a/source/_components/llamalab_automate.markdown b/source/_components/llamalab_automate.markdown
index d2ef9ecafe1..6aa652104fb 100644
--- a/source/_components/llamalab_automate.markdown
+++ b/source/_components/llamalab_automate.markdown
@@ -5,8 +5,6 @@ logo: llamalab_automate.png
ha_category:
- Notifications
ha_release: 0.27
-redirect_from:
- - /components/notify.llamalab_automate/
---
The `llamalab_automate` platform uses Googles Cloud Messaging Services to push messages from Home Assistant to your Android device running the LlamaLab [Automate](https://llamalab.com/automate/) app. This can serve as an alternative to Tasker + AutoRemote.
diff --git a/source/_components/local_file.markdown b/source/_components/local_file.markdown
index 1c835419568..d6e4e223f3a 100644
--- a/source/_components/local_file.markdown
+++ b/source/_components/local_file.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_iot_class: Local Polling
ha_release: 0.22
-redirect_from:
- - /components/camera.local_file/
---
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.
diff --git a/source/_components/locative.md b/source/_components/locative.md
index c1e3b5dd7d4..e8fcfd49e7d 100644
--- a/source/_components/locative.md
+++ b/source/_components/locative.md
@@ -6,14 +6,8 @@ ha_category:
- Presence Detection
ha_release: 0.86
ha_iot_class: Cloud Push
-redirect_from:
- - /components/device_tracker.locative/
---
-
-Locative is no longer under active development.
-
-
This platform allows you to detect presence using [Locative](https://www.locative.io/). Locative is an open source app for [iOS](https://apps.apple.com/us/app/locative/id725198453?ign-mpt=uo%3D4) that allows users to set up a `GET` or `POST` request when a geofence is entered or exited. This can be configured with Home Assistant to update your location.
Install on your smartphone:
diff --git a/source/_components/lockitron.markdown b/source/_components/lockitron.markdown
index 1d19c605fd6..045e314c8f5 100644
--- a/source/_components/lockitron.markdown
+++ b/source/_components/lockitron.markdown
@@ -6,8 +6,6 @@ ha_category:
- Lock
ha_iot_class: Cloud Polling
ha_release: 0.42
-redirect_from:
- - /components/lock.lockitron/
---
The `lockitron` platform allows you to control your [Lockitron](https://lockitron.com/) lock from within Home Assistant.
diff --git a/source/_components/logi_circle.markdown b/source/_components/logi_circle.markdown
index f184a431b0f..9f43f454848 100644
--- a/source/_components/logi_circle.markdown
+++ b/source/_components/logi_circle.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.79
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/camera.logi_circle/
- - /components/sensor.logi_circle/
---
The `logi_circle` implementation allows you to integrate your [Logi Circle](https://circle.logi.com/) cameras in Home Assistant. To connect Logi Circle, you will have to [sign up for API access](#requesting-api-access) and get a `client_id`, `client_secret` and `api_key`.
diff --git a/source/_components/london_air.markdown b/source/_components/london_air.markdown
index 14dbadea5cb..342d4274ebe 100644
--- a/source/_components/london_air.markdown
+++ b/source/_components/london_air.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_iot_class: Cloud Polling
ha_release: 0.52
-redirect_from:
- - /components/sensor.london_air/
---
The `london_air` integration [queries](http://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available.
@@ -58,7 +56,7 @@ locations:
type: list
{% endconfiguration %}
-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](/components/template) can then be added to display these attributes, for example:
```yaml
# Example template sensors
diff --git a/source/_components/london_underground.markdown b/source/_components/london_underground.markdown
index 1103750a3e6..0e459945455 100644
--- a/source/_components/london_underground.markdown
+++ b/source/_components/london_underground.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.49
-redirect_from:
- - /components/sensor.london_underground/
---
The `london_underground` sensor will display the status of London underground lines, as well as the Overground, DLR and Tfl rail.
diff --git a/source/_components/loopenergy.markdown b/source/_components/loopenergy.markdown
index 6ae803111e6..d452f03e15b 100644
--- a/source/_components/loopenergy.markdown
+++ b/source/_components/loopenergy.markdown
@@ -6,9 +6,6 @@ ha_category:
- Energy
ha_release: 0.17
ha_iot_class: Cloud Push
-redirect_from:
- - /components/sensor.loop_energy/
- - /components/sensor.loopenergy/
---
Integrate your [Loop Energy](https://www.your-loop.com/) meter information into Home Assistant. To use this sensor you need the client serial number and secret keys for your devices.
diff --git a/source/_components/luci.markdown b/source/_components/luci.markdown
index 4830ee51947..c5cf56d255a 100644
--- a/source/_components/luci.markdown
+++ b/source/_components/luci.markdown
@@ -5,8 +5,6 @@ logo: openwrt.png
ha_category:
- Presence Detection
ha_release: pre 0.7
-redirect_from:
- - /components/device_tracker.luci/
---
_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/components/openwrt/)._
diff --git a/source/_components/luftdaten.markdown b/source/_components/luftdaten.markdown
index 9caf6cd49af..49414cc97e5 100644
--- a/source/_components/luftdaten.markdown
+++ b/source/_components/luftdaten.markdown
@@ -8,8 +8,6 @@ ha_category:
ha_release: 0.82
ha_iot_class: Cloud Polling
ha_qa_scale: gold
-redirect_from:
- - /components/sensor.luftdaten/
---
The `luftdaten` integration will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station.
diff --git a/source/_components/lupusec.markdown b/source/_components/lupusec.markdown
index 9c2d3e74e54..f23d4eee5f9 100644
--- a/source/_components/lupusec.markdown
+++ b/source/_components/lupusec.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.83
ha_iot_class: Local Polling
-redirect_from:
- - /components/alarm_control_panel.lupusec/
- - /components/binary_sensor.lupusec/
- - /components/switch.lupusec/
---
The `lupusec` integration allows the user to integrate their Lupusec alarm control panel and ultimately all connected sensors and other devices. For more information about the LUPUS-Electronics security system please visit their [website](https://www.lupus-electronics.de).
diff --git a/source/_components/lutron.markdown b/source/_components/lutron.markdown
index c88bd94505d..b7c5dd60c68 100644
--- a/source/_components/lutron.markdown
+++ b/source/_components/lutron.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: 0.37
ha_iot_class: Local Polling
-redirect_from:
- - /components/cover.lutron/
- - /components/light.lutron/
- - /components/scene.lutron/
- - /components/switch.lutron/
---
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches/dimmers, occupancy sensors, HVAC controls, etc. The `lutron` integration in Home Assistant is responsible for communicating with the main hub for these systems.
diff --git a/source/_components/lutron_caseta.markdown b/source/_components/lutron_caseta.markdown
index 5544a9cf3c3..40e5055efed 100644
--- a/source/_components/lutron_caseta.markdown
+++ b/source/_components/lutron_caseta.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: 0.41
ha_iot_class: Local Polling
-redirect_from:
- - /components/cover.lutron_caseta/
- - /components/light.lutron_caseta/
- - /components/scene.lutron_caseta/
- - /components/switch.lutron_caseta/
---
[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](http://www.casetawireless.com) product line of dimmers, switches and shades.
diff --git a/source/_components/lw12wifi.markdown b/source/_components/lw12wifi.markdown
index df1857a7968..8fb1875028c 100644
--- a/source/_components/lw12wifi.markdown
+++ b/source/_components/lw12wifi.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Polling
logo: lagute.png
ha_release: 0.71
-redirect_from:
- - /components/light.lw12wifi/
---
The `lw12wifi` light platform supports Lagute LW-12 Wifi LED controller.
diff --git a/source/_components/lyft.markdown b/source/_components/lyft.markdown
index b23535f0a8d..44ac42bb65d 100644
--- a/source/_components/lyft.markdown
+++ b/source/_components/lyft.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.41
-redirect_from:
- - /components/sensor.lyft/
---
The `lyft` sensor will give you time and price estimates for all available [Lyft](https://lyft.com) products at the given `start_latitude` and `start_longitude`.The `ATTRIBUTES` are used to provide extra information about products, such as vehicle capacity and fare rates. If an `end_latitude` and `end_longitude` are specified, a price estimate will also be provided. One sensor will be created for each product at the given `start` location, for pickup time. A second sensor for each product, for estimated price, will be created if a destination is specified. The sensor is powered by the official Lyft [API](https://developer.lyft.com/reference/).
diff --git a/source/_components/magicseaweed.markdown b/source/_components/magicseaweed.markdown
index 2e86e36bd23..7c4821d7139 100644
--- a/source/_components/magicseaweed.markdown
+++ b/source/_components/magicseaweed.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.75
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.magicseaweed/
---
The `magicseaweed` platform uses the [Magicseaweed Forecast API](https://magicseaweed.com/developer/forecast-api) as a source for surf forecasting data for the surf spots of your choice.
diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown
index 4e5d0354d5e..53f32330859 100644
--- a/source/_components/mailgun.markdown
+++ b/source/_components/mailgun.markdown
@@ -5,8 +5,6 @@ logo: mailgun.png
ha_category:
- Notifications
ha_release: 0.38
-redirect_from:
- - /components/notify.mailgun/
---
To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP integration ([docs](/components/http/#base_url)).
diff --git a/source/_components/manual.markdown b/source/_components/manual.markdown
index fc33d00a268..233b2c91f98 100644
--- a/source/_components/manual.markdown
+++ b/source/_components/manual.markdown
@@ -6,8 +6,6 @@ ha_category:
- Alarm
ha_release: 0.7.6
ha_qa_scale: internal
-redirect_from:
- - /components/alarm_control_panel.manual/
---
The `manual` alarm control panel platform enables you to set manual alarms in Home Assistant.
diff --git a/source/_components/manual_mqtt.markdown b/source/_components/manual_mqtt.markdown
index 2d82aafa8a8..560fb857af1 100644
--- a/source/_components/manual_mqtt.markdown
+++ b/source/_components/manual_mqtt.markdown
@@ -5,11 +5,9 @@ logo: home-assistant.png
ha_category:
- Alarm
ha_release: "0.50"
-redirect_from:
- - /components/alarm_control_panel.manual_mqtt/
---
-The `mqtt` platform extends the [manual alarm](/components/alarm_control_panel.manual/) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
+The `mqtt` platform extends the [manual alarm](/components/manual) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
It's essentially the opposite of the [MQTT Alarm Panel](/components/alarm_control_panel.mqtt/) which allows Home Assistant to observe an existing, fully-featured alarm where all of the alarm logic is embedded in that physical device.
@@ -108,7 +106,7 @@ armed_home/armed_away/armed_night/disarmed/triggered:
type: integer
{% endconfiguration %}
-See the documentation for the [manual alarm platform](/components/alarm_control_panel.manual/) for a description.
+See the documentation for the [manual alarm platform](/components/manual) for a description.
Additionally, the following MQTT configuration variables are also available.
@@ -175,7 +173,7 @@ alarm_control_panel:
pending_time: 0
```
-Refer to the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples) for more real-life examples on how to use this panel.
+Refer to the [Manual Alarm Control page](/components/manual#examples) for more real-life examples on how to use this panel.
## MQTT Control
diff --git a/source/_components/marytts.markdown b/source/_components/marytts.markdown
index c493db37e8c..84a13c4c6a4 100644
--- a/source/_components/marytts.markdown
+++ b/source/_components/marytts.markdown
@@ -5,8 +5,6 @@ logo: marytts.png
ha_category:
- Text-to-speech
ha_release: 0.43
-redirect_from:
- - /components/tts.marytts/
---
The `marytts` text-to-speech platform uses [MaryTTS](http://mary.dfki.de/) Text-to-Speech engine to read a text with natural sounding voices.
diff --git a/source/_components/mastodon.markdown b/source/_components/mastodon.markdown
index 8dbd394bb3c..d779b7ab17f 100644
--- a/source/_components/mastodon.markdown
+++ b/source/_components/mastodon.markdown
@@ -5,8 +5,6 @@ logo: mastodon.png
ha_category:
- Notifications
ha_release: 0.67
-redirect_from:
- - /components/notify.mastodon/
---
The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to deliver notifications from Home Assistant.
diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown
index 788f7815a96..8da71339bec 100644
--- a/source/_components/matrix.markdown
+++ b/source/_components/matrix.markdown
@@ -6,8 +6,6 @@ ha_category:
- Hub
- Notifications
ha_release: 0.69
-redirect_from:
- - /components/notify.matrix/
---
This integration 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.
diff --git a/source/_components/maxcube.markdown b/source/_components/maxcube.markdown
index ca323b75f8c..91564f6a062 100644
--- a/source/_components/maxcube.markdown
+++ b/source/_components/maxcube.markdown
@@ -7,9 +7,6 @@ ha_category:
- Binary Sensor
ha_release: "0.40"
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.maxcube/
- - /components/climate.maxcube/
---
[eQ-3 MAX!](http://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported integrations available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names.
diff --git a/source/_components/media_player.markdown b/source/_components/media_player.markdown
index 7d0e1dd84e0..89814156aab 100644
--- a/source/_components/media_player.markdown
+++ b/source/_components/media_player.markdown
@@ -57,7 +57,7 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
#### Service `media_player.select_sound_mode`
-Currently only supported on [Denon AVR](/components/media_player.denonavr/) and [Songpal](/components/media_player.songpal/).
+Currently only supported on [Denon AVR](/components/denonavr/) and [Songpal](/components/songpal).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
@@ -66,7 +66,7 @@ Currently only supported on [Denon AVR](/components/media_player.denonavr/) and
#### 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/).
+Currently only supported on [Spotify](/components/spotify), [MPD](/components/mpd), [Kodi](/components/kodi), [Squeezebox](/components/squeezebox) and [Universal](/components/universal).
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
diff --git a/source/_components/mediaroom.markdown b/source/_components/mediaroom.markdown
index 44faf7f8c79..49ca190d24e 100644
--- a/source/_components/mediaroom.markdown
+++ b/source/_components/mediaroom.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.63
-redirect_from:
- - /components/media_player.mediaroom/
---
The `mediaroom` integration allows you to control a [Mediaroom](https://en.wikipedia.org/wiki/Ericsson_Mediaroom) Set-Top Box (STB) from Home Assistant.
diff --git a/source/_components/melissa.markdown b/source/_components/melissa.markdown
index fb38635219f..cf433d86ffc 100644
--- a/source/_components/melissa.markdown
+++ b/source/_components/melissa.markdown
@@ -7,8 +7,6 @@ ha_category:
- Climate
ha_release: 0.63
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.melissa/
---
The `melissa` integration is the main integration to connect to a [Melissa Climate](http://seemelissa.com/) A/C control.
diff --git a/source/_components/meraki.markdown b/source/_components/meraki.markdown
index 0dba4b9c8ee..0991e80739c 100644
--- a/source/_components/meraki.markdown
+++ b/source/_components/meraki.markdown
@@ -5,8 +5,6 @@ logo: meraki.png
ha_category:
- Presence Detection
ha_release: "0.60"
-redirect_from:
- - /components/device_tracker.meraki/
---
Use your Meraki AP as device tracker. Note that Meraki will see all devices, not only connected to the network.
diff --git a/source/_components/message_bird.markdown b/source/_components/message_bird.markdown
index 17018a384d1..71c300281c1 100644
--- a/source/_components/message_bird.markdown
+++ b/source/_components/message_bird.markdown
@@ -5,8 +5,6 @@ logo: message_bird.png
ha_category:
- Notifications
ha_release: 0.16
-redirect_from:
- - /components/notify.message_bird/
---
The `MessageBird` notification platform sends notifications as SMS messages using [MessageBird](https://www.messagebird.com/) to your mobile phone.
diff --git a/source/_components/met.markdown b/source/_components/met.markdown
index b7feec48b85..12d8428ca3e 100644
--- a/source/_components/met.markdown
+++ b/source/_components/met.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.79
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.met/
---
The `met` platform uses the [Met.no](https://met.no/) web service as a source for meteorological data for your location. The weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
diff --git a/source/_components/meteo_france.markdown b/source/_components/meteo_france.markdown
index b2733e3348c..32fcf33d0ba 100644
--- a/source/_components/meteo_france.markdown
+++ b/source/_components/meteo_france.markdown
@@ -8,9 +8,6 @@ ha_category:
- Hub
- Sensor
- Weather
-redirect_from:
- - /components/sensor.meteo_france/
- - /components/weather.meteo_france/
---
The `meteo_france` integration uses the [Météo-France](http://www.meteofrance.com/) web service as a source for meteorological data for your location. The location is based on the `city` configured in your `configuration.yaml` file.
diff --git a/source/_components/meteoalarm.markdown b/source/_components/meteoalarm.markdown
index 4ccac08c28d..af0ac9d0895 100644
--- a/source/_components/meteoalarm.markdown
+++ b/source/_components/meteoalarm.markdown
@@ -48,7 +48,7 @@ Example output
You will find an example below when the state is "on".
-```
+```yaml
attribution: Information provided by MeteoAlarm
language: en-GB
category: Met
diff --git a/source/_components/metoffice.markdown b/source/_components/metoffice.markdown
index 0c4a2fa1bd7..0e1026ed564 100644
--- a/source/_components/metoffice.markdown
+++ b/source/_components/metoffice.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.42
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.metoffice/
---
The `metoffice` weather platform uses the Met Office's [DataPoint API](http://www.metoffice.gov.uk/datapoint) for weather data.
diff --git a/source/_components/mfi.markdown b/source/_components/mfi.markdown
index 360ceb02954..e3506cd10f3 100644
--- a/source/_components/mfi.markdown
+++ b/source/_components/mfi.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.13
-redirect_from:
- - /components/switch.mfi/
- - /components/sensor.mfi/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/mhz19.markdown b/source/_components/mhz19.markdown
index 32afb526793..640da7dfd26 100644
--- a/source/_components/mhz19.markdown
+++ b/source/_components/mhz19.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.27
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.mhz19/
---
The MH-Z19 is a small non-dispersive infrared sensor that can measure CO2 level. High CO2 levels can lead to drowsiness, poor concentration, loss of attention or increased heart rate. The CO2 level outside is around 400ppm, but inside levels can reach between 1000 and 5000 ppm. High CO2 levels indicate that you should increase ventilation.
diff --git a/source/_components/microsoft.markdown b/source/_components/microsoft.markdown
index 8bee1e31277..0a2cd4c28f6 100644
--- a/source/_components/microsoft.markdown
+++ b/source/_components/microsoft.markdown
@@ -5,8 +5,6 @@ logo: microsoft.png
ha_category:
- Text-to-speech
ha_release: 0.57
-redirect_from:
- - /components/tts.microsoft/
---
The `microsoft` text-to-speech platform uses [Microsoft Text-to-Speech engine](https://docs.microsoft.com/en-us/azure/cognitive-services/speech/home) to read a text with natural sounding voices. This integration uses an API that is part of the Cognitive Services offering and is known as the Bing Speech API.
diff --git a/source/_components/microsoft_face_detect.markdown b/source/_components/microsoft_face_detect.markdown
index c0ee6f264fc..4f748dee011 100644
--- a/source/_components/microsoft_face_detect.markdown
+++ b/source/_components/microsoft_face_detect.markdown
@@ -5,8 +5,6 @@ logo: microsoft.png
ha_category:
- Image Processing
ha_release: 0.38
-redirect_from:
- - /components/image_processing.microsoft_face_detect/
---
The `microsoft_face_detect` image processing platform allows you to use the
diff --git a/source/_components/microsoft_face_identify.markdown b/source/_components/microsoft_face_identify.markdown
index f0f0e65868b..5f36b05b455 100644
--- a/source/_components/microsoft_face_identify.markdown
+++ b/source/_components/microsoft_face_identify.markdown
@@ -5,8 +5,6 @@ logo: microsoft.png
ha_category:
- Image Processing
ha_release: 0.37
-redirect_from:
- - /components/image_processing.microsoft_face_identify/
---
The `microsoft_face_identify` image processing platform lets you use
diff --git a/source/_components/miflora.markdown b/source/_components/miflora.markdown
index f7e519135eb..cac50d04200 100644
--- a/source/_components/miflora.markdown
+++ b/source/_components/miflora.markdown
@@ -6,8 +6,6 @@ ha_category:
- Environment
ha_release: 0.29
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.miflora/
---
The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](http://www.huahuacaocao.com/product) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time.
diff --git a/source/_components/mikrotik.markdown b/source/_components/mikrotik.markdown
index fdb23f8e7c9..5ac82800df3 100644
--- a/source/_components/mikrotik.markdown
+++ b/source/_components/mikrotik.markdown
@@ -6,8 +6,6 @@ ha_category:
- Hub
- Presence Detection
ha_release: 0.44
-redirect_from:
- - /components/device_tracker.mikrotik/
---
The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](http://mikrotik.com) based router.
diff --git a/source/_components/mill.markdown b/source/_components/mill.markdown
index 750607ba7df..bf05c29224e 100644
--- a/source/_components/mill.markdown
+++ b/source/_components/mill.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.81
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.mill/
---
Integrates Mill heater into Home Assistant.
diff --git a/source/_components/min_max.markdown b/source/_components/min_max.markdown
index 6ea5c94f4bd..1bcbda348b1 100644
--- a/source/_components/min_max.markdown
+++ b/source/_components/min_max.markdown
@@ -7,13 +7,11 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.31
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.min_max/
---
-The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first.
+The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/statistics) first.
-This sensor is an alternative to the [template sensor](/components/sensor.template/)'s `value_template:` to get the average of multiple sensors.
+This sensor is an alternative to the [template sensor](/components/template)'s `value_template:` to get the average of multiple sensors.
{% raw %}
```yaml
diff --git a/source/_components/mitemp_bt.markdown b/source/_components/mitemp_bt.markdown
index 593e49531dc..88551f45fa3 100644
--- a/source/_components/mitemp_bt.markdown
+++ b/source/_components/mitemp_bt.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.69
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.mitemp_bt/
---
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.
diff --git a/source/_components/mjpeg.markdown b/source/_components/mjpeg.markdown
index 3ab163d7c30..2f9ccd4884d 100644
--- a/source/_components/mjpeg.markdown
+++ b/source/_components/mjpeg.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: pre 0.7
ha_iot_class: Configurable
-redirect_from:
- - /components/camera.mjpeg/
---
The `mjpeg` camera platform allows you to integrate IP cameras which are capable
diff --git a/source/_components/mochad.markdown b/source/_components/mochad.markdown
index 9233b8227ca..d704396e930 100644
--- a/source/_components/mochad.markdown
+++ b/source/_components/mochad.markdown
@@ -6,9 +6,6 @@ ha_category:
- Light
- Switch
ha_release: 0.32
-redirect_from:
- - /components/light.mochad/
- - /components/switch.mochad/
---
The `mochad` integration is the main integration to integrate all X10 platforms being controlled by [mochad](https://sourceforge.net/projects/mochad/). Besides this integration you will have to setup your X10 devices separately.
diff --git a/source/_components/modem_callerid.markdown b/source/_components/modem_callerid.markdown
index cd28ac6c315..c14ff30a8a5 100644
--- a/source/_components/modem_callerid.markdown
+++ b/source/_components/modem_callerid.markdown
@@ -5,8 +5,6 @@ ha_category:
- Sensor
ha_release: "0.40"
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.modem_callerid/
---
The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
diff --git a/source/_components/mold_indicator.markdown b/source/_components/mold_indicator.markdown
index 261ca47c7aa..c714613d7fa 100644
--- a/source/_components/mold_indicator.markdown
+++ b/source/_components/mold_indicator.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_release: "0.20"
ha_iot_class: Local Polling
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.mold_indicator/
---
The Mold Indicator sensor integration 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 integration 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.
diff --git a/source/_components/monoprice.markdown b/source/_components/monoprice.markdown
index 2641bf05f0f..fd8cb8ed387 100644
--- a/source/_components/monoprice.markdown
+++ b/source/_components/monoprice.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.56
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.monoprice/
---
The `monoprice` platform allows you to control [Monoprice 6-Zone Amplifier](https://www.monoprice.com/product?p_id=10761) using a serial connection.
diff --git a/source/_components/moon.markdown b/source/_components/moon.markdown
index ea0db0737fa..3d90dadeec1 100644
--- a/source/_components/moon.markdown
+++ b/source/_components/moon.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.38
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.moon/
---
The `moon` sensor platform is tracking the moon phases.
diff --git a/source/_components/mopar.markdown b/source/_components/mopar.markdown
index 2d397cd75b6..22d6a67af75 100644
--- a/source/_components/mopar.markdown
+++ b/source/_components/mopar.markdown
@@ -9,8 +9,6 @@ ha_category:
- Lock
ha_release: 0.53
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.mopar/
---
The `mopar` integration provides the following for owners of FCA vehicles with a uConnect subscription:
diff --git a/source/_components/mpchc.markdown b/source/_components/mpchc.markdown
index 9f856a686d0..f0877c57fe4 100644
--- a/source/_components/mpchc.markdown
+++ b/source/_components/mpchc.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.25
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.mpchc/
---
diff --git a/source/_components/mpd.markdown b/source/_components/mpd.markdown
index ebf80e02ffe..5863ad742a1 100644
--- a/source/_components/mpd.markdown
+++ b/source/_components/mpd.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.mpd/
---
diff --git a/source/_components/mqtt_json.markdown b/source/_components/mqtt_json.markdown
index 7d2968fd01f..651a77f443e 100644
--- a/source/_components/mqtt_json.markdown
+++ b/source/_components/mqtt_json.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_iot_class: Configurable
ha_release: 0.44
-redirect_from:
- - /components/device_tracker.mqtt_json/
---
The `mqtt_json` device tracker platform allows you to detect presence by monitoring an MQTT topic for new locations. To use this platform, you specify a unique topic for each device.
diff --git a/source/_components/mqtt_room.markdown b/source/_components/mqtt_room.markdown
index 1721581d906..55d3a044adc 100644
--- a/source/_components/mqtt_room.markdown
+++ b/source/_components/mqtt_room.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_release: 0.27
ha_iot_class: Configurable
-redirect_from:
- - /components/sensor.mqtt_room/
---
The `mqtt_room` sensor platform allows you to detect the indoor location of devices using MQTT clients.
diff --git a/source/_components/mvglive.markdown b/source/_components/mvglive.markdown
index ddf7697aad2..e457f564d1f 100644
--- a/source/_components/mvglive.markdown
+++ b/source/_components/mvglive.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_release: 0.42
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.mvglive/
---
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.
diff --git a/source/_components/mychevy.markdown b/source/_components/mychevy.markdown
index cb72b781e35..5827c3e2f48 100644
--- a/source/_components/mychevy.markdown
+++ b/source/_components/mychevy.markdown
@@ -6,9 +6,6 @@ ha_category:
- Car
ha_release: 0.62
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.mychevy/
- - /components/sensor.mychevy/
---
The `mychevy` integration communicates with the [my.chevrolet](https://my.chevrolet.com) website using the javascript API that the website uses (as of Dec 2018). The MyChevy website has been known to be both unstable (interfaces changing somewhat willy nilly) and has substantial outages. So be forwarned in using this component.
diff --git a/source/_components/mycroft.markdown b/source/_components/mycroft.markdown
index 41a8959b70c..b8de2f32a96 100644
--- a/source/_components/mycroft.markdown
+++ b/source/_components/mycroft.markdown
@@ -6,8 +6,6 @@ ha_category:
- Voice
- Notifications
ha_release: 0.53
-redirect_from:
- - /components/notify.mycroft/
---
[Mycroft](https://mycroft.ai) is an open source voice assistant that allows you to send notifications and more to Mycroft from Home Assistant.
diff --git a/source/_components/myq.markdown b/source/_components/myq.markdown
index 49d39aef031..dc14e0e77ea 100644
--- a/source/_components/myq.markdown
+++ b/source/_components/myq.markdown
@@ -6,8 +6,6 @@ ha_category:
- Cover
ha_release: 0.39
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/cover.myq/
---
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.
diff --git a/source/_components/mystrom.markdown b/source/_components/mystrom.markdown
index e6a642c0857..97471e089d6 100644
--- a/source/_components/mystrom.markdown
+++ b/source/_components/mystrom.markdown
@@ -8,10 +8,6 @@ ha_category:
- Switch
ha_release: 0.43
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.mystrom/
- - /components/binary_sensor.mystrom/
- - /components/switch.mystrom/
---
The `mystrom` light platform allows you to control your [myStrom](https://mystrom.ch/en/) WiFi Bulbs.
@@ -110,7 +106,7 @@ The endpoint that is receiving the data is `http://[IP address Home Assistant]:8
With `api_password:`
-```
+```bash
$ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?api_password%3D[api_password]%26[action]%3D[ID of the button]" \
http://[IP address of the button]/api/v1/device/[MAC address of the button]
```
@@ -204,7 +200,7 @@ curl -G -X GET http://IP_ADDRESS/relay -d 'state=1'
### Get the current power consumption
-The switch is measuring the current power consumption. To expose this as a sensor use a [`template` sensor](/components/sensor.template/).
+The switch is measuring the current power consumption. To expose this as a sensor use a [`template` sensor](/components/template).
{% raw %}
```yaml
diff --git a/source/_components/nad.markdown b/source/_components/nad.markdown
index c6ec934f0d9..9f5e806cce2 100644
--- a/source/_components/nad.markdown
+++ b/source/_components/nad.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.36
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.nad/
---
The `nad` platform allows you to control a [NAD receiver](http://nadelectronics.com) through RS232, TCP and Telnet from Home Assistant.
diff --git a/source/_components/nanoleaf.markdown b/source/_components/nanoleaf.markdown
index 6a234cc8d93..25ff154d60c 100644
--- a/source/_components/nanoleaf.markdown
+++ b/source/_components/nanoleaf.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.67
-redirect_from:
- - /components/light.nanoleaf/
---
### Configuration Sample
diff --git a/source/_components/neato.markdown b/source/_components/neato.markdown
index df88b15dcc9..6db41b26cca 100644
--- a/source/_components/neato.markdown
+++ b/source/_components/neato.markdown
@@ -7,10 +7,6 @@ ha_category:
- Switch
- Vacuum
ha_release: 0.33
-redirect_from:
- - /components/camera.neato/
- - /components/switch.neato/
- - /components/vacuum.neato/
---
The `neato` integration allows you to control your [Neato Botvac Connected Robots](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/).
diff --git a/source/_components/nederlandse_spoorwegen.markdown b/source/_components/nederlandse_spoorwegen.markdown
index 7faf2bdd120..7534e3d697a 100644
--- a/source/_components/nederlandse_spoorwegen.markdown
+++ b/source/_components/nederlandse_spoorwegen.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.57
-redirect_from:
- - /components/sensor.nederlandse_spoorwegen/
---
This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands.
diff --git a/source/_components/nello.markdown b/source/_components/nello.markdown
index 5b880585760..5c9f09e8d0f 100644
--- a/source/_components/nello.markdown
+++ b/source/_components/nello.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_release: 0.52
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/lock.nello/
---
The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms.
diff --git a/source/_components/ness_alarm.markdown b/source/_components/ness_alarm.markdown
index fc3cb90fd84..adf5cdda05e 100644
--- a/source/_components/ness_alarm.markdown
+++ b/source/_components/ness_alarm.markdown
@@ -7,9 +7,6 @@ ha_category:
- Binary Sensor
ha_release: 0.85
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.ness_alarm/
- - /components/binary_sensor.ness_alarm/
---
The `ness_alarm` integration will allow Home Assistant users who own a Ness D8x/D16x alarm system to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a IP232 module that must be connected to the alarm.
diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown
index e8186f0b3f2..f348b3dbf04 100644
--- a/source/_components/nest.markdown
+++ b/source/_components/nest.markdown
@@ -9,11 +9,6 @@ ha_category:
- Climate
- Sensor
ha_iot_class: Cloud Push
-redirect_from:
- - /components/binary_sensor.nest/
- - /components/camera.nest/
- - /components/climate.nest/
- - /components/sensor.nest/
ha_release: 0.7
---
diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown
index f5406df2294..960ba9cbe88 100644
--- a/source/_components/netatmo.markdown
+++ b/source/_components/netatmo.markdown
@@ -12,12 +12,6 @@ ha_category:
- Camera
ha_release: "0.20"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.netatmo/
- - /components/camera.netatmo/
- - /components/climate.netatmo/
- - /components/sensor.netatmo/
- - /components/public_sensor.netatmo/
---
The `netatmo` integration platform is the main integration to integrate all Netatmo related platforms.
@@ -93,7 +87,7 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo
### Webhooks
-The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add `webhooks: true` to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the [platform](/components/camera.netatmo/) or by enabeling [discovery](/components/netatmo/#discovery).
+The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add `webhooks: true` to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the [platform](/components/netatmo#camera) or by enabeling [discovery](/components/netatmo/#discovery).
To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the base_url configured for the HTTP integration ([docs](/components/http/#base_url)).
diff --git a/source/_components/netdata.markdown b/source/_components/netdata.markdown
index 85f178f2300..c05a52eba1c 100644
--- a/source/_components/netdata.markdown
+++ b/source/_components/netdata.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.35
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.netdata/
---
The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/).
diff --git a/source/_components/netgear.markdown b/source/_components/netgear.markdown
index f69f9f3f8bf..623ee538e4c 100644
--- a/source/_components/netgear.markdown
+++ b/source/_components/netgear.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: pre 0.7
-redirect_from:
- - /components/device_tracker.netgear/
---
This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device.
diff --git a/source/_components/netgear_lte.markdown b/source/_components/netgear_lte.markdown
index e264c4dfbb2..e5757fa7ced 100644
--- a/source/_components/netgear_lte.markdown
+++ b/source/_components/netgear_lte.markdown
@@ -9,9 +9,6 @@ ha_category:
- Sensor
- Binary Sensor
ha_iot_class: Local Polling
-redirect_from:
- - /components/notify.netgear_lte/
- - /components/sensor.netgear_lte/
---
The Netgear LTE integration for Home Assistant allows you to observe and control [Netgear LTE modems](https://www.netgear.com/home/products/mobile-broadband/lte-modems/default.aspx).
diff --git a/source/_components/netio.markdown b/source/_components/netio.markdown
index 6e72873cc72..710e3b00993 100644
--- a/source/_components/netio.markdown
+++ b/source/_components/netio.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.24
-redirect_from:
- - /components/switch.netio/
---
The `netio` switch platform allows you to control your [Netio](http://www.netio-products.com/en/overview/) Netio4, Netio4 All, and Netio 230B. These are smart outlets controllable through Ethernet and/or WiFi that reports consumptions (Netio4all).
diff --git a/source/_components/neurio_energy.markdown b/source/_components/neurio_energy.markdown
index 1c7c4c5b03c..cc3d721fbce 100644
--- a/source/_components/neurio_energy.markdown
+++ b/source/_components/neurio_energy.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_iot_class: Cloud Polling
ha_release: 0.14
-redirect_from:
- - /components/sensor.neurio_energy/
---
Integrate your [Neurio](http://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional.
diff --git a/source/_components/nfandroidtv.markdown b/source/_components/nfandroidtv.markdown
index 27ef3bad95e..fb9f86afae6 100644
--- a/source/_components/nfandroidtv.markdown
+++ b/source/_components/nfandroidtv.markdown
@@ -5,8 +5,6 @@ logo: nfandroidtv.png
ha_category:
- Notifications
ha_release: 0.32
-redirect_from:
- - /components/notify.nfandroidtv/
---
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g., security cam) is supported too.
diff --git a/source/_components/niko_home_control.markdown b/source/_components/niko_home_control.markdown
index c7244bf4b3f..ae7da8e3856 100644
--- a/source/_components/niko_home_control.markdown
+++ b/source/_components/niko_home_control.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.82
-redirect_from:
- - /components/light.niko_home_control/
---
The `niko_home_control` platform allows you to integrate your [Niko Home Control](https://www.niko.eu/enus/products/niko-home-control) into Home Assistant.
diff --git a/source/_components/nilu.markdown b/source/_components/nilu.markdown
index c4e0d76d894..0cac8b53b6b 100644
--- a/source/_components/nilu.markdown
+++ b/source/_components/nilu.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_iot_class: Cloud Polling
ha_release: 0.87
-redirect_from:
- - /components/air_quality.nilu/
---
The `nilu` air quality platform shows measurements of current air quality from NILU (Norsk Institutt for luftforskning/Norwegian Institute for Air Research) sensor stations within Norway. Makes data from the open API at [luftkvalitet.info](http://luftkvalitet.info/) and [nilu.no](https://nilu.no/) available in Home Assistant.
diff --git a/source/_components/nissan_leaf.markdown b/source/_components/nissan_leaf.markdown
index 7a66e7273f0..9d2179684b7 100644
--- a/source/_components/nissan_leaf.markdown
+++ b/source/_components/nissan_leaf.markdown
@@ -6,10 +6,6 @@ ha_category:
- Car
ha_release: 0.89
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.nissan_leaf/
- - /components/sensor.nissan_leaf/
- - /components/switch.nissan_leaf/
---
The `nissan_leaf` integration offers integration with the [NissanConnect EV](http://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
diff --git a/source/_components/nmap_tracker.markdown b/source/_components/nmap_tracker.markdown
index 6edf80d8b0d..39a2383df2e 100644
--- a/source/_components/nmap_tracker.markdown
+++ b/source/_components/nmap_tracker.markdown
@@ -5,8 +5,6 @@ logo: nmap.png
ha_category:
- Presence Detection
ha_release: 0.7
-redirect_from:
- - /components/device_tracker.nmap_tracker/
---
diff --git a/source/_components/nmbs.markdown b/source/_components/nmbs.markdown
index 0643941c70e..3063e02623c 100644
--- a/source/_components/nmbs.markdown
+++ b/source/_components/nmbs.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.85
-redirect_from:
- - /components/sensor.nmbs/
---
The `nmbs` platform will create sensors for monitoring travel time and information between 2 stations.
diff --git a/source/_components/noaa_tides.markdown b/source/_components/noaa_tides.markdown
index 380b57748d1..c9b84792a0c 100644
--- a/source/_components/noaa_tides.markdown
+++ b/source/_components/noaa_tides.markdown
@@ -5,8 +5,6 @@ ha_category:
- Environment
ha_release: 0.75
logo: noaa.png
-redirect_from:
- - /components/sensor.noaa_tides/
---
The `noaa_tides` sensor platform uses details from [NOAA Tides and Currents](https://tidesandcurrents.noaa.gov/api/) to provide information about the prediction for the tides for any location in the United States.
diff --git a/source/_components/nsw_fuel_station.markdown b/source/_components/nsw_fuel_station.markdown
index 6897055e47c..86566884e60 100644
--- a/source/_components/nsw_fuel_station.markdown
+++ b/source/_components/nsw_fuel_station.markdown
@@ -6,8 +6,6 @@ ha_category:
- Car
ha_release: 0.72
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.nsw_fuel_station/
---
The `nsw_fuel_station` sensor platform uses the [NSW Fuel Check App](https://www.fuelcheck.nsw.gov.au/app) data as a source for current fuel price data.
diff --git a/source/_components/nsw_rural_fire_service_feed.markdown b/source/_components/nsw_rural_fire_service_feed.markdown
index 54515404b29..bed72250c05 100644
--- a/source/_components/nsw_rural_fire_service_feed.markdown
+++ b/source/_components/nsw_rural_fire_service_feed.markdown
@@ -6,8 +6,6 @@ ha_category:
- Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.81
-redirect_from:
- - /components/geo_location.nsw_rural_fire_service_feed/
---
The `nsw_rural_fire_service_feed` platform lets you integrate a GeoJSON feed provided by the [NSW Rural Fire Service](https://www.rfs.nsw.gov.au/fire-information/fires-near-me) with information about bush fires, grass fires, hazard reductions and more. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
diff --git a/source/_components/nuheat.markdown b/source/_components/nuheat.markdown
index b49d3cbb7c4..1202d6ba904 100644
--- a/source/_components/nuheat.markdown
+++ b/source/_components/nuheat.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.61
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.nuheat/
---
The `nuheat` integration lets control your connected [NuHeat Signature](http://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](http://www.nuheat.com/).
diff --git a/source/_components/nuki.markdown b/source/_components/nuki.markdown
index b0bbda7dc71..098c6a76d41 100644
--- a/source/_components/nuki.markdown
+++ b/source/_components/nuki.markdown
@@ -6,8 +6,6 @@ ha_category:
- Lock
ha_release: 0.38
ha_iot_class: Local Polling
-redirect_from:
- - /components/lock.nuki/
---
The `nuki` platform allows you to control [Nuki Smart Locks](https://nuki.io/en/smart-lock/) via either a [software bridge](https://play.google.com/store/apps/details?id=io.nuki.bridge) or a [physical bridge](https://nuki.io/en/bridge/).
diff --git a/source/_components/nut.markdown b/source/_components/nut.markdown
index 1b370f9309d..90ca6989cf7 100644
--- a/source/_components/nut.markdown
+++ b/source/_components/nut.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.34
-redirect_from:
- - /components/sensor.nut/
---
The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](http://networkupstools.org/) (Network UPS Tools) server.
diff --git a/source/_components/nx584.markdown b/source/_components/nx584.markdown
index cca64ed6062..19ad189813e 100644
--- a/source/_components/nx584.markdown
+++ b/source/_components/nx584.markdown
@@ -7,9 +7,6 @@ ha_category:
- Binary Sensor
ha_release: 0.13
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.nx584/
- - /components/binary_sensor.nx584/
---
The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work.
diff --git a/source/_components/nzbget.markdown b/source/_components/nzbget.markdown
index 91bffb6aedb..e862f4a1aa9 100644
--- a/source/_components/nzbget.markdown
+++ b/source/_components/nzbget.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: nzbget.png
ha_iot_class: Local Polling
ha_release: 0.17
-redirect_from:
- - /components/sensor.nzbget/
---
The `nzbget` platform will allow you to monitor your downloads with [NZBGet](http://NZBGet.net) from within Home Assistant and setup automation based on the information.
diff --git a/source/_components/obihai.markdown b/source/_components/obihai.markdown
index 7d9771f1eaa..7943f353913 100644
--- a/source/_components/obihai.markdown
+++ b/source/_components/obihai.markdown
@@ -1,48 +1,49 @@
----
-title: "Obihai"
-description: "Instructions on how to integrate your Obihai device into Home Assistant."
-logo: obitalk.png
-ha_iot_class: Local Polling
-ha_category:
- - Sensor
-ha_release: 0.99
----
-
-The `obihai` integration allows you to view the call status for your [Obihai devices](https://www.obitalk.com/info/products#home_section).
-
-To enable `obihai` in your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-sensor:
- - platform: obihai
- host: 192.168.1.x
-```
-
-{% configuration %}
-host:
- description: IP Address of Obihai device
- required: true
- type: string
-username:
- description: Username for the Obihai device.
- required: false
- type: string
- default: admin
-password:
- description: Password for the Obihai device.
- required: false
- type: string
- default: admin
-{% endconfiguration %}
-
-
-The following is a list of expected sensors and their expected states:
-
-- Obihai service status (`Normal`, `Down` or other states from Obihais network)
-- Sensors for each phone port in use (`On Hook`, `Off Hook` and `Ringing`)
-- Sensors for last caller name and number (this is also the current incoming call, will also show `--` if no data provided)
-- Sensor if the device requires a reboot (`True` or `False`)
-- Sensor for each configured service (`0` for no calls, `1` for a call and `2` for call waiting/3way calling)
-- Sensor for the last reboot date
-
+---
+title: "Obihai"
+description: "Instructions on how to integrate your Obihai device into Home Assistant."
+logo: obitalk.png
+ha_iot_class: Local Polling
+ha_category:
+ - Sensor
+ha_release: 0.99
+---
+
+The `obihai` integration allows you to view the call status for your [Obihai devices](https://www.obitalk.com/info/products#home_section).
+
+To enable `obihai` in your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: obihai
+ host: 192.168.1.x
+```
+
+{% configuration %}
+host:
+ description: IP Address of Obihai device
+ required: true
+ type: string
+username:
+ description: Username for the Obihai device.
+ required: false
+ type: string
+ default: admin
+password:
+ description: Password for the Obihai device.
+ required: false
+ type: string
+ default: admin
+{% endconfiguration %}
+
+The following is a list of expected sensors and their expected states when using the `user` account:
+
+- Sensor if the device requires a reboot (`True` or `False`)
+- Sensor for each configured service (`0` for no calls, `1` for a call and `2` for call waiting/3way calling)
+- Sensor for the last reboot date
+
+In addition to the above list the `admin` account can expect to see the following sensors:
+
+- Obihai service status (`Normal`, `Down` or other states from Obihais network)
+- Sensors for each phone port in use (`On Hook`, `Off Hook` and `Ringing`)
+- Sensors for last caller name and number (this is also the current incoming call, will also show `--` if no data provided)
diff --git a/source/_components/octoprint.markdown b/source/_components/octoprint.markdown
index 19d9cf5f2d0..39083071523 100644
--- a/source/_components/octoprint.markdown
+++ b/source/_components/octoprint.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: 0.19
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.octoprint/
- - /components/sensor.octoprint/
---
[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors.
diff --git a/source/_components/oem.markdown b/source/_components/oem.markdown
index b49c0e1fcd4..68d40d46253 100644
--- a/source/_components/oem.markdown
+++ b/source/_components/oem.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.39
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.oem/
---
This platform supports the ESP8266 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](http://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/).
diff --git a/source/_components/ohmconnect.markdown b/source/_components/ohmconnect.markdown
index 85c9f98d7a2..e01018a682b 100644
--- a/source/_components/ohmconnect.markdown
+++ b/source/_components/ohmconnect.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_iot_class: Cloud Polling
ha_release: 0.26
-redirect_from:
- - /components/sensor.ohmconnect/
---
The `ohmconnect` sensor will show you the current [OhmConnect](https://www.ohmconnect.com/) status for the given OhmConnect ID.
diff --git a/source/_components/onewire.markdown b/source/_components/onewire.markdown
index 7bc9d35aabd..6eb22f9b6f0 100644
--- a/source/_components/onewire.markdown
+++ b/source/_components/onewire.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.12
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.onewire/
---
The `onewire` platform supports sensors which are using the One wire (1-wire) bus for communication.
diff --git a/source/_components/onkyo.markdown b/source/_components/onkyo.markdown
index adcb5109ad7..e9cfd7f758a 100644
--- a/source/_components/onkyo.markdown
+++ b/source/_components/onkyo.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.17
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.onkyo/
---
The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/), [Integra](http://www.integrahometheater.com/)
diff --git a/source/_components/onvif.markdown b/source/_components/onvif.markdown
index 9bba6088bdf..5633670c6a2 100644
--- a/source/_components/onvif.markdown
+++ b/source/_components/onvif.markdown
@@ -5,8 +5,6 @@ logo: onvif.png
ha_category:
- Camera
ha_release: 0.47
-redirect_from:
- - /components/camera.onvif/
---
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
diff --git a/source/_components/openalpr_cloud.markdown b/source/_components/openalpr_cloud.markdown
index 9029e61b93a..c56f2bede98 100644
--- a/source/_components/openalpr_cloud.markdown
+++ b/source/_components/openalpr_cloud.markdown
@@ -5,8 +5,6 @@ logo: openalpr.png
ha_category:
- Image Processing
ha_release: 0.36
-redirect_from:
- - /components/image_processing.openalpr_cloud/
---
[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you
diff --git a/source/_components/openalpr_local.markdown b/source/_components/openalpr_local.markdown
index 8321eac791e..fb5512062f8 100644
--- a/source/_components/openalpr_local.markdown
+++ b/source/_components/openalpr_local.markdown
@@ -5,9 +5,6 @@ logo: openalpr.png
ha_category:
- Image Processing
ha_release: 0.36
-redirect_from:
- - /components/openalpr/
- - /components/image_processing.openalpr_local/
---
[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you
diff --git a/source/_components/opencv.markdown b/source/_components/opencv.markdown
index 460def7eb71..d1bdd1deee6 100644
--- a/source/_components/opencv.markdown
+++ b/source/_components/opencv.markdown
@@ -5,8 +5,6 @@ logo: opencv.png
ha_category:
- Image Processing
ha_release: 0.47
-redirect_from:
- - /components/image_processing.opencv/
---
[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library.
diff --git a/source/_components/openevse.markdown b/source/_components/openevse.markdown
index 6b63ca3a203..f84a21c0de1 100644
--- a/source/_components/openevse.markdown
+++ b/source/_components/openevse.markdown
@@ -6,8 +6,6 @@ ha_category:
- Car
ha_release: 0.38
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.openevse/
---
This `openevse` sensor platform pulls data from an [OpenEVSE](https://www.openevse.com/) Charging station equipped with an ESP8266-based wifi connection.
diff --git a/source/_components/openexchangerates.markdown b/source/_components/openexchangerates.markdown
index 9d069eea6d8..db5b2dd0ab4 100644
--- a/source/_components/openexchangerates.markdown
+++ b/source/_components/openexchangerates.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: openexchangerates.png
ha_iot_class: Cloud Polling
ha_release: 0.23
-redirect_from:
- - /components/sensor.openexchangerates/
---
The `openexchangerates` sensor will show you the current exchange rate from [Open Exchange Rates](https://openexchangerates.org) that provides realtime exchange rates for [170 currencies](https://openexchangerates.org/currencies). The free account is limited to only USD as a base currency, allows 1000 requests per month, and updates every hour.
diff --git a/source/_components/opengarage.markdown b/source/_components/opengarage.markdown
index 19b522aa4a0..63e2cd3791f 100644
--- a/source/_components/opengarage.markdown
+++ b/source/_components/opengarage.markdown
@@ -5,8 +5,6 @@ logo: opengarage.png
ha_category:
- DIY
ha_release: 0.44
-redirect_from:
- - /components/cover.opengarage/
---
The `opengarage` cover platform lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant.
diff --git a/source/_components/openhardwaremonitor.markdown b/source/_components/openhardwaremonitor.markdown
index 8964e53f1a4..e4db4105182 100644
--- a/source/_components/openhardwaremonitor.markdown
+++ b/source/_components/openhardwaremonitor.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.48
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.openhardwaremonitor/
---
The `openhardwaremonitor` platform uses your [Open Hardware Monitor](http://openhardwaremonitor.org/) installation as a source for sensors that will display system information.
diff --git a/source/_components/openhome.markdown b/source/_components/openhome.markdown
index 0c47aceb67c..88c0c0ad698 100644
--- a/source/_components/openhome.markdown
+++ b/source/_components/openhome.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.39
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.openhome/
---
diff --git a/source/_components/opensensemap.markdown b/source/_components/opensensemap.markdown
index 49dc1f723f1..e145cde47e8 100644
--- a/source/_components/opensensemap.markdown
+++ b/source/_components/opensensemap.markdown
@@ -6,9 +6,6 @@ ha_category:
- Health
ha_release: 0.85
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/air_pollutants.opensensemap/
- - /components/air_quality.opensensemap/
---
The `opensensemap` air quality platform will query the open data API of [openSenseMap.org](https://opensensemap.org/) to monitor air quality sensor station.
diff --git a/source/_components/opensky.markdown b/source/_components/opensky.markdown
index 7bcfe5f785b..1c08acf1d3f 100644
--- a/source/_components/opensky.markdown
+++ b/source/_components/opensky.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_release: 0.43
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.opensky/
---
The `opensky` sensor allows one to track overhead flights in a given region. It uses crowd-sourced data from the [OpenSky Network](https://opensky-network.org/) public API. It will also fire Home Assistant events when flights enter and exit the defined region.
diff --git a/source/_components/opentherm_gw.markdown b/source/_components/opentherm_gw.markdown
index 39fb93c00ea..e4ba6feb5f3 100644
--- a/source/_components/opentherm_gw.markdown
+++ b/source/_components/opentherm_gw.markdown
@@ -9,10 +9,6 @@ ha_category:
- Sensor
ha_release: 0.81
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.opentherm_gw/
- - /components/climate.opentherm_gw/
- - /components/sensor.opentherm_gw/
---
The `opentherm_gw` integration is used to control the [OpenTherm Gateway](http://otgw.tclcode.com/) from Home Assistant.
diff --git a/source/_components/openuv.markdown b/source/_components/openuv.markdown
index 966bbc98a4d..5dce0848bb7 100644
--- a/source/_components/openuv.markdown
+++ b/source/_components/openuv.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_release: 0.76
ha_iot_class: Cloud Polling
ha_config_flow: true
-redirect_from:
- - /components/binary_sensor.openuv/
- - /components/sensor.openuv/
---
The `openuv` integration displays UV and Ozone data from [openuv.io](http://openuv.io).
diff --git a/source/_components/openweathermap.markdown b/source/_components/openweathermap.markdown
index 181b96a2c4d..9b19b39c2e2 100644
--- a/source/_components/openweathermap.markdown
+++ b/source/_components/openweathermap.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.32
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.openweathermap/
- - /components/sensor.openweathermap/
---
The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location.
@@ -61,7 +58,7 @@ longitude:
-This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor.
+This platform is an alternative to the [`openweathermap`](/components/openweathermap#sensor) sensor.
diff --git a/source/_components/openwrt.markdown b/source/_components/openwrt.markdown
index cb7890ae88d..80f1f9c02e3 100644
--- a/source/_components/openwrt.markdown
+++ b/source/_components/openwrt.markdown
@@ -5,8 +5,6 @@ logo: openwrt.png
ha_category:
- Presence Detection
ha_release: pre 0.7
-redirect_from:
- - /components/device_tracker.openwrt/
---
There are _multiple_ ways of integrating an OpenWRT router for presence detection. A broad distinction can be made between presence detection methods which actively scan for devices (by default every 12 seconds) and those that are notified by some external service on changes. It is essentially a problem of synchronizing states between two remote machines.
@@ -19,8 +17,8 @@ There are _multiple_ ways of integrating an OpenWRT router for presence detectio
* average six-second delay between connecting and being registered as `home`
* lots of unnecessary network requests
* Examples:
- * [ubus](/components/device_tracker.ubus/)
- * [luci](/components/device_tracker.luci/)
+ * [ubus](/components/ubus)
+ * [luci](/components/luci)
* __passive/event-based__
External services which notify Home Assistant of devices via the [REST API endpoint](https://developers.home-assistant.io/docs/en/external_api_rest.html).
* Advantages:
diff --git a/source/_components/opple.markdown b/source/_components/opple.markdown
index b74d6ca3c06..0007a50341a 100644
--- a/source/_components/opple.markdown
+++ b/source/_components/opple.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_release: "0.80"
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.opple/
---
diff --git a/source/_components/orangepi_gpio.markdown b/source/_components/orangepi_gpio.markdown
index 0bc5b813028..582f43ab44e 100644
--- a/source/_components/orangepi_gpio.markdown
+++ b/source/_components/orangepi_gpio.markdown
@@ -72,7 +72,7 @@ Normally the `/sys/class/gpio` path is owned by root, so Home Assistant does not
Create a new file in `/etc/udev/rules.d/` named `10-gpio.rules` with the following contents:
-```
+```txt
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'find -L /sys/class/gpio/ -maxdepth 2 -exec chown root:gpio {} \; -exec chmod 770 {} \; || true'"
```
diff --git a/source/_components/orvibo.markdown b/source/_components/orvibo.markdown
index af9fba4223b..75a61ff4c6e 100644
--- a/source/_components/orvibo.markdown
+++ b/source/_components/orvibo.markdown
@@ -5,8 +5,6 @@ logo: orvibo.png
ha_category:
- Switch
ha_release: 0.8
-redirect_from:
- - /components/switch.orvibo/
---
diff --git a/source/_components/osramlightify.markdown b/source/_components/osramlightify.markdown
index 5d24ccff1f5..3e1d44b11e9 100644
--- a/source/_components/osramlightify.markdown
+++ b/source/_components/osramlightify.markdown
@@ -5,8 +5,6 @@ logo: osramlightify.png
ha_category:
- Light
ha_release: 0.21
-redirect_from:
- - /components/light.osramlightify/
---
The `osramlightify` platform allows you to integrate your [Osram Lightify](https://www.osram.com/cb/lightify/index.jsp) into Home Assistant.
diff --git a/source/_components/otp.markdown b/source/_components/otp.markdown
index 54ad27c423a..25abd8a7aca 100644
--- a/source/_components/otp.markdown
+++ b/source/_components/otp.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.49
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.otp/
---
The `otp` sensor generates One-Time Passwords according to [RFC6238](https://tools.ietf.org/html/rfc6238) that is compatible with most OTP generators available, including Google Authenticator. You can use this when building custom security solutions and want to use "rolling codes", that change every 30 seconds.
diff --git a/source/_components/owntracks.markdown b/source/_components/owntracks.markdown
index 2f8add4cfac..5486ce114b4 100644
--- a/source/_components/owntracks.markdown
+++ b/source/_components/owntracks.markdown
@@ -5,9 +5,6 @@ logo: owntracks.png
ha_category:
- Presence Detection
ha_release: 0.7.4
-redirect_from:
- - /components/device_tracker.owntracks/
- - /components/device_tracker.owntracks_http/
---
[OwnTracks](https://owntracks.org/) is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen.
@@ -69,7 +66,7 @@ waypoints:
default: true
type: boolean
waypoint_whitelist:
- description: "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)"
+ description: "A list of user names (as defined for [Owntracks](/components/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)"
required: false
default: All users who are connected to Home Assistant via Owntracks.
type: list
diff --git a/source/_components/panasonic_bluray.markdown b/source/_components/panasonic_bluray.markdown
index d813c8f0186..7fc6af0fbed 100644
--- a/source/_components/panasonic_bluray.markdown
+++ b/source/_components/panasonic_bluray.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.83
-redirect_from:
- - /components/media_player.panasonic_bluray/
---
The `panasonic_bluray` platform allows you to control a Panasonic Blu-Ray player. Note that the device must be on the same subnet as Home Assistant; connections from a different subnet will return an error.
diff --git a/source/_components/panasonic_viera.markdown b/source/_components/panasonic_viera.markdown
index 270159f227d..c6366f4487d 100644
--- a/source/_components/panasonic_viera.markdown
+++ b/source/_components/panasonic_viera.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.17
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.panasonic_viera/
---
The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
diff --git a/source/_components/pandora.markdown b/source/_components/pandora.markdown
index 7e363e1b12f..f84e4ecd0d6 100644
--- a/source/_components/pandora.markdown
+++ b/source/_components/pandora.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.22
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.pandora/
---
If you have a Pandora account, you can control it from Home Assistant with this media player.
@@ -20,22 +18,22 @@ This media player uses the [Pianobar command-line Pandora client](https://github
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:
```bash
-$ sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson-c-dev make pkg-config libcurl4-openssl-dev
+sudo apt-get install git libao-dev libgcrypt11-dev libfaad-dev libmad0-dev libjson-c-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):
```bash
-$ sudo apt-get -t jessie-backports install libav-tools libavcodec-extra libavcodec-dev libavfilter-dev libavformat-dev
+sudo apt-get -t jessie-backports install libav-tools libavcodec-extra libavcodec-dev libavfilter-dev libavformat-dev
```
Now clone the Pianobar repo and build pianobar:
```bash
-$ git clone https://github.com/PromyLOPh/pianobar.git
-$ cd pianobar
-$ make clean && make
-$ sudo make install
+git clone https://github.com/PromyLOPh/pianobar.git
+cd pianobar
+make clean && make
+sudo make install
```
Configure Pianobar to auto-login and start playing a station (optional, see `man pianobar`) by creating and editing the `~/.config/pianobar/config` file:
diff --git a/source/_components/pencom.markdown b/source/_components/pencom.markdown
index dfdf13e0b8e..b44b15bac1a 100644
--- a/source/_components/pencom.markdown
+++ b/source/_components/pencom.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.85
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.pencom/
---
[Pencom Design](https://www.pencomdesign.com/) is a manufacturer of computer-controlled relay, I/O and custom boards for commercial and industrial applications. This interface to [Pencom's Relay Control Boards](https://www.pencomdesign.com/relay-boards) is designed to work over an ethernet to serial adapter (NPort). Each switch (relay) can be turned on/off, and the state of the relay can be read.
diff --git a/source/_components/philips_js.markdown b/source/_components/philips_js.markdown
index 8cdc3bf1ef8..a45de307f8f 100644
--- a/source/_components/philips_js.markdown
+++ b/source/_components/philips_js.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.34
-redirect_from:
- - /components/media_player.philips_js/
---
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html).
diff --git a/source/_components/pi_hole.markdown b/source/_components/pi_hole.markdown
index 753e2c24184..fd380e9277c 100644
--- a/source/_components/pi_hole.markdown
+++ b/source/_components/pi_hole.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Polling
logo: pi_hole.png
ha_release: 0.28
-redirect_from:
- - /components/sensor.pi_hole/
---
The `pi_hole` integration allows you to retrieve and display statistics from a single [Pi-hole](https://pi-hole.net/) system.
@@ -24,10 +22,10 @@ pi_hole:
{% configuration %}
host:
description: >
- The hostname (and port), e.g. '192.168.0.3:4685' of the host where Pi-hole is running.
+ The hostname (and port), e.g. '192.168.0.3:4865' of the host where Pi-hole is running.
- **Note:** If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4685`.
+ **Note:** If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4865`.
required: false
type: string
default: pi.hole
@@ -59,7 +57,7 @@ api_key:
```yaml
# Example configuration.yaml entry
pi_hole:
- host: 'localhost:4685'
+ host: 'localhost:4865'
ssl: false
verify_ssl: false
```
diff --git a/source/_components/picotts.markdown b/source/_components/picotts.markdown
index 1eb6b3ce654..e02ee9964ae 100644
--- a/source/_components/picotts.markdown
+++ b/source/_components/picotts.markdown
@@ -5,8 +5,6 @@ logo: home-assistant.png
ha_category:
- Text-to-speech
ha_release: 0.36
-redirect_from:
- - /components/tts.picotts/
---
The `picotts` text-to-speech platform uses offline pico Text-to-Speech engine to read a text with natural sounding voices.
diff --git a/source/_components/piglow.markdown b/source/_components/piglow.markdown
index 8b2fcd8724d..675d1f41633 100644
--- a/source/_components/piglow.markdown
+++ b/source/_components/piglow.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.37
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.piglow/
---
diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown
index 10ad3fdcd4e..a21cb9fc815 100644
--- a/source/_components/pilight.markdown
+++ b/source/_components/pilight.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.26
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.pilight/
- - /components/sensor.pilight/
- - /components/switch.pilight/
---
[Pilight](https://www.pilight.org/) is a modular and open source solution to communicate with 433 MHz devices and runs on various small form factor computers. A lot of common [protocols](https://manual.pilight.org/protocols/index.html) are already available.
diff --git a/source/_components/ping.markdown b/source/_components/ping.markdown
index 8cfeb92a338..3b28b68170e 100644
--- a/source/_components/ping.markdown
+++ b/source/_components/ping.markdown
@@ -8,9 +8,6 @@ ha_category:
- Presence Detection
ha_release: 0.43
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.ping/
- - /components/device_tracker.ping/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/pioneer.markdown b/source/_components/pioneer.markdown
index 53143264192..b9318626191 100644
--- a/source/_components/pioneer.markdown
+++ b/source/_components/pioneer.markdown
@@ -6,11 +6,9 @@ ha_category:
- Media Player
ha_release: 0.19
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.pioneer/
---
-The `pioneer` platform allows you to control Pioneer Network Receivers. Please note, however, that the more recent Pioneer models work with [Onkyo](/components/media_player.onkyo/) platform instead.
+The `pioneer` platform allows you to control Pioneer Network Receivers. Please note, however, that the more recent Pioneer models work with [Onkyo](/components/onkyo) platform instead.
To add a Pioneer receiver to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_components/pjlink.markdown b/source/_components/pjlink.markdown
index dd09608325d..b9332371ea8 100644
--- a/source/_components/pjlink.markdown
+++ b/source/_components/pjlink.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.76
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.pjlink/
---
The `pjlink` platform allows you to control from Home Assistant, projectors with support for the [PJLink protocol](http://pjlink.jbmia.or.jp/english/index.html).
diff --git a/source/_components/plant.markdown b/source/_components/plant.markdown
index c84198204ed..1031256098a 100644
--- a/source/_components/plant.markdown
+++ b/source/_components/plant.markdown
@@ -109,13 +109,13 @@ entity_id:
## Examples
### Using plain MQTT sensor to get the data
This is a practical example that uses a multiple of `MQTT sensors` to supply the readings used by the `plant` sensor.
-Another good source of this data would be the [Mi Flora](/components/sensor.miflora/) component.
+Another good source of this data would be the [Mi Flora](/components/miflora) component.
If the sensor data is within the min/max values the status will be `ok`, if not the status will be `problem`. You can use this to trigger a notification, if there is a problem with your plant. Of course you can only monitor attributes of your plant, where the sensor is configured and is providing the data.
## 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/miflora) or a [MQTT sensor](/components/sensor.mqtt/) 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/plex.markdown b/source/_components/plex.markdown
index a5da8407f01..70741e81acb 100644
--- a/source/_components/plex.markdown
+++ b/source/_components/plex.markdown
@@ -9,9 +9,6 @@ featured: true
ha_release: 0.7.4
ha_iot_class: Local Polling
ha_config_flow: true
-redirect_from:
- - /components/media_player.plex/
- - /components/sensor.plex/
---
@@ -118,40 +115,40 @@ Plays a song, playlist, TV episode, or video on a connected client.
#### Music
-| Service data attribute | Optional | Description | Example |
-| ---------------------- | -------- | ----------- | ----------- |
-| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
-| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } |
-| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC |
+| Service data attribute | Optional | Description | Example |
+| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
+| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } |
+| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC |
#### Playlist
-| Service data attribute | Optional | Description | Example |
-| ---------------------- | -------- | ----------- | ----------- |
-| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
-| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } |
-| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST |
+| Service data attribute | Optional | Description | Example |
+| ---------------------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------------------ |
+| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
+| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } |
+| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST |
#### TV Episode
-| Service data attribute | Optional | Description | Example |
-| ---------------------- | -------- | ----------- | ----------- |
-| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
-| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `season_number`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"season_number\\" : 2, \\"episode_number\\" : 5, \\"shuffle\\": \\"0\\" } |
-| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE |
+| Service data attribute | Optional | Description | Example |
+| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
+| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `season_number`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"season_number\\" : 2, \\"episode_number\\" : 5, \\"shuffle\\": \\"0\\" } |
+| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE |
#### Video
-| Service data attribute | Optional | Description | Example |
-| ---------------------- | -------- | ----------- | ----------- |
-| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
-| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } |
-| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO |
+| Service data attribute | Optional | Description | Example |
+| ---------------------- | -------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
+| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } |
+| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO |
### Compatibility
| Client | Limitations |
-|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Any (when all controls disabled) | A stop button will appear but is not functional. |
| Any (when casting) | Controlling playback will work but with error logging. |
| Any (remote client) | Controls disabled. |
@@ -166,7 +163,7 @@ Plays a song, playlist, TV episode, or video on a connected client.
* The `plex` integration supports multiple Plex servers. Additional connections can be configured under Configuration > Integrations.
* When setting up a server via `configuration.yaml`, it is possible to get errors that look like the following.
- ```
+ ```txt
ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",))
INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400
```
diff --git a/source/_components/plum_lightpad.markdown b/source/_components/plum_lightpad.markdown
index 972e8ec58d9..56cdeb279da 100644
--- a/source/_components/plum_lightpad.markdown
+++ b/source/_components/plum_lightpad.markdown
@@ -6,10 +6,6 @@ ha_category:
ha_iot_class: Local Push
logo: plum.png
ha_release: 0.85
-redirect_from:
- - /components/binary_sensor.plum_lightpad/
- - /components/light.plum_lightpad/
- - /components/sensor.plum_lightpad/
---
Configurable/Dimmable WiFi Lightswitch
diff --git a/source/_components/pocketcasts.markdown b/source/_components/pocketcasts.markdown
index 7b06660dab5..988a886fa0e 100644
--- a/source/_components/pocketcasts.markdown
+++ b/source/_components/pocketcasts.markdown
@@ -6,8 +6,6 @@ ha_category:
- Multimedia
ha_release: 0.39
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.pocketcasts/
---
The `pocketcasts` sensor platform lets one monitor the podcasts at [Pocket Casts](https://play.pocketcasts.com/).
diff --git a/source/_components/point.markdown b/source/_components/point.markdown
index 226a81fbd84..2c9952dc65e 100644
--- a/source/_components/point.markdown
+++ b/source/_components/point.markdown
@@ -11,9 +11,6 @@ ha_release: 0.83
ha_config_flow: true
ha_iot_class: Cloud Polling
ha_qa_scale: gold
-redirect_from:
- - /components/binary_sensor.point/
- - /components/sensor.point/
---
The Point hub enables integration with the [Minut Point](https://minut.com/). To connect with Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` with the `callback url` configured as your Home Assistant `base_url` + `/api/minut`, e.g. `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
diff --git a/source/_components/polling.markdown b/source/_components/polling.markdown
index e1137c24589..d9e82ce5109 100644
--- a/source/_components/polling.markdown
+++ b/source/_components/polling.markdown
@@ -5,8 +5,6 @@ logo: telegram.png
ha_category:
- Notifications
ha_release: 0.42
-redirect_from:
- - /components/telegram_bot.polling/
---
Telegram chatbot polling implementation.
@@ -51,4 +49,4 @@ proxy_params:
type: string
{% endconfiguration %}
-To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram/).
+To get your `chat_id` and `api_key` follow the instructions [here](/components/telegram).
diff --git a/source/_components/postnl.markdown b/source/_components/postnl.markdown
index aec1103cf0f..16082f46375 100644
--- a/source/_components/postnl.markdown
+++ b/source/_components/postnl.markdown
@@ -6,8 +6,6 @@ ha_category:
- Postal Service
ha_release: 0.69
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.postnl/
---
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.
diff --git a/source/_components/prezzibenzina.markdown b/source/_components/prezzibenzina.markdown
index 8a5eb6a5c03..44527d1fd04 100644
--- a/source/_components/prezzibenzina.markdown
+++ b/source/_components/prezzibenzina.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.85
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.prezzibenzina/
---
The `prezzibenzina` platform allows you to monitor the fuel prices with [PrezziBenzina.it](https://www.prezzibenzina.it/) from within Home Assistant and setup automations based on the information.
diff --git a/source/_components/proliphix.markdown b/source/_components/proliphix.markdown
index 5436b632906..999d30647d9 100644
--- a/source/_components/proliphix.markdown
+++ b/source/_components/proliphix.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.11
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.proliphix/
---
diff --git a/source/_components/prowl.markdown b/source/_components/prowl.markdown
index f8b920dd7a2..6f22cfb02bb 100644
--- a/source/_components/prowl.markdown
+++ b/source/_components/prowl.markdown
@@ -5,8 +5,6 @@ logo: prowl.png
ha_category:
- Notifications
ha_release: 0.52
-redirect_from:
- - /components/notify.prowl/
---
The `prowl` platform uses [Prowl](https://www.prowlapp.com/) to deliver push notifications from Home Assistant to your iOS device.
diff --git a/source/_components/proxy.markdown b/source/_components/proxy.markdown
index 3ff68429c58..52e2da8b2a9 100644
--- a/source/_components/proxy.markdown
+++ b/source/_components/proxy.markdown
@@ -4,8 +4,6 @@ description: "Instructions on how to integrate a camera proxy within Home Assist
ha_category:
- Camera
ha_release: 0.65
-redirect_from:
- - /components/camera.proxy/
---
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.
diff --git a/source/_components/pulseaudio_loopback.markdown b/source/_components/pulseaudio_loopback.markdown
index e7b132712fe..d9c60825bde 100644
--- a/source/_components/pulseaudio_loopback.markdown
+++ b/source/_components/pulseaudio_loopback.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.16
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.pulseaudio_loopback/
---
The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/).
diff --git a/source/_components/push.markdown b/source/_components/push.markdown
index 1ab2e3e121f..141d4029c82 100644
--- a/source/_components/push.markdown
+++ b/source/_components/push.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_iot_class: Local Push
ha_release: 0.74
-redirect_from:
- - /components/camera.push/
---
The `push` camera platform allows you to integrate images sent over HTTP POST to Home Assistant as a camera. External applications/daemons/scripts are therefore able to "stream" images through Home Assistant.
diff --git a/source/_components/pushbullet.markdown b/source/_components/pushbullet.markdown
index 56bd33801bf..06b15188c67 100644
--- a/source/_components/pushbullet.markdown
+++ b/source/_components/pushbullet.markdown
@@ -7,9 +7,6 @@ ha_category:
- Notifications
ha_release: 0.44
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.pushbullet/
- - /components/notify.pushbullet/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/pushetta.markdown b/source/_components/pushetta.markdown
index 15f19b97601..66a875196bc 100644
--- a/source/_components/pushetta.markdown
+++ b/source/_components/pushetta.markdown
@@ -5,8 +5,6 @@ logo: pushetta.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.pushetta/
---
The `pushetta` notify platform uses [Pushetta](http://www.pushetta.com) to delivery notifications from Home Assistant to your devices.
diff --git a/source/_components/pushover.markdown b/source/_components/pushover.markdown
index 92a764c2142..28e602f3002 100644
--- a/source/_components/pushover.markdown
+++ b/source/_components/pushover.markdown
@@ -5,8 +5,6 @@ logo: pushover.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.pushover/
---
The [Pushover service](https://pushover.net/) is a platform for the notify component. This allows integrations to send messages to the user using Pushover.
diff --git a/source/_components/pushsafer.markdown b/source/_components/pushsafer.markdown
index fefd3bfa884..5ae690482fb 100644
--- a/source/_components/pushsafer.markdown
+++ b/source/_components/pushsafer.markdown
@@ -5,8 +5,6 @@ logo: pushsafer.png
ha_category:
- Notifications
ha_release: 0.39
-redirect_from:
- - /components/notify.pushsafer/
---
The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer.
diff --git a/source/_components/pvoutput.markdown b/source/_components/pvoutput.markdown
index 47a8444aadf..eb6b4bce08e 100644
--- a/source/_components/pvoutput.markdown
+++ b/source/_components/pvoutput.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: 0.33
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.pvoutput/
---
The `pvoutput` sensor platform consumes information from [PVOutput](http://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system.
diff --git a/source/_components/pyload.markdown b/source/_components/pyload.markdown
index 95f20efbdf6..7768c8940e7 100644
--- a/source/_components/pyload.markdown
+++ b/source/_components/pyload.markdown
@@ -6,8 +6,6 @@ ha_category:
- Downloading
ha_release: 0.58
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.pyload/
---
The `pyload` platform allows you to monitor your downloads with [pyLoad](https://pyload.net/) from within Home Assistant and setup automation based on the information.
diff --git a/source/_components/qbittorrent.markdown b/source/_components/qbittorrent.markdown
index 673d56d1e9c..d1034466e88 100644
--- a/source/_components/qbittorrent.markdown
+++ b/source/_components/qbittorrent.markdown
@@ -6,8 +6,6 @@ ha_category:
- Downloading
ha_release: 0.84
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.qbittorrent/
---
The `qbittorrent` platform allows you to monitor your downloads with [qBittorrent](https://www.qbittorrent.org/) from within Home Assistant and setup automations based on the information.
diff --git a/source/_components/qnap.markdown b/source/_components/qnap.markdown
index 4540905fc73..8231fb8a259 100644
--- a/source/_components/qnap.markdown
+++ b/source/_components/qnap.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.38
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.qnap/
---
This `qnap` sensor allows getting various statistics from your [QNAP NAS](https://www.qnap.com/en-us/).
diff --git a/source/_components/qrcode.markdown b/source/_components/qrcode.markdown
index 6d12ba8ff43..1ca078276fa 100644
--- a/source/_components/qrcode.markdown
+++ b/source/_components/qrcode.markdown
@@ -5,8 +5,6 @@ logo: home-assistant.png
ha_category:
- Image Processing
ha_release: 0.87
-redirect_from:
- - /components/image_processing.qrcode/
---
The `qrcode` image processing platform enables QR code recognition from cameras.
diff --git a/source/_components/quantum_gateway.markdown b/source/_components/quantum_gateway.markdown
index ae6817fd45c..3c0c50ef2fd 100644
--- a/source/_components/quantum_gateway.markdown
+++ b/source/_components/quantum_gateway.markdown
@@ -5,8 +5,6 @@ ha_category:
- Presence Detection
logo: fios.svg
ha_release: 0.81
-redirect_from:
- - /components/device_tracker.quantum_gateway/
---
The `quantum_gateway` device tracker platform offers presence detection by looking at connected devices to a Verizon Fios gateway.
diff --git a/source/_components/qwikswitch.markdown b/source/_components/qwikswitch.markdown
index b54ba2605e7..7bda4c69d7b 100644
--- a/source/_components/qwikswitch.markdown
+++ b/source/_components/qwikswitch.markdown
@@ -9,11 +9,6 @@ ha_category:
- Sensor
- Switch
ha_release: "0.20"
-redirect_from:
- - /components/binary_sensor.qwikswitch/
- - /components/light.qwikswitch/
- - /components/sensor.qwikswitch/
- - /components/switch.qwikswitch/
---
The `qwikswitch` integration is the main integration 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.
diff --git a/source/_components/rachio.markdown b/source/_components/rachio.markdown
index 8261dd66f4b..7f9623937b5 100644
--- a/source/_components/rachio.markdown
+++ b/source/_components/rachio.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_iot_class: Cloud Push
ha_release: 0.73
-redirect_from:
- - /components/binary_sensor.rachio/
- - /components/switch.rachio/
---
The `rachio` platform allows you to control your [Rachio irrigation system](http://rachio.com/).
diff --git a/source/_components/radarr.markdown b/source/_components/radarr.markdown
index 776afa10f51..ca67ea7290c 100644
--- a/source/_components/radarr.markdown
+++ b/source/_components/radarr.markdown
@@ -5,8 +5,6 @@ logo: radarr.png
ha_category:
- Downloading
ha_release: 0.47
-redirect_from:
- - /components/sensor.radarr/
---
This `radarr` sensor platform pulls data from a given [Radarr](https://radarr.video/) instance.
diff --git a/source/_components/radiotherm.markdown b/source/_components/radiotherm.markdown
index 4f4cb9c138c..408c1b565ae 100644
--- a/source/_components/radiotherm.markdown
+++ b/source/_components/radiotherm.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_iot_class: Local Polling
ha_release: 0.7.6
-redirect_from:
- - /components/climate.radiotherm/
---
The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/) or [3M Filtrete](http://www.radiothermostat.com/filtrete/products/). Your thermostat must have the Wi-Fi module installed and connected to your network.
diff --git a/source/_components/rainbird.markdown b/source/_components/rainbird.markdown
index 4001713357f..07d07ca0966 100644
--- a/source/_components/rainbird.markdown
+++ b/source/_components/rainbird.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.61
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.rainbird/
- - /components/switch.rainbird/
---
This `rainbird` integration 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.
diff --git a/source/_components/raincloud.markdown b/source/_components/raincloud.markdown
index 39b4ce80f9c..804109629a3 100644
--- a/source/_components/raincloud.markdown
+++ b/source/_components/raincloud.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.55
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.raincloud/
- - /components/sensor.raincloud/
- - /components/switch.raincloud/
---
The `raincloud` integration allows you to integrate your [Melnor RainCloud](https://wifiaquatimer.com) sprinkler system in Home Assistant.
diff --git a/source/_components/rainmachine.markdown b/source/_components/rainmachine.markdown
index 0bf918b6511..b7316803f7d 100644
--- a/source/_components/rainmachine.markdown
+++ b/source/_components/rainmachine.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.69
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.rainmachine/
- - /components/sensor.rainmachine/
- - /components/switch.rainmachine/
---
The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/).
diff --git a/source/_components/random.markdown b/source/_components/random.markdown
index 3ad09a4d432..f1f69b8bdd0 100644
--- a/source/_components/random.markdown
+++ b/source/_components/random.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.32
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.random/
- - /components/binary_sensor.random/
---
The `random` integration simply creates random values or state. This can be useful if you want to test automation rules or run an interactive demo. It generates a new state every time it is polled.
diff --git a/source/_components/raspihats.markdown b/source/_components/raspihats.markdown
index 8c8017bd2f3..3109e0237f6 100644
--- a/source/_components/raspihats.markdown
+++ b/source/_components/raspihats.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.45
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.raspihats/
- - /components/switch.raspihats/
---
The `raspihats` integration is the base for all related Raspihats platforms in Home Assistant. There is no setup needed for the integration itself.
diff --git a/source/_components/raspyrfm.markdown b/source/_components/raspyrfm.markdown
index 55892c1e7f0..a9d1636fff4 100644
--- a/source/_components/raspyrfm.markdown
+++ b/source/_components/raspyrfm.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.85
ha_iot_class: Assumed State
-redirect_from:
- - /components/switch.raspyrfm/
---
The `raspyrfm` integration adds support for cheap RC 433 MHz outlets via one of the supported gateways.
diff --git a/source/_components/recollect_waste.markdown b/source/_components/recollect_waste.markdown
index d409d181630..6b507e3f871 100644
--- a/source/_components/recollect_waste.markdown
+++ b/source/_components/recollect_waste.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.87
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.recollect_waste/
---
The `recollect_waste` integration allows you to track the next scheduled waste pickup and what type of waste from [Recollect](https://recollect.net/private-waste-haulers/). To use this sensor your city's waste company must be Recollect and you will need to find your place_id and service_id.
diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown
index c33a1c2017f..6956553e548 100644
--- a/source/_components/recorder.markdown
+++ b/source/_components/recorder.markdown
@@ -169,12 +169,12 @@ If you are using the default `FULL` recovery model for MS SQL Server you will ne
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
+sudo nano /etc/systemd/system/home-assistant@homeassistant.service
```
and add the service for the database, for example, PostgreSQL:
-```
+```txt
[Unit]
Description=Home Assistant
After=network.target postgresql.service
@@ -183,7 +183,7 @@ After=network.target postgresql.service
Save the file then reload `systemctl`:
```bash
-$ sudo systemctl daemon-reload
+sudo systemctl daemon-reload
```
## Installation notes
@@ -205,15 +205,15 @@ For MariaDB you may have to install a few dependencies. If you're using MariaDB
On the Python side we use the `mysqlclient`:
```bash
-$ sudo apt-get install libmariadbclient-dev libssl-dev
-$ pip3 install mysqlclient
+sudo apt-get install libmariadbclient-dev libssl-dev
+pip3 install mysqlclient
```
For MySQL you may have to install a few dependencies. You can choose between `pymysql` and `mysqlclient`:
```bash
-$ sudo apt-get install default-libmysqlclient-dev libssl-dev
-$ pip3 install mysqlclient
+sudo apt-get install default-libmysqlclient-dev libssl-dev
+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.
@@ -225,8 +225,8 @@ Once Home Assistant finds the database, with the right level of permissions, all
For PostgreSQL you may have to install a few dependencies:
```bash
-$ sudo apt-get install postgresql-server-dev-X.Y
-$ pip3 install psycopg2
+sudo apt-get install postgresql-server-dev-X.Y
+pip3 install psycopg2
```
For using Unix Sockets, add the following line to your [`pg_hba.conf`](https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html):
@@ -250,14 +250,14 @@ A service restart will work as well.
For MS SQL Server you may have to install a few dependencies:
```bash
-$ sudo apt-get install freetds-dev
-$ pip3 install pymssql
+sudo apt-get install freetds-dev
+pip3 install pymssql
```
If you are in a virtual environment, don't forget to activate it before installing the pymssql package.
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install pymssql
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install pymssql
```
diff --git a/source/_components/recswitch.markdown b/source/_components/recswitch.markdown
index 08866aded14..110aa8b7261 100644
--- a/source/_components/recswitch.markdown
+++ b/source/_components/recswitch.markdown
@@ -6,8 +6,6 @@ ha_release: 0.81
ha_category:
- Switch
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.recswitch/
---
The `recswitch` switch platform allows you to control the Ankuoo Rec Switch devices.
diff --git a/source/_components/reddit.markdown b/source/_components/reddit.markdown
index 6a37b7b8a8a..5a51aa13285 100644
--- a/source/_components/reddit.markdown
+++ b/source/_components/reddit.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.89
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.reddit/
---
The Reddit sensor integrates data from [Reddit](https://reddit.com/) to monitor your favorite subreddits.
diff --git a/source/_components/rejseplanen.markdown b/source/_components/rejseplanen.markdown
index c152d4e9884..f985da9a4f3 100644
--- a/source/_components/rejseplanen.markdown
+++ b/source/_components/rejseplanen.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.88
-redirect_from:
- - /components/sensor.rejseplanen/
---
The `rejseplanen` sensor will provide you with travel details for Danish public transport, using timetable data from [Rejseplanen](https://www.rejseplanen.dk/).
diff --git a/source/_components/rest.markdown b/source/_components/rest.markdown
index ae7ea8213c8..71bf380d1f4 100644
--- a/source/_components/rest.markdown
+++ b/source/_components/rest.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.7.4
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.rest/
---
The `rest` sensor platform is consuming a given endpoint which is exposed by a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer) of a device, an application, or a web service. The sensor has support for GET and POST requests.
@@ -130,7 +128,7 @@ sensor:
### Single value from a local Glances instance
-The [glances](/components/sensor.glances/) sensor is doing the exact same thing for all exposed values.
+The [glances](/components/glances) sensor is doing the exact same thing for all exposed values.
```yaml
sensor:
@@ -242,7 +240,7 @@ sensor:
```
{% endraw %}
-This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/components/sensor.template/) sensors that monitor the attributes and present the values in a usable form.
+This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/components/template) sensors that monitor the attributes and present the values in a usable form.
{% raw %}
```yaml
diff --git a/source/_components/ring.markdown b/source/_components/ring.markdown
index 03d096030d8..fb724447c9d 100644
--- a/source/_components/ring.markdown
+++ b/source/_components/ring.markdown
@@ -11,10 +11,6 @@ ha_category:
- Light
ha_release: 0.42
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.ring/
- - /components/camera.ring/
- - /components/sensor.ring/
---
The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant.
diff --git a/source/_components/ripple.markdown b/source/_components/ripple.markdown
index c19e444ef32..ff0cfbb065e 100644
--- a/source/_components/ripple.markdown
+++ b/source/_components/ripple.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.47
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.ripple/
---
The `ripple` sensor platform displays Ripple wallet balances from [Ripple.com](https://ripple.com).
diff --git a/source/_components/rmvtransport.markdown b/source/_components/rmvtransport.markdown
index 2a39a015828..c8d8b33db3b 100644
--- a/source/_components/rmvtransport.markdown
+++ b/source/_components/rmvtransport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_release: 0.76
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.rmvtransport/
---
The `rvmtransport` sensor will give you the departure time of the next bus, tram, subway or train at the next station or stop in the Rhein-Main area public transport network. Additional details such as the line number and destination are present in the attributes.
diff --git a/source/_components/rocketchat.markdown b/source/_components/rocketchat.markdown
index 9fd35c752d6..e269973de3c 100644
--- a/source/_components/rocketchat.markdown
+++ b/source/_components/rocketchat.markdown
@@ -5,8 +5,6 @@ logo: rocketchat.png
ha_category:
- Notifications
ha_release: 0.56
-redirect_from:
- - /components/notify.rocketchat/
---
diff --git a/source/_components/roku.markdown b/source/_components/roku.markdown
index 2b48e436ea8..a2e6c0df863 100644
--- a/source/_components/roku.markdown
+++ b/source/_components/roku.markdown
@@ -8,9 +8,6 @@ ha_category:
- Remote
ha_iot_class: Local Polling
ha_release: 0.86
-redirect_from:
- - /components/remote.roku/
- - /components/media_player.roku/
---
The [Roku](http://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/components/discovery/).
@@ -95,7 +92,7 @@ When the Home Assistant Roku integration is enabled and has found a Roku device,
The api calls are like this:
-```
+```txt
GET http:// ROKU_IP:8060/query/apps
POST http://ROKU_IP:8060/launch/APP_ID
```
@@ -104,10 +101,10 @@ More details can be found on the [Roku dev pages](https://developer.roku.com/doc
To use this in Home Assistant, for instance in an automation, the format is as follows. Note that ```source: ``` is the appID you discovered in the API call:
-```
- action:
- - data:
- entity_id: media_player.roku
- source: 20197
- service: media_player.select_source
+```yaml
+action:
+- data:
+ entity_id: media_player.roku
+ source: 20197
+ service: media_player.select_source
```
diff --git a/source/_components/roomba.markdown b/source/_components/roomba.markdown
index ad2166525ce..2c7ddccef68 100644
--- a/source/_components/roomba.markdown
+++ b/source/_components/roomba.markdown
@@ -5,8 +5,6 @@ logo: irobot_roomba.png
ha_category:
- Vacuum
ha_release: 0.51
-redirect_from:
- - /components/vacuum.roomba/
---
The `roomba` integration allows you to control your [iRobot Roomba](http://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.
diff --git a/source/_components/route53.markdown b/source/_components/route53.markdown
index 805ba63fa7f..b682f582fa1 100644
--- a/source/_components/route53.markdown
+++ b/source/_components/route53.markdown
@@ -29,7 +29,7 @@ On the AWS side, you need to do the following;
Here is an IAM Policy sample, don't forget to update your Zone ID on the Resource line.
-```
+```json
{
"Version": "2012-10-17",
"Statement": [
diff --git a/source/_components/rova.markdown b/source/_components/rova.markdown
index 5dddc3cbab4..33f55992275 100644
--- a/source/_components/rova.markdown
+++ b/source/_components/rova.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.87
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.rova/
---
[ROVA](https://rova.nl) is a waste collection company that operates in the center and east of the Netherlands. The `rova` platform uses an unofficial [ROVA](https://rova.nl) API to allow you to get your waste collection schedule and integrate this in your Home Assistant installation.
diff --git a/source/_components/rpi_camera.markdown b/source/_components/rpi_camera.markdown
index 15b40320eb0..bcc871acd48 100644
--- a/source/_components/rpi_camera.markdown
+++ b/source/_components/rpi_camera.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_iot_class: Local Polling
ha_release: 0.17
-redirect_from:
- - /components/camera.rpi_camera/
---
The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This integration uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
diff --git a/source/_components/rpi_gpio.markdown b/source/_components/rpi_gpio.markdown
index de60def7e1b..3ca63cc0cf1 100644
--- a/source/_components/rpi_gpio.markdown
+++ b/source/_components/rpi_gpio.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: pre 0.7
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.rpi_gpio/
- - /components/cover.rpi_gpio/
- - /components/switch.rpi_gpio/
---
The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding pages.
diff --git a/source/_components/rpi_gpio_pwm.markdown b/source/_components/rpi_gpio_pwm.markdown
index 27e9d24e01f..1e194632067 100644
--- a/source/_components/rpi_gpio_pwm.markdown
+++ b/source/_components/rpi_gpio_pwm.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Push
ha_release: 0.43
logo: raspberry-pi.png
-redirect_from:
- - /components/light.rpi_gpio_pwm/
---
The `rpi_gpio_pwm` platform allows to control multiple lights using pulse-width modulation, for example led strips. It supports one-color, RGB and RGBW LEDs driven by GPIOs of a Raspberry Pi or a PCA9685 controller.
diff --git a/source/_components/rpi_pfio.markdown b/source/_components/rpi_pfio.markdown
index ff841c49b0c..d5bdae097f6 100644
--- a/source/_components/rpi_pfio.markdown
+++ b/source/_components/rpi_pfio.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_release: 0.45
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.rpi_pfio/
- - /components/switch.rpi_pfio/
---
The `rpi_pfio` integration is the base for all related [PiFace Digital I/O (PFIO)](http://www.piface.org.uk/) platforms in Home Assistant. There is no setup needed for the integration itself; for the platforms, please check their corresponding pages.
diff --git a/source/_components/rpi_rf.markdown b/source/_components/rpi_rf.markdown
index e04ee9dc711..153f10b2442 100644
--- a/source/_components/rpi_rf.markdown
+++ b/source/_components/rpi_rf.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.19
ha_iot_class: Assumed State
-redirect_from:
- - /components/switch.rpi_rf/
---
The `rpi_rf` switch platform allows you to control devices over 433/315MHz LPD/SRD signals with generic low-cost GPIO RF modules on a [Raspberry Pi](https://www.raspberrypi.org/).
diff --git a/source/_components/rtorrent.markdown b/source/_components/rtorrent.markdown
index debd48d3f82..4e7449f1c76 100644
--- a/source/_components/rtorrent.markdown
+++ b/source/_components/rtorrent.markdown
@@ -6,8 +6,6 @@ ha_category:
- Downloading
ha_release: 0.81
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.rtorrent/
---
The `rtorrent` platform allows you to monitor your downloads with [rtorrent](https://rakshasa.github.io/rtorrent/) from within Home Assistant and setup automations based on the information.
diff --git a/source/_components/russound_rio.markdown b/source/_components/russound_rio.markdown
index a563ac61f24..1c2fccda2e3 100644
--- a/source/_components/russound_rio.markdown
+++ b/source/_components/russound_rio.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.49
ha_iot_class: Local Push
-redirect_from:
- - /components/media_player.russound_rio/
---
The `russound_rio` platform allows you to control Russound devices that make use of the RIO protocol.
diff --git a/source/_components/russound_rnet.markdown b/source/_components/russound_rnet.markdown
index 4ce89936250..a7433385158 100644
--- a/source/_components/russound_rnet.markdown
+++ b/source/_components/russound_rnet.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.25
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.russound_rnet/
---
The `russound_rnet` platform allows you to control Russound devices that make use of the RNET protocol.
diff --git a/source/_components/sabnzbd.markdown b/source/_components/sabnzbd.markdown
index fcb9672c003..6deb13f40c4 100644
--- a/source/_components/sabnzbd.markdown
+++ b/source/_components/sabnzbd.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.70
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.sabnzbd/
---
The `sabnzbd` integration will allow you to monitor and control your downloads with [SABnzbd](https://sabnzbd.org) from within Home Assistant and setup automations based on the information.
diff --git a/source/_components/samsungtv.markdown b/source/_components/samsungtv.markdown
index e62de8ebff5..4ec88215aa6 100644
--- a/source/_components/samsungtv.markdown
+++ b/source/_components/samsungtv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.13
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.samsungtv/
---
The `samsungtv` platform allows you to control a [Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/).
@@ -148,16 +146,16 @@ No additional actions are required
You will need to activate the venv and install the websocket library:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install websocket-client
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install websocket-client
```
### Other install methods
You will need to install the `websocket-client` Python package in your Home Assistant install. This will probably be done with:
```bash
-$ pip3 install websocket-client
+pip3 install websocket-client
```
Remembering to activate your venv if you're using a venv install.
diff --git a/source/_components/satel_integra.markdown b/source/_components/satel_integra.markdown
index 07c489e8aa6..6d9c602fbd9 100644
--- a/source/_components/satel_integra.markdown
+++ b/source/_components/satel_integra.markdown
@@ -9,9 +9,6 @@ ha_category:
- Switch
ha_release: 0.54
ha_iot_class: Local Push
-redirect_from:
- - /components/alarm_control_panel.satel_integra/
- - /components/binary_sensor.satel_integra/
---
The `satel_integra` integration will allow Home Assistant users who own a Satel Integra alarm panel to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a ETHM extension module that must be installed in the alarm. Compatible with ETHM-1 Plus module with firmware version > 2.00 (version 2.04 confirmed).
diff --git a/source/_components/scrape.markdown b/source/_components/scrape.markdown
index baa09f09bf9..f064fb92dc2 100644
--- a/source/_components/scrape.markdown
+++ b/source/_components/scrape.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.31
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.scrape/
---
The `scrape` sensor platform is scraping information from websites. The sensor loads a HTML page and gives you the option to search and split out a value. As this is not a full-blown web scraper like [scrapy](https://scrapy.org/), it will most likely only work with simple web pages and it can be time-consuming to get the right section.
@@ -53,6 +51,11 @@ authentication:
description: Type of the HTTP authentication. Either `basic` or `digest`.
required: false
type: string
+verify_ssl:
+ description: Enables/disables verification of SSL-certificate, for example if it is self-signed.
+ required: false
+ type: boolean
+ default: true
username:
description: The username for accessing the website.
required: false
diff --git a/source/_components/scsgate.markdown b/source/_components/scsgate.markdown
index edf6ae7ee00..a8a40e10b2c 100644
--- a/source/_components/scsgate.markdown
+++ b/source/_components/scsgate.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.13
ha_iot_class: Local Polling
-redirect_from:
- - /components/cover.scsgate/
- - /components/light.scsgate/
- - /components/switch.scsgate/
---
The SCSGate integration support the [SCSGate](https://translate.google.com/translate?hl=en&sl=it&tl=en&u=http%3A%2F%2Fguidopic.altervista.org%2Feibscsgt%2Finterface.html) device. This a home-brew device allows to interact with the MyHome system from BTicino/Legrande.
diff --git a/source/_components/season.markdown b/source/_components/season.markdown
index 14fb2abdf02..3ae0d44bcc9 100644
--- a/source/_components/season.markdown
+++ b/source/_components/season.markdown
@@ -7,8 +7,6 @@ logo: home-assistant.png
ha_iot_class: Local Polling
ha_release: 0.53
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.season/
---
The `season` sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the user's setting in the configuration file.
diff --git a/source/_components/sendgrid.markdown b/source/_components/sendgrid.markdown
index 1b26efbec18..82b78b900df 100644
--- a/source/_components/sendgrid.markdown
+++ b/source/_components/sendgrid.markdown
@@ -5,8 +5,6 @@ logo: sendgrid.png
ha_category:
- Notifications
ha_release: 0.14
-redirect_from:
- - /components/notify.sendgrid/
---
The `sendgrid` notification platform sends email notifications via [SendGrid](https://sendgrid.com/), a proven cloud-based email platform.
diff --git a/source/_components/sense.markdown b/source/_components/sense.markdown
index 3fe3878aa9a..02cd2b75cd4 100644
--- a/source/_components/sense.markdown
+++ b/source/_components/sense.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.82
-redirect_from:
- - /components/sensor.sense/
- - /components/binary_sensor.sense/
---
Integrate your [Sense](https://sense.com) meter information into Home Assistant.
diff --git a/source/_components/sensehat.markdown b/source/_components/sensehat.markdown
index a9bc0865e3d..855577b206d 100644
--- a/source/_components/sensehat.markdown
+++ b/source/_components/sensehat.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_iot_class: Assumed State
ha_release: 0.44
-redirect_from:
- - /components/light.sensehat/
- - /components/sensor.sensehat/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/sensibo.markdown b/source/_components/sensibo.markdown
index aac799d56d3..71b11163e49 100644
--- a/source/_components/sensibo.markdown
+++ b/source/_components/sensibo.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.44
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.sensibo/
---
Integrates [Sensibo](https://sensibo.com) Air Conditioning controller into Home Assistant.
diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown
index f1c16e2bf37..5dd1e2a7bef 100644
--- a/source/_components/sensor.command_line.markdown
+++ b/source/_components/sensor.command_line.markdown
@@ -142,7 +142,7 @@ sensor:
### Use an external script
-The example is doing the same as the [aREST sensor](/components/sensor.arest/) but with an external Python script. It should give you an idea about interfacing with devices which are exposing a RESTful API.
+The example is doing the same as the [aREST sensor](/components/arest#sensor) but with an external Python script. It should give you an idea about interfacing with devices which are exposing a RESTful API.
The one-line script to retrieve a value is shown below. Of course would it be possible to use this directly in the `configuration.yaml` file but need extra care about the quotation marks.
diff --git a/source/_components/sensor.metoffice.markdown b/source/_components/sensor.metoffice.markdown
index 391694e91db..f04c71f2d06 100644
--- a/source/_components/sensor.metoffice.markdown
+++ b/source/_components/sensor.metoffice.markdown
@@ -85,7 +85,7 @@ monitored_conditions:
-This sensor is an alternative to the [`metoffice`](/components/weather.metoffice/) weather platform.
+This sensor is an alternative to the [`metoffice`](/components/metoffice/) weather platform.
The weather platform is easier to configure but less customizable.
diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown
index 11ada47e64a..042bcbb7a51 100644
--- a/source/_components/sensor.mqtt.markdown
+++ b/source/_components/sensor.mqtt.markdown
@@ -175,7 +175,7 @@ The state and the attributes of the sensor by design do not update in a synchron
### 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/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}
diff --git a/source/_components/sensor.websocket_api.markdown b/source/_components/sensor.websocket_api.markdown
index e5722fd0eaf..5dcea994cd8 100644
--- a/source/_components/sensor.websocket_api.markdown
+++ b/source/_components/sensor.websocket_api.markdown
@@ -7,10 +7,6 @@ ha_category:
ha_release: 0.33
ha_iot_class: Local Push
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.api_stream/
- - /components/sensor.api_streams/
-
---
The `websocket_api` sensor platform shows how many clients are connected to the stream API.
diff --git a/source/_components/serial.markdown b/source/_components/serial.markdown
index a0a49243a7c..68f44acbb6f 100644
--- a/source/_components/serial.markdown
+++ b/source/_components/serial.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.56
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.serial/
---
The `serial` sensor platform is using the data provided by a device connected to the serial port of the system where Home Assistant is running. With [`ser2net`](http://ser2net.sourceforge.net/) and [`socat`](http://www.dest-unreach.org/socat/) would it also work for sensors connected to a remote system.
diff --git a/source/_components/serial_pm.markdown b/source/_components/serial_pm.markdown
index d72c28dc9b0..1c55c5ee90b 100644
--- a/source/_components/serial_pm.markdown
+++ b/source/_components/serial_pm.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.26
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.serial_pm/
---
Particulate matter sensors measure the amount of very small particles in the air. A short introduction how these sensors work can be found on [Open Home Automation](https://www.open-homeautomation.com/2016/07/19/measuring-air-quality/).
diff --git a/source/_components/sesame.markdown b/source/_components/sesame.markdown
index abc746f2676..15ceb6cdb9b 100644
--- a/source/_components/sesame.markdown
+++ b/source/_components/sesame.markdown
@@ -6,8 +6,6 @@ ha_category:
- Lock
ha_iot_class: Cloud Polling
ha_release: 0.47
-redirect_from:
- - /components/lock.sesame/
---
The `sesame` platform allows you to control your [Sesame](https://candyhouse.co/) smart locks made by CANDY HOUSE, Inc.
diff --git a/source/_components/seven_segments.markdown b/source/_components/seven_segments.markdown
index c5dfd8b2b1c..d6bc27458ba 100644
--- a/source/_components/seven_segments.markdown
+++ b/source/_components/seven_segments.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_release: 0.45
og_image: /images/screenshots/ssocr.png
ha_iot_class: Local Polling
-redirect_from:
- - /components/image_processing.seven_segments/
---
The `seven_segments` image processing platform allows you to read physical seven segments displays through Home Assistant. [`ssocr`](https://www.unix-ag.uni-kl.de/~auerswal/ssocr/) is used to extract the value shown on the display which is observed by a [camera](/components/camera/).
@@ -22,14 +20,14 @@ If you are using [Hass.io](/hassio/) then just move forward to the configuration
`ssocr` needs to be available on your system. Check the installation instruction below:
```bash
-$ sudo dnf -y install imlib2-devel # Fedora
-$ sudo apt install libimlib2-dev # Ubuntu
-$ brew install imlib2 # macOS
-$ git clone https://github.com/auerswal/ssocr.git
-$ cd ssocr
-$ make
-$ sudo make PREFIX=/usr install # On most systems
-$ make deb # (Optional) This allows you to make a deb so that you apt is aware of ssocr
+sudo dnf -y install imlib2-devel # Fedora
+sudo apt install libimlib2-dev # Ubuntu
+brew install imlib2 # macOS
+git clone https://github.com/auerswal/ssocr.git
+cd ssocr
+make
+sudo make PREFIX=/usr install # On most systems
+make deb # (Optional) This allows you to make a deb so that you apt is aware of ssocr
```
To enable the OCR of a seven segment display in your installation, add the following to your `configuration.yaml` file:
@@ -133,7 +131,7 @@ image_processing:

-With the help of a [template sensor](/components/sensor.template/), the value can be shown as badge.
+With the help of a [template sensor](/components/template), the value can be shown as badge.
{% raw %}
diff --git a/source/_components/seventeentrack.markdown b/source/_components/seventeentrack.markdown
index 33927e1b660..ebc8765c533 100644
--- a/source/_components/seventeentrack.markdown
+++ b/source/_components/seventeentrack.markdown
@@ -6,8 +6,6 @@ ha_category:
- Postal Service
ha_release: 0.83
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.seventeentrack/
---
The `seventeentrack` sensor platform allows users to get package data tied to their [17track.net](https://www.17track.net/en) account. The platform creates both summary sensors, which show the number of packages in a current state (e.g., "In Transit"), as well as individual sensors for each package within the account.
diff --git a/source/_components/shodan.markdown b/source/_components/shodan.markdown
index c102c59bcd5..44810e38860 100644
--- a/source/_components/shodan.markdown
+++ b/source/_components/shodan.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Cloud Polling
logo: shodan.png
ha_release: 0.51
-redirect_from:
- - /components/sensor.shodan/
---
The `shodan` sensor platform is displaying the total of result of a
diff --git a/source/_components/sht31.markdown b/source/_components/sht31.markdown
index 3813faa4519..95092ae30b4 100644
--- a/source/_components/sht31.markdown
+++ b/source/_components/sht31.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_release: 0.68
logo: sensirion.png
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.sht31/
---
The `sht31` sensor platform allows you to get the current temperature and humidity from a Sensirion SHT31 device.
diff --git a/source/_components/sigfox.markdown b/source/_components/sigfox.markdown
index b7907e349bd..3ebdc2635ba 100644
--- a/source/_components/sigfox.markdown
+++ b/source/_components/sigfox.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_iot_class: Cloud Polling
ha_release: 0.68
-redirect_from:
- - /components/sensor.sigfox/
---
[SigFox](https://www.sigfox.com/en) integration 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)).
diff --git a/source/_components/simplepush.markdown b/source/_components/simplepush.markdown
index 32f27f63603..580b1c2fdaf 100644
--- a/source/_components/simplepush.markdown
+++ b/source/_components/simplepush.markdown
@@ -5,8 +5,6 @@ logo: simplepush.png
ha_category:
- Notifications
ha_release: 0.29
-redirect_from:
- - /components/notify.simplepush/
---
diff --git a/source/_components/simplisafe.markdown b/source/_components/simplisafe.markdown
index d69cf12385d..6f798b8bfda 100644
--- a/source/_components/simplisafe.markdown
+++ b/source/_components/simplisafe.markdown
@@ -5,8 +5,6 @@ logo: simplisafe.png
ha_release: 0.81
ha_category:
- Alarm
-redirect_from:
- - /components/alarm_control_panel.simplisafe/
---
The `simplisafe` integration integrates SimpliSafe home security (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.
diff --git a/source/_components/simulated.markdown b/source/_components/simulated.markdown
index 8f752d40962..f964c1003aa 100644
--- a/source/_components/simulated.markdown
+++ b/source/_components/simulated.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.65
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.simulated/
---
The `simulated` sensor platform provides a simulated sensor that generates a time-varying signal `V(t)` given by the [function](https://en.wikipedia.org/wiki/Sine_wave):
diff --git a/source/_components/sisyphus.markdown b/source/_components/sisyphus.markdown
index eda4be48d50..bc9921e6991 100644
--- a/source/_components/sisyphus.markdown
+++ b/source/_components/sisyphus.markdown
@@ -8,9 +8,6 @@ ha_category:
- Media Player
ha_release: 0.75
ha_iot_class: Local Push
-redirect_from:
- - /components/light.sisyphus/
- - /components/media_player.sisyphus/
---
The [Sisyphus](https://sisyphus-industries.com/) integration for Home Assistant allows you to observe and control your Sisyphus Kinetic Art Table.
diff --git a/source/_components/sky_hub.markdown b/source/_components/sky_hub.markdown
index 8777d81beba..6e8da7cafa5 100644
--- a/source/_components/sky_hub.markdown
+++ b/source/_components/sky_hub.markdown
@@ -5,8 +5,6 @@ logo: sky.png
ha_category:
- Presence Detection
ha_release: 0.37
-redirect_from:
- - /components/device_tracker.sky_hub/
---
diff --git a/source/_components/skybeacon.markdown b/source/_components/skybeacon.markdown
index a6019472748..c115a0b58eb 100644
--- a/source/_components/skybeacon.markdown
+++ b/source/_components/skybeacon.markdown
@@ -5,8 +5,6 @@ ha_category:
- DIY
ha_release: 0.37
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.skybeacon/
---
The `skybeacon` sensor platform supports [CR2477](http://cnsky9.en.alibaba.com)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module.
diff --git a/source/_components/skybell.markdown b/source/_components/skybell.markdown
index bf40cd860b7..0348212e32a 100644
--- a/source/_components/skybell.markdown
+++ b/source/_components/skybell.markdown
@@ -11,12 +11,6 @@ ha_category:
- Switch
ha_release: 0.56
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.skybell/
- - /components/camera.skybell/
- - /components/light.skybell/
- - /components/sensor.skybell/
- - /components/switch.skybell/
---
The `skybell` implementation allows you to integrate your [Skybell.com](http://www.skybell.com/) doorbells in Home Assistant.
diff --git a/source/_components/slack.markdown b/source/_components/slack.markdown
index 195fdbdf4c1..c873f3da9d7 100644
--- a/source/_components/slack.markdown
+++ b/source/_components/slack.markdown
@@ -5,8 +5,6 @@ logo: slack.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.slack/
---
diff --git a/source/_components/sleepiq.markdown b/source/_components/sleepiq.markdown
index 3d6ffb180ad..5bf4236dec6 100644
--- a/source/_components/sleepiq.markdown
+++ b/source/_components/sleepiq.markdown
@@ -8,9 +8,6 @@ ha_category:
- Binary Sensor
ha_release: 0.29
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.sleepiq/
- - /components/sensor.sleepiq/
---
The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](http://www.sleepnumber.com/sn/en/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed.
diff --git a/source/_components/sma.markdown b/source/_components/sma.markdown
index af30b3b28f5..62cadd02f05 100644
--- a/source/_components/sma.markdown
+++ b/source/_components/sma.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: sma.png
ha_iot_class: Local Polling
ha_release: 0.36
-redirect_from:
- - /components/sensor.sma/
---
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.
diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown
index 56796fa8cd6..7ebaff58b40 100644
--- a/source/_components/smappee.markdown
+++ b/source/_components/smappee.markdown
@@ -9,9 +9,6 @@ ha_category:
- Sensor
- Switch
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.smappee/
- - /components/switch.smappee/
---
The `smappee` integration adds support for the [Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches.
diff --git a/source/_components/smartthings.markdown b/source/_components/smartthings.markdown
index 499c9fa2a84..15d97f16e20 100644
--- a/source/_components/smartthings.markdown
+++ b/source/_components/smartthings.markdown
@@ -16,25 +16,6 @@ ha_category:
- Switch
ha_release: 0.87
ha_iot_class: Cloud Push
-redirect_from:
- - /components/smartthings.binary_sensor/
- - /components/binary_sensor.smartthings/
- - /components/smartthings.climate/
- - /components/climate.smartthings/
- - /components/smartthings.cover/
- - /components/cover.smartthings/
- - /components/smartthings.fan/
- - /components/fan.smartthings/
- - /components/smartthings.light/
- - /components/light.smartthings/
- - /components/smartthings.lock/
- - /components/lock.smartthings/
- - /components/smartthings.sensor/
- - /components/sensor.smartthings/
- - /components/smartthings.scene/
- - /components/scene.smartthings/
- - /components/smartthings.switch/
- - /components/switch.smartthings/
---
Samsung SmartThings is integrated into Home Assistant through the SmartThings Cloud API. The SmartThings integration is the main integration to integrate all SmartThings related platforms. The basic features of this integration include:
diff --git a/source/_components/smhi.markdown b/source/_components/smhi.markdown
index b4cc03f4c43..207ea471ebd 100644
--- a/source/_components/smhi.markdown
+++ b/source/_components/smhi.markdown
@@ -7,8 +7,6 @@ ha_category:
- Weather
ha_release: 0.81
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/weather.smhi/
---
The `smhi` integration adds support for the [SMHI.se](https://www.smhi.se/) web service as a source for meteorological data for your location.
diff --git a/source/_components/smtp.markdown b/source/_components/smtp.markdown
index 92d27c88175..8328d569a1c 100644
--- a/source/_components/smtp.markdown
+++ b/source/_components/smtp.markdown
@@ -5,8 +5,6 @@ logo: smtp.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.smtp/
---
diff --git a/source/_components/snapcast.markdown b/source/_components/snapcast.markdown
index ca8d6d88e54..2ad1d9b3e99 100644
--- a/source/_components/snapcast.markdown
+++ b/source/_components/snapcast.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.13
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.snapcast/
---
The `snapcast` platform allows you to control [Snapcast](https://github.com/badaix/snapcast) from Home Assistant.
diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown
index ce29994e7a1..6c5f93e6c0d 100644
--- a/source/_components/snips.markdown
+++ b/source/_components/snips.markdown
@@ -24,18 +24,18 @@ Snips takes voice or text as input and produces *intents* as output, which are e
The Snips platform can be installed via the Snips APT/Debian repository.
```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 apt-get update
-$ sudo apt-get install -y snips-platform-voice
+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 apt-get update
+sudo apt-get install -y snips-platform-voice
```
Note that if the keyserver pgp.mit.edu is down then 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
+sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849
```
### Creating an assistant
@@ -45,13 +45,13 @@ Head over to the [Snips Console](https://console.snips.ai) to create your assist
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:
```bash
-$ scp -r ~/Desktop/assistant pi@
:/home/pi/.
+scp -r ~/Desktop/assistant pi@:/home/pi/.
```
Now ssh into your Raspberry Pi:
```bash
-$ ssh pi@
+ssh pi@
```
By default, this command is `ssh pi@raspberrypi.local`, if you are using the default Raspberry Pi hostname.
@@ -76,7 +76,7 @@ Make sure that a microphone is plugged to the Raspberry Pi. If you are having tr
Start the Snips Voice Platform by starting the `snips-*` services:
```bash
-$ sudo systemctl start "snips-*"
+sudo systemctl start "snips-*"
```
Snips is now ready to take voice commands from the microphone. To trigger the listening, simply say
@@ -266,7 +266,7 @@ intent_script:
##### 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 Sk](/components/sensor.darksky/) and the `api_key` in the `secrets.yaml` file.
+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 Sk](/components/darksky) and the `api_key` in the `secrets.yaml` file.
```yaml
- platform: darksky
diff --git a/source/_components/snmp.markdown b/source/_components/snmp.markdown
index 50f98c5c7e2..ec55c1ed1dc 100644
--- a/source/_components/snmp.markdown
+++ b/source/_components/snmp.markdown
@@ -9,10 +9,6 @@ ha_category:
- Sensor
ha_iot_class: Local Polling
ha_release: 0.57
-redirect_from:
- - /components/switch.snmp/
- - /components/sensor.snmp/
- - /components/device_tracker.snmp/
---
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks and WiFi registrations.
@@ -29,7 +25,7 @@ This device tracker needs SNMP to be enabled on the router. It could be that you
## Presence Detection
-The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker integration page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/device_tracker.ping/) or [Nmap](/components/device_tracker.nmap_tracker/) instead.
+The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker integration page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/ping) or [Nmap](/components/nmap_tracker) instead.
| Brand | Device/Firmware | OID |
| --- | --- | --- |
diff --git a/source/_components/sochain.markdown b/source/_components/sochain.markdown
index 90e6357e037..c123f280909 100644
--- a/source/_components/sochain.markdown
+++ b/source/_components/sochain.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.61
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.sochain/
---
The `SoChain` sensor platform displays supported cryptocurrency wallet balances from [SoChain](https://chain.so).
diff --git a/source/_components/socialblade.markdown b/source/_components/socialblade.markdown
index ddd2ce5ae46..cb46dfa638f 100644
--- a/source/_components/socialblade.markdown
+++ b/source/_components/socialblade.markdown
@@ -6,8 +6,6 @@ ha_category:
- Multimedia
ha_release: 0.69
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.socialblade/
---
The `socialblade` sensor platform allows you to monitor a YouTube channels subscriber count and total views count. The sensor retrieves data from the [Social Blade website](https://socialblade.com).
diff --git a/source/_components/solaredge.markdown b/source/_components/solaredge.markdown
index a0a4e0fe3b0..522f720a855 100644
--- a/source/_components/solaredge.markdown
+++ b/source/_components/solaredge.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.85
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.solaredge/
---
The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf) to allow you to get details from your SolarEdge solar power setup and integrate these in your Home Assistant installation.
@@ -52,7 +50,7 @@ name:
## Full configuration example
-In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/components/sensor.template/).
+In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/components/template).
{% raw %}
```yaml
diff --git a/source/_components/solaredge_local.markdown b/source/_components/solaredge_local.markdown
index 2e146c5c9d1..1f89e3e3509 100644
--- a/source/_components/solaredge_local.markdown
+++ b/source/_components/solaredge_local.markdown
@@ -54,7 +54,7 @@ sensor:
ip_address: 192.168.1.123
```
-In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/components/sensor.template/).
+In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/components/template).
{% raw %}
```yaml
diff --git a/source/_components/solax.markdown b/source/_components/solax.markdown
index 83a79f6ee18..6cb74570652 100644
--- a/source/_components/solax.markdown
+++ b/source/_components/solax.markdown
@@ -36,7 +36,7 @@ port:
### Optional template sensor
-If you would like to convert the values from multiple panels or view the total power the house is using, you can use the [template platform](/components/sensor.template/).
+If you would like to convert the values from multiple panels or view the total power the house is using, you can use the [template platform](/components/template).
{% raw %}
```yaml
diff --git a/source/_components/sonarr.markdown b/source/_components/sonarr.markdown
index b71da680933..acbe8d7d46d 100644
--- a/source/_components/sonarr.markdown
+++ b/source/_components/sonarr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Downloading
ha_release: 0.34
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.sonarr/
---
This `sonarr` sensor platform pulls data from a given [Sonarr](https://sonarr.tv/) instance.
diff --git a/source/_components/songpal.markdown b/source/_components/songpal.markdown
index f6879f22998..4b7dab6ec8f 100644
--- a/source/_components/songpal.markdown
+++ b/source/_components/songpal.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Push
ha_release: 0.65
-redirect_from:
- - /components/media_player.songpal/
---
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.
diff --git a/source/_components/sonos.markdown b/source/_components/sonos.markdown
index 61cd09c7989..5ddfaa768a5 100644
--- a/source/_components/sonos.markdown
+++ b/source/_components/sonos.markdown
@@ -7,7 +7,6 @@ ha_category:
featured: true
ha_release: 0.7.3
ha_iot_class: Local Polling
-redirect_from: /components/media_player.sonos/
---
The `sonos` integration allows you to control your [Sonos](https://www.sonos.com) HiFi wireless speakers and audio integrations from Home Assistant. By default it supports auto-discovery provided by Home Assistant, and you don't need to add anything to your `configuration.yaml`.
diff --git a/source/_components/sony_projector.markdown b/source/_components/sony_projector.markdown
index 94b5cf71d29..6659b297235 100644
--- a/source/_components/sony_projector.markdown
+++ b/source/_components/sony_projector.markdown
@@ -6,8 +6,6 @@ ha_category:
- Multimedia
ha_iot_class: Local Polling
ha_release: 0.89
-redirect_from:
- - /components/switch.sony_projector/
---
The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](http://www.sony.com).
diff --git a/source/_components/soundtouch.markdown b/source/_components/soundtouch.markdown
index dd4d69f36f1..dd3d6907360 100644
--- a/source/_components/soundtouch.markdown
+++ b/source/_components/soundtouch.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.34
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.soundtouch/
---
The `soundtouch` platform allows you to control your [Bose Soundtouch](https://www.soundtouch.com/) speakers from Home Assistant.
@@ -81,7 +79,7 @@ You can also play HTTP (not HTTPS) URLs:
### Text-to-Speech services
-You can use TTS services like [Google Text-to-Speech](/components/tts.google/) or [Amazon Polly](/components/tts.amazon_polly) only if your Home Assistant is configured in HTTP and not HTTPS (current device limitation, a firmware upgrade is planned).
+You can use TTS services like [Google Text-to-Speech](/components/google_translate) or [Amazon Polly](/components/amazon_polly) only if your Home Assistant is configured in HTTP and not HTTPS (current device limitation, a firmware upgrade is planned).
A workaround if you want to publish your Home Assistant installation on Internet in SSL is to configure an HTTPS Web Server as a reverse proxy ([nginx](/docs/ecosystem/nginx/) for example) and let your Home Assistant configuration in HTTP on your local network. The Soundtouch devices will be available to access the TTS files in HTTP in local and your configuration will be in HTTPS on the Internet.
diff --git a/source/_components/spaceapi.markdown b/source/_components/spaceapi.markdown
index 03bc1835b8c..808e63bc6f4 100644
--- a/source/_components/spaceapi.markdown
+++ b/source/_components/spaceapi.markdown
@@ -260,7 +260,7 @@ The list of sensors can be any sensor, not just temperature or humidity.
## Sensor specific location
-The [SpaceAPI specification](https://spaceapi.io/pages/docs.html) requires every sensor to provide a location.
+The [SpaceAPI specification](http://spaceapi.net/documentation) requires every sensor to provide a location.
In order to set a sensor specific location do the following steps:
1. Go to Configuration -> Customization
diff --git a/source/_components/spc.markdown b/source/_components/spc.markdown
index 63b6a930a09..18c0c52cd85 100644
--- a/source/_components/spc.markdown
+++ b/source/_components/spc.markdown
@@ -8,9 +8,6 @@ ha_category:
ha_release: 0.47
logo: vanderbilt_spc.png
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.spc/
- - /components/alarm_control_panel.spc/
---
Home Assistant has support to integrate your [Vanderbilt SPC](https://www.spcsupportinfo.com/SPCConnectPro/) alarm panel and any connected motion, door and smoke sensors.
diff --git a/source/_components/speedtestdotnet.markdown b/source/_components/speedtestdotnet.markdown
index 247763a2896..b6f09865304 100644
--- a/source/_components/speedtestdotnet.markdown
+++ b/source/_components/speedtestdotnet.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.13
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.speedtest/
- - /components/sensor.speedtestdotnet/
---
The `speedtestdotnet` integration uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance.
diff --git a/source/_components/spider.markdown b/source/_components/spider.markdown
index 502dd482417..49df07a8796 100644
--- a/source/_components/spider.markdown
+++ b/source/_components/spider.markdown
@@ -8,9 +8,6 @@ ha_category:
- Switch
ha_iot_class: Cloud Polling
ha_release: 0.75
-redirect_from:
- - /components/switch.spider/
- - /components/climate.spider/
---
The `spider` integration is the main integration to integrate all [Itho Daalderop Spider](https://www.ithodaalderop.nl/spider-thermostaat) related platforms. You will need your Spider account information (username, password) to discover and control devices which are related to your account.
diff --git a/source/_components/spotcrime.markdown b/source/_components/spotcrime.markdown
index 7d6420335e7..dab9f838d3d 100644
--- a/source/_components/spotcrime.markdown
+++ b/source/_components/spotcrime.markdown
@@ -3,8 +3,6 @@ title: "Spot Crime"
description: "Instructions on how to integrate spotcrime.com into Home Assistant."
ha_release: 0.65
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.spotcrime/
---
diff --git a/source/_components/spotify.markdown b/source/_components/spotify.markdown
index 6ed840a6ad5..5504017561e 100644
--- a/source/_components/spotify.markdown
+++ b/source/_components/spotify.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.43
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/media_player.spotify/
---
The `spotify` media player platform allows you to control
diff --git a/source/_components/sql.markdown b/source/_components/sql.markdown
index cef52c359a3..094b09d69d3 100644
--- a/source/_components/sql.markdown
+++ b/source/_components/sql.markdown
@@ -5,8 +5,6 @@ logo: sql.png
ha_category:
- Utility
ha_release: 0.63
-redirect_from:
- - /components/sensor.sql/
---
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).
diff --git a/source/_components/squeezebox.markdown b/source/_components/squeezebox.markdown
index 3aad54f0aaa..0fc30a12769 100644
--- a/source/_components/squeezebox.markdown
+++ b/source/_components/squeezebox.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: pre 0.7
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.squeezebox/
---
diff --git a/source/_components/starlingbank.markdown b/source/_components/starlingbank.markdown
index 8fe4c298078..fb413f3aa0b 100644
--- a/source/_components/starlingbank.markdown
+++ b/source/_components/starlingbank.markdown
@@ -6,8 +6,6 @@ ha_category:
- Finance
ha_release: 0.79
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.starlingbank/
---
The Starling Bank sensor platform allows you to monitor your account balance data as sensors in Home Assistant.
diff --git a/source/_components/startca.markdown b/source/_components/startca.markdown
index 61bf03913e9..c4775644c62 100644
--- a/source/_components/startca.markdown
+++ b/source/_components/startca.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.64
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.startca/
---
Integrate your [Start.ca](https://www.start.ca/) account information into Home Assistant.
diff --git a/source/_components/statistics.markdown b/source/_components/statistics.markdown
index 46cb802cb1c..8782d91deea 100644
--- a/source/_components/statistics.markdown
+++ b/source/_components/statistics.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: "0.30"
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.statistics/
---
The `statistics` sensor platform consumes the state from other sensors. It exports the `mean` value as state and the following values as attributes: `count`, `mean`, `median`, `stdev`, `variance`, `total`, `min_value`, `max_value`, `min_age`, `max_age`, `change`, `average_change` and `change_rate`. If it's a binary sensor then only state changes are counted.
diff --git a/source/_components/steam_online.markdown b/source/_components/steam_online.markdown
index 427d964892c..3a373c13eda 100644
--- a/source/_components/steam_online.markdown
+++ b/source/_components/steam_online.markdown
@@ -6,8 +6,6 @@ ha_category:
- Social
ha_iot_class: Cloud Polling
ha_release: 0.14
-redirect_from:
- - /components/sensor.steam_online/
---
The `steam` sensor platform will allow you to track the online status of public [Steam](https://steamcommunity.com) accounts.
diff --git a/source/_components/stride.markdown b/source/_components/stride.markdown
index 980d74b9330..b2fd7ae142e 100644
--- a/source/_components/stride.markdown
+++ b/source/_components/stride.markdown
@@ -5,8 +5,6 @@ logo: stride.png
ha_category:
- Notifications
ha_release: 0.66
-redirect_from:
- - /components/notify.stride/
---
The `stride` platform allows you to send notifications from Home Assistant to [Stride](https://stride.com/).
diff --git a/source/_components/supervisord.markdown b/source/_components/supervisord.markdown
index 3c68edbf371..6637c4a1879 100644
--- a/source/_components/supervisord.markdown
+++ b/source/_components/supervisord.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: "0.20"
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.supervisord/
---
The `supervisord` platform allows you to track the states of [Supervisord](http://supervisord.org/).
diff --git a/source/_components/supla.markdown b/source/_components/supla.markdown
index 22e48ec216d..4cd882893b7 100644
--- a/source/_components/supla.markdown
+++ b/source/_components/supla.markdown
@@ -7,8 +7,6 @@ ha_category:
- Hub
- Cover
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/cover.supla/
---
The [Supla](http://supla.org) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
diff --git a/source/_components/swiss_hydrological_data.markdown b/source/_components/swiss_hydrological_data.markdown
index b53f74de1df..799f6aa1db7 100644
--- a/source/_components/swiss_hydrological_data.markdown
+++ b/source/_components/swiss_hydrological_data.markdown
@@ -6,8 +6,6 @@ ha_category:
- Environment
ha_iot_class: Cloud Polling
ha_release: 0.22
-redirect_from:
- - /components/sensor.swiss_hydrological_data/
---
The `swiss_hydrological_data` sensor will show you details (temperature, level, and discharge) of rivers and lakes in Switzerland.
diff --git a/source/_components/swiss_public_transport.markdown b/source/_components/swiss_public_transport.markdown
index f98b6c2d270..4d3f73be3c5 100644
--- a/source/_components/swiss_public_transport.markdown
+++ b/source/_components/swiss_public_transport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: pre 0.7
-redirect_from:
- - /components/sensor.swiss_public_transport/
---
The `swiss_public_transport` sensor will give you the next three departure times from a given location to another one in Switzerland.
diff --git a/source/_components/swisscom.markdown b/source/_components/swisscom.markdown
index f29aeb21834..46cb5172c0b 100644
--- a/source/_components/swisscom.markdown
+++ b/source/_components/swisscom.markdown
@@ -5,8 +5,6 @@ logo: swisscom.png
ha_category:
- Presence Detection
ha_release: 0.32
-redirect_from:
- - /components/device_tracker.swisscom/
---
diff --git a/source/_components/switch.command_line.markdown b/source/_components/switch.command_line.markdown
index f2589c65b38..65b901216a7 100644
--- a/source/_components/switch.command_line.markdown
+++ b/source/_components/switch.command_line.markdown
@@ -79,7 +79,7 @@ In this section you find some real-life examples of how to use this switch.
### aREST device
The example below is doing the same as the
-[aREST switch](/components/switch.arest/).
+[aREST switch](/components/arest#switch).
The command line tool [`curl`](http://curl.haxx.se/) is used to toggle a pin
which is controllable through REST.
diff --git a/source/_components/switchbot.markdown b/source/_components/switchbot.markdown
index 468a619913a..a47e696b121 100644
--- a/source/_components/switchbot.markdown
+++ b/source/_components/switchbot.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.78
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.switchbot/
---
The `switchbot` switch platform allows you to control Switchbot [devices](https://www.switch-bot.com/).
diff --git a/source/_components/switcher_kis.markdown b/source/_components/switcher_kis.markdown
index 5a8aa70fd86..8c6b44df1fa 100644
--- a/source/_components/switcher_kis.markdown
+++ b/source/_components/switcher_kis.markdown
@@ -4,8 +4,6 @@ description: "Controlling your Switcher V2 Water Heater."
logo: switcher_boiler.png
ha_category:
- Switch
-redirect_from:
- - /components/switch.switcher_kis
ha_release: 0.93
ha_iot_class: Local Push
---
diff --git a/source/_components/switchmate.markdown b/source/_components/switchmate.markdown
index 16e5cfb7163..2f21aac5de5 100644
--- a/source/_components/switchmate.markdown
+++ b/source/_components/switchmate.markdown
@@ -6,8 +6,6 @@ ha_category:
- Switch
ha_release: 0.78
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.switchmate/
---
This `Switchmate` switch platform allows you to control Switchmate [devices]( https://www.mysimplysmarthome.com/products/switchmate-switches/).
diff --git a/source/_components/syncthru.markdown b/source/_components/syncthru.markdown
index 04b26afa2a8..77ee7dc9437 100644
--- a/source/_components/syncthru.markdown
+++ b/source/_components/syncthru.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.66
-redirect_from:
- - /components/sensor.syncthru/
---
The Samsung SyncThru Printer platform allows you to read current data from your local Samsung printer.
diff --git a/source/_components/synology.markdown b/source/_components/synology.markdown
index 38ab70e1276..81f8cdea86a 100644
--- a/source/_components/synology.markdown
+++ b/source/_components/synology.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: 0.31
ha_iot_class: Local Polling
-redirect_from:
- - /components/camera.synology/
---
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.
diff --git a/source/_components/synology_chat.markdown b/source/_components/synology_chat.markdown
index 0e2831e7f78..4f42943f3f9 100644
--- a/source/_components/synology_chat.markdown
+++ b/source/_components/synology_chat.markdown
@@ -5,8 +5,6 @@ ha_release: 0.65
logo: synology.png
ha_category:
- Notifications
-redirect_from:
- - /components/notify.synology_chat/
---
The `synology_chat` notification platform allows you to deliver notifications to your [Synology Chat](https://www.synology.com/en-us/dsm/feature/chat) install as a Synology Chat bot.
diff --git a/source/_components/synology_srm.markdown b/source/_components/synology_srm.markdown
index 60eeb162853..1bddf1875fc 100644
--- a/source/_components/synology_srm.markdown
+++ b/source/_components/synology_srm.markdown
@@ -5,8 +5,6 @@ logo: synology.png
ha_category:
- Presence Detection
ha_release: 0.87
-redirect_from:
- - /components/device_tracker.synology_srm/
---
This platform allows you to detect presence by looking at connected devices to a [Synology SRM](https://www.synology.com/en-us/srm) router.
diff --git a/source/_components/synologydsm.markdown b/source/_components/synologydsm.markdown
index 8458bb31161..29c40eb41df 100644
--- a/source/_components/synologydsm.markdown
+++ b/source/_components/synologydsm.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.32
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.synologydsm/
---
The `synologydsm` sensor platform allows getting various statistics from your [Synology NAS](https://www.synology.com).
diff --git a/source/_components/syslog.markdown b/source/_components/syslog.markdown
index 8e3d3863223..ae22bfe656d 100644
--- a/source/_components/syslog.markdown
+++ b/source/_components/syslog.markdown
@@ -5,8 +5,6 @@ logo: syslog.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.syslog/
---
The `syslog` platform allows you to deliver notifications from Home Assistant to the local syslog.
diff --git a/source/_components/systemmonitor.markdown b/source/_components/systemmonitor.markdown
index d0df421b127..f41871471a9 100644
--- a/source/_components/systemmonitor.markdown
+++ b/source/_components/systemmonitor.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: pre 0.7
ha_iot_class: Local Push
-redirect_from:
- - /components/sensor.systemmonitor/
---
The `systemmonitor` sensor platform allows you to monitor disk usage,
diff --git a/source/_components/tado.markdown b/source/_components/tado.markdown
index d0978b83a3a..d6c43c50643 100644
--- a/source/_components/tado.markdown
+++ b/source/_components/tado.markdown
@@ -9,10 +9,6 @@ ha_category:
- Sensor
ha_release: 0.41
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.tado/
- - /components/device_tracker.tado/
- - /components/sensor.tado/
---
The `tado` integration platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website.
diff --git a/source/_components/tahoma.markdown b/source/_components/tahoma.markdown
index cd16cd993c0..104bf7368ba 100644
--- a/source/_components/tahoma.markdown
+++ b/source/_components/tahoma.markdown
@@ -11,12 +11,6 @@ ha_category:
- Sensor
ha_release: 0.59
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.tahoma/
- - /components/cover.tahoma/
- - /components/scene.tahoma/
- - /components/switch.tahoma/
- - /components/sensor.tahoma/
---
The `Tahoma` integration 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.
diff --git a/source/_components/tank_utility.markdown b/source/_components/tank_utility.markdown
index 2cc3074733e..4832d1d4df1 100644
--- a/source/_components/tank_utility.markdown
+++ b/source/_components/tank_utility.markdown
@@ -5,8 +5,6 @@ logo: tank_utility.png
ha_category:
- Energy
ha_release: 0.53
-redirect_from:
- - /components/sensor.tank_utility/
---
Add [Tank Utility](https://www.tankutility.com/) propane tank monitors to Home Assistant.
diff --git a/source/_components/tapsaff.markdown b/source/_components/tapsaff.markdown
index 6cdea93cd9d..2f3cc74b4f6 100644
--- a/source/_components/tapsaff.markdown
+++ b/source/_components/tapsaff.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.47
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.tapsaff/
---
The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk).
diff --git a/source/_components/tautulli.markdown b/source/_components/tautulli.markdown
index c08eab9d88a..f36d6b03ffe 100644
--- a/source/_components/tautulli.markdown
+++ b/source/_components/tautulli.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.82
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.tautulli/
---
The `tautulli` sensor platform will monitor activity on a given [Tautulli Server][tautulli]. It will create a sensor that shows the number of currently active streams as the state. If you click the sensor for more details it will show you more statistics, the following stats are available by default:
diff --git a/source/_components/tcp.markdown b/source/_components/tcp.markdown
index 8ae8b6ac261..2beb8ec07b4 100644
--- a/source/_components/tcp.markdown
+++ b/source/_components/tcp.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.14
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.tcp/
- - /components/sensor.tcp/
---
The TCP integration allows the integration of some services for which a specific Home Assistant integration does not exist. If the service communicates over a TCP socket with a simple request/reply mechanism then the chances are that this integration will allow integration with it.
diff --git a/source/_components/ted5000.markdown b/source/_components/ted5000.markdown
index 2bcab28ad80..c700a1504ee 100644
--- a/source/_components/ted5000.markdown
+++ b/source/_components/ted5000.markdown
@@ -6,8 +6,6 @@ ha_category:
- Energy
ha_release: "0.30"
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.ted5000/
---
The `ted 5000` monitors electricity consumption/production by connecting to the [TED](http://www.theenergydetective.com/home) gateway, itself connected to one or several Measuring Transmitting Units (MTU). The platform creates up to two sensors per MTU, one for Wattage the other for Voltage.
diff --git a/source/_components/teksavvy.markdown b/source/_components/teksavvy.markdown
index e967093ffef..2601d76fadb 100644
--- a/source/_components/teksavvy.markdown
+++ b/source/_components/teksavvy.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.62
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.teksavvy/
---
Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information into Home Assistant.
diff --git a/source/_components/telegram.markdown b/source/_components/telegram.markdown
index 6594709dc91..8540a88e96f 100644
--- a/source/_components/telegram.markdown
+++ b/source/_components/telegram.markdown
@@ -5,8 +5,6 @@ logo: telegram.png
ha_category:
- Notifications
ha_release: 0.7.5
-redirect_from:
- - /components/notify.telegram/
---
diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown
index fe01c913c8e..c10a42a6c73 100644
--- a/source/_components/telegram_bot.markdown
+++ b/source/_components/telegram_bot.markdown
@@ -10,9 +10,9 @@ ha_iot_class: Cloud Push
Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant.
-This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/components/telegram_bot.polling/) method or with the [webhooks](/components/telegram_bot.webhooks/) one, and trigger events when receiving messages.
+This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/components/polling) method or with the [webhooks](/components/webhooks) one, and trigger events when receiving messages.
-If you don't need to receive messages, you can use the [broadcast](/components/telegram_bot.broadcast/) platform instead.
+If you don't need to receive messages, you can use the [broadcast](/components/broadcast) platform instead.
## Notification services
@@ -166,7 +166,7 @@ Remove the bot from the chat group where it was added.
## `telegram` notification platform
-The [`telegram` notification platform](/components/notify.telegram/) requires the `telegram_bot` integration 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/telegram) requires the `telegram_bot` integration 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:
diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown
index cb9fe0be69d..7dac70abac8 100644
--- a/source/_components/tellduslive.markdown
+++ b/source/_components/tellduslive.markdown
@@ -13,12 +13,6 @@ ha_release: 0.11
ha_config_flow: true
ha_qa_scale: gold
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.tellduslive/
- - /components/cover.tellduslive/
- - /components/light.tellduslive/
- - /components/sensor.tellduslive/
- - /components/switch.tellduslive/
---
The `tellduslive` integration let you connect to [Telldus Live](https://live.telldus.com). It's cloud platform that connects to your Tellstick Net or Tellstick ZNet connected gear at home.
diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown
index 5299d147515..9ecd6476765 100644
--- a/source/_components/tellstick.markdown
+++ b/source/_components/tellstick.markdown
@@ -10,11 +10,6 @@ ha_category:
- Sensor
- Switch
ha_iot_class: Assumed State
-redirect_from:
- - /components/cover.tellstick/
- - /components/light.tellstick/
- - /components/sensor.tellstick/
- - /components/switch.tellstick/
---
The `tellstick` integration integrates [TellStick][tellstick-gateway] devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf).
diff --git a/source/_components/telnet.markdown b/source/_components/telnet.markdown
index 221ff25f97d..c996c2b794c 100644
--- a/source/_components/telnet.markdown
+++ b/source/_components/telnet.markdown
@@ -5,8 +5,6 @@ ha_category:
- Switch
ha_release: 0.54
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.telnet/
---
The `telnet` switch platform allows you to control devices with telnet commands.
diff --git a/source/_components/temper.markdown b/source/_components/temper.markdown
index 15cdff0f631..08e46aed119 100644
--- a/source/_components/temper.markdown
+++ b/source/_components/temper.markdown
@@ -5,8 +5,6 @@ ha_category:
- DIY
ha_iot_class: Local Push
ha_release: pre 0.7
-redirect_from:
- - /components/sensor.temper/
---
This `temper` sensor platform allows you to get the current temperature from a TEMPer device.
diff --git a/source/_components/template.markdown b/source/_components/template.markdown
index ebda7f158cf..5422c74daf7 100644
--- a/source/_components/template.markdown
+++ b/source/_components/template.markdown
@@ -7,8 +7,6 @@ ha_release: 0.12
ha_iot_class: Local Push
logo: home-assistant.png
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.template/
---
The `template` platform supports sensors which get their values from other entities.
@@ -313,7 +311,7 @@ sensor:
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions).
-This template contains no entities that will trigger an update, so we add an `entity_id:` line with an entity that will force an update - here we're using a [date sensor](/components/sensor.time_date/) to get a daily update:
+This template contains no entities that will trigger an update, so we add an `entity_id:` line with an entity that will force an update - here we're using a [date sensor](/components/time_date) to get a daily update:
{% raw %}
diff --git a/source/_components/tensorflow.markdown b/source/_components/tensorflow.markdown
index 11253c3af22..048ec6a34da 100644
--- a/source/_components/tensorflow.markdown
+++ b/source/_components/tensorflow.markdown
@@ -6,8 +6,6 @@ ha_category:
- Image Processing
ha_iot_class: Local Polling
ha_release: 0.82
-redirect_from:
- - /components/image_processing.tensorflow/
---
The `tensorflow` image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown
index 46111f4b809..f80a34a1fda 100644
--- a/source/_components/tesla.markdown
+++ b/source/_components/tesla.markdown
@@ -12,13 +12,6 @@ ha_category:
- Switch
ha_release: 0.53
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.tesla/
- - /components/device_tracker.tesla/
- - /components/climate.tesla/
- - /components/lock.tesla/
- - /components/sensor.tesla/
- - /components/switch.tesla/
---
The `Tesla` integration offers integration with the [Tesla](https://auth.tesla.com/login) cloud service and provides presence detection as well as sensors such as charger state and temperature.
diff --git a/source/_components/tfiac.markdown b/source/_components/tfiac.markdown
index b266ce4d429..6590d8ff4d9 100644
--- a/source/_components/tfiac.markdown
+++ b/source/_components/tfiac.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.91
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.tfiac/
---
The `tfiac` integration integrates several vendors air conditioning systems, that uses the Tfiac mobile app, into Home Assistant. App currently available at [Play Store](https://play.google.com/store/apps/details?id=com.tcl.export) and [App Store](https://itunes.apple.com/app/tfiac/id1059938398).
diff --git a/source/_components/thermoworks_smoke.markdown b/source/_components/thermoworks_smoke.markdown
index 3fd29769769..752bf0679d4 100644
--- a/source/_components/thermoworks_smoke.markdown
+++ b/source/_components/thermoworks_smoke.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.81
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.thermoworks_smoke/
---
The `thermoworks_smoke` sensor platform pulls data for your [ThermoWorks Smoke Thermometer](https://www.thermoworks.com/Smoke).
diff --git a/source/_components/thethingsnetwork.markdown b/source/_components/thethingsnetwork.markdown
index baae607ca4b..f9ae8e7aace 100644
--- a/source/_components/thethingsnetwork.markdown
+++ b/source/_components/thethingsnetwork.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.55
ha_iot_class: Configurable
-redirect_from:
- - /components/sensor.thethingsnetwork/
---
The `thethingsnetwork` integration allows one to interact with the [The Things Network](https://www.thethingsnetwork.org). This community-driven and open network supports [LoRaWAN](https://www.lora-alliance.org/) for long range (~5 to 15km) communication with a low bandwidth (51 bytes/message). [Gateways](https://www.thethingsnetwork.org/docs/gateways/) transfers the received data from the sensors to the The Things Network.
diff --git a/source/_components/thinkingcleaner.markdown b/source/_components/thinkingcleaner.markdown
index 20952495404..52bb0ec4dec 100644
--- a/source/_components/thinkingcleaner.markdown
+++ b/source/_components/thinkingcleaner.markdown
@@ -7,9 +7,6 @@ ha_category:
- Switch
ha_iot_class: Local Polling
ha_release: 0.18
-redirect_from:
- - /components/sensor.thinkingcleaner/
- - /components/switch.thinkingcleaner/
---
There is currently support for the following device types within Home Assistant:
diff --git a/source/_components/thomson.markdown b/source/_components/thomson.markdown
index 9033a982497..a49644bd2b0 100644
--- a/source/_components/thomson.markdown
+++ b/source/_components/thomson.markdown
@@ -5,8 +5,6 @@ logo: technicolor.png
ha_category:
- Presence Detection
ha_release: 0.7
-redirect_from:
- - /components/device_tracker.thomson/
---
diff --git a/source/_components/threshold.markdown b/source/_components/threshold.markdown
index da70c25cf05..509f7e023d8 100644
--- a/source/_components/threshold.markdown
+++ b/source/_components/threshold.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.34
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.threshold/
---
The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed. It support also a range if `lower` and `upper` are given.
diff --git a/source/_components/tibber.markdown b/source/_components/tibber.markdown
index 1997db3a65d..a7db3602caf 100644
--- a/source/_components/tibber.markdown
+++ b/source/_components/tibber.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_release: 0.80
ha_qa_scale: silver
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/notify.tibber/
- - /components/sensor.tibber/
---
The `tibber` integration provides a sensor with the current electricity price if you are a [Tibber](https://tibber.com/) customer.
diff --git a/source/_components/tikteck.markdown b/source/_components/tikteck.markdown
index e237c431538..5249dc15171 100644
--- a/source/_components/tikteck.markdown
+++ b/source/_components/tikteck.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Local Polling
logo: tikteck.png
ha_release: 0.36
-redirect_from:
- - /components/light.tikteck/
---
Support for the Bluetooth smart bulb from [Tikteck](http://www.tikteck.com). To enable these lights, add the following lines to your `configuration.yaml` file:
@@ -43,7 +41,7 @@ devices:
The password can be obtained from an Android device using an app like [aLogcat](https://play.google.com/store/apps/details?id=rs.pedjaapps.alogcatroot.app&hl=en) or the `adb logcat` command for phones in developer mode. Look for a line like:
-```
+```txt
E LedoBleSDK: login =skName=======[Smart Light]=======skPw==[password]
```
diff --git a/source/_components/tile.markdown b/source/_components/tile.markdown
index b9eda0b6b75..f2eb9afe5e9 100644
--- a/source/_components/tile.markdown
+++ b/source/_components/tile.markdown
@@ -6,8 +6,6 @@ ha_release: 0.58
ha_category:
- Presence Detection
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/device_tracker.tile/
---
The `tile` platform allows Home Assistant to utilize [Tile® Bluetooth trackers](https://www.thetileapp.com).
diff --git a/source/_components/time_date.markdown b/source/_components/time_date.markdown
index e9df8e34161..c8d24539e9c 100644
--- a/source/_components/time_date.markdown
+++ b/source/_components/time_date.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Push
ha_release: pre 0.7
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.time_date/
---
The time and date (`time_date`) sensor platform simple displays the time in various formats, the date, or both.
diff --git a/source/_components/tod.markdown b/source/_components/tod.markdown
index 7ce320b4954..6dcad276aa1 100644
--- a/source/_components/tod.markdown
+++ b/source/_components/tod.markdown
@@ -7,8 +7,6 @@ ha_release: 0.89
ha_iot_class: Local Push
logo: home-assistant.png
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.tod/
---
The `tod` platform supports binary sensors which get their values by checking if the current time is within defined time ranges.
diff --git a/source/_components/todoist.markdown b/source/_components/todoist.markdown
index f8fc8c8cc50..1632d27aaff 100644
--- a/source/_components/todoist.markdown
+++ b/source/_components/todoist.markdown
@@ -6,8 +6,6 @@ ha_category:
- Calendar
ha_iot_class: Cloud Polling
ha_release: 0.54
-redirect_from:
- - /components/calendar.todoist/
---
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
diff --git a/source/_components/tomato.markdown b/source/_components/tomato.markdown
index 1ef681603fd..9b3d65b12fa 100644
--- a/source/_components/tomato.markdown
+++ b/source/_components/tomato.markdown
@@ -5,8 +5,6 @@ logo: tomato.png
ha_category:
- Presence Detection
ha_release: pre 0.7
-redirect_from:
- - /components/device_tracker.tomato/
---
The `tomato` platform requires an extra config variable called `http_id`. The
@@ -15,7 +13,7 @@ value can be obtained by logging in to the Tomato admin interface and search for
Because of a limitation in Tomato's API, this platform will only track wireless devices.
If tracking wired devices like a Philips Hue Hub is necessary,
-it is possible to use another platform like [Nmap](/components/device_tracker.nmap_tracker/).
+it is possible to use another platform like [Nmap](/components/nmap_tracker).
To use this device tracker in your installation,
add the following to your `configuration.yaml` file:
diff --git a/source/_components/toon.markdown b/source/_components/toon.markdown
index 948b4ce0fd5..ca9b5c45d6a 100644
--- a/source/_components/toon.markdown
+++ b/source/_components/toon.markdown
@@ -9,10 +9,6 @@ ha_category:
ha_release: 0.56
logo: toon.png
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/climate.toon/
- - /components/sensor.toon/
- - /components/switch.toon/
---
The `toon` integration platform can be used to control your Toon thermostat. This integration adds a climate device for your Toon thermostat, sensors for power and gas consumption, sensors for solar production and several binary sensors for things like boiler burner on/off, hot tap water and boiler health status.
diff --git a/source/_components/torque.markdown b/source/_components/torque.markdown
index 3ac8205297b..b5718f2810e 100644
--- a/source/_components/torque.markdown
+++ b/source/_components/torque.markdown
@@ -6,8 +6,6 @@ ha_category:
- Car
ha_release: "0.10"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.torque/
---
The `torque` platform will allow you to monitor [Torque](http://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application.
diff --git a/source/_components/totalconnect.markdown b/source/_components/totalconnect.markdown
index 8cadb20b75c..fbe62169a24 100644
--- a/source/_components/totalconnect.markdown
+++ b/source/_components/totalconnect.markdown
@@ -5,8 +5,6 @@ logo: honeywell-tc.png
ha_category:
- Alarm
ha_release: 0.42
-redirect_from:
- - /components/alarm_control_panel.totalconnect/
---
The `totalconnect` platform provides connectivity with the Honeywell TotalConnect alarm systems used by many alarm companies.
diff --git a/source/_components/touchline.markdown b/source/_components/touchline.markdown
index be3ec2271b0..2a074b9b795 100644
--- a/source/_components/touchline.markdown
+++ b/source/_components/touchline.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.61
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.touchline/
---
The `touchline` climate platform let you control [ROTH Touchline](http://www.roth-nordic.dk/dk/roth-touchline-tradloes-gulvvarmeregulering-1475.htm) floor heating thermostats from Roth.
diff --git a/source/_components/tplink.markdown b/source/_components/tplink.markdown
index 00231ae17fe..95c9aa87366 100644
--- a/source/_components/tplink.markdown
+++ b/source/_components/tplink.markdown
@@ -9,10 +9,6 @@ ha_category:
- Presence Detection
ha_release: 0.89
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.tplink/
- - /components/light.tplink/
- - /components/device_tracker.tplink/
---
The `tplink` integration allows you to control your [TP-Link Smart Home Devices](https://www.tp-link.com/kasa-smart/) such as smart plugs and smart bulbs.
diff --git a/source/_components/tplink_lte.markdown b/source/_components/tplink_lte.markdown
index 596ac218ecd..8089adc25ff 100644
--- a/source/_components/tplink_lte.markdown
+++ b/source/_components/tplink_lte.markdown
@@ -7,8 +7,6 @@ ha_category:
- Network
- Notifications
ha_iot_class: Local Polling
-redirect_from:
- - /components/notify.tplink_lte/
---
The TP-Link LTE integration for Home Assistant allows you to observe and control TP-Link LTE routers, currently only tested with TL-MR6400 (firmware 1.4.0).
diff --git a/source/_components/traccar.markdown b/source/_components/traccar.markdown
index 3f9706bb1e1..d7ee6a91cf2 100644
--- a/source/_components/traccar.markdown
+++ b/source/_components/traccar.markdown
@@ -6,8 +6,6 @@ ha_release: 0.83
ha_category:
- Presence Detection
ha_iot_class: Local Polling
-redirect_from:
- - /components/device_tracker.traccar/
---
`Traccar` uses GPS for tracking and has support for over 1500 different types of devices. One option is to track the [Traccar Client](https://www.traccar.org/client/) app on a smartphone via `webhook`. The other option is to connect to an existing [Traccar Server](https://www.traccar.org/server/) installation which is also available as Hass.io addon.
diff --git a/source/_components/trackr.markdown b/source/_components/trackr.markdown
index 2d9d52a779d..d5174a0721d 100644
--- a/source/_components/trackr.markdown
+++ b/source/_components/trackr.markdown
@@ -6,8 +6,6 @@ ha_release: 0.36
ha_category:
- Presence Detection
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/device_tracker.trackr/
---
diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown
index 10bb09ac82d..9364bb6f3fc 100644
--- a/source/_components/tradfri.markdown
+++ b/source/_components/tradfri.markdown
@@ -11,10 +11,6 @@ ha_category:
- Light
- Sensor
- Switch
-redirect_from:
- - /components/light.tradfri/
- - /components/sensor.tradfri/
- - /components/switch.tradfri/
---
The `tradfri` integration support the IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge). The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it and Home Assistant will automatically discover the gateways presence on your local network, if `discovery:` is present in your `configuration.yaml` file.
diff --git a/source/_components/trafikverket_weatherstation.markdown b/source/_components/trafikverket_weatherstation.markdown
index e661dde93ff..94b9fa8a320 100644
--- a/source/_components/trafikverket_weatherstation.markdown
+++ b/source/_components/trafikverket_weatherstation.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.66
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.trafikverket_weatherstation/
---
Showing weather information provided by [Trafikverket](https://www.trafikverket.se/) weather stations in Sweden.
diff --git a/source/_components/transmission.markdown b/source/_components/transmission.markdown
index b0e43f3d3f7..d2b0e845285 100644
--- a/source/_components/transmission.markdown
+++ b/source/_components/transmission.markdown
@@ -8,9 +8,6 @@ ha_category:
- Sensor
ha_release: 0.87
ha_iot_class: Local Polling
-redirect_from:
- - /components/switch.transmission/
- - /components/sensor.transmission/
---
The `transmission` integration allows you to monitor your downloads with [Transmission](http://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information.
diff --git a/source/_components/transport_nsw.markdown b/source/_components/transport_nsw.markdown
index b4e872263f7..a98c96f938a 100644
--- a/source/_components/transport_nsw.markdown
+++ b/source/_components/transport_nsw.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.81
-redirect_from:
- - /components/sensor.transport_nsw/
---
The `transport_nsw` sensor will give you the time until the next departure from a Transport NSW stop for bus, train, light rail or ferry.
diff --git a/source/_components/travisci.markdown b/source/_components/travisci.markdown
index 8e6e4f46115..b7c661fd9ec 100644
--- a/source/_components/travisci.markdown
+++ b/source/_components/travisci.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.56
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.travisci/
---
With this sensor platform, you will be able to integrate the test build results reported by [Travis-CI](https://travis-ci.org/) working within Home Assistant.
diff --git a/source/_components/trend.markdown b/source/_components/trend.markdown
index 8621a4132f4..048290cec6a 100644
--- a/source/_components/trend.markdown
+++ b/source/_components/trend.markdown
@@ -7,8 +7,6 @@ logo: home-assistant.png
ha_release: 0.28
ha_iot_class: Local Push
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.trend/
---
The `trend` platform allows you to create sensors which show the trend of
diff --git a/source/_components/tuya.markdown b/source/_components/tuya.markdown
index 508e8a9b700..23a42089716 100644
--- a/source/_components/tuya.markdown
+++ b/source/_components/tuya.markdown
@@ -12,13 +12,6 @@ ha_category:
- Switch
ha_iot_class: Cloud Polling
ha_release: 0.74
-redirect_from:
- - /components/climate.tuya/
- - /components/cover.tuya/
- - /components/fan.tuya/
- - /components/light.tuya/
- - /components/scene.tuya/
- - /components/switch.tuya/
---
The `tuya` integration is the main integration to integrate all [Tuya Smart](https://www.tuya.com) related platforms. You will need your Tuya account information (username, password and account country code) to discover and control devices which related to your account.
diff --git a/source/_components/twilio.markdown b/source/_components/twilio.markdown
index acc1f236a1d..c92c3a26d53 100644
--- a/source/_components/twilio.markdown
+++ b/source/_components/twilio.markdown
@@ -36,7 +36,7 @@ auth_token:
### 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) integrations to utilize the notification functionality.
+After configuring the base Twilio component, add and configure either or both of the [twilio SMS](/components/twilio_sms) and [twilio Phone](/components/twilio_call) integrations to utilize the notification functionality.
To be able to receive events from Twilio, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP integration ([docs](/components/http/#base_url)).
diff --git a/source/_components/twilio_call.markdown b/source/_components/twilio_call.markdown
index e6e6649a859..bfa821de970 100644
--- a/source/_components/twilio_call.markdown
+++ b/source/_components/twilio_call.markdown
@@ -5,8 +5,6 @@ logo: twilio.png
ha_category:
- Notifications
ha_release: 0.37
-redirect_from:
- - /components/notify.twilio_call/
---
The `twilio_call` notification platform enables sending notifications via Voice, powered by [Twilio](https://twilio.com).
diff --git a/source/_components/twilio_sms.markdown b/source/_components/twilio_sms.markdown
index 94b12da0dec..fb9d51bcc3b 100644
--- a/source/_components/twilio_sms.markdown
+++ b/source/_components/twilio_sms.markdown
@@ -5,8 +5,6 @@ logo: twilio.png
ha_category:
- Notifications
ha_release: "0.20"
-redirect_from:
- - /components/notify.twilio_sms/
---
The `twilio` notification platform enables sending notifications via SMS, powered by [Twilio](https://twilio.com).
diff --git a/source/_components/twitch.markdown b/source/_components/twitch.markdown
index 5bebfa43bd4..2663cb79f81 100644
--- a/source/_components/twitch.markdown
+++ b/source/_components/twitch.markdown
@@ -6,8 +6,6 @@ ha_category:
- Social
ha_release: "0.10"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.twitch/
---
The `twitch` platform will allow you to monitor [Twitch](http://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
diff --git a/source/_components/twitter.markdown b/source/_components/twitter.markdown
index 8b3296a21c6..3ecf12d08bb 100644
--- a/source/_components/twitter.markdown
+++ b/source/_components/twitter.markdown
@@ -5,8 +5,6 @@ logo: twitter.png
ha_category:
- Notifications
ha_release: 0.12
-redirect_from:
- - /components/notify.twitter/
---
diff --git a/source/_components/ubee.markdown b/source/_components/ubee.markdown
index 31122e1fa63..03ac0b7e071 100644
--- a/source/_components/ubee.markdown
+++ b/source/_components/ubee.markdown
@@ -5,11 +5,9 @@ logo: ubee.png
ha_category:
- Presence Detection
ha_release: 0.89
-redirect_from:
- - /components/device_tracker.ubee/
---
-This platform offers presence detection by looking at connected devices to a [Ubee Router](http://www.ubeeinteractive.com/products).
+This platform offers presence detection by looking at connected devices to a [Ubee Router](http://www.ubeeinteractive.com/).
To use a Ubee router in your installation, add the following to your `configuration.yaml` file:
@@ -51,7 +49,7 @@ Supported models:
-This integration uses
pyUbee library, which was tested with models listed above. If you have different model of
Ubee Router and it doesn't work with this component, please
create pyUbee issue to request for support for your model.
+This integration uses
pyUbee library, which was tested with models listed above. If you have different model of
Ubee Router and it doesn't work with this component, please
create pyUbee issue to request for support for your model.
diff --git a/source/_components/ubus.markdown b/source/_components/ubus.markdown
index 2e7c30c7c08..9fdd04c91a2 100644
--- a/source/_components/ubus.markdown
+++ b/source/_components/ubus.markdown
@@ -5,11 +5,9 @@ logo: openwrt.png
ha_category:
- Presence Detection
ha_release: 0.7.6
-redirect_from:
- - /components/device_tracker.ubus/
---
-_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/components/device_tracker.openwrt/)._
+_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/components/openwrt)._
This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router.
@@ -103,11 +101,11 @@ logger:
homeassistant.components.device_tracker: debug
```
3. In another window, tail the logfile in the configuration directory:
-```
+```bash
$ tail -f home-assistant.log | grep device_tracker
```
4. If you see a python stack trace like the following, check your configuration for correct username/password.
-```
+```txt
17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker
17-04-28 10:43:30 INFO (MainThread) [homeassistant.loader] Loaded device_tracker.ubus from homeassistant.components.device_tracker.ubus
17-04-28 10:43:30 INFO (MainThread) [homeassistant.setup] Setting up device_tracker
@@ -122,7 +120,7 @@ $ tail -f home-assistant.log | grep device_tracker
17-04-28 10:43:31 INFO (MainThread) [homeassistant.core] Bus:Handling
```
5. If you see lines like the following repeated at intervals that correspond to the check interval from the config (12 seconds by default), then Home Assistant is correctly polling the router, and you'll need to look at what the router is sending back.
-```
+```txt
17-04-28 10:50:34 INFO (Thread-7) [homeassistant.components.device_tracker.ubus] Checking ARP
```
@@ -140,7 +138,7 @@ $ sudo tcpdump -nnvXSs 0 -w /var/tmp/dt.out 'host and port 80'
6. Transfer `/var/tmp/dt.out` to the machine where you're running Wireshark and either drag/drop it onto the Wireshark window or use File/Open to open the capture file.
7. In the window that opens, look for the first line that reads `POST /ubus`. Right click on this line, choose Follow and then HTTP Stream to view just the HTTP stream for this connection.
8. The first `POST` will show Home Assistant logging into ubus and receiving a session identifier back. It will look something like this:
-```
+```txt
POST /ubus HTTP/1.1
Host: 10.68.0.1
Accept: */*
@@ -160,7 +158,7 @@ Connection: keep-alive
```
9. In the response above, the portion that reads `"result":[0,` indicates that ubus accepted the login without issue. If this is not `0`, search online for what ubus status corresponds to the number you're receiving and address any issues that it brings to light.
10. Otherwise, back in the main Wireshark window click the `x` in the right side of the filter bar where it reads `tcp.stream eq 0`. Scroll down until you find the next `POST /ubus` line and view the HTTP stream again. This request is Home Assistant actually requesting information and will look something like the following:
-```
+```txt
POST /ubus HTTP/1.1
Host: 10.68.0.1
Accept: */*
diff --git a/source/_components/ue_smart_radio.markdown b/source/_components/ue_smart_radio.markdown
index 21b32777edb..58ab2844572 100644
--- a/source/_components/ue_smart_radio.markdown
+++ b/source/_components/ue_smart_radio.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: "0.60"
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/media_player.ue_smart_radio/
---
diff --git a/source/_components/uk_transport.markdown b/source/_components/uk_transport.markdown
index e3b1e0e6c4b..c34d7ddb930 100644
--- a/source/_components/uk_transport.markdown
+++ b/source/_components/uk_transport.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: "0.50"
-redirect_from:
- - /components/sensor.uk_transport/
---
The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](http://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](http://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.
@@ -78,7 +76,7 @@ These attributes are available for each departing train:
Refer to the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json) for definitions.
-Attributes can be accessed using the [template sensor](/components/sensor.template/) as per this example:
+Attributes can be accessed using the [template sensor](/components/template) as per this example:
```yaml
# Example configuration.yaml entry for a template sensor to access the attributes of the next departing train.
diff --git a/source/_components/unifi.markdown b/source/_components/unifi.markdown
index a10cb1a4050..7082fbce7d4 100644
--- a/source/_components/unifi.markdown
+++ b/source/_components/unifi.markdown
@@ -9,9 +9,6 @@ ha_category:
ha_release: 0.81
ha_iot_class: Local Polling
ha_qa_scale: platinum
-redirect_from:
- - /components/device_tracker.unifi/
- - /components/switch.unifi/
---
[UniFi](https://unifi-sdn.ubnt.com/) by [Ubiquiti Networks, inc.](https://www.ubnt.com/) is a software that binds gateways, switches and wireless access points together with one graphical front end.
diff --git a/source/_components/unifi_direct.markdown b/source/_components/unifi_direct.markdown
index a519f58c3b8..86810b7c168 100644
--- a/source/_components/unifi_direct.markdown
+++ b/source/_components/unifi_direct.markdown
@@ -6,12 +6,10 @@ ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.59
-redirect_from:
- - /components/device_tracker.unifi_direct/
---
-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](/components/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/universal.markdown b/source/_components/universal.markdown
index 5e0b5b4d820..5a3399bf41c 100644
--- a/source/_components/universal.markdown
+++ b/source/_components/universal.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_qa_scale: internal
ha_release: 0.11
-redirect_from:
- - /components/media_player.universal/
---
Universal Media Players combine multiple existing entities in Home Assistant into one media player entity. This is used for creating a single entity that controls an entire media center.
@@ -135,7 +133,7 @@ media_player:
#### Kodi CEC-TV control
-In this example, a [Kodi Media Player](/components/media_player.kodi/) runs in a CEC capable device (OSMC/OpenElec running in a Raspberry Pi 24/7, for example), and, with the JSON-CEC Kodi addon installed, it can turn on and off the attached TV.
+In this example, a [Kodi Media Player](/components/kodi) runs in a CEC capable device (OSMC/OpenElec running in a Raspberry Pi 24/7, for example), and, with the JSON-CEC Kodi addon installed, it can turn on and off the attached TV.
We store the state of the attached TV in a hidden [input boolean](/components/input_boolean/), so we can differentiate the TV being on or off, while Kodi is always 'idle', and use the universal media player to render its state with a template. We can hide the Kodi Media Player too, and only show the universal one, which now can differentiate between the 'idle' and the 'off' state (being the second when it is idle and the TV is off).
diff --git a/source/_components/upc_connect.markdown b/source/_components/upc_connect.markdown
index 1033c265113..7658315ba7c 100644
--- a/source/_components/upc_connect.markdown
+++ b/source/_components/upc_connect.markdown
@@ -5,8 +5,6 @@ logo: upc.png
ha_category:
- Presence Detection
ha_release: 0.36
-redirect_from:
- - /components/device_tracker.upc_connect/
---
diff --git a/source/_components/upcloud.markdown b/source/_components/upcloud.markdown
index 5ad5af1f602..4147a2440d7 100644
--- a/source/_components/upcloud.markdown
+++ b/source/_components/upcloud.markdown
@@ -8,9 +8,6 @@ ha_category:
ha_release: 0.65
logo: upcloud.png
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.upcloud/
- - /components/switch.upcloud/
---
The `upcloud` integration allows you to access the information about your [UpCloud](https://upcloud.com/) servers from Home Assistant.
diff --git a/source/_components/upnp.markdown b/source/_components/upnp.markdown
index 3c9d37a4725..83f2d8376ba 100644
--- a/source/_components/upnp.markdown
+++ b/source/_components/upnp.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.18
ha_iot_class: "Local Polling"
-redirect_from:
- - /components/sensor.upnp/
---
The `upnp` integration enables you to collect network statistics from your router such as bytes in/out and packets in/out. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router.
diff --git a/source/_components/uptime.markdown b/source/_components/uptime.markdown
index cbbf15f50f6..7ecee673608 100644
--- a/source/_components/uptime.markdown
+++ b/source/_components/uptime.markdown
@@ -7,8 +7,6 @@ ha_iot_class: Local Push
logo: home-assistant.png
ha_release: 0.56
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.uptime/
---
The `uptime` sensor platform displays the time since the last Home Assistant restart.
diff --git a/source/_components/uptimerobot.markdown b/source/_components/uptimerobot.markdown
index 6e931b3e2e5..06ddefdd0e9 100644
--- a/source/_components/uptimerobot.markdown
+++ b/source/_components/uptimerobot.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_release: 0.72
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.uptimerobot/
---
The `uptimerobot` binary sensor platform allows you get the status for all of your monitors from your account on [Uptime Robot.]( https://uptimerobot.com).
diff --git a/source/_components/uscis.markdown b/source/_components/uscis.markdown
index a28a79bb284..91ee0b7d97f 100644
--- a/source/_components/uscis.markdown
+++ b/source/_components/uscis.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.68
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.uscis/
---
The `uscis` sensor integration 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)
diff --git a/source/_components/usgs_earthquakes_feed.markdown b/source/_components/usgs_earthquakes_feed.markdown
index 0543c2269f4..ef639c6c9b4 100644
--- a/source/_components/usgs_earthquakes_feed.markdown
+++ b/source/_components/usgs_earthquakes_feed.markdown
@@ -6,8 +6,6 @@ ha_category:
- Geolocation
ha_iot_class: Cloud Polling
ha_release: 0.84
-redirect_from:
- - /components/geo_location.usgs_earthquakes_feed/
---
The `usgs_earthquakes_feed` platform lets you integrate a GeoJSON feed provided by the [U.S. Geological Survey](https://earthquake.usgs.gov/) with information about seismic events like earthquakes. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
diff --git a/source/_components/utility_meter.markdown b/source/_components/utility_meter.markdown
index 59af11842ce..7cbd100abef 100644
--- a/source/_components/utility_meter.markdown
+++ b/source/_components/utility_meter.markdown
@@ -147,7 +147,7 @@ automation:
## Advanced Configuration for DSMR users
-When using the [DSMR component](/components/sensor.dsmr/) to get data from the utility meter, each tariff (peak and off-peak) has a separate sensor. Additionally, there is a separate sensor for gas consumption. The meter switches automatically between tariffs, so an automation is not necessary in this case. But, you do have to setup a few more instances of the `utility_meter` component.
+When using the [DSMR component](/components/dsmr) to get data from the utility meter, each tariff (peak and off-peak) has a separate sensor. Additionally, there is a separate sensor for gas consumption. The meter switches automatically between tariffs, so an automation is not necessary in this case. But, you do have to setup a few more instances of the `utility_meter` component.
If you want to create a daily and monthly sensor for each tariff, you have to track separate sensors:
diff --git a/source/_components/uvc.markdown b/source/_components/uvc.markdown
index 2b1634b98d2..56a8711f279 100644
--- a/source/_components/uvc.markdown
+++ b/source/_components/uvc.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: 0.13
ha_iot_class: Local Polling
-redirect_from:
- - /components/camera.uvc/
---
The `uvc` camera platform allows you to integrate [UniFi Video Camera (UVC)](https://www.ubnt.com/products/#unifivideo) into Home Assistant.
diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown
index bf80d589eb4..3d6b54f915f 100644
--- a/source/_components/vacuum.mqtt.markdown
+++ b/source/_components/vacuum.mqtt.markdown
@@ -419,7 +419,7 @@ Vacuum send_command allows three parameters:
If params are not provided it sends command as payload to MQTT send_command topic.
If params are provided service sends json as payload with such structure:
-```
+```json
{
'command': 'command',
'param1-key': 'param1-value'
@@ -428,7 +428,7 @@ If params are provided service sends json as payload with such structure:
Service trigger example:
-```
+```yaml
- alias: Push command based on sensor
trigger:
- platform: state
@@ -494,7 +494,7 @@ Vacuum send_command allows three parameters:
If params are not provided it sends command as payload to MQTT send_command topic.
If params are provided service sends json as payload with such structure:
-```
+```json
{
'command': 'command',
'param1-key': 'param1-value'
@@ -503,7 +503,7 @@ If params are provided service sends json as payload with such structure:
Service trigger example:
-```
+```yaml
- alias: Push command based on sensor
trigger:
- platform: state
diff --git a/source/_components/vacuum.template.markdown b/source/_components/vacuum.template.markdown
index bb5c7bad34a..d227e72e0b9 100644
--- a/source/_components/vacuum.template.markdown
+++ b/source/_components/vacuum.template.markdown
@@ -94,7 +94,7 @@ vacuum:
### Control vacuum with Harmony Hub
-This example shows how you can use a Template Vacuum to control an IR vacuum cleaner using the [Harmony Hub Remote component](/components/remote.harmony/).
+This example shows how you can use a Template Vacuum to control an IR vacuum cleaner using the [Harmony Hub Remote component](/components/harmony).
```yaml
vacuum:
diff --git a/source/_components/vasttrafik.markdown b/source/_components/vasttrafik.markdown
index 1299626c45f..66c3c1e9331 100644
--- a/source/_components/vasttrafik.markdown
+++ b/source/_components/vasttrafik.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: "0.30"
-redirect_from:
- - /components/sensor.vasttrafik/
---
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.
diff --git a/source/_components/velbus.markdown b/source/_components/velbus.markdown
index 68d973de4ba..dd31e09655f 100644
--- a/source/_components/velbus.markdown
+++ b/source/_components/velbus.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_iot_class: Local Push
ha_release: "0.50"
-redirect_from:
- - /components/climate.velbus/
- - /components/sensor.velbus/
- - /components/binary_sensor.velbus/
- - /components/switch.velbus/
---
The `velbus` integration supports the Velbus USB, Velbus serial and a TCP/IP gateway.
diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown
index 9332c5a88b5..f2bac21439a 100644
--- a/source/_components/velux.markdown
+++ b/source/_components/velux.markdown
@@ -7,9 +7,6 @@ ha_category:
- Cover
ha_release: 0.49
ha_iot_class: Local Polling
-redirect_from:
- - /components/scene.velux/
- - /components/cover.velux/
---
[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
diff --git a/source/_components/venstar.markdown b/source/_components/venstar.markdown
index 0e827285edd..c589a30d121 100644
--- a/source/_components/venstar.markdown
+++ b/source/_components/venstar.markdown
@@ -6,8 +6,6 @@ ha_category:
- Climate
ha_release: 0.62
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.venstar/
---
diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown
index 8f2cf969c58..efd4870adb3 100644
--- a/source/_components/vera.markdown
+++ b/source/_components/vera.markdown
@@ -13,15 +13,6 @@ ha_category:
- Switch
- Climate
ha_release: pre 0.7
-redirect_from:
- - /components/binary_sensor.vera/
- - /components/cover.vera/
- - /components/light.vera/
- - /components/lock.vera/
- - /components/scene.vera/
- - /components/sensor.vera/
- - /components/switch.vera/
- - /components/climate.vera/
---
The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave devices.
diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown
index 66250963d66..4e2e9eb9d29 100644
--- a/source/_components/verisure.markdown
+++ b/source/_components/verisure.markdown
@@ -12,13 +12,6 @@ ha_category:
- Switch
ha_release: pre 0.7
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/alarm_control_panel.verisure/
- - /components/binary_sensor.verisure/
- - /components/camera.verisure/
- - /components/lock.verisure/
- - /components/sensor.verisure/
- - /components/switch.verisure/
---
Home Assistant has support to integrate your [Verisure](https://www.verisure.com/) devices.
diff --git a/source/_components/version.markdown b/source/_components/version.markdown
index 086207fd77a..7d3b14e7e0d 100644
--- a/source/_components/version.markdown
+++ b/source/_components/version.markdown
@@ -7,8 +7,6 @@ ha_iot_class: Local Push
logo: home-assistant.png
ha_release: 0.52
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.version/
---
The `version` sensor platform that can display the current Home Assistant versions.
@@ -82,7 +80,7 @@ sensor:
command: "cat /home/homeassistant/.homeassistant/.HA_VERSION"
```
-You might think that a [`rest` sensor](/components/sensor.rest/) could work,
+You might think that a [`rest` sensor](/components/rest) could work,
too,
but it will not as Home Assistant is not ready when the sensor gets initialized.
diff --git a/source/_components/vesync.markdown b/source/_components/vesync.markdown
index a6aa37dd1d1..69e0eb527df 100644
--- a/source/_components/vesync.markdown
+++ b/source/_components/vesync.markdown
@@ -5,8 +5,6 @@ logo: vesync.png
ha_category:
- Switch
ha_release: 0.66
-redirect_from:
- - /components/switch.vesync/
---
The `vesync` integration enables you to control Etekcity smart switches and outlets connected to the VeSync App.
diff --git a/source/_components/viaggiatreno.markdown b/source/_components/viaggiatreno.markdown
index 9b9b60db86d..e08db055af5 100644
--- a/source/_components/viaggiatreno.markdown
+++ b/source/_components/viaggiatreno.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.58
-redirect_from:
- - /components/sensor.viaggiatreno/
---
The `viaggiatreno` sensor will give you information about configured train ids and stations using the public [ViaggiaTreno](http://viaggiatreno.it) API.
diff --git a/source/_components/vizio.markdown b/source/_components/vizio.markdown
index 1189ef7198c..07f855340b6 100644
--- a/source/_components/vizio.markdown
+++ b/source/_components/vizio.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.49
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.vizio/
---
The `vizio` integration will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs and Sound Bars (2016+ models).
@@ -33,7 +31,7 @@ $ pip3 install -I .
```
Find your device using the following command:
-```
+```txt
pyvizio --ip=0 discover
```
diff --git a/source/_components/vlc.markdown b/source/_components/vlc.markdown
index 7bb57bfc232..6569acaa279 100644
--- a/source/_components/vlc.markdown
+++ b/source/_components/vlc.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.35
ha_iot_class: Local Polling
-redirect_from:
- - /components/media_player.vlc/
---
The `vlc` platform allows you to control [VLC media player](http://www.videolan.org/vlc/index.html).
diff --git a/source/_components/vlc_telnet.markdown b/source/_components/vlc_telnet.markdown
index d15e8a4fb32..7bef2182ebd 100644
--- a/source/_components/vlc_telnet.markdown
+++ b/source/_components/vlc_telnet.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.95
ha_iot_class: Local Polling
-redirect_from:
- - /components/vlc-telnet
---
The `vlc_telnet` platform allows you to control a [VLC media player](http://www.videolan.org/vlc/index.html) using the built in telnet interface.
diff --git a/source/_components/voicerss.markdown b/source/_components/voicerss.markdown
index e1b9a4625ff..f125858799a 100644
--- a/source/_components/voicerss.markdown
+++ b/source/_components/voicerss.markdown
@@ -5,8 +5,6 @@ logo: voicerss.png
ha_category:
- Text-to-speech
ha_release: 0.35
-redirect_from:
- - /components/tts.voicerss/
---
The `voicerss` text-to-speech platform uses [VoiceRSS](http://www.voicerss.org/) Text-to-Speech engine to read a text with natural sounding voices.
diff --git a/source/_components/volkszaehler.markdown b/source/_components/volkszaehler.markdown
index a7b5db9b73c..93b45faf79a 100644
--- a/source/_components/volkszaehler.markdown
+++ b/source/_components/volkszaehler.markdown
@@ -6,8 +6,6 @@ ha_category:
- System Monitor
ha_iot_class: Local Polling
ha_release: 0.78
-redirect_from:
- - /components/sensor.volkszaehler/
---
The `volkszaehler` sensor platform is consuming the system information provided by the [Volkszaehler](https://wiki.volkszaehler.org/) API.
diff --git a/source/_components/volumio.markdown b/source/_components/volumio.markdown
index 52d64c5e121..9fda87390d6 100644
--- a/source/_components/volumio.markdown
+++ b/source/_components/volumio.markdown
@@ -5,8 +5,6 @@ logo: volumio.png
ha_category:
- Media Player
ha_release: 0.41
-redirect_from:
- - /components/media_player.volumio/
---
The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant.
diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown
index 00d46e2bba2..c524d44812d 100644
--- a/source/_components/volvooncall.markdown
+++ b/source/_components/volvooncall.markdown
@@ -6,12 +6,6 @@ ha_category:
- Car
ha_release: 0.39
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.volvooncall/
- - /components/lock.volvooncall/
- - /components/sensor.volvooncall/
- - /components/switch.volvooncall/
- - /components/device_tracker.volvooncall/
---
The `volvooncall` integration offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level.
diff --git a/source/_components/vultr.markdown b/source/_components/vultr.markdown
index 3cec3889126..f4d8c54b078 100644
--- a/source/_components/vultr.markdown
+++ b/source/_components/vultr.markdown
@@ -9,10 +9,6 @@ ha_category:
ha_release: 0.58
logo: vultr.png
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/binary_sensor.vultr/
- - /components/sensor.vultr/
- - /components/switch.vultr/
---
The `vultr` integration allows you to access information about and interact with your [Vultr](https://www.vultr.com) subscriptions (Virtual Private Servers) from Home Assistant.
diff --git a/source/_components/w800rf32.markdown b/source/_components/w800rf32.markdown
index 001a8404dcd..80833d5c6b5 100644
--- a/source/_components/w800rf32.markdown
+++ b/source/_components/w800rf32.markdown
@@ -7,8 +7,6 @@ ha_category:
- Binary Sensor
ha_release: 0.83
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.w800rf32/
---
The `w800rf32` integration supports W800RF32 devices by [WGL Designs](http://www.wgldesigns.com/w800.html) which
diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown
index c20a8fe165f..664020e3561 100644
--- a/source/_components/wake_on_lan.markdown
+++ b/source/_components/wake_on_lan.markdown
@@ -7,8 +7,6 @@ ha_category:
- Switch
ha_release: 0.49
ha_iot_class: Local Push
-redirect_from:
- - /components/switch.wake_on_lan/
---
The `wake_on_lan` integration enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices, to turn them on.
diff --git a/source/_components/waqi.markdown b/source/_components/waqi.markdown
index fa5c2858bea..f687ecc7ca6 100644
--- a/source/_components/waqi.markdown
+++ b/source/_components/waqi.markdown
@@ -6,8 +6,6 @@ ha_category:
- Health
ha_release: 0.34
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.waqi/
---
The `waqi` sensor platform will query [World Air Quality Index](http://aqicn.org) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown
index b8ab30df4d4..c5c6dd52c8a 100644
--- a/source/_components/waterfurnace.markdown
+++ b/source/_components/waterfurnace.markdown
@@ -6,8 +6,6 @@ ha_category:
- Sensor
ha_release: 0.62
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.waterfurnace/
---
The `waterfurnace` integration 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.
diff --git a/source/_components/waze_travel_time.markdown b/source/_components/waze_travel_time.markdown
index f59e32471e8..44f423786cb 100644
--- a/source/_components/waze_travel_time.markdown
+++ b/source/_components/waze_travel_time.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.67
-redirect_from:
- - /components/sensor.waze_travel_time/
---
The `waze_travel_time` sensor provides travel time from the [Waze](https://www.waze.com/).
diff --git a/source/_components/weather.darksky.markdown b/source/_components/weather.darksky.markdown
index 0b2e94c4a72..6849c1015c5 100644
--- a/source/_components/weather.darksky.markdown
+++ b/source/_components/weather.darksky.markdown
@@ -64,7 +64,7 @@ mode:
-This platform is an alternative to the [`darksky`](/components/sensor.darksky/) sensor.
+This platform is an alternative to the [`darksky`](/components/darksky) sensor.
diff --git a/source/_components/webhooks.markdown b/source/_components/webhooks.markdown
index 3e6f3c4acc2..681f4d5a0b4 100644
--- a/source/_components/webhooks.markdown
+++ b/source/_components/webhooks.markdown
@@ -5,8 +5,6 @@ logo: telegram.png
ha_category:
- Notifications
ha_release: 0.42
-redirect_from:
- - /components/telegram_bot.webhooks/
---
Telegram chatbot webhooks implementation as described in the Telegram [documentation](https://core.telegram.org/bots/webhooks).
@@ -66,7 +64,7 @@ trusted_networks:
default: 149.154.160.0/20, 91.108.4.0/22
{% endconfiguration %}
-To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram). As well as authorizing the chat, if you have added your bot to a group you will also need to authorize any user that will be interacting with the webhook. When an unauthorized user tries to interact with the webhook Home Assistant will raise an error ("Incoming message is not allowed"), you can easily obtain the users id by looking in the "from" section of this error message.
+To get your `chat_id` and `api_key` follow the instructions [here](/components/telegram). As well as authorizing the chat, if you have added your bot to a group you will also need to authorize any user that will be interacting with the webhook. When an unauthorized user tries to interact with the webhook Home Assistant will raise an error ("Incoming message is not allowed"), you can easily obtain the users id by looking in the "from" section of this error message.
## Full configuration example
diff --git a/source/_components/webostv.markdown b/source/_components/webostv.markdown
index 131dbbd2cd7..3b91080b689 100644
--- a/source/_components/webostv.markdown
+++ b/source/_components/webostv.markdown
@@ -7,9 +7,6 @@ ha_category:
- Notifications
ha_iot_class: Local Polling
ha_release: 0.18
-redirect_from:
- - /components/media_player.webostv/
- - /components/notify.webostv/
---
The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Smart TV.
diff --git a/source/_components/wemo.markdown b/source/_components/wemo.markdown
index ba6a90b0618..3b934d18df5 100644
--- a/source/_components/wemo.markdown
+++ b/source/_components/wemo.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
featured: true
ha_release: pre 0.7
-redirect_from:
- - /components/fan.wemo/
- - /components/binary_sensor.wemo/
- - /components/light.wemo/
- - /components/switch.wemo/
---
The `wemo` integration is the main integration to integrate various [Belkin WeMo](http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant.
diff --git a/source/_components/whois.markdown b/source/_components/whois.markdown
index 8252bfcd873..216768ef760 100644
--- a/source/_components/whois.markdown
+++ b/source/_components/whois.markdown
@@ -6,8 +6,6 @@ ha_category:
- Network
ha_release: 0.57
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.whois/
---
The `whois` sensor platform allows you to perform daily WHOIS lookups against your owned domains. This provides you with information such as `expiration_date`, `name_servers` and `registrar` details.
diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown
index 46a07a2558a..695901e2c3a 100644
--- a/source/_components/wink.markdown
+++ b/source/_components/wink.markdown
@@ -18,18 +18,6 @@ ha_category:
featured: true
ha_iot_class: Cloud Polling
ha_release: pre 0.7
-redirect_from:
- - /components/alarm_control_panel.wink/
- - /components/binary_sensor.wink/
- - /components/climate.wink/
- - /components/cover.wink/
- - /components/fan.wink/
- - /components/light.wink/
- - /components/lock.wink/
- - /components/scene.wink/
- - /components/sensor.wink/
- - /components/switch.wink/
- - /components/water_heater.wink/
---
[Wink](http://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words:
@@ -445,7 +433,7 @@ The above devices are confirmed to work, but others may work as well.
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.
-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 [MyQ Cover](/components/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 requirement is that you have setup [Wink](/components/wink/) from above.
diff --git a/source/_components/wirelesstag.markdown b/source/_components/wirelesstag.markdown
index 1cd92f6c97b..ea7abb6b8ae 100644
--- a/source/_components/wirelesstag.markdown
+++ b/source/_components/wirelesstag.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_iot_class: Cloud Polling and Local Push
ha_release: 0.68
-redirect_from:
- - /components/binary_sensor.wirelesstag/
- - /components/sensor.wirelesstag/
- - /components/switch.wirelesstag/
---
The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](http://wirelesstag.net) sensors tags in Home Assistant.
diff --git a/source/_components/workday.markdown b/source/_components/workday.markdown
index 86c82e623ff..7bc5e20e92f 100644
--- a/source/_components/workday.markdown
+++ b/source/_components/workday.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.41
ha_qa_scale: internal
-redirect_from:
- - /components/binary_sensor.workday/
---
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
diff --git a/source/_components/worldclock.markdown b/source/_components/worldclock.markdown
index df07aaa1cf9..c6af2b2c93a 100644
--- a/source/_components/worldclock.markdown
+++ b/source/_components/worldclock.markdown
@@ -7,8 +7,6 @@ ha_category:
ha_iot_class: Local Push
ha_release: pre 0.7
ha_qa_scale: internal
-redirect_from:
- - /components/sensor.worldclock/
---
The `worldclock` sensor platform simply displays the current time in a different time zone.
diff --git a/source/_components/worldtidesinfo.markdown b/source/_components/worldtidesinfo.markdown
index c919a6ad9f4..34a99c5fc3f 100644
--- a/source/_components/worldtidesinfo.markdown
+++ b/source/_components/worldtidesinfo.markdown
@@ -5,8 +5,6 @@ logo: worldtidesinfo.png
ha_category:
- Environment
ha_release: 0.52
-redirect_from:
- - /components/sensor.worldtidesinfo/
---
The `worldtidesinfo` sensor platform uses details from [World Tides](https://www.worldtides.info/) to provide information about the prediction for the tides for any location in the world.
diff --git a/source/_components/worxlandroid.markdown b/source/_components/worxlandroid.markdown
index 77cf94de08c..acd2aaf1805 100644
--- a/source/_components/worxlandroid.markdown
+++ b/source/_components/worxlandroid.markdown
@@ -6,8 +6,6 @@ ha_category:
- DIY
ha_release: 0.54
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.worxlandroid/
---
The `worxlandroid` sensor platform allows you to get the current state, battery level and error status Worx Landroid WG796E.1 or WG797E.
diff --git a/source/_components/wsdot.markdown b/source/_components/wsdot.markdown
index 924973a7a50..555c6bf00f9 100644
--- a/source/_components/wsdot.markdown
+++ b/source/_components/wsdot.markdown
@@ -6,8 +6,6 @@ ha_category:
- Transport
ha_iot_class: Cloud Polling
ha_release: 0.37
-redirect_from:
- - /components/sensor.wsdot/
---
The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/).
diff --git a/source/_components/wunderground.markdown b/source/_components/wunderground.markdown
index 3a1105375d5..0dbe5d5d2ea 100644
--- a/source/_components/wunderground.markdown
+++ b/source/_components/wunderground.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.27
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.wunderground/
---
The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.
diff --git a/source/_components/x10.markdown b/source/_components/x10.markdown
index 0d4b7514fcd..d045d4025e6 100644
--- a/source/_components/x10.markdown
+++ b/source/_components/x10.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.25
-redirect_from:
- - /components/light.x10/
---
The `x10` light platform allows you to control your X10 based lights with Home Assistant.
diff --git a/source/_components/xbox_live.markdown b/source/_components/xbox_live.markdown
index 87617cae519..d81a71cf320 100644
--- a/source/_components/xbox_live.markdown
+++ b/source/_components/xbox_live.markdown
@@ -6,8 +6,6 @@ ha_category:
- Social
ha_iot_class: Cloud Polling
ha_release: 0.28
-redirect_from:
- - /components/sensor.xbox_live/
---
The Xbox Live integration is able to track [Xbox](http://xbox.com/) profiles.
diff --git a/source/_components/xeoma.markdown b/source/_components/xeoma.markdown
index 9b0e42f6984..8b3d3caa646 100644
--- a/source/_components/xeoma.markdown
+++ b/source/_components/xeoma.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_iot_class: Local Polling
ha_release: 0.62
-redirect_from:
- - /components/camera.xeoma/
---
The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
diff --git a/source/_components/xfinity.markdown b/source/_components/xfinity.markdown
index e07e029ee13..78093a9adb4 100644
--- a/source/_components/xfinity.markdown
+++ b/source/_components/xfinity.markdown
@@ -6,9 +6,6 @@ ha_category:
logo: xfinity.svg
ha_release: 0.90
ha_iot_class: "Local Polling"
-
-redirect_from:
- - /components/device_tracker.xfinity/
---
The `xfinity` device tracker platform offers presence detection by looking at connected devices to an Xfinity gateway.
diff --git a/source/_components/xiaomi.markdown b/source/_components/xiaomi.markdown
index f424933846a..d5409c75576 100644
--- a/source/_components/xiaomi.markdown
+++ b/source/_components/xiaomi.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: 0.72
ha_iot_class: Local Polling
-redirect_from:
- - /components/camera.xiaomi/
---
The `Xiaomi` camera platform allows you to utilize Xiaomi Cameras within Home Assistant.
diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown
index a400ab8d33c..4206740b97c 100644
--- a/source/_components/xiaomi_aqara.markdown
+++ b/source/_components/xiaomi_aqara.markdown
@@ -6,7 +6,6 @@ ha_category:
- Hub
ha_release: 0.57
ha_iot_class: Local Push
-redirect_from: /components/xiaomi/
---
The `xiaomi_aqara` integration allows you to integrate [Xiaomi](http://www.mi.com/en/) Aqara-compatible devices into Home Assistant.
diff --git a/source/_components/xiaomi_miio.markdown b/source/_components/xiaomi_miio.markdown
index b3b61fc2ed0..5d1af7e5dbb 100644
--- a/source/_components/xiaomi_miio.markdown
+++ b/source/_components/xiaomi_miio.markdown
@@ -6,8 +6,6 @@ ha_category:
- Presence Detection
ha_iot_class: Local Polling
ha_release: 0.67
-redirect_from:
- - /components/device_tracker.xiaomi_miio/
---
The `xiaomi_miio` device tracker platform is observing your Xiaomi Mi WiFi Repeater 2 and reporting all associated WiFi clients.
diff --git a/source/_components/xiaomi_tv.markdown b/source/_components/xiaomi_tv.markdown
index 2efb6a67300..7ebb093a53f 100644
--- a/source/_components/xiaomi_tv.markdown
+++ b/source/_components/xiaomi_tv.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_release: 0.64
ha_iot_class: Assumed State
-redirect_from:
- - /components/media_player.xiaomi_tv/
---
The `xiaomi_tv` platform allows you to control a [Xiaomi TV](http://www.mi.com/en/mitv3s/65flat/).
diff --git a/source/_components/xmpp.markdown b/source/_components/xmpp.markdown
index 9db60f3a3b3..bdb62d62312 100644
--- a/source/_components/xmpp.markdown
+++ b/source/_components/xmpp.markdown
@@ -5,8 +5,6 @@ logo: xmpp.png
ha_category:
- Notifications
ha_release: pre 0.7
-redirect_from:
- - /components/notify.xmpp/
---
diff --git a/source/_components/xs1.markdown b/source/_components/xs1.markdown
index 66da8910349..59c9e1904ad 100644
--- a/source/_components/xs1.markdown
+++ b/source/_components/xs1.markdown
@@ -9,10 +9,6 @@ ha_category:
- Switch
ha_release: 0.88
ha_iot_class: Local Polling
-redirect_from:
- - /components/climate.xs1/
- - /components/sensor.xs1/
- - /components/switch.xs1/
---
The [EZcontrol XS1](http://www.ezcontrol.de/content/view/36/28/) integration for Home Assistant allows you to observe and control devices configured on the XS1 Gateway. Please have a look at the official docs for using this gateway [Bedienungsanleitung v3.0.0.0](http://www.ezcontrol.de/support/downloads/XS1/xs1manual/Bedienungsanleitung_EZcontrol_XS1_3.0.0.0-2.pdf).
diff --git a/source/_components/yale_smart_alarm.markdown b/source/_components/yale_smart_alarm.markdown
index 6845261902d..f09406bbc68 100644
--- a/source/_components/yale_smart_alarm.markdown
+++ b/source/_components/yale_smart_alarm.markdown
@@ -5,8 +5,6 @@ logo: yale.png
ha_category:
- Alarm
ha_release: 0.78
-redirect_from:
- - /components/alarm_control_panel.yale_smart_alarm/
---
The `yale_smart_alarm` platform provides connectivity with the Yale Smart Alarm systems and Smart Hub through Yale's API.
diff --git a/source/_components/yamaha.markdown b/source/_components/yamaha.markdown
index 1cf3cac940a..d995a428ffe 100644
--- a/source/_components/yamaha.markdown
+++ b/source/_components/yamaha.markdown
@@ -5,8 +5,6 @@ logo: yamaha.png
ha_category:
- Media Player
ha_release: 0.16
-redirect_from:
- - /components/media_player.yamaha/
---
The `yamaha` platform allows you to control [Yamaha Network Receivers](http://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant.
diff --git a/source/_components/yamaha_musiccast.markdown b/source/_components/yamaha_musiccast.markdown
index 33eddd21704..eb37674ece6 100644
--- a/source/_components/yamaha_musiccast.markdown
+++ b/source/_components/yamaha_musiccast.markdown
@@ -5,8 +5,6 @@ logo: yamaha.png
ha_category:
- Media Player
ha_release: 0.53
-redirect_from:
- - /components/media_player.yamaha_musiccast/
---
The `yamaha_musiccast` platform allows you to control [Yamaha MusicCast Receivers](https://usa.yamaha.com/products/audio_visual/hifi_components/index.html) from Home Assistant.
diff --git a/source/_components/yandextts.markdown b/source/_components/yandextts.markdown
index 4466a236e1b..1787af7cc07 100644
--- a/source/_components/yandextts.markdown
+++ b/source/_components/yandextts.markdown
@@ -5,8 +5,6 @@ logo: yandex.png
ha_category:
- Text-to-speech
ha_release: 0.36
-redirect_from:
- - /components/tts.yandextts/
---
The `yandextts` text-to-speech platform uses [Yandex SpeechKit](https://tech.yandex.com/speechkit/) Text-to-Speech engine to read a text with natural sounding voices.
diff --git a/source/_components/yeelight.markdown b/source/_components/yeelight.markdown
index 2a87ebe7316..f23c410db78 100644
--- a/source/_components/yeelight.markdown
+++ b/source/_components/yeelight.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_release: 0.32
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.yeelight/
---
The `yeelight` integration allows you to control your Yeelight Wifi bulbs with Home Assistant. There are two possible methods for configuration of the Yeelight: Manual or Automatic.
diff --git a/source/_components/yeelightsunflower.markdown b/source/_components/yeelightsunflower.markdown
index 2af4d88aac6..7da22be327a 100644
--- a/source/_components/yeelightsunflower.markdown
+++ b/source/_components/yeelightsunflower.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_release: 0.39
ha_iot_class: Local Polling
-redirect_from:
- - /components/light.yeelightsunflower/
---
The `yeelightsunflower` light platform allows you to control your Yeelight Sunflower light bulbs with Home Assistant.
diff --git a/source/_components/yessssms.markdown b/source/_components/yessssms.markdown
index 4b770bb57cd..06b79c0be0c 100644
--- a/source/_components/yessssms.markdown
+++ b/source/_components/yessssms.markdown
@@ -5,8 +5,6 @@ logo: yesssat.png
ha_category:
- Notifications
ha_release: 0.57
-redirect_from:
- - /components/notify.yessssms/
---
The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) and others to send SMS via their web-site.
diff --git a/source/_components/yi.markdown b/source/_components/yi.markdown
index eb10adaa464..500c5fbae2f 100644
--- a/source/_components/yi.markdown
+++ b/source/_components/yi.markdown
@@ -6,8 +6,6 @@ ha_category:
- Camera
ha_release: 0.56
ha_iot_class: Local Polling
-redirect_from:
- - /components/camera.yi/
---
The `yi` camera platform allows you to utilize [Yi Home Cameras](https://www.yitechnology.com/) within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes:
diff --git a/source/_components/yr.markdown b/source/_components/yr.markdown
index 999480fb61c..7fc3e187610 100644
--- a/source/_components/yr.markdown
+++ b/source/_components/yr.markdown
@@ -6,8 +6,6 @@ ha_category:
- Weather
ha_release: 0.11
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.yr/
---
The `yr` platform uses [YR.no](http://www.yr.no/) as a source for current
diff --git a/source/_components/yweather.markdown b/source/_components/yweather.markdown
index 728223c415f..1d99f4dd219 100644
--- a/source/_components/yweather.markdown
+++ b/source/_components/yweather.markdown
@@ -7,14 +7,11 @@ ha_category:
- Sensor
ha_release: 0.24
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.yweather/
- - /components/weather.yweather/
---
-The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` sensor](/components/sensor.darksky/).
+The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` sensor](/components/darksky).
diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown
index e4e16f4bb6f..3797b7a65b4 100644
--- a/source/_components/zabbix.markdown
+++ b/source/_components/zabbix.markdown
@@ -7,8 +7,6 @@ ha_category:
- Sensor
ha_release: 0.37
ha_iot_class: Local Polling
-redirect_from:
- - /components/sensor.zabbix/
---
The `zabbix` integration is the main integration to connect to a [Zabbix](http://www.zabbix.com/) monitoring instance via the Zabbix API.
diff --git a/source/_components/zamg.markdown b/source/_components/zamg.markdown
index afbc15e4ff7..9141f2ae5df 100644
--- a/source/_components/zamg.markdown
+++ b/source/_components/zamg.markdown
@@ -7,9 +7,6 @@ ha_category:
- Sensor
ha_release: 0.35
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.zamg/
- - /components/weather.zamg/
---
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
diff --git a/source/_components/zengge.markdown b/source/_components/zengge.markdown
index c262d6b846b..b141d328173 100644
--- a/source/_components/zengge.markdown
+++ b/source/_components/zengge.markdown
@@ -6,8 +6,6 @@ ha_category:
- Light
ha_iot_class: Local Polling
ha_release: 0.36
-redirect_from:
- - /components/light.zengge/
---
The `zengge` platform allows you to integrate your [Zengge Bluetooth bulbs](http://www.zengge.com/) into Home Assistant.
diff --git a/source/_components/zestimate.markdown b/source/_components/zestimate.markdown
index a90ce0fba46..21200b779b2 100644
--- a/source/_components/zestimate.markdown
+++ b/source/_components/zestimate.markdown
@@ -6,8 +6,6 @@ ha_category:
logo: zillow.png
ha_release: 0.65
ha_iot_class: Cloud Polling
-redirect_from:
- - /components/sensor.zestimate/
---
The `zestimate` sensor allows one to track the Zestimate® value of properties using the [Zillow API](https://www.zillow.com/howto/api/APIOverview.htm). According to Zillow's website, a Zestimate® home valuation is Zillow's estimated market value. It is not an appraisal. Use it as a starting point to determine a home's value. The Zestimate® is provided by [Zillow](https://www.zillow.com), a website primarily for listing homes to buy/sell/rent in the United States.
diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown
index 9c8769a9c1f..3eb095f574d 100644
--- a/source/_components/zha.markdown
+++ b/source/_components/zha.markdown
@@ -13,12 +13,6 @@ ha_category:
ha_release: 0.44
ha_iot_class: Local Polling
featured: true
-redirect_from:
- - /components/binary_sensor.zha/
- - /components/fan.zha/
- - /components/light.zha/
- - /components/sensor.zha/
- - /components/switch.zha/
---
[Zigbee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
diff --git a/source/_components/zhong_hong.markdown b/source/_components/zhong_hong.markdown
index 61b9c1ca6fa..69c69edc1ca 100644
--- a/source/_components/zhong_hong.markdown
+++ b/source/_components/zhong_hong.markdown
@@ -6,12 +6,10 @@ ha_category:
- Climate
ha_release: 0.72
ha_iot_class: Local Push
-redirect_from:
- - /components/climate.zhong_hong/
---
-The `zhong_hong` climate platform lets you control [Zhonghong HVAC Gateway Controller](http://zhonghongtech.cn/v1/product.shtml/) thermostats through Home Assistant.
+The `zhong_hong` climate platform lets you control [Zhonghong HVAC Gateway Controller](http://zhonghongtech.cn/v1/index.shtml) thermostats through Home Assistant.
To set it up, add the following information to your configuration.yaml file:
diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown
index 85ce409f890..62c4d6603a7 100644
--- a/source/_components/zigbee.markdown
+++ b/source/_components/zigbee.markdown
@@ -9,11 +9,6 @@ ha_category:
- Switch
ha_release: 0.12
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.zigbee/
- - /components/light.zigbee/
- - /components/sensor.zigbee/
- - /components/switch.zigbee/
---
[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network.
diff --git a/source/_components/ziggo_mediabox_xl.markdown b/source/_components/ziggo_mediabox_xl.markdown
index 17aa46f13f1..df55f5e2bc7 100644
--- a/source/_components/ziggo_mediabox_xl.markdown
+++ b/source/_components/ziggo_mediabox_xl.markdown
@@ -6,8 +6,6 @@ ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: "0.60"
-redirect_from:
- - /components/media_player.ziggo_mediabox_xl/
---
The `ziggo_mediabox_xl` integration allows you to control a [Ziggo](https://www.ziggo.nl/) Mediabox XL from Home Assistant.
diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown
index 590c3ac2d92..68e0dab45c1 100644
--- a/source/_components/zoneminder.markdown
+++ b/source/_components/zoneminder.markdown
@@ -10,11 +10,6 @@ ha_category:
- Switch
ha_release: 0.31
ha_iot_class: Local Polling
-redirect_from:
- - /components/binary_sensor.zoneminder/
- - /components/camera.zoneminder/
- - /components/sensor.zoneminder/
- - /components/switch.zoneminder/
---
The `zoneminder` integration sets up Home Assistant with your [ZoneMinder](https://www.zoneminder.com) instance.
diff --git a/source/_components/zwave.markdown b/source/_components/zwave.markdown
index fd69e0c8045..2a377119179 100644
--- a/source/_components/zwave.markdown
+++ b/source/_components/zwave.markdown
@@ -14,15 +14,6 @@ ha_category:
- Switch
featured: true
ha_iot_class: Local Push
-redirect_from:
- - /components/binary_sensor.zwave/
- - /components/climate.zwave/
- - /components/cover.zwave/
- - /components/fan.zwave/
- - /components/light.zwave/
- - /components/lock.zwave/
- - /components/sensor.zwave/
- - /components/switch.zwave/
ha_release: 0.7
---
diff --git a/source/_cookbook/automation_for_rainy_days.markdown b/source/_cookbook/automation_for_rainy_days.markdown
index e1783290dea..75c41819df2 100644
--- a/source/_cookbook/automation_for_rainy_days.markdown
+++ b/source/_cookbook/automation_for_rainy_days.markdown
@@ -4,7 +4,7 @@ description: "Basic example how to use weather conditions to set states"
ha_category: Automation Examples
---
-This requires a [Dark Sky](/components/sensor.darksky/) sensor with the condition `precip_intensity` that tells if it's raining or not. You could also experiment with other attributes such as `cloud_cover`.
+This requires a [Dark Sky](/components/darksky) sensor with the condition `precip_intensity` that tells if it's raining or not. You could also experiment with other attributes such as `cloud_cover`.
Turn on a light in the living room when it starts raining, someone is home, and it's afternoon or later.
diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown
index 18dd040a36d..0685f9b0241 100644
--- a/source/_cookbook/automation_sun.markdown
+++ b/source/_cookbook/automation_sun.markdown
@@ -40,7 +40,7 @@ automation:
#### Send sun rise/sun set notifications
-Send notifications through [PushBullet](/components/notify.pushbullet/) when the sun state is changed.
+Send notifications through [PushBullet](/components/pushbullet) when the sun state is changed.
```yaml
automation:
diff --git a/source/_cookbook/automation_telegram_presence_alert.markdown b/source/_cookbook/automation_telegram_presence_alert.markdown
index da12a5388c1..322fb0b5aee 100644
--- a/source/_cookbook/automation_telegram_presence_alert.markdown
+++ b/source/_cookbook/automation_telegram_presence_alert.markdown
@@ -4,9 +4,9 @@ description: "Examples sending notification depending of the presence"
ha_category: Automation Examples
---
-This will send a message when someone in your known devices list connects to your local network. In other words, when someone arrives home. It will only work if you are using the [Nmap](/components/device_tracker.nmap_tracker/) device tracker or a similar integration.
+This will send a message when someone in your known devices list connects to your local network. In other words, when someone arrives home. It will only work if you are using the [Nmap](/components/nmap_tracker) device tracker or a similar integration.
-This example uses [Telegram](/components/notify.telegram/) to send the notification.
+This example uses [Telegram](/components/telegram) to send the notification.
```yaml
notify:
diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown
index 4162550eb0f..9f698f8aaa8 100644
--- a/source/_cookbook/fail2ban.markdown
+++ b/source/_cookbook/fail2ban.markdown
@@ -11,19 +11,19 @@ This is a quick guide on how to set up `fail2ban` for Home Assistant. Contains e
Debian/Ubuntu:
```bash
-$ sudo apt-get install fail2ban
+sudo apt-get install fail2ban
```
CentOS/RHEL:
```bash
-$ sudo yum install epel-release
-$ sudo yum install -y fail2ban
+sudo yum install epel-release
+sudo yum install -y fail2ban
```
Fedora:
```bash
-$ sudo dnf install -y fail2ban
+sudo dnf install -y fail2ban
```
For other package managers use the appropriate commands.
@@ -42,7 +42,7 @@ logger:
Restart Home Assistant to activate the changes:
```bash
-$ sudo systemctl restart home-assistant
+sudo systemctl restart home-assistant
```
Tail the Home Assistant log then log out of the Home Assistant web interface and attempt logging in with an incorrect password, look for a line like `Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx`:
@@ -141,20 +141,20 @@ sudo tail -f -n 20 /var/log/fail2ban.log
Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like. 8 hours is 28800 seconds.
```bash
-$ sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf
-$ sudo systemctl enable fail2ban
-$ sudo systemctl restart fail2ban
+sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf
+sudo systemctl enable fail2ban
+sudo systemctl restart fail2ban
```
A final note, if you need to unban an IP it can be done with `fail2ban-client`:
```bash
-$ sudo fail2ban-client set JAILNAME unbanip IPADDRESS
+sudo fail2ban-client set JAILNAME unbanip IPADDRESS
```
eg:
```bash
-$ sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx
+sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx
```
Fail2ban should now be configured and running, if an IP address is banned you will receive an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent).
diff --git a/source/_cookbook/foscam_away_mode_PTZ.markdown b/source/_cookbook/foscam_away_mode_PTZ.markdown
index f99a72275aa..635dc322170 100644
--- a/source/_cookbook/foscam_away_mode_PTZ.markdown
+++ b/source/_cookbook/foscam_away_mode_PTZ.markdown
@@ -4,7 +4,7 @@ description: "Example of how to set Foscam to only have Motion Detection Recordi
ha_category: Automation Examples
---
-This requires a [Foscam IP Camera](/components/camera.foscam/) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](http://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf))
+This requires a [Foscam IP Camera](/components/foscam) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](http://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf))
Foscam Cameras can be controlled by Home Assistant through a number of CGI commands.
The following outlines examples of the switch, services, and scripts required to move between 2 preset destinations while controlling motion detection, but many other options of movement are provided in the Foscam CGI User Guide linked above.
diff --git a/source/_cookbook/google_maps_card.markdown b/source/_cookbook/google_maps_card.markdown
index ebec207a602..65f37b53275 100644
--- a/source/_cookbook/google_maps_card.markdown
+++ b/source/_cookbook/google_maps_card.markdown
@@ -24,4 +24,4 @@ camera:
-[generic camera platform]: /components/camera.generic/
+[generic camera platform]: /components/generic
diff --git a/source/_cookbook/notify_if__new_ha_release.markdown b/source/_cookbook/notify_if__new_ha_release.markdown
index 771693bdd37..913c6225639 100644
--- a/source/_cookbook/notify_if__new_ha_release.markdown
+++ b/source/_cookbook/notify_if__new_ha_release.markdown
@@ -27,7 +27,7 @@ automation:
message: 'There is a new Home Assistant release available.'
```
-You can use [templates](/topics/templating/) to include the release number of Home Assistant if you prefer. The following example sends a notification via [Pushbullet](/components/notify.pushbullet/) with the Home Assistant version in the message.
+You can use [templates](/topics/templating/) to include the release number of Home Assistant if you prefer. The following example sends a notification via [Pushbullet](/components/pushbullet) with the Home Assistant version in the message.
```yaml
notify:
diff --git a/source/_cookbook/owntracks_two_mqtt_broker.markdown b/source/_cookbook/owntracks_two_mqtt_broker.markdown
index 39ac72d3a38..6bb66837a81 100644
--- a/source/_cookbook/owntracks_two_mqtt_broker.markdown
+++ b/source/_cookbook/owntracks_two_mqtt_broker.markdown
@@ -81,9 +81,9 @@ password_file /etc/mosquitto/pwfile
Create a password for `mosquitto-ext`
```bash
-$ docker exec -it mosquitto-ext /bin/bash
-$ cd /etc/mosquitto/
-$ mosquitto_passwd -c /etc/mosquitto/pwfile
+docker exec -it mosquitto-ext /bin/bash
+cd /etc/mosquitto/
+mosquitto_passwd -c /etc/mosquitto/pwfile
```
### OwnTracks settings for Android
diff --git a/source/_cookbook/perform_actions_based_on_input_select.markdown b/source/_cookbook/perform_actions_based_on_input_select.markdown
index eca0910f8a7..e98d1f8be8f 100644
--- a/source/_cookbook/perform_actions_based_on_input_select.markdown
+++ b/source/_cookbook/perform_actions_based_on_input_select.markdown
@@ -69,7 +69,7 @@ automation:
data:
entity_id: media_player.nursery
```
-A little bit more complex example that uses [`input_select`](/components/input_select/) and template to decide what to play, and which [Chromecast](components/media_player.cast/) to play on.
+A little bit more complex example that uses [`input_select`](/components/input_select/) and template to decide what to play, and which [Chromecast](/components/cast/) to play on.
```yaml
input_select:
diff --git a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
index 6fb3d65328d..8c02651eace 100644
--- a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
+++ b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
@@ -6,7 +6,7 @@ ha_category: Automation Examples
### Restart Home Assistant
-This configuration example is restarting Home Assistant if a [WeMo](/components/switch.wemo/) switch is not detected. An additional MQTT switch is present for stopping Home Assistant and can be triggered by [IFTTT](/components/ifttt/). The running batch script will automatically restart Home Assistant if the process isn't found anymore.
+This configuration example is restarting Home Assistant if a [WeMo](/components/wemo) switch is not detected. An additional MQTT switch is present for stopping Home Assistant and can be triggered by [IFTTT](/components/ifttt/). The running batch script will automatically restart Home Assistant if the process isn't found anymore.
```yaml
mqtt:
diff --git a/source/_cookbook/sonos_say.markdown b/source/_cookbook/sonos_say.markdown
index 41b1486ad45..e08301637d9 100644
--- a/source/_cookbook/sonos_say.markdown
+++ b/source/_cookbook/sonos_say.markdown
@@ -50,12 +50,12 @@ automation:
```
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
+```yaml
+tts:
+ - platform: google
```
If you want to use this TTS engine, change the line in the example provided to:
-```
+```txt
- service: tts.google_translate_say
```
diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown
index d61575426ad..e825a7668ad 100644
--- a/source/_cookbook/track_battery_level.markdown
+++ b/source/_cookbook/track_battery_level.markdown
@@ -6,7 +6,7 @@ ha_category: Automation Examples
### iOS Devices
-If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) integration is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
+If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/icloud) integration is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/template). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
{% raw %}
```yaml
@@ -27,8 +27,12 @@ sensor:
{% endraw %}
### Android and iOS Devices
+While running the [Owntracks](/components/owntracks) device tracker you can retrieve the battery level.
+How you achieve this depends on how you have configured your Owntracks instance.
-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.
+#### MQTT
+If you have configured Owntracks to send reports via MQTT you can use the received data via a MQTT sensor.
+Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
{% raw %}
```yaml
@@ -41,3 +45,19 @@ sensor:
device_class: battery
```
{% endraw %}
+
+#### HTTP
+
+If you have configured Owntracks to send reports to your Home Assistant instance via HTTP you can use a template sensor.
+Replace `deviceid` with the set Device ID in Owntracks.
+
+{% raw %}
+```yaml
+sensor:
+- platform: template
+ sensors:
+ your_battery_sensor_name:
+ value_template: "{{ state_attr('device_tracker.deviceid', 'battery_level') }}"
+ unit_of_measurement: '%'
+```
+{% endraw %}
diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown
index 44a6269e5e0..dc9701c84a8 100644
--- a/source/_docs/asterisk_mbox.markdown
+++ b/source/_docs/asterisk_mbox.markdown
@@ -35,7 +35,7 @@ Before beginning make sure that you have the following:
2. Install the `asterisk_mbox_server` python module:
```bash
- $ pip3 install asterisk_mbox_server
+ pip3 install asterisk_mbox_server
```
3. Create a configuration file for the server
@@ -65,13 +65,13 @@ Before beginning make sure that you have the following:
Once complete, ensure this file is only accessible by the Asterisk user:
```bash
- $ sudo chown asterisk:asterisk /etc/asterisk/asterisk_mbox.ini
- $ sudo chmod 600 /etc/asterisk/asterisk_mbox.ini
+ sudo chown asterisk:asterisk /etc/asterisk/asterisk_mbox.ini
+ sudo chmod 600 /etc/asterisk/asterisk_mbox.ini
```
4. Interactively start the server to verify it is functioning
```bash
- $ sudo -u asterisk asterisk_mbox_server -v --cfg /etc/asterisk/asterisk_mbox.ini
+ sudo -u asterisk asterisk_mbox_server -v --cfg /etc/asterisk/asterisk_mbox.ini
```
Now complete the [Home Assistant configuration](/components/asterisk_mbox) and verify that Home Assistant can communicate with the server
diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown
index 0d460b71ec4..1d863cfec9b 100644
--- a/source/_docs/authentication.markdown
+++ b/source/_docs/authentication.markdown
@@ -54,7 +54,7 @@ Home Assistant provides several ways to authenticate. See the [Auth Providers](/
### Authentication failures from `127.0.0.1`
-If you're seeing authentication failures from `127.0.0.1` and you're using the `nmap` device tracker, you should [exclude the Home Assistant IP](/components/device_tracker.nmap_tracker/#exclude) from being scanned.
+If you're seeing authentication failures from `127.0.0.1` and you're using the `nmap` device tracker, you should [exclude the Home Assistant IP](/components/nmap_tracker#exclude) from being scanned.
### Bearer token warnings
diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown
index 85bf56dd89d..8ac65d78d0a 100644
--- a/source/_docs/authentication/providers.markdown
+++ b/source/_docs/authentication/providers.markdown
@@ -165,7 +165,7 @@ homeassistant:
When `meta: true` is set in the auth provider's configuration, your command can write some variables to standard output to populate the user account created in Home Assistant with additional data. These variables have to be printed in the form:
-```
+```txt
name = John Doe
```
diff --git a/source/_docs/automation/condition.markdown b/source/_docs/automation/condition.markdown
index e276a3ecaa9..76072d2f3ec 100644
--- a/source/_docs/automation/condition.markdown
+++ b/source/_docs/automation/condition.markdown
@@ -4,7 +4,7 @@ description: "Automations can test conditions when invoked."
redirect_from: /getting-started/automation-condition/
---
-Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.
+Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. When a condition does not return true, the automation will stop executing. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.
The available conditions for an automation are the same as for the script syntax so see that page for a [full list of available conditions](/docs/scripts/conditions/).
diff --git a/source/_docs/autostart/upstart.markdown b/source/_docs/autostart/upstart.markdown
index d85316a7444..5870aa06501 100644
--- a/source/_docs/autostart/upstart.markdown
+++ b/source/_docs/autostart/upstart.markdown
@@ -122,8 +122,8 @@ esac
To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands:
```bash
-$ sudo service hass-daemon start
-$ sudo service hass-daemon stop
+sudo service hass-daemon start
+sudo service hass-daemon stop
```
When running Home Assistant with this script, the configuration directory will be located at `/var/opt/homeassistant`. This directory will contain a verbose log rather than simply an error log.
diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown
index 44bdad8a3c5..880dce51a88 100644
--- a/source/_docs/configuration/packages.markdown
+++ b/source/_docs/configuration/packages.markdown
@@ -46,7 +46,7 @@ homeassistant:
The file `my_package.yaml` contains the "top-level" configuration:
-```
+```yaml
switch:
- platform: rest
...
diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown
index f3d87199488..57f838788e6 100644
--- a/source/_docs/configuration/yaml.markdown
+++ b/source/_docs/configuration/yaml.markdown
@@ -96,7 +96,7 @@ More information about this feature can also be found at [splitting configuratio
If you see the following message:
-```
+```txt
found character '\t' that cannot start any token
```
diff --git a/source/_docs/ecosystem/appdaemon/running.markdown b/source/_docs/ecosystem/appdaemon/running.markdown
index a15e404d6e7..1599c8e81df 100755
--- a/source/_docs/ecosystem/appdaemon/running.markdown
+++ b/source/_docs/ecosystem/appdaemon/running.markdown
@@ -45,7 +45,7 @@ $ appdaemon -c conf/appdaemon.cfg
If all is well, you should see something like the following:
-```
+```bash
$ appdaemon -c conf/appdaemon.cfg
2016-08-22 10:08:16,575 INFO Got initial state
2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py
@@ -56,7 +56,7 @@ $ appdaemon -c conf/appdaemon.cfg
## AppDaemon arguments
-```
+```txt
usage: appdaemon [-h] [-c CONFIG] [-p PIDFILE] [-t TICK] [-s STARTTIME]
[-e ENDTIME] [-i INTERVAL]
[-D {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-v] [-d]
diff --git a/source/_docs/ecosystem/backup/backup_dropbox.markdown b/source/_docs/ecosystem/backup/backup_dropbox.markdown
index 83124615336..9586b3fea0c 100644
--- a/source/_docs/ecosystem/backup/backup_dropbox.markdown
+++ b/source/_docs/ecosystem/backup/backup_dropbox.markdown
@@ -22,8 +22,8 @@ In the Python script you can specify which files and directories should be exclu
### Step 1: Linking your Dropbox account
```bash
-$ chmod +x dropbox_uploader.sh
-$ ./dropbox_uploader.sh
+chmod +x dropbox_uploader.sh
+./dropbox_uploader.sh
```
Follow the instructions you see on your screen.
@@ -36,11 +36,11 @@ Go to the folder you have placed `dropbox.py`.
- **Option B:**
Edit `dropbox.py`:
Change the following line:
- ```
+ ```txt
uploader = "/home/homeassistant/.homeassistant/extraconfig/shell_code/dropbox_uploader.sh"
```
to where you placed your file: (for example):
- ```
+ ```txt
uploader = "/home/homeassistant/MyFolder/dropbox_uploader.sh"
```
diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown
index 80757b1f666..1d0845c6085 100644
--- a/source/_docs/ecosystem/backup/backup_github.markdown
+++ b/source/_docs/ecosystem/backup/backup_github.markdown
@@ -34,8 +34,8 @@ Some best practices to consider before putting your configuration on GitHub:
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, Ubuntu or any Debian-based system) *Note: this isn't required in Hass.io, it's included as default so proceed to step 2*:
```bash
-$ sudo apt-get update
-$ sudo apt-get install git
+sudo apt-get update
+sudo apt-get install git
```
### Step 2: Creating `.gitignore`
@@ -88,11 +88,11 @@ More information on the layout of the file can be found in the [.gitignore manua
In your Home Assistant directory, type the following commands as the Home Assistant user, replacing the email address and name with your information:
```bash
-$ git init
-$ git config user.email "you@example.com"
-$ git config user.name "Your Name"
-$ git add .
-$ git commit
+git init
+git config user.email "you@example.com"
+git config user.name "Your Name"
+git add .
+git commit
```
After the `git commit` command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like "Initial commit of my Home Assistant configuration". To exit the editor, press `CTRL + C` and then `:wq` which will exit and save the changes.
@@ -110,8 +110,8 @@ Once you are sure you are using `secrets.yaml` and `.gitignore` correctly, it is
In your Home Assistant directory, type the following commands as the Home Assistant user, replacing "username" in the URL with your GitHub username:
```bash
-$ git remote add origin https://github.com/username/Home-AssistantConfig
-$ git push -u origin master
+git remote add origin https://github.com/username/Home-AssistantConfig
+git push -u origin master
```
You will be asked to enter your GitHub username and password (or ssh key passphrase if you use [GitHub with ssh](https://help.github.com/categories/ssh/)).
@@ -184,8 +184,8 @@ home_elevation: 0
You can enter these commands to get a list of the files in your local Git repository and a status of files that have changed but not committed yet:
```bash
-$ git ls-files
-$ git status
+git ls-files
+git status
```
Examples:
diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown
index 33acf420868..1e02491292f 100644
--- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown
+++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown
@@ -76,7 +76,7 @@ SSH in to your system running Home Assistant and login.
Type the following command to list your network interfaces:
```bash
-$ ifconfig
+ifconfig
```
You will receive an output similar to the image below:
@@ -91,7 +91,7 @@ Make a note of the interface name and the IP address you are currently on. In th
Then type the following command to open the text file that controls your network connection:
```bash
-$ sudo nano /etc/dhcpcd.conf
+sudo nano /etc/dhcpcd.conf
```
At the bottom of the file add the following lines:
@@ -121,7 +121,7 @@ Press Ctrl + x to close the editor, pressing Y to save the changes when prompted
Reboot your device running HA:
```bash
-$ sudo reboot
+sudo reboot
```
When it comes back up check that you can SSH in to it again on the IP address you wrote down.
@@ -248,35 +248,35 @@ sudo adduser homeassistant sudo
If you did not already log in as the user that currently runs Home Assistant, change to that user (usually `homeassistant` or `hass` - you may have used a command similar to this in the past):
```bash
-$ sudo -u homeassistant -H -s
+sudo -u homeassistant -H -s
```
Make sure you are in the home directory for the Home Assistant user:
```bash
-$ cd
+cd
```
We will now make a directory for the certbot software, download it and give it the correct permissions:
```text
-$ mkdir certbot
-$ cd certbot/
-$ wget https://dl.eff.org/certbot-auto
-$ chmod a+x certbot-auto
+mkdir certbot
+cd certbot/
+wget https://dl.eff.org/certbot-auto
+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`.
Now we will run the certbot program to get our SSL certificate. You will need to include your email address and your DuckDNS URL in the appropriate places:
```text
-$ ./certbot-auto certonly --standalone --preferred-challenges http-01 --email your@email.address -d examplehome.duckdns.org
+./certbot-auto certonly --standalone --preferred-challenges http-01 --email your@email.address -d examplehome.duckdns.org
```
Once the program has run it will generate a certificate and other files and place them in a folder `/etc/letsencrypt/` .
@@ -284,7 +284,7 @@ Once the program has run it will generate a certificate and other files and plac
Confirm this file has been populated:
```bash
-$ ls /etc/letsencrypt/live/
+ls /etc/letsencrypt/live/
```
This should show a folder named exactly after your DuckDNS URL.
@@ -292,8 +292,8 @@ This should show a folder named exactly after your DuckDNS URL.
Our Home Assistant user needs access to files within the letsencrypt folder, so issue the following commands to change the permissions.
```bash
-$ sudo chmod 755 /etc/letsencrypt/live/
-$ sudo chmod 755 /etc/letsencrypt/archive/
+sudo chmod 755 /etc/letsencrypt/live/
+sudo chmod 755 /etc/letsencrypt/archive/
```
Did all of that go without a hitch? Wahoo! Your Let's Encrypt certificate is now ready to be used with Home Assistant. Move to step 5 to put it all together
@@ -304,7 +304,7 @@ Did all of that go without a hitch? Wahoo! Your Let's Encrypt certificate is now
Following on from Step 4 your SSH will still be in the certbot folder. If you edit your configuration files over SSH you will need to change to our `homeassistant` folder:
-```
+```bash
cd ~/.homeassistant
```
@@ -403,8 +403,8 @@ If you do not wish to set up a sensor you can skip straight to step 8 to learn h
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
-$ sudo apt-get update
-$ sudo apt-get install ssl-cert-check
+sudo apt-get update
+sudo apt-get install ssl-cert-check
```
@@ -449,13 +449,13 @@ To set a cron job to run the script at regular intervals:
* Change to your Home Assistant user (where `homeassistant` is the name of the user):
```bash
-$ sudo -u homeassistant -H -s
+sudo -u homeassistant -H -s
```
* Open the crontab:
```bash
-$ crontab -e
+crontab -e
```
* If you are a TWO-RULE Person: Scroll to the bottom of the file and paste in the following line
@@ -506,19 +506,19 @@ To manually update:
* Change to your Home Assistant user (where `homeassistant` is the name of the user):
```bash
-$ sudo -u homeassistant -H -s
+sudo -u homeassistant -H -s
```
* Change to your certbot folder
```bash
-$ cd ~/certbot/
+cd ~/certbot/
```
* Run the renewal command
```bash
-$ ./certbot-auto renew --quiet --no-self-upgrade --standalone --preferred-challenges http-01
+./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"`
diff --git a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
index 92131164e30..6c3a06ab7c0 100644
--- a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
+++ b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
@@ -15,11 +15,11 @@ If your Home Assistant instance is only accessible from your local network you c
### Run certbot
```bash
-$ mkdir certbot
-$ cd certbot
-$ wget https://dl.eff.org/certbot-auto
-$ chmod a+x certbot-auto
-$ sudo ./certbot-auto --manual certonly --preferred-challenges dns -d "mydomain.com" --email your@email.address
+mkdir certbot
+cd certbot
+wget https://dl.eff.org/certbot-auto
+chmod a+x certbot-auto
+sudo ./certbot-auto --manual certonly --preferred-challenges dns -d "mydomain.com" --email your@email.address
```
* Agree to Terms of Service
diff --git a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
index 4c71ad65b42..5554734520d 100644
--- a/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
+++ b/source/_docs/ecosystem/certificates/tls_self_signed_certificate.markdown
@@ -21,7 +21,7 @@ If you are going to use this certificate with the iOS app, you need to ensure yo
* If you are using iOS 10.3 or newer then [additional steps](https://support.apple.com/en-us/HT204477) are needed.
```bash
-$ openssl req -sha256 -newkey rsa:4096 -nodes -keyout privkey.pem -x509 -days 730 -out certificate.pem
+openssl req -sha256 -newkey rsa:4096 -nodes -keyout privkey.pem -x509 -days 730 -out certificate.pem
```
For details about the parameters, please check the OpenSSL documentation. Provide the requested information during the generation process.
@@ -41,8 +41,8 @@ A restart of Home Assistant is required for the changes to take effect.
If you get any log error about *ssl_key* or *ssl_certificate* that is **not a file for dictionary value** when run Home Assistant, you need to change owner or access permission of the `.pem` files as following:
```bash
-$ sudo chown homeassistant:homeassistant certificate.pem privkey.pem
-$ sudo chmod 755 certificate.pem privkey.pem
+sudo chown homeassistant:homeassistant certificate.pem privkey.pem
+sudo chmod 755 certificate.pem privkey.pem
```
A tutorial "[Working with SSL Certificates, Private Keys and CSRs](https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs)" could give you some insight about special cases.
diff --git a/source/_docs/ecosystem/ios/notifications/sounds.markdown b/source/_docs/ecosystem/ios/notifications/sounds.markdown
index c4aec13c6b9..0668b16dc76 100644
--- a/source/_docs/ecosystem/ios/notifications/sounds.markdown
+++ b/source/_docs/ecosystem/ios/notifications/sounds.markdown
@@ -49,7 +49,7 @@ Notes:
### Preinstalled notification sounds
-```
+```txt
US-EN-Alexa-Back-Door-Opened.wav
US-EN-Alexa-Back-Door-Unlocked.wav
US-EN-Alexa-Basement-Door-Opened.wav
diff --git a/source/_docs/ecosystem/nginx.markdown b/source/_docs/ecosystem/nginx.markdown
index 4acff2a4012..8a84cb0d0d4 100644
--- a/source/_docs/ecosystem/nginx.markdown
+++ b/source/_docs/ecosystem/nginx.markdown
@@ -37,11 +37,11 @@ Instead of example.com, use your domain. You will need to renew this certificate
If you do not own your own domain, you may generate a self-signed certificate. This will not work with IFTTT, but it will encrypt all of your Home Assistant traffic.
```bash
-$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 9999
-$ openssl rsa -in key.pem -out key.pem
-$ sudo cp key.pem cert.pem /etc/nginx/ssl
-$ sudo chmod 600 /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
-$ sudo chown root:root /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
+openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 9999
+openssl rsa -in key.pem -out key.pem
+sudo cp key.pem cert.pem /etc/nginx/ssl
+sudo chmod 600 /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
+sudo chown root:root /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
```
### 4. Create dhparams file
@@ -49,8 +49,8 @@ $ sudo chown root:root /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
As a fair warning, this file will take a while to generate.
```bash
-$ cd /etc/nginx/ssl
-$ sudo openssl dhparam -out dhparams.pem 2048
+cd /etc/nginx/ssl
+sudo openssl dhparam -out dhparams.pem 2048
```
### 5. Install configuration file in nginx.
@@ -66,9 +66,9 @@ Some Linux distributions (including CentOS and Fedora) will not have the `/etc/n
### 6. Enable the Home Assistant configuration.
```bash
-$ cd /etc/nginx/sites-enabled
-$ sudo unlink default
-$ sudo ln ../sites-available/hass default
+cd /etc/nginx/sites-enabled
+sudo unlink default
+sudo ln ../sites-available/hass default
```
### 7. Start NGINX.
diff --git a/source/_docs/ecosystem/notebooks/installation.markdown b/source/_docs/ecosystem/notebooks/installation.markdown
index 4bce5e70632..08600ada88d 100644
--- a/source/_docs/ecosystem/notebooks/installation.markdown
+++ b/source/_docs/ecosystem/notebooks/installation.markdown
@@ -39,7 +39,7 @@ You will get an empty notebook with one cell. Cells can contain code or text. To

-The downloadable version of this notebook is available in the [Home Assistant notebooks repository](https://github.com/home-assistant/home-assistant-notebooks/blob/master/first-notebook.ipynb).
+The downloadable version of this notebook is available in the [Home Assistant notebooks repository](https://github.com/home-assistant/home-assistant-notebooks/blob/master/other/first-notebook.ipynb).
As you can see is the Jupyter notebook workflow is very similar to working directly with a Python shell. One advantage of notebooks is that you can go back and forth between cells as you please and save your work.
diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown
index 29c44e2acd5..f26dfca7c2b 100644
--- a/source/_docs/installation/armbian.markdown
+++ b/source/_docs/installation/armbian.markdown
@@ -8,8 +8,8 @@ description: "Instructions to install Home Assistant on an Armbian-powered syste
Setup Python and `pip`:
```bash
-$ sudo apt-get update
-$ sudo apt-get install python3-dev python3-pip
+sudo apt-get update
+sudo apt-get install python3-dev python3-pip
```
Now that you installed python, there are two ways to install Home Assistant:
@@ -17,8 +17,8 @@ Now that you installed python, there are two ways to install Home Assistant:
2. Alternatively, you can install Home Assistant for the user you created when first booting Armbian:
```bash
-$ sudo pip3 install homeassistant
-$ hass --open-ui
+sudo pip3 install homeassistant
+hass --open-ui
```
Running these commands will:
diff --git a/source/_docs/installation/centos.markdown b/source/_docs/installation/centos.markdown
index 4fa3d22b4a4..38a0d1aba1c 100644
--- a/source/_docs/installation/centos.markdown
+++ b/source/_docs/installation/centos.markdown
@@ -10,33 +10,33 @@ To run Python 3.x on [CentOS](https://www.centos.org/) or RHEL (Red Hat Enterpri
First of all install the software collection repository as root and [scl utils](https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/1/html-single/Software_Collections_Guide/). For example, on CentOS:
```bash
-$ sudo yum install centos-release-scl
-$ sudo yum-config-manager --enable centos-sclo-rh-testing
-$ sudo yum install -y scl-utils
+sudo yum install centos-release-scl
+sudo yum-config-manager --enable centos-sclo-rh-testing
+sudo yum install -y scl-utils
```
Install some dependencies you'll need later.
```bash
-$ sudo yum install gcc gcc-c++ systemd-devel
+sudo yum install gcc gcc-c++ systemd-devel
```
Then install the Python 3.6 package. If you are using CentOS 7 then you may have to install the packages for Python 3.6 using RHEL Methods listed here: https://www.softwarecollections.org/en/scls/rhscl/rh-python36/) for this to work as mentioned above.
```bash
-$ sudo yum install rh-python36
+sudo yum install rh-python36
```
This is part of the slight change when trying to install Python 3.6 and running the command `python36 --version` which will after install give you the correct version, but won't allow you to set the software collection using the `scl` command. This command downloads the RH collection of Python to allow you to run `scl` command to enable the environment in `bash` and then run the automate command using the template.
```bash
-$ yum install rh-python36
+yum install rh-python36
```
### Start using software collections
```bash
-$ scl enable rh-python36 bash
+scl enable rh-python36 bash
```
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:
@@ -54,7 +54,7 @@ You will need to enable the software collection each time you log on before you
To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows:
-```
+```txt
[Unit]
Description=Home Assistant
After=network.target
diff --git a/source/_docs/installation/fedora.markdown b/source/_docs/installation/fedora.markdown
index f241774e06f..0db6af933c9 100644
--- a/source/_docs/installation/fedora.markdown
+++ b/source/_docs/installation/fedora.markdown
@@ -8,29 +8,29 @@ description: "Installation of Home Assistant on your Fedora computer."
Install the development package of Python.
```bash
-$ sudo dnf -y install python3-devel redhat-rpm-config
+sudo dnf -y install python3-devel redhat-rpm-config
```
and Home Assistant itself.
```bash
-$ pip3 install homeassistant
+pip3 install homeassistant
```
To isolate the Home Assistant installation a [`venv`](https://docs.python.org/3/library/venv.html) is handy. First create a new directory to store the installation and adjust the permissions.
```bash
-$ sudo mkdir -p /opt/homeassistant
-$ sudo useradd -rm homeassistant -G dialout
-$ sudo chown -R homeassistant:homeassistant /opt/homeassistant
+sudo mkdir -p /opt/homeassistant
+sudo useradd -rm homeassistant -G dialout
+sudo chown -R homeassistant:homeassistant /opt/homeassistant
```
Now switch to the new directory, setup the `venv`, and activate it.
```bash
-$ sudo -u homeassistant -H -s
-$ cd /opt/homeassistant
-$ python3.6 -m venv .
-$ source bin/activate
+sudo -u homeassistant -H -s
+cd /opt/homeassistant
+python3.6 -m venv .
+source bin/activate
```
Install Home Assistant itself.
diff --git a/source/_docs/installation/hassbian.markdown b/source/_docs/installation/hassbian.markdown
index 3f1b772d888..1b26f35791f 100644
--- a/source/_docs/installation/hassbian.markdown
+++ b/source/_docs/installation/hassbian.markdown
@@ -16,6 +16,6 @@ Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3
When instructions tell you to activate the virtual environment to install a Python library, or perform some tasks, the following commands will do this:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
```
diff --git a/source/_docs/installation/hassbian/common-tasks.markdown b/source/_docs/installation/hassbian/common-tasks.markdown
index 59ad41cf261..304e12e17a4 100644
--- a/source/_docs/installation/hassbian/common-tasks.markdown
+++ b/source/_docs/installation/hassbian/common-tasks.markdown
@@ -12,7 +12,7 @@ Connect to the Raspberry Pi over ssh. Default user name is `pi` and password is
Linux and Mac OS users execute the following command in a terminal.
```bash
-$ ssh pi@ip-address-of-pi
+ssh pi@ip-address-of-pi
```
Windows users start [Putty][ssh-putty], enter the IP address of the Raspberry Pi in the *Host name* field and port 22 in the *Port* field. Then click *Open* and a terminal window will open. Enter the credentials. Default user name is `pi` and password is `raspberry`.
@@ -24,7 +24,7 @@ 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.
@@ -41,12 +41,12 @@ You can use `hassbian-config` to automate the process by running `sudo hassbian-
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo systemctl stop home-assistant@homeassistant.service
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install --upgrade homeassistant
-$ exit
-$ sudo systemctl start home-assistant@homeassistant.service
+sudo systemctl stop home-assistant@homeassistant.service
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install --upgrade homeassistant
+exit
+sudo systemctl start home-assistant@homeassistant.service
```
This will in order do the following:
@@ -63,9 +63,9 @@ This will in order do the following:
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ hass
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+hass
```
This will start Home Assistant in your shell and output anything that ends up in the log and more into the console. This will fail if the Home Assistant service is already running so don't forget to [stop][stop-homeassistant] it first. If you want the log output to be colored, execute `hass --script check_config` first. This will install the `colorlog` module.
@@ -75,9 +75,9 @@ This will start Home Assistant in your shell and output anything that ends up in
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ hass --script check_config
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+hass --script check_config
```
This will output any errors in your configuration files to console.
@@ -87,9 +87,9 @@ This will output any errors in your configuration files to console.
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo -u homeassistant -H -s
-$ cd /home/homeassistant/.homeassistant
-$ nano home-assistant.log
+sudo -u homeassistant -H -s
+cd /home/homeassistant/.homeassistant
+nano home-assistant.log
```
This will in order do the following:
@@ -102,7 +102,7 @@ Optionally, you can also view the log with `journalctl`.
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo journalctl -fu home-assistant@homeassistant.service
+sudo journalctl -fu home-assistant@homeassistant.service
```
### Edit the Home Assistant configuration
@@ -110,9 +110,9 @@ $ sudo journalctl -fu home-assistant@homeassistant.service
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo -u homeassistant -H -s
-$ cd /home/homeassistant/.homeassistant
-$ nano configuration.yaml
+sudo -u homeassistant -H -s
+cd /home/homeassistant/.homeassistant
+nano configuration.yaml
```
This will in order do the following:
@@ -126,7 +126,7 @@ It's generally recommended that you read the [Getting started][configuring-homea
### Change locale, timezone and keyboard layout
```bash
-$ sudo raspi-config
+sudo raspi-config
```
[configuring-homeassistant]: /getting-started/configuration/
diff --git a/source/_docs/installation/hassbian/upgrading.markdown b/source/_docs/installation/hassbian/upgrading.markdown
index 33cafa35593..f9d25d306f3 100644
--- a/source/_docs/installation/hassbian/upgrading.markdown
+++ b/source/_docs/installation/hassbian/upgrading.markdown
@@ -8,8 +8,8 @@ Hassbian is based on Raspbian and uses the same repositories. Any changes to Ras
Log in as the `pi` account and execute the following commands:
```bash
-$ sudo apt-get update
-$ sudo apt-get -y upgrade
+sudo apt-get update
+sudo apt-get -y upgrade
```
#### Updating Home Assistant
@@ -23,10 +23,10 @@ You can use `hassbian-config` to automate the process by running `sudo hassbian-
To update the Home Assistant installation execute the following command as the `pi` user.
```bash
-$ sudo systemctl stop home-assistant@homeassistant.service
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install --upgrade homeassistant
-$ exit
-$ sudo systemctl start home-assistant@homeassistant.service
+sudo systemctl stop home-assistant@homeassistant.service
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install --upgrade homeassistant
+exit
+sudo systemctl start home-assistant@homeassistant.service
```
diff --git a/source/_docs/installation/macos.markdown b/source/_docs/installation/macos.markdown
index 8658f7cedc8..58c4a215f2e 100644
--- a/source/_docs/installation/macos.markdown
+++ b/source/_docs/installation/macos.markdown
@@ -10,9 +10,9 @@ To run Home Assistant on macOS, you need to install Python first. Download Pytho
Open a terminal and install Home Assistant in a virtual environment:
```bash
-$ python3 -m venv homeassistant
-$ source homeassistant/bin/activate
-$ pip3 install homeassistant
+python3 -m venv homeassistant
+source homeassistant/bin/activate
+pip3 install homeassistant
```
You can then configure Home Assistant to autostart by following [this guide](/docs/autostart/macos/).
diff --git a/source/_docs/installation/python.markdown b/source/_docs/installation/python.markdown
index b837680b10d..ecb67056676 100644
--- a/source/_docs/installation/python.markdown
+++ b/source/_docs/installation/python.markdown
@@ -13,8 +13,8 @@ If you're running a Linux-based platform, we strongly recommend you follow the i
Once Python is installed, execute the following code in a console:
```bash
-$ pip3 install homeassistant
-$ hass --open-ui
+pip3 install homeassistant
+hass --open-ui
```
Running these commands will:
diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown
index 1d662e30ffc..982fd32faac 100644
--- a/source/_docs/installation/raspberry-pi.markdown
+++ b/source/_docs/installation/raspberry-pi.markdown
@@ -28,44 +28,44 @@ $ ssh pi@ipaddress
Changing the default password is encouraged.
```bash
-$ passwd
+passwd
```
Update the system.
```bash
-$ sudo apt-get update
-$ sudo apt-get upgrade -y
+sudo apt-get update
+sudo apt-get upgrade -y
```
Install the dependencies.
```bash
-$ sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
+sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
```
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,gpio,i2c` adds the user to the `dialout`, `gpio` and the `i2c` group. The first is required for using Z-Wave and Zigbee controllers, while the second is required to communicate with Raspberry's GPIO.
```bash
-$ sudo useradd -rm homeassistant -G dialout,gpio,i2c
+sudo useradd -rm homeassistant -G dialout,gpio,i2c
```
Next we will create a directory for the installation of Home Assistant and change the owner to the `homeassistant` account.
```bash
-$ cd /srv
-$ sudo mkdir homeassistant
-$ sudo chown homeassistant:homeassistant homeassistant
+cd /srv
+sudo mkdir homeassistant
+sudo chown homeassistant:homeassistant homeassistant
```
Next up is to create and change to a virtual environment for Home Assistant. This will be done as the `homeassistant` account.
```bash
-$ sudo -u homeassistant -H -s
-$ cd /srv/homeassistant
-$ python3 -m venv .
-$ source bin/activate
+sudo -u homeassistant -H -s
+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.
@@ -99,9 +99,9 @@ If you want to setup `hass` as a daemon and autostart it on boot please refer to
To update to the latest version of Home Assistant follow these simple steps:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install --upgrade homeassistant
+sudo -u homeassistant -H -s
+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 start 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).
@@ -111,9 +111,9 @@ Once the last command executes, restart the Home Assistant service to apply the
In the event that a Home Assistant version doesn't play well with your hardware setup, you can downgrade to a previous release. For example:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install homeassistant==0.XX.X
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install homeassistant==0.XX.X
```
### Run the beta version
@@ -121,9 +121,9 @@ $ pip3 install homeassistant==0.XX.X
If you would like to test next release before anyone else, you can install the beta version released every two weeks, for example:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install --pre --upgrade homeassistant
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install --pre --upgrade homeassistant
```
### Run the development version
@@ -137,9 +137,9 @@ If you want to stay on the bleeding-edge Home Assistant development branch, you
For example:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
-$ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
+pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
```
### Activating the virtual environment
@@ -147,6 +147,6 @@ $ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@
When instructions tell you to activate the virtual environment, the following commands will do this:
```bash
-$ sudo -u homeassistant -H -s
-$ source /srv/homeassistant/bin/activate
+sudo -u homeassistant -H -s
+source /srv/homeassistant/bin/activate
```
diff --git a/source/_docs/installation/troubleshooting.markdown b/source/_docs/installation/troubleshooting.markdown
index c9fc3c2eb9b..a27b9582a29 100644
--- a/source/_docs/installation/troubleshooting.markdown
+++ b/source/_docs/installation/troubleshooting.markdown
@@ -13,7 +13,7 @@ This utility should have been installed as part of the Python installation. Chec
If you are able to successfully run `python3 --version` but not `pip3`, install Home Assistant by running the following command instead:
```bash
-$ python3 -m pip install homeassistant
+python3 -m pip install homeassistant
```
On a Debian system, you can also install python3 by `sudo apt-get install python3`, and pip3 by `sudo apt-get install python3-pip`.
@@ -22,7 +22,7 @@ On a Debian system, you can also install python3 by `sudo apt-get install python
[Pip](https://pip.pypa.io/en/stable/) should come bundled with the latest Python 3 but is omitted by some distributions. If you are unable to run `python3 -m pip --version` you can install `pip` by [downloading the installer](https://bootstrap.pypa.io/get-pip.py) and running it with Python 3:
```bash
-$ python3 get-pip.py
+python3 get-pip.py
```
#### libyaml is not found or a compiler error
@@ -43,21 +43,21 @@ To fix this you will need to open your machine's firewall for TCP traffic to por
For systems with **firewalld** (Fedora, CentOS/RHEL, etc.):
```bash
-$ sudo firewall-cmd --permanent --add-port=8123/tcp
-$ sudo firewall-cmd --reload
+sudo firewall-cmd --permanent --add-port=8123/tcp
+sudo firewall-cmd --reload
```
For UFW systems (Ubuntu, Debian, Raspbian, etc.):
```bash
-$ sudo ufw allow 8123/tcp
+sudo ufw allow 8123/tcp
```
For `iptables` systems (was the default for older distributions):
```bash
-$ iptables -I INPUT -p tcp --dport 8123 -j ACCEPT
-$ iptables-save > /etc/network/iptables.rules # your rules may be saved elsewhere
+iptables -I INPUT -p tcp --dport 8123 -j ACCEPT
+iptables-save > /etc/network/iptables.rules # your rules may be saved elsewhere
```
#### After upgrading, your browser login gets stuck at the "loading data" step
diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown
index f1766a13b7b..e420e890ff7 100644
--- a/source/_docs/installation/virtualenv.markdown
+++ b/source/_docs/installation/virtualenv.markdown
@@ -22,24 +22,24 @@ It should not contain any OS specific instructions.
### Install
1. Create a virtual environment in your current directory:
- ```
- $ python3 -m venv homeassistant
+ ```bash
+ python3 -m venv homeassistant
```
2. Open the virtual environment:
- ```
- $ cd homeassistant
+ ```bash
+ cd homeassistant
```
3. Activate the virtual environment:
- ```
- $ source bin/activate
+ ```bash
+ source bin/activate
```
4. Install Home Assistant:
- ```
- $ python3 -m pip install homeassistant
+ ```bash
+ python3 -m pip install homeassistant
```
5. Run Home Assistant:
- ```
- $ hass --open-ui
+ ```bash
+ hass --open-ui
```
6. You can now reach the web interface on `http://ipaddress:8123/` - the first start may take a couple of minutes before the web interface is available. This can take longer if you're using lower-end hardware like a Raspberry Pi Zero.
@@ -49,9 +49,9 @@ It should not contain any OS specific instructions.
2. Open the directory where the virtual environment is located, activate the virtual environment, then upgrade Home Assistant:
```bash
- $ cd homeassistant
- $ source bin/activate
- $ python3 -m pip install --upgrade homeassistant
+ cd homeassistant
+ source bin/activate
+ python3 -m pip install --upgrade homeassistant
```
3. Start Home Assistant
4. You can now reach the web interface on `http://ipaddress:8123/` - the first start may take some time before the web interface is available, depending on how many integrations need to be upgraded.
@@ -61,9 +61,9 @@ It should not contain any OS specific instructions.
In the event that a Home Assistant version doesn't play well with your hardware setup, you can downgrade to a previous release. For example:
```bash
-$ cd homeassistant
-$ source bin/activate
-$ pip3 install homeassistant==0.XX.X
+cd homeassistant
+source bin/activate
+pip3 install homeassistant==0.XX.X
```
#### Run the beta version
@@ -71,9 +71,9 @@ $ pip3 install homeassistant==0.XX.X
If you would like to test next release before anyone else, you can install the beta version, for example:
```bash
-$ cd homeassistant
-$ source bin/activate
-$ pip3 install --pre --upgrade homeassistant
+cd homeassistant
+source bin/activate
+pip3 install --pre --upgrade homeassistant
```
#### Run the development version
@@ -87,9 +87,9 @@ If you want to stay on the bleeding-edge Home Assistant development branch, you
For example:
```bash
-$ cd homeassistant
-$ source bin/activate
-$ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
+cd homeassistant
+source bin/activate
+pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
```
### Notes
@@ -109,7 +109,7 @@ Looking for more advanced guides? Check our [Raspbian guide](/docs/installation/
If you've upgraded Python (for example, you were running 3.7.1 and now you've installed 3.7.3) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory:
```bash
-$ mv homeassistant homeassistant.old
+mv homeassistant homeassistant.old
```
Then follow the [Install](#install) steps again, being sure to use the newly installed version of Python.
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index cdb68d0c496..1fa69fdd6b2 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -73,7 +73,7 @@ If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_T
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:
-```
+```txt
[Unit]
Description=Home Assistant
After=network.target mosquitto.service
diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown
index 0ed1c2f870c..1bdcb10d7fd 100644
--- a/source/_docs/mqtt/discovery.markdown
+++ b/source/_docs/mqtt/discovery.markdown
@@ -72,7 +72,7 @@ In the value of configuration variables ending with `_topic`, `~` will be replac
Configuration variable names in the discovery payload may be abbreviated to conserve memory when sending a discovery message from memory constrained devices.
Supported abbreviations:
-```
+```txt
'aux_cmd_t': 'aux_command_topic',
'aux_stat_tpl': 'aux_state_template',
'aux_stat_t': 'aux_state_topic',
@@ -207,7 +207,7 @@ Supported abbreviations:
```
Supported abbreviations for device registry configuration:
-```
+```txt
'cns': 'connections',
'ids': 'identifiers',
'name': 'name',
diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown
index 833213f7f11..e7ec0b159f2 100644
--- a/source/_docs/scripts/conditions.markdown
+++ b/source/_docs/scripts/conditions.markdown
@@ -4,7 +4,7 @@ description: "Documentation about all available conditions."
redirect_from: /getting-started/scripts-conditions/
---
-Conditions can be used within a script or automation to prevent further execution. A condition will look at the system right now. For example a condition can test if a switch is currently turned on or off.
+Conditions can be used within a script or automation to prevent further execution. When a condition does not return true, the script or automation will stop executing. A condition will look at the system right now. For example a condition can test if a switch is currently turned on or off.
Unlike a trigger, which is always `or`, conditions are `and` by default - all conditions have to be true.
diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown
index eac0e7c9720..810eafe6ef1 100644
--- a/source/_docs/tools/dev-tools.markdown
+++ b/source/_docs/tools/dev-tools.markdown
@@ -12,8 +12,9 @@ Screenshot of Home Assistant's Developer Tools.
| Section |Description |
| ------- |----- |
-| Services | Calls services from integrations |
| States | Sets the representation of an entity |
+| Services | Calls services from integrations |
+| Logs | Displays contents of Home Assistant log file |
| Events | Fires events |
| Templates | Renders templates |
| Info | Details about Home Assistant |
@@ -92,6 +93,12 @@ This section is only visible if the MQTT integration is configured. To configure
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.
+
+## Logs
+
+This section displays `syslog` information, and the contents of `home-assistant.log` with an option to clear and refresh the logs.
+
+
## Info
-The Information tab simply provides information about the current installed version, additional links and credits. The tab also contains a section that shows `syslog` information, and the contents of `home-assistant.log` with an option to clear and refresh the logs.
+The Information tab simply provides information about the current installed version, [system health](/components/system_health/) (if enabled), additional links and credits.
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index 206d323582a..66d3e410d80 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -137,7 +137,7 @@ $ docker run -d --name="home-assistant" -v /home/pi/homeassistant:/config -v /et
If the path of `/dev/ttyACM0` doesn't work then you can find the path of the stick by disconnecting and then reconnecting it, and running the following in the Docker host:
```bash
-$ ls -1tr /dev/tty*|tail -n 1
+ls -1tr /dev/tty*|tail -n 1
```
The `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
@@ -149,7 +149,7 @@ You do not need to install any software to use Z-Wave.
To find the path of your Z-Wave USB stick, disconnect it and then reconnect it to your system and run:
```bash
-$ ls -1tr /dev/tty*|tail -n 1
+ls -1tr /dev/tty*|tail -n 1
```
### Community install methods
@@ -173,7 +173,7 @@ You may also have to install the Python development libraries for your version o
To find the path of your Z-Wave USB stick, disconnect it and then reconnect it to your system and run:
```bash
-$ ls -ltr /dev/tty*|tail -n 1
+ls -ltr /dev/tty*|tail -n 1
```
That will give you a line that looks something like this:
@@ -187,7 +187,7 @@ Where the date and time displayed is approximately the time you connected the US
Or, if there is no result, try to find detailed USB connection info with:
```bash
-$ dmesg | grep USB
+dmesg | grep USB
```
If Home Assistant (`hass`) runs with another user (e.g., *homeassistant*) you need to give access to the stick with:
@@ -210,13 +210,13 @@ The output from `ls -ltr` above contains the following information:
When installing on macOS you may have to also run the command below ahead of time, replace "x.x" with the version of Python (`$ python3 --version`) you have installed.
```bash
-$ sudo /Applications/Python\ x.x/Install\ Certificates.command
+sudo /Applications/Python\ x.x/Install\ Certificates.command
```
On macOS you can find the USB stick with:
```bash
-$ ls /dev/cu.usbmodem*
+ls /dev/cu.usbmodem*
```
## Troubleshooting
@@ -242,32 +242,32 @@ systemctl disable ModemManager.service
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):
```bash
-$ ls -l /dev/ttyAMA0
+ls -l /dev/ttyAMA0
```
You should then see something like this:
-```
+```txt
crw-rw---- 1 root dialout 204, 64 Apr 1 12:34 /dev/ttyAMA0
```
The important pieces are the first piece `crw-rw----` and the group `dialout`. If those are different then, for your device path, run:
```bash
-$ sudo chgrp dialout /dev/ttyAMA0
-$ sudo chmod g+rw /dev/ttyAMA0
+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
+groups homeassistant
```
That should include `dialout`, if it doesn't then:
```bash
-$ sudo usermod -aG dialout homeassistant
+sudo usermod -aG dialout homeassistant
```
### Unable to install Python Openzwave
@@ -282,7 +282,7 @@ Then the problem is that you're missing `libudev-dev` (or the equivalent for you
If you're having random failures of the mesh, devices going missing, things randomly not working, check your `OZW_Log.txt` for the following messages:
-```
+```txt
WARNING: 500ms passed without reading the rest of the frame...aborting frame read
WARNING: Out of frame flow! (0xfe). Sending NAK
WARNING: Checksum incorrect - sending NAK
diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html
index c6455ea4b25..be4531fca06 100644
--- a/source/_includes/site/head.html
+++ b/source/_includes/site/head.html
@@ -1,8 +1,8 @@
-
-
-
-
+
+
+
+
diff --git a/source/_lovelace/weather-forecast.markdown b/source/_lovelace/weather-forecast.markdown
index 769bca27c5f..f0ee30fbc15 100644
--- a/source/_lovelace/weather-forecast.markdown
+++ b/source/_lovelace/weather-forecast.markdown
@@ -38,6 +38,6 @@ entity: weather.dark_sky
This card works only with platforms that define a `weather` entity.
- E.g., it works with [Dark Sky](/components/weather.darksky/) but not [Dark Sky Sensor](/components/sensor.darksky/)
+ E.g., it works with [Dark Sky](/components/weather.darksky/) but not [Dark Sky Sensor](/components/darksky)
diff --git a/source/_posts/2015-06-10-release-notes.markdown b/source/_posts/2015-06-10-release-notes.markdown
index b3f4fcf5a5c..1d349a93ada 100644
--- a/source/_posts/2015-06-10-release-notes.markdown
+++ b/source/_posts/2015-06-10-release-notes.markdown
@@ -141,7 +141,7 @@ notify:
__Swiss Public transport sensor__
-The swiss public transport sensor will give you the next two departure times from a given location to another one in Switzerland. See the [component page](/components/sensor.swiss_public_transport/) for more information how to set it up.
+The swiss public transport sensor will give you the next two departure times from a given location to another one in Switzerland. See the [component page](/components/swiss_public_transport) for more information how to set it up.
__Transmission turtle mode switch__
diff --git a/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown b/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
index 983f368f8ec..f771602c3a2 100644
--- a/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
+++ b/source/_posts/2015-08-26-laundry-automation-with-moteino-mqtt-and-home-assistant.markdown
@@ -33,7 +33,7 @@ Next it was just a matter of integrating everything with Home Assistant. I was
Status of the dryer and washer in Home Assistant
-Next I wrote [scripts](/components/script/) that are run whenever the washer or dryer completes a load. This is triggered by the [automation component](/getting-started/automation/). When the laundry is complete I have the lights in the house turn red and [notify me via PushBullet](/components/notify.pushbullet/). Once the laundry is taken care of another script runs that sets the lights back to normal. So far it has been very helpful and very reliable.
+Next I wrote [scripts](/components/script/) that are run whenever the washer or dryer completes a load. This is triggered by the [automation component](/getting-started/automation/). When the laundry is complete I have the lights in the house turn red and [notify me via PushBullet](/components/pushbullet). Once the laundry is taken care of another script runs that sets the lights back to normal. So far it has been very helpful and very reliable.
diff --git a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown
index a42a75e54b8..56eb80ec6b7 100644
--- a/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown
+++ b/source/_posts/2015-09-18-monitoring-with-glances-and-home-assistant.markdown
@@ -9,27 +9,27 @@ og_image: /images/supported_brands/glances.png
---
-Inspired by a [feature requests](https://github.com/home-assistant/home-assistant/issues/310) I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the [systemmonitor](/components/sensor.systemmonitor/) sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
+Inspired by a [feature requests](https://github.com/home-assistant/home-assistant/issues/310) I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the [systemmonitor](/components/systemmonitor) sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
The basic problem is to get the data from the remote host. Starting with [psutil](https://pypi.python.org/pypi/psutil) that is used by the systemmonitor sensor, a possible solution is only a click away and named [Glances](https://github.com/nicolargo/glances). Glances has a nice curses-based interface and a [RESTful API](https://github.com/nicolargo/glances/wiki/The-Glances-RESTFULL-JSON-API).
-The [Glances sensor](/components/sensor.glances/) sensor uses that API to get all needed data.
+The [Glances sensor](/components/glances) sensor uses that API to get all needed data.
In this post a default Fedora 22 Workstation installation is used on the host that should be monitored. In fact, it doesn't matter if the system is the local one or a remote one as long as Glances is available. With some adjustments it should work on your own systems too. The difference will be the package and the firewall management tools.
First some extra packages are needed beside Glances, especially the [bottle](http://bottlepy.org/docs/dev/index.html) webserver. I guess that Glances is available for your distribution as well. Otherwise follow those [instructions](https://github.com/nicolargo/glances#installation).
```bash
-$ sudo dnf -y install glances python-bottle
+sudo dnf -y install glances python-bottle
```
On Fedora the Firewall settings are strict. Let's open port 61208 to allow other hosts to connect to that port. This is not needed if you just want to observe your local machine.
```bash
-$ sudo firewall-cmd --permanent --add-port=61208/tcp
-$ sudo firewall-cmd --reload
+sudo firewall-cmd --permanent --add-port=61208/tcp
+sudo firewall-cmd --reload
```
Launch `glances` and keep an eye on the output.
@@ -53,7 +53,7 @@ $ curl -X GET http://IP_ADDRESS:61208/api/2/mem/used
{"used": 203943936}
```
-Add the [glances sensor](/components/sensor.glances/) entry to your `configuration.yaml` file and restart Home Assistant then.
+Add the [glances sensor](/components/glances) entry to your `configuration.yaml` file and restart Home Assistant then.
```yaml
# Example configuration.yaml entry
diff --git a/source/_posts/2015-10-05-home-assistant-goes-geo-with-owntracks.markdown b/source/_posts/2015-10-05-home-assistant-goes-geo-with-owntracks.markdown
index 7c1d05be98d..e4678fb42d3 100644
--- a/source/_posts/2015-10-05-home-assistant-goes-geo-with-owntracks.markdown
+++ b/source/_posts/2015-10-05-home-assistant-goes-geo-with-owntracks.markdown
@@ -17,7 +17,7 @@ A few weeks have past and it is time again for another release: version 0.7.4. T
We have added a new [getting started section][start-presence] to get up and running.
-[platform-owntracks]: /components/device_tracker.owntracks/
+[platform-owntracks]: /components/owntracks
[component-zone]: /components/zone/
[zone-automation]: /getting-started/automation-trigger/#zone-trigger
[start-presence]: /getting-started/presence-detection/
@@ -29,15 +29,15 @@ Map in Home Assistant showing two people and three zones (home, school, work)
Ofcourse more things happened in the last three weeks. I'm moving away from my usual long post to a short summary of highlights:
-
+
- - Sensor: [rest platform](/components/sensor.rest/) added ([@fabaff](https://github.com/fabaff))
+ - Sensor: [rest platform](/components/rest) added ([@fabaff](https://github.com/fabaff))
- Alarm Control Panel: [MQTT platform](/components/alarm_control_panel.mqtt/) added ([@sfam](https://github.com/sfam))
- - Media Player: [Plex platform](/components/media_player.plex/) added ([@miniconfig](https://github.com/miniconfig, [@adrienbrault](https://github.com/adrienbrault))
+ - Media Player: [Plex platform](/components/plex#media-player) added ([@miniconfig](https://github.com/miniconfig, [@adrienbrault](https://github.com/adrienbrault))
- Dev Tools: services can now show description of fields ([@balloob](https://github.com/balloob))
- MQTT: Support for certificates and improved error reporting ([@balloob](https://github.com/balloob))
- - Light: [limitlessled platform](/components/light.limitlessled/) extended with white light support ([@auchter](https://github.com/auchter))
+ - Light: [limitlessled platform](/components/limitlessled) extended with white light support ([@auchter](https://github.com/auchter))
- Fuzzy matching for scenes ([@pavoni](https://github.com/pavoni))
- Scene support for media player ([@maddox](https://github.com/maddox))
diff --git a/source/_posts/2015-10-11-rfxtrx-blinkstick-and-snmp-support.markdown b/source/_posts/2015-10-11-rfxtrx-blinkstick-and-snmp-support.markdown
index 3b4ff5a6e9e..0ebafa863dc 100644
--- a/source/_posts/2015-10-11-rfxtrx-blinkstick-and-snmp-support.markdown
+++ b/source/_posts/2015-10-11-rfxtrx-blinkstick-and-snmp-support.markdown
@@ -17,10 +17,10 @@ This release also includes some new platforms (because they keep coming!):


- - Light: [blinkstick platform](/components/light.blinksticklight/) added ([@alanbowman](https://github.com/alanbowman))
- - Device Tracker: [SNMP platform](/components/device_tracker.snmp/) added ([@tomduijf](https://github.com/tomduijf))
+ - Light: [blinkstick platform](/components/blinksticklight) added ([@alanbowman](https://github.com/alanbowman))
+ - Device Tracker: [SNMP platform](/components/snmp) added ([@tomduijf](https://github.com/tomduijf))
- Light: [rfxtrx platform](/components/light.rfxtrx/) added ([@badele](https://github.com/badele))
- Switch: [rfxtrx platform](/components/switch.rfxtrx/) added ([@badele](https://github.com/badele))
- - Notify: [telegram platform](/components/notify.telegram/) added ([@fabaff](https://github.com/fabaff))
+ - Notify: [telegram platform](/components/telegram) added ([@fabaff](https://github.com/fabaff))
-Also, the media player was extended by [@maddox](https://github.com/maddox) to support the play media command. This has been implemented for the [iTunes platform](/components/media_player.itunes/).
+Also, the media player was extended by [@maddox](https://github.com/maddox) to support the play media command. This has been implemented for the [iTunes platform](/components/itunes).
diff --git a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
index 5b180f5b650..955d3004878 100644
--- a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
+++ b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
@@ -14,22 +14,22 @@ After two weeks of hard work I'm proud to announce the release of Home Assistant


- - Device tracker: Newer [TP-Link routers](/components/device_tracker.tplink/) now supported ([@mKeRix](https://github.com/mKeRix))
- - Alarm Control Panel: [Manual alarm](/components/alarm_control_panel.manual/) added ([@sfam](https://github.com/sfam))
+ - Device tracker: Newer [TP-Link routers](/components/tplink) now supported ([@mKeRix](https://github.com/mKeRix))
+ - Alarm Control Panel: [Manual alarm](/components/manual) added ([@sfam](https://github.com/sfam))
- Thermostat: [Radiotherm](/components/radiotherm/) now supported ([@toddeye](https://github.com/toddeye))
- - Media Player: [Amazon FireTV](/components/media_player.firetv/) now supported ([@happyleavesaoc](https://github.com/happyleavesaoc))
- - Device Tracker: [Geofancy](/components/device_tracker.locative/) now supported (@wind-rider)
+ - Media Player: [Amazon FireTV](/components/androidtv) now supported ([@happyleavesaoc](https://github.com/happyleavesaoc))
+ - Device Tracker: [Geofancy](/components/locative) now supported (@wind-rider)
- New component [Shell Command](/components/shell_command/) can expose shell commands as services ([@balloob](https://github.com/balloob))
- [Scripts](/components/script/) can now be customized using `customize` key in `configuration.yaml` ([@balloob](https://github.com/balloob))
- - Light: [Hyperion](/components/light.hyperion/) now supported (@MakeMeASandwich)
- - Sensor: [aRest](/components/sensor.arest/) can now also read out pins ([@balloob](https://github.com/balloob))
- - Sensor: [Forecast.io](/components/sensor.forecast/) now supports specifying units in `configuration.yaml` ([@balloob](https://github.com/balloob))
+ - Light: [Hyperion](/components/hyperion) now supported (@MakeMeASandwich)
+ - Sensor: [aRest](/components/arest#sensor) can now also read out pins ([@balloob](https://github.com/balloob))
+ - Sensor: [Forecast.io](/components/darksky) now supports specifying units in `configuration.yaml` ([@balloob](https://github.com/balloob))
- Thermostat: [Heat Control](/components/thermostat.heat_control/) has been completely rewritten ([@balloob](https://github.com/balloob))
- Switch: [Rest](/components/switch.rest/) now supported ([@bachp](https://github.com/bachp))
- - Media Player: [Plex](/components/media_player.plex/) can now be auto discovered and configure itself ([@tomduijf](https://github.com/tomduijf))
+ - Media Player: [Plex](/components/plex#media-player) can now be auto discovered and configure itself ([@tomduijf](https://github.com/tomduijf))
- [Downloader](/components/downloader/) will now treat relative paths based on config dir ([@tomduijf](https://github.com/tomduijf))
- Line Charts will use interpolation for sensor data and show current and target temperature for thermostats ([@balloob](https://github.com/balloob))
- - Device Tracker: [OpenWRT via ubus](/components/device_tracker.ubus/) now supported ([@krzynio](https://github.com/krzynio))
+ - Device Tracker: [OpenWRT via ubus](/components/ubus) now supported ([@krzynio](https://github.com/krzynio))
diff --git a/source/_posts/2015-11-16-zwave-switches-lights-and-honeywell-thermostats-now-supported.markdown b/source/_posts/2015-11-16-zwave-switches-lights-and-honeywell-thermostats-now-supported.markdown
index 417cd1279b4..0d43c72d35e 100644
--- a/source/_posts/2015-11-16-zwave-switches-lights-and-honeywell-thermostats-now-supported.markdown
+++ b/source/_posts/2015-11-16-zwave-switches-lights-and-honeywell-thermostats-now-supported.markdown
@@ -27,15 +27,15 @@ homeassistant:


* Thermostat: [Honeywell](/components/honeywell/) now supported ([@sander76])
- * Switch: [Orvibo](/components/switch.orvibo/) now supported ([@happyleavesaoc])
- * Camera: [mjpeg camera's](/components/camera.mjpeg/) now supported ([@ryanturner])
- * Notify: [Pushetta](/components/notify.pushetta/) now supported ([@fabaff])
+ * Switch: [Orvibo](/components/orvibo) now supported ([@happyleavesaoc])
+ * Camera: [mjpeg camera's](/components/mjpeg) now supported ([@ryanturner])
+ * Notify: [Pushetta](/components/pushetta) now supported ([@fabaff])
* Light: [MQTT](/components/light.mqtt/) now supported ([@hexxter])
* Light: [Z-Wave](/components/zwave/) now supported ([@leoc])
* Switch: [Z-Wave](/components/zwave/) now supported ([@leoc])
* New component [logger](/components/logger/) allows filtering logged data ([@badele])
* New component [updater](/components/updater/) will notify users if an update for Home Assistant is available ([@rmkraus])
- * Notify: [PushBullet](/components/notify.pushbullet/) now allows targeting contacts/channels/specific devices ([@tomduijf])
+ * Notify: [PushBullet](/components/pushbullet) now allows targeting contacts/channels/specific devices ([@tomduijf])
* Light: Allow controlling color temperature ([@tomduijf])
* Frontend: about page added ([@balloob])
* Switch RGB as the color unit used in light component ([@balloob])
diff --git a/source/_posts/2015-11-22-survey-november-2015.markdown b/source/_posts/2015-11-22-survey-november-2015.markdown
index 3c7451bab4f..016723a9408 100644
--- a/source/_posts/2015-11-22-survey-november-2015.markdown
+++ b/source/_posts/2015-11-22-survey-november-2015.markdown
@@ -19,9 +19,9 @@ Of course most users are running with the [automation](/getting-started/automati
The [Alarm control panels](/components/alarm_control_panel/) and the [camera component](/components/camera/) are both used by around one third of the participants of the survey. It's safe to say that they cover a niche, but they will gain momentum when people discover how they can build alarm systems with Home Assistant.
-[Philips Hue](/components/light.hue/) is the "winner" in the light category closely followed by [MQTT lights](components/light.mqtt/). [Google Cast](/components/media_player.cast/) and [ Plex](/components/media_player.plex/) are the top media player platforms. [Pushbullet](/components/notify.pushbullet/) is by far the most-used [notification platform](/components/notify/). If you followed the recent efforts to improve this platform it's comprehensible.
+[Philips Hue](/components/hue) is the "winner" in the light category closely followed by [MQTT lights](components/light.mqtt/). [Google Cast](/components/cast) and [ Plex](/components/plex#media-player) are the top media player platforms. [Pushbullet](/components/pushbullet) is by far the most-used [notification platform](/components/notify/). If you followed the recent efforts to improve this platform it's comprehensible.
-It's interesting to see that most of the sensor, switch, and thermostat platforms are used. A lot of people seem to be interested in the weather data provided by the [Forecast sensor](/components/sensor.forecast/). The MQTT sensors and switches are deployed in almost 50% of all Home Assistant setups.
+It's interesting to see that most of the sensor, switch, and thermostat platforms are used. A lot of people seem to be interested in the weather data provided by the [Forecast sensor](/components/darksky). The MQTT sensors and switches are deployed in almost 50% of all Home Assistant setups.
diff --git a/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown b/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown
index 25c8da6b02a..994ee3bd747 100644
--- a/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown
+++ b/source/_posts/2015-12-06-locks-rollershutters-binary-sensors-and-influxdb-support.markdown
@@ -25,9 +25,9 @@ It's been a few weeks but we managed to polish a nice new release of Home Assist
To update, run `pip3 install --upgrade homeassistant`.
[lock component]: /components/lock/
-[lock.wink]: /components/lock.wink/
+[lock.wink]: /components/wink#lock
[binary sensor component]: /components/binary_sensor/
-[binary_sensor.arest]: /components/binary_sensor.arest/
+[binary_sensor.arest]: /components/arest#binary-sensor
[binary_sensor.mqtt]: /components/binary_sensor.mqtt/
[InfluxDB component]: /components/influxdb/
[Ecobee]: /components/ecobee/#thermostat
diff --git a/source/_posts/2015-12-07-influxdb-and-grafana.markdown b/source/_posts/2015-12-07-influxdb-and-grafana.markdown
index 30367848413..99cd2cc3edb 100644
--- a/source/_posts/2015-12-07-influxdb-and-grafana.markdown
+++ b/source/_posts/2015-12-07-influxdb-and-grafana.markdown
@@ -18,13 +18,13 @@ The `influxdb` component makes it possible to transfer all state changes from Ho
The first step is to install the InfluxDB packages. If you are not running Fedora, check the [installation](https://influxdb.com/docs/v0.9/introduction/installation.html) section for further details.
```bash
-$ sudo dnf -y install http://influxdb.s3.amazonaws.com/influxdb-0.9.5.1-1.x86_64.rpm
+sudo dnf -y install http://influxdb.s3.amazonaws.com/influxdb-0.9.5.1-1.x86_64.rpm
```
Launch the InfluxDB service.
```bash
-$ sudo systemctl start influxdb
+sudo systemctl start influxdb
```
If everything went well, then the web interface of the database should be accessible at [http://localhost:8083/](http://localhost:8083/). Create a database `home_assistant` to use with Home Assistant either with the web interface or the commandline tool `influx`.
@@ -77,15 +77,15 @@ time domain entity_id value
[Grafana](http://grafana.org/) is a dashboard that can create graphs from different sources including InfluxDB. The installation is simple, and there are detailed steps for many different configurations on the [Grafana installation](http://docs.grafana.org/installation/) page. For a recent system that is running Fedora:
```bash
-$ sudo dnf -y install https://grafanarel.s3.amazonaws.com/builds/grafana-2.5.0-1.x86_64.rpm
+sudo dnf -y install https://grafanarel.s3.amazonaws.com/builds/grafana-2.5.0-1.x86_64.rpm
```
Start the grafana server.
```bash
-$ sudo systemctl daemon-reload
-$ sudo systemctl start grafana-server
-$ sudo systemctl status grafana-server
+sudo systemctl daemon-reload
+sudo systemctl start grafana-server
+sudo systemctl status grafana-server
```
Login with the username `admin` and the password `admin` at [http://localhost:3000/login](http://localhost:3000/login). Now follow the [InfluxDB setup instructions](http://docs.grafana.org/datasources/influxdb/).
@@ -103,4 +103,3 @@ If the graph is not showing up in the dashboard you need to adjust the time rang
Grafana Temperature graph
-
diff --git a/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown b/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown
index bb448e43c36..7aabca141cf 100644
--- a/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown
+++ b/source/_posts/2015-12-20-amazon-echo-icloud-and-templates.markdown
@@ -30,17 +30,17 @@ Alrighty, it's time for Home Assistant 0.10. A lot amazing things have changed a
- Binary sensor: [REST] platform added ([@fabaff])
- Sensor: [Torque (OBD2)] platform added ([@happyleavesaoc])
-[iCloud]: /components/device_tracker.icloud/
-[Twitch]: /components/sensor.twitch/
+[iCloud]: /components/icloud
+[Twitch]: /components/twitch
[Template]: /topics/templating/
[Heatmiser]: /components/heatmiser/
-[Dweet.io]: /components/sensor.dweet/
+[Dweet.io]: /components/dweet#sensor
[Alexa/Amazon echo]: /components/alexa/
-[FritzBox]: /components/device_tracker.fritz/
-[Wink]: /components/sensor.wink/
-[ELIQ Online]: /components/sensor.eliqonline/
+[FritzBox]: /components/fritz
+[Wink]: /components/wink#sensor
+[ELIQ Online]: /components/eliqonline
[REST]: /components/binary_sensor.rest/
-[Torque (OBD2)]: /components/sensor.torque/
+[Torque (OBD2)]: /components/torque
[@andylockran]: https://github.com/andylockran
[@balloob]: https://github.com/balloob
[@caiuspb]: https://github.com/caiuspb
@@ -81,9 +81,9 @@ Affected components and platforms:
- binary_sensor: [MQTT][binary_sensor.mqtt]
- automation: [numeric_state][automation-numeric-state]
-[sensor.arest]: /components/sensor.arest/
+[sensor.arest]: /components/arest#sensor
[sensor.command]: /components/sensor.command_sensor/
-[sensor.rest]: /components/sensor.rest/
+[sensor.rest]: /components/rest
[sensor.mqtt]: /components/sensor.mqtt/
[switch.mqtt]: /components/switch.mqtt/
[light.mqtt]: /components/light.mqtt/
diff --git a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown
index b5b9f83d887..bc06e4f1e2e 100644
--- a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown
+++ b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown
@@ -38,25 +38,25 @@ First release of 2016 and we are on 🔥! The [main repository][github-ha] has p
- Support calling services via [Amazon Echo] ([@balloob])
[MySensors]: /components/mysensors/
-[YR]: /components/sensor.yr/
-[Locative]: /components/device_tracker.locative/
+[YR]: /components/yr
+[Locative]: /components/locative
[sun condition]: /getting-started/automation-condition/#sun-condition
[command_switch]: /components/switch.command_switch/
-[wemo]: /components/switch.wemo/
+[wemo]: /components/wemo
[Telldus Live]: /components/tellduslive/
[Vera]: /components/vera/
[template helper method]: /topics/templating/#home-assistant-template-extensions
-[OwnTracks]: /components/device_tracker.owntracks/
-[Philips Hue]: /components/light.hue/
-[Free Mobile]: /components/notify.free_mobile/
+[OwnTracks]: /components/owntracks
+[Philips Hue]: /components/hue
+[Free Mobile]: /components/free_mobile
[MQTT Eventstream]: /components/mqtt_eventstream/
-[Cast]: /components/media_player.cast/
-[Universal media player]: /components/media_player.universal/
-[Netatmo]: /components/sensor.netatmo/
-[Alarm.com]: /components/alarm_control_panel.alarmdotcom/
+[Cast]: /components/cast
+[Universal media player]: /components/universal
+[Netatmo]: /components/netatmo#sensor
+[Alarm.com]: /components/alarmdotcom
[Proliphix]: /components/proliphix/
-[rpi-bs]: /components/binary_sensor.rpi_gpio/
-[rpi-s]: /components/switch.rpi_gpio/
+[rpi-bs]: /components/rpi_gpio#binary-sensor
+[rpi-s]: /components/rpi_gpio#switch
[input_boolean]: /components/input_boolean/
[MySensors sensor platform]: /components/sensor.mysensors/
[Amazon Echo]: /components/alexa/
diff --git a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown
index c5841c2650f..33d45d7b3d7 100644
--- a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown
+++ b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown
@@ -45,16 +45,16 @@ Example of the new views in the frontend. Learn mor
[the demo]: /demo/
[command sensor]: /components/binary_sensor.command/
[Insteon hub]: /components/insteon/
-[LIFX]: /components/light.lifx/
+[LIFX]: /components/lifx
[Nest]: /components/nest/
-[onewire]: /components/sensor.onewire/
-[OwnTracks]: /components/device_tracker.owntracks/
+[onewire]: /components/onewire
+[OwnTracks]: /components/owntracks
[Rfxtrx]: /components/light.rfxtrx/
[Statsd]: /components/statsd/
-[Template]: /components/sensor.template/
+[Template]: /components/template
[Thermostat]: /components/climate/
[time automation]: /getting-started/automation-trigger/#time-trigger
-[Twitter]: /components/notify.twitter/
+[Twitter]: /components/twitter
[Wink]: /components/wink/
[Zigbee]: /components/zigbee/
[group]: /components/group/
diff --git a/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown b/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown
index aa48f049f2b..b78e81471cb 100644
--- a/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown
+++ b/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown
@@ -93,18 +93,18 @@ Not only did we gain a lot of test coverage, we also attracted a lot of new deve
[graphite]: /components/graphite/
[SCSGate]: /components/scsgate/
[weblink]: /components/weblink/
-[mfi.switch]: /components/switch.mfi/
-[mfi.sensor]: /components/sensor.mfi/
-[nx584]: /components/alarm_control_panel.nx584/
-[MJPEG]: /components/camera.mjpeg/
-[unifi]: /components/camera.uvc/
-[Aruba]: /components/device_tracker.aruba/
+[mfi.switch]: /components/mfi#switch
+[mfi.sensor]: /components/mfi#sensor
+[nx584]: /components/nx584
+[MJPEG]: /components/mjpeg
+[unifi]: /components/uvc
+[Aruba]: /components/aruba
[History]: /components/history/
[MySensors]: /components/light.mysensors/
-[Verisure]: /components/lock.verisure/
-[Speedtest.net]: /components/sensor.speedtest/
-[Samsung TV]: /components/media_player.samsungtv/
-[Snapcast]: /components/media_player.snapcast/
+[Verisure]: /components/verisure
+[Speedtest.net]: /components/speedtestdotnet
+[Samsung TV]: /components/samsungtv
+[Snapcast]: /components/snapcast
[mqtt-publish]: /components/mqtt/#publish-service
[REST]: /components/notify.rest/
[template]: /components/switch.template/
diff --git a/source/_posts/2016-02-18-multi-room-audio-with-snapcast.markdown b/source/_posts/2016-02-18-multi-room-audio-with-snapcast.markdown
index 163e8f13e58..4f894db98f0 100644
--- a/source/_posts/2016-02-18-multi-room-audio-with-snapcast.markdown
+++ b/source/_posts/2016-02-18-multi-room-audio-with-snapcast.markdown
@@ -135,5 +135,5 @@ weblink:
```
[weblink]: /components/weblink/
-[snapcast]: /components/media_player.snapcast/
-[mpd]: /components/media_player.mpd/
+[snapcast]: /components/snapcast
+[mpd]: /components/mpd
diff --git a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown
index 77f9e008419..e370c994fe5 100644
--- a/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown
+++ b/source/_posts/2016-02-28-steam-d-link-smart-plugs-and-neurio-energy-sensors.markdown
@@ -50,29 +50,29 @@ It's been another two weeks which means it's time for release: 0.14!
[sensor.rfxtrx]: /components/sensor.rfxtrx/
[notify.command_line]: /components/notify.command_line/
-[Verisure]: /components/sensor.verisure/
-[binary_sensor.tcp]: /components/binary_sensor.tcp/
-[sensor.tcp]: /components/sensor.tcp/
-[Neurio energy sensor]: /components/sensor.neurio_energy/
-[nx584]: /components/binary_sensor.nx584/
+[Verisure]: /components/verisure
+[binary_sensor.tcp]: /components/tcp#binary-sensor
+[sensor.tcp]: /components/tcp#sensor
+[Neurio energy sensor]: /components/neurio_energy
+[nx584]: /components/nx584#binary-sensor
[triggers]: /getting-started/automation-trigger/#state-trigger
[conditions]: /getting-started/automation-condition/#state-condition
-[Nest]: /components/sensor.nest/
-[Ubiquiti Unifi]: /components/device_tracker.unifi/
+[Nest]: /components/nest#sensor
+[Ubiquiti Unifi]: /components/unifi
[MySensors]: /components/binary_sensor.mysensors/
-[Bloomsky]: /components/binary_sensor.bloomsky/
-[Z-Wave]: /components/binary_sensor.zwave/
-[D-Link smart plugs]: /components/switch.dlink/
-[Wemo]: /components/light.wemo/
+[Bloomsky]: /components/bloomsky#binary-sensor
+[Z-Wave]: /components/zwave
+[D-Link smart plugs]: /components/dlink
+[Wemo]: /components/wemo
[rollershutter.command_line]: /components/rollershutter.command_line/
-[Steam]: /components/sensor.steam_online/
-[Wink]: /components/binary_sensor.wink/
+[Steam]: /components/steam_online
+[Wink]: /components/wink#binary-sensor
[the cookbook]: /cookbook/python_component_simple_alarm/
[script]: /components/script/
[Wemo component]: /components/wemo/
[switch.cmd]: /components/switch.command_line/
[sensor.cmd]: /components/sensor.command_line/
-[binary_sensor.cmd]: /components/binary_sensor.command_line/
+[binary_sensor.cmd]: /components/command_line
[@stefan-jonasson]: https://github.com/stefan-jonasson
[@turbokongen]: https://github.com/turbokongen
diff --git a/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown b/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown
index e1b02be760d..29801914570 100644
--- a/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown
+++ b/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown
@@ -50,10 +50,10 @@ automation:
player state attributes. This change affects automations, scripts and scenes.
[services]: /docs/scripts/service-calls/#use-templates-to-decide-which-service-to-call
-[Hunter Douglas Powerview]: /components/scene.hunterdouglas_powerview/
+[Hunter Douglas Powerview]: /components/hunterdouglas_powerview
[MQTT]: /components/lock.mqtt/
-[OwnTracks]: /components/device_tracker.owntracks/
-[Wemo Motion]: /components/binary_sensor.wemo/
+[OwnTracks]: /components/owntracks
+[Wemo Motion]: /components/wemo
[@fabaff]: https://github.com/fabaff
[@partofthething]: https://github.com/partofthething
[@persandstrom]: https://github.com/persandstrom
diff --git a/source/_posts/2016-03-26-embedded-mqtt-broker-uber-yamaha-growl.markdown b/source/_posts/2016-03-26-embedded-mqtt-broker-uber-yamaha-growl.markdown
index 38ec1142784..4ff00a559e3 100644
--- a/source/_posts/2016-03-26-embedded-mqtt-broker-uber-yamaha-growl.markdown
+++ b/source/_posts/2016-03-26-embedded-mqtt-broker-uber-yamaha-growl.markdown
@@ -50,19 +50,19 @@ Rock on.
[@srcLurker]: https://github.com/srcLurker
[@stefan-jonasson]: https://github.com/stefan-jonasson
[embedded server]: /components/mqtt/#use-the-embedded-broker
-[Arduino]: /components/switch.arduino/
+[Arduino]: /components/arduino#switch
[Discovery]: /components/discovery/
-[Growl (GNTP)]: /components/notify.gntp/
-[Hue]: /components/light.hue/
-[input_slider]: /components/input_slider/
-[MessageBird]: /components/notify.message_bird/
-[OwnTracks]: /components/device_tracker.owntracks/
-[PulseAudio loopback]: /components/switch.pulseaudio_loopback/
+[Growl (GNTP)]: /components/gntp
+[Hue]: /components/hue
+[input_slider]: /components/input_number
+[MessageBird]: /components/message_bird
+[OwnTracks]: /components/owntracks
+[PulseAudio loopback]: /components/pulseaudio_loopback
[Tellstick]: /components/tellstick/
[Vera]: /components/vera/
-[Wake on LAN]: /components/switch.wake_on_lan/
+[Wake on LAN]: /components/wake_on_lan#switch
[Z-Wave]: /components/zwave/#services
-[Yamaha receivers]: /components/media_player.yamaha/
+[Yamaha receivers]: /components/yamaha
### Breaking changes
- Automation: support for old deprecated config has been removed
diff --git a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown
index 2b1f2748b1c..8c4c3f3ae5b 100644
--- a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown
+++ b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown
@@ -41,12 +41,12 @@ Another big thing is the addition of GTFS support. You probably don't know it, b
[@robbiet480]: https://github.com/robbiet480/
[@srcLurker]: https://github.com/srcLurker/
[@turbokongen]: https://github.com/turbokongen/
-[GTFS]: /components/sensor.gtfs/
-[Loop Energy]: /components/sensor.loop_energy/
-[NZBGet]: /components/sensor.nzbget/
-[Onkyo receiver]: /components/media_player.onkyo/
-[Panasonic Viera TV]: /components/media_player.panasonic_viera/
-[Raspberry PI]: /components/camera.rpi_camera/
+[GTFS]: /components/gtfs
+[Loop Energy]: /components/loopenergy
+[NZBGet]: /components/nzbget
+[Onkyo receiver]: /components/onkyo
+[Panasonic Viera TV]: /components/panasonic_viera
+[Raspberry PI]: /components/rpi_camera
[Z-Wave]: /components/zwave/#climate
### Breaking changes
diff --git a/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown b/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown
index fabae55ed64..a80cc1bdc71 100644
--- a/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown
+++ b/source/_posts/2016-04-21-bluetooth-lg-webos-tvs-and-roombas.markdown
@@ -57,21 +57,21 @@ Since the last release we have moved all Home Assistant source code etc into its
[@TheRealLink]: https://github.com/TheRealLink/
[@Turbokongen]: https://github.com/Turbokongen/
[@vmulpuru]: https://github.com/vmulpuru/
-[Bluetooth tracking platform]: /components/device_tracker.bluetooth_tracker/
+[Bluetooth tracking platform]: /components/bluetooth_tracker
[EQ3 Bluetooth Smart Thermostats]: /components/eq3btsmart/
[mysensors]: /components/mysensors/
[Feedreader]: /components/feedreader/
[Homematic platform]: /components/homematic/
-[media_player.lg]: /components/media_player.webostv/
-[notify.lg]: /components/notify.webostv/
-[MPD]: /components/media_player.mpd/
+[media_player.lg]: /components/webostv#media-player
+[notify.lg]: /components/webostv
+[MPD]: /components/mpd
[MQTT]: /components/cover.mqtt/
-[Plex]: /components/media_player.plex/
-[Sonos]: /components/media_player.sonos/
-[sensor.Thinkingcleaner]: /components/sensor.thinkingcleaner/
-[switch.Thinkingcleaner]: /components/switch.thinkingcleaner/
+[Plex]: /components/plex#media-player
+[Sonos]: /components/sonos
+[sensor.Thinkingcleaner]: /components/thinkingcleaner#sensor
+[switch.Thinkingcleaner]: /components/thinkingcleaner#switch
[upnp]: /components/upnp/
-[Wink]: /components/light.wink/
+[Wink]: /components/wink#light
[Zeroconf]: /components/zeroconf/
### Breaking changes
diff --git a/source/_posts/2016-04-30-ibeacons-part-1-making-presence-detection-work-better.markdown b/source/_posts/2016-04-30-ibeacons-part-1-making-presence-detection-work-better.markdown
index 29751cafa2d..ee9068ec2f7 100644
--- a/source/_posts/2016-04-30-ibeacons-part-1-making-presence-detection-work-better.markdown
+++ b/source/_posts/2016-04-30-ibeacons-part-1-making-presence-detection-work-better.markdown
@@ -27,7 +27,7 @@ Luckily, OwnTracks supports iBeacons so I could use them to make presence detect
To do this you first need to set up [MQTT] and [OwnTracks] in Home Assistant - and make sure that HA can track your phone.
[MQTT]: /components/mqtt/#picking-a-broker
-[OwnTracks]: /components/device_tracker.owntracks/
+[OwnTracks]: /components/owntracks
You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognize the beacon.
@@ -118,7 +118,7 @@ Presence tracking sounds easy - and it's an important part of Home Automation. T
You can find out more about configuring the OwnTracks application and beacons [here](http://owntracks.org/booklet/features/beacons/)
-There is information about configuring Homeassistant to use beacons [here](/components/device_tracker.owntracks/)
+There is information about configuring Homeassistant to use beacons [here](/components/owntracks)
#### Connections and disconnecting
diff --git a/source/_posts/2016-05-07-empowering-scripts-and-alexa.markdown b/source/_posts/2016-05-07-empowering-scripts-and-alexa.markdown
index acad60b2827..7b7d140ddc2 100644
--- a/source/_posts/2016-05-07-empowering-scripts-and-alexa.markdown
+++ b/source/_posts/2016-05-07-empowering-scripts-and-alexa.markdown
@@ -82,23 +82,23 @@ light:
[con-and]: /getting-started/scripts-conditions/#and-condition
[con-or]: /getting-started/scripts-conditions/#or-condition
[entity namespace]: /topics/platform_options/#entity-namespace
-[rpi-rf]: /components/switch.rpi_rf/
-[Forecast.io]: /components/sensor.forecast/
-[Snapcast]: /components/media_player.snapcast/
+[rpi-rf]: /components/rpi_rf
+[Forecast.io]: /components/darksky
+[Snapcast]: /components/snapcast
[Command line sensor]: /components/sensor.command_line/
[allow client key authentication]: /components/mqtt/
-[Pioneer AVR]: /components/media_player.pioneer/
-[Acer Projectors]: /components/switch.acer_projector/
+[Pioneer AVR]: /components/pioneer
+[Acer Projectors]: /components/acer_projector
[HVAC component]: /components/climate/
[OctoPrint]: /components/octoprint/
[Z-Wave]: /components/zwave/
[lock]: /components/lock/
-[lock.zwave]: /components/lock.zwave/
+[lock.zwave]: /components/zwave#lock
[Dweet component]: /components/dweet/
[`as_timestamp`]: /topics/templating/#home-assistant-template-extensions
-[Google Maps travel time]: /components/sensor.google_travel_time/
+[Google Maps travel time]: /components/google_travel_time
[CORS headers]: /components/http/
-[Fitbit]: /components/sensor.fitbit/
+[Fitbit]: /components/fitbit
[@balloob]: https://github.com/balloob/
[@milaq]: https://github.com/milaq/
[@danieljkemp]: https://github.com/danieljkemp/
diff --git a/source/_posts/2016-05-21-release-020.markdown b/source/_posts/2016-05-21-release-020.markdown
index 7c1e468be1b..d6887a92194 100644
--- a/source/_posts/2016-05-21-release-020.markdown
+++ b/source/_posts/2016-05-21-release-020.markdown
@@ -66,17 +66,17 @@ device_tracker:
[`!include_dir_merge_list`]: /topics/splitting_configuration/#advanced-usage
[`!include_dir_merge_named`]: /topics/splitting_configuration/#advanced-usage
[`relative_time`]: /topics/templating/#home-assistant-template-extensions
-[Asus WRT]: /components/device_tracker.asuswrt/
-[Ecobee thermostats]: /components/notify.ecobee/
-[Google Play Music Desktop Player]: /components/media_player.gpmdp/
-[LG Netcast TVs]: /components/media_player.lg_netcast/
+[Asus WRT]: /components/asuswrt
+[Ecobee thermostats]: /components/ecobee
+[Google Play Music Desktop Player]: /components/gpmdp
+[LG Netcast TVs]: /components/lg_netcast
[Logentries]: /components/logentries/
[mold indicator]: /components/mold_indicator/
-[Nest Protect]: /components/sensor.nest/
+[Nest Protect]: /components/nest#sensor
[purge days option]: /components/recorder/
-[Roku]: /components/media_player.roku/
+[Roku]: /components/roku#media-player
[SNS]: /components/notify.aws_sns/
[SQS]: /components/notify.aws_sqs/
-[supervisord]: /components/sensor.supervisord/
-[Twilio SMS]: /components/notify.twilio_sms/
-[Last.fm]: /components/sensor.lastfm/
+[supervisord]: /components/supervisord
+[Twilio SMS]: /components/twilio_sms
+[Last.fm]: /components/lastfm
diff --git a/source/_posts/2016-06-08-super-fast-web-enocean-lirc.markdown b/source/_posts/2016-06-08-super-fast-web-enocean-lirc.markdown
index fc4ab5ccd68..1e90310b028 100644
--- a/source/_posts/2016-06-08-super-fast-web-enocean-lirc.markdown
+++ b/source/_posts/2016-06-08-super-fast-web-enocean-lirc.markdown
@@ -81,16 +81,16 @@ We released two hotfixes to address some issues that couldn't wait till the next
[@rubund]: https://github.com/rubund
[@shaftoe]: https://github.com/shaftoe
[@wkonkel]: https://github.com/wkonkel
-[DTE Energy Bridge]: /components/sensor.dte_energy_bridge/
-[en-lights]: /components/light.enocean/
-[en-sensors]: /components/sensor.enocean/
-[en-switches]: /components/switch.enocean/
+[DTE Energy Bridge]: /components/dte_energy_bridge
+[en-lights]: /components/enocean#light
+[en-sensors]: /components/enocean#sensor
+[en-switches]: /components/enocean#switch
[Feedreader]: /components/feedreader/
-[Flux like switch platform]: /components/switch.flux/
+[Flux like switch platform]: /components/flux
[Insteon Hub]: /components/insteon/
-[Kodi]: /components/media_player.kodi/
+[Kodi]: /components/kodi
[LIRC component]: /components/lirc/
-[Osram Lightify]: /components/light.osramlightify/
+[Osram Lightify]: /components/osramlightify
[RFXTRX]: /components/rfxtrx/
[Template switches]: /components/switch.template/
[time condition]: /getting-started/scripts-conditions/#time-condition
diff --git a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown
index 6993da37354..f5007346260 100644
--- a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown
+++ b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown
@@ -73,20 +73,20 @@ netatmo:
[@philk]: https://github.com/philk/
[@wind-rider]: https://github.com/wind/
[@fabaff]: https://github.com/fabaff/
-[AsusWRT]: /components/device_tracker.asuswrt/
-[BT Home Hub 5]: /components/device_tracker.bt_home_hub_5/
-[Cast]: /components/media_player.cast/
+[AsusWRT]: /components/asuswrt
+[BT Home Hub 5]: /components/bt_home_hub_5
+[Cast]: /components/cast
[IR switch device]: /components/mysensors/
-[local file]: /components/camera.local_file/
+[local file]: /components/local_file
[Netatmo]: /components/netatmo/
-[Pandora]: /components/media_player.pandora/
+[Pandora]: /components/pandora
[shell command]: /components/shell_command/
-[Sonos]: /components/media_player.sonos/
+[Sonos]: /components/sonos
[Wink]: /components/wink/#cover
[alexa]: /components/alexa/#working-with-scenes
-[Plex sensor]: /components/sensor.plex/
+[Plex sensor]: /components/plex#sensor
[Swagger.yaml format]: https://github.com/home-assistant/home-assistant/blob/dev/docs/swagger.yaml
[All-in-One installer]: /getting-started/installation-raspberry-pi-all-in-one/
[standalone Raspberry Pi installation guide]: /getting-started/installation-raspberry-pi/
[Voltage sensor]: /components/bloomsky/#sensor
-[SNMP]: /components/sensor.snmp/
+[SNMP]: /components/snmp#sensor
diff --git a/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown b/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown
index b744f7a95cf..8031e5e7289 100644
--- a/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown
+++ b/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown
@@ -10,7 +10,7 @@ og_image: /images/blog/2016-06-cranberry/social.png
---
-In the past month I was thinking about ways to integrate USB webcams into Home Assistant again. The main reason was that this would give those devices a second life and enable one to benefit from low-cost video surveillance. There are a couple of options available like [pygame](http://www.pygame.org/hifi.html) or [SimpleCV](http://www.simplecv.org/) but I never finished something. With the [Local File camera platform](/components/camera.local_file/) by [Landrash](https://github.com/Landrash) and [motion](http://lavrsen.dk/foswiki/bin/view/Motion/WebHome) you could integrate a local USB webcam with a few very easy steps.
+In the past month I was thinking about ways to integrate USB webcams into Home Assistant again. The main reason was that this would give those devices a second life and enable one to benefit from low-cost video surveillance. There are a couple of options available like [pygame](http://www.pygame.org/hifi.html) or [SimpleCV](http://www.simplecv.org/) but I never finished something. With the [Local File camera platform](/components/local_file) by [Landrash](https://github.com/Landrash) and [motion](http://lavrsen.dk/foswiki/bin/view/Motion/WebHome) you could integrate a local USB webcam with a few very easy steps.
In this blog post I am using a Fedora 24 (will most likely work on other distributions too) installation with Home Assistant 0.22.1 on a Foxconn nT-330i with an old [Logitech QuickCam Orbit AF](http://support.logitech.com/en_us/product/quickcam-sphere-af) and a [Logitech HD Webcam C270](http://support.logitech.com/en_us/product/hd-webcam-c270). As a start only the Quickcam is used. No multi-camera setup for now.
@@ -91,7 +91,7 @@ $ sudo motion
[0] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion.log)
```
-Your `target_dir` will start filling up with images from your camera. `motion` will create a symlink called `lastsnap.jpg` which always point to the latest snapshot. We will setup the [Local File camera platform](/components/camera.local_file/) to use this file.
+Your `target_dir` will start filling up with images from your camera. `motion` will create a symlink called `lastsnap.jpg` which always point to the latest snapshot. We will setup the [Local File camera platform](/components/local_file) to use this file.
```yaml
camera:
@@ -107,7 +107,7 @@ camera:
The machine with the attached USB camera will become a webcam server as well because `motion`'s built-in HTTP server is enabled by default. This means that you could connect your USB webcams to a different machine in your network, run `motion` there, adjust your firewall rules, and use Home Assistant to display the videos. Just check http://[IP of your webcam host]:8081/ to see the stream. This required more powerful hardware than using snapshots, of course.
-In a scenario like this needs a [Generic MJPEG IP Camera ](/components/camera.mjpeg/) in your `configuration.yaml` file.
+In a scenario like this needs a [Generic MJPEG IP Camera ](/components/mjpeg) in your `configuration.yaml` file.
```yaml
camera:
diff --git a/source/_posts/2016-07-01-envisalink-homematic-hdmi-cec-and-sony-bravia-tv.markdown b/source/_posts/2016-07-01-envisalink-homematic-hdmi-cec-and-sony-bravia-tv.markdown
index 2ed074641d0..c1e7d5af91a 100644
--- a/source/_posts/2016-07-01-envisalink-homematic-hdmi-cec-and-sony-bravia-tv.markdown
+++ b/source/_posts/2016-07-01-envisalink-homematic-hdmi-cec-and-sony-bravia-tv.markdown
@@ -76,30 +76,30 @@ On the config side, you can now [store your passwords][secrets] in your OS keyri
[@rhooper]: https://github.com/rhooper/
[@turbokongen]: https://github.com/turbokongen/
[@w1ll1am23]: https://github.com/w1ll1am23/
-[envi-alarm]: /components/alarm_control_panel.envisalink/
-[envi-binary-sensor]: /components/binary_sensor.envisalink/
-[envi-sensor]: /components/sensor.envisalink/
+[envi-alarm]: /components/envisalink
+[envi-binary-sensor]: /components/envisalink
+[envi-sensor]: /components/envisalink
[Envisalink]: /components/envisalink/
[HDMI-CEC]: /components/hdmi_cec/
-[hm-binary-sensor]: /components/binary_sensor.homematic/
-[hm-light]: /components/light.homematic/
+[hm-binary-sensor]: /components/homematic
+[hm-light]: /components/homematic
[hm-rollershutter]: /components/homematic/
-[hm-sensor]: /components/sensor.homematic/
-[hm-switch]: /components/switch.homematic/
+[hm-sensor]: /components/homematic
+[hm-switch]: /components/homematic
[Homematic]: /components/homematic/
-[Netatmo]: /components/sensor.netatmo/
-[OneWire]: /components/sensor.onewire/
-[OpenExchangeRates]: /components/sensor.openexchangerates/
-[Pushover]: /components/notify.pushover/
+[Netatmo]: /components/netatmo#sensor
+[OneWire]: /components/onewire
+[OpenExchangeRates]: /components/openexchangerates
+[Pushover]: /components/pushover
[secrets]: /topics/secrets/
-[Vera]: /components/lock.vera/
+[Vera]: /components/vera
[Wink]: /components/wink/
[zwave-garage-door]: /components/zwave/#cover
-[zwave-light]: /components/light.zwave/
+[zwave-light]: /components/zwave
[zwave-rollershutter]: /components/zwave/#cover
-[Fixer.io]: /components/sensor.fixer/
+[Fixer.io]: /components/fixer
[persistent notifications]: /components/persistent_notification/
[reload core config service]: /getting-started/customizing-devices/#reloading-customize
-[Sony Bravia TV]: /components/media_player.braviatv/
+[Sony Bravia TV]: /components/braviatv
[Raspberry Pi GPIO pins]: /components/rpi_gpio/#remote-raspberry-pi-cover
[elevation]: /getting-started/basic/
diff --git a/source/_posts/2016-07-06-pocketchip-running-home-assistant.markdown b/source/_posts/2016-07-06-pocketchip-running-home-assistant.markdown
index 3c87611103b..da50f1aed52 100644
--- a/source/_posts/2016-07-06-pocketchip-running-home-assistant.markdown
+++ b/source/_posts/2016-07-06-pocketchip-running-home-assistant.markdown
@@ -28,27 +28,27 @@ First a couple of tweaks like setting up `sudo`, upgrading the existing installa
A Debian installation is available by default. This means that some dependencies for Home Assistant are missing. I haven't checked if a new build for the PocketCHIP would include them. So, after a `$ sudo apt-get update` installing those dependencies take a minute or two.
```bash
-$ sudo apt-get install python3-dev python3-pip python3-venv
+sudo apt-get install python3-dev python3-pip python3-venv
```
As usual I run Python applications in a [venv](https://docs.python.org/3/library/venv.html).
```bash
-$ pvenv ha
+pvenv ha
```
Let's activate the created environment.
```bash
-$ cd ha
-$ source bin/activate
+cd ha
+source bin/activate
```
If you haven't seen the next two commands already then you should visit our [frontsite](/).
```bash
-$ pip3 install homeassistant
-$ hass --open-ui
+pip3 install homeassistant
+hass --open-ui
```
With `surf` the browsing experience on the low-resolution display is not that great. Most smartphones, even very cheap ones, have touchscreens with higher resolutions. Nevermind, [`midori`](https://twitter.com/fabaff/status/748852317047418880) is not better.
@@ -59,4 +59,3 @@ With `surf` the browsing experience on the low-resolution display is not that gr
Well, with PocketCHIP and Home Assistant you could run your home automation on a 49 USD device with a touchscreen, an integrated USP, and a keyboard. With the GPIO available on top of the display you could even connect your PocketCHIP directly to sensors and actuators.
-
diff --git a/source/_posts/2016-07-16-sqlalchemy-knx-join-simplisafe.markdown b/source/_posts/2016-07-16-sqlalchemy-knx-join-simplisafe.markdown
index 8e18989d11c..d4d7c139d2a 100644
--- a/source/_posts/2016-07-16-sqlalchemy-knx-join-simplisafe.markdown
+++ b/source/_posts/2016-07-16-sqlalchemy-knx-join-simplisafe.markdown
@@ -15,8 +15,8 @@ It's time for Home Assistant 0.24 and it's full of new integration for your Home
[Roy Hooper][@rhooper] did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use **any** SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install [SQLAlchemy] and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:
```bash
-$ pip3 install SQLAlchemy
-$ hass --script db_migrator --config /path/to/config
+pip3 install SQLAlchemy
+hass --script db_migrator --config /path/to/config
```
You can omit the `--config` option if you use the default configuration directory. Run the script with `--help` to get more options.
@@ -73,25 +73,25 @@ Quick hot fix after we found a bug in the migrator where it wouldn't work with a
[@Danielhiversen]: https://github.com/danielhiversen
-[apcupsd-sensor]: /components/sensor.apcupsd/
+[apcupsd-sensor]: /components/apcupsd#sensor
[Brightness]: /components/light/
[CARTO]: https://carto.com/
-[Google Travel]: /components/sensor.google_travel_time/
+[Google Travel]: /components/google_travel_time
[imap-sensor]: /component/sensor.imap/
[join-joaoapps]: /components/joaoapps_join/
-[join-notify]: /components/notify.joaoapps_join/
+[join-notify]: /components/joaoapps_join
[KNX]: /components/knx/
[MapQuest]: https://www.mapquest.com/
-[Plex]: /components/media_player.plex/
+[Plex]: /components/plex#media-player
[Radiotherm]: /components/radiotherm/
[recorder]: /components/recorder/
[secrets]: /topics/secrets/
-[simplisafe]: /components/alarm_control_panel.simplisafe/
+[simplisafe]: /components/simplisafe
[SQLAlchemy]: http://www.sqlalchemy.org/
[StatsD]: /components/statsd/
-[Telegram]: /components/notify.telegram/
-[TPLink]: /components/switch.tplink/
-[Verisure]: /components/lock.verisure/
-[yahoo-weather]: /components/sensor.yweather/
+[Telegram]: /components/telegram
+[TPLink]: /components/tplink
+[Verisure]: /components/verisure
+[yahoo-weather]: /components/yweather
[Z-Wave]: /components/zwave/
[RFXtrx]: /components/rfxtrx/
diff --git a/source/_posts/2016-07-19-visualizing-your-iot-data.markdown b/source/_posts/2016-07-19-visualizing-your-iot-data.markdown
index 5ca77ea097b..0bccb947721 100644
--- a/source/_posts/2016-07-19-visualizing-your-iot-data.markdown
+++ b/source/_posts/2016-07-19-visualizing-your-iot-data.markdown
@@ -17,7 +17,7 @@ This blog post will show you ways to export data for reporting, visualization, o
-In this blog post I use the temperature of the [Aare](https://en.wikipedia.org/wiki/Aare) river close to where I live as a show case. The temperatures were recorded with the [Swiss Hydrological Data sensor](/components/sensor.swiss_hydrological_data/) and the name of the sensor is `sensor.aare`.
+In this blog post I use the temperature of the [Aare](https://en.wikipedia.org/wiki/Aare) river close to where I live as a show case. The temperatures were recorded with the [Swiss Hydrological Data sensor](/components/swiss_hydrological_data) and the name of the sensor is `sensor.aare`.
The database is stored at `/.homeassistant/home-assistant_v2.db` as [SQLite database](https://www.sqlite.org/). In all examples we are going to use the path: `/home/ha/.homeassistant/home-assistant_v2.db`
diff --git a/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown b/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown
index 54e15b48db5..9102dfdbda3 100644
--- a/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown
+++ b/source/_posts/2016-07-30-custom-frontend-panels--jupyter-notebooks--directv.markdown
@@ -103,25 +103,25 @@ I would like to do a shoutout to [@fabianhjr]. He has started adding [typing] da
[custom-panels]: /developers/frontend_creating_custom_panels/
[iframe_panel]: /components/panel_iframe/
[custom]: /cookbook/custom_panel_using_react/
-[flux]: /components/light.flux_led/
+[flux]: /components/flux_led
[script]: /getting-started/scripts/#delay
-[Russound]: /components/media_player.russound_rnet/
+[Russound]: /components/russound_rnet
[tags]: /components/influxdb/
[filter]: /topics/templating/
[jupyter-notebooks]: /cookbook/#jupyter-notebooks
[jupyter-repo]: https://github.com/home-assistant/home-assistant-notebooks
[Jupyter]: http://jupyter.org/
[blog]: /blog/2016/07/23/internet-of-things-data-exploration-with-jupyter-notebooks/
-[DirecTV]: /components/media_player.directv/
+[DirecTV]: /components/directv
[Configuration]: /developers/python_api/#get-configuration
-[X10]: /components/light.x10/
-[IMAP]: /components/sensor.imap/
+[X10]: /components/x10
+[IMAP]: /components/imap
[typing]: https://docs.python.org/3/library/typing.html
[PEP484]: https://www.python.org/dev/peps/pep-0484/
-[MPC-HC]: /components/media_player.mpchc/
-[Telegram]: /components/notify.telegram/
+[MPC-HC]: /components/mpchc
+[Telegram]: /components/telegram
[react-panel]: /cookbook/custom_panel_using_react/
[KNX]: /components/climate.knx/
[Nest]: /components/nest/#climate
[filters]: /topics/templating/#home-assistant-template-extensions
-[Hyperion]: /components/light.hyperion/
+[Hyperion]: /components/hyperion
diff --git a/source/_posts/2016-08-03-laundry-automation-update.markdown b/source/_posts/2016-08-03-laundry-automation-update.markdown
index 4807358e762..5adc4764361 100644
--- a/source/_posts/2016-08-03-laundry-automation-update.markdown
+++ b/source/_posts/2016-08-03-laundry-automation-update.markdown
@@ -35,7 +35,7 @@ Next it was just a matter of integrating everything with Home Assistant. I was
Status of the dryer and washer in Home Assistant
-Next I wrote [scripts](/components/script/) that are run whenever the washer or dryer completes a load. This is triggered by the [automation component](/getting-started/automation/). When the laundry is complete I have the lights in the house turn red and [notify me via Join](/components/notify.joaoapps_join/). Once the door is opened and laundry emptied another script runs that sets the lights back to normal. So far it has been very helpful and very reliable.
+Next I wrote [scripts](/components/script/) that are run whenever the washer or dryer completes a load. This is triggered by the [automation component](/getting-started/automation/). When the laundry is complete I have the lights in the house turn red and [notify me via Join](/components/joaoapps_join). Once the door is opened and laundry emptied another script runs that sets the lights back to normal. So far it has been very helpful and very reliable.
diff --git a/source/_posts/2016-08-13-foursquare-fast-com-ffmpeg-gpsd.markdown b/source/_posts/2016-08-13-foursquare-fast-com-ffmpeg-gpsd.markdown
index 13a01b8fa4c..4dc992996be 100644
--- a/source/_posts/2016-08-13-foursquare-fast-com-ffmpeg-gpsd.markdown
+++ b/source/_posts/2016-08-13-foursquare-fast-com-ffmpeg-gpsd.markdown
@@ -93,24 +93,24 @@ homeassistant:
[@fabaff]: https://github.com/fabaff
[Foursquare]: /components/foursquare/
-[OhmConnect]: /components/sensor.ohmconnect/
+[OhmConnect]: /components/ohmconnect
[FFMPEG]: /components/camera.ffmpeg/
-[SMTP]: /components/notify.smtp/
+[SMTP]: /components/smtp
[panel_custom]: /components/panel_custom/
-[Verisure]: /components/alarm_control_panel.verisure/
-[Flux LED]: /components/light.flux_led/
+[Verisure]: /components/verisure#alarm-control-panel
+[Flux LED]: /components/flux_led
[InfluxDB]: /components/influxdb/
-[particulate]: /components/sensor.serial_pm/
-[LG Netcast TV]: /components/media_player.lg_netcast/
-[mqtt_json]: /components/light.mqtt_json/
-[Fast.com]: /components/sensor.fastdotcom/
+[particulate]: /components/serial_pm/
+[LG Netcast TV]: /components/lg_netcast
+[mqtt_json]: /components/light.mqtt
+[Fast.com]: /components/fastdotcom
[pilight]: /components/pilight/
-[GPSD]: /components/sensor.gpsd/
+[GPSD]: /components/gpsd
[heat control]: /components/thermostat.heat_control/
[Proximity]: /components/proximity/
-[Flux]: /components/switch.flux/
+[Flux]: /components/flux
[Proliphix]: /components/proliphix/
-[Fitbit]: /components/sensor.fitbit/
-[Plex]: /components/media_player.plex/
+[Fitbit]: /components/fitbit
+[Plex]: /components/plex#media-player
[Honeywell]: /components/honeywell/
[Secrets]: /topics/secrets/
diff --git a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
index 8dee45b487c..a5e64671941 100644
--- a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
+++ b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
@@ -230,40 +230,40 @@ Talk to you soon on Discord and in your pull request comments!
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
-[checking]: /components/sensor.dht/
-[FFMpeg]: /components/binary_sensor.ffmpeg/
+[checking]: /components/dht
+[FFMpeg]: /components/ffmpeg_motion
[Climate]: /components/climate/
-[NZBGet]: /components/sensor.nzbget/
-[SABnzbd]: /components/sensor.sabnzbd/
-[HP]: /components/sensor.hp_ilo/
-[Fritzbox]: /components/sensor.fritzbox_callmonitor/
-[webos]: /components/media_player.webostv/
-[HTML5]: /components/notify.html5/
+[NZBGet]: /components/nzbget
+[SABnzbd]: /components/sabnzbd
+[HP]: /components/hp_ilo
+[Fritzbox]: /components/fritzbox#sensor_callmonitor/
+[webos]: /components/webostv#media-player
+[HTML5]: /components/html5
[Gravatar]: /components/device_tracker/
-[Loop]: /components/sensor.loop_energy/
+[Loop]: /components/loopenergy
[cover]: /components/cover/
[climate]: /components/climate/
[expose]: /components/light/
-[Automate]: /components/notify.llamalab_automate/
+[Automate]: /components/llamalab_automate
[Secrets]: /topics/secrets/
-[trigger]: /components/alarm_control_panel.manual/
-[CO2]: /components/sensor.mhz19/
-[presence]: /components/sensor.mqtt_room
+[trigger]: /components/manual
+[CO2]: /components/mhz19
+[presence]: /components/mqtt_room
[grouping]: /components/notify.group/
-[Wunderground]: /components/sensor.wunderground/
-[monitoring]: /components/binary_sensor.ffmpeg/
-[MJPEG]: /components/camera.mjpeg/
-[Generic]: /components/camera.generic/
-[positions]: /components/cover.zwave/
-[forecast]: /components/sensor.forecast/
-[Bluetooth]: /components/device_tracker.bluetooth_le_tracker/
-[Slack]: /components/notify.slack/
-[template]: /components/camera.generic/
+[Wunderground]: /components/wunderground
+[monitoring]: /components/ffmpeg_motion
+[MJPEG]: /components/mjpeg
+[Generic]: /components/generic
+[positions]: /components/zwave#cover
+[forecast]: /components/darksky
+[Bluetooth]: /components/bluetooth_le_tracker
+[Slack]: /components/slack
+[template]: /components/generic
[Bug]: /components/wink/
[support]: /components/homematic/
[node]: /components/zwave/
-[found]: /components/device_tracker.tplink/
-[attachments]: /components/notify.slack/
+[found]: /components/tplink
+[attachments]: /components/slack
[Hue]: /components/emulated_hue/
[fan]: /components/fan/
-[IMAP]: /components/sensor.imap/
+[IMAP]: /components/imap
diff --git a/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown b/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown
index 6bcdf016fc9..0bc95dca363 100644
--- a/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown
+++ b/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown
@@ -17,7 +17,7 @@ Beside [HTTP POST](https://en.wikipedia.org/wiki/POST_(HTTP)) requests, MQTT is
You have to make a decision: Do you want to pull or to [poll](https://en.wikipedia.org/wiki/Polling_(computer_science)) the information for the sensor? For slowly changing values like temperature it's perfectly fine to wait a couple of seconds to retrieve the value. If it's a motion detector the state change should be available instantly in Home Assistant or it could be missed. This means the sensor must take initiative and send the data to Home Assistant.
-An example for pulling is [aREST](/components/sensor.arest/). This is a great way to work with the ESP8266 based units and the Ardunio IDE.
+An example for pulling is [aREST](/components/arest#sensor). This is a great way to work with the ESP8266 based units and the Ardunio IDE.
### MQTT
diff --git a/source/_posts/2016-09-10-notify-group-reload-api-pihole.markdown b/source/_posts/2016-09-10-notify-group-reload-api-pihole.markdown
index e93d0fded95..a04a3fb452f 100644
--- a/source/_posts/2016-09-10-notify-group-reload-api-pihole.markdown
+++ b/source/_posts/2016-09-10-notify-group-reload-api-pihole.markdown
@@ -136,23 +136,23 @@ The validation of the configuration is still on-going. Approximately 80 % is don
[modbus]: /components/modbus/
[rpi]: /getting-started/installation-raspberry-pi/
-[MPD]: /components/media_player.mpd/
-[Coinmarketcap]: /components/sensor.coinmarketcap
+[MPD]: /components/mpd
+[Coinmarketcap]: /components/coinmarketcap
[template]: /topics/templating/
-[battery]: /components/sensor.linux_battery
+[battery]: /components/linux_battery
[group]: /components/group/
[automation]: /components/automation/
-[Temper]: /components/sensor.temper/
+[Temper]: /components/temper
[mqtt-fan]: /components/fan.mqtt/
-[Xbox]: /components/sensor.xbox_live/
-[Nmap]: /components/device_tracker.nmap_tracker/
-[automatic]: /components/device_tracker.automatic/
-[Owntracks]: /components/device_tracker.owntracks/
-[OpenweatherMap]: /components/sensor.openweathermap/
+[Xbox]: /components/xbox_live
+[Nmap]: /components/nmap_tracker
+[automatic]: /components/automatic
+[Owntracks]: /components/owntracks
+[OpenweatherMap]: /components/openweathermap#sensor
[OctoPrint]: /components/octoprint/
-[mfi-switch]: /components/switch.mfi/
-[mfi-sensor]: /components/sensor.mfi/
-[FireTV]: /components/media_player.firetv/
-[Kodi]: /components/media_player.kodi/
+[mfi-switch]: /components/mfi#switch
+[mfi-sensor]: /components/mfi#sensor
+[FireTV]: /components/androidtv
+[Kodi]: /components/kodi
[command-line-switch]: /components/switch.command_line/
[command-line-cover]: /components/cover.command_line/
diff --git a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
index 16b81b9b3a3..9a7df5cfb78 100644
--- a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
+++ b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
@@ -160,27 +160,27 @@ Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#r
[@w1ll1am23]: https://github.com/w1ll1am23
[@wokar]: https://github.com/wokar
-[BOM]: /components/sensor.bom/
-[climate]: /components/climate.vera/
-[email]: /components/sensor.imap_email_content/
-[Emoncms]: /components/sensor.emoncms/
+[BOM]: /components/bom#sensor
+[climate]: /components/vera
+[email]: /components/imap_email_content/
+[Emoncms]: /components/emoncms
[filtering]: /components/logbook/
[InfluxDB]: /components/influxdb/
[ISY]: /components/isy994/
[KNX]: /components/sensor.knx/
-[Kodi]: /components/notify.kodi/
+[Kodi]: /components/kodi
[Modbus]: /components/modbus/
[Nest]: /components/fan.nest/
[Nuimo]: /components/nuimo_controller/
-[OpenALPR]: /components/openalpr/
+[OpenALPR]: /components/openalpr_local_local
[passwordless]: /components/http/
-[Simplepush]: /components/notify.simplepush/
-[Slack]: /components/notify.slack/
+[Simplepush]: /components/simplepush
+[Slack]: /components/slack
[SleepIQ]: /components/sleepiq/
-[timeout]: /components/sensor.mqtt_room/
-[Vera]: /components/cover.vera/
+[timeout]: /components/mqtt_room
+[Vera]: /components/vera
[Wink]: /components/wink/
-[plant]: /components/sensor.miflora/
+[plant]: /components/miflora
[MySensors]: /components/climate.mysensors/
[keyboard_remote]: /components/keyboard_remote
-[X10]: /components/light.x10/
+[X10]: /components/x10
diff --git a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
index 07d7c5787b3..6e95f6b3bee 100644
--- a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
+++ b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
@@ -157,12 +157,12 @@ sensor
[@Nixon506E]: https://github.com/Nixon506E
[arest]: https://arest.io/
-[arest-sensor]: /components/sensor.arest/
-[arest-switch]: /components/switch.arest/
-[darksky]: /components/sensor.darksky/
-[do-bin-sensor]: /components/binary_sensor.digital_ocean/
-[do-switch]: /components/switch.digital_ocean/
-[forecast]: /components/sensor.forecast/
+[arest-sensor]: /components/arest#sensor
+[arest-switch]: /components/arest#switch
+[darksky]: /components/darksky
+[do-bin-sensor]: /components/digital_ocean#binary-sensor
+[do-switch]: /components/digital_ocean#switch
+[forecast]: /components/darksky
[forum]: https://community.home-assistant.io/
[Hacktoberfest]: /blog/2016/10/02/hacktoberfest/
[hassbian-forum]: https://community.home-assistant.io/c/installation/hassbian
@@ -170,13 +170,13 @@ sensor
[mysensors-cover]: /components/cover.mysensors/
[notebook]: http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/database-statistics.ipynb
[pi-image]: /blog/2016/10/01/we-have-raspberry-image-now/
-[pushetta]: /components/notify.pushetta/
-[pwrctrl-switch]: /components/switch.anel_pwrctrl/
-[rest-sensor]: /components/sensor.rest/
-[stats-sensor]: /components/sensor.statistics/
-[ted5000]: /components/sensor.ted5000/
-[template-sensor]: /components/sensor.template/
-[trend-sensor]: /components/binary_sensor.trend/
-[vasttrafik]: /components/sensor.vasttrafik/
-[Volvo]: /components/device_tracker.volvooncall/
+[pushetta]: /components/pushetta
+[pwrctrl-switch]: /components/anel_pwrctrl
+[rest-sensor]: /components/rest
+[stats-sensor]: /components/statistics
+[ted5000]: /components/ted5000
+[template-sensor]: /components/template
+[trend-sensor]: /components/trend
+[vasttrafik]: /components/vasttrafik
+[Volvo]: /components/volvooncall
diff --git a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown
index 999be9dd496..5ceced65e5c 100644
--- a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown
+++ b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown
@@ -263,21 +263,21 @@ Thanks for reading all of the above, especially since this week was a pretty lon
[@wokar]: https://github.com/wokar
[Arduino]: /components/arduino/
-[APNS]: /components/notify.apns/
-[ARWN]: /components/sensor.arwn/
-[Concord232]: /components/alarm_control_panel.concord232/
+[APNS]: /components/apns
+[ARWN]: /components/arwn
+[Concord232]: /components/concord232#alarm-control-panel
[HTTP]: /components/http/
-[HaveIBeenPwned]: /components/sensor.haveibeenpwned/
+[HaveIBeenPwned]: /components/haveibeenpwned
[Matrix]: /components/matrix/#notifications
-[Neato]: /components/switch.neato/
-[Pilight]: /components/sensor.pilight/
+[Neato]: /components/neato#switch
+[Pilight]: /components/pilight#sensor
[Proximity]: /components/proximity/
[PyPi]: https://pypi.python.org/pypi
-[Synology]: /components/camera.synology/
+[Synology]: /components/synology
[UUID]: https://en.wikipedia.org/wiki/Universally_unique_identifier
-[Verisure]: /components/camera.verisure/
-[WUnderground]: /components/sensor.wunderground/
-[Yamaha]: /components/media_player.yamaha/
+[Verisure]: /components/verisure
+[WUnderground]: /components/wunderground
+[Yamaha]: /components/yamaha
[Zoneminder]: /components/zoneminder/
[emoncms]: /components/emoncms_history/
[filtering]: /components/logbook/
@@ -287,13 +287,13 @@ Thanks for reading all of the above, especially since this week was a pretty lon
[hacktoberfest-site-prs]: https://github.com/home-assistant/home-assistant.github.io/labels/Hacktoberfest
[hacktoberfest-website]: https://hacktoberfest.digitalocean.com/
[logo]: /images/blog/2016-10-hacktoberfest/hacktoberfest.png
-[min]: /components/sensor.min_max/
-[netatmo-bin]: /components/binary_sensor.netatmo/
+[min]: /components/min_max
+[netatmo-bin]: /components/netatmo#binary-sensor
[netatmo-discovery]: /components/netatmo/
-[nmap]: /components/device_tracker.nmap_tracker/
+[nmap]: /components/nmap_tracker
[pers-notify]: /components/persistent_notification/
[runway]: http://runway.is
-[scrape]: /components/sensor.scrape/
+[scrape]: /components/scrape
[updater]: /components/updater/
[z-wave-issue]: https://github.com/home-assistant/home-assistant/pull/3759
[zero-one-two-release]: /blog/2016/01/30/insteon-lifx-twitter-and-zigbee/#backwards-incompatible-changes
diff --git a/source/_posts/2016-11-05-hacktoberfest-influxdb-weather.markdown b/source/_posts/2016-11-05-hacktoberfest-influxdb-weather.markdown
index a2af62627ee..a080d750db0 100644
--- a/source/_posts/2016-11-05-hacktoberfest-influxdb-weather.markdown
+++ b/source/_posts/2016-11-05-hacktoberfest-influxdb-weather.markdown
@@ -39,7 +39,7 @@ For a long time we have had a bunch of [weather sensors][weather-sensors] but it
- Sensor: Monitoring support for [Dovado routers][dovado-sensor] ([@molobrakos])
- Sensor: Support for monitoring [printers][cups-sensor] ([@fabaff])
- Add mochad component ([@mtreinish])
-- Notify: Added support for [Android TV/FireTV](/components/notify.nfandroidtv/) - Sensor: New finance platform [CurrencyLayer][currencylayer] ([@arsaboo])
+- Notify: Added support for [Android TV/FireTV](/components/nfandroidtv) - Sensor: New finance platform [CurrencyLayer][currencylayer] ([@arsaboo])
- Sensor: Support for [InfluxDB sensors][influx-sensor] ([@bestlibre])
- Sensor: New support [HDDTemp sensors][hddtemp-sensor] ([@fabaff])
([@danielperna84])
@@ -159,27 +159,27 @@ Our website has now an additional category called "Ecosystem". This will become
[@jnewland]: https://github.com/jnewland
[@DanielHiversen]: https://github.com/DanielHiversen
-[currencylayer]: /components/sensor.currencylayer/
+[currencylayer]: /components/currencylayer
[mochat]: /components/mochat/
[firetv]: /components/notify.firetv/
-[Yamaha]: /components/media_player.yamaha/
-[hddtemp-sensor]: /components/sensor.hddtemp/
-[Sonos]: /components/media_player.sonos/
+[Yamaha]: /components/yamaha
+[hddtemp-sensor]: /components/hddtemp
+[Sonos]: /components/sonos
[weather-sensors]: /components/#weather
-[rpi-camera]: /components/camera.rpi_camera/
+[rpi-camera]: /components/rpi_camera
[rest-switch]: /components/switch.rest/
-[emby-media]: /components/media_player.emby/
-[random-sensor]: /components/sensor.random/
-[yeelight]: /components/light.yeelight/
-[influx-sensor]: /components/sensor.influxdb/
+[emby-media]: /components/emby
+[random-sensor]: /components/random#sensor
+[yeelight]: /components/yeelight
+[influx-sensor]: /components/influxdb#sensor
[weather-component]: /components/weather/
-[cups-sensor]: /components/sensor.cups/
+[cups-sensor]: /components/cups
[litejet]: /components/litejet/
[garadget]: /components/garadget/
-[philips_player]: /components/media_player.philips_js/
-[icloud]: /components/device_tracker.icloud/
-[synologydsm]: /components/sensor.synologydsm/
-[dovado-sensor]: /components/sensor.dovado/
+[philips_player]: /components/philips_js
+[icloud]: /components/icloud
+[synologydsm]: /components/synologydsm
+[dovado-sensor]: /components/dovado#sensor
[ios]: /ecosystem/ios/
[Hacktoberfest]: https://hacktoberfest.digitalocean.com/
[req-insteon]: https://github.com/home-assistant/home-assistant/issues/3811
diff --git a/source/_posts/2016-11-20-calendar--wink-thermostats--cisco-ios.markdown b/source/_posts/2016-11-20-calendar--wink-thermostats--cisco-ios.markdown
index 967e3befa1c..0c73a7cb3a5 100644
--- a/source/_posts/2016-11-20-calendar--wink-thermostats--cisco-ios.markdown
+++ b/source/_posts/2016-11-20-calendar--wink-thermostats--cisco-ios.markdown
@@ -96,22 +96,22 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@jchapple]: https://github.com/jchapple
[@Khabi]: https://github.com/Khabi
-[api-stream]: /components/sensor.api_stream/
-[cisco]: /components/device_tracker.cisco_ios/
+[api-stream]: /components/sensor.websocket_api
+[cisco]: /components/cisco_ios
[Command Line]: /components/switch.command_line/
[Envisalink]: /components/envisalink/
[google]: /components/calendar.google/
-[Hue]: /components/light.hue/
-[locative]: /components/device_tracker.locative/
-[mqtt-template]: /components/light.mqtt_template/
+[Hue]: /components/hue
+[locative]: /components/locative
+[mqtt-template]: /components/light.mqtt
[mqtt-will]: /components/mqtt/
-[pvoutput]: /components/sensor.pvoutput/
-[swisscom]: /components/device_tracker.swisscom/
-[TP Link]: /components/switch.tplink/
-[wink-climate]: /components/climate.wink/
+[pvoutput]: /components/pvoutput
+[swisscom]: /components/swisscom
+[TP Link]: /components/tplink
+[wink-climate]: /components/wink#climate
[neato]: /components/neato/
[Emulated Hue]: /components/emulated_hue/
-[Wake on Lan switch]: /components/switch.wake_on_lan/
+[Wake on Lan switch]: /components/wake_on_lan#switch
[template function]: /topics/templating/#home-assistant-template-extensions
[HTTP]: /components/http/
[MQTT]: /components/mqtt/
diff --git a/source/_posts/2016-12-03-remote-websockets-sonarr.markdown b/source/_posts/2016-12-03-remote-websockets-sonarr.markdown
index 4b2dde7b0e6..ceb70ae4b03 100644
--- a/source/_posts/2016-12-03-remote-websockets-sonarr.markdown
+++ b/source/_posts/2016-12-03-remote-websockets-sonarr.markdown
@@ -203,27 +203,27 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@vemek]: https://github.com/vemek
[@vkorn]: https://github.com/vkorn
-[amcrest]: /components/camera.amcrest/
-[boradlink]: /components/sensor.broadlink/
-[dsmr]: /components/sensor.dsmr/
-[dunehd]: /components/media_player.dunehd/
-[efergy]: /components/sensor.efergy/
+[amcrest]: /components/amcrest
+[boradlink]: /components/broadlink#sensor
+[dsmr]: /components/dsmr
+[dunehd]: /components/dunehd
+[efergy]: /components/efergy
[filtering]: /components/http/
-[gpslogger]: /components/device_tracker.gpslogger/
-[harmony]: /components/remote.harmony/
+[gpslogger]: /components/gpslogger
+[harmony]: /components/harmony
[homematic]: /components/homematic/
-[hook]: /components/switch.hook/
-[nest-cam]: /components/camera.nest/
+[hook]: /components/hook
+[nest-cam]: /components/nest#camera
[nest]: /components/nest/
[nginx]: /ecosystem/nginx/
-[nut]: /components/sensor.nut/
-[philips]: /components/media_player.philips_js/
+[nut]: /components/nut
+[philips]: /components/philips_js
[remote]: /components/remote/
[rfxtrx]: /components/rfxtrx/
-[sonarr]: /components/sensor.sonarr/
+[sonarr]: /components/sonarr
[tellstick]: /components/tellstick/
-[temper]: /components/sensor.temper/
-[threshold]: /components/binary_sensor.threshold/
+[temper]: /components/temper
+[threshold]: /components/threshold
[websockets]: /developers/websocket_api/
-[waqi]: /components/sensor.waqi/
+[waqi]: /components/waqi
diff --git a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown
index a10e28bf81b..b4f6bf05976 100644
--- a/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown
+++ b/source/_posts/2016-12-17-text-to-speech-aquostv-flic-zamg.markdown
@@ -28,7 +28,7 @@ Let you control [VLC media player][vlc-media] and play sound on connected speak
This Broadlink [switch][bl-switch] platform allow to you control Broadlink RM2 Pro and RM mini IR+RF devices. This Broadlink [sensor][bl-sensor] platform adds support for Broadlink RM2 and A1 Devices.
-The [GPSLogger](/components/device_tracker.gpslogger/) now also supports attributes as the speed, direction, altitude, provider, and activity.
+The [GPSLogger](/components/gpslogger) now also supports attributes as the speed, direction, altitude, provider, and activity.
## All changes
- Media player: Support for Sharp [AquaosTV][aquostv] ([@titilambert])
@@ -139,16 +139,16 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
-[vlc-media]: /components/media_player.vlc/
-[aquostv]: /components/media_player.aquostv/
-[digitalloggers]: /components/switch.digitalloggers/
-[netdata]: /components/sensor.netdata/
-[bl-sensor]: /components/sensor.broadlink/
-[bl-switch]: /components/switch.broadlink/
-[hikvision]: /components/binary_sensor.hikvision/
-[zamg]: /components/sensor.zamg/
-[flic]: /components/binary_sensor.flic/
-[sensehat]: /components/sensor.sensehat/
+[vlc-media]: /components/vlc
+[aquostv]: /components/aquostv
+[digitalloggers]: /components/digitalloggers
+[netdata]: /components/netdata
+[bl-sensor]: /components/broadlink#sensor
+[bl-switch]: /components/broadlink#switch
+[hikvision]: /components/hikvision
+[zamg]: /components/zamg#sensor
+[flic]: /components/flic
+[sensehat]: /components/sensehat/
[tts]: /components/tts/
[discord]: https://discord.gg/c5DvZ4e
[discord-devs]: https://discord.gg/8X8DTH4
diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown
index 23b86366753..cbb747f4dee 100644
--- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown
+++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown
@@ -160,33 +160,34 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@webworxshop]: https://github.com/webworxshop
[@Zac-HD]: https://github.com/Zac-HD
-[apns]: /components/notify.apns/
+[apns]: /components/apns
[beaglebone]: /components/bbb_gpio/
-[bl-switch]: /components/switch.broadlink/
-[bom]: /components/weather.bom/
+[bl-switch]: /components/broadlink#switch
+[bom]: /components/bom
[dublin]: /components/dublin_bus_transport/
-[facebook]: /components/notify.facebook/
+[facebook]: /components/facebook
[image]: /components/image_processing/
[influx]: /components/influxdb/
[insteon]: /components/insteon_local/
-[iss]: /components/sensor.iss/
-[kankun]: /components/switch.kankun/
-[lannouncer]: /components/notify.lannouncer/
+[iss]: /components/iss
+[kankun]: /components/kankun
+[lannouncer]: /components/lannouncer
[mysensors]: /components/notify.mysensors/
[packages]: /topics/packages/
-[pico]: /components/tts.picotts/
-[ping]: /components/device_tracker.ping/
-[plates]: /components/openalpr/
-[quebec]: /components/sensor.hydroquebec/
+[pico]: /components/picotts
+[ping]: /components/ping
+[plates]: /components/openalpr_local_local
+[quebec]: /components/hydroquebec
[rest]: /components/rest_command/
-[sma]: /components/sensor.sma/
-[sonarr]: /components/sensor.sonarr/
-[tik]: /components/light.tikteck/
-[trackr]: /components/device_tracker.trackr/
-[upc]: /components/device_tracker.upc_connect/
-[wink-fan]: /components/fan.wink/
+[sma]: /components/sma#sensors
+[sonarr]: /components/sonarr
+[tik]: /components/tikteck
+[trackr]: /components/trackr
+[upc]: /components/upc_connect
+[usps]: /components/usps#sensor
+[wink-fan]: /components/wink#fan
[xiaomi]: /components/device_tracker.xiaomi/
-[yandex]: /components/tts.yandextts/
-[yeelight]: /components/light.yeelight/
-[zengge]: /components/light.zengge/
+[yandex]: /components/yandextts
+[yeelight]: /components/yeelight
+[zengge]: /components/zengge
diff --git a/source/_posts/2017-01-28-face-coffee-wink.markdown b/source/_posts/2017-01-28-face-coffee-wink.markdown
index accbc45bdea..67ecac30782 100644
--- a/source/_posts/2017-01-28-face-coffee-wink.markdown
+++ b/source/_posts/2017-01-28-face-coffee-wink.markdown
@@ -227,23 +227,23 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@fakezeta]: https://github.com/fakezeta
[amcrest]: /components/amcrest/#binary_sensors
-[discord]: /components/notify.discord/
-[tado]: /components/device_tracker.tado/
-[sky]: /components/device_tracker.sky_hub/
+[discord]: /components/discord
+[tado]: /components/tado
+[sky]: /components/sky_hub
[zabbix]: /components/zabbix/
-[avion]: /components/light.avion/
-[anthem]: /components/media_player.anthemav/
-[bb-bin]: /components/binary_sensor.bbb_gpio/
-[piglow]: /components/light.piglow/
-[wsdot]: /components/sensor.wsdot/
-[skybeacon]: /components/sensor.skybeacon/
+[avion]: /components/avion
+[anthem]: /components/anthemav
+[bb-bin]: /components/bbb_gpio#binary-sensor
+[piglow]: /components/piglow
+[wsdot]: /components/wsdot
+[skybeacon]: /components/skybeacon
[lutron]: /components/lutron/
-[polly]: /components/tts.amazon_polly/
+[polly]: /components/amazon_polly
[emul-hue]: /components/emulated_hue/
[netatmo]: /components/netatmo/
[face]: /components/microsoft_face/
-[iss]: /components/binary_sensor.iss/
-[roku]: /components/media_player.roku/
+[iss]: /components/iss
+[roku]: /components/roku#media-player
[openalpr]: /components/#image-processing
[image]: /components/image_processing/
[emul_hue]: https://github.com/home-assistant/home-assistant/pull/5549
@@ -252,8 +252,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[gov]: /blog/2017/01/21/home-assistant-governance/
[license]: /developers/license/
[wink]: /components/wink/
-[coffee]: /components/switch.wemo/
+[coffee]: /components/wemo
[cec]: /components/hdmi_cec/
[mysensors]: /components/mysensors/
-[sonos]: /components/media_player.sonos/
-[twilio]: /components/notify.twilio_call/
+[sonos]: /components/sonos
+[twilio]: /components/twilio_call
diff --git a/source/_posts/2017-02-03-hassbian-toybox.markdown b/source/_posts/2017-02-03-hassbian-toybox.markdown
index b7c9f6e2979..c7ff75b749c 100644
--- a/source/_posts/2017-02-03-hassbian-toybox.markdown
+++ b/source/_posts/2017-02-03-hassbian-toybox.markdown
@@ -24,12 +24,12 @@ Currently includes:
All of these scripts are available in the directory `/home/pi/hassbian-scripts/`. This directory is actually a cloned git repository that's cloned on first boot and can be updated to the latest release with ease after.
To update the hassbian-scripts directory execute the following command as the `pi` user.
```bash
-$ cd hassbian-scripts
-$ git pull
+cd hassbian-scripts
+git pull
```
To use any of the hassbian-scripts, execute the following command as the `pi` user. Here we use the libcec script as an example.
```bash
-$ sudo ./hassbian-scripts/install_libcec.sh
+sudo ./hassbian-scripts/install_libcec.sh
```
For more information about these scripts have a look a the [hassbian-scripts repository][hassbian-repo].
diff --git a/source/_posts/2017-02-04-babyphone.markdown b/source/_posts/2017-02-04-babyphone.markdown
index a5cc6ef419e..9aa91a293f2 100644
--- a/source/_posts/2017-02-04-babyphone.markdown
+++ b/source/_posts/2017-02-04-babyphone.markdown
@@ -29,15 +29,15 @@ We change the platform name for binary sensor in 0.38 from `ffmpeg` to `ffmpeg_n
On Raspbian Jessie, you can setup [FFmpeg](/components/ffmpeg) and install an [icecast2](http://icecast.org/) server using:
```bash
-$ sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
-$ sudo apt-get update
-$ sudo apt-get -t jessie-backports install ffmpeg
-$ sudo apt-get install icecast2
+sudo echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
+sudo apt-get update
+sudo apt-get -t jessie-backports install ffmpeg
+sudo apt-get install icecast2
```
We setup an icecast mount point for our babyphone and update `/etc/icecast2/icecast.xml`:
-```
+```xml
/babyphone.mp3
Babyphone
diff --git a/source/_posts/2017-02-11-alert-appletv-mqtt-yeelight.markdown b/source/_posts/2017-02-11-alert-appletv-mqtt-yeelight.markdown
index b70ef85c68c..aec6c7a0764 100644
--- a/source/_posts/2017-02-11-alert-appletv-mqtt-yeelight.markdown
+++ b/source/_posts/2017-02-11-alert-appletv-mqtt-yeelight.markdown
@@ -194,32 +194,32 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@Yannic-HAW]: https://github.com/Yannic-HAW
[alert]: /components/alert/
-[apiai]: /components/apiai/
-[apple-tv]: /components/media_player.apple_tv/
-[arwn]: /components/sensor.arwn/
+[apiai]: /components/dialogflow
+[apple-tv]: /components/apple_tv
+[arwn]: /components/arwn
[custom-ui]: /developers/frontend_creating_custom_ui/
[discovery]: /components/discovery/
-[face-detect]: /components/image_processing.microsoft_face_detect/
-[ffmpeg-bin]: /components/binary_sensor.ffmpeg/
+[face-detect]: /components/microsoft_face_detect
+[ffmpeg-bin]: /components/ffmpeg_motion
[ffmpeg]: /components/ffmpeg/
[filters]: /topics/templating/#home-assistant-template-extensions
-[fritz]: /components/switch.fritzdect/
-[hue]: /components/light.hue/
+[fritz]: /components/fritzdect
+[hue]: /components/hue
[light]: /cookbook/custom_ui_by_andrey-git
-[mailgun]: /components/notify.mailgun/
+[mailgun]: /components/mailgun
[media-player]: /components/media_player/
-[moon]: /components/sensor.moon/
+[moon]: /components/moon
[mqtt-discovery]: /components/mqtt/#discovery
-[nuki]: /components/lock.nuki/
-[openevse]: /components/sensor.openevse/
-[orange]: /components/media_player.liveboxplaytv/
-[owm]: /components/sensor.openweathermap/
+[nuki]: /components/nuki
+[openevse]: /components/openevse
+[orange]: /components/liveboxplaytv
+[owm]: /components/openweathermap#sensor
[python-yeelight]: https://gitlab.com/stavros/python-yeelight
-[qnap]: /components/sensor.qnap/
+[qnap]: /components/qnap
[rflink]: /components/rflink/
-[systemmonitor]: /components/sensor.systemmonitor/
-[webostv]: /components/media_player.webostv/
-[yeelight]: /components/light.yeelight/
+[systemmonitor]: /components/systemmonitor
+[webostv]: /components/webostv#media-player
+[yeelight]: /components/yeelight
[event-stream-api]: /developers/server_sent_events/
[forum]: https://community.home-assistant.io/
diff --git a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
index 871c6e17bb3..b775fa420ff 100644
--- a/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
+++ b/source/_posts/2017-02-25-config-panel-and-state-restoration.markdown
@@ -284,23 +284,23 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@andersonshatch]: https://github.com/andersonshatch
[telegram]: /components/webhooks/
-[pushsafer]: /components/notify.pushsafer/
-[openhome]: /components/media_player.openhome/
-[fido]: /components/sensor.fido/
-[gstreamer]: /components/media_player.gstreamer/
-[clementine]: /components/media_player.clementine/
-[ebox]: /components/sensor.ebox/
-[aurora]: /components/binary_sensor.aurora/
-[netmonitor]: /components/sensor.fritzbox_netmonitor/
-[itach]: /components/remote.itach/
-[sunflowers]: /components/light.yeelightsunflower/
-[kodi]: /components/media_player.kodi/
-[myq]: /components/cover.myq/
-[oemt]: /components/climate.oem/
+[pushsafer]: /components/pushsafer
+[openhome]: /components/openhome
+[fido]: /components/fido
+[gstreamer]: /components/gstreamer
+[clementine]: /components/clementine
+[ebox]: /components/ebox
+[aurora]: /components/aurora
+[netmonitor]: /components/fritzbox#sensor_netmonitor/
+[itach]: /components/itach
+[sunflowers]: /components/yeelightsunflower/
+[kodi]: /components/kodi
+[myq]: /components/myq
+[oemt]: /components/oem
[volvo]: /components/volvooncall/
-[pocket]: /components/sensor.pocketcasts/
+[pocket]: /components/pocketcasts
[config]: /components/config/
-[history_stats]: /components/sensor.history_stats/
+[history_stats]: /components/history_stats
[docs]: /docs/
diff --git a/source/_posts/2017-03-22-broken-dependencies.markdown b/source/_posts/2017-03-22-broken-dependencies.markdown
index 1a8b2156ab4..e684e3d0461 100644
--- a/source/_posts/2017-03-22-broken-dependencies.markdown
+++ b/source/_posts/2017-03-22-broken-dependencies.markdown
@@ -12,7 +12,7 @@ TL; DR: We have just released version 0.40.2 that includes a fix related to the
Some users in the last few days have been reporting that their Home Assistant installation fails to start with an error in the http component:
-```
+```txt
ImportError: No module named 'aiohttp.file_sender'
```
@@ -21,4 +21,4 @@ The problem is that Home Assistant did not handle the case where a dependency wo
- AppleTV (0.38+)
- Android IP Webcam (0.40+)
-This issue has been resolved by 0.40.2. If you are on an impacted version and cannot upgrade to the latest version just yet, a temporary workaround will be to remove the `/deps` directory and stop using the above mentioned integrations. In the case of AppleTV, you will also have to disable the discovery component to prevent it from being auto-detected.
\ No newline at end of file
+This issue has been resolved by 0.40.2. If you are on an impacted version and cannot upgrade to the latest version just yet, a temporary workaround will be to remove the `/deps` directory and stop using the above mentioned integrations. In the case of AppleTV, you will also have to disable the discovery component to prevent it from being auto-detected.
diff --git a/source/_posts/2017-03-25-todo-volumio-workday.markdown b/source/_posts/2017-03-25-todo-volumio-workday.markdown
index acd5a97763b..18839eb849f 100644
--- a/source/_posts/2017-03-25-todo-volumio-workday.markdown
+++ b/source/_posts/2017-03-25-todo-volumio-workday.markdown
@@ -333,14 +333,14 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@yeralin]: https://github.com/yeralin
[components]: /components/
-[kodi]: /components/notify.kodi/
-[mpd]: /components/media_player.mpd/
-[emby]: /components/media_player.emby/
+[kodi]: /components/kodi
+[mpd]: /components/mpd
+[emby]: /components/emby
[mqtt]: /docs/mqtt/
-[plex]: /components/media_player.plex/
-[tado]: /components/climate.tado/
+[plex]: /components/plex#media-player
+[tado]: /components/tado
[volumio]: /components/volumio/
-[workday]: /components/binary_sensor.workday/
+[workday]: /components/workday
[android]: /components/android_ip_webcam/
[shadow]: https://www.w3.org/TR/shadow-dom/
diff --git a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown
index a94f72df246..0af3920ba4e 100644
--- a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown
+++ b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown
@@ -132,7 +132,7 @@ As it currently stands, this is going to be the perfect companion hardware to wo
[Homebridge]: https://github.com/nfarina/homebridge
[hb-hass]: https://github.com/home-assistant/homebridge-homeassistant
[emulated_hue]: /components/emulated_hue/
-[apiai]: /components/apiai/
+[apiai]: /components/dialogflow
[Haaska]: https://github.com/auchter/haaska
[great marketing material]: https://i2.wp.com/blog.smartthings.com/wp-content/uploads/2014/06/summer-vacay-683x405-blog.png?fit=683%2C405&ssl=1
[classification]: /blog/2016/02/12/classifying-the-internet-of-things/
diff --git a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown
index d3f3defdcc2..abee60f552d 100644
--- a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown
+++ b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown
@@ -416,66 +416,66 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@titilambert]: https://github.com/titilambert
[@turbokongen]: https://github.com/turbokongen
[@viswa-swami]: https://github.com/viswa-swami
-[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
+[alarm_control_panel.alarmdotcom docs]: /components/alarmdotcom
[arduino docs]: /components/arduino/
[automation docs]: /components/automation/
-[binary_sensor.ping docs]: /components/binary_sensor.ping/
-[binary_sensor.wemo docs]: /components/binary_sensor.wemo/
-[camera.foscam docs]: /components/camera.foscam/
+[binary_sensor.ping docs]: /components/ping#binary-sensor
+[binary_sensor.wemo docs]: /components/wemo
+[camera.foscam docs]: /components/foscam
[camera.mqtt docs]: /components/camera.mqtt/
-[camera.neato docs]: /components/camera.neato/
-[camera.synology docs]: /components/camera.synology/
+[camera.neato docs]: /components/neato#camera
+[camera.synology docs]: /components/synology
[climate docs]: /components/climate/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
+[device_tracker.automatic docs]: /components/automatic
[device_tracker.mysensors docs]: /components/device_tracker.mysensors/
-[device_tracker.ping docs]: /components/device_tracker.ping/
+[device_tracker.ping docs]: /components/ping
[hassio docs]: /components/hassio/
-[input_slider docs]: /components/input_slider/
-[light.flux_led docs]: /components/light.flux_led/
-[light.lifx docs]: /components/light.lifx/
-[light.lutron_caseta docs]: /components/light.lutron_caseta/
-[light.mystrom docs]: /components/light.mystrom/
+[input_slider docs]: /components/input_number
+[light.flux_led docs]: /components/flux_led
+[light.lifx docs]: /components/lifx
+[light.lutron_caseta docs]: /components/lutron_caseta/
+[light.mystrom docs]: /components/mystrom#light
[light.services.yaml docs]: /components/light.services.yaml/
-[light.tradfri docs]: /components/light.tradfri/
-[light.wemo docs]: /components/light.wemo/
-[light.yeelight docs]: /components/light.yeelight/
+[light.tradfri docs]: /components/tradfri
+[light.wemo docs]: /components/wemo
+[light.yeelight docs]: /components/yeelight
[lutron docs]: /components/lutron/
[lutron_caseta docs]: /components/lutron_caseta/
[media_player docs]: /components/media_player/
-[media_player.apple_tv docs]: /components/media_player.apple_tv/
-[media_player.braviatv docs]: /components/media_player.braviatv/
-[media_player.gstreamer docs]: /components/media_player.gstreamer/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.apple_tv docs]: /components/apple_tv
+[media_player.braviatv docs]: /components/braviatv
+[media_player.gstreamer docs]: /components/gstreamer
+[media_player.kodi docs]: /components/kodi
+[media_player.spotify docs]: /components/spotify
+[media_player.webostv docs]: /components/webostv#media-player
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
[neato docs]: /components/neato/
-[notify.kodi docs]: /components/notify.kodi/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.webostv docs]: /components/notify.webostv/
-[scene.lifx_cloud docs]: /components/scene.lifx_cloud/
-[sensor.cpuspeed docs]: /components/sensor.cpuspeed/
-[sensor.crimereports docs]: /components/sensor.crimereports/
-[sensor.fido docs]: /components/sensor.fido/
+[notify.kodi docs]: /components/kodi
+[notify.sendgrid docs]: /components/sendgrid
+[notify.webostv docs]: /components/webostv
+[scene.lifx_cloud docs]: /components/lifx_cloud
+[sensor.cpuspeed docs]: /components/cpuspeed
+[sensor.crimereports docs]: /components/crimereports
+[sensor.fido docs]: /components/fido
[sensor.modbus docs]: /components/sensor.modbus/
-[sensor.mvglive docs]: /components/sensor.mvglive/
+[sensor.mvglive docs]: /components/mvglive
[sensor.neato docs]: /components/neato/
-[sensor.opensky docs]: /components/sensor.opensky/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.vera docs]: /components/sensor.vera/
+[sensor.opensky docs]: /components/opensky
+[sensor.qnap docs]: /components/qnap
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.vera docs]: /components/vera#sensor
[sun docs]: /components/sun/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
-[switch.wemo docs]: /components/switch.wemo/
+[switch.tplink docs]: /components/tplink
+[switch.wake_on_lan docs]: /components/wake_on_lan#switch
+[switch.wemo docs]: /components/wemo
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
-[tts.google docs]: /components/tts.google/
-[tts.marytts docs]: /components/tts.marytts/
+[telegram_bot.polling docs]: /components/polling
+[telegram_bot.webhooks docs]: /components/webhooks
+[tts.google docs]: /components/google_translate
+[tts.marytts docs]: /components/marytts
[vera docs]: /components/vera/
[wemo docs]: /components/wemo/
[zwave docs]: /components/zwave/
@@ -489,12 +489,12 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#7267]: https://github.com/home-assistant/home-assistant/pull/7267
[#7287]: https://github.com/home-assistant/home-assistant/pull/7287
[@KlaasH]: https://github.com/KlaasH
-[cover.zwave docs]: /components/cover.zwave/
+[cover.zwave docs]: /components/zwave#cover
[recorder docs]: /components/recorder/
-[switch.hook docs]: /components/switch.hook/
-[switch.wemo docs]: /components/switch.wemo/
+[switch.hook docs]: /components/hook
+[switch.wemo docs]: /components/wemo
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.webhooks docs]: /components/webhooks
[wemo docs]: /components/wemo/
[#7271]: https://github.com/home-assistant/home-assistant/pull/7271
[#7282]: https://github.com/home-assistant/home-assistant/pull/7282
@@ -506,9 +506,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#7324]: https://github.com/home-assistant/home-assistant/pull/7324
[#7329]: https://github.com/home-assistant/home-assistant/pull/7329
[#7337]: https://github.com/home-assistant/home-assistant/pull/7337
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
+[device_tracker.automatic docs]: /components/automatic
[hassio docs]: /components/hassio/
-[notify.html5 docs]: /components/notify.html5/
-[notify.telegram docs]: /components/notify.telegram/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
+[notify.html5 docs]: /components/html5
+[notify.telegram docs]: /components/telegram
+[telegram_bot.polling docs]: /components/polling
[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/_posts/2017-04-25-influxdb-grafana-docker.markdown b/source/_posts/2017-04-25-influxdb-grafana-docker.markdown
index 8f7d1fa4fa4..b44b2aced01 100644
--- a/source/_posts/2017-04-25-influxdb-grafana-docker.markdown
+++ b/source/_posts/2017-04-25-influxdb-grafana-docker.markdown
@@ -17,7 +17,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
2. Download the [docker-statsd-influxdb-grafana]( https://hub.docker.com/r/samuelebistoletti/docker-statsd-influxdb-grafana/) image using the command:
`docker pull samuelebistoletti/docker-statsd-influxdb-grafana`
3. To start the container for the first-time launch:
- ```
+ ```bash
docker run -d \
--name docker-statsd-influxdb-grafana \
-p 3003:3003 \
@@ -34,7 +34,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
7. Now, you need to configure Home Assistant to use InfluxDB. Since, we did not add any username/password to our database, we can simply add the following to our configuration.yaml (replace the IP address with that of the device running Docker) and restart Home Assistant to setup InfluxDB (you will have to fine tune it based on your preferences):
- ```
+ ```yaml
influxdb:
host: 192.168.2.113
```
@@ -45,7 +45,7 @@ Instead of running [InfluxDB](https://www.influxdata.com/) and Grafana on a Rasp
9. You should see `Data source is working` if you have configured everything correctly.
10. With all that configured, you are now ready for the fun stuff. You can create as many dashboards as you want and then import the same in Home Assistant.
11. To add the Grafana dashboard in HA, use the following config:
- ```
+ ```yaml
panel_iframe:
router:
title: 'Temperature'
diff --git a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
index 8f893167616..85276819db0 100644
--- a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
+++ b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
@@ -46,7 +46,7 @@ Right in there, not in any folders, create a file called `wpa_supplicant.conf`.
The contents of the configuration file should be something like this:
(You may have to adjust for your configuration, hints [here](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md) )
-```
+```txt
network={
ssid="YOUR_WIFI_NETWORK_NAME_HERE"
psk="YOUR_WIFI_PASSWORD_HERE"
@@ -62,9 +62,9 @@ It's a good idea to change the password. To do so, use the `passwd` command.
Next, type the following two commands into the SSH console:
-```
-$ sudo systemctl enable install_homeassistant.service
-$ sudo systemctl start install_homeassistant.service
+```bash
+sudo systemctl enable install_homeassistant.service
+sudo systemctl start install_homeassistant.service
```
Wait about 15-20 minutes and voilà you have your Home Assistant on your Raspberry Pi Zero W in 30 minutes.
diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown
index 4482ebc21f5..3dc51991f5f 100644
--- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown
+++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown
@@ -411,58 +411,58 @@ influxdb:
[@wokar]: https://github.com/wokar
[@wuub]: https://github.com/wuub
[@zeltom]: https://github.com/zeltom
-[binary_sensor.alarmdecoder docs]: /components/binary_sensor.alarmdecoder/
-[binary_sensor.eight_sleep docs]: /components/binary_sensor.eight_sleep/
-[binary_sensor.maxcube docs]: /components/binary_sensor.maxcube/
-[binary_sensor.octoprint docs]: /components/binary_sensor.octoprint/
-[binary_sensor.pilight docs]: /components/binary_sensor.pilight/
-[binary_sensor.ping docs]: /components/binary_sensor.ping/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[camera.netatmo docs]: /components/camera.netatmo/
+[binary_sensor.alarmdecoder docs]: /components/alarmdecoder
+[binary_sensor.eight_sleep docs]: /components/eight_sleep
+[binary_sensor.maxcube docs]: /components/maxcube
+[binary_sensor.octoprint docs]: /components/octoprint#binary-sensor
+[binary_sensor.pilight docs]: /components/pilight#binary-sensor
+[binary_sensor.ping docs]: /components/ping#binary-sensor
+[binary_sensor.workday docs]: /components/workday
+[binary_sensor.zha docs]: /components/zha
+[camera.netatmo docs]: /components/netatmo#camera
[climate docs]: /components/climate/
-[climate.ecobee docs]: /components/climate.ecobee/
-[climate.maxcube docs]: /components/climate.maxcube/
-[climate.zwave docs]: /components/climate.zwave/
-[cover.garadget docs]: /components/cover.garadget/
-[cover.opengarage docs]: /components/cover.opengarage/
-[cover.zwave docs]: /components/cover.zwave/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
+[climate.ecobee docs]: /components/ecobee
+[climate.maxcube docs]: /components/maxcube
+[climate.zwave docs]: /components/zwave#climate
+[cover.garadget docs]: /components/garadget
+[cover.opengarage docs]: /components/opengarage
+[cover.zwave docs]: /components/zwave#cover
+[device_tracker.automatic docs]: /components/automatic
[device_tracker.zha docs]: /components/device_tracker.zha/
[ecobee docs]: /components/ecobee/
[eight_sleep docs]: /components/eight_sleep/
[enocean docs]: /components/enocean/
[homematic docs]: /components/homematic/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
-[image_processing.microsoft_face_detect docs]: /components/image_processing.microsoft_face_detect/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
+[image_processing.microsoft_face_detect docs]: /components/microsoft_face_detect
+[image_processing.opencv docs]: /components/opencv
[joaoapps_join docs]: /components/joaoapps_join/
[light docs]: /components/light/
-[light.avion docs]: /components/light.avion/
-[light.blinkt docs]: /components/light.blinkt/
-[light.decora docs]: /components/light.decora/
-[light.flux_led docs]: /components/light.flux_led/
-[light.hue docs]: /components/light.hue/
-[light.lifx docs]: /components/light.lifx/
-[light.osramlightify docs]: /components/light.osramlightify/
-[light.piglow docs]: /components/light.piglow/
-[light.sensehat docs]: /components/light.sensehat/
-[light.tradfri docs]: /components/light.tradfri/
-[light.zha docs]: /components/light.zha/
-[light.zwave docs]: /components/light.zwave/
+[light.avion docs]: /components/avion
+[light.blinkt docs]: /components/blinkt
+[light.decora docs]: /components/decora
+[light.flux_led docs]: /components/flux_led
+[light.hue docs]: /components/hue
+[light.lifx docs]: /components/lifx
+[light.osramlightify docs]: /components/osramlightify
+[light.piglow docs]: /components/piglow
+[light.sensehat docs]: /components/sensehat#light
+[light.tradfri docs]: /components/tradfri
+[light.zha docs]: /components/zha
+[light.zwave docs]: /components/zwave
[maxcube docs]: /components/maxcube/
[media_player docs]: /components/media_player/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.spotify docs]: /components/spotify
+[media_player.webostv docs]: /components/webostv#media-player
[mqtt docs]: /components/mqtt/
-[notify.html5 docs]: /components/notify.html5/
-[notify.joaoapps_join docs]: /components/notify.joaoapps_join/
-[notify.mailgun docs]: /components/notify.mailgun/
+[notify.html5 docs]: /components/html5
+[notify.joaoapps_join docs]: /components/joaoapps_join
+[notify.mailgun docs]: /components/mailgun
[notify.matrix docs]: /components/matrix/#notifications
-[notify.smtp docs]: /components/notify.smtp/
-[notify.telegram docs]: /components/notify.telegram/
-[notify.webostv docs]: /components/notify.webostv/
+[notify.smtp docs]: /components/smtp
+[notify.telegram docs]: /components/telegram
+[notify.webostv docs]: /components/webostv
[nuimo_controller docs]: /components/nuimo_controller/
[octoprint docs]: /components/octoprint/
[opencv docs]: /components/opencv/
@@ -470,26 +470,26 @@ influxdb:
[recorder docs]: /components/recorder/
[rfxtrx docs]: /components/rfxtrx/
[rss_feed_template docs]: /components/rss_feed_template/
-[sensor.cert_expiry docs]: /components/sensor.cert_expiry/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.eight_sleep docs]: /components/sensor.eight_sleep/
-[sensor.envirophat docs]: /components/sensor.envirophat/
+[sensor.cert_expiry docs]: /components/cert_expiry
+[sensor.dht docs]: /components/dht
+[sensor.eight_sleep docs]: /components/eight_sleep
+[sensor.envirophat docs]: /components/envirophat
[sensor.ios docs]: /components/sensor.ios/
-[sensor.lyft docs]: /components/sensor.lyft/
-[sensor.pushbullet docs]: /components/sensor.pushbullet/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.thinkingcleaner docs]: /components/sensor.thinkingcleaner/
-[sensor.vera docs]: /components/sensor.vera/
-[sensor.zamg docs]: /components/sensor.zamg/
-[sensor.zha docs]: /components/sensor.zha/
-[switch.flux docs]: /components/switch.flux/
-[switch.hook docs]: /components/switch.hook/
-[switch.thinkingcleaner docs]: /components/switch.thinkingcleaner/
-[switch.wemo docs]: /components/switch.wemo/
-[switch.zha docs]: /components/switch.zha/
+[sensor.lyft docs]: /components/lyft
+[sensor.pushbullet docs]: /components/pushbullet#sensor
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.thinkingcleaner docs]: /components/thinkingcleaner#sensor
+[sensor.vera docs]: /components/vera#sensor
+[sensor.zamg docs]: /components/zamg#sensor
+[sensor.zha docs]: /components/zha
+[switch.flux docs]: /components/flux
+[switch.hook docs]: /components/hook
+[switch.thinkingcleaner docs]: /components/thinkingcleaner#switch
+[switch.wemo docs]: /components/wemo
+[switch.zha docs]: /components/zha
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.polling docs]: /components/polling
+[telegram_bot.webhooks docs]: /components/webhooks
[updater docs]: /components/updater/
[vera docs]: /components/vera/
[wemo docs]: /components/wemo/
@@ -504,6 +504,6 @@ influxdb:
[@finish06]: https://github.com/finish06
[@frog32]: https://github.com/frog32
[@pezinek]: https://github.com/pezinek
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[device_tracker.unifi docs]: /components/unifi
+[sensor.wunderground docs]: /components/wunderground
[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown
index d88039e6f5c..88699c59b4a 100644
--- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown
+++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown
@@ -340,82 +340,82 @@ Experiencing issues introduced by this release? Please report them in our [issue
[config.automation docs]: /docs/automation/editor/
[automation.event docs]: /docs/configuration/events/
[automation.state docs]: /docs/configuration/state_object/
-[binary_sensor.mystrom docs]: /components/binary_sensor.mystrom/
-[binary_sensor.raspihats docs]: /components/binary_sensor.raspihats/
-[binary_sensor.rpi_pfio docs]: /components/binary_sensor.rpi_pfio/
+[binary_sensor.mystrom docs]: /components/mystrom#binary-sensor
+[binary_sensor.raspihats docs]: /components/raspihats#binary-sensor
+[binary_sensor.rpi_pfio docs]: /components/rpi_pfio#binary-sensor
[blink docs]: /components/blink/
[camera.__init__ docs]: /components/camera.__init__/
-[camera.uvc docs]: /components/camera.uvc/
-[camera.zoneminder docs]: /components/camera.zoneminder/
-[climate.sensibo docs]: /components/climate.sensibo/
+[camera.uvc docs]: /components/uvc
+[camera.zoneminder docs]: /components/zoneminder#camera
+[climate.sensibo docs]: /components/sensibo
[config.__init__ docs]: /components/config.__init__/
[configurator docs]: /components/configurator/
-[cover.lutron_caseta docs]: /components/cover.lutron_caseta/
+[cover.lutron_caseta docs]: /components/lutron_caseta/
[datadog docs]: /components/datadog/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
+[device_tracker.automatic docs]: /components/automatic
+[device_tracker.unifi docs]: /components/unifi
[dweet docs]: /components/dweet/
[eight_sleep docs]: /components/eight_sleep/
[homematic docs]: /components/homematic/
[image_processing.__init__ docs]: /components/image_processing.__init__/
[image_processing.demo docs]: /components/image_processing.demo/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
-[image_processing.microsoft_face_detect docs]: /components/image_processing.microsoft_face_detect/
-[image_processing.microsoft_face_identify docs]: /components/image_processing.microsoft_face_identify/
-[image_processing.openalpr_cloud docs]: /components/image_processing.openalpr_cloud/
-[image_processing.openalpr_local docs]: /components/image_processing.openalpr_local/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.seven_segments docs]: /components/image_processing.seven_segments/
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
+[image_processing.microsoft_face_detect docs]: /components/microsoft_face_detect
+[image_processing.microsoft_face_identify docs]: /components/microsoft_face_identify
+[image_processing.openalpr_cloud docs]: /components/openalpr_local_cloud
+[image_processing.openalpr_local docs]: /components/openalpr_local_local
+[image_processing.opencv docs]: /components/opencv
+[image_processing.seven_segments docs]: /components/seven_segments
[kira docs]: /components/kira/
[light.__init__ docs]: /components/light.__init__/
-[light.blinksticklight docs]: /components/light.blinksticklight/
-[light.enocean docs]: /components/light.enocean/
-[light.flux_led docs]: /components/light.flux_led/
+[light.blinksticklight docs]: /components/blinksticklight
+[light.enocean docs]: /components/enocean#light
+[light.flux_led docs]: /components/flux_led
[light.insteon_local docs]: /components/insteon/
[light.insteon_plm docs]: /components/insteon/
-[light.isy994 docs]: /components/light.isy994/
-[light.lifx docs]: /components/light.lifx/
-[light.limitlessled docs]: /components/light.limitlessled/
-[light.mystrom docs]: /components/light.mystrom/
-[light.osramlightify docs]: /components/light.osramlightify/
-[light.tradfri docs]: /components/light.tradfri/
+[light.isy994 docs]: /components/isy994
+[light.lifx docs]: /components/lifx
+[light.limitlessled docs]: /components/limitlessled
+[light.mystrom docs]: /components/mystrom#light
+[light.osramlightify docs]: /components/osramlightify
+[light.tradfri docs]: /components/tradfri
[logbook docs]: /components/logbook/
[lutron_caseta docs]: /components/lutron_caseta/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.roku docs]: /components/media_player.roku/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.kodi docs]: /components/kodi
+[media_player.onkyo docs]: /components/onkyo
+[media_player.roku docs]: /components/roku#media-player
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
[microsoft_face docs]: /components/microsoft_face/
-[notify.html5 docs]: /components/notify.html5/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.smtp docs]: /components/notify.smtp/
-[notify.telegram docs]: /components/notify.telegram/
+[notify.html5 docs]: /components/html5
+[notify.sendgrid docs]: /components/sendgrid
+[notify.smtp docs]: /components/smtp
+[notify.telegram docs]: /components/telegram
[plant docs]: /components/plant/
[raspihats docs]: /components/raspihats/
-[remote.kira docs]: /components/remote.kira/
+[remote.kira docs]: /components/kira
[rflink docs]: /components/rflink/
[rpi_pfio docs]: /components/rpi_pfio/
-[sensor.blink docs]: /components/sensor.blink/
-[sensor.dweet docs]: /components/sensor.dweet/
-[sensor.envirophat docs]: /components/sensor.envirophat/
-[sensor.file docs]: /components/sensor.file/
-[sensor.influxdb docs]: /components/sensor.influxdb/
-[sensor.kira docs]: /components/sensor.kira/
-[sensor.miflora docs]: /components/sensor.miflora/
-[sensor.modem_callerid docs]: /components/sensor.modem_callerid/
-[sensor.nzbget docs]: /components/sensor.nzbget/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.blink docs]: /components/blink
+[sensor.dweet docs]: /components/dweet#sensor
+[sensor.envirophat docs]: /components/envirophat
+[sensor.file docs]: /components/file#sensor
+[sensor.influxdb docs]: /components/influxdb#sensor
+[sensor.kira docs]: /components/kira
+[sensor.miflora docs]: /components/miflora
+[sensor.modem_callerid docs]: /components/modem_callerid
+[sensor.nzbget docs]: /components/nzbget
+[sensor.scrape docs]: /components/scrape
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.wunderground docs]: /components/wunderground
[sun docs]: /components/sun/
-[switch.rpi_pfio docs]: /components/switch.rpi_pfio/
+[switch.rpi_pfio docs]: /components/rpi_pfio#switch
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
+[telegram_bot.polling docs]: /components/polling
[telegram_bot.services.yaml docs]: /components/telegram_bot/#notification-services
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.webhooks docs]: /components/webhooks
[tradfri docs]: /components/tradfri/
[vera docs]: /components/vera/
[websocket_api docs]: /components/websocket_api/
@@ -429,8 +429,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#7714]: https://github.com/home-assistant/home-assistant/pull/7714
[@cgtobi]: https://github.com/cgtobi
[@tobygray]: https://github.com/tobygray
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.ubus docs]: /components/ubus
[hassio docs]: /components/hassio/
-[media_player.volumio docs]: /components/media_player.volumio/
+[media_player.volumio docs]: /components/volumio
[telegram_bot.__init__ docs]: /components/telegram_bot/
[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown
index 8acd22372c4..0ac31cb2c5d 100644
--- a/source/_posts/2017-06-04-release-46.markdown
+++ b/source/_posts/2017-06-04-release-46.markdown
@@ -305,74 +305,74 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
[@craigjmidwinter]: https://github.com/craigjmidwinter
-[alarm_control_panel.concord232 docs]: /components/alarm_control_panel.concord232/
+[alarm_control_panel.concord232 docs]: /components/concord232#alarm-control-panel
[apcupsd docs]: /components/apcupsd/
[arlo docs]: /components/arlo/
[automation.state docs]: /docs/automation/trigger/#state-trigger
[automation.time docs]: /docs/automation/trigger/#time-trigger
[calendar.demo docs]: /components/calendar/
[calendar.google docs]: /components/calendar.google/
-[camera.amcrest docs]: /components/camera.amcrest/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.synology docs]: /components/camera.synology/
-[climate.tado docs]: /components/climate.tado/
-[cover.myq docs]: /components/cover.myq/
-[cover.zwave docs]: /components/cover.zwave/
+[camera.amcrest docs]: /components/amcrest
+[camera.arlo docs]: /components/arlo#camera
+[camera.synology docs]: /components/synology
+[climate.tado docs]: /components/tado
+[cover.myq docs]: /components/myq
+[cover.zwave docs]: /components/zwave#cover
[device_tracker.__init__ docs]: /components/device_tracker.__init__/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.mikrotik docs]: /components/mikrotik
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.ubus docs]: /components/ubus
[eight_sleep docs]: /components/eight_sleep/
[envisalink docs]: /components/envisalink/
-[fan.zwave docs]: /components/fan.zwave/
+[fan.zwave docs]: /components/zwave
[hassio docs]: /components/hassio/
[homematic docs]: /components/homematic/
-[image_processing.seven_segments docs]: /components/image_processing.seven_segments/
+[image_processing.seven_segments docs]: /components/seven_segments
[insteon_local docs]: /components/insteon_local/
[ios docs]: /components/ios/
[light.__init__ docs]: /components/light.__init__/
-[light.flux_led docs]: /components/light.flux_led/
-[light.lifx docs]: /components/light.lifx/
+[light.flux_led docs]: /components/flux_led
+[light.lifx docs]: /components/lifx
[light.template docs]: /components/light.template/
-[light.wink docs]: /components/light.wink/
-[lock.zwave docs]: /components/lock.zwave/
+[light.wink docs]: /components/wink#light
+[lock.zwave docs]: /components/zwave#lock
[lutron docs]: /components/lutron/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.openhome docs]: /components/media_player.openhome/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.openhome docs]: /components/openhome
[media_player.services.yaml docs]: /components/media_player/#services
-[media_player.snapcast docs]: /components/media_player.snapcast/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.volumio docs]: /components/media_player.volumio/
+[media_player.snapcast docs]: /components/snapcast
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
+[media_player.volumio docs]: /components/volumio
[modbus docs]: /components/modbus/
[mqtt.discovery docs]: /components/mqtt.discovery/
[notify.ios docs]: /docs/ecosystem/ios/notifications/basic/
[notify.rest docs]: /components/notify.rest/
-[notify.slack docs]: /components/notify.slack/
-[notify.smtp docs]: /components/notify.smtp/
-[notify.telegram docs]: /components/notify.telegram/
+[notify.slack docs]: /components/slack
+[notify.smtp docs]: /components/smtp
+[notify.telegram docs]: /components/telegram
[recorder.__init__ docs]: /components/recorder.__init__/
[remote docs]: /components/remote/
-[remote.harmony docs]: /components/remote.harmony/
+[remote.harmony docs]: /components/harmony
[remote.services.yaml docs]: /components/remote.services.yaml/
-[scene.hunterdouglas_powerview docs]: /components/scene.hunterdouglas_powerview/
-[sensor.amcrest docs]: /components/sensor.amcrest/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.history_stats docs]: /components/sensor.history_stats/
-[sensor.hp_ilo docs]: /components/sensor.hp_ilo/
-[sensor.influxdb docs]: /components/sensor.influxdb/
-[sensor.mvglive docs]: /components/sensor.mvglive/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.time_date docs]: /components/sensor.time_date/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.rachio docs]: /components/switch.rachio/
+[scene.hunterdouglas_powerview docs]: /components/hunterdouglas_powerview
+[sensor.amcrest docs]: /components/amcrest
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.dsmr docs]: /components/dsmr
+[sensor.history_stats docs]: /components/history_stats
+[sensor.hp_ilo docs]: /components/hp_ilo
+[sensor.influxdb docs]: /components/influxdb#sensor
+[sensor.mvglive docs]: /components/mvglive
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.time_date docs]: /components/time_date
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.rachio docs]: /components/rachio#switch
[switch.rflink docs]: /components/switch.rflink/
[telegram_bot.__init__ docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.polling docs]: /components/polling
+[telegram_bot.webhooks docs]: /components/webhooks
[tellduslive docs]: /components/tellduslive/
[upnp docs]: /components/upnp/
[zoneminder docs]: /components/zoneminder/
@@ -390,6 +390,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@mje-nz]: https://github.com/mje-nz
[cover.mqtt docs]: /components/cover.mqtt/
[sensor.metoffice docs]: /components/sensor.metoffice/
-[sensor.wunderground docs]: /components/sensor.wunderground/
-[media_player.roku docs]: /components/media_player.roku/
+[sensor.wunderground docs]: /components/wunderground
+[media_player.roku docs]: /components/roku#media-player
[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/_posts/2017-06-17-release-47.markdown b/source/_posts/2017-06-17-release-47.markdown
index 84843659407..152fd1eb969 100644
--- a/source/_posts/2017-06-17-release-47.markdown
+++ b/source/_posts/2017-06-17-release-47.markdown
@@ -446,114 +446,114 @@ automation:
[@trisk]: https://github.com/trisk
[@twendt]: https://github.com/twendt
[@vrs01]: https://github.com/vrs01
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
-[binary_sensor.enocean docs]: /components/binary_sensor.enocean/
-[binary_sensor.homematic docs]: /components/binary_sensor.homematic/
-[binary_sensor.spc docs]: /components/binary_sensor.spc/
-[binary_sensor.tapsaff docs]: /components/binary_sensor.tapsaff/
+[alarm_control_panel.spc docs]: /components/spc
+[binary_sensor.enocean docs]: /components/enocean#binary-sensor
+[binary_sensor.homematic docs]: /components/homematic
+[binary_sensor.spc docs]: /components/spc#binary-sensor
+[binary_sensor.tapsaff docs]: /components/tapsaff
[calendar.google docs]: /components/calendar.google/
-[climate.flexit docs]: /components/climate.flexit/
-[climate.wink docs]: /components/climate.wink/
+[climate.flexit docs]: /components/flexit
+[climate.wink docs]: /components/wink#climate
[conversation docs]: /components/conversation/
-[cover.homematic docs]: /components/cover.homematic/
+[cover.homematic docs]: /components/homematic
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[device_tracker.__init__ docs]: /components/device_tracker.__init__/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.ping docs]: /components/device_tracker.ping/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.ping docs]: /components/ping
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.unifi docs]: /components/unifi
[eight_sleep docs]: /components/eight_sleep/
[fan.__init__ docs]: /components/fan.__init__/
[fan.demo docs]: /components/fan.demo/
-[fan.zwave docs]: /components/fan.zwave/
+[fan.zwave docs]: /components/zwave
[group docs]: /components/group/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.seven_segments docs]: /components/image_processing.seven_segments/
+[image_processing.opencv docs]: /components/opencv
+[image_processing.seven_segments docs]: /components/seven_segments
[influxdb docs]: /components/influxdb/
[juicenet docs]: /components/juicenet/
-[light.lifx docs]: /components/light.lifx/
-[light.lutron docs]: /components/light.lutron/
-[light.osramlightify docs]: /components/light.osramlightify/
+[light.lifx docs]: /components/lifx
+[light.lutron docs]: /components/lutron
+[light.osramlightify docs]: /components/osramlightify
[light.template docs]: /components/light.template/
-[light.vera docs]: /components/light.vera/
-[light.yeelight docs]: /components/light.yeelight/
-[light.zwave docs]: /components/light.zwave/
-[lock.sesame docs]: /components/lock.sesame/
+[light.vera docs]: /components/vera
+[light.yeelight docs]: /components/yeelight
+[light.zwave docs]: /components/zwave
+[lock.sesame docs]: /components/sesame
[lutron docs]: /components/lutron/
[mailgun docs]: /components/mailgun/
-[media_player.aquostv docs]: /components/media_player.aquostv/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.nad docs]: /components/media_player.nad/
+[media_player.aquostv docs]: /components/aquostv
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.firetv docs]: /components/androidtv
+[media_player.nad docs]: /components/nad
[media_player.nadtcp docs]: /components/nad/
-[media_player.openhome docs]: /components/media_player.openhome/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.roku docs]: /components/media_player.roku/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
+[media_player.openhome docs]: /components/openhome
+[media_player.plex docs]: /components/plex#media-player
+[media_player.roku docs]: /components/roku#media-player
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
+[media_player.squeezebox docs]: /components/squeezebox
[mqtt.__init__ docs]: /components/mqtt.__init__/
[nest docs]: /components/nest/
[netatmo docs]: /components/netatmo/
-[notify.html5 docs]: /components/notify.html5/
-[notify.mailgun docs]: /components/notify.mailgun/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.xmpp docs]: /components/notify.xmpp/
+[notify.html5 docs]: /components/html5
+[notify.mailgun docs]: /components/mailgun
+[notify.sendgrid docs]: /components/sendgrid
+[notify.xmpp docs]: /components/xmpp
[opencv docs]: /components/opencv/
[persistent_notification docs]: /components/persistent_notification/
[plant docs]: /components/plant/
[python_script docs]: /components/python_script/
-[sensor.bitcoin docs]: /components/sensor.bitcoin/
-[sensor.blockchain docs]: /components/sensor.blockchain/
+[sensor.bitcoin docs]: /components/bitcoin
+[sensor.blockchain docs]: /components/blockchain
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
-[sensor.cpuspeed docs]: /components/sensor.cpuspeed/
-[sensor.cups docs]: /components/sensor.cups/
-[sensor.currencylayer docs]: /components/sensor.currencylayer/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.dte_energy_bridge docs]: /components/sensor.dte_energy_bridge/
-[sensor.dublin_bus_transport docs]: /components/sensor.dublin_bus_transport/
-[sensor.dweet docs]: /components/sensor.dweet/
-[sensor.ebox docs]: /components/sensor.ebox/
-[sensor.ecobee docs]: /components/sensor.ecobee/
-[sensor.eliqonline docs]: /components/sensor.eliqonline/
-[sensor.etherscan docs]: /components/sensor.etherscan/
-[sensor.fixer docs]: /components/sensor.fixer/
-[sensor.gitter docs]: /components/sensor.gitter/
-[sensor.hddtemp docs]: /components/sensor.hddtemp/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
-[sensor.juicenet docs]: /components/sensor.juicenet/
+[sensor.coinmarketcap docs]: /components/coinmarketcap
+[sensor.cpuspeed docs]: /components/cpuspeed
+[sensor.cups docs]: /components/cups
+[sensor.currencylayer docs]: /components/currencylayer
+[sensor.dsmr docs]: /components/dsmr
+[sensor.dte_energy_bridge docs]: /components/dte_energy_bridge
+[sensor.dublin_bus_transport docs]: /components/dublin_bus_transport
+[sensor.dweet docs]: /components/dweet#sensor
+[sensor.ebox docs]: /components/ebox
+[sensor.ecobee docs]: /components/ecobee
+[sensor.eliqonline docs]: /components/eliqonline
+[sensor.etherscan docs]: /components/etherscan
+[sensor.fixer docs]: /components/fixer
+[sensor.gitter docs]: /components/gitter
+[sensor.hddtemp docs]: /components/hddtemp
+[sensor.homematic docs]: /components/homematic
+[sensor.imap_email_content docs]: /components/imap_email_content/
+[sensor.juicenet docs]: /components/juicenet#sensor
[sensor.metoffice docs]: /components/sensor.metoffice/
-[sensor.mold_indicator docs]: /components/sensor.mold_indicator/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.openevse docs]: /components/sensor.openevse/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.pvoutput docs]: /components/sensor.pvoutput/
-[sensor.radarr docs]: /components/sensor.radarr/
-[sensor.ripple docs]: /components/sensor.ripple/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.template docs]: /components/sensor.template/
-[sensor.waqi docs]: /components/sensor.waqi/
-[sensor.wunderground docs]: /components/sensor.wunderground/
-[sensor.yweather docs]: /components/sensor.yweather/
+[sensor.mold_indicator docs]: /components/mold_indicator
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.openevse docs]: /components/openevse
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.pvoutput docs]: /components/pvoutput
+[sensor.radarr docs]: /components/radarr
+[sensor.ripple docs]: /components/ripple
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.statistics docs]: /components/statistics
+[sensor.template docs]: /components/template
+[sensor.waqi docs]: /components/waqi
+[sensor.wunderground docs]: /components/wunderground
+[sensor.yweather docs]: /components/yweather
[spc docs]: /components/spc/
[splunk docs]: /components/splunk/
-[switch.homematic docs]: /components/switch.homematic/
-[switch.raspihats docs]: /components/switch.raspihats/
+[switch.homematic docs]: /components/homematic
+[switch.raspihats docs]: /components/raspihats#switch
[switch.rest docs]: /components/switch.rest/
[switch.template docs]: /components/switch.template/
[telegram_bot.__init__ docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.polling docs]: /components/polling
+[telegram_bot.webhooks docs]: /components/webhooks
[updater docs]: /components/updater/
[vera docs]: /components/vera/
[volvooncall docs]: /components/volvooncall/
-[weather.buienradar docs]: /components/weather.buienradar/
+[weather.buienradar docs]: /components/buienradar
[zeroconf docs]: /components/zeroconf/
[zwave docs]: /components/zwave/
[zwave blog post]: /blog/2017/06/15/zwave-entity-ids/
@@ -566,7 +566,7 @@ automation:
[#8113]: https://github.com/home-assistant/home-assistant/pull/8113
[#8134]: https://github.com/home-assistant/home-assistant/pull/8134
[@tsvi]: https://github.com/tsvi
-[fan.dyson docs]: /components/fan.dyson/
-[remote.itach docs]: /components/remote.itach/
-[sensor.dyson docs]: /components/sensor.dyson/
+[fan.dyson docs]: /components/dyson#fan
+[remote.itach docs]: /components/itach
+[sensor.dyson docs]: /components/dyson#sensor
[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown
index b15cc502dac..6c672f4d84e 100644
--- a/source/_posts/2017-07-02-release-48.markdown
+++ b/source/_posts/2017-07-02-release-48.markdown
@@ -87,7 +87,7 @@ homeassistant:
- Vera battery levels will no longer have the percent sign appended ([@philhawthorne] - [#8069]) ([vera docs]) (breaking change)
- Notify - SMTP: Added SMTP SSL/TLS support so now you should specify which encryption to use. ([@sn0oz] - [#7960]) ([notify.smtp docs]) (breaking change)
-```
+```yaml
notify:
- name: mail
platform: smtp
@@ -419,100 +419,100 @@ light:
[@voltagex]: https://github.com/voltagex
[@wmalgadey]: https://github.com/wmalgadey
[@ypollart]: https://github.com/ypollart
-[alarm_control_panel.verisure docs]: /components/alarm_control_panel.verisure/
+[alarm_control_panel.verisure docs]: /components/verisure#alarm-control-panel
[alert docs]: /components/alert/
[arlo docs]: /components/arlo/
[axis docs]: /components/axis/
-[binary_sensor.arest docs]: /components/binary_sensor.arest/
-[binary_sensor.digital_ocean docs]: /components/binary_sensor.digital_ocean/
+[binary_sensor.arest docs]: /components/arest#binary-sensor
+[binary_sensor.digital_ocean docs]: /components/digital_ocean#binary-sensor
[binary_sensor.modbus docs]: /components/binary_sensor.modbus/
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
-[binary_sensor.verisure docs]: /components/binary_sensor.verisure/
+[binary_sensor.verisure docs]: /components/verisure
[calendar.google docs]: /components/calendar.google/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.axis docs]: /components/camera.axis/
-[camera.local_file docs]: /components/camera.local_file/
-[camera.verisure docs]: /components/camera.verisure/
+[camera.arlo docs]: /components/arlo#camera
+[camera.axis docs]: /components/axis
+[camera.local_file docs]: /components/local_file
+[camera.verisure docs]: /components/verisure
[climate docs]: /components/climate/
[climate.mysensors docs]: /components/climate.mysensors/
-[climate.radiotherm docs]: /components/climate.radiotherm/
-[climate.sensibo docs]: /components/climate.sensibo/
-[climate.tado docs]: /components/climate.tado/
+[climate.radiotherm docs]: /components/radiotherm
+[climate.sensibo docs]: /components/sensibo
+[climate.tado docs]: /components/tado
[comfoconnect docs]: /components/comfoconnect/
[cover.knx docs]: /components/cover.knx/
[cover.template docs]: /components/cover.template/
-[device_tracker.linksys_smart docs]: /components/device_tracker.linksys_smart/
-[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
+[device_tracker.linksys_smart docs]: /components/linksys_smart
+[device_tracker.mikrotik docs]: /components/mikrotik
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.unifi docs]: /components/unifi
[digital_ocean docs]: /components/digital_ocean/
-[fan.comfoconnect docs]: /components/fan.comfoconnect/
-[fan.dyson docs]: /components/fan.dyson/
-[fan.insteon_local docs]: /components/fan.insteon_local/
+[fan.comfoconnect docs]: /components/comfoconnect
+[fan.dyson docs]: /components/dyson#fan
+[fan.insteon_local docs]: /components/insteon_local/
[group docs]: /components/group/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[influxdb docs]: /components/influxdb/
[insteon_hub docs]: /components/insteon/
[insteon_local docs]: /components/insteon_local/
[knx docs]: /components/knx/
-[light.decora docs]: /components/light.decora/
-[light.isy994 docs]: /components/light.isy994/
-[light.lifx docs]: /components/light.lifx/
-[light.limitlessled docs]: /components/light.limitlessled/
-[light.vera docs]: /components/light.vera/
-[light.zwave docs]: /components/light.zwave/
-[lock.verisure docs]: /components/lock.verisure/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.emby docs]: /components/media_player.emby/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.soundtouch docs]: /components/media_player.soundtouch/
+[light.decora docs]: /components/decora
+[light.isy994 docs]: /components/isy994
+[light.lifx docs]: /components/lifx
+[light.limitlessled docs]: /components/limitlessled
+[light.vera docs]: /components/vera
+[light.zwave docs]: /components/zwave
+[lock.verisure docs]: /components/verisure
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.emby docs]: /components/emby
+[media_player.kodi docs]: /components/kodi
+[media_player.mpd docs]: /components/mpd
+[media_player.plex docs]: /components/plex#media-player
+[media_player.soundtouch docs]: /components/soundtouch
[mqtt docs]: /components/mqtt/
[mqtt.discovery docs]: /components/mqtt.discovery/
-[notify.clicksend docs]: /components/notify.clicksend/
-[notify.html5 docs]: /components/notify.html5/
-[notify.smtp docs]: /components/notify.smtp/
+[notify.clicksend docs]: /components/clicksend
+[notify.html5 docs]: /components/html5
+[notify.smtp docs]: /components/smtp
[plant docs]: /components/plant/
[python_script docs]: /components/python_script/
[recorder docs]: /components/recorder/
[recorder.migration docs]: /components/recorder.migration/
[recorder.models docs]: /components/recorder.models/
-[remote.harmony docs]: /components/remote.harmony/
-[remote.itach docs]: /components/remote.itach/
+[remote.harmony docs]: /components/harmony
+[remote.itach docs]: /components/itach
[rfxtrx docs]: /components/rfxtrx/
-[sensor.arest docs]: /components/sensor.arest/
-[sensor.bh1750 docs]: /components/sensor.bh1750/
-[sensor.bme280 docs]: /components/sensor.bme280/
+[sensor.arest docs]: /components/arest#sensor
+[sensor.bh1750 docs]: /components/bh1750
+[sensor.bme280 docs]: /components/bme280
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.comfoconnect docs]: /components/sensor.comfoconnect/
-[sensor.dyson docs]: /components/sensor.dyson/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.htu21d docs]: /components/sensor.htu21d/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
+[sensor.comfoconnect docs]: /components/comfoconnect
+[sensor.dyson docs]: /components/dyson#sensor
+[sensor.glances docs]: /components/glances
+[sensor.htu21d docs]: /components/htu21d
+[sensor.hydroquebec docs]: /components/hydroquebec
[sensor.knx docs]: /components/sensor.knx/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.openhardwaremonitor docs]: /components/sensor.openhardwaremonitor/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.upnp docs]: /components/sensor.upnp/
-[sensor.verisure docs]: /components/sensor.verisure/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.netdata docs]: /components/netdata
+[sensor.openhardwaremonitor docs]: /components/openhardwaremonitor
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.upnp docs]: /components/upnp
+[sensor.verisure docs]: /components/verisure
+[sensor.wunderground docs]: /components/wunderground
[shiftr docs]: /components/shiftr/
[snips docs]: /components/snips/
-[switch.digital_ocean docs]: /components/switch.digital_ocean/
-[switch.rachio docs]: /components/switch.rachio/
-[switch.verisure docs]: /components/switch.verisure/
-[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
+[switch.digital_ocean docs]: /components/digital_ocean#switch
+[switch.rachio docs]: /components/rachio#switch
+[switch.verisure docs]: /components/verisure
+[switch.wake_on_lan docs]: /components/wake_on_lan#switch
[tado docs]: /components/tado/
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[telegram_bot.webhooks docs]: /components/webhooks
[tellduslive docs]: /components/tellduslive/
[tts docs]: /components/tts/
[upnp docs]: /components/upnp/
[vera docs]: /components/vera/
[verisure docs]: /components/verisure/
-[weather.buienradar docs]: /components/weather.buienradar/
+[weather.buienradar docs]: /components/buienradar
[zwave docs]: /components/zwave/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
@@ -527,8 +527,8 @@ light:
[@adrienball]: https://github.com/adrienball
[@bergemalm]: https://github.com/bergemalm
[api docs]: /components/api/
-[camera.arlo docs]: /components/camera.arlo/
+[camera.arlo docs]: /components/arlo#camera
[mqtt docs]: /components/mqtt/
-[remote.harmony docs]: /components/remote.harmony/
-[sensor.arlo docs]: /components/sensor.arlo/
+[remote.harmony docs]: /components/harmony
+[sensor.arlo docs]: /components/arlo#sensor
[snips docs]: /components/snips/
diff --git a/source/_posts/2017-07-16-release-49.markdown b/source/_posts/2017-07-16-release-49.markdown
index 5ee45f8b081..c3eccf98921 100644
--- a/source/_posts/2017-07-16-release-49.markdown
+++ b/source/_posts/2017-07-16-release-49.markdown
@@ -373,102 +373,102 @@ amcrest:
[@w1ll1am23]: https://github.com/w1ll1am23
[@craigjmidwinter]: https://github.com/craigjmidwinter
[@wmalgadey]: https://github.com/wmalgadey
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[amcrest docs]: /components/amcrest/
[apcupsd docs]: /components/apcupsd/
-[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
+[binary_sensor.hikvision docs]: /components/hikvision
[binary_sensor.modbus docs]: /components/binary_sensor.modbus/
-[binary_sensor.octoprint docs]: /components/binary_sensor.octoprint/
-[binary_sensor.pilight docs]: /components/binary_sensor.pilight/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[camera.amcrest docs]: /components/camera.amcrest/
-[camera.arlo docs]: /components/camera.arlo/
-[climate.flexit docs]: /components/climate.flexit/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.radiotherm docs]: /components/climate.radiotherm/
-[climate.tado docs]: /components/climate.tado/
+[binary_sensor.octoprint docs]: /components/octoprint#binary-sensor
+[binary_sensor.pilight docs]: /components/pilight#binary-sensor
+[binary_sensor.zha docs]: /components/zha
+[camera.amcrest docs]: /components/amcrest
+[camera.arlo docs]: /components/arlo#camera
+[climate.flexit docs]: /components/flexit
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.radiotherm docs]: /components/radiotherm
+[climate.tado docs]: /components/tado
[cover.template docs]: /components/cover.template/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.linksys_smart docs]: /components/device_tracker.linksys_smart/
-[device_tracker.tplink docs]: /components/device_tracker.tplink/
-[device_tracker.upc_connect docs]: /components/device_tracker.upc_connect/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.linksys_smart docs]: /components/linksys_smart
+[device_tracker.tplink docs]: /components/tplink
+[device_tracker.upc_connect docs]: /components/upc_connect
[dyson docs]: /components/dyson/
-[fan.dyson docs]: /components/fan.dyson/
+[fan.dyson docs]: /components/dyson#fan
[group docs]: /components/group/
[hassio docs]: /hassio/
[homematic docs]: /components/homematic/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
[knx docs]: /components/knx/
[lametric docs]: /components/lametric/
-[light.avion docs]: /components/light.avion/
-[light.decora docs]: /components/light.decora/
-[light.hue docs]: /components/light.hue/
-[light.hyperion docs]: /components/light.hyperion/
+[light.avion docs]: /components/avion
+[light.decora docs]: /components/decora
+[light.hue docs]: /components/hue
+[light.hyperion docs]: /components/hyperion
[light.knx docs]: /components/light.knx/
-[light.lifx docs]: /components/light.lifx/
-[light.mystrom docs]: /components/light.mystrom/
+[light.lifx docs]: /components/lifx
+[light.mystrom docs]: /components/mystrom#light
[light.rflink docs]: /components/light.rflink/
-[light.zha docs]: /components/light.zha/
+[light.zha docs]: /components/zha
[lutron docs]: /components/lutron/
[media_extractor docs]: /components/media_extractor/
-[media_player.apple_tv docs]: /components/media_player.apple_tv/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.emby docs]: /components/media_player.emby/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.soundtouch docs]: /components/media_player.soundtouch/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.vizio docs]: /components/media_player.vizio/
+[media_player.apple_tv docs]: /components/apple_tv
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.emby docs]: /components/emby
+[media_player.plex docs]: /components/plex#media-player
+[media_player.soundtouch docs]: /components/soundtouch
+[media_player.spotify docs]: /components/spotify
+[media_player.vizio docs]: /components/vizio
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[notify docs]: /components/notify/
-[notify.discord docs]: /components/notify.discord/
-[notify.lametric docs]: /components/notify.lametric/
-[notify.slack docs]: /components/notify.slack/
-[notify.twitter docs]: /components/notify.twitter/
+[notify.discord docs]: /components/discord
+[notify.lametric docs]: /components/lametric
+[notify.slack docs]: /components/slack
+[notify.twitter docs]: /components/twitter
[octoprint docs]: /components/octoprint/
[prometheus docs]: /components/prometheus/
[python_script docs]: /components/python_script/
[recorder docs]: /components/recorder/
[rflink docs]: /components/rflink/
[rfxtrx docs]: /components/rfxtrx/
-[scene.velux docs]: /components/scene.velux/
-[sensor.amcrest docs]: /components/sensor.amcrest/
-[sensor.apcupsd docs]: /components/sensor.apcupsd/
-[sensor.arwn docs]: /components/sensor.arwn/
-[sensor.broadlink docs]: /components/sensor.broadlink/
+[scene.velux docs]: /components/velux
+[sensor.amcrest docs]: /components/amcrest
+[sensor.apcupsd docs]: /components/apcupsd#sensor
+[sensor.arwn docs]: /components/arwn
+[sensor.broadlink docs]: /components/broadlink#sensor
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.citybikes docs]: /components/sensor.citybikes/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.dyson docs]: /components/sensor.dyson/
-[sensor.gtfs docs]: /components/sensor.gtfs/
-[sensor.london_underground docs]: /components/sensor.london_underground/
+[sensor.citybikes docs]: /components/citybikes
+[sensor.dht docs]: /components/dht
+[sensor.dyson docs]: /components/dyson#sensor
+[sensor.gtfs docs]: /components/gtfs
+[sensor.london_underground docs]: /components/london_underground
[sensor.modbus docs]: /components/sensor.modbus/
-[sensor.octoprint docs]: /components/sensor.octoprint/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.otp docs]: /components/sensor.otp/
+[sensor.octoprint docs]: /components/octoprint#sensor
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.otp docs]: /components/otp
[sensor.rflink docs]: /components/sensor.rflink/
-[sensor.waqi docs]: /components/sensor.waqi/
-[sensor.yweather docs]: /components/sensor.yweather/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.waqi docs]: /components/waqi
+[sensor.yweather docs]: /components/yweather
+[sensor.zha docs]: /components/zha
[snips docs]: /components/snips/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.dlink docs]: /components/switch.dlink/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.dlink docs]: /components/dlink
[switch.modbus docs]: /components/switch.modbus/
-[switch.rachio docs]: /components/switch.rachio/
+[switch.rachio docs]: /components/rachio#switch
[switch.rflink docs]: /components/switch.rflink/
[switch.xiaomi_vacuum docs]: /components/vacuum.xiaomi_miio/
[tado docs]: /components/tado/
[tts docs]: /components/tts/
-[tts.amazon_polly docs]: /components/tts.amazon_polly/
+[tts.amazon_polly docs]: /components/amazon_polly
[upnp docs]: /components/upnp/
[velux docs]: /components/velux/
[frontend docs]: /components/frontend/
[vera docs]: /components/vera/
[verisure docs]: /components/verisure/
[wake_on_lan docs]: /components/wake_on_lan/
-[weather.buienradar docs]: /components/weather.buienradar/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.buienradar docs]: /components/buienradar
+[weather.openweathermap docs]: /components/openweathermap#weather
[zha docs]: /components/zha/
[zha.const docs]: /components/zha.const/
[forum]: https://community.home-assistant.io/
@@ -499,6 +499,6 @@ amcrest:
[@glance-]: https://github.com/glance-
[@jawilson]: https://github.com/jawilson
[@schaal]: https://github.com/schaal
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.ubus docs]: /components/ubus
[keyboard_remote docs]: /components/keyboard_remote/
-[switch.flux docs]: /components/switch.flux/
+[switch.flux docs]: /components/flux
diff --git a/source/_posts/2017-07-29-release-50.markdown b/source/_posts/2017-07-29-release-50.markdown
index e5d1f44dde2..61334f611f7 100644
--- a/source/_posts/2017-07-29-release-50.markdown
+++ b/source/_posts/2017-07-29-release-50.markdown
@@ -331,76 +331,76 @@ conversation:
[@titilambert]: https://github.com/titilambert
[@viswa-swami]: https://github.com/viswa-swami
[@w1ll1am23]: https://github.com/w1ll1am23
-[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
+[alarm_control_panel.manual_mqtt docs]: /components/manual_mqtt/
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
[alarmdecoder docs]: /components/alarmdecoder/
[alexa docs]: /components/alexa/
[automation.state docs]: /docs/automation/trigger/#state-trigger
[automation.time docs]: /docs/automation/trigger/#time-trigger
-[binary_sensor.ping docs]: /components/binary_sensor.ping/
+[binary_sensor.ping docs]: /components/ping#binary-sensor
[binary_sensor.rest docs]: /components/binary_sensor.rest/
-[binary_sensor.velbus docs]: /components/binary_sensor.velbus/
+[binary_sensor.velbus docs]: /components/velbus
[binary_sensor.xiaomi docs]: /components/binary_sensor.xiaomi_aqara/
-[camera.onvif docs]: /components/camera.onvif/
-[climate.maxcube docs]: /components/climate.maxcube/
+[camera.onvif docs]: /components/onvif
+[climate.maxcube docs]: /components/maxcube
[conversation docs]: /components/conversation/
[cover docs]: /components/cover/
-[cover.lutron_caseta docs]: /components/cover.lutron_caseta/
+[cover.lutron_caseta docs]: /components/lutron_caseta/
[cover.xiaomi docs]: /components/cover.xiaomi_aqara/
-[cover.zwave docs]: /components/cover.zwave/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
+[cover.zwave docs]: /components/zwave#cover
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.snmp docs]: /components/snmp
[emulated_hue docs]: /components/emulated_hue/
-[fan.wink docs]: /components/fan.wink/
+[fan.wink docs]: /components/wink#fan
[hassio docs]: /hassio/
[history docs]: /components/history/
[homematic docs]: /components/homematic/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
[intent docs]: /developers/intent/
[intent_script docs]: /components/intent_script/
[knx docs]: /components/knx/
[light docs]: /components/light/
-[light.decora docs]: /components/light.decora/
-[light.hue docs]: /components/light.hue/
-[light.lifx docs]: /components/light.lifx/
-[light.tplink docs]: /components/light.tplink/
+[light.decora docs]: /components/decora
+[light.hue docs]: /components/hue
+[light.lifx docs]: /components/lifx
+[light.tplink docs]: /components/tplink
[light.velbus docs]: /components/velbus/
-[light.wink docs]: /components/light.wink/
+[light.wink docs]: /components/wink#light
[light.xiaomi docs]: /components/light.xiaomi_aqara/
-[light.zha docs]: /components/light.zha/
+[light.zha docs]: /components/zha
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.kodi docs]: /components/media_player.kodi/
+[media_player.cast docs]: /components/cast
+[media_player.kodi docs]: /components/kodi
[mqtt docs]: /components/mqtt/
-[notify.html5 docs]: /components/notify.html5/
-[notify.twitter docs]: /components/notify.twitter/
+[notify.html5 docs]: /components/html5
+[notify.twitter docs]: /components/twitter
[python_script docs]: /components/python_script/
[recorder docs]: /components/recorder/
-[remote.harmony docs]: /components/remote.harmony/
-[sensor.citybikes docs]: /components/sensor.citybikes/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.google_wifi docs]: /components/sensor.google_wifi/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
+[remote.harmony docs]: /components/harmony
+[sensor.citybikes docs]: /components/citybikes
+[sensor.dht docs]: /components/dht
+[sensor.fitbit docs]: /components/fitbit
+[sensor.google_wifi docs]: /components/google_wifi
+[sensor.hydroquebec docs]: /components/hydroquebec
[sensor.knx docs]: /components/sensor.knx/
-[sensor.lyft docs]: /components/sensor.lyft/
-[sensor.octoprint docs]: /components/sensor.octoprint/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.uk_transport docs]: /components/sensor.uk_transport/
+[sensor.lyft docs]: /components/lyft
+[sensor.octoprint docs]: /components/octoprint#sensor
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.uk_transport docs]: /components/uk_transport
[sensor.xiaomi docs]: /components/sensor.xiaomi_aqara/
[shopping_list docs]: /components/shopping_list/
[snips docs]: /components/snips/
[statsd docs]: /components/statsd/
-[switch.fritzdect docs]: /components/switch.fritzdect/
+[switch.fritzdect docs]: /components/fritzdect
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.wink docs]: /components/switch.wink/
+[switch.wink docs]: /components/wink#switch
[switch.xiaomi docs]: /components/switch.xiaomi_aqara/
[switch.xiaomi_vacuum docs]: /components/vacuum.xiaomi_miio/
[velbus docs]: /components/velbus/
-[weather.yweather docs]: /components/weather.yweather/
+[weather.yweather docs]: /components/yweather
[wink docs]: /components/wink/
-[xiaomi docs]: /components/xiaomi/
+[xiaomi docs]: /components/xiaomi_aqara
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e
@@ -416,7 +416,7 @@ conversation:
[#8754]: https://github.com/home-assistant/home-assistant/pull/8754
[#8755]: https://github.com/home-assistant/home-assistant/pull/8755
[@n8henrie]: https://github.com/n8henrie
-[light.tradfri docs]: /components/light.tradfri/
-[media_player.pioneer docs]: /components/media_player.pioneer/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[light.tradfri docs]: /components/tradfri
+[media_player.pioneer docs]: /components/pioneer
+[telegram_bot.webhooks docs]: /components/webhooks
[zwave docs]: /components/zwave/
diff --git a/source/_posts/2017-08-12-release-51.markdown b/source/_posts/2017-08-12-release-51.markdown
index 2d6f96a2796..281c8b62ff4 100644
--- a/source/_posts/2017-08-12-release-51.markdown
+++ b/source/_posts/2017-08-12-release-51.markdown
@@ -353,105 +353,105 @@ vacuum:
[@viswa-swami]: https://github.com/viswa-swami
[@w1ll1am23]: https://github.com/w1ll1am23
[@wickerwaka]: https://github.com/wickerwaka
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
[alexa docs]: /components/alexa/
[asterisk_mbox docs]: /components/asterisk_mbox/
[automation docs]: /components/automation/
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.command_line docs]: /components/binary_sensor.command_line/
+[binary_sensor.command_line docs]: /components/command_line
[binary_sensor.rest docs]: /components/binary_sensor.rest/
-[binary_sensor.zwave docs]: /components/binary_sensor.zwave/
-[camera.foscam docs]: /components/camera.foscam/
+[binary_sensor.zwave docs]: /components/zwave
+[camera.foscam docs]: /components/foscam
[climate docs]: /components/climate/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.tado docs]: /components/climate.tado/
+[climate.honeywell docs]: /components/honeywell
+[climate.tado docs]: /components/tado
[config.zwave docs]: /components/config.zwave/
-[cover.lutron_caseta docs]: /components/cover.lutron_caseta/
-[cover.rpi_gpio docs]: /components/cover.rpi_gpio/
-[device_tracker.huawei_router docs]: /components/device_tracker.huawei_router/
+[cover.lutron_caseta docs]: /components/lutron_caseta/
+[cover.rpi_gpio docs]: /components/rpi_gpio#cover
+[device_tracker.huawei_router docs]: /components/huawei_router
[dyson docs]: /components/dyson/
[emulated_hue docs]: /components/emulated_hue/
-[fan.dyson docs]: /components/fan.dyson/
+[fan.dyson docs]: /components/dyson#fan
[group docs]: /components/group/
[history docs]: /components/history/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[influxdb docs]: /components/influxdb/
[insteon_plm docs]: /components/insteon_plm/
-[light.decora_wifi docs]: /components/light.decora_wifi/
-[light.flux_led docs]: /components/light.flux_led/
-[light.lifx docs]: /components/light.lifx/
-[light.mochad docs]: /components/light.mochad/
-[light.osramlightify docs]: /components/light.osramlightify/
-[lock.nuki docs]: /components/lock.nuki/
+[light.decora_wifi docs]: /components/decora_wifi/
+[light.flux_led docs]: /components/flux_led
+[light.lifx docs]: /components/lifx
+[light.mochad docs]: /components/mochad#light
+[light.osramlightify docs]: /components/osramlightify
+[lock.nuki docs]: /components/nuki
[lutron_caseta docs]: /components/lutron_caseta/
[mailbox.demo docs]: /components/demo/
[mailbox.demo.txt docs]: /components/demo/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.russound_rio docs]: /components/media_player.russound_rio/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[notify.pushbullet docs]: /components/notify.pushbullet/
-[notify.xmpp docs]: /components/notify.xmpp/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.cast docs]: /components/cast
+[media_player.directv docs]: /components/directv
+[media_player.kodi docs]: /components/kodi
+[media_player.mpd docs]: /components/mpd
+[media_player.russound_rio docs]: /components/russound_rio
+[media_player.sonos docs]: /components/sonos
+[media_player.squeezebox docs]: /components/squeezebox
+[notify.pushbullet docs]: /components/pushbullet
+[notify.xmpp docs]: /components/xmpp
[recorder docs]: /components/recorder/
[recorder.migration docs]: /components/recorder.migration/
[recorder.models docs]: /components/recorder.models/
[recorder.purge docs]: /components/recorder.purge/
[recorder.util docs]: /components/recorder.util/
[remote docs]: /components/remote/
-[remote.apple_tv docs]: /components/remote.apple_tv/
+[remote.apple_tv docs]: /components/apple_tv#remote
[remote.demo docs]: /components/remote.demo/
-[remote.harmony docs]: /components/remote.harmony/
-[remote.itach docs]: /components/remote.itach/
-[remote.kira docs]: /components/remote.kira/
+[remote.harmony docs]: /components/harmony
+[remote.itach docs]: /components/itach
+[remote.kira docs]: /components/kira
[rflink docs]: /components/rflink/
-[scene.lutron_caseta docs]: /components/scene.lutron_caseta/
+[scene.lutron_caseta docs]: /components/lutron#scene_caseta/
[sensor.asterisk_mbox docs]: /components/sensor.asterisk_mbox/
[sensor.buienradar docs]: /components/sensor.buienradar/
[sensor.command_line docs]: /components/sensor.command_line/
-[sensor.dyson docs]: /components/sensor.dyson/
-[sensor.efergy docs]: /components/sensor.efergy/
-[sensor.eight_sleep docs]: /components/sensor.eight_sleep/
-[sensor.geizhals docs]: /components/sensor.geizhals/
-[sensor.google_wifi docs]: /components/sensor.google_wifi/
-[sensor.lastfm docs]: /components/sensor.lastfm/
+[sensor.dyson docs]: /components/dyson#sensor
+[sensor.efergy docs]: /components/efergy
+[sensor.eight_sleep docs]: /components/eight_sleep
+[sensor.geizhals docs]: /components/geizhals
+[sensor.google_wifi docs]: /components/google_wifi
+[sensor.lastfm docs]: /components/lastfm
[sensor.neato docs]: /components/neato/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.pocketcasts docs]: /components/sensor.pocketcasts/
-[sensor.radarr docs]: /components/sensor.radarr/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.sabnzbd docs]: /components/sensor.sabnzbd/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.sonarr docs]: /components/sensor.sonarr/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.supervisord docs]: /components/sensor.supervisord/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.vasttrafik docs]: /components/sensor.vasttrafik/
-[sensor.yr docs]: /components/sensor.yr/
-[sensor.zamg docs]: /components/sensor.zamg/
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.pocketcasts docs]: /components/pocketcasts
+[sensor.radarr docs]: /components/radarr
+[sensor.rest docs]: /components/rest
+[sensor.sabnzbd docs]: /components/sabnzbd
+[sensor.shodan docs]: /components/shodan
+[sensor.sonarr docs]: /components/sonarr
+[sensor.statistics docs]: /components/statistics
+[sensor.supervisord docs]: /components/supervisord
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.vasttrafik docs]: /components/vasttrafik
+[sensor.yr docs]: /components/yr
+[sensor.zamg docs]: /components/zamg#sensor
[switch.command_line docs]: /components/switch.command_line/
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.neato docs]: /components/switch.neato/
-[switch.rachio docs]: /components/switch.rachio/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.wink docs]: /components/switch.wink/
+[switch.neato docs]: /components/neato#switch
+[switch.rachio docs]: /components/rachio#switch
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.wink docs]: /components/wink#switch
[switch.xiaomi_vacuum docs]: /components/vacuum.xiaomi_miio/
[telegram_bot docs]: /components/telegram_bot/
[updater docs]: /components/updater/
[vacuum docs]: /components/vacuum/
[vacuum.demo docs]: /components/vacuum.demo/
-[vacuum.dyson docs]: /components/vacuum.dyson/
-[vacuum.roomba docs]: /components/vacuum.roomba/
+[vacuum.dyson docs]: /components/dyson#vacuum
+[vacuum.roomba docs]: /components/roomba
[vacuum.xiaomi docs]: /components/vacuum.xiaomi_miio/
-[weather.buienradar docs]: /components/weather.buienradar/
-[weather.yweather docs]: /components/weather.yweather/
-[weather.zamg docs]: /components/weather.zamg/
+[weather.buienradar docs]: /components/buienradar
+[weather.yweather docs]: /components/yweather
+[weather.zamg docs]: /components/zamg#weather
[wink docs]: /components/wink/
[zwave docs]: /components/zwave/
[forum]: https://community.home-assistant.io/
diff --git a/source/_posts/2017-08-26-release-0-52.markdown b/source/_posts/2017-08-26-release-0-52.markdown
index 83016a7350e..100988ff27b 100644
--- a/source/_posts/2017-08-26-release-0-52.markdown
+++ b/source/_posts/2017-08-26-release-0-52.markdown
@@ -303,78 +303,78 @@ usps:
[@w1ll1am23]: https://github.com/w1ll1am23
[abode docs]: /components/abode/
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
-[binary_sensor.abode docs]: /components/binary_sensor.abode/
+[alarm_control_panel.abode docs]: /components/abode
+[alarm_control_panel.egardia docs]: /components/egardia
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
+[binary_sensor.abode docs]: /components/abode#binary-sensor
[binary_sensor.mysensors docs]: /components/binary_sensor.mysensors/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.workday docs]: /components/workday
[climate.mysensors docs]: /components/climate.mysensors/
[config docs]: /components/config/
[configurator docs]: /components/configurator/
[cover.mysensors docs]: /components/cover.mysensors/
[cover.template docs]: /components/cover.template/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
+[device_tracker.automatic docs]: /components/automatic
[device_tracker.mysensors docs]: /components/device_tracker.mysensors/
[ecobee docs]: /components/ecobee/
[emulated_hue.upnp docs]: /components/emulated_hue.upnp/
[envisalink docs]: /components/envisalink/
-[fan.isy994 docs]: /components/fan.isy994/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
+[fan.isy994 docs]: /components/isy994
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
[insteon_plm docs]: /components/insteon_plm/
-[light.decora_wifi docs]: /components/light.decora_wifi/
-[light.flux_led docs]: /components/light.flux_led/
-[light.hue docs]: /components/light.hue/
-[light.lifx docs]: /components/light.lifx/
+[light.decora_wifi docs]: /components/decora_wifi/
+[light.flux_led docs]: /components/flux_led
+[light.hue docs]: /components/hue
+[light.lifx docs]: /components/lifx
[light.mysensors docs]: /components/light.mysensors/
-[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
-[light.tplink docs]: /components/light.tplink/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.nello docs]: /components/lock.nello/
+[light.rpi_gpio_pwm docs]: /components/rpi_gpio_pwm
+[light.tplink docs]: /components/tplink
+[light.yeelight docs]: /components/yeelight
+[lock.nello docs]: /components/nello
[media_extractor docs]: /components/media_extractor/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.snapcast docs]: /components/media_player.snapcast/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.mpd docs]: /components/mpd
+[media_player.onkyo docs]: /components/onkyo
+[media_player.snapcast docs]: /components/snapcast
+[media_player.spotify docs]: /components/spotify
+[media_player.squeezebox docs]: /components/squeezebox
+[media_player.webostv docs]: /components/webostv#media-player
[mysensors docs]: /components/mysensors/
-[notify.discord docs]: /components/notify.discord/
-[notify.hipchat docs]: /components/notify.hipchat/
+[notify.discord docs]: /components/discord
+[notify.hipchat docs]: /components/hipchat
[notify.mysensors docs]: /components/notify.mysensors/
-[notify.prowl docs]: /components/notify.prowl/
-[notify.pushbullet docs]: /components/notify.pushbullet/
-[notify.pushover docs]: /components/notify.pushover/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.slack docs]: /components/notify.slack/
+[notify.prowl docs]: /components/prowl
+[notify.pushbullet docs]: /components/pushbullet
+[notify.pushover docs]: /components/pushover
+[notify.sendgrid docs]: /components/sendgrid
+[notify.slack docs]: /components/slack
[octoprint docs]: /components/octoprint/
[prometheus docs]: /components/prometheus/
[script docs]: /components/script/
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.cert_expiry docs]: /components/sensor.cert_expiry/
-[sensor.eliqonline docs]: /components/sensor.eliqonline/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.fritzbox_callmonitor docs]: /components/sensor.fritzbox_callmonitor/
-[sensor.geizhals docs]: /components/sensor.geizhals/
+[sensor.cert_expiry docs]: /components/cert_expiry
+[sensor.eliqonline docs]: /components/eliqonline
+[sensor.fitbit docs]: /components/fitbit
+[sensor.fritzbox_callmonitor docs]: /components/fritzbox#sensor_callmonitor/
+[sensor.geizhals docs]: /components/geizhals
[sensor.ios docs]: /components/sensor.ios/
-[sensor.london_air docs]: /components/sensor.london_air/
+[sensor.london_air docs]: /components/london_air
[sensor.mysensors docs]: /components/sensor.mysensors/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.octoprint docs]: /components/sensor.octoprint/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.uk_transport docs]: /components/sensor.uk_transport/
-[sensor.version docs]: /components/sensor.version/
-[sensor.worldtidesinfo docs]: /components/sensor.worldtidesinfo/
+[sensor.netdata docs]: /components/netdata
+[sensor.octoprint docs]: /components/octoprint#sensor
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.uk_transport docs]: /components/uk_transport
+[sensor.version docs]: /components/version
+[sensor.worldtidesinfo docs]: /components/worldtidesinfo
[switch.mqtt docs]: /components/switch.mqtt/
[switch.mysensors docs]: /components/switch.mysensors/
-[switch.pilight docs]: /components/switch.pilight/
-[switch.rainmachine docs]: /components/switch.rainmachine/
+[switch.pilight docs]: /components/pilight#switch
+[switch.rainmachine docs]: /components/rainmachine#switch
[switch.xiaomi docs]: /components/switch.xiaomi_aqara/
-[weather.buienradar docs]: /components/weather.buienradar/
-[xiaomi docs]: /components/xiaomi/
+[weather.buienradar docs]: /components/buienradar
+[xiaomi docs]: /components/xiaomi_aqara
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e
@@ -388,6 +388,6 @@ usps:
[#9191]: https://github.com/home-assistant/home-assistant/pull/9191
[@foxel]: https://github.com/foxel
[@sdague]: https://github.com/sdague
-[camera.foscam docs]: /components/camera.foscam/
-[climate.ecobee docs]: /components/climate.ecobee/
-[device_tracker.icloud docs]: /components/device_tracker.icloud/
+[camera.foscam docs]: /components/foscam
+[climate.ecobee docs]: /components/ecobee
+[device_tracker.icloud docs]: /components/icloud
diff --git a/source/_posts/2017-09-09-release-53.markdown b/source/_posts/2017-09-09-release-53.markdown
index cba211cb236..955d5984510 100644
--- a/source/_posts/2017-09-09-release-53.markdown
+++ b/source/_posts/2017-09-09-release-53.markdown
@@ -92,7 +92,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
* `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
* `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
-```
+```yaml
frontend:
extra_html_url:
- /local/custom_ui/state-card-custom-ui.html
@@ -348,20 +348,20 @@ frontend:
[@w1ll1am23]: https://github.com/w1ll1am23
[@zabuldon]: https://github.com/zabuldon
[abode docs]: /components/abode/
-[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
-[binary_sensor.abode docs]: /components/binary_sensor.abode/
-[binary_sensor.bayesian docs]: /components/binary_sensor.bayesian/
-[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
-[binary_sensor.homematic docs]: /components/binary_sensor.homematic/
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
-[binary_sensor.tesla docs]: /components/binary_sensor.tesla/
+[alarm_control_panel.abode docs]: /components/abode
+[alarm_control_panel.egardia docs]: /components/egardia
+[alarm_control_panel.manual docs]: /components/manual
+[binary_sensor.abode docs]: /components/abode#binary-sensor
+[binary_sensor.bayesian docs]: /components/bayesian
+[binary_sensor.hikvision docs]: /components/hikvision
+[binary_sensor.homematic docs]: /components/homematic
+[binary_sensor.ring docs]: /components/ring#binary-sensor
+[binary_sensor.tesla docs]: /components/tesla
[binary_sensor.xiaomi docs]: /components/binary_sensor.xiaomi_aqara/
[binary_sensor.knx docs]: /components/binary_sensor.knx/
-[climate.homematic docs]: /components/climate.homematic/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.tesla docs]: /components/climate.tesla/
+[climate.homematic docs]: /components/homematic
+[climate.honeywell docs]: /components/honeywell
+[climate.tesla docs]: /components/tesla
[climate.knx docs]: /components/climate.knx/
[cloud docs]: /components/cloud/
[cloud.cloud_api docs]: /components/cloud.cloud_api/
@@ -370,73 +370,73 @@ frontend:
[config docs]: /components/config/
[config.customize docs]: /components/config.customize/
[counter docs]: /components/counter/
-[cover.abode docs]: /components/cover.abode/
-[cover.homematic docs]: /components/cover.homematic/
-[cover.lutron_caseta docs]: /components/cover.lutron_caseta/
+[cover.abode docs]: /components/abode
+[cover.homematic docs]: /components/homematic
+[cover.lutron_caseta docs]: /components/lutron_caseta/
[cover.rfxtrx docs]: /components/cover.rfxtrx/
[cover.xiaomi docs]: /components/cover.xiaomi_aqara/
[cover.knx docs]: /components/cover.knx/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
-[device_tracker.geofency docs]: /components/device_tracker.geofency/
-[device_tracker.tesla docs]: /components/device_tracker.tesla/
-[device_tracker.volvooncall docs]: /components/device_tracker.volvooncall/
+[device_tracker.automatic docs]: /components/automatic
+[device_tracker.geofency docs]: /components/geofency
+[device_tracker.tesla docs]: /components/tesla
+[device_tracker.volvooncall docs]: /components/volvooncall
[hdmi_cec docs]: /components/hdmi_cec/
[homematic docs]: /components/homematic/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
[input_text docs]: /components/input_text/
[insteon_plm docs]: /components/insteon_plm/
-[light.homematic docs]: /components/light.homematic/
-[light.hue docs]: /components/light.hue/
-[light.lutron_caseta docs]: /components/light.lutron_caseta/
+[light.homematic docs]: /components/homematic
+[light.hue docs]: /components/hue
+[light.lutron_caseta docs]: /components/lutron_caseta/
[light.mqtt docs]: /components/light.mqtt/
[light.xiaomi_philipslight docs]: /components/light.xiaomi_miio/
[light.rfxtrx docs]: /components/light.rfxtrx/
-[light.tradfri docs]: /components/light.tradfri/
+[light.tradfri docs]: /components/tradfri
[light.knx docs]: /components/light.knx/
-[light.zha docs]: /components/light.zha/
-[lock.abode docs]: /components/lock.abode/
-[lock.nello docs]: /components/lock.nello/
-[lock.tesla docs]: /components/lock.tesla/
+[light.zha docs]: /components/zha
+[lock.abode docs]: /components/abode
+[lock.nello docs]: /components/nello
+[lock.tesla docs]: /components/tesla
[lutron_caseta docs]: /components/lutron_caseta/
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.yamaha_musiccast docs]: /components/media_player.yamaha_musiccast/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.directv docs]: /components/directv
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
+[media_player.yamaha_musiccast docs]: /components/yamaha_musiccast/
[mycroft docs]: /components/mycroft/
[mysensors docs]: /components/mysensors/
-[notify.discord docs]: /components/notify.discord/
-[notify.mycroft docs]: /components/notify.mycroft/
-[notify.pushbullet docs]: /components/notify.pushbullet/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.twitter docs]: /components/notify.twitter/
-[notify.xmpp docs]: /components/notify.xmpp/
+[notify.discord docs]: /components/discord
+[notify.mycroft docs]: /components/mycroft
+[notify.pushbullet docs]: /components/pushbullet
+[notify.sendgrid docs]: /components/sendgrid
+[notify.twitter docs]: /components/twitter
+[notify.xmpp docs]: /components/xmpp
[rfxtrx docs]: /components/rfxtrx/
-[sensor.airvisual docs]: /components/sensor.airvisual/
+[sensor.airvisual docs]: /components/airvisual
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.dht docs]: /components/sensor.dht/
+[sensor.dht docs]: /components/dht
[sensor.dwdwarnapp docs]: /components/dwd_weather_warnings/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.mopar docs]: /components/sensor.mopar/
-[sensor.radarr docs]: /components/sensor.radarr/
-[sensor.season docs]: /components/sensor.season/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.sonarr docs]: /components/sensor.sonarr/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tank_utility docs]: /components/sensor.tank_utility/
-[sensor.tesla docs]: /components/sensor.tesla/
-[sensor.worldtidesinfo docs]: /components/sensor.worldtidesinfo/
+[sensor.fitbit docs]: /components/fitbit
+[sensor.homematic docs]: /components/homematic
+[sensor.mopar docs]: /components/mopar
+[sensor.radarr docs]: /components/radarr
+[sensor.season docs]: /components/season
+[sensor.shodan docs]: /components/shodan
+[sensor.sonarr docs]: /components/sonarr
+[sensor.statistics docs]: /components/statistics
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tank_utility docs]: /components/tank_utility
+[sensor.tesla docs]: /components/tesla
+[sensor.worldtidesinfo docs]: /components/worldtidesinfo
[sensor.knx docs]: /components/sensor.knx/
[snips docs]: /components/snips/
-[switch.abode docs]: /components/switch.abode/
-[switch.digitalloggers docs]: /components/switch.digitalloggers/
-[switch.dlink docs]: /components/switch.dlink/
-[switch.homematic docs]: /components/switch.homematic/
-[switch.lutron_caseta docs]: /components/switch.lutron_caseta/
+[switch.abode docs]: /components/abode#switch
+[switch.digitalloggers docs]: /components/digitalloggers
+[switch.dlink docs]: /components/dlink
+[switch.homematic docs]: /components/homematic
+[switch.lutron_caseta docs]: /components/lutron_caseta/
[switch.rest docs]: /components/switch.rest/
[switch.rfxtrx docs]: /components/switch.rfxtrx/
[switch.knx docs]: /components/switch.knx/
@@ -444,7 +444,7 @@ frontend:
[tesla docs]: /components/tesla/
[tradfri docs]: /components/tradfri/
[volvooncall docs]: /components/volvooncall/
-[xiaomi docs]: /components/xiaomi/
+[xiaomi docs]: /components/xiaomi_aqara
[knx docs]: /components/knx/
[zwave docs]: /components/zwave/
[forum]: https://community.home-assistant.io/
@@ -454,5 +454,5 @@ frontend:
[#9380]: https://github.com/home-assistant/home-assistant/pull/9380
[#9387]: https://github.com/home-assistant/home-assistant/pull/9387
[@viswa-swami]: https://github.com/viswa-swami
-[camera.foscam docs]: /components/camera.foscam/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[camera.foscam docs]: /components/foscam
+[sensor.wunderground docs]: /components/wunderground
diff --git a/source/_posts/2017-09-23-release-54.markdown b/source/_posts/2017-09-23-release-54.markdown
index 7d45bd28d0e..4ab1e19f937 100644
--- a/source/_posts/2017-09-23-release-54.markdown
+++ b/source/_posts/2017-09-23-release-54.markdown
@@ -275,75 +275,75 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@vickyg3]: https://github.com/vickyg3
[@wickerwaka]: https://github.com/wickerwaka
[abode docs]: /components/abode/
-[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
-[alarm_control_panel.satel_integra docs]: /components/alarm_control_panel.satel_integra/
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
+[alarm_control_panel.abode docs]: /components/abode
+[alarm_control_panel.manual docs]: /components/manual
+[alarm_control_panel.satel_integra docs]: /components/satel_integra
+[alarm_control_panel.spc docs]: /components/spc
[alexa docs]: /components/alexa/
[api docs]: /components/api/
[apple_tv docs]: /components/apple_tv/
[axis docs]: /components/axis/
-[binary_sensor.abode docs]: /components/binary_sensor.abode/
-[binary_sensor.bayesian docs]: /components/binary_sensor.bayesian/
+[binary_sensor.abode docs]: /components/abode#binary-sensor
+[binary_sensor.bayesian docs]: /components/bayesian
[binary_sensor.knx docs]: /components/binary_sensor.knx/
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.satel_integra docs]: /components/binary_sensor.satel_integra/
-[binary_sensor.spc docs]: /components/binary_sensor.spc/
-[calendar.todoist docs]: /components/calendar.todoist/
-[camera.abode docs]: /components/camera.abode/
-[camera.axis docs]: /components/camera.axis/
-[camera.doorbird docs]: /components/camera.doorbird/
-[camera.uvc docs]: /components/camera.uvc/
+[binary_sensor.satel_integra docs]: /components/satel_integra
+[binary_sensor.spc docs]: /components/spc#binary-sensor
+[calendar.todoist docs]: /components/todoist
+[camera.abode docs]: /components/abode
+[camera.axis docs]: /components/axis
+[camera.doorbird docs]: /components/doorbird#camera
+[camera.uvc docs]: /components/uvc
[climate.knx docs]: /components/climate.knx/
[config.zwave docs]: /components/config.zwave/
-[cover.abode docs]: /components/cover.abode/
+[cover.abode docs]: /components/abode
[cover.knx docs]: /components/cover.knx/
-[device_tracker.aruba docs]: /components/device_tracker.aruba/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
-[device_tracker.keenetic_ndms2 docs]: /components/device_tracker.keenetic_ndms2/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
+[device_tracker.aruba docs]: /components/aruba
+[device_tracker.automatic docs]: /components/automatic
+[device_tracker.keenetic_ndms2 docs]: /components/keenetic_ndms2
+[device_tracker.owntracks docs]: /components/owntracks
[doorbird docs]: /components/doorbird/
[emulated_hue docs]: /components/emulated_hue/
[homematic docs]: /components/homematic/
[input_boolean docs]: /components/input_boolean/
-[light.abode docs]: /components/light.abode/
+[light.abode docs]: /components/abode#light
[light.knx docs]: /components/light.knx/
-[light.lifx docs]: /components/light.lifx/
+[light.lifx docs]: /components/lifx
[light.template docs]: /components/light.template/
-[light.tradfri docs]: /components/light.tradfri/
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_philipslight docs]: /components/light.xiaomi_miio/
-[lock.abode docs]: /components/lock.abode/
-[media_player.apple_tv docs]: /components/media_player.apple_tv/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.russound_rio docs]: /components/media_player.russound_rio/
-[media_player.universal docs]: /components/media_player.universal/
+[lock.abode docs]: /components/abode
+[media_player.apple_tv docs]: /components/apple_tv
+[media_player.mpd docs]: /components/mpd
+[media_player.russound_rio docs]: /components/russound_rio
+[media_player.universal docs]: /components/universal
[mqtt_statestream docs]: /components/mqtt_statestream/
-[notify.html5 docs]: /components/notify.html5/
-[notify.xmpp docs]: /components/notify.xmpp/
+[notify.html5 docs]: /components/html5
+[notify.xmpp docs]: /components/xmpp
[python_script docs]: /components/python_script/
[satel_integra docs]: /components/satel_integra/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.citybikes docs]: /components/sensor.citybikes/
-[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
-[sensor.dte_energy_bridge docs]: /components/sensor.dte_energy_bridge/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.homematic docs]: /components/sensor.homematic/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.citybikes docs]: /components/citybikes
+[sensor.coinmarketcap docs]: /components/coinmarketcap
+[sensor.dte_energy_bridge docs]: /components/dte_energy_bridge
+[sensor.fitbit docs]: /components/fitbit
+[sensor.homematic docs]: /components/homematic
[sensor.knx docs]: /components/sensor.knx/
-[sensor.mopar docs]: /components/sensor.mopar/
-[sensor.onewire docs]: /components/sensor.onewire/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.worxlandroid docs]: /components/sensor.worxlandroid/
-[switch.abode docs]: /components/switch.abode/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.doorbird docs]: /components/switch.doorbird/
+[sensor.mopar docs]: /components/mopar
+[sensor.onewire docs]: /components/onewire
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.worxlandroid docs]: /components/worxlandroid
+[switch.abode docs]: /components/abode#switch
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.doorbird docs]: /components/doorbird#switch
[switch.knx docs]: /components/switch.knx/
[switch.rest docs]: /components/switch.rest/
-[switch.telnet docs]: /components/switch.telnet/
+[switch.telnet docs]: /components/telnet
[vacuum docs]: /components/vacuum/
[vacuum.mqtt docs]: /components/vacuum.mqtt/
[vacuum.xiaomi docs]: /components/vacuum.xiaomi_miio/
-[xiaomi docs]: /components/xiaomi/
+[xiaomi docs]: /components/xiaomi_aqara
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zwave docs]: /components/zwave/
[forum]: https://community.home-assistant.io/
diff --git a/source/_posts/2017-09-25-new-hassio-build-system.markdown b/source/_posts/2017-09-25-new-hassio-build-system.markdown
index ae6b2e6597b..c36f833953d 100644
--- a/source/_posts/2017-09-25-new-hassio-build-system.markdown
+++ b/source/_posts/2017-09-25-new-hassio-build-system.markdown
@@ -29,13 +29,13 @@ As an add-on developer, you will only have to change one line in your template t
Old:
-```
+```dockerfile
FROM %%BASE_IMAGE%%
```
New:
-```
+```dockerfile
ARG BUILD_FROM
FROM $BUILD_FROM
```
diff --git a/source/_posts/2017-10-07-release-55.markdown b/source/_posts/2017-10-07-release-55.markdown
index 9fffcee77de..8a862c40ce4 100644
--- a/source/_posts/2017-10-07-release-55.markdown
+++ b/source/_posts/2017-10-07-release-55.markdown
@@ -304,23 +304,23 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@vickyg3]: https://github.com/vickyg3
[@w1ll1am23]: https://github.com/w1ll1am23
[abode docs]: /components/abode/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
-[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/
+[alarm_control_panel.egardia docs]: /components/egardia
+[alarm_control_panel.manual_mqtt docs]: /components/manual_mqtt/
[alexa.smart_home docs]: /components/alexa/
[apple_tv docs]: /components/apple_tv/
[arlo docs]: /components/arlo/
-[binary_sensor.raincloud docs]: /components/binary_sensor.raincloud/
-[binary_sensor.threshold docs]: /components/binary_sensor.threshold/
-[binary_sensor.wink docs]: /components/binary_sensor.wink/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.synology docs]: /components/camera.synology/
-[climate.ecobee docs]: /components/climate.ecobee/
+[binary_sensor.raincloud docs]: /components/raincloud#binary-sensor
+[binary_sensor.threshold docs]: /components/threshold
+[binary_sensor.wink docs]: /components/wink#binary-sensor
+[camera.arlo docs]: /components/arlo#camera
+[camera.synology docs]: /components/synology
+[climate.ecobee docs]: /components/ecobee
[climate.mqtt docs]: /components/climate.mqtt/
[cover.mqtt docs]: /components/cover.mqtt/
[cover.rflink docs]: /components/cover.rflink/
[demo docs]: /components/demo/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.owntracks_http docs]: /components/device_tracker.owntracks_http/
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.owntracks_http docs]: /components/owntracks_http/
[duckdns docs]: /components/duckdns/
[ecobee docs]: /components/ecobee/
[emulated_hue docs]: /components/emulated_hue/
@@ -330,50 +330,50 @@ Experiencing issues introduced by this release? Please report them in our [issue
[history docs]: /components/history/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[influxdb docs]: /components/influxdb/
[input_datetime docs]: /components/input_datetime/
[input_number docs]: /components/input_number/
-[light.flux_led docs]: /components/light.flux_led/
+[light.flux_led docs]: /components/flux_led
[light.rflink docs]: /components/light.rflink/
-[light.tradfri docs]: /components/light.tradfri/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.wink docs]: /components/lock.wink/
+[light.tradfri docs]: /components/tradfri
+[light.yeelight docs]: /components/yeelight
+[lock.wink docs]: /components/wink#lock
[media_extractor docs]: /components/media_extractor/
-[media_player.apple_tv docs]: /components/media_player.apple_tv/
-[media_player.webostv docs]: /components/media_player.webostv/
-[media_player.yamaha_musiccast docs]: /components/media_player.yamaha_musiccast/
+[media_player.apple_tv docs]: /components/apple_tv
+[media_player.webostv docs]: /components/webostv#media-player
+[media_player.yamaha_musiccast docs]: /components/yamaha_musiccast/
[mqtt_statestream docs]: /components/mqtt_statestream/
-[notify.clicksendaudio docs]: /components/notify.clicksendaudio/
-[notify.discord docs]: /components/notify.discord/
-[notify.facebook docs]: /components/notify.facebook/
-[notify.simplepush docs]: /components/notify.simplepush/
+[notify.clicksendaudio docs]: /components/clicksendaudio/
+[notify.discord docs]: /components/discord
+[notify.facebook docs]: /components/facebook
+[notify.simplepush docs]: /components/simplepush
[raincloud docs]: /components/raincloud/
[raspihats docs]: /components/raspihats/
[recorder docs]: /components/recorder/
-[remote.itach docs]: /components/remote.itach/
+[remote.itach docs]: /components/itach
[rflink docs]: /components/rflink/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.comed_hourly_pricing docs]: /components/sensor.comed_hourly_pricing/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.geo_rss_events docs]: /components/sensor.geo_rss_events/
-[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
-[sensor.imap docs]: /components/sensor.imap/
-[sensor.lyft docs]: /components/sensor.lyft/
-[sensor.onewire docs]: /components/sensor.onewire/
-[sensor.pvoutput docs]: /components/sensor.pvoutput/
-[sensor.raincloud docs]: /components/sensor.raincloud/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.thethingsnetwork docs]: /components/sensor.thethingsnetwork/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.vera docs]: /components/sensor.vera/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.comed_hourly_pricing docs]: /components/comed_hourly_pricing
+[sensor.dsmr docs]: /components/dsmr
+[sensor.geo_rss_events docs]: /components/geo_rss_events
+[sensor.google_travel_time docs]: /components/google_travel_time
+[sensor.imap docs]: /components/imap
+[sensor.lyft docs]: /components/lyft
+[sensor.onewire docs]: /components/onewire
+[sensor.pvoutput docs]: /components/pvoutput
+[sensor.raincloud docs]: /components/raincloud#sensor
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.thethingsnetwork docs]: /components/thethingsnetwork#sensor
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.vera docs]: /components/vera#sensor
+[sensor.wunderground docs]: /components/wunderground
[splunk docs]: /components/splunk/
-[switch.abode docs]: /components/switch.abode/
-[switch.raincloud docs]: /components/switch.raincloud/
+[switch.abode docs]: /components/abode#switch
+[switch.raincloud docs]: /components/raincloud#switch
[switch.rflink docs]: /components/switch.rflink/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.tplink docs]: /components/tplink
[thethingsnetwork docs]: /components/thethingsnetwork/
[tradfri docs]: /components/tradfri/
[upnp docs]: /components/upnp/
@@ -397,9 +397,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@passie]: https://github.com/passie
[@pschmitt]: https://github.com/pschmitt
[@snjoetw]: https://github.com/snjoetw
-[camera.synology docs]: /components/camera.synology/
+[camera.synology docs]: /components/synology
[cover.rflink docs]: /components/cover.rflink/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[google docs]: /components/google/
-[light.tradfri docs]: /components/light.tradfri/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
+[device_tracker.owntracks docs]: /components/owntracks
+[google docs]: /components/google_translate
+[light.tradfri docs]: /components/tradfri
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
diff --git a/source/_posts/2017-10-14-templating-date-time.markdown b/source/_posts/2017-10-14-templating-date-time.markdown
index 9adc0466720..5a902306388 100644
--- a/source/_posts/2017-10-14-templating-date-time.markdown
+++ b/source/_posts/2017-10-14-templating-date-time.markdown
@@ -10,8 +10,8 @@ og_image: /images/blog/2017-10-template/social.png
This [Pull Request](https://github.com/home-assistant/home-assistant/pull/9868) shows in a clear way what happens if the documentation is not as good as it should be. In short, it's about [Templating](/docs/configuration/templating/) and how people start to think about creative ways to solve it if it's not documented. Let's assume that we want the current year. There are a couple of options available to do that:
-- Query [JSON Test](http://date.jsontest.com/) with a [`rest` sensor](/components/sensor.rest/) and a `value_template:`.
-- Use a [`time_date` sensor ](/components/sensor.time_date/) and a template {% raw %}`{{ strptime(states('sensor.date'), '%Y-%m-%d').year }}`{% endraw %}.
+- Query [JSON Test](http://date.jsontest.com/) with a [`rest` sensor](/components/rest) and a `value_template:`.
+- Use a [`time_date` sensor ](/components/time_date) and a template {% raw %}`{{ strptime(states('sensor.date'), '%Y-%m-%d').year }}`{% endraw %}.
- Write a script in language X and use it with the [`command` sensor](/components/sensor.command_line/) or use `date +"%Y"` as a `command:`.
diff --git a/source/_posts/2017-10-21-release-56.markdown b/source/_posts/2017-10-21-release-56.markdown
index 5155efd3eef..4cc5a98866c 100644
--- a/source/_posts/2017-10-21-release-56.markdown
+++ b/source/_posts/2017-10-21-release-56.markdown
@@ -416,41 +416,41 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@ziotibia81]: https://github.com/ziotibia81
[__init__ docs]: /components/__init__/
[abode docs]: /components/abode/
-[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
+[alarm_control_panel.arlo docs]: /components/arlo
+[alarm_control_panel.egardia docs]: /components/egardia
[alexa.smart_home docs]: /components/alexa.smart_home/
[arlo docs]: /components/arlo/
[automation.event docs]: /docs/automation/trigger/#event-trigger
[automation.numeric_state docs]: /docs/automation/trigger/#numeric-state-trigger
[automation.state docs]: /docs/automation/trigger/#state-trigger
-[binary_sensor.iss docs]: /components/binary_sensor.iss/
-[binary_sensor.netatmo docs]: /components/binary_sensor.netatmo/
-[binary_sensor.skybell docs]: /components/binary_sensor.skybell/
+[binary_sensor.iss docs]: /components/iss
+[binary_sensor.netatmo docs]: /components/netatmo#binary-sensor
+[binary_sensor.skybell docs]: /components/skybell#binary-sensor
[binary_sensor.template docs]: /components/binary_sensor.template/
-[binary_sensor.tesla docs]: /components/binary_sensor.tesla/
-[binary_sensor.wink docs]: /components/binary_sensor.wink/
+[binary_sensor.tesla docs]: /components/tesla
+[binary_sensor.wink docs]: /components/wink#binary-sensor
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[camera.arlo docs]: /components/camera.arlo/
+[camera.arlo docs]: /components/arlo#camera
[camera.ffmpeg docs]: /components/camera.ffmpeg/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.skybell docs]: /components/camera.skybell/
-[camera.synology docs]: /components/camera.synology/
-[camera.yi docs]: /components/camera.yi/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
+[camera.onvif docs]: /components/onvif
+[camera.skybell docs]: /components/skybell#camera
+[camera.synology docs]: /components/synology
+[camera.yi docs]: /components/yi
+[climate.eq3btsmart docs]: /components/eq3btsmart
[climate.knx docs]: /components/climate.knx/
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.tesla docs]: /components/climate.tesla/
-[climate.toon docs]: /components/climate.toon/
+[climate.tesla docs]: /components/tesla
+[climate.toon docs]: /components/toon#climate
[cloud.iot docs]: /components/cloud/
[cover.rflink docs]: /components/cover.rflink/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.fritz docs]: /components/device_tracker.fritz/
-[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
-[device_tracker.netgear docs]: /components/device_tracker.netgear/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
-[device_tracker.upc_connect docs]: /components/device_tracker.upc_connect/
+[device_tracker.fritz docs]: /components/fritz
+[device_tracker.mikrotik docs]: /components/mikrotik
+[device_tracker.netgear docs]: /components/netgear
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.unifi docs]: /components/unifi
+[device_tracker.upc_connect docs]: /components/upc_connect
[enocean docs]: /components/enocean/
[ffmpeg docs]: /components/ffmpeg/
[google_assistant docs]: /components/google_assistant/
@@ -458,86 +458,86 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematic docs]: /components/homematic/
[http docs]: /components/http/
[knx docs]: /components/knx/
-[light.hue docs]: /components/light.hue/
-[light.mqtt_json docs]: /components/light.mqtt_json/
-[light.osramlightify docs]: /components/light.osramlightify/
-[light.skybell docs]: /components/light.skybell/
+[light.hue docs]: /components/hue
+[light.mqtt_json docs]: /components/light.mqtt
+[light.osramlightify docs]: /components/osramlightify
+[light.skybell docs]: /components/skybell#light
[light.template docs]: /components/light.template/
-[light.tplink docs]: /components/light.tplink/
-[light.tradfri docs]: /components/light.tradfri/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.tesla docs]: /components/lock.tesla/
+[light.tplink docs]: /components/tplink
+[light.tradfri docs]: /components/tradfri
+[light.yeelight docs]: /components/yeelight
+[lock.tesla docs]: /components/tesla
[map docs]: /components/map/
[media_extractor docs]: /components/media_extractor/
-[media_player.denon docs]: /components/media_player.denon/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.dunehd docs]: /components/media_player.dunehd/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
-[media_player.monoprice docs]: /components/media_player.monoprice/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.denon docs]: /components/denon
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.dunehd docs]: /components/dunehd
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
+[media_player.monoprice docs]: /components/monoprice
+[media_player.plex docs]: /components/plex#media-player
+[media_player.yamaha docs]: /components/yamaha
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[namecheapdns docs]: /components/namecheapdns/
-[notify.clicksend_tts docs]: /components/notify.clicksend_tts/
-[notify.html5 docs]: /components/notify.html5/
-[notify.rocketchat docs]: /components/notify.rocketchat/
-[notify.xmpp docs]: /components/notify.xmpp/
+[notify.clicksend_tts docs]: /components/clicksend_tts/
+[notify.html5 docs]: /components/html5
+[notify.rocketchat docs]: /components/rocketchat
+[notify.xmpp docs]: /components/xmpp
[python_script docs]: /components/python_script/
[raincloud docs]: /components/raincloud/
-[sensor.abode docs]: /components/sensor.abode/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.android_ip_webcam docs]: /components/sensor.android_ip_webcam/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.arwn docs]: /components/sensor.arwn/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.fritzbox_callmonitor docs]: /components/sensor.fritzbox_callmonitor/
-[sensor.fritzbox_netmonitor docs]: /components/sensor.fritzbox_netmonitor/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.imap docs]: /components/sensor.imap/
+[sensor.abode docs]: /components/abode
+[sensor.airvisual docs]: /components/airvisual
+[sensor.android_ip_webcam docs]: /components/android_ip_webcam#sensor
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.arwn docs]: /components/arwn
+[sensor.darksky docs]: /components/darksky
+[sensor.fitbit docs]: /components/fitbit
+[sensor.fritzbox_callmonitor docs]: /components/fritzbox#sensor_callmonitor/
+[sensor.fritzbox_netmonitor docs]: /components/fritzbox#sensor_netmonitor/
+[sensor.glances docs]: /components/glances
+[sensor.imap docs]: /components/imap
[sensor.ios docs]: /components/sensor.ios/
-[sensor.mqtt_room docs]: /components/sensor.mqtt_room/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.raincloud docs]: /components/sensor.raincloud/
-[sensor.ring docs]: /components/sensor.ring/
-[sensor.serial docs]: /components/sensor.serial/
-[sensor.skybell docs]: /components/sensor.skybell/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.steam_online docs]: /components/sensor.steam_online/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tesla docs]: /components/sensor.tesla/
-[sensor.toon docs]: /components/sensor.toon/
-[sensor.tradfri docs]: /components/sensor.tradfri/
-[sensor.transmission docs]: /components/sensor.transmission/
-[sensor.travisci docs]: /components/sensor.travisci/
-[sensor.uptime docs]: /components/sensor.uptime/
-[sensor.vera docs]: /components/sensor.vera/
+[sensor.mqtt_room docs]: /components/mqtt_room
+[sensor.netdata docs]: /components/netdata
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.raincloud docs]: /components/raincloud#sensor
+[sensor.ring docs]: /components/ring#sensor
+[sensor.serial docs]: /components/serial
+[sensor.skybell docs]: /components/skybell#sensor
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.statistics docs]: /components/statistics
+[sensor.steam_online docs]: /components/steam_online
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tesla docs]: /components/tesla
+[sensor.toon docs]: /components/toon
+[sensor.tradfri docs]: /components/tradfri
+[sensor.transmission docs]: /components/transmission
+[sensor.travisci docs]: /components/travisci
+[sensor.uptime docs]: /components/uptime
+[sensor.vera docs]: /components/vera#sensor
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.zha docs]: /components/zha
[shiftr docs]: /components/shiftr/
[skybell docs]: /components/skybell/
-[switch.flux docs]: /components/switch.flux/
-[switch.fritzdect docs]: /components/switch.fritzdect/
-[switch.hikvisioncam docs]: /components/switch.hikvisioncam/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.skybell docs]: /components/switch.skybell/
-[switch.tesla docs]: /components/switch.tesla/
-[switch.toon docs]: /components/switch.toon/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.wink docs]: /components/switch.wink/
+[switch.flux docs]: /components/flux
+[switch.fritzdect docs]: /components/fritzdect
+[switch.hikvisioncam docs]: /components/hikvisioncam
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.skybell docs]: /components/skybell#switch
+[switch.tesla docs]: /components/tesla
+[switch.toon docs]: /components/toon
+[switch.tplink docs]: /components/tplink
+[switch.wink docs]: /components/wink#switch
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[telegram_bot docs]: /components/telegram_bot/
[tesla docs]: /components/tesla/
[toon docs]: /components/toon/
[tradfri docs]: /components/tradfri/
[vacuum docs]: /components/vacuum/
-[vacuum.dyson docs]: /components/vacuum.dyson/
+[vacuum.dyson docs]: /components/dyson#vacuum
[vacuum.mqtt docs]: /components/vacuum.mqtt/
[vera docs]: /components/vera/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[wink docs]: /components/wink/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
diff --git a/source/_posts/2017-10-23-simple-analog-sensor.markdown b/source/_posts/2017-10-23-simple-analog-sensor.markdown
index ffe23d63f7b..027715ae754 100644
--- a/source/_posts/2017-10-23-simple-analog-sensor.markdown
+++ b/source/_posts/2017-10-23-simple-analog-sensor.markdown
@@ -9,9 +9,9 @@ og_image: /images/blog/2017-10-analog-sensor/analog-sensor.png
---
-This blog post is about building a super simple analog sensor for Home Assistant. The physical sensor will send the data over its virtual serial port as it will be connected over USB. The concept is similar to the [TEMPer USB](/components/sensor.temper/) devices. The attatched sensor type to the microcontroller can be any kind of sensor which gives you an analog signal from brightness over soil moisture to temperature.
+This blog post is about building a super simple analog sensor for Home Assistant. The physical sensor will send the data over its virtual serial port as it will be connected over USB. The concept is similar to the [TEMPer USB](/components/temper) devices. The attatched sensor type to the microcontroller can be any kind of sensor which gives you an analog signal from brightness over soil moisture to temperature.
-The microcontroller will only transfer the voltage of an analog input pin which will be between 0 and 1024. Home Assistant will use the new [`serial`](/components/sensor.serial/) sensor platform to read the data and perform actions to convert the raw reading into a real measurement. This means that you don't have to adjust the code of your microcontroller if you change the attached sensor type.
+The microcontroller will only transfer the voltage of an analog input pin which will be between 0 and 1024. Home Assistant will use the new [`serial`](/components/serial) sensor platform to read the data and perform actions to convert the raw reading into a real measurement. This means that you don't have to adjust the code of your microcontroller if you change the attached sensor type.
@@ -65,7 +65,7 @@ void loop() {
To make it work with other boards simply use [`Serial.begin(115200);`](https://www.arduino.cc/en/Reference/Serial) and [`Serial.println(reading);`](https://www.arduino.cc/en/Serial/Println).
-If you connect with a tool like `minicom` to your system's serial port `/dev/ttyACM0`, then you will get the data. To use the sensor with Home Assistant the [`serial`](/components/sensor.serial/) sensor platform needs to be set up.
+If you connect with a tool like `minicom` to your system's serial port `/dev/ttyACM0`, then you will get the data. To use the sensor with Home Assistant the [`serial`](/components/serial) sensor platform needs to be set up.
```yaml
sensor:
@@ -73,7 +73,7 @@ sensor:
port: /dev/ttyACM0
```
-The physical sensor reads the current voltage of the pin. A [template sensor](/components/sensor.template/) takes the reading and converts it into a measurement. The data sheet of the sensor unit usually contains details about the involved calculations.
+The physical sensor reads the current voltage of the pin. A [template sensor](/components/template) takes the reading and converts it into a measurement. The data sheet of the sensor unit usually contains details about the involved calculations.
{% raw %}
```yaml
diff --git a/source/_posts/2017-10-28-demo.markdown b/source/_posts/2017-10-28-demo.markdown
index e6b4c9972b3..656cc4a7e89 100644
--- a/source/_posts/2017-10-28-demo.markdown
+++ b/source/_posts/2017-10-28-demo.markdown
@@ -44,7 +44,7 @@ switch:
## `random` platforms
-Till now the frontend is static. Nothing is changing over time. Starting with 0.57 we ship a [`random` binary sensor](/components/random/#binary-sensor) platform in addition to the already available [`random` sensor](/components/sensor.random/).
+Till now the frontend is static. Nothing is changing over time. Starting with 0.57 we ship a [`random` binary sensor](/components/random/#binary-sensor) platform in addition to the already available [`random` sensor](/components/random#sensor).
By adding those platform to your `configuration.yaml` file, your demo will become more interactive.
diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown
index db2ac97f1fa..b2733743dc1 100644
--- a/source/_posts/2017-11-04-release-57.markdown
+++ b/source/_posts/2017-11-04-release-57.markdown
@@ -520,37 +520,37 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@craigjmidwinter]: https://github.com/craigjmidwinter
[@ypollart]: https://github.com/ypollart
[@zabuldon]: https://github.com/zabuldon
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[alexa.smart_home docs]: /components/alexa.smart_home/
[api docs]: /components/api/
[automation.event docs]: /docs/automation/trigger/#event-trigger
[automation.numeric_state docs]: /docs/automation/trigger/#numeric-state-trigger
[axis docs]: /components/axis/
-[binary_sensor.axis docs]: /components/binary_sensor.axis/
-[binary_sensor.gc100 docs]: /components/binary_sensor.gc100/
-[binary_sensor.linode docs]: /components/binary_sensor.linode/
-[binary_sensor.random docs]: /components/binary_sensor.random/
+[binary_sensor.axis docs]: /components/axis#binary-sensor
+[binary_sensor.gc100 docs]: /components/gc100#binary-sensor
+[binary_sensor.linode docs]: /components/linode#binary-sensor
+[binary_sensor.random docs]: /components/random#binary-sensor
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
-[binary_sensor.tellduslive docs]: /components/binary_sensor.tellduslive/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
+[binary_sensor.ring docs]: /components/ring#binary-sensor
+[binary_sensor.tellduslive docs]: /components/tellduslive
+[binary_sensor.trend docs]: /components/trend
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[camera docs]: /components/camera/
-[camera.ring docs]: /components/camera.ring/
-[climate.ephember docs]: /components/climate.ephember/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.toon docs]: /components/climate.toon/
+[camera.ring docs]: /components/ring#camera
+[climate.ephember docs]: /components/ephember
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.honeywell docs]: /components/honeywell
+[climate.toon docs]: /components/toon#climate
[cloud docs]: /components/cloud/
[cover.template docs]: /components/cover.template/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
-[device_tracker.geofency docs]: /components/device_tracker.geofency/
-[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.automatic docs]: /components/automatic
+[device_tracker.geofency docs]: /components/geofency
+[device_tracker.mikrotik docs]: /components/mikrotik
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.ubus docs]: /components/ubus
[dialogflow docs]: /components/dialogflow/
[downloader docs]: /components/downloader/
[duckdns docs]: /components/duckdns/
@@ -562,35 +562,35 @@ Experiencing issues introduced by this release? Please report them in our [issue
[hassio docs]: /components/hassio/
[history docs]: /components/history/
[http docs]: /components/http/
-[image_processing.openalpr_local docs]: /components/image_processing.openalpr_local/
+[image_processing.openalpr_local docs]: /components/openalpr_local_local
[input_number docs]: /components/input_number/
[input_text docs]: /components/input_text/
[introduction docs]: /components/introduction/
-[light.hue docs]: /components/light.hue/
-[light.hyperion docs]: /components/light.hyperion/
+[light.hue docs]: /components/hue
+[light.hyperion docs]: /components/hyperion
[light.mqtt docs]: /components/light.mqtt/
-[light.tradfri docs]: /components/light.tradfri/
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
+[light.yeelight docs]: /components/yeelight
[linode docs]: /components/linode/
[logbook docs]: /components/logbook/
[mailbox docs]: /components/mailbox/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
-[media_player.monoprice docs]: /components/media_player.monoprice/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.russound_rnet docs]: /components/media_player.russound_rnet/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
+[media_player.monoprice docs]: /components/monoprice
+[media_player.plex docs]: /components/plex#media-player
+[media_player.russound_rnet docs]: /components/russound_rnet
+[media_player.sonos docs]: /components/sonos
+[media_player.yamaha docs]: /components/yamaha
[mqtt_statestream docs]: /components/mqtt_statestream/
[namecheapdns docs]: /components/namecheapdns/
[no_ip docs]: /components/no_ip/
[notify.aws_sns docs]: /components/notify.aws_sns/
[notify.aws_sqs docs]: /components/notify.aws_sqs/
-[notify.clickatell docs]: /components/notify.clickatell/
-[notify.sendgrid docs]: /components/notify.sendgrid/
-[notify.yessssms docs]: /components/notify.yessssms/
+[notify.clickatell docs]: /components/clickatell
+[notify.sendgrid docs]: /components/sendgrid
+[notify.yessssms docs]: /components/yessssms
[panel_custom docs]: /components/panel_custom/
[persistent_notification docs]: /components/persistent_notification/
[plant docs]: /components/plant/
@@ -598,37 +598,37 @@ Experiencing issues introduced by this release? Please report them in our [issue
[remember_the_milk docs]: /components/remember_the_milk/
[rfxtrx docs]: /components/rfxtrx/
[ring docs]: /components/ring/
-[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
-[sensor.emoncms docs]: /components/sensor.emoncms/
-[sensor.fail2ban docs]: /components/sensor.fail2ban/
-[sensor.gitter docs]: /components/sensor.gitter/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
-[sensor.hddtemp docs]: /components/sensor.hddtemp/
-[sensor.imap docs]: /components/sensor.imap/
-[sensor.irish_rail_transport docs]: /components/sensor.irish_rail_transport/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
-[sensor.nederlandse_spoorwegen docs]: /components/sensor.nederlandse_spoorwegen/
-[sensor.radarr docs]: /components/sensor.radarr/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.ring docs]: /components/sensor.ring/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.sonarr docs]: /components/sensor.sonarr/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.toon docs]: /components/sensor.toon/
-[sensor.uk_transport docs]: /components/sensor.uk_transport/
-[sensor.whois docs]: /components/sensor.whois/
+[sensor.coinmarketcap docs]: /components/coinmarketcap
+[sensor.emoncms docs]: /components/emoncms
+[sensor.fail2ban docs]: /components/fail2ban
+[sensor.gitter docs]: /components/gitter
+[sensor.glances docs]: /components/glances
+[sensor.google_travel_time docs]: /components/google_travel_time
+[sensor.hddtemp docs]: /components/hddtemp
+[sensor.imap docs]: /components/imap
+[sensor.irish_rail_transport docs]: /components/irish_rail_transport
+[sensor.lastfm docs]: /components/lastfm
+[sensor.luftdaten docs]: /components/luftdaten#sensor
+[sensor.nederlandse_spoorwegen docs]: /components/nederlandse_spoorwegen
+[sensor.radarr docs]: /components/radarr
+[sensor.rest docs]: /components/rest
+[sensor.ring docs]: /components/ring#sensor
+[sensor.scrape docs]: /components/scrape
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.sonarr docs]: /components/sonarr
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.toon docs]: /components/toon
+[sensor.uk_transport docs]: /components/uk_transport
+[sensor.whois docs]: /components/whois
[shopping_list docs]: /components/shopping_list/
-[switch.deluge docs]: /components/switch.deluge/
-[switch.flux docs]: /components/switch.flux/
-[switch.gc100 docs]: /components/switch.gc100/
-[switch.snmp docs]: /components/switch.snmp/
+[switch.deluge docs]: /components/deluge#switch
+[switch.flux docs]: /components/flux
+[switch.gc100 docs]: /components/gc100#switch
+[switch.snmp docs]: /components/snmp#switch
[switch.template docs]: /components/switch.template/
-[switch.toon docs]: /components/switch.toon/
+[switch.toon docs]: /components/toon
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tellduslive docs]: /components/tellduslive/
[tellstick docs]: /components/tellstick/
@@ -636,8 +636,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[timer docs]: /components/timer/
[toon docs]: /components/toon/
[tradfri docs]: /components/tradfri/
-[tts.amazon_polly docs]: /components/tts.amazon_polly/
-[tts.microsoft docs]: /components/tts.microsoft/
+[tts.amazon_polly docs]: /components/amazon_polly
+[tts.microsoft docs]: /components/microsoft
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[vera docs]: /components/vera/
[wink docs]: /components/wink/
@@ -648,7 +648,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#10428]: https://github.com/home-assistant/home-assistant/pull/10428
[@stefan-jonasson]: https://github.com/stefan-jonasson
[@tchellomello]: https://github.com/tchellomello
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
-[camera.ring docs]: /components/camera.ring/
-[sensor.ring docs]: /components/sensor.ring/
+[binary_sensor.ring docs]: /components/ring#binary-sensor
+[camera.ring docs]: /components/ring#camera
+[sensor.ring docs]: /components/ring#sensor
[tellstick docs]: /components/tellstick/
diff --git a/source/_posts/2017-11-10-ttn-with-mqtt.markdown b/source/_posts/2017-11-10-ttn-with-mqtt.markdown
index cb674c274fb..d29426fa504 100644
--- a/source/_posts/2017-11-10-ttn-with-mqtt.markdown
+++ b/source/_posts/2017-11-10-ttn-with-mqtt.markdown
@@ -186,7 +186,7 @@ Store it in `/custom_components/sensor/mqtt_ttn.py` and it will hand
Now create the [`mqtt_ttn` sensor](/components/sensor.mqtt/) entry for your device.
-```
+```yaml
sensor:
- platform: mqtt_ttn
name: TTN Sensor
diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown
index a530ab85fcf..9ac113c31d7 100644
--- a/source/_posts/2017-11-18-release-58.markdown
+++ b/source/_posts/2017-11-18-release-58.markdown
@@ -31,7 +31,7 @@ Thanks to [@Andrey-git] we now are able to serve the frontend in modern JavaScri
To try it once, add `?latest` to your Home Assistant bookmark. To make it the default on your installation, update your config to look like this:
-```
+```yaml
frontend:
javascript_version: latest
```
@@ -380,22 +380,22 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@craigjmidwinter]: https://github.com/craigjmidwinter
[@ziotibia81]: https://github.com/ziotibia81
[abode docs]: /components/abode/
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.spc docs]: /components/spc
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[apple_tv docs]: /components/apple_tv/
[arlo docs]: /components/arlo/
[axis docs]: /components/axis/
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.aurora docs]: /components/binary_sensor.aurora/
-[binary_sensor.spc docs]: /components/binary_sensor.spc/
-[binary_sensor.vultr docs]: /components/binary_sensor.vultr/
-[camera.arlo docs]: /components/camera.arlo/
+[binary_sensor.aurora docs]: /components/aurora
+[binary_sensor.spc docs]: /components/spc#binary-sensor
+[binary_sensor.vultr docs]: /components/vultr#binary-sensor
+[camera.arlo docs]: /components/arlo#camera
[climate docs]: /components/climate/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.homematic docs]: /components/climate.homematic/
+[climate.eq3btsmart docs]: /components/eq3btsmart
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.homematic docs]: /components/homematic
[climate.knx docs]: /components/climate.knx/
-[climate.wink docs]: /components/climate.wink/
+[climate.wink docs]: /components/wink#climate
[cloud docs]: /components/cloud/
[cloud.const docs]: /components/cloud.const/
[config.zwave docs]: /components/config.zwave/
@@ -403,12 +403,12 @@ Experiencing issues introduced by this release? Please report them in our [issue
[counter docs]: /components/counter/
[cover.mqtt docs]: /components/cover.mqtt/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.hitron_coda docs]: /components/device_tracker.hitron_coda/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.tile docs]: /components/device_tracker.tile/
-[device_tracker.tplink docs]: /components/device_tracker.tplink/
-[device_tracker.upc_connect docs]: /components/device_tracker.upc_connect/
+[device_tracker.hitron_coda docs]: /components/hitron_coda
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.tile docs]: /components/tile
+[device_tracker.tplink docs]: /components/tplink
+[device_tracker.upc_connect docs]: /components/upc_connect
[downloader docs]: /components/downloader/
[gc100 docs]: /components/gc100/
[google_assistant.smart_home docs]: /components/google_assistant
@@ -418,65 +418,65 @@ Experiencing issues introduced by this release? Please report them in our [issue
[knx docs]: /components/knx/
[lametric docs]: /components/lametric/
[light docs]: /components/light/
-[light.tradfri docs]: /components/light.tradfri/
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
[lutron_caseta docs]: /components/lutron_caseta/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.snapcast docs]: /components/media_player.snapcast/
-[media_player.universal docs]: /components/media_player.universal/
-[media_player.webostv docs]: /components/media_player.webostv/
-[media_player.yamaha_musiccast docs]: /components/media_player.yamaha_musiccast/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.snapcast docs]: /components/snapcast
+[media_player.universal docs]: /components/universal
+[media_player.webostv docs]: /components/webostv#media-player
+[media_player.yamaha_musiccast docs]: /components/yamaha_musiccast/
[mqtt docs]: /components/mqtt/
[mqtt.discovery docs]: /components/mqtt.discovery/
[mqtt.server docs]: /components/mqtt.server/
[mqtt_statestream docs]: /components/mqtt_statestream/
[neato docs]: /components/neato/
[no_ip docs]: /components/no_ip/
-[notify.apns docs]: /components/notify.apns/
-[notify.free_mobile docs]: /components/notify.free_mobile/
-[notify.html5 docs]: /components/notify.html5/
-[notify.lametric docs]: /components/notify.lametric/
-[notify.simplepush docs]: /components/notify.simplepush/
-[notify.telegram docs]: /components/notify.telegram/
+[notify.apns docs]: /components/apns
+[notify.free_mobile docs]: /components/free_mobile
+[notify.html5 docs]: /components/html5
+[notify.lametric docs]: /components/lametric
+[notify.simplepush docs]: /components/simplepush
+[notify.telegram docs]: /components/telegram
[python_script docs]: /components/python_script/
[remote docs]: /components/remote/
-[remote.harmony docs]: /components/remote.harmony/
+[remote.harmony docs]: /components/harmony
[ring docs]: /components/ring/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.haveibeenpwned docs]: /components/sensor.haveibeenpwned/
-[sensor.lacrosse docs]: /components/sensor.lacrosse/
-[sensor.london_air docs]: /components/sensor.london_air/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.haveibeenpwned docs]: /components/haveibeenpwned
+[sensor.lacrosse docs]: /components/lacrosse
+[sensor.london_air docs]: /components/london_air
[sensor.modbus docs]: /components/sensor.modbus/
[sensor.neato docs]: /components/neato/
-[sensor.nederlandse_spoorwegen docs]: /components/sensor.nederlandse_spoorwegen/
-[sensor.pyload docs]: /components/sensor.pyload/
-[sensor.serial docs]: /components/sensor.serial/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.viaggiatreno docs]: /components/sensor.viaggiatreno/
-[sensor.vultr docs]: /components/sensor.vultr/
-[sensor.wunderground docs]: /components/sensor.wunderground/
-[sensor.yweather docs]: /components/sensor.yweather/
-[sensor.zamg docs]: /components/sensor.zamg/
+[sensor.nederlandse_spoorwegen docs]: /components/nederlandse_spoorwegen
+[sensor.pyload docs]: /components/pyload
+[sensor.serial docs]: /components/serial
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.viaggiatreno docs]: /components/viaggiatreno
+[sensor.vultr docs]: /components/vultr#sensor
+[sensor.wunderground docs]: /components/wunderground
+[sensor.yweather docs]: /components/yweather
+[sensor.zamg docs]: /components/zamg#sensor
[spc docs]: /components/spc/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.hikvisioncam docs]: /components/switch.hikvisioncam/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.hikvisioncam docs]: /components/hikvisioncam
[switch.modbus docs]: /components/switch.modbus/
-[switch.neato docs]: /components/switch.neato/
-[switch.snmp docs]: /components/switch.snmp/
+[switch.neato docs]: /components/neato#switch
+[switch.snmp docs]: /components/snmp#switch
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[system_log docs]: /components/system_log/
[telegram_bot docs]: /components/telegram_bot/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
+[telegram_bot.polling docs]: /components/polling
[tradfri docs]: /components/tradfri/
[tts docs]: /components/tts/
-[tts.google docs]: /components/tts.google/
-[tts.yandextts docs]: /components/tts.yandextts/
-[vacuum.neato docs]: /components/vacuum.neato/
+[tts.google docs]: /components/google_translate
+[tts.yandextts docs]: /components/yandextts
+[vacuum.neato docs]: /components/neato#vacuum
[verisure docs]: /components/verisure/
[volvooncall docs]: /components/volvooncall/
[vultr docs]: /components/vultr/
@@ -492,7 +492,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@etsinko]: https://github.com/etsinko
[@tinloaf]: https://github.com/tinloaf
[@titilambert]: https://github.com/titilambert
-[remote.harmony docs]: /components/remote.harmony/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
-[sensor.time_date docs]: /components/sensor.time_date/
-[weather.yweather docs]: /components/weather.yweather/
+[remote.harmony docs]: /components/harmony
+[sensor.hydroquebec docs]: /components/hydroquebec
+[sensor.time_date docs]: /components/time_date
+[weather.yweather docs]: /components/yweather
diff --git a/source/_posts/2017-12-03-release-59.markdown b/source/_posts/2017-12-03-release-59.markdown
index 7cbf3b7f210..30325165b7b 100644
--- a/source/_posts/2017-12-03-release-59.markdown
+++ b/source/_posts/2017-12-03-release-59.markdown
@@ -323,29 +323,29 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@zBart]: https://github.com/zBart
[@zhujisheng]: https://github.com/zhujisheng
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
+[alarm_control_panel.arlo docs]: /components/arlo
[alarm_control_panel.demo docs]: /components/demo/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[amcrest docs]: /components/amcrest/
[automation.state docs]: /docs/automation/trigger/#state-trigger
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.homematic docs]: /components/binary_sensor.homematic/
-[camera.amcrest docs]: /components/camera.amcrest/
-[camera.ring docs]: /components/camera.ring/
+[binary_sensor.homematic docs]: /components/homematic
+[camera.amcrest docs]: /components/amcrest
+[camera.ring docs]: /components/ring#camera
[climate docs]: /components/climate/
-[climate.ecobee docs]: /components/climate.ecobee/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.hive docs]: /components/climate.hive/
-[climate.honeywell docs]: /components/climate.honeywell/
+[climate.ecobee docs]: /components/ecobee
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.hive docs]: /components/hive#climate
+[climate.honeywell docs]: /components/honeywell
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.radiotherm docs]: /components/climate.radiotherm/
-[climate.sensibo docs]: /components/climate.sensibo/
+[climate.radiotherm docs]: /components/radiotherm
+[climate.sensibo docs]: /components/sensibo
[cloud docs]: /components/cloud/
[config.group docs]: /components/config/
[configurator docs]: /components/configurator/
[conversation docs]: /components/conversation/
-[cover.tahoma docs]: /components/cover.tahoma/
-[device_tracker.unifi_direct docs]: /components/device_tracker.unifi_direct/
+[cover.tahoma docs]: /components/tahoma
+[device_tracker.unifi_direct docs]: /components/unifi_direct/
[dominos docs]: /components/dominos/
[doorbird docs]: /components/doorbird/
[ecobee docs]: /components/ecobee/
@@ -357,37 +357,37 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematic docs]: /components/homematic/
[influxdb docs]: /components/influxdb/
[knx docs]: /components/knx/
-[light.blinkt docs]: /components/light.blinkt/
-[light.hive docs]: /components/light.hive/
-[light.hue docs]: /components/light.hue/
-[light.tradfri docs]: /components/light.tradfri/
+[light.blinkt docs]: /components/blinkt
+[light.hive docs]: /components/hive#light
+[light.hue docs]: /components/hue
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
+[light.yeelight docs]: /components/yeelight
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
+[media_player.cast docs]: /components/cast
[netatmo docs]: /components/netatmo/
-[notify.lametric docs]: /components/notify.lametric/
-[notify.pushbullet docs]: /components/notify.pushbullet/
+[notify.lametric docs]: /components/lametric
+[notify.pushbullet docs]: /components/pushbullet
[ring docs]: /components/ring/
-[sensor.amcrest docs]: /components/sensor.amcrest/
-[sensor.currencylayer docs]: /components/sensor.currencylayer/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
-[sensor.fastdotcom docs]: /components/sensor.fastdotcom/
-[sensor.fritzbox_netmonitor docs]: /components/sensor.fritzbox_netmonitor/
-[sensor.hddtemp docs]: /components/sensor.hddtemp/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.sabnzbd docs]: /components/sensor.sabnzbd/
-[sensor.serial docs]: /components/sensor.serial/
-[sensor.tahoma docs]: /components/sensor.tahoma/
-[sensor.tellduslive docs]: /components/sensor.tellduslive/
-[sensor.tellstick docs]: /components/sensor.tellstick/
-[sensor.whois docs]: /components/sensor.whois/
-[sensor.wunderground docs]: /components/sensor.wunderground/
-[sensor.yweather docs]: /components/sensor.yweather/
+[sensor.amcrest docs]: /components/amcrest
+[sensor.currencylayer docs]: /components/currencylayer
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
+[sensor.fastdotcom docs]: /components/fastdotcom
+[sensor.fritzbox_netmonitor docs]: /components/fritzbox#sensor_netmonitor/
+[sensor.hddtemp docs]: /components/hddtemp
+[sensor.hive docs]: /components/hive#sensor
+[sensor.homematic docs]: /components/homematic
+[sensor.sabnzbd docs]: /components/sabnzbd
+[sensor.serial docs]: /components/serial
+[sensor.tahoma docs]: /components/tahoma
+[sensor.tellduslive docs]: /components/tellduslive
+[sensor.tellstick docs]: /components/tellstick#sensor
+[sensor.whois docs]: /components/whois
+[sensor.wunderground docs]: /components/wunderground
+[sensor.yweather docs]: /components/yweather
[shell_command docs]: /components/shell_command/
[shopping_list docs]: /components/shopping_list/
-[switch.hive docs]: /components/switch.hive/
+[switch.hive docs]: /components/hive#switch
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
@@ -395,11 +395,11 @@ Experiencing issues introduced by this release? Please report them in our [issue
[tellstick docs]: /components/tellstick/
[tradfri docs]: /components/tradfri/
[tts docs]: /components/tts/
-[tts.baidu docs]: /components/tts.baidu/
-[tts.microsoft docs]: /components/tts.microsoft/
+[tts.baidu docs]: /components/baidu
+[tts.microsoft docs]: /components/microsoft
[updater docs]: /components/updater/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
-[weather.ecobee docs]: /components/weather.ecobee/
+[weather.ecobee docs]: /components/ecobee
[zwave docs]: /components/zwave/
[#10798]: https://github.com/home-assistant/home-assistant/pull/10798
[#10923]: https://github.com/home-assistant/home-assistant/pull/10923
@@ -407,7 +407,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[#10935]: https://github.com/home-assistant/home-assistant/pull/10935
[@NovapaX]: https://github.com/NovapaX
[@wrboyce]: https://github.com/wrboyce
-[notify.nfandroidtv docs]: /components/notify.nfandroidtv/
+[notify.nfandroidtv docs]: /components/nfandroidtv
[#10941]: https://github.com/home-assistant/home-assistant/pull/10941
[#10947]: https://github.com/home-assistant/home-assistant/pull/10947
[#10950]: https://github.com/home-assistant/home-assistant/pull/10950
@@ -421,6 +421,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@w1ll1am23]: https://github.com/w1ll1am23
[@craigjmidwinter]: https://github.com/craigjmidwinter
[dominos docs]: /components/dominos/
-[media_player.cast docs]: /components/media_player.cast/
+[media_player.cast docs]: /components/cast
[tellduslive docs]: /components/tellduslive/
[wink docs]: /components/wink/
diff --git a/source/_posts/2017-12-17-release-60.markdown b/source/_posts/2017-12-17-release-60.markdown
index 16990f19fea..04da4115081 100644
--- a/source/_posts/2017-12-17-release-60.markdown
+++ b/source/_posts/2017-12-17-release-60.markdown
@@ -299,73 +299,73 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@uchagani]: https://github.com/uchagani
[@ziotibia81]: https://github.com/ziotibia81
[ads docs]: /components/ads/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
-[alarm_control_panel.ialarm docs]: /components/alarm_control_panel.ialarm/
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
-[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.egardia docs]: /components/egardia
+[alarm_control_panel.ialarm docs]: /components/ialarm
+[alarm_control_panel.manual docs]: /components/manual
+[alarm_control_panel.manual_mqtt docs]: /components/manual_mqtt/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[alarmdecoder docs]: /components/alarmdecoder/
[apple_tv docs]: /components/apple_tv/
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.ads docs]: /components/binary_sensor.ads/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
-[calendar.caldav docs]: /components/calendar.caldav/
-[camera.canary docs]: /components/camera.canary/
+[binary_sensor.ads docs]: /components/ads#binary-sensor
+[binary_sensor.isy994 docs]: /components/isy994
+[calendar.caldav docs]: /components/caldav
+[camera.canary docs]: /components/canary#camera
[canary docs]: /components/canary/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.tado docs]: /components/climate.tado/
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.tado docs]: /components/tado
[cloud docs]: /components/cloud/
[cloud.const docs]: /components/cloud.const/
[config.automation docs]: /components/config.automation/
-[cover.tellstick docs]: /components/cover.tellstick/
+[cover.tellstick docs]: /components/tellstick#cover
[device_tracker docs]: /components/device_tracker/
-[device_tracker.meraki docs]: /components/device_tracker.meraki/
+[device_tracker.meraki docs]: /components/meraki
[ecobee docs]: /components/ecobee/
[homematic docs]: /components/homematic/
[hue docs]: /components/hue/
[isy994 docs]: /components/isy994/
[keyboard_remote docs]: /components/keyboard_remote/
-[light.ads docs]: /components/light.ads/
-[light.hue docs]: /components/light.hue/
-[light.lifx docs]: /components/light.lifx/
-[light.mochad docs]: /components/light.mochad/
-[light.tplink docs]: /components/light.tplink/
-[light.tradfri docs]: /components/light.tradfri/
+[light.ads docs]: /components/ads#light
+[light.hue docs]: /components/hue
+[light.lifx docs]: /components/lifx
+[light.mochad docs]: /components/mochad#light
+[light.tplink docs]: /components/tplink
+[light.tradfri docs]: /components/tradfri
[logbook docs]: /components/logbook/
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.ue_smart_radio docs]: /components/media_player.ue_smart_radio/
-[media_player.webostv docs]: /components/media_player.webostv/
-[media_player.yamaha_musiccast docs]: /components/media_player.yamaha_musiccast/
-[media_player.ziggo_mediabox_xl docs]: /components/media_player.ziggo_mediabox_xl/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.sonos docs]: /components/sonos
+[media_player.ue_smart_radio docs]: /components/ue_smart_radio
+[media_player.webostv docs]: /components/webostv#media-player
+[media_player.yamaha_musiccast docs]: /components/yamaha_musiccast/
+[media_player.ziggo_mediabox_xl docs]: /components/ziggo_mediabox_xl
[mochad docs]: /components/mochad/
[neato docs]: /components/neato/
-[notify.html5 docs]: /components/notify.html5/
+[notify.html5 docs]: /components/html5
[prometheus docs]: /components/prometheus/
-[scene.vera docs]: /components/scene.vera/
-[sensor.ads docs]: /components/sensor.ads/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.canary docs]: /components/sensor.canary/
-[sensor.efergy docs]: /components/sensor.efergy/
-[sensor.eliqonline docs]: /components/sensor.eliqonline/
-[sensor.gearbest docs]: /components/sensor.gearbest/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
-[sensor.miflora docs]: /components/sensor.miflora/
+[scene.vera docs]: /components/vera
+[sensor.ads docs]: /components/ads#sensor
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.canary docs]: /components/canary#sensor
+[sensor.efergy docs]: /components/efergy
+[sensor.eliqonline docs]: /components/eliqonline
+[sensor.gearbest docs]: /components/gearbest
+[sensor.luftdaten docs]: /components/luftdaten#sensor
+[sensor.miflora docs]: /components/miflora
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.octoprint docs]: /components/sensor.octoprint/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.ripple docs]: /components/sensor.ripple/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tesla docs]: /components/sensor.tesla/
-[sensor.volvooncall docs]: /components/sensor.volvooncall/
+[sensor.octoprint docs]: /components/octoprint#sensor
+[sensor.rest docs]: /components/rest
+[sensor.ripple docs]: /components/ripple
+[sensor.shodan docs]: /components/shodan
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tesla docs]: /components/tesla
+[sensor.volvooncall docs]: /components/volvooncall
[snips docs]: /components/snips/
-[switch.ads docs]: /components/switch.ads/
-[switch.mochad docs]: /components/switch.mochad/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.ads docs]: /components/ads#switch
+[switch.mochad docs]: /components/mochad#switch
+[switch.tplink docs]: /components/tplink
[tellstick docs]: /components/tellstick/
[vera docs]: /components/vera/
[volvooncall docs]: /components/volvooncall/
@@ -396,11 +396,11 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@veleek]: https://github.com/veleek
[@ziotibia81]: https://github.com/ziotibia81
[alexa.smart_home docs]: /components/alexa.smart_home/
-[binary_sensor.concord232 docs]: /components/binary_sensor.concord232/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
-[calendar.caldav docs]: /components/calendar.caldav/
+[binary_sensor.concord232 docs]: /components/concord232#binary-sensor
+[binary_sensor.isy994 docs]: /components/isy994
+[calendar.caldav docs]: /components/caldav
[homematic docs]: /components/homematic/
-[light.hue docs]: /components/light.hue/
-[lock.sesame docs]: /components/lock.sesame/
-[media_player.webostv docs]: /components/media_player.webostv/
+[light.hue docs]: /components/hue
+[lock.sesame docs]: /components/sesame
+[media_player.webostv docs]: /components/webostv#media-player
[switch.modbus docs]: /components/switch.modbus/
diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown
index 239b8baceeb..846b1ace2af 100644
--- a/source/_posts/2018-01-14-release-61.markdown
+++ b/source/_posts/2018-01-14-release-61.markdown
@@ -144,7 +144,7 @@ Note however, that this feature was replaced by a new ignore_string config optio
- The `climate.set_aux_heat` service is no longer available for the Sensibo climate platform. Now call `climate.turn_on` or `climate.turn_off`. ([@andrey-git] - [#11579]) ([climate.sensibo docs]) (breaking change)
- Release 0.61.0 introduced a lazy service loading strategy that relied on all components and platforms following our naming convention. After the release we realized that not all services did, which have been addressed by this fix. This results in certain services changing names:
- ```
+ ```yaml
todoist.new_task -> calendar.todoist_new_task
snapcast.snapcast_snapshot -> media_player.snapcast_snapshot
@@ -611,63 +611,63 @@ Note however, that this feature was replaced by a new ignore_string config optio
[@w1ll1am23]: https://github.com/w1ll1am23
[@yienxu]: https://github.com/yienxu
[__init__ docs]: /components/__init__/
-[alarm_control_panel.alarmdecoder docs]: /components/alarm_control_panel.alarmdecoder/
-[alarm_control_panel.concord232 docs]: /components/alarm_control_panel.concord232/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
+[alarm_control_panel.alarmdecoder docs]: /components/alarmdecoder#alarm-control-panel
+[alarm_control_panel.concord232 docs]: /components/concord232#alarm-control-panel
+[alarm_control_panel.egardia docs]: /components/egardia
[alarmdecoder docs]: /components/alarmdecoder/
[alexa.intent docs]: /components/alexa.intent/
[alexa.smart_home docs]: /components/alexa.smart_home/
[api docs]: /components/api/
[automation.state docs]: /docs/automation/trigger/#state-trigger
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.alarmdecoder docs]: /components/binary_sensor.alarmdecoder/
-[binary_sensor.concord232 docs]: /components/binary_sensor.concord232/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
+[binary_sensor.alarmdecoder docs]: /components/alarmdecoder
+[binary_sensor.concord232 docs]: /components/concord232#binary-sensor
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.isy994 docs]: /components/isy994
[binary_sensor.knx docs]: /components/binary_sensor.knx/
[binary_sensor.rest docs]: /components/binary_sensor.rest/
[binary_sensor.template docs]: /components/binary_sensor.template/
-[binary_sensor.threshold docs]: /components/binary_sensor.threshold/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
-[camera.doorbird docs]: /components/camera.doorbird/
-[camera.uvc docs]: /components/camera.uvc/
+[binary_sensor.threshold docs]: /components/threshold
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.workday docs]: /components/workday
+[camera.doorbird docs]: /components/doorbird#camera
+[camera.uvc docs]: /components/uvc
[climate docs]: /components/climate/
-[climate.daikin docs]: /components/climate.daikin/
+[climate.daikin docs]: /components/daikin#climate
[climate.demo docs]: /components/demo/
-[climate.econet docs]: /components/climate.econet/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.hive docs]: /components/climate.hive/
-[climate.homematic docs]: /components/climate.homematic/
+[climate.econet docs]: /components/econet
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.hive docs]: /components/hive#climate
+[climate.homematic docs]: /components/homematic
[climate.knx docs]: /components/climate.knx/
-[climate.netatmo docs]: /components/climate.netatmo/
-[climate.sensibo docs]: /components/climate.sensibo/
-[climate.tado docs]: /components/climate.tado/
-[climate.touchline docs]: /components/climate.touchline/
+[climate.netatmo docs]: /components/netatmo#climate
+[climate.sensibo docs]: /components/sensibo
+[climate.tado docs]: /components/tado
+[climate.touchline docs]: /components/touchline
[cloud docs]: /components/cloud/
[cloud.auth_api docs]: /components/cloud/
[cloud.http_api docs]: /components/cloud/
[cloud.iot docs]: /components/cloud/
[coinbase docs]: /components/coinbase/
[conversation docs]: /components/conversation/
-[cover.isy994 docs]: /components/cover.isy994/
+[cover.isy994 docs]: /components/isy994
[cover.knx docs]: /components/cover.knx/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.tahoma docs]: /components/tahoma
[cover.template docs]: /components/cover.template/
[cover.xiaomi_aqara docs]: /components/cover.xiaomi_aqara/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.bluetooth_le_tracker docs]: /components/device_tracker.bluetooth_le_tracker/
-[device_tracker.bluetooth_tracker docs]: /components/device_tracker.bluetooth_tracker/
-[device_tracker.gpslogger docs]: /components/device_tracker.gpslogger/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.ping docs]: /components/device_tracker.ping/
-[device_tracker.snmp docs]: /components/device_tracker.snmp/
-[device_tracker.tile docs]: /components/device_tracker.tile/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.bluetooth_le_tracker docs]: /components/bluetooth_le_tracker
+[device_tracker.bluetooth_tracker docs]: /components/bluetooth_tracker
+[device_tracker.gpslogger docs]: /components/gpslogger
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.ping docs]: /components/ping
+[device_tracker.snmp docs]: /components/snmp
+[device_tracker.tile docs]: /components/tile
[digital_ocean docs]: /components/digital_ocean/
-[fan.insteon_local docs]: /components/fan.insteon_local/
-[fan.isy994 docs]: /components/fan.isy994/
+[fan.insteon_local docs]: /components/insteon_local/
+[fan.isy994 docs]: /components/isy994
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[google_assistant docs]: /components/google_assistant/
[google_assistant.http docs]: /components/google_assistant/
@@ -678,97 +678,97 @@ Note however, that this feature was replaced by a new ignore_string config optio
[hive docs]: /components/hive/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[input_boolean docs]: /components/input_boolean/
[input_select docs]: /components/input_select/
[insteon_local docs]: /components/insteon_local/
[isy994 docs]: /components/isy994/
[knx docs]: /components/knx/
-[light.deconz docs]: /components/light.deconz/
-[light.greenwave docs]: /components/light.greenwave/
-[light.hive docs]: /components/light.hive/
-[light.hue docs]: /components/light.hue/
-[light.iglo docs]: /components/light.iglo/
+[light.deconz docs]: /components/deconz#light
+[light.greenwave docs]: /components/greenwave
+[light.hive docs]: /components/hive#light
+[light.hue docs]: /components/hue
+[light.iglo docs]: /components/iglo
[light.insteon_local docs]: /components/insteon/
-[light.isy994 docs]: /components/light.isy994/
+[light.isy994 docs]: /components/isy994
[light.knx docs]: /components/light.knx/
-[light.lifx docs]: /components/light.lifx/
+[light.lifx docs]: /components/lifx
[light.mqtt docs]: /components/light.mqtt/
-[light.osramlightify docs]: /components/light.osramlightify/
+[light.osramlightify docs]: /components/osramlightify
[light.template docs]: /components/light.template/
-[light.tplink docs]: /components/light.tplink/
+[light.tplink docs]: /components/tplink
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.zha docs]: /components/light.zha/
-[lock.isy994 docs]: /components/lock.isy994/
+[light.zha docs]: /components/zha
+[lock.isy994 docs]: /components/isy994
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.monoprice docs]: /components/media_player.monoprice/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.cast docs]: /components/cast
+[media_player.kodi docs]: /components/kodi
+[media_player.monoprice docs]: /components/monoprice
+[media_player.plex docs]: /components/plex#media-player
+[media_player.squeezebox docs]: /components/squeezebox
+[media_player.yamaha docs]: /components/yamaha
[modbus docs]: /components/modbus/
-[notify.html5 docs]: /components/notify.html5/
-[notify.pushbullet docs]: /components/notify.pushbullet/
-[notify.webostv docs]: /components/notify.webostv/
+[notify.html5 docs]: /components/html5
+[notify.pushbullet docs]: /components/pushbullet
+[notify.webostv docs]: /components/webostv
[octoprint docs]: /components/octoprint/
[prometheus docs]: /components/prometheus/
[python_script docs]: /components/python_script/
[rainbird docs]: /components/rainbird/
[remember_the_milk docs]: /components/remember_the_milk/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.bitcoin docs]: /components/sensor.bitcoin/
-[sensor.coinbase docs]: /components/sensor.coinbase/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
-[sensor.discogs docs]: /components/sensor.discogs/
-[sensor.etherscan docs]: /components/sensor.etherscan/
-[sensor.fido docs]: /components/sensor.fido/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
-[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
-[sensor.irish_rail_transport docs]: /components/sensor.irish_rail_transport/
-[sensor.isy994 docs]: /components/sensor.isy994/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.bitcoin docs]: /components/bitcoin
+[sensor.coinbase docs]: /components/coinbase
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
+[sensor.discogs docs]: /components/discogs
+[sensor.etherscan docs]: /components/etherscan
+[sensor.fido docs]: /components/fido
+[sensor.hydroquebec docs]: /components/hydroquebec
+[sensor.imap_email_content docs]: /components/imap_email_content/
+[sensor.irish_rail_transport docs]: /components/irish_rail_transport
+[sensor.isy994 docs]: /components/isy994#sensors
[sensor.knx docs]: /components/sensor.knx/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
+[sensor.luftdaten docs]: /components/luftdaten#sensor
[sensor.metoffice docs]: /components/sensor.metoffice/
-[sensor.miflora docs]: /components/sensor.miflora/
+[sensor.miflora docs]: /components/miflora
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.plex docs]: /components/sensor.plex/
-[sensor.rainbird docs]: /components/sensor.rainbird/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.sochain docs]: /components/sensor.sochain/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.steam_online docs]: /components/sensor.steam_online/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tado docs]: /components/sensor.tado/
-[sensor.template docs]: /components/sensor.template/
-[sensor.transmission docs]: /components/sensor.transmission/
-[sensor.xbox_live docs]: /components/sensor.xbox_live/
-[sensor.zoneminder docs]: /components/sensor.zoneminder/
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.plex docs]: /components/plex#sensor
+[sensor.rainbird docs]: /components/rainbird#sensor
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.sochain docs]: /components/sochain
+[sensor.statistics docs]: /components/statistics
+[sensor.steam_online docs]: /components/steam_online
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tado docs]: /components/tado
+[sensor.template docs]: /components/template
+[sensor.transmission docs]: /components/transmission
+[sensor.xbox_live docs]: /components/xbox_live
+[sensor.zoneminder docs]: /components/zoneminder#sensor
[snips docs]: /components/snips/
[switch.insteon_local docs]: /components/insteon/
-[switch.isy994 docs]: /components/switch.isy994/
+[switch.isy994 docs]: /components/isy994
[switch.knx docs]: /components/switch.knx/
-[switch.mochad docs]: /components/switch.mochad/
-[switch.rainbird docs]: /components/switch.rainbird/
-[switch.rpi_rf docs]: /components/switch.rpi_rf/
-[switch.snmp docs]: /components/switch.snmp/
+[switch.mochad docs]: /components/mochad#switch
+[switch.rainbird docs]: /components/rainbird#switch
+[switch.rpi_rf docs]: /components/rpi_rf
+[switch.snmp docs]: /components/snmp#switch
[switch.template docs]: /components/switch.template/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.transmission docs]: /components/switch.transmission/
+[switch.tplink docs]: /components/tplink
+[switch.transmission docs]: /components/transmission
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tahoma docs]: /components/tahoma/
[telegram_bot docs]: /components/telegram_bot/
[timer docs]: /components/timer/
-[tts.baidu docs]: /components/tts.baidu/
-[tts.marytts docs]: /components/tts.marytts/
+[tts.baidu docs]: /components/baidu
+[tts.marytts docs]: /components/marytts
[updater docs]: /components/updater/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[weather.darksky docs]: /components/weather.darksky/
-[weather.openweathermap docs]: /components/weather.openweathermap/
-[weather.yweather docs]: /components/weather.yweather/
+[weather.openweathermap docs]: /components/openweathermap#weather
+[weather.yweather docs]: /components/yweather
[websocket_api docs]: /components/websocket_api/
[wemo docs]: /components/wemo/
[zigbee docs]: /components/zigbee/
@@ -783,13 +783,13 @@ Note however, that this feature was replaced by a new ignore_string config optio
[@rwa]: https://github.com/rwa
[@tinloaf]: https://github.com/tinloaf
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
-[calendar.todoist docs]: /components/calendar.todoist/
+[calendar.todoist docs]: /components/todoist
[history docs]: /components/history/
-[light.zha docs]: /components/light.zha/
-[media_player.snapcast docs]: /components/media_player.snapcast/
-[media_player.soundtouch docs]: /components/media_player.soundtouch/
+[light.zha docs]: /components/zha
+[media_player.snapcast docs]: /components/snapcast
+[media_player.soundtouch docs]: /components/soundtouch
[rfxtrx docs]: /components/rfxtrx/
-[sensor.mopar docs]: /components/sensor.mopar/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.scsgate docs]: /components/switch.scsgate/
+[sensor.mopar docs]: /components/mopar
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.scsgate docs]: /components/scsgate#switch
[zha docs]: /components/zha/
diff --git a/source/_posts/2018-01-27-release-62.markdown b/source/_posts/2018-01-27-release-62.markdown
index 08911088f3f..98c0378e351 100644
--- a/source/_posts/2018-01-27-release-62.markdown
+++ b/source/_posts/2018-01-27-release-62.markdown
@@ -385,35 +385,35 @@ Experiencing issues introduced by this release? Please report them in our [issue
[alexa docs]: /components/alexa/
[asterisk_mbox docs]: /components/asterisk_mbox/
[axis docs]: /components/axis/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.hive docs]: /components/binary_sensor.hive/
-[binary_sensor.ihc docs]: /components/binary_sensor.ihc/
-[binary_sensor.maxcube docs]: /components/binary_sensor.maxcube/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.hive docs]: /components/hive#binary-sensor
+[binary_sensor.ihc docs]: /components/ihc#binary-sensor
+[binary_sensor.maxcube docs]: /components/maxcube
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
-[binary_sensor.wink docs]: /components/binary_sensor.wink/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.wink docs]: /components/wink#binary-sensor
+[binary_sensor.workday docs]: /components/workday
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[camera.foscam docs]: /components/camera.foscam/
-[camera.onvif docs]: /components/camera.onvif/
+[camera.foscam docs]: /components/foscam
+[camera.onvif docs]: /components/onvif
[climate docs]: /components/climate/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.econet docs]: /components/climate.econet/
-[climate.ephember docs]: /components/climate.ephember/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
-[climate.hive docs]: /components/climate.hive/
-[climate.nest docs]: /components/climate.nest/
-[climate.sensibo docs]: /components/climate.sensibo/
-[climate.wink docs]: /components/climate.wink/
-[cover.homematic docs]: /components/cover.homematic/
-[cover.lutron docs]: /components/cover.lutron/
-[cover.tahoma docs]: /components/cover.tahoma/
-[cover.wink docs]: /components/cover.wink/
+[climate.daikin docs]: /components/daikin#climate
+[climate.econet docs]: /components/econet
+[climate.ephember docs]: /components/ephember
+[climate.eq3btsmart docs]: /components/eq3btsmart
+[climate.hive docs]: /components/hive#climate
+[climate.nest docs]: /components/nest#climate
+[climate.sensibo docs]: /components/sensibo
+[climate.wink docs]: /components/wink#climate
+[cover.homematic docs]: /components/homematic
+[cover.lutron docs]: /components/lutron
+[cover.tahoma docs]: /components/tahoma
+[cover.wink docs]: /components/wink#cover
[cover.xiaomi_aqara docs]: /components/cover.xiaomi_aqara/
[deconz docs]: /components/deconz/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.tomato docs]: /components/device_tracker.tomato/
-[device_tracker.unifi_direct docs]: /components/device_tracker.unifi_direct/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.tomato docs]: /components/tomato
+[device_tracker.unifi_direct docs]: /components/unifi_direct/
[ecobee docs]: /components/ecobee/
[emulated_hue docs]: /components/emulated_hue/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
@@ -426,58 +426,58 @@ Experiencing issues introduced by this release? Please report them in our [issue
[ihc.const docs]: /components/ihc.const/
[ihc.ihcdevice docs]: /components/ihc.ihcdevice/
[iota docs]: /components/iota/
-[light.deconz docs]: /components/light.deconz/
-[light.decora docs]: /components/light.decora/
-[light.flux_led docs]: /components/light.flux_led/
-[light.greenwave docs]: /components/light.greenwave/
-[light.hive docs]: /components/light.hive/
-[light.hyperion docs]: /components/light.hyperion/
-[light.ihc docs]: /components/light.ihc/
-[light.tplink docs]: /components/light.tplink/
-[light.wemo docs]: /components/light.wemo/
+[light.deconz docs]: /components/deconz#light
+[light.decora docs]: /components/decora
+[light.flux_led docs]: /components/flux_led
+[light.greenwave docs]: /components/greenwave
+[light.hive docs]: /components/hive#light
+[light.hyperion docs]: /components/hyperion
+[light.ihc docs]: /components/ihc#light
+[light.tplink docs]: /components/tplink
+[light.wemo docs]: /components/wemo
[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
[lutron docs]: /components/lutron/
[map docs]: /components/map/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.yamaha docs]: /components/media_player.yamaha/
-[notify.clicksend docs]: /components/notify.clicksend/
-[notify.prowl docs]: /components/notify.prowl/
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.sonos docs]: /components/sonos
+[media_player.yamaha docs]: /components/yamaha
+[notify.clicksend docs]: /components/clicksend
+[notify.prowl docs]: /components/prowl
[plant docs]: /components/plant/
[rfxtrx docs]: /components/rfxtrx/
[scene docs]: /components/scene/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.linux_battery docs]: /components/sensor.linux_battery/
-[sensor.bme680 docs]: /components/sensor.bme680/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.etherscan docs]: /components/sensor.etherscan/
-[sensor.fixer docs]: /components/sensor.fixer/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.ihc docs]: /components/sensor.ihc/
-[sensor.iota docs]: /components/sensor.iota/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.linux_battery docs]: /components/linux_battery
+[sensor.bme680 docs]: /components/bme680
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.etherscan docs]: /components/etherscan
+[sensor.fixer docs]: /components/fixer
+[sensor.hive docs]: /components/hive#sensor
+[sensor.ihc docs]: /components/ihc#sensor
+[sensor.iota docs]: /components/iota#sensor
[sensor.metoffice docs]: /components/sensor.metoffice/
-[sensor.miflora docs]: /components/sensor.miflora/
-[sensor.min_max docs]: /components/sensor.min_max/
-[sensor.mold_indicator docs]: /components/sensor.mold_indicator/
+[sensor.miflora docs]: /components/miflora
+[sensor.min_max docs]: /components/min_max
+[sensor.mold_indicator docs]: /components/mold_indicator
[mychevy docs]: /components/mychevy/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.random docs]: /components/sensor.random/
-[sensor.teksavvy docs]: /components/sensor.teksavvy/
-[sensor.xbox_live docs]: /components/sensor.xbox_live/
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.random docs]: /components/random#sensor
+[sensor.teksavvy docs]: /components/teksavvy
+[sensor.xbox_live docs]: /components/xbox_live
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.yr docs]: /components/sensor.yr/
+[sensor.yr docs]: /components/yr
[snips docs]: /components/snips/
-[switch.fritzdect docs]: /components/switch.fritzdect/
-[switch.hive docs]: /components/switch.hive/
-[switch.ihc docs]: /components/switch.ihc/
-[switch.snmp docs]: /components/switch.snmp/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.fritzdect docs]: /components/fritzdect
+[switch.hive docs]: /components/hive#switch
+[switch.ihc docs]: /components/ihc#switch
+[switch.snmp docs]: /components/snmp#switch
+[switch.tplink docs]: /components/tplink
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
-[tts.google docs]: /components/tts.google/
+[tts.google docs]: /components/google_translate
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[waterfurnace docs]: /components/waterfurnace/
[wemo docs]: /components/wemo/
@@ -500,10 +500,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@scop]: https://github.com/scop
[@smoldaner]: https://github.com/smoldaner
[@tschmidty69]: https://github.com/tschmidty69
-[climate.daikin docs]: /components/climate.daikin/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
+[climate.daikin docs]: /components/daikin#climate
+[device_tracker.asuswrt docs]: /components/asuswrt
[frontend docs]: /components/frontend/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[remote.harmony docs]: /components/remote.harmony/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
+[media_player.squeezebox docs]: /components/squeezebox
+[remote.harmony docs]: /components/harmony
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
[snips docs]: /components/snips/
diff --git a/source/_posts/2018-02-10-release-63.markdown b/source/_posts/2018-02-10-release-63.markdown
index 48375f9f99d..823791e5ee0 100644
--- a/source/_posts/2018-02-10-release-63.markdown
+++ b/source/_posts/2018-02-10-release-63.markdown
@@ -83,10 +83,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Originally Canary camera is added per location and only displays an image that was captured due to motion. Now it is per device (each location can have multiple devices) with live stream support. ([@snjoetw] - [#11949]) ([canary docs]) ([camera.canary docs]) (breaking change)
- Avoid influxdb filling connection pool: The influxdb `retry_queue_limit` configuration variable no longer has any effect and can be removed. ([@amelchio] - [#12182]) ([influxdb docs]) (breaking change)
- Some spelling mistakes in default entity names have been fixed in ([@OttoWinter] - [#12041]). This is causing these `entity_id` changes:
- - [Seven segments display](/components/image_processing.seven_segments/): `image_processing.seven_segement_ocr_[...]` → `image_processing.seven_segment_ocr_[...]`
- - [Rain Bird Switch](/components/switch.rainbird/): `switch.sprinker_[...]` → `switch.sprinkler_[...]`
- - [OpenEVSE Sensor](/components/sensor.openevse/): `sensor.ambient_termperature` → `sensor.ambient_temperature`
- - [Fido](/components/sensor.fido/): `sensor.[...]_internaltional_remaining` → `sensor.[...]_international remaining`
+ - [Seven segments display](/components/seven_segments): `image_processing.seven_segement_ocr_[...]` → `image_processing.seven_segment_ocr_[...]`
+ - [Rain Bird Switch](/components/rainbird#switch): `switch.sprinker_[...]` → `switch.sprinkler_[...]`
+ - [OpenEVSE Sensor](/components/openevse): `sensor.ambient_termperature` → `sensor.ambient_temperature`
+ - [Fido](/components/fido): `sensor.[...]_internaltional_remaining` → `sensor.[...]_international remaining`
- From version 0.64, Home Assistant will by default purge recorded state history that is older than 10 days. If you want to keep your recorded data for longer than that, you must configure the number of days to retain:
```yaml
recorder:
@@ -502,38 +502,38 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@craigjmidwinter]: https://github.com/craigjmidwinter
[@zabuldon]: https://github.com/zabuldon
[alexa docs]: /components/alexa/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
[binary_sensor.mercedesme docs]: /components/binary_sensor.mercedesme/
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
[binary_sensor.template docs]: /components/binary_sensor.template/
-[binary_sensor.threshold docs]: /components/binary_sensor.threshold/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[camera.canary docs]: /components/camera.canary/
-[camera.uvc docs]: /components/camera.uvc/
-[camera.xeoma docs]: /components/camera.xeoma/
+[binary_sensor.threshold docs]: /components/threshold
+[binary_sensor.zha docs]: /components/zha
+[camera.canary docs]: /components/canary#camera
+[camera.uvc docs]: /components/uvc
+[camera.xeoma docs]: /components/xeoma
[canary docs]: /components/canary/
[climate.demo docs]: /components/demo/
-[climate.ecobee docs]: /components/climate.ecobee/
-[climate.econet docs]: /components/climate.econet/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.heatmiser docs]: /components/climate.heatmiser/
-[climate.melissa docs]: /components/climate.melissa/
-[climate.nest docs]: /components/climate.nest/
-[climate.tado docs]: /components/climate.tado/
-[climate.touchline docs]: /components/climate.touchline/
-[climate.venstar docs]: /components/climate.venstar/
+[climate.ecobee docs]: /components/ecobee
+[climate.econet docs]: /components/econet
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.heatmiser docs]: /components/heatmiser
+[climate.melissa docs]: /components/melissa
+[climate.nest docs]: /components/nest#climate
+[climate.tado docs]: /components/tado
+[climate.touchline docs]: /components/touchline
+[climate.venstar docs]: /components/venstar
[cloud docs]: /components/cloud/
[coinbase docs]: /components/coinbase/
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.tahoma docs]: /components/tahoma
[cover.template docs]: /components/cover.template/
[deconz docs]: /components/deconz/
-[device_tracker.huawei_router docs]: /components/device_tracker.huawei_router/
+[device_tracker.huawei_router docs]: /components/huawei_router
[device_tracker.mercedesme docs]: /components/device_tracker.mercedesme/
-[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
+[device_tracker.mikrotik docs]: /components/mikrotik
[device_tracker.mqtt docs]: /components/device_tracker.mqtt/
-[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.owntracks docs]: /components/owntracks
+[device_tracker.ubus docs]: /components/ubus
[doorbird docs]: /components/doorbird/
[emulated_hue docs]: /components/emulated_hue/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
@@ -544,78 +544,78 @@ Experiencing issues introduced by this release? Please report them in our [issue
[group docs]: /components/group/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.openalpr_cloud docs]: /components/image_processing.openalpr_cloud/
+[image_processing.openalpr_cloud docs]: /components/openalpr_local_cloud
[influxdb docs]: /components/influxdb/
[input_text docs]: /components/input_text/
[ios docs]: /components/ios/
[iota docs]: /components/iota/
-[light.deconz docs]: /components/light.deconz/
-[light.greenwave docs]: /components/light.greenwave/
-[light.lifx docs]: /components/light.lifx/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.deconz docs]: /components/deconz#light
+[light.greenwave docs]: /components/greenwave
+[light.lifx docs]: /components/lifx
+[light.limitlessled docs]: /components/limitlessled
[light.template docs]: /components/light.template/
[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.zha docs]: /components/light.zha/
+[light.zha docs]: /components/zha
[lock docs]: /components/lock/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.clementine docs]: /components/media_player.clementine/
-[media_player.itunes docs]: /components/media_player.itunes/
-[media_player.mediaroom docs]: /components/media_player.mediaroom/
-[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
-[media_player.philips_js docs]: /components/media_player.philips_js/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[media_player.vlc docs]: /components/media_player.vlc/
-[media_player.volumio docs]: /components/media_player.volumio/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.clementine docs]: /components/clementine
+[media_player.itunes docs]: /components/itunes
+[media_player.mediaroom docs]: /components/mediaroom
+[media_player.panasonic_viera docs]: /components/panasonic_viera
+[media_player.philips_js docs]: /components/philips_js
+[media_player.plex docs]: /components/plex#media-player
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.squeezebox docs]: /components/squeezebox
+[media_player.vlc docs]: /components/vlc
+[media_player.volumio docs]: /components/volumio
+[media_player.webostv docs]: /components/webostv#media-player
[melissa docs]: /components/melissa/
[mercedesme docs]: /components/mercedesme/
[mochad docs]: /components/mochad/
-[notify.gntp docs]: /components/notify.gntp/
-[notify.kodi docs]: /components/notify.kodi/
-[notify.pushsafer docs]: /components/notify.pushsafer/
-[notify.twitter docs]: /components/notify.twitter/
+[notify.gntp docs]: /components/gntp
+[notify.kodi docs]: /components/kodi
+[notify.pushsafer docs]: /components/pushsafer
+[notify.twitter docs]: /components/twitter
[panel_iframe docs]: /components/panel_iframe/
[plant docs]: /components/plant/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[rfxtrx docs]: /components/rfxtrx/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.broadlink docs]: /components/sensor.broadlink/
-[sensor.canary docs]: /components/sensor.canary/
-[sensor.coinbase docs]: /components/sensor.coinbase/
-[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
-[sensor.fritzbox_callmonitor docs]: /components/sensor.fritzbox_callmonitor/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.broadlink docs]: /components/broadlink#sensor
+[sensor.canary docs]: /components/canary#sensor
+[sensor.coinbase docs]: /components/coinbase
+[sensor.coinmarketcap docs]: /components/coinmarketcap
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
+[sensor.fritzbox_callmonitor docs]: /components/fritzbox#sensor_callmonitor/
[sensor.melissa docs]: /components/melissa/
[sensor.mercedesme docs]: /components/sensor.mercedesme/
-[sensor.miflora docs]: /components/sensor.miflora/
-[sensor.onewire docs]: /components/sensor.onewire/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.radarr docs]: /components/sensor.radarr/
-[sensor.sonarr docs]: /components/sensor.sonarr/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tahoma docs]: /components/sensor.tahoma/
-[sensor.template docs]: /components/sensor.template/
-[sensor.tesla docs]: /components/sensor.tesla/
+[sensor.miflora docs]: /components/miflora
+[sensor.onewire docs]: /components/onewire
+[sensor.pollen docs]: /components/iqvia
+[sensor.qnap docs]: /components/qnap
+[sensor.radarr docs]: /components/radarr
+[sensor.sonarr docs]: /components/sonarr
+[sensor.sql docs]: /components/sql
+[sensor.statistics docs]: /components/statistics
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tahoma docs]: /components/tahoma
+[sensor.template docs]: /components/template
+[sensor.tesla docs]: /components/tesla
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.zha docs]: /components/zha
[spc docs]: /components/spc/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.flux docs]: /components/switch.flux/
-[switch.pulseaudio_loopback docs]: /components/switch.pulseaudio_loopback/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.flux docs]: /components/flux
+[switch.pulseaudio_loopback docs]: /components/pulseaudio_loopback
[switch.template docs]: /components/switch.template/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
+[switch.tplink docs]: /components/tplink
+[switch.wake_on_lan docs]: /components/wake_on_lan#switch
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[system_log docs]: /components/system_log/
[tado docs]: /components/tado/
@@ -625,7 +625,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[wake_on_lan docs]: /components/wake_on_lan/
[waterfurnace docs]: /components/waterfurnace/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[weblink docs]: /components/weblink/
[websocket_api docs]: /components/websocket_api/
[zha docs]: /components/zha/
@@ -641,9 +641,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@balloob]: https://github.com/balloob
[@lucasweb78]: https://github.com/lucasweb78
[alexa docs]: /components/alexa/
-[binary_sensor.netatmo docs]: /components/binary_sensor.netatmo/
-[camera.netatmo docs]: /components/camera.netatmo/
-[sensor.netatmo docs]: /components/sensor.netatmo/
+[binary_sensor.netatmo docs]: /components/netatmo#binary-sensor
+[camera.netatmo docs]: /components/netatmo#camera
+[sensor.netatmo docs]: /components/netatmo#sensor
[#12342]: https://github.com/home-assistant/home-assistant/pull/12342
[#12346]: https://github.com/home-assistant/home-assistant/pull/12346
[#12368]: https://github.com/home-assistant/home-assistant/pull/12368
@@ -656,12 +656,12 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@sdague]: https://github.com/sdague
[binary_sensor.mercedesme docs]: /components/binary_sensor.mercedesme/
[device_tracker.mercedesme docs]: /components/device_tracker.mercedesme/
-[light.limitlessled docs]: /components/light.limitlessled/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[light.limitlessled docs]: /components/limitlessled
+[media_player.yamaha docs]: /components/yamaha
[mercedesme docs]: /components/mercedesme/
-[sensor.eddystone_temperature docs]: /components/sensor.eddystone_temperature/
+[sensor.eddystone_temperature docs]: /components/eddystone_temperature
[sensor.mercedesme docs]: /components/sensor.mercedesme/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.wunderground docs]: /components/wunderground
[#12392]: https://github.com/home-assistant/home-assistant/pull/12392
[#12421]: https://github.com/home-assistant/home-assistant/pull/12421
[#12435]: https://github.com/home-assistant/home-assistant/pull/12435
@@ -680,9 +680,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[isy994 docs]: /components/isy994/
[light.template docs]: /components/light.template/
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[media_player.plex docs]: /components/media_player.plex/
+[media_player.plex docs]: /components/plex#media-player
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.yr docs]: /components/sensor.yr/
+[sensor.sql docs]: /components/sql
+[sensor.yr docs]: /components/yr
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
diff --git a/source/_posts/2018-02-26-release-64.markdown b/source/_posts/2018-02-26-release-64.markdown
index de77a2c006a..7356e318888 100644
--- a/source/_posts/2018-02-26-release-64.markdown
+++ b/source/_posts/2018-02-26-release-64.markdown
@@ -482,31 +482,31 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@ryanm101]: https://github.com/ryanm101
[alexa docs]: /components/alexa/
[august docs]: /components/august/
-[binary_sensor.august docs]: /components/binary_sensor.august/
-[binary_sensor.bloomsky docs]: /components/binary_sensor.bloomsky/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
+[binary_sensor.august docs]: /components/august#binary-sensor
+[binary_sensor.bloomsky docs]: /components/bloomsky#binary-sensor
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
[binary_sensor.knx docs]: /components/binary_sensor.knx/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
-[calendar.caldav docs]: /components/calendar.caldav/
-[camera.august docs]: /components/camera.august/
+[calendar.caldav docs]: /components/caldav
+[camera.august docs]: /components/august#camera
[camera.bloomsky docs]: /components/bloomsky/#camera
-[camera.doorbird docs]: /components/camera.doorbird/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.rpi_camera docs]: /components/camera.rpi_camera/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
+[camera.doorbird docs]: /components/doorbird#camera
+[camera.onvif docs]: /components/onvif
+[camera.rpi_camera docs]: /components/rpi_camera
+[climate.eq3btsmart docs]: /components/eq3btsmart
[climate.knx docs]: /components/climate.knx/
-[climate.melissa docs]: /components/climate.melissa/
+[climate.melissa docs]: /components/melissa
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[conversation docs]: /components/conversation/
[cover.knx docs]: /components/cover.knx/
-[cover.opengarage docs]: /components/cover.opengarage/
+[cover.opengarage docs]: /components/opengarage
[deconz docs]: /components/deconz/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.automatic docs]: /components/device_tracker.automatic/
-[device_tracker.bmw_connected_drive docs]: /components/device_tracker.bmw_connected_drive/
-[device_tracker.nmap_tracker docs]: /components/device_tracker.nmap_tracker/
-[device_tracker.unifi docs]: /components/device_tracker.unifi/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.automatic docs]: /components/automatic
+[device_tracker.bmw_connected_drive docs]: /components/bmw_connected_drive
+[device_tracker.nmap_tracker docs]: /components/nmap_tracker
+[device_tracker.unifi docs]: /components/unifi
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[frontend docs]: /components/frontend/
[google_assistant docs]: /components/google_assistant/
@@ -521,65 +521,65 @@ Experiencing issues introduced by this release? Please report them in our [issue
[input_datetime docs]: /components/input_datetime/
[isy994 docs]: /components/isy994/
[knx docs]: /components/knx/
-[light.deconz docs]: /components/light.deconz/
-[light.iglo docs]: /components/light.iglo/
+[light.deconz docs]: /components/deconz#light
+[light.iglo docs]: /components/iglo
[light.knx docs]: /components/light.knx/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.limitlessled docs]: /components/limitlessled
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[lock.august docs]: /components/lock.august/
-[lock.zwave docs]: /components/lock.zwave/
+[lock.august docs]: /components/august
+[lock.zwave docs]: /components/zwave#lock
[logbook docs]: /components/logbook/
[media_extractor docs]: /components/media_extractor/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.braviatv_psk docs]: /components/media_player.braviatv_psk/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.frontier_silicon docs]: /components/media_player.frontier_silicon/
-[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.xiaomi_tv docs]: /components/media_player.xiaomi_tv/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.braviatv_psk docs]: /components/braviatv_psk/
+[media_player.cast docs]: /components/cast
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.frontier_silicon docs]: /components/frontier_silicon
+[media_player.panasonic_viera docs]: /components/panasonic_viera
+[media_player.sonos docs]: /components/sonos
+[media_player.xiaomi_tv docs]: /components/xiaomi_tv
[melissa docs]: /components/melissa/
[mqtt docs]: /components/mqtt/
[mqtt_eventstream docs]: /components/mqtt_eventstream/
-[notify.html5 docs]: /components/notify.html5/
+[notify.html5 docs]: /components/html5
[notify.knx docs]: /components/notify.knx/
-[notify.lametric docs]: /components/notify.lametric/
+[notify.lametric docs]: /components/lametric
[panel_iframe docs]: /components/panel_iframe/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[scene docs]: /components/scene/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.alpha_vantage docs]: /components/alpha_vantage
[sensor.bloomsky docs]: /components/bloomsky/#sensor
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.fastdotcom docs]: /components/sensor.fastdotcom/
-[sensor.filesize docs]: /components/sensor.filesize/
-[sensor.folder docs]: /components/sensor.folder/
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.fastdotcom docs]: /components/fastdotcom
+[sensor.filesize docs]: /components/file#sensorsize/
+[sensor.folder docs]: /components/folder
[sensor.knx docs]: /components/sensor.knx/
-[sensor.pollen docs]: /components/sensor.pollen/
+[sensor.pollen docs]: /components/iqvia
[sensor.rfxtrx docs]: /components/sensor.rfxtrx/
-[sensor.sabnzbd docs]: /components/sensor.sabnzbd/
-[sensor.sma docs]: /components/sensor.sma/
-[sensor.smappee docs]: /components/sensor.smappee/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.spotcrime docs]: /components/sensor.spotcrime/
-[sensor.startca docs]: /components/sensor.startca/
-[sensor.template docs]: /components/sensor.template/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.wunderground docs]: /components/sensor.wunderground/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.sabnzbd docs]: /components/sabnzbd
+[sensor.sma docs]: /components/sma#sensors
+[sensor.smappee docs]: /components/sma#sensorsppee/
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.spotcrime docs]: /components/spotcrime
+[sensor.startca docs]: /components/startca
+[sensor.template docs]: /components/template
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.wunderground docs]: /components/wunderground
+[sensor.zha docs]: /components/zha
[shopping_list docs]: /components/shopping_list/
[smappee docs]: /components/smappee/
[switch.knx docs]: /components/switch.knx/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.smappee docs]: /components/switch.smappee/
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.smappee docs]: /components/smappee
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tahoma docs]: /components/tahoma/
[telegram_bot docs]: /components/telegram_bot/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[vera docs]: /components/vera/
-[weather.buienradar docs]: /components/weather.buienradar/
+[weather.buienradar docs]: /components/buienradar
[weblink docs]: /components/weblink/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
@@ -609,16 +609,16 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tumik]: https://github.com/tumik
[@fanthos]: https://github.com/fanthos
[@PhilRW]: https://github.com/PhilRW
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
[deconz docs]: /components/deconz/
-[light.iglo docs]: /components/light.iglo/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.denonavr docs]: /components/media_player.denonavr/
+[light.iglo docs]: /components/iglo
+[media_player.cast docs]: /components/cast
+[media_player.denonavr docs]: /components/denonavr/
[mysensors docs]: /components/mysensors/
-[remote.harmony docs]: /components/remote.harmony/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
+[remote.harmony docs]: /components/harmony
+[sensor.alpha_vantage docs]: /components/alpha_vantage
[tahoma docs]: /components/tahoma/
-[vacuum.roomba docs]: /components/vacuum.roomba/
+[vacuum.roomba docs]: /components/roomba
[zha docs]: /components/zha/
[#12759]: https://github.com/home-assistant/home-assistant/pull/12759
[#12762]: https://github.com/home-assistant/home-assistant/pull/12762
@@ -639,10 +639,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[logbook docs]: /components/logbook/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[sensor.pollen docs]: /components/sensor.pollen/
+[media_player.plex docs]: /components/plex#media-player
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.sonos docs]: /components/sonos
+[sensor.pollen docs]: /components/iqvia
[#12810]: https://github.com/home-assistant/home-assistant/pull/12810
[#12837]: https://github.com/home-assistant/home-assistant/pull/12837
[#12840]: https://github.com/home-assistant/home-assistant/pull/12840
@@ -650,6 +650,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@andrey-git]: https://github.com/andrey-git
[@balloob]: https://github.com/balloob
[@kellerza]: https://github.com/kellerza
-[climate.sensibo docs]: /components/climate.sensibo/
+[climate.sensibo docs]: /components/sensibo
[cloud docs]: /components/cloud/
[hue docs]: /components/hue/
\ No newline at end of file
diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown
index b427a398fee..bfd4dd652cb 100644
--- a/source/_posts/2018-03-09-release-65.markdown
+++ b/source/_posts/2018-03-09-release-65.markdown
@@ -540,38 +540,38 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@teharris1]: https://github.com/teharris1
[@thejta]: https://github.com/thejta
[@turbokongen]: https://github.com/turbokongen
-[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
-[alarm_control_panel.concord232 docs]: /components/alarm_control_panel.concord232/
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
+[alarm_control_panel.alarmdotcom docs]: /components/alarmdotcom
+[alarm_control_panel.concord232 docs]: /components/concord232#alarm-control-panel
+[alarm_control_panel.egardia docs]: /components/egardia
[api docs]: /components/api/
[august docs]: /components/august/
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.concord232 docs]: /components/binary_sensor.concord232/
-[binary_sensor.egardia docs]: /components/binary_sensor.egardia/
-[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
-[binary_sensor.insteon_plm docs]: /components/binary_sensor.insteon_plm/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
+[binary_sensor.concord232 docs]: /components/concord232#binary-sensor
+[binary_sensor.egardia docs]: /components/egardia#binary-sensor
+[binary_sensor.hikvision docs]: /components/hikvision
+[binary_sensor.insteon_plm docs]: /components/insteon_plm/
+[binary_sensor.isy994 docs]: /components/isy994
[binary_sensor.knx docs]: /components/binary_sensor.knx/
-[binary_sensor.upcloud docs]: /components/binary_sensor.upcloud/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.rpi_camera docs]: /components/camera.rpi_camera/
-[camera.yi docs]: /components/camera.yi/
+[binary_sensor.upcloud docs]: /components/upcloud#binary-sensor
+[binary_sensor.zha docs]: /components/zha
+[camera.onvif docs]: /components/onvif
+[camera.proxy docs]: /components/proxy
+[camera.rpi_camera docs]: /components/rpi_camera
+[camera.yi docs]: /components/yi
[canary docs]: /components/canary/
[climate docs]: /components/climate/
-[climate.nest docs]: /components/climate.nest/
-[climate.wink docs]: /components/climate.wink/
+[climate.nest docs]: /components/nest#climate
+[climate.wink docs]: /components/wink#climate
[cloud docs]: /components/cloud/
[coinbase docs]: /components/coinbase/
[config docs]: /components/config/
[conversation docs]: /components/conversation/
[demo docs]: /components/demo/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.asuswrt docs]: /components/device_tracker.asuswrt/
-[device_tracker.icloud docs]: /components/device_tracker.icloud/
-[device_tracker.tesla docs]: /components/device_tracker.tesla/
-[device_tracker.ubus docs]: /components/device_tracker.ubus/
+[device_tracker.asuswrt docs]: /components/asuswrt
+[device_tracker.icloud docs]: /components/icloud
+[device_tracker.tesla docs]: /components/tesla
+[device_tracker.ubus docs]: /components/ubus
[egardia docs]: /components/egardia/
[fan.insteon_plm docs]: /components/insteon/
[frontend docs]: /components/frontend/
@@ -588,65 +588,65 @@ Experiencing issues introduced by this release? Please report them in our [issue
[light.demo docs]: /components/light.demo/
[light.group docs]: /components/light.group/
[light.group docs]: /components/light.group/
-[light.hue docs]: /components/light.hue/
-[light.hyperion docs]: /components/light.hyperion/
+[light.hue docs]: /components/hue
+[light.hyperion docs]: /components/hyperion
[light.insteon_plm docs]: /components/insteon/
[light.knx docs]: /components/light.knx/
-[light.lifx docs]: /components/light.lifx/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.lifx docs]: /components/lifx
+[light.limitlessled docs]: /components/limitlessled
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.zha docs]: /components/light.zha/
+[light.zha docs]: /components/zha
[logbook docs]: /components/logbook/
-[media_player.apple_tv docs]: /components/media_player.apple_tv/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.channels docs]: /components/media_player.channels/
-[media_player.emby docs]: /components/media_player.emby/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.apple_tv docs]: /components/apple_tv
+[media_player.cast docs]: /components/cast
+[media_player.channels docs]: /components/channels
+[media_player.emby docs]: /components/emby
+[media_player.plex docs]: /components/plex#media-player
+[media_player.songpal docs]: /components/songpal
+[media_player.sonos docs]: /components/sonos
[mqtt docs]: /components/mqtt/
-[notify.html5 docs]: /components/notify.html5/
-[notify.synology_chat docs]: /components/notify.synology_chat/
+[notify.html5 docs]: /components/html5
+[notify.synology_chat docs]: /components/synology_chat
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[rest_command docs]: /components/rest_command/
[scene docs]: /components/scene/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.citybikes docs]: /components/sensor.citybikes/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.folder docs]: /components/sensor.folder/
-[sensor.history_stats docs]: /components/sensor.history_stats/
-[sensor.imap docs]: /components/sensor.imap/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.citybikes docs]: /components/citybikes
+[sensor.filter docs]: /components/filter
+[sensor.fitbit docs]: /components/fitbit
+[sensor.folder docs]: /components/folder
+[sensor.history_stats docs]: /components/history_stats
+[sensor.imap docs]: /components/imap
[sensor.insteon_plm docs]: /components/insteon/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.plex docs]: /components/sensor.plex/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.sense docs]: /components/sensor.sense/
-[sensor.serial_pm docs]: /components/sensor.serial_pm/
-[sensor.simulated docs]: /components/sensor.simulated/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.teksavvy docs]: /components/sensor.teksavvy/
-[sensor.tesla docs]: /components/sensor.tesla/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.xbox_live docs]: /components/sensor.xbox_live/
+[sensor.luftdaten docs]: /components/luftdaten#sensor
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.plex docs]: /components/plex#sensor
+[sensor.pollen docs]: /components/iqvia
+[sensor.rest docs]: /components/rest
+[sensor.sense docs]: /components/sense
+[sensor.serial_pm docs]: /components/serial_pm/
+[sensor.simulated docs]: /components/simulated
+[sensor.sql docs]: /components/sql
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.teksavvy docs]: /components/teksavvy
+[sensor.tesla docs]: /components/tesla
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.xbox_live docs]: /components/xbox_live
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.zestimate docs]: /components/sensor.zestimate/
+[sensor.zestimate docs]: /components/zestimate
[shopping_list docs]: /components/shopping_list/
-[switch.edimax docs]: /components/switch.edimax/
-[switch.insteon_plm docs]: /components/switch.insteon_plm/
+[switch.edimax docs]: /components/edimax
+[switch.insteon_plm docs]: /components/insteon_plm/
[switch.rest docs]: /components/switch.rest/
-[switch.tesla docs]: /components/switch.tesla/
-[switch.upcloud docs]: /components/switch.upcloud/
-[switch.volvooncall docs]: /components/switch.volvooncall/
+[switch.tesla docs]: /components/tesla
+[switch.upcloud docs]: /components/upcloud#switch
+[switch.volvooncall docs]: /components/volvooncall
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zha docs]: /components/switch.zha/
-[telegram_bot.broadcast docs]: /components/telegram_bot.broadcast/
-[telegram_bot.polling docs]: /components/telegram_bot.polling/
-[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
+[switch.zha docs]: /components/zha
+[telegram_bot.broadcast docs]: /components/broadcast
+[telegram_bot.polling docs]: /components/polling
+[telegram_bot.webhooks docs]: /components/webhooks
[upcloud docs]: /components/upcloud/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[weather docs]: /components/weather/
@@ -682,11 +682,11 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@armills]: https://github.com/armills
[@ptarjan]: https://github.com/ptarjan
[@syssi]: https://github.com/syssi
-[climate.sensibo docs]: /components/climate.sensibo/
-[light.lifx docs]: /components/light.lifx/
-[light.yeelight docs]: /components/light.yeelight/
-[sensor.sabnzbd docs]: /components/sensor.sabnzbd/
-[sensor.sql docs]: /components/sensor.sql/
+[climate.sensibo docs]: /components/sensibo
+[light.lifx docs]: /components/lifx
+[light.yeelight docs]: /components/yeelight
+[sensor.sabnzbd docs]: /components/sabnzbd
+[sensor.sql docs]: /components/sql
[wink docs]: /components/wink/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[#12939]: https://github.com/home-assistant/home-assistant/pull/12939
@@ -705,15 +705,15 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@jesserockz]: https://github.com/jesserockz
[@pavoni]: https://github.com/pavoni
[@snjoetw]: https://github.com/snjoetw
-[camera.arlo docs]: /components/camera.arlo/
-[camera.synology docs]: /components/camera.synology/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[device_tracker.tado docs]: /components/device_tracker.tado/
+[camera.arlo docs]: /components/arlo#camera
+[camera.synology docs]: /components/synology
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[device_tracker.tado docs]: /components/tado
[knx docs]: /components/knx/
-[light.hue docs]: /components/light.hue/
-[light.iglo docs]: /components/light.iglo/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.kodi docs]: /components/media_player.kodi/
+[light.hue docs]: /components/hue
+[light.iglo docs]: /components/iglo
+[media_player.cast docs]: /components/cast
+[media_player.kodi docs]: /components/kodi
[vera docs]: /components/vera/
[#13106]: https://github.com/home-assistant/home-assistant/pull/13106
[#13109]: https://github.com/home-assistant/home-assistant/pull/13109
@@ -722,11 +722,11 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@arsaboo]: https://github.com/arsaboo
[@balloob]: https://github.com/balloob
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
-[alarm_control_panel.egardia docs]: /components/alarm_control_panel.egardia/
+[alarm_control_panel.egardia docs]: /components/egardia
[arlo docs]: /components/arlo/
[hue docs]: /components/hue/
-[light.hue docs]: /components/light.hue/
-[switch.wemo docs]: /components/switch.wemo/
+[light.hue docs]: /components/hue
+[switch.wemo docs]: /components/wemo
[#13162]: https://github.com/home-assistant/home-assistant/pull/13162
[#13174]: https://github.com/home-assistant/home-assistant/pull/13174
[#13195]: https://github.com/home-assistant/home-assistant/pull/13195
@@ -739,7 +739,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[arlo docs]: /components/arlo/
[google_assistant docs]: /components/google_assistant/
[homekit docs]: /components/homekit/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.sonos docs]: /components/sonos
[#13226]: https://github.com/home-assistant/home-assistant/pull/13226
[#13237]: https://github.com/home-assistant/home-assistant/pull/13237
[#13248]: https://github.com/home-assistant/home-assistant/pull/13248
@@ -748,8 +748,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@PhracturedBlue]: https://github.com/PhracturedBlue
[@amelchio]: https://github.com/amelchio
[@balloob]: https://github.com/balloob
-[camera.proxy docs]: /components/camera.proxy/
+[camera.proxy docs]: /components/proxy
[device_tracker docs]: /components/device_tracker/
[google_assistant docs]: /components/google_assistant/
[light.demo docs]: /components/light.demo/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.sonos docs]: /components/sonos
diff --git a/source/_posts/2018-03-29-fedora-atomic.markdown b/source/_posts/2018-03-29-fedora-atomic.markdown
index a435984b1b7..8fe3280c300 100644
--- a/source/_posts/2018-03-29-fedora-atomic.markdown
+++ b/source/_posts/2018-03-29-fedora-atomic.markdown
@@ -35,8 +35,8 @@ Deployments:
The release is 27.100. The latest is 27.105. So, let's update the host and reboot it.
```bash
-$ sudo atomic host upgrade
-$ sudo systemctl reboot
+sudo atomic host upgrade
+sudo systemctl reboot
```
You can also see that Docker is already running. No installation needed.
@@ -54,21 +54,21 @@ Further we will cover how it works for Home Assistant and [Mosquitto](https://mo
Instead of `docker` we can use the command-line tool [`atomic`](http://www.projectatomic.io/docs/usr-bin-atomic/) to perform a lot of tasks. Download the images for the containers. We are pulling the images from [Docker Hub](https://hub.docker.com/), thus we need to add the registry to use.
```bash
-$ sudo atomic install docker.io/homeassistant/home-assistant
-$ sudo atomic install docker.io/eclipse-mosquitto
+sudo atomic install docker.io/homeassistant/home-assistant
+sudo atomic install docker.io/eclipse-mosquitto
```
Both containers need additional directories for persistent storage.
```bash
-$ sudo mkdir -p /opt/home-assistant
-$ sudo mkdir -p /opt/mosquitto/{config,data,log}
+sudo mkdir -p /opt/home-assistant
+sudo mkdir -p /opt/mosquitto/{config,data,log}
```
We need a copy of `mosquitto.conf` to run Mosquitto later:
```bash
-$ sudo curl -o /opt/mosquitto/config/mosquitto.conf \
+sudo curl -o /opt/mosquitto/config/mosquitto.conf \
https://raw.githubusercontent.com/eclipse/mosquitto/master/mosquitto.conf
```
@@ -125,14 +125,14 @@ Exit to be not longer `root`.
Reload `systemd` to make it aware of the new configurations.
```bash
-$ sudo systemctl daemon-reload
+sudo systemctl daemon-reload
```
Now, both container can be controlled by `systemctl`.
```bash
-$ sudo systemctl enable home-assistant.service --now
-$ sudo systemctl enable mosquitto.service --now
+sudo systemctl enable home-assistant.service --now
+sudo systemctl enable mosquitto.service --now
```
Check with `$ sudo systemctl status [name].service` if there are error or the services are running.
diff --git a/source/_posts/2018-03-30-release-66.markdown b/source/_posts/2018-03-30-release-66.markdown
index 794d910a71d..ac6e8936370 100644
--- a/source/_posts/2018-03-30-release-66.markdown
+++ b/source/_posts/2018-03-30-release-66.markdown
@@ -448,20 +448,20 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@uchagani]: https://github.com/uchagani
[@vandenberghev]: https://github.com/vandenberghev
[alarm_control_panel.ifttt docs]: /components/alarm_control_panel.ifttt/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
[binary_sensor.mysensors docs]: /components/binary_sensor.mysensors/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.workday docs]: /components/workday
[bmw_connected_drive docs]: /components/bmw_connected_drive/
-[calendar.caldav docs]: /components/calendar.caldav/
+[calendar.caldav docs]: /components/caldav
[calendar.google docs]: /components/calendar.google/
-[calendar.todoist docs]: /components/calendar.todoist/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.xeoma docs]: /components/camera.xeoma/
-[climate.ecobee docs]: /components/climate.ecobee/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
-[climate.sensibo docs]: /components/climate.sensibo/
+[calendar.todoist docs]: /components/todoist
+[camera.onvif docs]: /components/onvif
+[camera.xeoma docs]: /components/xeoma
+[climate.ecobee docs]: /components/ecobee
+[climate.eq3btsmart docs]: /components/eq3btsmart
+[climate.sensibo docs]: /components/sensibo
[cloud docs]: /components/cloud/
[cover.group docs]: /components/cover.group/
[cover.template docs]: /components/cover.template/
@@ -471,7 +471,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[downloader docs]: /components/downloader/
[ecobee docs]: /components/ecobee/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
-[fan.zha docs]: /components/fan.zha/
+[fan.zha docs]: /components/zha
[hassio docs]: /components/hassio/
[history docs]: /components/history/
[homekit docs]: /components/homekit/
@@ -480,76 +480,76 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[hue docs]: /components/hue/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[light docs]: /components/light/
-[light.deconz docs]: /components/light.deconz/
-[light.flux_led docs]: /components/light.flux_led/
-[light.hue docs]: /components/light.hue/
-[light.hyperion docs]: /components/light.hyperion/
-[light.iglo docs]: /components/light.iglo/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.deconz docs]: /components/deconz#light
+[light.flux_led docs]: /components/flux_led
+[light.hue docs]: /components/hue
+[light.hyperion docs]: /components/hyperion
+[light.iglo docs]: /components/iglo
+[light.limitlessled docs]: /components/limitlessled
[light.mysensors docs]: /components/light.mysensors/
-[light.mystrom docs]: /components/light.mystrom/
+[light.mystrom docs]: /components/mystrom#light
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.zha docs]: /components/light.zha/
+[light.zha docs]: /components/zha
[lock docs]: /components/lock/
-[lock.bmw_connected_drive docs]: /components/lock.bmw_connected_drive/
-[lock.homematic docs]: /components/lock.homematic/
+[lock.bmw_connected_drive docs]: /components/bmw_connected_drive
+[lock.homematic docs]: /components/homematic
[lock.mqtt docs]: /components/lock.mqtt/
[logbook docs]: /components/logbook/
[media_extractor docs]: /components/media_extractor/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.channels docs]: /components/media_player.channels/
-[media_player.kodi docs]: /components/media_player.kodi/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.cast docs]: /components/cast
+[media_player.channels docs]: /components/channels
+[media_player.kodi docs]: /components/kodi
[@NovapaX]: https://github.com/NovapaX
-[media_player.mediaroom docs]: /components/media_player.mediaroom/
-[media_player.mpchc docs]: /components/media_player.mpchc/
-[media_player.philips_js docs]: /components/media_player.philips_js/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
+[media_player.mediaroom docs]: /components/mediaroom
+[media_player.mpchc docs]: /components/mpchc
+[media_player.philips_js docs]: /components/philips_js
+[media_player.plex docs]: /components/plex#media-player
+[media_player.songpal docs]: /components/songpal
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
[nest docs]: /components/nest/
[notify docs]: /components/notify/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
-[scene.deconz docs]: /components/scene.deconz/
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
-[sensor.crimereports docs]: /components/sensor.crimereports/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
-[sensor.eddystone_temperature docs]: /components/sensor.eddystone_temperature/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.foobot docs]: /components/sensor.foobot/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.homematicip docs]: /components/sensor.homematicip/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
-[sensor.lacrosse docs]: /components/sensor.lacrosse/
+[scene.deconz docs]: /components/deconz#scene
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[sensor.crimereports docs]: /components/crimereports
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
+[sensor.eddystone_temperature docs]: /components/eddystone_temperature
+[sensor.filter docs]: /components/filter
+[sensor.foobot docs]: /components/foobot
+[sensor.glances docs]: /components/glances
+[sensor.homematic docs]: /components/homematic
+[sensor.homematicip docs]: /components/homematicip/
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[sensor.lacrosse docs]: /components/lacrosse
[sensor.mqtt docs]: /components/sensor.mqtt/
[sensor.mysensors docs]: /components/sensor.mysensors/
-[sensor.plex docs]: /components/sensor.plex/
-[sensor.smappee docs]: /components/sensor.smappee/
-[sensor.spotcrime docs]: /components/sensor.spotcrime/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.syncthru docs]: /components/sensor.syncthru/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.template docs]: /components/sensor.template/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.trafikverket_weatherstation docs]: /components/sensor.trafikverket_weatherstation/
-[sensor.vasttrafik docs]: /components/sensor.vasttrafik/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.plex docs]: /components/plex#sensor
+[sensor.smappee docs]: /components/sma#sensorsppee/
+[sensor.spotcrime docs]: /components/spotcrime
+[sensor.sql docs]: /components/sql
+[sensor.syncthru docs]: /components/syncthru
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.template docs]: /components/template
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.trafikverket_weatherstation docs]: /components/trafikverket_weatherstation
+[sensor.vasttrafik docs]: /components/vasttrafik
+[sensor.wunderground docs]: /components/wunderground
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[spc docs]: /components/spc/
-[switch.doorbird docs]: /components/switch.doorbird/
-[switch.edimax docs]: /components/switch.edimax/
+[switch.doorbird docs]: /components/doorbird#switch
+[switch.edimax docs]: /components/edimax
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.vesync docs]: /components/switch.vesync/
+[switch.vesync docs]: /components/vesync#switches
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zha docs]: /components/switch.zha/
+[switch.zha docs]: /components/zha
[telegram_bot docs]: /components/telegram_bot/
[upcloud docs]: /components/upcloud/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
@@ -565,5 +565,5 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@armills]: https://github.com/armills
[@cdce8p]: https://github.com/cdce8p
[homekit docs]: /components/homekit/
-[light.mqtt_json docs]: /components/light.mqtt_json/
+[light.mqtt_json docs]: /components/light.mqtt
[sensor.mysensors docs]: /components/sensor.mysensors/
diff --git a/source/_posts/2018-04-14-release-67.markdown b/source/_posts/2018-04-14-release-67.markdown
index 09de0a59e15..033bb0da73a 100644
--- a/source/_posts/2018-04-14-release-67.markdown
+++ b/source/_posts/2018-04-14-release-67.markdown
@@ -328,27 +328,27 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@zhaokoh]: https://github.com/zhaokoh
[abode docs]: /components/abode/
[alarm_control_panel.ifttt docs]: /components/alarm_control_panel.ifttt/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[alexa docs]: /components/alexa/
[amcrest docs]: /components/amcrest/
[api docs]: /components/api/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
[binary_sensor.mercedesme docs]: /components/binary_sensor.mercedesme/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.workday docs]: /components/workday
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[camera.mqtt docs]: /components/camera.mqtt/
[canary docs]: /components/canary/
-[climate.nest docs]: /components/climate.nest/
+[climate.nest docs]: /components/nest#climate
[config docs]: /components/config/
[config_entry_example docs]: /components/config_entry_example/
[conversation docs]: /components/conversation/
[cover docs]: /components/cover/
-[cover.rpi_gpio docs]: /components/cover.rpi_gpio/
+[cover.rpi_gpio docs]: /components/rpi_gpio#cover
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.bluetooth_tracker docs]: /components/device_tracker.bluetooth_tracker/
-[device_tracker.bmw_connected_drive docs]: /components/device_tracker.bmw_connected_drive/
-[device_tracker.google_maps docs]: /components/device_tracker.google_maps/
+[device_tracker.bluetooth_tracker docs]: /components/bluetooth_tracker
+[device_tracker.bmw_connected_drive docs]: /components/bmw_connected_drive
+[device_tracker.google_maps docs]: /components/google_maps
[doorbird docs]: /components/doorbird/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[folder_watcher docs]: /components/folder_watcher/
@@ -358,20 +358,20 @@ Experiencing issues introduced by this release? Please report them in our [issue
[insteon_plm docs]: /components/insteon_plm/
[light docs]: /components/light/
[light.nanoleaf_aurora docs]: /components/nanoleaf/
-[light.hue docs]: /components/light.hue/
-[light.iglo docs]: /components/light.iglo/
-[light.mystrom docs]: /components/light.mystrom/
+[light.hue docs]: /components/hue
+[light.iglo docs]: /components/iglo
+[light.mystrom docs]: /components/mystrom#light
[light.nanoleaf_aurora docs]: /components/nanoleaf/
-[light.qwikswitch docs]: /components/light.qwikswitch/
-[light.tradfri docs]: /components/light.tradfri/
+[light.qwikswitch docs]: /components/qwikswitch
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.bmw_connected_drive docs]: /components/lock.bmw_connected_drive/
+[light.yeelight docs]: /components/yeelight
+[lock.bmw_connected_drive docs]: /components/bmw_connected_drive
[media_extractor docs]: /components/media_extractor/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
-[media_player.philips_js docs]: /components/media_player.philips_js/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
+[media_player.philips_js docs]: /components/philips_js
+[media_player.songpal docs]: /components/songpal
+[media_player.webostv docs]: /components/webostv#media-player
[mercedesme docs]: /components/mercedesme/
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
@@ -381,27 +381,27 @@ Experiencing issues introduced by this release? Please report them in our [issue
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[rflink docs]: /components/rflink/
[rfxtrx docs]: /components/rfxtrx/
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
-[sensor.broadlink docs]: /components/sensor.broadlink/
-[sensor.canary docs]: /components/sensor.canary/
-[sensor.cpuspeed docs]: /components/sensor.cpuspeed/
-[sensor.file docs]: /components/sensor.file/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
-[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[sensor.broadlink docs]: /components/broadlink#sensor
+[sensor.canary docs]: /components/canary#sensor
+[sensor.cpuspeed docs]: /components/cpuspeed
+[sensor.file docs]: /components/file#sensor
+[sensor.hydroquebec docs]: /components/hydroquebec
+[sensor.imap_email_content docs]: /components/imap_email_content/
[sensor.mercedesme docs]: /components/sensor.mercedesme/
-[sensor.plex docs]: /components/sensor.plex/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.qwikswitch docs]: /components/sensor.qwikswitch/
-[sensor.tesla docs]: /components/sensor.tesla/
-[sensor.tradfri docs]: /components/sensor.tradfri/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.plex docs]: /components/plex#sensor
+[sensor.qnap docs]: /components/qnap
+[sensor.qwikswitch docs]: /components/qwikswitch
+[sensor.tesla docs]: /components/tesla
+[sensor.tradfri docs]: /components/tradfri
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[smappee docs]: /components/smappee/
-[switch.amcrest docs]: /components/switch.amcrest/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.mystrom docs]: /components/switch.mystrom/
-[switch.qwikswitch docs]: /components/switch.qwikswitch/
-[switch.tahoma docs]: /components/switch.tahoma/
-[switch.telnet docs]: /components/switch.telnet/
+[switch.amcrest docs]: /components/amcrest
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.mystrom docs]: /components/mystrom#switch
+[switch.qwikswitch docs]: /components/qwikswitch#switch
+[switch.tahoma docs]: /components/tahoma
+[switch.telnet docs]: /components/telnet
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tado docs]: /components/tado/
[tahoma docs]: /components/tahoma/
@@ -432,13 +432,13 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@kellerza]: https://github.com/kellerza
[@syssi]: https://github.com/syssi
[@titilambert]: https://github.com/titilambert
-[climate.honeywell docs]: /components/climate.honeywell/
+[climate.honeywell docs]: /components/honeywell
[config docs]: /components/config/
[device_tracker docs]: /components/device_tracker/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[qwikswitch docs]: /components/qwikswitch/
-[sensor.fido docs]: /components/sensor.fido/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
-[sensor.pollen docs]: /components/sensor.pollen/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.vesync docs]: /components/switch.vesync/
+[sensor.fido docs]: /components/fido
+[sensor.hydroquebec docs]: /components/hydroquebec
+[sensor.pollen docs]: /components/iqvia
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.vesync docs]: /components/vesync#switches
diff --git a/source/_posts/2018-04-27-release-68.markdown b/source/_posts/2018-04-27-release-68.markdown
index b6bb4b2b7c6..376108e4ab1 100644
--- a/source/_posts/2018-04-27-release-68.markdown
+++ b/source/_posts/2018-04-27-release-68.markdown
@@ -409,28 +409,28 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@asafbiton96]: https://github.com/asafbiton96
[abode docs]: /components/abode/
[alexa docs]: /components/alexa/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
-[binary_sensor.hive docs]: /components/binary_sensor.hive/
-[binary_sensor.maxcube docs]: /components/binary_sensor.maxcube/
-[binary_sensor.qwikswitch docs]: /components/binary_sensor.qwikswitch/
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[binary_sensor.hive docs]: /components/hive#binary-sensor
+[binary_sensor.maxcube docs]: /components/maxcube
+[binary_sensor.qwikswitch docs]: /components/qwikswitch
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[calendar.google docs]: /components/calendar.google/
-[calendar.todoist docs]: /components/calendar.todoist/
-[climate.fritzbox docs]: /components/climate.fritzbox/
-[climate.hive docs]: /components/climate.hive/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.maxcube docs]: /components/climate.maxcube/
+[calendar.todoist docs]: /components/todoist
+[climate.fritzbox docs]: /components/fritzbox
+[climate.hive docs]: /components/hive#climate
+[climate.honeywell docs]: /components/honeywell
+[climate.maxcube docs]: /components/maxcube
[climate.modbus docs]: /components/climate.modbus/
[config docs]: /components/config/
-[cover.opengarage docs]: /components/cover.opengarage/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.opengarage docs]: /components/opengarage
+[cover.tahoma docs]: /components/tahoma
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[ecobee docs]: /components/ecobee/
[eufy docs]: /components/eufy/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[fritzbox docs]: /components/fritzbox/
-[google docs]: /components/google/
+[google docs]: /components/google_translate
[hdmi_cec docs]: /components/hdmi_cec/
[hive docs]: /components/hive/
[homekit docs]: /components/homekit/
@@ -439,75 +439,75 @@ Experiencing issues introduced by this release? Please report them in our [issue
[hue docs]: /components/hue/
[ihc docs]: /components/ihc/
[light docs]: /components/light/
-[light.abode docs]: /components/light.abode/
+[light.abode docs]: /components/abode#light
[light.aurora docs]: /components/light.aurora/
-[light.eufy docs]: /components/light.eufy/
-[light.hive docs]: /components/light.hive/
-[light.homekit_controller docs]: /components/light.homekit_controller/
-[light.hue docs]: /components/light.hue/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.bmw_connected_drive docs]: /components/lock.bmw_connected_drive/
+[light.eufy docs]: /components/eufy
+[light.hive docs]: /components/hive#light
+[light.homekit_controller docs]: /components/homekit_controller
+[light.hue docs]: /components/hue
+[light.yeelight docs]: /components/yeelight
+[lock.bmw_connected_drive docs]: /components/bmw_connected_drive
[lutron_caseta docs]: /components/lutron_caseta/
[maxcube docs]: /components/maxcube/
[media_extractor docs]: /components/media_extractor/
-[media_player.blackbird docs]: /components/media_player.blackbird/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.mediaroom docs]: /components/media_player.mediaroom/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.squeezebox docs]: /components/media_player.squeezebox/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.blackbird docs]: /components/blackbird
+[media_player.bluesound docs]: /components/bluesound
+[media_player.cast docs]: /components/cast
+[media_player.kodi docs]: /components/kodi
+[media_player.mediaroom docs]: /components/mediaroom
+[media_player.mpd docs]: /components/mpd
+[media_player.onkyo docs]: /components/onkyo
+[media_player.squeezebox docs]: /components/squeezebox
+[media_player.webostv docs]: /components/webostv#media-player
[notify docs]: /components/notify/
-[notify.facebook docs]: /components/notify.facebook/
+[notify.facebook docs]: /components/facebook
[prometheus docs]: /components/prometheus/
[qwikswitch docs]: /components/qwikswitch/
[sensor docs]: /components/sensor/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
-[sensor.broadlink docs]: /components/sensor.broadlink/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.ebox docs]: /components/sensor.ebox/
-[sensor.ecobee docs]: /components/sensor.ecobee/
-[sensor.eddystone_temperature docs]: /components/sensor.eddystone_temperature/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.folder docs]: /components/sensor.folder/
-[sensor.foobot docs]: /components/sensor.foobot/
-[sensor.fritzbox_netmonitor docs]: /components/sensor.fritzbox_netmonitor/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
-[sensor.linux_battery docs]: /components/sensor.linux_battery/
-[sensor.miflora docs]: /components/sensor.miflora/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[sensor.broadlink docs]: /components/broadlink#sensor
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.ebox docs]: /components/ebox
+[sensor.ecobee docs]: /components/ecobee
+[sensor.eddystone_temperature docs]: /components/eddystone_temperature
+[sensor.filter docs]: /components/filter
+[sensor.folder docs]: /components/folder
+[sensor.foobot docs]: /components/foobot
+[sensor.fritzbox_netmonitor docs]: /components/fritzbox#sensor_netmonitor/
+[sensor.hive docs]: /components/hive#sensor
+[sensor.hydroquebec docs]: /components/hydroquebec
+[sensor.linux_battery docs]: /components/linux_battery
+[sensor.miflora docs]: /components/miflora
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.nest docs]: /components/sensor.nest/
-[sensor.nut docs]: /components/sensor.nut/
-[sensor.qwikswitch docs]: /components/sensor.qwikswitch/
-[sensor.sht31 docs]: /components/sensor.sht31/
-[sensor.sigfox docs]: /components/sensor.sigfox/
-[sensor.smappee docs]: /components/sensor.smappee/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.trafikverket_weatherstation docs]: /components/sensor.trafikverket_weatherstation/
-[sensor.upnp docs]: /components/sensor.upnp/
-[sensor.uscis docs]: /components/sensor.uscis/
+[sensor.nest docs]: /components/nest#sensor
+[sensor.nut docs]: /components/nut
+[sensor.qwikswitch docs]: /components/qwikswitch
+[sensor.sht31 docs]: /components/sht31
+[sensor.sigfox docs]: /components/sigfox
+[sensor.smappee docs]: /components/sma#sensorsppee/
+[sensor.sql docs]: /components/sql
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.trafikverket_weatherstation docs]: /components/trafikverket_weatherstation
+[sensor.upnp docs]: /components/upnp
+[sensor.uscis docs]: /components/uscis
[skybell docs]: /components/skybell/
[smappee docs]: /components/smappee/
[snips docs]: /components/snips/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.edimax docs]: /components/switch.edimax/
-[switch.eufy docs]: /components/switch.eufy/
-[switch.fritzbox docs]: /components/switch.fritzbox/
-[switch.hive docs]: /components/switch.hive/
-[switch.vesync docs]: /components/switch.vesync/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.edimax docs]: /components/edimax
+[switch.eufy docs]: /components/eufy
+[switch.fritzbox docs]: /components/fritzbox
+[switch.hive docs]: /components/hive#switch
+[switch.vesync docs]: /components/vesync#switches
[tts docs]: /components/tts/
[upnp docs]: /components/upnp/
[vacuum docs]: /components/vacuum/
-[vacuum.dyson docs]: /components/vacuum.dyson/
-[vacuum.neato docs]: /components/vacuum.neato/
-[vacuum.roomba docs]: /components/vacuum.roomba/
+[vacuum.dyson docs]: /components/dyson#vacuum
+[vacuum.neato docs]: /components/neato#vacuum
+[vacuum.roomba docs]: /components/roomba
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
-[weather.yweather docs]: /components/weather.yweather/
+[weather.yweather docs]: /components/yweather
[zha docs]: /components/zha/
[#14108]: https://github.com/home-assistant/home-assistant/pull/14108
[#14113]: https://github.com/home-assistant/home-assistant/pull/14113
@@ -526,6 +526,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[google_assistant docs]: /components/google_assistant/
[homekit docs]: /components/homekit/
[homekit_controller docs]: /components/homekit_controller/
-[light.hue docs]: /components/light.hue/
-[light.tplink docs]: /components/light.tplink/
-[media_player.cast docs]: /components/media_player.cast/
\ No newline at end of file
+[light.hue docs]: /components/hue
+[light.tplink docs]: /components/tplink
+[media_player.cast docs]: /components/cast
\ No newline at end of file
diff --git a/source/_posts/2018-05-11-release-69.markdown b/source/_posts/2018-05-11-release-69.markdown
index 050b01ab8de..0d025b345af 100644
--- a/source/_posts/2018-05-11-release-69.markdown
+++ b/source/_posts/2018-05-11-release-69.markdown
@@ -372,20 +372,20 @@ rainmachine:
[@thelittlefireman]: https://github.com/thelittlefireman
[@tinloaf]: https://github.com/tinloaf
[abode docs]: /components/abode/
-[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
+[alarm_control_panel.alarmdotcom docs]: /components/alarmdotcom
[auth docs]: /components/auth/
[binary_sensor docs]: /components/binary_sensor/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.insteon_plm docs]: /components/binary_sensor.insteon_plm/
-[binary_sensor.tapsaff docs]: /components/binary_sensor.tapsaff/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.insteon_plm docs]: /components/insteon_plm/
+[binary_sensor.tapsaff docs]: /components/tapsaff
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.workday docs]: /components/workday
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.zha docs]: /components/zha
[camera docs]: /components/camera/
-[camera.local_file docs]: /components/camera.local_file/
-[cover.gogogate2 docs]: /components/cover.gogogate2/
-[cover.tahoma docs]: /components/cover.tahoma/
+[camera.local_file docs]: /components/local_file
+[cover.gogogate2 docs]: /components/gogogate2
+[cover.tahoma docs]: /components/tahoma
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[eight_sleep docs]: /components/eight_sleep/
@@ -399,33 +399,33 @@ rainmachine:
[http docs]: /components/http/
[image_processing docs]: /components/image_processing/
[image_processing.demo docs]: /components/image_processing.demo/
-[image_processing.dlib_face_detect docs]: /components/image_processing.dlib_face_detect/
-[image_processing.dlib_face_identify docs]: /components/image_processing.dlib_face_identify/
-[image_processing.microsoft_face_detect docs]: /components/image_processing.microsoft_face_detect/
-[image_processing.microsoft_face_identify docs]: /components/image_processing.microsoft_face_identify/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.dlib_face_detect docs]: /components/dlib_face_detect
+[image_processing.dlib_face_identify docs]: /components/dlib_face_identify
+[image_processing.microsoft_face_detect docs]: /components/microsoft_face_detect
+[image_processing.microsoft_face_identify docs]: /components/microsoft_face_identify
+[image_processing.opencv docs]: /components/opencv
[influxdb docs]: /components/influxdb/
[insteon_plm docs]: /components/insteon_plm/
-[light.deconz docs]: /components/light.deconz/
-[light.flux_led docs]: /components/light.flux_led/
-[light.hue docs]: /components/light.hue/
+[light.deconz docs]: /components/deconz#light
+[light.flux_led docs]: /components/flux_led
+[light.hue docs]: /components/hue
[light.insteon_plm docs]: /components/insteon/
-[light.mqtt_json docs]: /components/light.mqtt_json/
-[light.wink docs]: /components/light.wink/
+[light.mqtt_json docs]: /components/light.mqtt
+[light.wink docs]: /components/wink#light
[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/
-[light.yeelight docs]: /components/light.yeelight/
-[light.zwave docs]: /components/light.zwave/
+[light.yeelight docs]: /components/yeelight
+[light.zwave docs]: /components/zwave
[matrix docs]: /components/matrix/
[maxcube docs]: /components/maxcube/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.blackbird docs]: /components/media_player.blackbird/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.vizio docs]: /components/media_player.vizio/
-[media_player.volumio docs]: /components/media_player.volumio/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.blackbird docs]: /components/blackbird
+[media_player.onkyo docs]: /components/onkyo
+[media_player.panasonic_viera docs]: /components/panasonic_viera
+[media_player.sonos docs]: /components/sonos
+[media_player.vizio docs]: /components/vizio
+[media_player.volumio docs]: /components/volumio
+[media_player.webostv docs]: /components/webostv#media-player
[microsoft_face docs]: /components/microsoft_face/
[mqtt docs]: /components/mqtt/
[mqtt_statestream docs]: /components/mqtt_statestream/
@@ -435,48 +435,48 @@ rainmachine:
[rainmachine docs]: /components/rainmachine/
[rfxtrx docs]: /components/rfxtrx/
[scene docs]: /components/scene/
-[scene.deconz docs]: /components/scene.deconz/
+[scene.deconz docs]: /components/deconz#scene
[sensor docs]: /components/sensor/
-[sensor.bom docs]: /components/sensor.bom/
+[sensor.bom docs]: /components/bom#sensor
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.deluge docs]: /components/sensor.deluge/
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.deluge docs]: /components/deluge#sensor
[sensor.demo docs]: /components/sensor.demo/
[sensor.domain_expiry docs]: /components/sensor.domain_expiry/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.eliqonline docs]: /components/sensor.eliqonline/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
+[sensor.dsmr docs]: /components/dsmr
+[sensor.eliqonline docs]: /components/eliqonline
+[sensor.filter docs]: /components/filter
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
[sensor.insteon_plm docs]: /components/insteon/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.mitemp_bt docs]: /components/sensor.mitemp_bt/
+[sensor.lastfm docs]: /components/lastfm
+[sensor.mitemp_bt docs]: /components/mitemp_bt
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.postnl docs]: /components/sensor.postnl/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.socialblade docs]: /components/sensor.socialblade/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.tahoma docs]: /components/sensor.tahoma/
-[sensor.template docs]: /components/sensor.template/
-[sensor.upnp docs]: /components/sensor.upnp/
-[sensor.uscis docs]: /components/sensor.uscis/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.pollen docs]: /components/iqvia
+[sensor.postnl docs]: /components/postnl
+[sensor.qnap docs]: /components/qnap
+[sensor.socialblade docs]: /components/socialblade
+[sensor.sql docs]: /components/sql
+[sensor.tahoma docs]: /components/tahoma
+[sensor.template docs]: /components/template
+[sensor.upnp docs]: /components/upnp
+[sensor.uscis docs]: /components/uscis
+[sensor.wunderground docs]: /components/wunderground
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.yweather docs]: /components/sensor.yweather/
-[switch.deluge docs]: /components/switch.deluge/
-[switch.fritzbox docs]: /components/switch.fritzbox/
-[switch.insteon_plm docs]: /components/switch.insteon_plm/
+[sensor.yweather docs]: /components/yweather
+[switch.deluge docs]: /components/deluge#switch
+[switch.fritzbox docs]: /components/fritzbox
+[switch.insteon_plm docs]: /components/insteon_plm/
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.rainmachine docs]: /components/switch.rainmachine/
+[switch.rainmachine docs]: /components/rainmachine#switch
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
[upnp docs]: /components/upnp/
[weather docs]: /components/weather/
-[weather.buienradar docs]: /components/weather.buienradar/
+[weather.buienradar docs]: /components/buienradar
[weather.darksky docs]: /components/weather.darksky/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
diff --git a/source/_posts/2018-05-18-release-70.markdown b/source/_posts/2018-05-18-release-70.markdown
index 7a835363c05..19a63bd5876 100644
--- a/source/_posts/2018-05-18-release-70.markdown
+++ b/source/_posts/2018-05-18-release-70.markdown
@@ -348,24 +348,24 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@w1ll1am23]: https://github.com/w1ll1am23
[api docs]: /components/api/
[auth docs]: /components/auth/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
-[binary_sensor.konnected docs]: /components/binary_sensor.konnected/
-[binary_sensor.mychevy docs]: /components/binary_sensor.mychevy/
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.isy994 docs]: /components/isy994
+[binary_sensor.konnected docs]: /components/konnected#binary-sensor
+[binary_sensor.mychevy docs]: /components/mychevy
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.zha docs]: /components/zha
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[camera docs]: /components/camera/
-[camera.familyhub docs]: /components/camera.familyhub/
-[camera.generic docs]: /components/camera.generic/
+[camera.familyhub docs]: /components/familyhub
+[camera.generic docs]: /components/generic
[climate.mysensors docs]: /components/climate.mysensors/
-[climate.sensibo docs]: /components/climate.sensibo/
-[climate.venstar docs]: /components/climate.venstar/
-[climate.wink docs]: /components/climate.wink/
-[cover.gogogate2 docs]: /components/cover.gogogate2/
+[climate.sensibo docs]: /components/sensibo
+[climate.venstar docs]: /components/venstar
+[climate.wink docs]: /components/wink#climate
+[cover.gogogate2 docs]: /components/gogogate2
[cover.mysensors docs]: /components/cover.mysensors/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.tahoma docs]: /components/tahoma
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[eufy docs]: /components/eufy/
@@ -378,64 +378,64 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
-[image_processing.facebox docs]: /components/image_processing.facebox/
+[image_processing.facebox docs]: /components/facebox
[insteon_plm docs]: /components/insteon_plm/
[iota docs]: /components/iota/
[isy994 docs]: /components/isy994/
[konnected docs]: /components/konnected/
-[light.flux_led docs]: /components/light.flux_led/
-[light.homematicip_cloud docs]: /components/light.homematicip_cloud/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.flux_led docs]: /components/flux_led
+[light.homematicip_cloud docs]: /components/homematicip_cloud/
+[light.limitlessled docs]: /components/limitlessled
[light.mqtt docs]: /components/light.mqtt/
[light.mysensors docs]: /components/light.mysensors/
[light.nanoleaf_aurora docs]: /components/nanoleaf/
-[light.wink docs]: /components/light.wink/
+[light.wink docs]: /components/wink#light
[media_extractor docs]: /components/media_extractor/
-[media_player.cmus docs]: /components/media_player.cmus/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.roku docs]: /components/media_player.roku/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.universal docs]: /components/media_player.universal/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.cmus docs]: /components/cmus
+[media_player.onkyo docs]: /components/onkyo
+[media_player.roku docs]: /components/roku#media-player
+[media_player.songpal docs]: /components/songpal
+[media_player.sonos docs]: /components/sonos
+[media_player.universal docs]: /components/universal
+[media_player.yamaha docs]: /components/yamaha
[mychevy docs]: /components/mychevy/
[mysensors docs]: /components/mysensors/
[notify docs]: /components/notify/
[qwikswitch docs]: /components/qwikswitch/
[sabnzbd docs]: /components/sabnzbd/
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
-[sensor.bom docs]: /components/sensor.bom/
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[sensor.bom docs]: /components/bom#sensor
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.fints docs]: /components/sensor.fints/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.iota docs]: /components/sensor.iota/
-[sensor.mychevy docs]: /components/sensor.mychevy/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.sabnzbd docs]: /components/sensor.sabnzbd/
-[sensor.sigfox docs]: /components/sensor.sigfox/
-[sensor.simulated docs]: /components/sensor.simulated/
-[sensor.skybeacon docs]: /components/sensor.skybeacon/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.darksky docs]: /components/darksky
+[sensor.fints docs]: /components/fints
+[sensor.hive docs]: /components/hive#sensor
+[sensor.iota docs]: /components/iota#sensor
+[sensor.mychevy docs]: /components/mychevy
+[sensor.rest docs]: /components/rest
+[sensor.sabnzbd docs]: /components/sabnzbd
+[sensor.sigfox docs]: /components/sigfox
+[sensor.simulated docs]: /components/simulated
+[sensor.skybeacon docs]: /components/skybeacon
+[sensor.statistics docs]: /components/statistics
+[sensor.waze_travel_time docs]: /components/waze_travel_time
+[sensor.zha docs]: /components/zha
[shell_command docs]: /components/shell_command/
[snips docs]: /components/snips/
[spaceapi docs]: /components/spaceapi/
-[switch.arest docs]: /components/switch.arest/
-[switch.flux docs]: /components/switch.flux/
-[switch.homematicip_cloud docs]: /components/switch.homematicip_cloud/
-[switch.konnected docs]: /components/switch.konnected/
+[switch.arest docs]: /components/arest#switch
+[switch.flux docs]: /components/flux
+[switch.homematicip_cloud docs]: /components/homematicip_cloud/
+[switch.konnected docs]: /components/konnected#switch
[switch.mqtt docs]: /components/switch.mqtt/
[switch.mysensors docs]: /components/switch.mysensors/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.tahoma docs]: /components/switch.tahoma/
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.tahoma docs]: /components/tahoma
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
[telegram_bot docs]: /components/telegram_bot/
[tts docs]: /components/tts/
[updater docs]: /components/updater/
-[weather.bom docs]: /components/weather.bom/
+[weather.bom docs]: /components/bom
[websocket_api docs]: /components/websocket_api/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
@@ -448,7 +448,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@OttoWinter]: https://github.com/OttoWinter
[@amelchio]: https://github.com/amelchio
[@ciotlosm]: https://github.com/ciotlosm
-[climate.nest docs]: /components/climate.nest/
+[climate.nest docs]: /components/nest#climate
[cover.mqtt docs]: /components/cover.mqtt/
[hue docs]: /components/hue/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.sonos docs]: /components/sonos
diff --git a/source/_posts/2018-06-10-release-71.markdown b/source/_posts/2018-06-10-release-71.markdown
index 12ce0a007b4..09229b6c0ed 100644
--- a/source/_posts/2018-06-10-release-71.markdown
+++ b/source/_posts/2018-06-10-release-71.markdown
@@ -326,25 +326,25 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tchellomello]: https://github.com/tchellomello
[@titilambert]: https://github.com/titilambert
[@treehoof]: https://github.com/treehoof
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.manual docs]: /components/manual
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[api docs]: /components/api/
[automation docs]: /components/automation/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.envisalink docs]: /components/binary_sensor.envisalink/
-[binary_sensor.hydrawise docs]: /components/binary_sensor.hydrawise/
-[binary_sensor.nest docs]: /components/binary_sensor.nest/
-[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
-[binary_sensor.random docs]: /components/binary_sensor.random/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.envisalink docs]: /components/envisalink
+[binary_sensor.hydrawise docs]: /components/hydrawise#binary-sensor
+[binary_sensor.nest docs]: /components/nest#binary-sensor
+[binary_sensor.rainmachine docs]: /components/rainmachine
+[binary_sensor.random docs]: /components/random#binary-sensor
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[climate.homematicip_cloud docs]: /components/climate.homematicip_cloud/
-[climate.nest docs]: /components/climate.nest/
-[climate.sensibo docs]: /components/climate.sensibo/
+[binary_sensor.zha docs]: /components/zha
+[climate.homematicip_cloud docs]: /components/homematicip_cloud/
+[climate.nest docs]: /components/nest#climate
+[climate.sensibo docs]: /components/sensibo
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[counter docs]: /components/counter/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[cover.ryobi_gdo docs]: /components/cover.ryobi_gdo/
[device_tracker docs]: /components/device_tracker/
[eufy docs]: /components/eufy/
@@ -356,18 +356,18 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematicip_cloud docs]: /components/homematicip_cloud/
[hydrawise docs]: /components/hydrawise/
[keyboard_remote docs]: /components/keyboard_remote/
-[light.lw12wifi docs]: /components/light.lw12wifi/
+[light.lw12wifi docs]: /components/lw12wifi
[light.nanoleaf_aurora docs]: /components/nanoleaf/
-[light.osramlightify docs]: /components/light.osramlightify/
-[light.zha docs]: /components/light.zha/
+[light.osramlightify docs]: /components/osramlightify
+[light.zha docs]: /components/zha
[linode docs]: /components/linode/
[lock.xiaomi_aqara docs]: /components/lock.xiaomi_aqara/
[logbook docs]: /components/logbook/
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.philips_js docs]: /components/media_player.philips_js/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.directv docs]: /components/directv
+[media_player.kodi docs]: /components/kodi
+[media_player.philips_js docs]: /components/philips_js
[nest docs]: /components/nest/
[notify docs]: /components/notify/
[panel_custom docs]: /components/panel_custom/
@@ -375,37 +375,37 @@ Experiencing issues introduced by this release? Please report them in our [issue
[rainbird docs]: /components/rainbird/
[raincloud docs]: /components/raincloud/
[rainmachine docs]: /components/rainmachine/
-[sensor.bitcoin docs]: /components/sensor.bitcoin/
-[sensor.bom docs]: /components/sensor.bom/
-[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.gitter docs]: /components/sensor.gitter/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
-[sensor.hydrawise docs]: /components/sensor.hydrawise/
-[sensor.iperf3 docs]: /components/sensor.iperf3/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
-[sensor.mfi docs]: /components/sensor.mfi/
-[sensor.nest docs]: /components/sensor.nest/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.onewire docs]: /components/sensor.onewire/
-[sensor.postnl docs]: /components/sensor.postnl/
-[sensor.rainmachine docs]: /components/sensor.rainmachine/
-[sensor.random docs]: /components/sensor.random/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.simulated docs]: /components/sensor.simulated/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.transmission docs]: /components/sensor.transmission/
-[sensor.uptime docs]: /components/sensor.uptime/
-[sensor.version docs]: /components/sensor.version/
-[sensor.worldclock docs]: /components/sensor.worldclock/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.bitcoin docs]: /components/bitcoin
+[sensor.bom docs]: /components/bom#sensor
+[sensor.coinmarketcap docs]: /components/coinmarketcap
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.gitter docs]: /components/gitter
+[sensor.glances docs]: /components/glances
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[sensor.hydrawise docs]: /components/hydrawise#sensor
+[sensor.iperf3 docs]: /components/iperf3
+[sensor.luftdaten docs]: /components/luftdaten#sensor
+[sensor.mfi docs]: /components/mfi#sensor
+[sensor.nest docs]: /components/nest#sensor
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.netdata docs]: /components/netdata
+[sensor.onewire docs]: /components/onewire
+[sensor.postnl docs]: /components/postnl
+[sensor.rainmachine docs]: /components/rainmachine
+[sensor.random docs]: /components/random#sensor
+[sensor.shodan docs]: /components/shodan
+[sensor.simulated docs]: /components/simulated
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.transmission docs]: /components/transmission
+[sensor.uptime docs]: /components/uptime
+[sensor.version docs]: /components/version
+[sensor.worldclock docs]: /components/worldclock
+[sensor.zha docs]: /components/zha
[shopping_list docs]: /components/shopping_list/
-[switch.hydrawise docs]: /components/switch.hydrawise/
-[switch.raincloud docs]: /components/switch.raincloud/
-[switch.rainmachine docs]: /components/switch.rainmachine/
+[switch.hydrawise docs]: /components/hydrawise#switch
+[switch.raincloud docs]: /components/raincloud#switch
+[switch.rainmachine docs]: /components/rainmachine#switch
[vera docs]: /components/vera/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
diff --git a/source/_posts/2018-06-22-release-72.markdown b/source/_posts/2018-06-22-release-72.markdown
index 9de285889d6..1231d3e56e6 100644
--- a/source/_posts/2018-06-22-release-72.markdown
+++ b/source/_posts/2018-06-22-release-72.markdown
@@ -383,72 +383,72 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@turbokongen]: https://github.com/turbokongen
[@vaidyasr]: https://github.com/vaidyasr
[@vickyg3]: https://github.com/vickyg3
-[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
+[alarm_control_panel.arlo docs]: /components/arlo
[amcrest docs]: /components/amcrest/
[arlo docs]: /components/arlo/
-[binary_sensor.eight_sleep docs]: /components/binary_sensor.eight_sleep/
-[binary_sensor.linode docs]: /components/binary_sensor.linode/
+[binary_sensor.eight_sleep docs]: /components/eight_sleep
+[binary_sensor.linode docs]: /components/linode#binary-sensor
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.mystrom docs]: /components/binary_sensor.mystrom/
-[binary_sensor.netatmo docs]: /components/binary_sensor.netatmo/
-[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
-[binary_sensor.skybell docs]: /components/binary_sensor.skybell/
-[binary_sensor.uptimerobot docs]: /components/binary_sensor.uptimerobot/
-[binary_sensor.wirelesstag docs]: /components/binary_sensor.wirelesstag/
+[binary_sensor.mystrom docs]: /components/mystrom#binary-sensor
+[binary_sensor.netatmo docs]: /components/netatmo#binary-sensor
+[binary_sensor.rainmachine docs]: /components/rainmachine
+[binary_sensor.skybell docs]: /components/skybell#binary-sensor
+[binary_sensor.uptimerobot docs]: /components/uptimerobot
+[binary_sensor.wirelesstag docs]: /components/wirelesstag#binary-sensor
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.zha docs]: /components/zha
[calendar docs]: /components/calendar/
-[calendar.caldav docs]: /components/calendar.caldav/
+[calendar.caldav docs]: /components/caldav
[camera docs]: /components/camera/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.doorbird docs]: /components/camera.doorbird/
-[camera.neato docs]: /components/camera.neato/
-[camera.netatmo docs]: /components/camera.netatmo/
-[camera.uvc docs]: /components/camera.uvc/
-[camera.xiaomi docs]: /components/camera.xiaomi/
-[camera.yi docs]: /components/camera.yi/
-[climate.fritzbox docs]: /components/climate.fritzbox/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
+[camera.arlo docs]: /components/arlo#camera
+[camera.doorbird docs]: /components/doorbird#camera
+[camera.neato docs]: /components/neato#camera
+[camera.netatmo docs]: /components/netatmo#camera
+[camera.uvc docs]: /components/uvc
+[camera.xiaomi docs]: /components/xiaomi_aqara
+[camera.yi docs]: /components/yi
+[climate.fritzbox docs]: /components/fritzbox
+[climate.generic_thermostat docs]: /components/generic_thermostat
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.netatmo docs]: /components/climate.netatmo/
-[climate.sensibo docs]: /components/climate.sensibo/
-[climate.tado docs]: /components/climate.tado/
-[climate.zhong_hong docs]: /components/climate.zhong_hong/
+[climate.netatmo docs]: /components/netatmo#climate
+[climate.sensibo docs]: /components/sensibo
+[climate.tado docs]: /components/tado
+[climate.zhong_hong docs]: /components/zhong_hong
[config docs]: /components/config/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.freebox docs]: /components/device_tracker.freebox/
+[device_tracker.freebox docs]: /components/freebox
[doorbird docs]: /components/doorbird/
[eight_sleep docs]: /components/eight_sleep/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[frontend docs]: /components/frontend/
[hassio docs]: /components/hassio/
[hue docs]: /components/hue/
-[image_processing.facebox docs]: /components/image_processing.facebox/
+[image_processing.facebox docs]: /components/facebox
[insteon_plm docs]: /components/insteon_plm/
[konnected docs]: /components/konnected/
-[light.deconz docs]: /components/light.deconz/
-[light.lifx docs]: /components/light.lifx/
+[light.deconz docs]: /components/deconz#light
+[light.lifx docs]: /components/lifx
[light.mqtt docs]: /components/light.mqtt/
-[light.mystrom docs]: /components/light.mystrom/
-[light.tplink docs]: /components/light.tplink/
-[light.tradfri docs]: /components/light.tradfri/
+[light.mystrom docs]: /components/mystrom#light
+[light.tplink docs]: /components/tplink
+[light.tradfri docs]: /components/tradfri
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[lock.kiwi docs]: /components/lock.kiwi/
+[lock.kiwi docs]: /components/kiwi
[logger docs]: /components/logger/
[media_player docs]: /components/media_player/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.epson docs]: /components/media_player.epson/
-[media_player.horizon docs]: /components/media_player.horizon/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.snapcast docs]: /components/media_player.snapcast/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.spotify docs]: /components/media_player.spotify/
-[media_player.xiaomi_tv docs]: /components/media_player.xiaomi_tv/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.epson docs]: /components/epson
+[media_player.horizon docs]: /components/horizon
+[media_player.kodi docs]: /components/kodi
+[media_player.onkyo docs]: /components/onkyo
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.snapcast docs]: /components/snapcast
+[media_player.sonos docs]: /components/sonos
+[media_player.spotify docs]: /components/spotify
+[media_player.xiaomi_tv docs]: /components/xiaomi_tv
+[media_player.yamaha docs]: /components/yamaha
[mqtt_eventstream docs]: /components/mqtt_eventstream/
[neato docs]: /components/neato/
[nest docs]: /components/nest/
@@ -461,45 +461,45 @@ Experiencing issues introduced by this release? Please report them in our [issue
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[rflink docs]: /components/rflink/
[ring docs]: /components/ring/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.eight_sleep docs]: /components/sensor.eight_sleep/
-[sensor.gearbest docs]: /components/sensor.gearbest/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.moon docs]: /components/sensor.moon/
-[sensor.nest docs]: /components/sensor.nest/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
-[sensor.nsw_fuel_station docs]: /components/sensor.nsw_fuel_station/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.rainmachine docs]: /components/sensor.rainmachine/
-[sensor.simulated docs]: /components/sensor.simulated/
-[sensor.skybell docs]: /components/sensor.skybell/
-[sensor.smappee docs]: /components/sensor.smappee/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.wirelesstag docs]: /components/sensor.wirelesstag/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.eight_sleep docs]: /components/eight_sleep
+[sensor.gearbest docs]: /components/gearbest
+[sensor.glances docs]: /components/glances
+[sensor.hive docs]: /components/hive#sensor
+[sensor.homematic docs]: /components/homematic
+[sensor.lastfm docs]: /components/lastfm
+[sensor.moon docs]: /components/moon
+[sensor.nest docs]: /components/nest#sensor
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.netgear_lte docs]: /components/netgear_lte
+[sensor.nsw_fuel_station docs]: /components/nsw_fuel_station
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.rainmachine docs]: /components/rainmachine
+[sensor.simulated docs]: /components/simulated
+[sensor.skybell docs]: /components/skybell#sensor
+[sensor.smappee docs]: /components/sma#sensorsppee/
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.wirelesstag docs]: /components/wirelesstag#sensor
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[sonos docs]: /components/sonos/
-[switch.doorbird docs]: /components/switch.doorbird/
-[switch.insteon_plm docs]: /components/switch.insteon_plm/
-[switch.linode docs]: /components/switch.linode/
-[switch.mystrom docs]: /components/switch.mystrom/
-[switch.neato docs]: /components/switch.neato/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.wirelesstag docs]: /components/switch.wirelesstag/
+[switch.doorbird docs]: /components/doorbird#switch
+[switch.insteon_plm docs]: /components/insteon_plm/
+[switch.linode docs]: /components/linode#switch
+[switch.mystrom docs]: /components/mystrom#switch
+[switch.neato docs]: /components/neato#switch
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.tplink docs]: /components/tplink
+[switch.wirelesstag docs]: /components/wirelesstag#switch
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tradfri docs]: /components/tradfri/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.neato docs]: /components/neato#vacuum
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[watson_iot docs]: /components/watson_iot/
-[weather.ecobee docs]: /components/weather.ecobee/
-[weather.ipma docs]: /components/weather.ipma/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.ecobee docs]: /components/ecobee
+[weather.ipma docs]: /components/ipma
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[wink docs]: /components/wink/
[wirelesstag docs]: /components/wirelesstag/
@@ -514,7 +514,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
-[camera.yi docs]: /components/camera.yi/
-[media_player.cast docs]: /components/media_player.cast/
+[camera.yi docs]: /components/yi
+[media_player.cast docs]: /components/cast
[nest docs]: /components/nest/
-[sensor.nest docs]: /components/sensor.nest/
+[sensor.nest docs]: /components/nest#sensor
diff --git a/source/_posts/2018-07-06-release-73.markdown b/source/_posts/2018-07-06-release-73.markdown
index e4618109724..dd9682ddc1c 100644
--- a/source/_posts/2018-07-06-release-73.markdown
+++ b/source/_posts/2018-07-06-release-73.markdown
@@ -40,7 +40,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
## Breaking Changes
-- The `pi_hole` sensor is now limited to `ads_blocked_today` by default and will no longer show all available data. Use [`monitored_conditions`](/components/sensor.pi_hole/#monitored_conditions) to list the sensors you want. ([@fabaff] - [#15014]) ([sensor.pi_hole docs]) (breaking change)
+- The `pi_hole` sensor is now limited to `ads_blocked_today` by default and will no longer show all available data. Use [`monitored_conditions`](/components/pi_hole#monitored_conditions) to list the sensors you want. ([@fabaff] - [#15014]) ([sensor.pi_hole docs]) (breaking change)
- Update PostNL unit of measure to `packages` to align with UPS ([@keesschollaart81] - [#15023]) ([sensor.postnl docs]) (breaking change)
- Various attributes have been relocated to sensors that make more sense; additionally, some names are corrected. More info in [#14963] ([@bachya] - [#14963]) ([sensor.pollen docs]) (breaking change)
- The filter option for prometheus was aligned with other components ([@alexbarcelo] - [#13738]) ([prometheus docs]) (breaking change)
@@ -263,20 +263,20 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@w1ll1am23]: https://github.com/w1ll1am23
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
[arlo docs]: /components/arlo/
-[binary_sensor.digital_ocean docs]: /components/binary_sensor.digital_ocean/
-[binary_sensor.flic docs]: /components/binary_sensor.flic/
-[binary_sensor.nest docs]: /components/binary_sensor.nest/
-[binary_sensor.rachio docs]: /components/binary_sensor.rachio/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
+[binary_sensor.digital_ocean docs]: /components/digital_ocean#binary-sensor
+[binary_sensor.flic docs]: /components/flic
+[binary_sensor.nest docs]: /components/nest#binary-sensor
+[binary_sensor.rachio docs]: /components/rachio
+[binary_sensor.trend docs]: /components/trend
[camera docs]: /components/camera/
-[camera.neato docs]: /components/camera.neato/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.xiaomi docs]: /components/camera.xiaomi/
-[climate.homekit_controller docs]: /components/climate.homekit_controller/
+[camera.neato docs]: /components/neato#camera
+[camera.proxy docs]: /components/proxy
+[camera.xiaomi docs]: /components/xiaomi_aqara
+[climate.homekit_controller docs]: /components/homekit_controller
[climate.mqtt docs]: /components/climate.mqtt/
[climate.mysensors docs]: /components/climate.mysensors/
-[climate.zwave docs]: /components/climate.zwave/
-[cover.wink docs]: /components/cover.wink/
+[climate.zwave docs]: /components/zwave#climate
+[cover.wink docs]: /components/wink#cover
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[digital_ocean docs]: /components/digital_ocean/
@@ -287,19 +287,19 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematic docs]: /components/homematic/
[http docs]: /components/http/
[hue docs]: /components/hue/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[insteon_plm docs]: /components/insteon_plm/
-[light.deconz docs]: /components/light.deconz/
-[light.flux_led docs]: /components/light.flux_led/
-[light.homekit_controller docs]: /components/light.homekit_controller/
-[light.lifx docs]: /components/light.lifx/
-[light.tplink docs]: /components/light.tplink/
-[light.wemo docs]: /components/light.wemo/
+[light.deconz docs]: /components/deconz#light
+[light.flux_led docs]: /components/flux_led
+[light.homekit_controller docs]: /components/homekit_controller
+[light.lifx docs]: /components/lifx
+[light.tplink docs]: /components/tplink
+[light.wemo docs]: /components/wemo
[media_extractor docs]: /components/media_extractor/
-[media_player.braviatv docs]: /components/media_player.braviatv/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.vizio docs]: /components/media_player.vizio/
+[media_player.braviatv docs]: /components/braviatv
+[media_player.firetv docs]: /components/androidtv
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.vizio docs]: /components/vizio
[mqtt docs]: /components/mqtt/
[neato docs]: /components/neato/
[netgear_lte docs]: /components/netgear_lte/
@@ -307,20 +307,20 @@ Experiencing issues introduced by this release? Please report them in our [issue
[nuimo_controller docs]: /components/nuimo_controller/
[prometheus docs]: /components/prometheus/
[rachio docs]: /components/rachio/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.fitbit docs]: /components/sensor.fitbit/
-[sensor.loopenergy docs]: /components/sensor.loopenergy/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.postnl docs]: /components/sensor.postnl/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.dht docs]: /components/dht
+[sensor.fitbit docs]: /components/fitbit
+[sensor.loopenergy docs]: /components/loopenergy
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.pollen docs]: /components/iqvia
+[sensor.postnl docs]: /components/postnl
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
-[switch.anel_pwrctrl docs]: /components/switch.anel_pwrctrl/
-[switch.digital_ocean docs]: /components/switch.digital_ocean/
-[switch.homekit_controller docs]: /components/switch.homekit_controller/
-[switch.neato docs]: /components/switch.neato/
-[switch.rachio docs]: /components/switch.rachio/
-[vacuum.neato docs]: /components/vacuum.neato/
+[switch.anel_pwrctrl docs]: /components/anel_pwrctrl
+[switch.digital_ocean docs]: /components/digital_ocean#switch
+[switch.homekit_controller docs]: /components/homekit_controller
+[switch.neato docs]: /components/neato#switch
+[switch.rachio docs]: /components/rachio#switch
+[vacuum.neato docs]: /components/neato#vacuum
[weather.darksky docs]: /components/weather.darksky/
[wemo docs]: /components/wemo/
[wink docs]: /components/wink/
diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown
index 2cbd1909c2e..97b601c3e0c 100644
--- a/source/_posts/2018-07-16-release-73-2.markdown
+++ b/source/_posts/2018-07-16-release-73-2.markdown
@@ -14,40 +14,40 @@ A man in the middle attack is when an attacker is able to inject itself between
After research, the following integrations have been impacted. Although the odds are extremely small, we still suggest that if you use any of these integrations, to create new API keys or change your password.
-- [alarm_control_panel.alarmdotcom](/components/alarm_control_panel.alarmdotcom/)
-- [climate.sensibo](/components/climate.sensibo/)
+- [alarm_control_panel.alarmdotcom](/components/alarmdotcom)
+- [climate.sensibo](/components/sensibo)
- [cloud](/components/cloud/) (only short lived tokens impacted)
-- [device_tracker.automatic](/components/device_tracker.automatic/)
+- [device_tracker.automatic](/components/automatic)
- [duckdns](/components/duckdns/)
- [freedns](/components/freedns/)
- [google_assistant](/components/google_assistant/) (manual setup)
- [google_domains](/components/google_domains/)
- [homematicip_cloud](/components/homematicip_cloud/)
-- [image_processing.openalpr_cloud](/components/image_processing.openalpr_cloud/)
+- [image_processing.openalpr_cloud](/components/openalpr_local_cloud)
- [microsoft_face](/components/microsoft_face/)
- [namecheapdns](/components/namecheapdns/)
- [no_ip](/components/no_ip/)
-- [notify.flock](/components/notify.flock/)
-- [notify.prowl](/components/notify.prowl/)
+- [notify.flock](/components/flock)
+- [notify.prowl](/components/prowl)
- [rest_command](/components/rest_command/)
-- [scene.lifx_cloud](/components/scene.lifx_cloud/)
-- [switch.hook](/components/switch.hook/)
+- [scene.lifx_cloud](/components/lifx_cloud)
+- [switch.hook](/components/hook)
- [switch.rest](/components/switch.rest/)
-- [telegram_bot.polling](/components/telegram_bot.polling/)
-- [tts.voicerss](/components/tts.voicerss/)
+- [telegram_bot.polling](/components/polling)
+- [tts.voicerss](/components/voicerss)
Also impacted, but integrations are read only:
-- [sensor.airvisual](/components/sensor.airvisual/)
-- [sensor.ebox](/components/sensor.ebox/)
-- [sensor.fido](/components/sensor.fido/)
-- [sensor.foobot](/components/sensor.foobot/)
-- [sensor.hydroquebec](/components/sensor.hydroquebec/)
-- [sensor.startca](/components/sensor.startca/)
-- [sensor.teksavvy](/components/sensor.teksavvy/)
-- [sensor.thethingsnetwork](/components/sensor.thethingsnetwork/)
-- [sensor.tibber](/components/sensor.tibber/)
-- [sensor.waqi](/components/sensor.waqi/)
+- [sensor.airvisual](/components/airvisual)
+- [sensor.ebox](/components/ebox)
+- [sensor.fido](/components/fido)
+- [sensor.foobot](/components/foobot)
+- [sensor.hydroquebec](/components/hydroquebec)
+- [sensor.startca](/components/startca)
+- [sensor.teksavvy](/components/teksavvy)
+- [sensor.thethingsnetwork](/components/thethingsnetwork#sensor)
+- [sensor.tibber](/components/tibber#sensor)
+- [sensor.waqi](/components/waqi)
If you are running Home Assistant on a system with Python 3.4, we've created a new release 0.64.4b0 with the patch applied. We have made it available as a beta. To install the pre-release run `python3 -m pip install homeassistant==0.64.4b0`.
@@ -58,47 +58,47 @@ For complete transparency, the following two sets of integrations also used aioh
Affected, but not transmitting authentication:
- [sensor.buienradar](/components/sensor.buienradar/)
-- [sensor.citybikes](/components/sensor.citybikes/)
-- [sensor.comed_hourly_pricing](/components/sensor.comed_hourly_pricing/)
-- [sensor.luftdaten](/components/sensor.luftdaten/)
-- [sensor.pollen](/components/sensor.pollen/)
-- [sensor.sochain](/components/sensor.sochain/)
-- [sensor.swiss_public_transport](/components/sensor.swiss_public_transport/)
-- [sensor.viaggiatreno](/components/sensor.viaggiatreno/)
-- [sensor.wunderground](/components/sensor.wunderground/)
-- [sensor.yr](/components/sensor.yr/)
-- [weather.ipma](/components/weather.ipma/)
-- [tts.google](/components/tts.google/)
-- [tts.yandextts](/components/tts.yandextts/)
+- [sensor.citybikes](/components/citybikes)
+- [sensor.comed_hourly_pricing](/components/comed_hourly_pricing)
+- [sensor.luftdaten](/components/luftdaten#sensor)
+- [sensor.pollen](/components/iqvia)
+- [sensor.sochain](/components/sochain)
+- [sensor.swiss_public_transport](/components/swiss_public_transport)
+- [sensor.viaggiatreno](/components/viaggiatreno)
+- [sensor.wunderground](/components/wunderground)
+- [sensor.yr](/components/yr)
+- [weather.ipma](/components/ipma)
+- [tts.google](/components/google_translate)
+- [tts.yandextts](/components/yandextts)
- [updater](/components/updater/)
Local, so cannot be impacted:
- [android_ip_webcam](/components/android_ip_webcam/)
- [apple_tv](/components/apple_tv/)
-- [camera.amcrest](/components/camera.amcrest/)
-- [camera.doorbird](/components/camera.doorbird/)
-- [camera.familyhub](/components/camera.familyhub/)
-- [camera.generic](/components/camera.generic/)
-- [camera.mjpeg](/components/camera.mjpeg/)
-- [camera.proxy](/components/camera.proxy/)
-- [camera.synology](/components/camera.synology/)
+- [camera.amcrest](/components/amcrest)
+- [camera.doorbird](/components/doorbird#camera)
+- [camera.familyhub](/components/familyhub)
+- [camera.generic](/components/generic)
+- [camera.mjpeg](/components/mjpeg)
+- [camera.proxy](/components/proxy)
+- [camera.synology](/components/synology)
- [deconz](/components/deconz/)
-- [device_tracker.upc_connect](/components/device_tracker.upc_connect/)
+- [device_tracker.upc_connect](/components/upc_connect)
- [hassio](/components/hassio/)
- [hue](/components/hue/)
-- [media_player.bluesound](/components/media_player.bluesound/)
-- [media_player.epson](/components/media_player.epson/)
-- [media_player.kodi](/components/media_player.kodi/)
-- [media_player.squeezebox](/components/media_player.squeezebox/)
-- [media_player.volumio](/components/media_player.volumio/)
-- [notify.kodi](/components/notify.kodi/)
+- [media_player.bluesound](/components/bluesound)
+- [media_player.epson](/components/epson)
+- [media_player.kodi](/components/kodi)
+- [media_player.squeezebox](/components/squeezebox)
+- [media_player.volumio](/components/volumio)
+- [notify.kodi](/components/kodi)
- [qwikswitch](/components/qwikswitch/)
- [rainmachine](/components/rainmachine/)
-- [scene.hunterdouglas_powerview](/components/scene.hunterdouglas_powerview/)
-- [sensor.netdata](/components/sensor.netdata/)
-- [sensor.pi_hole](/components/sensor.pi_hole/)
-- [sensor.sma](/components/sensor.sma/)
-- [sensor.worxlandroid](/components/sensor.worxlandroid/)
+- [scene.hunterdouglas_powerview](/components/hunterdouglas_powerview)
+- [sensor.netdata](/components/netdata)
+- [sensor.pi_hole](/components/pi_hole)
+- [sensor.sma](/components/sma#sensors)
+- [sensor.worxlandroid](/components/worxlandroid)
- [spc](/components/spc/)
-- [tts.marytts](/components/tts.marytts/)
+- [tts.marytts](/components/marytts)
diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown
index 89b569e3cfd..b59ad718dec 100644
--- a/source/_posts/2018-07-21-release-74.markdown
+++ b/source/_posts/2018-07-21-release-74.markdown
@@ -326,26 +326,26 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@teharris1]: https://github.com/teharris1
[@w1ll1am23]: https://github.com/w1ll1am23
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.homematicip_cloud docs]: /components/alarm_control_panel.homematicip_cloud/
+[alarm_control_panel.homematicip_cloud docs]: /components/homematicip_cloud
[alexa docs]: /components/alexa/
[auth docs]: /components/auth/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.ring docs]: /components/ring#binary-sensor
[calendar.google docs]: /components/calendar.google/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.push docs]: /components/camera.push/
-[climate.fritzbox docs]: /components/climate.fritzbox/
+[camera.onvif docs]: /components/onvif
+[camera.push docs]: /components/push
+[climate.fritzbox docs]: /components/fritzbox
[cloudflare docs]: /components/cloudflare/
[config docs]: /components/config/
[cover.group docs]: /components/cover.group/
-[cover.lutron_caseta docs]: /components/cover.lutron_caseta/
+[cover.lutron_caseta docs]: /components/lutron_caseta/
[cover.mqtt docs]: /components/cover.mqtt/
[cover.rflink docs]: /components/cover.rflink/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.tahoma docs]: /components/tahoma
[cover.template docs]: /components/cover.template/
[cover.velbus docs]: /components/cover.velbus/
-[cover.wink docs]: /components/cover.wink/
+[cover.wink docs]: /components/wink#cover
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[dialogflow docs]: /components/dialogflow/
@@ -354,57 +354,57 @@ Experiencing issues introduced by this release? Please report them in our [issue
[eufy docs]: /components/eufy/
[fritzbox docs]: /components/fritzbox/
[frontend docs]: /components/frontend/
-[google docs]: /components/google/
+[google docs]: /components/google_translate
[google_assistant docs]: /components/google_assistant/
[homekit_controller docs]: /components/homekit_controller/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[image_processing docs]: /components/image_processing/
-[image_processing.facebox docs]: /components/image_processing.facebox/
-[light.deconz docs]: /components/light.deconz/
-[light.eufy docs]: /components/light.eufy/
-[light.flux_led docs]: /components/light.flux_led/
-[light.homematicip_cloud docs]: /components/light.homematicip_cloud/
-[light.limitlessled docs]: /components/light.limitlessled/
-[light.mystrom docs]: /components/light.mystrom/
-[light.tuya docs]: /components/light.tuya/
+[image_processing.facebox docs]: /components/facebox
+[light.deconz docs]: /components/deconz#light
+[light.eufy docs]: /components/eufy
+[light.flux_led docs]: /components/flux_led
+[light.homematicip_cloud docs]: /components/homematicip_cloud/
+[light.limitlessled docs]: /components/limitlessled
+[light.mystrom docs]: /components/mystrom#light
+[light.tuya docs]: /components/tuya
[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/
-[light.zwave docs]: /components/light.zwave/
+[light.zwave docs]: /components/zwave
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.lg_netcast docs]: /components/media_player.lg_netcast/
-[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/
-[media_player.philips_js docs]: /components/media_player.philips_js/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.lg_netcast docs]: /components/lg_netcast
+[media_player.liveboxplaytv docs]: /components/liveboxplaytv
+[media_player.philips_js docs]: /components/philips_js
[mysensors docs]: /components/mysensors/
[onboarding docs]: /components/onboarding/
[prometheus docs]: /components/prometheus/
-[sensor.arlo docs]: /components/sensor.arlo/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.duke_energy docs]: /components/sensor.duke_energy/
-[sensor.efergy docs]: /components/sensor.efergy/
-[sensor.fixer docs]: /components/sensor.fixer/
-[sensor.gtfs docs]: /components/sensor.gtfs/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.nut docs]: /components/sensor.nut/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
-[sensor.wirelesstag docs]: /components/sensor.wirelesstag/
-[switch.amcrest docs]: /components/switch.amcrest/
-[switch.enocean docs]: /components/switch.enocean/
-[switch.eufy docs]: /components/switch.eufy/
-[switch.fritzbox docs]: /components/switch.fritzbox/
-[switch.insteon_plm docs]: /components/switch.insteon_plm/
-[switch.tuya docs]: /components/switch.tuya/
+[sensor.arlo docs]: /components/arlo#sensor
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.duke_energy docs]: /components/duke_energy
+[sensor.efergy docs]: /components/efergy
+[sensor.fixer docs]: /components/fixer
+[sensor.gtfs docs]: /components/gtfs
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.nut docs]: /components/nut
+[sensor.sql docs]: /components/sql
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.waze_travel_time docs]: /components/waze_travel_time
+[sensor.wirelesstag docs]: /components/wirelesstag#sensor
+[switch.amcrest docs]: /components/amcrest
+[switch.enocean docs]: /components/enocean#switch
+[switch.eufy docs]: /components/eufy
+[switch.fritzbox docs]: /components/fritzbox
+[switch.insteon_plm docs]: /components/insteon_plm/
+[switch.tuya docs]: /components/tuya
[tahoma docs]: /components/tahoma/
[tts docs]: /components/tts/
[tuya docs]: /components/tuya/
-[vacuum.roomba docs]: /components/vacuum.roomba/
+[vacuum.roomba docs]: /components/roomba
[watson_iot docs]: /components/watson_iot/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[#15600]: https://github.com/home-assistant/home-assistant/pull/15600
[#15604]: https://github.com/home-assistant/home-assistant/pull/15604
@@ -417,5 +417,5 @@ Experiencing issues introduced by this release? Please report them in our [issue
[cast docs]: /components/cast/
[frontend docs]: /components/frontend/
[homekit docs]: /components/homekit/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.sonos docs]: /components/sonos
[sonos docs]: /components/sonos/
diff --git a/source/_posts/2018-08-03-release-75.markdown b/source/_posts/2018-08-03-release-75.markdown
index 0e2a81f7a81..5b5b1f32b72 100644
--- a/source/_posts/2018-08-03-release-75.markdown
+++ b/source/_posts/2018-08-03-release-75.markdown
@@ -305,64 +305,64 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@w1ll1am23]: https://github.com/w1ll1am23
[@wingy3181]: https://github.com/wingy3181
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
[alarmdecoder docs]: /components/alarmdecoder/
[api docs]: /components/api/
[apple_tv docs]: /components/apple_tv/
[arlo docs]: /components/arlo/
[auth docs]: /components/auth/
-[binary_sensor.alarmdecoder docs]: /components/binary_sensor.alarmdecoder/
-[binary_sensor.ihc docs]: /components/binary_sensor.ihc/
-[binary_sensor.insteon_plm docs]: /components/binary_sensor.insteon_plm/
-[binary_sensor.tahoma docs]: /components/binary_sensor.tahoma/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[calendar.todoist docs]: /components/calendar.todoist/
+[binary_sensor.alarmdecoder docs]: /components/alarmdecoder
+[binary_sensor.ihc docs]: /components/ihc#binary-sensor
+[binary_sensor.insteon_plm docs]: /components/insteon_plm/
+[binary_sensor.tahoma docs]: /components/tahoma
+[binary_sensor.trend docs]: /components/trend
+[calendar.todoist docs]: /components/todoist
[camera docs]: /components/camera/
[camera.demo docs]: /components/camera.demo/
-[camera.nest docs]: /components/camera.nest/
-[camera.proxy docs]: /components/camera.proxy/
-[climate.heatmiser docs]: /components/climate.heatmiser/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.spider docs]: /components/climate.spider/
-[climate.tuya docs]: /components/climate.tuya/
+[camera.nest docs]: /components/nest#camera
+[camera.proxy docs]: /components/proxy
+[climate.heatmiser docs]: /components/heatmiser
+[climate.honeywell docs]: /components/honeywell
+[climate.spider docs]: /components/spider#climate
+[climate.tuya docs]: /components/tuya
[cloud docs]: /components/cloud/
[config docs]: /components/config/
-[cover.aladdin_connect docs]: /components/cover.aladdin_connect/
-[cover.brunt docs]: /components/cover.brunt/
-[cover.tuya docs]: /components/cover.tuya/
+[cover.aladdin_connect docs]: /components/aladdin_connect
+[cover.brunt docs]: /components/brunt
+[cover.tuya docs]: /components/tuya
[device_tracker docs]: /components/device_tracker/
-[device_tracker.tile docs]: /components/device_tracker.tile/
+[device_tracker.tile docs]: /components/tile
[fan docs]: /components/fan/
-[fan.comfoconnect docs]: /components/fan.comfoconnect/
-[fan.dyson docs]: /components/fan.dyson/
-[fan.insteon_local docs]: /components/fan.insteon_local/
+[fan.comfoconnect docs]: /components/comfoconnect
+[fan.dyson docs]: /components/dyson#fan
+[fan.insteon_local docs]: /components/insteon_local/
[fan.template docs]: /components/fan.template/
-[fan.tuya docs]: /components/fan.tuya/
-[fan.wink docs]: /components/fan.wink/
-[fan.zha docs]: /components/fan.zha/
+[fan.tuya docs]: /components/tuya
+[fan.wink docs]: /components/wink#fan
+[fan.zha docs]: /components/zha
[google_assistant docs]: /components/google_assistant/
[hassio docs]: /components/hassio/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[ihc docs]: /components/ihc/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[insteon_plm docs]: /components/insteon_plm/
[light docs]: /components/light/
-[light.deconz docs]: /components/light.deconz/
-[light.futurenow docs]: /components/light.futurenow/
-[light.ihc docs]: /components/light.ihc/
+[light.deconz docs]: /components/deconz#light
+[light.futurenow docs]: /components/futurenow
+[light.ihc docs]: /components/ihc#light
[light.mqtt docs]: /components/light.mqtt/
-[light.sisyphus docs]: /components/light.sisyphus/
-[light.tplink docs]: /components/light.tplink/
+[light.sisyphus docs]: /components/sisyphus
+[light.tplink docs]: /components/tplink
[mailgun docs]: /components/mailgun/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.bluesound docs]: /components/media_player.bluesound/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.pandora docs]: /components/media_player.pandora/
-[media_player.sisyphus docs]: /components/media_player.sisyphus/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.bluesound docs]: /components/bluesound
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.pandora docs]: /components/pandora
+[media_player.sisyphus docs]: /components/sisyphus
+[media_player.sonos docs]: /components/sonos
[mqtt docs]: /components/mqtt/
[neato docs]: /components/neato/
[nest docs]: /components/nest/
@@ -370,43 +370,43 @@ Experiencing issues introduced by this release? Please report them in our [issue
[netgear_lte docs]: /components/netgear_lte/
[notify docs]: /components/notify/
[rachio docs]: /components/rachio/
-[scene.tuya docs]: /components/scene.tuya/
-[sensor.bme280 docs]: /components/sensor.bme280/
+[scene.tuya docs]: /components/tuya
+[sensor.bme280 docs]: /components/bme280
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.citybikes docs]: /components/sensor.citybikes/
+[sensor.citybikes docs]: /components/citybikes
[sensor.command_line docs]: /components/sensor.command_line/
-[sensor.fritzbox_callmonitor docs]: /components/sensor.fritzbox_callmonitor/
-[sensor.geizhals docs]: /components/sensor.geizhals/
-[sensor.ihc docs]: /components/sensor.ihc/
-[sensor.magicseaweed docs]: /components/sensor.magicseaweed/
-[sensor.modem_callerid docs]: /components/sensor.modem_callerid/
-[sensor.moon docs]: /components/sensor.moon/
-[sensor.mvglive docs]: /components/sensor.mvglive/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
-[sensor.nzbget docs]: /components/sensor.nzbget/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.pyload docs]: /components/sensor.pyload/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.sql docs]: /components/sensor.sql/
+[sensor.fritzbox_callmonitor docs]: /components/fritzbox#sensor_callmonitor/
+[sensor.geizhals docs]: /components/geizhals
+[sensor.ihc docs]: /components/ihc#sensor
+[sensor.magicseaweed docs]: /components/magicseaweed
+[sensor.modem_callerid docs]: /components/modem_callerid
+[sensor.moon docs]: /components/moon
+[sensor.mvglive docs]: /components/mvglive
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.netgear_lte docs]: /components/netgear_lte
+[sensor.nzbget docs]: /components/nzbget
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.pollen docs]: /components/iqvia
+[sensor.pyload docs]: /components/pyload
+[sensor.scrape docs]: /components/scrape
+[sensor.sql docs]: /components/sql
[sensor.strings.moon.json docs]: /components/sensor.strings.moon.json/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[sisyphus docs]: /components/sisyphus/
[smappee docs]: /components/smappee/
[spider docs]: /components/spider/
[switch docs]: /components/switch/
-[switch.ihc docs]: /components/switch.ihc/
-[switch.insteon_plm docs]: /components/switch.insteon_plm/
+[switch.ihc docs]: /components/ihc#switch
+[switch.insteon_plm docs]: /components/insteon_plm/
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.spider docs]: /components/switch.spider/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.spider docs]: /components/spider
+[switch.tplink docs]: /components/tplink
[tahoma docs]: /components/tahoma/
[tts docs]: /components/tts/
[tuya docs]: /components/tuya/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.neato docs]: /components/neato#vacuum
[vera docs]: /components/vera/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[wemo docs]: /components/wemo/
[zwave docs]: /components/zwave/
@@ -415,7 +415,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@Danielhiversen]: https://github.com/Danielhiversen
[@superpuffin]: https://github.com/superpuffin
[rfxtrx docs]: /components/rfxtrx/
-[sensor.dht docs]: /components/sensor.dht/
+[sensor.dht docs]: /components/dht
[#15830]: https://github.com/home-assistant/home-assistant/pull/15830
[#15832]: https://github.com/home-assistant/home-assistant/pull/15832
[@Cinntax]: https://github.com/Cinntax
diff --git a/source/_posts/2018-08-17-release-76.markdown b/source/_posts/2018-08-17-release-76.markdown
index b9573bdca2b..3cceffb4b09 100644
--- a/source/_posts/2018-08-17-release-76.markdown
+++ b/source/_posts/2018-08-17-release-76.markdown
@@ -335,33 +335,33 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@vrih]: https://github.com/vrih
[august docs]: /components/august/
[auth docs]: /components/auth/
-[binary_sensor.bayesian docs]: /components/binary_sensor.bayesian/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.openuv docs]: /components/binary_sensor.openuv/
-[binary_sensor.threshold docs]: /components/binary_sensor.threshold/
-[binary_sensor.velbus docs]: /components/binary_sensor.velbus/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
-[calendar.todoist docs]: /components/calendar.todoist/
-[camera.yi docs]: /components/camera.yi/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.radiotherm docs]: /components/climate.radiotherm/
+[binary_sensor.bayesian docs]: /components/bayesian
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.openuv docs]: /components/openuv
+[binary_sensor.threshold docs]: /components/threshold
+[binary_sensor.velbus docs]: /components/velbus
+[binary_sensor.workday docs]: /components/workday
+[calendar.todoist docs]: /components/todoist
+[camera.yi docs]: /components/yi
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.radiotherm docs]: /components/radiotherm
[config docs]: /components/config/
-[cover.tahoma docs]: /components/cover.tahoma/
+[cover.tahoma docs]: /components/tahoma
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
-[fan.dyson docs]: /components/fan.dyson/
+[fan.dyson docs]: /components/dyson#fan
[fan.velbus docs]: /components/fan.velbus/
[hassio docs]: /components/hassio/
[http docs]: /components/http/
-[image_processing.facebox docs]: /components/image_processing.facebox/
-[light.deconz docs]: /components/light.deconz/
+[image_processing.facebox docs]: /components/facebox
+[light.deconz docs]: /components/deconz#light
[light.group docs]: /components/light.group/
[light.velbus docs]: /components/velbus/
[media_extractor docs]: /components/media_extractor/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.mediaroom docs]: /components/media_player.mediaroom/
-[media_player.pjlink docs]: /components/media_player.pjlink/
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.kodi docs]: /components/kodi
+[media_player.mediaroom docs]: /components/mediaroom
+[media_player.pjlink docs]: /components/pjlink
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
[nest docs]: /components/nest/
@@ -369,30 +369,30 @@ Experiencing issues introduced by this release? Please report them in our [issue
[onboarding docs]: /components/onboarding/
[openuv docs]: /components/openuv/
[persistent_notification docs]: /components/persistent_notification/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.enphase_envoy docs]: /components/sensor.enphase_envoy/
-[sensor.irish_rail_transport docs]: /components/sensor.irish_rail_transport/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.min_max docs]: /components/sensor.min_max/
-[sensor.opensky docs]: /components/sensor.opensky/
-[sensor.openuv docs]: /components/sensor.openuv/
-[sensor.rmvtransport docs]: /components/sensor.rmvtransport/
-[sensor.sense docs]: /components/sensor.sense/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.sonarr docs]: /components/sensor.sonarr/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
-[sensor.worxlandroid docs]: /components/sensor.worxlandroid/
-[switch.amcrest docs]: /components/switch.amcrest/
-[switch.deconz docs]: /components/switch.deconz/
-[switch.snmp docs]: /components/switch.snmp/
-[switch.velbus docs]: /components/switch.velbus/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.enphase_envoy docs]: /components/enphase_envoy
+[sensor.irish_rail_transport docs]: /components/irish_rail_transport
+[sensor.lastfm docs]: /components/lastfm
+[sensor.min_max docs]: /components/min_max
+[sensor.opensky docs]: /components/opensky
+[sensor.openuv docs]: /components/openuv
+[sensor.rmvtransport docs]: /components/rmvtransport
+[sensor.sense docs]: /components/sense
+[sensor.shodan docs]: /components/shodan
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.sonarr docs]: /components/sonarr
+[sensor.statistics docs]: /components/statistics
+[sensor.waze_travel_time docs]: /components/waze_travel_time
+[sensor.worxlandroid docs]: /components/worxlandroid
+[switch.amcrest docs]: /components/amcrest
+[switch.deconz docs]: /components/deconz#switch
+[switch.snmp docs]: /components/snmp#switch
+[switch.velbus docs]: /components/velbus
[tahoma docs]: /components/tahoma/
[vacuum docs]: /components/vacuum/
[vacuum.demo docs]: /components/vacuum.demo/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[velbus docs]: /components/velbus/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[zwave docs]: /components/zwave/
diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown
index 645ff5a17c6..2a5d0fce1d0 100644
--- a/source/_posts/2018-08-29-release-77.markdown
+++ b/source/_posts/2018-08-29-release-77.markdown
@@ -76,7 +76,7 @@ You didn't think we would forget about Lovelace, did you? This release include a
[@exxamalte]: https://github.com/exxamalte
[@lamiskin]: https://github.com/lamiskin
[feedreader docs]: /components/feedreader/
-[light.lifx docs]: /components/light.lifx/
+[light.lifx docs]: /components/lifx
[wemo docs]: /components/wemo/
## Release 0.77.3 - September 3
@@ -418,26 +418,26 @@ Experiencing issues introduced by this release? Please report them in our [issue
[alexa docs]: /components/alexa/
[api docs]: /components/api/
[auth docs]: /components/auth/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.wemo docs]: /components/binary_sensor.wemo/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.wemo docs]: /components/wemo
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[calendar.google docs]: /components/calendar.google/
[camera docs]: /components/camera/
-[camera.generic docs]: /components/camera.generic/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.push docs]: /components/camera.push/
+[camera.generic docs]: /components/generic
+[camera.proxy docs]: /components/proxy
+[camera.push docs]: /components/push
[climate docs]: /components/climate/
-[climate.ephember docs]: /components/climate.ephember/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
+[climate.ephember docs]: /components/ephember
+[climate.generic_thermostat docs]: /components/generic_thermostat
[climate.knx docs]: /components/climate.knx/
-[climate.maxcube docs]: /components/climate.maxcube/
-[climate.sensibo docs]: /components/climate.sensibo/
+[climate.maxcube docs]: /components/maxcube
+[climate.sensibo docs]: /components/sensibo
[config docs]: /components/config/
[conversation docs]: /components/conversation/
-[cover.aladdin_connect docs]: /components/cover.aladdin_connect/
-[cover.brunt docs]: /components/cover.brunt/
+[cover.aladdin_connect docs]: /components/aladdin_connect
+[cover.brunt docs]: /components/brunt
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[ecovacs docs]: /components/ecovacs/
@@ -446,48 +446,48 @@ Experiencing issues introduced by this release? Please report them in our [issue
[hassio docs]: /components/hassio/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[input_datetime docs]: /components/input_datetime/
[insteon_local docs]: /components/insteon_local/
[insteon_plm docs]: /components/insteon_plm/
[konnected docs]: /components/konnected/
-[light.deconz docs]: /components/light.deconz/
-[light.wemo docs]: /components/light.wemo/
+[light.deconz docs]: /components/deconz#light
+[light.wemo docs]: /components/wemo
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[lock.bmw_connected_drive docs]: /components/lock.bmw_connected_drive/
+[lock.bmw_connected_drive docs]: /components/bmw_connected_drive
[media_extractor docs]: /components/media_extractor/
-[media_player.frontier_silicon docs]: /components/media_player.frontier_silicon/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.sonos docs]: /components/media_player.sonos/
+[media_player.frontier_silicon docs]: /components/frontier_silicon
+[media_player.mpd docs]: /components/mpd
+[media_player.plex docs]: /components/plex#media-player
+[media_player.sonos docs]: /components/sonos
[mqtt_eventstream docs]: /components/mqtt_eventstream/
[mqtt_statestream docs]: /components/mqtt_statestream/
[notify docs]: /components/notify/
[openuv docs]: /components/openuv/
[panel_custom docs]: /components/panel_custom/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.geizhals docs]: /components/sensor.geizhals/
-[sensor.glances docs]: /components/sensor.glances/
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.geizhals docs]: /components/geizhals
+[sensor.glances docs]: /components/glances
[sensor.netatmo_public docs]: /components/netatmo/#sensor
-[sensor.noaa_tides docs]: /components/sensor.noaa_tides/
-[sensor.openuv docs]: /components/sensor.openuv/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.worldtidesinfo docs]: /components/sensor.worldtidesinfo/
+[sensor.noaa_tides docs]: /components/noaa_tides
+[sensor.openuv docs]: /components/openuv
+[sensor.scrape docs]: /components/scrape
+[sensor.shodan docs]: /components/shodan
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.worldtidesinfo docs]: /components/worldtidesinfo
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[sonos docs]: /components/sonos/
[splunk docs]: /components/splunk/
-[switch.deconz docs]: /components/switch.deconz/
-[switch.fritzdect docs]: /components/switch.fritzdect/
-[switch.konnected docs]: /components/switch.konnected/
-[switch.wemo docs]: /components/switch.wemo/
+[switch.deconz docs]: /components/deconz#switch
+[switch.fritzdect docs]: /components/fritzdect
+[switch.konnected docs]: /components/konnected#switch
+[switch.wemo docs]: /components/wemo
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tellduslive docs]: /components/tellduslive/
[upnp docs]: /components/upnp/
-[vacuum.ecovacs docs]: /components/vacuum.ecovacs/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.ecovacs docs]: /components/ecovacs#vacuum
+[vacuum.neato docs]: /components/neato#vacuum
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[waterfurnace docs]: /components/waterfurnace/
[websocket_api docs]: /components/websocket_api/
diff --git a/source/_posts/2018-09-15-release-78.markdown b/source/_posts/2018-09-15-release-78.markdown
index fb947a4f5c4..36dbe8f7bb4 100644
--- a/source/_posts/2018-09-15-release-78.markdown
+++ b/source/_posts/2018-09-15-release-78.markdown
@@ -43,8 +43,8 @@ Also on your profile page is a new list of existing refresh tokens. These are al
[@awarecan]: https://github.com/awarecan
[@frenck]: https://github.com/frenck
[@mtdcr]: https://github.com/mtdcr
-[media_player.cast docs]: /components/media_player.cast/
-[sensor.snmp docs]: /components/sensor.snmp/
+[media_player.cast docs]: /components/cast
+[sensor.snmp docs]: /components/snmp#sensor
## Release 0.78.2 - September 21
@@ -389,7 +389,7 @@ The configuration value type should no longer be used. ([@endor-force] - [#15935
[@vrih]: https://github.com/vrih
[@zellux]: https://github.com/zellux
[@zoe1337]: https://github.com/zoe1337
-[alarm_control_panel.yale_smart_alarm docs]: /components/alarm_control_panel.yale_smart_alarm/
+[alarm_control_panel.yale_smart_alarm docs]: /components/yale_smart_alarm
[arlo docs]: /components/arlo/
[asterisk_mbox docs]: /components/asterisk_mbox/
[auth docs]: /components/auth/
@@ -400,19 +400,19 @@ The configuration value type should no longer be used. ([@endor-force] - [#15935
[automation.state docs]: /docs/automation/trigger/#state-trigger
[automation.template docs]: /docs/automation/trigger/#template-trigger
[automation.zone docs]: /docs/automation/trigger/#zone-trigger
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.openuv docs]: /components/binary_sensor.openuv/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.openuv docs]: /components/openuv
[camera docs]: /components/camera/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.push docs]: /components/camera.push/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.nest docs]: /components/climate.nest/
-[climate.opentherm_gw docs]: /components/climate.opentherm_gw/
-[climate.radiotherm docs]: /components/climate.radiotherm/
+[camera.proxy docs]: /components/proxy
+[camera.push docs]: /components/push
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.nest docs]: /components/nest#climate
+[climate.opentherm_gw docs]: /components/opentherm_gw
+[climate.radiotherm docs]: /components/radiotherm
[config docs]: /components/config/
-[cover.insteon docs]: /components/cover.insteon/
+[cover.insteon docs]: /components/insteon
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[cover.rflink docs]: /components/cover.rflink/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
@@ -423,62 +423,62 @@ The configuration value type should no longer be used. ([@endor-force] - [#15935
[homematic docs]: /components/homematic/
[hue docs]: /components/hue/
[insteon docs]: /components/insteon/
-[light.deconz docs]: /components/light.deconz/
-[light.hue docs]: /components/light.hue/
+[light.deconz docs]: /components/deconz#light
+[light.hue docs]: /components/hue
[light.mqtt docs]: /components/light.mqtt/
-[light.tplink docs]: /components/light.tplink/
+[light.tplink docs]: /components/tplink
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.webostv docs]: /components/media_player.webostv/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.cast docs]: /components/cast
+[media_player.kodi docs]: /components/kodi
+[media_player.onkyo docs]: /components/onkyo
+[media_player.songpal docs]: /components/songpal
+[media_player.sonos docs]: /components/sonos
+[media_player.webostv docs]: /components/webostv#media-player
+[media_player.yamaha docs]: /components/yamaha
[mqtt docs]: /components/mqtt/
[netatmo docs]: /components/netatmo/
[notify docs]: /components/notify/
[openuv docs]: /components/openuv/
[rfxtrx docs]: /components/rfxtrx/
-[scene.deconz docs]: /components/scene.deconz/
+[scene.deconz docs]: /components/deconz#scene
[script docs]: /components/script/
-[sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/
-[sensor.apcupsd docs]: /components/sensor.apcupsd/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.dnsip docs]: /components/sensor.dnsip/
-[sensor.enphase_envoy docs]: /components/sensor.enphase_envoy/
-[sensor.geizhals docs]: /components/sensor.geizhals/
-[sensor.habitica docs]: /components/sensor.habitica/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.miflora docs]: /components/sensor.miflora/
-[sensor.mvglive docs]: /components/sensor.mvglive/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
-[sensor.openuv docs]: /components/sensor.openuv/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.sense docs]: /components/sensor.sense/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tahoma docs]: /components/sensor.tahoma/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.trafikverket_weatherstation docs]: /components/sensor.trafikverket_weatherstation/
-[sensor.twitch docs]: /components/sensor.twitch/
-[sensor.velbus docs]: /components/sensor.velbus/
-[sensor.volkszaehler docs]: /components/sensor.volkszaehler/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.alpha_vantage docs]: /components/alpha_vantage
+[sensor.apcupsd docs]: /components/apcupsd#sensor
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.dht docs]: /components/dht
+[sensor.dnsip docs]: /components/dnsip
+[sensor.enphase_envoy docs]: /components/enphase_envoy
+[sensor.geizhals docs]: /components/geizhals
+[sensor.habitica docs]: /components/habitica
+[sensor.lastfm docs]: /components/lastfm
+[sensor.miflora docs]: /components/miflora
+[sensor.mvglive docs]: /components/mvglive
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.netgear_lte docs]: /components/netgear_lte
+[sensor.openuv docs]: /components/openuv
+[sensor.qnap docs]: /components/qnap
+[sensor.sense docs]: /components/sense
+[sensor.shodan docs]: /components/shodan
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.sql docs]: /components/sql
+[sensor.statistics docs]: /components/statistics
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tahoma docs]: /components/tahoma
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.trafikverket_weatherstation docs]: /components/trafikverket_weatherstation
+[sensor.twitch docs]: /components/twitch
+[sensor.velbus docs]: /components/velbus
+[sensor.volkszaehler docs]: /components/volkszaehler
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[snips docs]: /components/snips/
-[switch.deconz docs]: /components/switch.deconz/
-[switch.dlink docs]: /components/switch.dlink/
-[switch.snmp docs]: /components/switch.snmp/
-[switch.switchbot docs]: /components/switch.switchbot/
-[switch.switchmate docs]: /components/switch.switchmate/
-[switch.tahoma docs]: /components/switch.tahoma/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.deconz docs]: /components/deconz#switch
+[switch.dlink docs]: /components/dlink
+[switch.snmp docs]: /components/snmp#switch
+[switch.switchbot docs]: /components/switchbot
+[switch.switchmate docs]: /components/switchmate
+[switch.tahoma docs]: /components/tahoma
+[switch.tplink docs]: /components/tplink
[tahoma docs]: /components/tahoma/
[telegram_bot docs]: /components/telegram_bot/
[tts docs]: /components/tts/
diff --git a/source/_posts/2018-10-01-release-79.markdown b/source/_posts/2018-10-01-release-79.markdown
index 8befbe48f22..06628f90417 100644
--- a/source/_posts/2018-10-01-release-79.markdown
+++ b/source/_posts/2018-10-01-release-79.markdown
@@ -73,11 +73,11 @@ Oh, and yes, there is also some cool new integrations. Support has been added fo
[@amelchio]: https://github.com/amelchio
[@awarecan]: https://github.com/awarecan
[@rohankapoorcom]: https://github.com/rohankapoorcom
-[binary_sensor.nest docs]: /components/binary_sensor.nest/
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
-[light.isy994 docs]: /components/light.isy994/
-[sensor.history_stats docs]: /components/sensor.history_stats/
-[sensor.ring docs]: /components/sensor.ring/
+[binary_sensor.nest docs]: /components/nest#binary-sensor
+[binary_sensor.ring docs]: /components/ring#binary-sensor
+[light.isy994 docs]: /components/isy994
+[sensor.history_stats docs]: /components/history_stats
+[sensor.ring docs]: /components/ring#sensor
[zoneminder docs]: /components/zoneminder/
## Release 0.79.2 - October 1
@@ -90,7 +90,7 @@ Oh, and yes, there is also some cool new integrations. Support has been added fo
[@balloob]: https://github.com/balloob
[@rohankapoorcom]: https://github.com/rohankapoorcom
[mqtt docs]: /components/mqtt/
-[switch.zoneminder docs]: /components/switch.zoneminder/
+[switch.zoneminder docs]: /components/zoneminder#switch
## Release 0.79.3 - October 2
@@ -453,41 +453,41 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@vikramgorla]: https://github.com/vikramgorla
[@w1ll1am23]: https://github.com/w1ll1am23
[@zoe1337]: https://github.com/zoe1337
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
+[alarm_control_panel.spc docs]: /components/spc
[alexa docs]: /components/alexa/
[apple_tv docs]: /components/apple_tv/
[asterisk_mbox docs]: /components/asterisk_mbox/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.nest docs]: /components/binary_sensor.nest/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.nest docs]: /components/nest#binary-sensor
[binary_sensor.rest docs]: /components/binary_sensor.rest/
-[binary_sensor.spc docs]: /components/binary_sensor.spc/
-[binary_sensor.wirelesstag docs]: /components/binary_sensor.wirelesstag/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.spc docs]: /components/spc#binary-sensor
+[binary_sensor.wirelesstag docs]: /components/wirelesstag#binary-sensor
+[binary_sensor.workday docs]: /components/workday
+[binary_sensor.zha docs]: /components/zha
[bmw_connected_drive docs]: /components/bmw_connected_drive/
-[camera.axis docs]: /components/camera.axis/
-[camera.logi_circle docs]: /components/camera.logi_circle/
-[camera.mjpeg docs]: /components/camera.mjpeg/
+[camera.axis docs]: /components/axis
+[camera.logi_circle docs]: /components/logi_circle#camera
+[camera.mjpeg docs]: /components/mjpeg
[camera.mqtt docs]: /components/camera.mqtt/
-[camera.nest docs]: /components/camera.nest/
-[camera.ring docs]: /components/camera.ring/
-[camera.zoneminder docs]: /components/camera.zoneminder/
-[climate.econet docs]: /components/climate.econet/
-[climate.opentherm_gw docs]: /components/climate.opentherm_gw/
-[climate.wink docs]: /components/climate.wink/
+[camera.nest docs]: /components/nest#camera
+[camera.ring docs]: /components/ring#camera
+[camera.zoneminder docs]: /components/zoneminder#camera
+[climate.econet docs]: /components/econet
+[climate.opentherm_gw docs]: /components/opentherm_gw
+[climate.wink docs]: /components/wink#climate
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[cover docs]: /components/cover/
-[cover.deconz docs]: /components/cover.deconz/
-[cover.isy994 docs]: /components/cover.isy994/
-[cover.myq docs]: /components/cover.myq/
-[cover.tuya docs]: /components/cover.tuya/
+[cover.deconz docs]: /components/deconz#cover
+[cover.isy994 docs]: /components/isy994
+[cover.myq docs]: /components/myq
+[cover.tuya docs]: /components/tuya
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[ecovacs docs]: /components/ecovacs/
[edp_redy docs]: /components/edp_redy/
-[fan.zha docs]: /components/fan.zha/
+[fan.zha docs]: /components/zha
[geo_location docs]: /components/geo_location/
[google_assistant docs]: /components/google_assistant/
[hangouts docs]: /components/hangouts/
@@ -499,23 +499,23 @@ Experiencing issues introduced by this release? Please report them in our [issue
[huawei_lte docs]: /components/huawei_lte/
[ios docs]: /components/ios/
[konnected docs]: /components/konnected/
-[light.deconz docs]: /components/light.deconz/
-[light.isy994 docs]: /components/light.isy994/
-[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
-[light.yeelight docs]: /components/light.yeelight/
-[light.zha docs]: /components/light.zha/
-[light.zwave docs]: /components/light.zwave/
+[light.deconz docs]: /components/deconz#light
+[light.isy994 docs]: /components/isy994
+[light.rpi_gpio_pwm docs]: /components/rpi_gpio_pwm
+[light.yeelight docs]: /components/yeelight
+[light.zha docs]: /components/zha
+[light.zwave docs]: /components/zwave
[logi_circle docs]: /components/logi_circle/
[mailbox docs]: /components/mailbox/
-[mailbox.asterisk_cdr docs]: /components/mailbox.asterisk_cdr/
-[mailbox.asterisk_mbox docs]: /components/mailbox.asterisk_mbox/
+[mailbox.asterisk_cdr docs]: /components/asterisk_cdr
+[mailbox.asterisk_mbox docs]: /components/asterisk_mbox
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.soundtouch docs]: /components/media_player.soundtouch/
-[media_player.webostv docs]: /components/media_player.webostv/
+[media_player.cast docs]: /components/cast
+[media_player.panasonic_viera docs]: /components/panasonic_viera
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.sonos docs]: /components/sonos
+[media_player.soundtouch docs]: /components/soundtouch
+[media_player.webostv docs]: /components/webostv#media-player
[mqtt docs]: /components/mqtt/
[neato docs]: /components/neato/
[netgear_lte docs]: /components/netgear_lte/
@@ -524,50 +524,50 @@ Experiencing issues introduced by this release? Please report them in our [issue
[persistent_notification docs]: /components/persistent_notification/
[python_script docs]: /components/python_script/
[rachio docs]: /components/rachio/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.dyson docs]: /components/sensor.dyson/
+[sensor.airvisual docs]: /components/airvisual
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.dyson docs]: /components/dyson#sensor
[sensor.edp_redy docs]: /components/sensor.edp_redy/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
-[sensor.huawei_lte docs]: /components/sensor.huawei_lte/
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[sensor.huawei_lte docs]: /components/huawei_lte#sensor
[sensor.ios docs]: /components/sensor.ios/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.linky docs]: /components/sensor.linky/
-[sensor.logi_circle docs]: /components/sensor.logi_circle/
-[sensor.nest docs]: /components/sensor.nest/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
-[sensor.qnap docs]: /components/sensor.qnap/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.rmvtransport docs]: /components/sensor.rmvtransport/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.starlingbank docs]: /components/sensor.starlingbank/
-[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
-[sensor.tahoma docs]: /components/sensor.tahoma/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.twitch docs]: /components/sensor.twitch/
-[sensor.velbus docs]: /components/sensor.velbus/
-[sensor.wirelesstag docs]: /components/sensor.wirelesstag/
-[sensor.yr docs]: /components/sensor.yr/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.linky docs]: /components/linky
+[sensor.logi_circle docs]: /components/logi_circle#sensor
+[sensor.nest docs]: /components/nest#sensor
+[sensor.netdata docs]: /components/netdata
+[sensor.netgear_lte docs]: /components/netgear_lte
+[sensor.qnap docs]: /components/qnap
+[sensor.rest docs]: /components/rest
+[sensor.rmvtransport docs]: /components/rmvtransport
+[sensor.scrape docs]: /components/scrape
+[sensor.shodan docs]: /components/shodan
+[sensor.starlingbank docs]: /components/starlingbank
+[sensor.swiss_public_transport docs]: /components/swiss_public_transport
+[sensor.tahoma docs]: /components/tahoma
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.twitch docs]: /components/twitch
+[sensor.velbus docs]: /components/velbus
+[sensor.wirelesstag docs]: /components/wirelesstag#sensor
+[sensor.yr docs]: /components/yr
+[sensor.zha docs]: /components/zha
[shiftr docs]: /components/shiftr/
[sonos docs]: /components/sonos/
[spc docs]: /components/spc/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.deconz docs]: /components/switch.deconz/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.deconz docs]: /components/deconz#switch
[switch.edp_redy docs]: /components/switch.edp_redy/
-[switch.konnected docs]: /components/switch.konnected/
+[switch.konnected docs]: /components/konnected#switch
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.switchmate docs]: /components/switch.switchmate/
-[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
-[switch.wirelesstag docs]: /components/switch.wirelesstag/
-[switch.zha docs]: /components/switch.zha/
+[switch.switchmate docs]: /components/switchmate
+[switch.wake_on_lan docs]: /components/wake_on_lan#switch
+[switch.wirelesstag docs]: /components/wirelesstag#switch
+[switch.zha docs]: /components/zha
[tahoma docs]: /components/tahoma/
[tradfri docs]: /components/tradfri/
[updater docs]: /components/updater/
-[vacuum.ecovacs docs]: /components/vacuum.ecovacs/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.ecovacs docs]: /components/ecovacs#vacuum
+[vacuum.neato docs]: /components/neato#vacuum
[velbus docs]: /components/velbus/
[wake_on_lan docs]: /components/wake_on_lan/
[websocket_api docs]: /components/websocket_api/
diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown
index 68d358d6fc9..43d246c595f 100644
--- a/source/_posts/2018-10-12-release-80.markdown
+++ b/source/_posts/2018-10-12-release-80.markdown
@@ -56,7 +56,7 @@ On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Ho
[@mbrrg]: https://github.com/mbrrg
[@pvizeli]: https://github.com/pvizeli
[@quazzie]: https://github.com/quazzie
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
+[alarm_control_panel.spc docs]: /components/spc
[api docs]: /components/api/
[hangouts docs]: /components/hangouts/
[websocket_api docs]: /components/websocket_api/
@@ -74,12 +74,12 @@ On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Ho
[@Anonym-tsk]: https://github.com/Anonym-tsk
[@balloob]: https://github.com/balloob
[@fronzbot]: https://github.com/fronzbot
-[alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/
-[binary_sensor.blink docs]: /components/binary_sensor.blink/
+[alarm_control_panel.blink docs]: /components/blink
+[binary_sensor.blink docs]: /components/blink
[blink docs]: /components/blink/
-[camera.blink docs]: /components/camera.blink/
+[camera.blink docs]: /components/blink
[cloud docs]: /components/cloud/
-[sensor.blink docs]: /components/sensor.blink/
+[sensor.blink docs]: /components/blink
[telegram_bot docs]: /components/telegram_bot/
## Release 0.80.3 - October 18
@@ -97,8 +97,8 @@ On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Ho
[@balloob]: https://github.com/balloob
[@hobbypunk90]: https://github.com/hobbypunk90
[hangouts docs]: /components/hangouts/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.snapcast docs]: /components/media_player.snapcast/
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.snapcast docs]: /components/snapcast
[upnp docs]: /components/upnp/
## New Features
@@ -589,45 +589,45 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tsvi]: https://github.com/tsvi
[@zxdavb]: https://github.com/zxdavb
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/
+[alarm_control_panel.blink docs]: /components/blink
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
-[alarm_control_panel.spc docs]: /components/alarm_control_panel.spc/
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
+[alarm_control_panel.spc docs]: /components/spc
[alert docs]: /components/alert/
[aqualogic docs]: /components/aqualogic/
[auth docs]: /components/auth/
[automation docs]: /components/automation/
[automation.webhook docs]: /docs/automation/trigger/#webhook-trigger
-[binary_sensor.blink docs]: /components/binary_sensor.blink/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
-[binary_sensor.ffmpeg_motion docs]: /components/binary_sensor.ffmpeg_motion/
-[binary_sensor.ffmpeg_noise docs]: /components/binary_sensor.ffmpeg_noise/
-[binary_sensor.fritzbox docs]: /components/binary_sensor.fritzbox/
+[binary_sensor.blink docs]: /components/blink
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[binary_sensor.ffmpeg_motion docs]: /components/ffmpeg_motion_motion/
+[binary_sensor.ffmpeg_noise docs]: /components/ffmpeg_motion_noise/
+[binary_sensor.fritzbox docs]: /components/fritzbox
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.openuv docs]: /components/binary_sensor.openuv/
-[binary_sensor.ping docs]: /components/binary_sensor.ping/
-[binary_sensor.rachio docs]: /components/binary_sensor.rachio/
-[binary_sensor.spc docs]: /components/binary_sensor.spc/
+[binary_sensor.openuv docs]: /components/openuv
+[binary_sensor.ping docs]: /components/ping#binary-sensor
+[binary_sensor.rachio docs]: /components/rachio
+[binary_sensor.spc docs]: /components/spc#binary-sensor
[blink docs]: /components/blink/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
[camera docs]: /components/camera/
-[camera.blink docs]: /components/camera.blink/
-[camera.mjpeg docs]: /components/camera.mjpeg/
+[camera.blink docs]: /components/blink
+[camera.mjpeg docs]: /components/mjpeg
[camera.mqtt docs]: /components/camera.mqtt/
-[camera.onvif docs]: /components/camera.onvif/
+[camera.onvif docs]: /components/onvif
[climate docs]: /components/climate/
-[climate.evohome docs]: /components/climate.evohome/
-[climate.fritzbox docs]: /components/climate.fritzbox/
-[climate.honeywell docs]: /components/climate.honeywell/
+[climate.evohome docs]: /components/evohome
+[climate.fritzbox docs]: /components/fritzbox
+[climate.honeywell docs]: /components/honeywell
[climate.mqtt docs]: /components/climate.mqtt/
[config docs]: /components/config/
[counter docs]: /components/counter/
[cover docs]: /components/cover/
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[device_sun_light_trigger docs]: /components/device_sun_light_trigger/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.tile docs]: /components/device_tracker.tile/
+[device_tracker.tile docs]: /components/tile
[duckdns docs]: /components/duckdns/
[emulated_hue docs]: /components/emulated_hue/
[envisalink docs]: /components/envisalink/
@@ -655,11 +655,11 @@ Experiencing issues introduced by this release? Please report them in our [issue
[input_text docs]: /components/input_text/
[keyboard docs]: /components/keyboard/
[light docs]: /components/light/
-[light.hue docs]: /components/light.hue/
-[light.lifx docs]: /components/light.lifx/
+[light.hue docs]: /components/hue
+[light.lifx docs]: /components/lifx
[light.mqtt docs]: /components/light.mqtt/
-[light.mqtt_json docs]: /components/light.mqtt_json/
-[light.opple docs]: /components/light.opple/
+[light.mqtt_json docs]: /components/light.mqtt
+[light.opple docs]: /components/opple
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
[lock docs]: /components/lock/
[lock.mqtt docs]: /components/lock.mqtt/
@@ -668,9 +668,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[lovelace docs]: /components/lovelace/
[media_extractor docs]: /components/media_extractor/
[media_player docs]: /components/media_player/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.soundtouch docs]: /components/media_player.soundtouch/
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.sonos docs]: /components/sonos
+[media_player.soundtouch docs]: /components/soundtouch
[microsoft_face docs]: /components/microsoft_face/
[mqtt docs]: /components/mqtt/
[netatmo docs]: /components/netatmo/
@@ -683,31 +683,31 @@ Experiencing issues introduced by this release? Please report them in our [issue
[scene docs]: /components/scene/
[script docs]: /components/script/
[sensor docs]: /components/sensor/
-[sensor.aqualogic docs]: /components/sensor.aqualogic/
-[sensor.blink docs]: /components/sensor.blink/
-[sensor.enphase_envoy docs]: /components/sensor.enphase_envoy/
-[sensor.geo_rss_events docs]: /components/sensor.geo_rss_events/
-[sensor.gitlab_ci docs]: /components/sensor.gitlab_ci/
-[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.miflora docs]: /components/sensor.miflora/
+[sensor.aqualogic docs]: /components/aqualogic#sensor
+[sensor.blink docs]: /components/blink
+[sensor.enphase_envoy docs]: /components/enphase_envoy
+[sensor.geo_rss_events docs]: /components/geo_rss_events
+[sensor.gitlab_ci docs]: /components/gitlab_ci
+[sensor.google_travel_time docs]: /components/google_travel_time
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.miflora docs]: /components/miflora
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.mqtt_room docs]: /components/sensor.mqtt_room/
+[sensor.mqtt_room docs]: /components/mqtt_room
[sensor.netatmo_public docs]: /components/netatmo/#sensor
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.tibber docs]: /components/sensor.tibber/
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.scrape docs]: /components/scrape
+[sensor.tibber docs]: /components/tibber#sensor
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
[sonos docs]: /components/sonos/
[spc docs]: /components/spc/
[switch docs]: /components/switch/
-[switch.aqualogic docs]: /components/switch.aqualogic/
-[switch.flux docs]: /components/switch.flux/
+[switch.aqualogic docs]: /components/aqualogic#switch
+[switch.flux docs]: /components/flux
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.rachio docs]: /components/switch.rachio/
+[switch.rachio docs]: /components/rachio#switch
[switch.rest docs]: /components/switch.rest/
-[switch.tradfri docs]: /components/switch.tradfri/
-[switch.volvooncall docs]: /components/switch.volvooncall/
+[switch.tradfri docs]: /components/tradfri
+[switch.volvooncall docs]: /components/volvooncall
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[telegram_bot docs]: /components/telegram_bot/
[tibber docs]: /components/tibber/
@@ -719,7 +719,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[verisure docs]: /components/verisure/
[weather docs]: /components/weather/
[weather.darksky docs]: /components/weather.darksky/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[webhook docs]: /components/webhook/
[websocket_api docs]: /components/websocket_api/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown
index fd388fa081d..a85119923b4 100644
--- a/source/_posts/2018-10-29-release-81.markdown
+++ b/source/_posts/2018-10-29-release-81.markdown
@@ -117,8 +117,8 @@ _0.81.3 was skipped because it broke LL._
[homekit docs]: /components/homekit/
[konnected docs]: /components/konnected/
[nest docs]: /components/nest/
-[switch.flux docs]: /components/switch.flux/
-[weather.smhi docs]: /components/weather.smhi/
+[switch.flux docs]: /components/flux
+[weather.smhi docs]: /components/smhi
## Release 0.81.5 - November 3
@@ -688,45 +688,45 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@wonderslug]: https://github.com/wonderslug
[@zhumuht]: https://github.com/zhumuht
[abode docs]: /components/abode/
-[alarm_control_panel.elkm1 docs]: /components/alarm_control_panel.elkm1/
-[alarm_control_panel.simplisafe docs]: /components/alarm_control_panel.simplisafe/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.elkm1 docs]: /components/elkm1
+[alarm_control_panel.simplisafe docs]: /components/simplisafe
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[arlo docs]: /components/arlo/
[august docs]: /components/august/
[automation.webhook docs]: /docs/automation/trigger/#webhook-trigger
[automation.zone docs]: /docs/automation/trigger/#zone-trigger
-[binary_sensor.august docs]: /components/binary_sensor.august/
-[binary_sensor.bloomsky docs]: /components/binary_sensor.bloomsky/
-[binary_sensor.bmw_connected_drive docs]: /components/binary_sensor.bmw_connected_drive/
+[binary_sensor.august docs]: /components/august#binary-sensor
+[binary_sensor.bloomsky docs]: /components/bloomsky#binary-sensor
+[binary_sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
[binary_sensor.knx docs]: /components/binary_sensor.knx/
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.octoprint docs]: /components/binary_sensor.octoprint/
-[binary_sensor.opentherm_gw docs]: /components/binary_sensor.opentherm_gw/
+[binary_sensor.octoprint docs]: /components/octoprint#binary-sensor
+[binary_sensor.opentherm_gw docs]: /components/opentherm_gw#binary-sensors
[binary_sensor.rflink docs]: /components/binary_sensor.rflink/
-[binary_sensor.ring docs]: /components/binary_sensor.ring/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.ring docs]: /components/ring#binary-sensor
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.workday docs]: /components/workday
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.zha docs]: /components/zha
[blink docs]: /components/blink/
[bmw_connected_drive docs]: /components/bmw_connected_drive/
-[calendar.todoist docs]: /components/calendar.todoist/
+[calendar.todoist docs]: /components/todoist
[camera.ffmpeg docs]: /components/camera.ffmpeg/
-[camera.neato docs]: /components/camera.neato/
-[camera.ring docs]: /components/camera.ring/
+[camera.neato docs]: /components/neato#camera
+[camera.ring docs]: /components/ring#camera
[climate docs]: /components/climate/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.dyson docs]: /components/climate.dyson/
-[climate.elkm1 docs]: /components/climate.elkm1/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
+[climate.daikin docs]: /components/daikin#climate
+[climate.dyson docs]: /components/dyson#climate
+[climate.elkm1 docs]: /components/elkm1
+[climate.eq3btsmart docs]: /components/eq3btsmart
[climate.knx docs]: /components/climate.knx/
-[climate.mill docs]: /components/climate.mill/
+[climate.mill docs]: /components/mill
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.opentherm_gw docs]: /components/climate.opentherm_gw/
-[climate.wink docs]: /components/climate.wink/
+[climate.opentherm_gw docs]: /components/opentherm_gw
+[climate.wink docs]: /components/wink#climate
[cloud docs]: /components/cloud/
[config docs]: /components/config/
-[cover.deconz docs]: /components/cover.deconz/
+[cover.deconz docs]: /components/deconz#cover
[cover.knx docs]: /components/cover.knx/
[cover.mqtt docs]: /components/cover.mqtt/
[cover.rflink docs]: /components/cover.rflink/
@@ -747,39 +747,39 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematic docs]: /components/homematic/
[huawei_lte docs]: /components/huawei_lte/
[ifttt docs]: /components/ifttt/
-[image_processing.opencv docs]: /components/image_processing.opencv/
+[image_processing.opencv docs]: /components/opencv
[insteon docs]: /components/insteon/
[knx docs]: /components/knx/
[konnected docs]: /components/konnected/
[lifx docs]: /components/lifx/
-[light.abode docs]: /components/light.abode/
-[light.flux_led docs]: /components/light.flux_led/
+[light.abode docs]: /components/abode#light
+[light.flux_led docs]: /components/flux_led
[light.knx docs]: /components/light.knx/
-[light.lifx docs]: /components/light.lifx/
-[light.limitlessled docs]: /components/light.limitlessled/
+[light.lifx docs]: /components/lifx
+[light.limitlessled docs]: /components/limitlessled
[light.mqtt docs]: /components/light.mqtt/
-[light.opple docs]: /components/light.opple/
-[light.osramlightify docs]: /components/light.osramlightify/
+[light.opple docs]: /components/opple
+[light.osramlightify docs]: /components/osramlightify
[light.rflink docs]: /components/light.rflink/
[light.template docs]: /components/light.template/
-[light.tuya docs]: /components/light.tuya/
+[light.tuya docs]: /components/tuya
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
-[light.zwave docs]: /components/light.zwave/
-[lock.august docs]: /components/lock.august/
+[light.yeelight docs]: /components/yeelight
+[light.zwave docs]: /components/zwave
+[lock.august docs]: /components/august
[lock.template docs]: /components/lock.template/
[logbook docs]: /components/logbook/
[lovelace docs]: /components/lovelace/
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.horizon docs]: /components/media_player.horizon/
-[media_player.lg_soundbar docs]: /components/media_player.lg_soundbar/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.volumio docs]: /components/media_player.volumio/
-[media_player.webostv docs]: /components/media_player.webostv/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.horizon docs]: /components/horizon
+[media_player.lg_soundbar docs]: /components/lg_soundbar
+[media_player.mpd docs]: /components/mpd
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.volumio docs]: /components/volumio
+[media_player.webostv docs]: /components/webostv#media-player
+[media_player.yamaha docs]: /components/yamaha
[mqtt docs]: /components/mqtt/
[notify docs]: /components/notify/
[octoprint docs]: /components/octoprint/
@@ -790,74 +790,74 @@ Experiencing issues introduced by this release? Please report them in our [issue
[rflink docs]: /components/rflink/
[route53 docs]: /components/route53/
[sabnzbd docs]: /components/sabnzbd/
-[sensor.api_streams docs]: /components/sensor.api_streams/
+[sensor.api_streams docs]: /components/sensor.websocket_apis/
[sensor.bloomsky docs]: /components/bloomsky/#sensor
-[sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/
-[sensor.dnsip docs]: /components/sensor.dnsip/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.elkm1 docs]: /components/sensor.elkm1/
-[sensor.fastdotcom docs]: /components/sensor.fastdotcom/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.fints docs]: /components/sensor.fints/
-[sensor.geo_rss_events docs]: /components/sensor.geo_rss_events/
-[sensor.gitlab_ci docs]: /components/sensor.gitlab_ci/
-[sensor.haveibeenpwned docs]: /components/sensor.haveibeenpwned/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.huawei_lte docs]: /components/sensor.huawei_lte/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
+[sensor.bmw_connected_drive docs]: /components/bmw_connected_drive
+[sensor.dnsip docs]: /components/dnsip
+[sensor.dsmr docs]: /components/dsmr
+[sensor.elkm1 docs]: /components/elkm1
+[sensor.fastdotcom docs]: /components/fastdotcom
+[sensor.filter docs]: /components/filter
+[sensor.fints docs]: /components/fints
+[sensor.geo_rss_events docs]: /components/geo_rss_events
+[sensor.gitlab_ci docs]: /components/gitlab_ci
+[sensor.haveibeenpwned docs]: /components/haveibeenpwned
+[sensor.homematic docs]: /components/homematic
+[sensor.huawei_lte docs]: /components/huawei_lte#sensor
+[sensor.jewish_calendar docs]: /components/jewish_calendar
[sensor.knx docs]: /components/sensor.knx/
-[sensor.linky docs]: /components/sensor.linky/
-[sensor.mold_indicator docs]: /components/sensor.mold_indicator/
+[sensor.linky docs]: /components/linky
+[sensor.mold_indicator docs]: /components/mold_indicator
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.octoprint docs]: /components/sensor.octoprint/
-[sensor.opentherm_gw docs]: /components/sensor.opentherm_gw/
+[sensor.octoprint docs]: /components/octoprint#sensor
+[sensor.opentherm_gw docs]: /components/opentherm_gw#sensors
[sensor.rflink docs]: /components/sensor.rflink/
-[sensor.ring docs]: /components/sensor.ring/
-[sensor.rmvtransport docs]: /components/sensor.rmvtransport/
-[sensor.rtorrent docs]: /components/sensor.rtorrent/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.syncthru docs]: /components/sensor.syncthru/
-[sensor.template docs]: /components/sensor.template/
-[sensor.thermoworks_smoke docs]: /components/sensor.thermoworks_smoke/
-[sensor.transport_nsw docs]: /components/sensor.transport_nsw/
+[sensor.ring docs]: /components/ring#sensor
+[sensor.rmvtransport docs]: /components/rmvtransport
+[sensor.rtorrent docs]: /components/rtorrent
+[sensor.shodan docs]: /components/shodan
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.syncthru docs]: /components/syncthru
+[sensor.template docs]: /components/template
+[sensor.thermoworks_smoke docs]: /components/thermoworks_smoke
+[sensor.transport_nsw docs]: /components/transport_nsw
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
-[sensor.zha docs]: /components/sensor.zha/
-[sensor.zoneminder docs]: /components/sensor.zoneminder/
-[sensor.zwave docs]: /components/sensor.zwave/
+[sensor.zha docs]: /components/zha
+[sensor.zoneminder docs]: /components/zoneminder#sensor
+[sensor.zwave docs]: /components/zwave
[simplisafe docs]: /components/simplisafe/
[smhi docs]: /components/smhi/
-[switch.broadlink docs]: /components/switch.broadlink/
-[switch.elkm1 docs]: /components/switch.elkm1/
-[switch.flux docs]: /components/switch.flux/
+[switch.broadlink docs]: /components/broadlink#switch
+[switch.elkm1 docs]: /components/elkm1
+[switch.flux docs]: /components/flux
[switch.knx docs]: /components/switch.knx/
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.neato docs]: /components/switch.neato/
-[switch.netio docs]: /components/switch.netio/
-[switch.recswitch docs]: /components/switch.recswitch/
+[switch.neato docs]: /components/neato#switch
+[switch.netio docs]: /components/netio
+[switch.recswitch docs]: /components/recswitch
[switch.rflink docs]: /components/switch.rflink/
-[switch.switchmate docs]: /components/switch.switchmate/
+[switch.switchmate docs]: /components/switchmate
[switch.template docs]: /components/switch.template/
-[switch.unifi docs]: /components/switch.unifi/
+[switch.unifi docs]: /components/unifi#switch
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zwave docs]: /components/switch.zwave/
+[switch.zwave docs]: /components/zwave
[telegram_bot docs]: /components/telegram_bot/
[tts docs]: /components/tts/
[twilio docs]: /components/twilio/
[unifi docs]: /components/unifi/
[upnp docs]: /components/upnp/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.neato docs]: /components/neato#vacuum
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[vera docs]: /components/vera/
[verisure docs]: /components/verisure/
[water_heater docs]: /components/water_heater/
[weather docs]: /components/weather/
[weather.demo docs]: /components/weather.demo/
-[weather.met docs]: /components/weather.met/
-[weather.smhi docs]: /components/weather.smhi/
-[weather.yweather docs]: /components/weather.yweather/
+[weather.met docs]: /components/met
+[weather.smhi docs]: /components/smhi
+[weather.yweather docs]: /components/yweather
[websocket_api docs]: /components/websocket_api/
[wink docs]: /components/wink/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
diff --git a/source/_posts/2018-11-08-release-82.markdown b/source/_posts/2018-11-08-release-82.markdown
index 5cd2c4423e8..ec19198fc39 100644
--- a/source/_posts/2018-11-08-release-82.markdown
+++ b/source/_posts/2018-11-08-release-82.markdown
@@ -69,11 +69,11 @@ And we have one more thing… we have soft-forked Open Z-Wave and have added sup
[@pszafer]: https://github.com/pszafer
[@pvizeli]: https://github.com/pvizeli
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[climate.daikin docs]: /components/climate.daikin/
+[climate.daikin docs]: /components/daikin#climate
[cover.mqtt docs]: /components/cover.mqtt/
[daikin docs]: /components/daikin/
[edp_redy docs]: /components/edp_redy/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.tensorflow docs]: /components/tensorflow
[notify docs]: /components/notify/
[sense docs]: /components/sense/
[zwave docs]: /components/zwave/
@@ -564,48 +564,48 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tsvi]: https://github.com/tsvi
[@vacumet]: https://github.com/vacumet
[@victorcerutti]: https://github.com/victorcerutti
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
+[alarm_control_panel.manual docs]: /components/manual
[alert docs]: /components/alert/
[alexa docs]: /components/alexa/
[august docs]: /components/august/
[auth docs]: /components/auth/
[automation.webhook docs]: /docs/automation/trigger/#webhook-trigger
[axis docs]: /components/axis/
-[binary_sensor.august docs]: /components/binary_sensor.august/
-[binary_sensor.axis docs]: /components/binary_sensor.axis/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
+[binary_sensor.august docs]: /components/august#binary-sensor
+[binary_sensor.axis docs]: /components/axis#binary-sensor
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.pilight docs]: /components/binary_sensor.pilight/
+[binary_sensor.pilight docs]: /components/pilight#binary-sensor
[binary_sensor.template docs]: /components/binary_sensor.template/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
+[binary_sensor.trend docs]: /components/trend
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[binary_sensor.zigbee docs]: /components/binary_sensor.zigbee/
+[binary_sensor.zha docs]: /components/zha
+[binary_sensor.zigbee docs]: /components/zigbee#binary-sensor
[bloomsky docs]: /components/bloomsky/
[camera docs]: /components/camera/
-[camera.amcrest docs]: /components/camera.amcrest/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.canary docs]: /components/camera.canary/
-[camera.mjpeg docs]: /components/camera.mjpeg/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.ring docs]: /components/camera.ring/
-[camera.synology docs]: /components/camera.synology/
-[camera.xiaomi docs]: /components/camera.xiaomi/
-[camera.yi docs]: /components/camera.yi/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.mill docs]: /components/climate.mill/
-[climate.velbus docs]: /components/climate.velbus/
-[climate.vera docs]: /components/climate.vera/
+[camera.amcrest docs]: /components/amcrest
+[camera.arlo docs]: /components/arlo#camera
+[camera.canary docs]: /components/canary#camera
+[camera.mjpeg docs]: /components/mjpeg
+[camera.onvif docs]: /components/onvif
+[camera.ring docs]: /components/ring#camera
+[camera.synology docs]: /components/synology
+[camera.xiaomi docs]: /components/xiaomi_aqara
+[camera.yi docs]: /components/yi
+[climate.daikin docs]: /components/daikin#climate
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.mill docs]: /components/mill
+[climate.velbus docs]: /components/velbus
+[climate.vera docs]: /components/vera
[cloud docs]: /components/cloud/
-[cover.deconz docs]: /components/cover.deconz/
+[cover.deconz docs]: /components/deconz#cover
[cover.mqtt docs]: /components/cover.mqtt/
[deconz docs]: /components/deconz/
[device_sun_light_trigger docs]: /components/device_sun_light_trigger/
[device_tracker docs]: /components/device_tracker/
[dialogflow docs]: /components/dialogflow/
[doorbird docs]: /components/doorbird/
-[fan.wemo docs]: /components/fan.wemo/
+[fan.wemo docs]: /components/wemo#fan
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[ffmpeg docs]: /components/ffmpeg/
[geo_location docs]: /components/geo_location/
@@ -615,26 +615,26 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[ifttt docs]: /components/ifttt/
-[image_processing.microsoft_face_detect docs]: /components/image_processing.microsoft_face_detect/
-[image_processing.microsoft_face_identify docs]: /components/image_processing.microsoft_face_identify/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.microsoft_face_detect docs]: /components/microsoft_face_detect
+[image_processing.microsoft_face_identify docs]: /components/microsoft_face_identify
+[image_processing.opencv docs]: /components/opencv
+[image_processing.tensorflow docs]: /components/tensorflow
[input_number docs]: /components/input_number/
[keyboard_remote docs]: /components/keyboard_remote/
[knx docs]: /components/knx/
-[light.avion docs]: /components/light.avion/
-[light.deconz docs]: /components/light.deconz/
+[light.avion docs]: /components/avion
+[light.deconz docs]: /components/deconz#light
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
-[lock.august docs]: /components/lock.august/
+[light.yeelight docs]: /components/yeelight
+[lock.august docs]: /components/august
[lovelace docs]: /components/lovelace/
[mailgun docs]: /components/mailgun/
[media_extractor docs]: /components/media_extractor/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.directv docs]: /components/directv
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.onkyo docs]: /components/onkyo
+[media_player.samsungtv docs]: /components/samsungtv
+[media_player.yamaha docs]: /components/yamaha
[mychevy docs]: /components/mychevy/
[notify docs]: /components/notify/
[opentherm_gw docs]: /components/opentherm_gw/
@@ -645,50 +645,50 @@ Experiencing issues introduced by this release? Please report them in our [issue
[ring docs]: /components/ring/
[route53 docs]: /components/route53/
[rpi_pfio docs]: /components/rpi_pfio/
-[scene.deconz docs]: /components/scene.deconz/
-[sensor.bom docs]: /components/sensor.bom/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.dte_energy_bridge docs]: /components/sensor.dte_energy_bridge/
-[sensor.greeneye_monitor_current docs]: /components/sensor.greeneye_monitor_current/
-[sensor.greeneye_monitor_pulse docs]: /components/sensor.greeneye_monitor_pulse/
-[sensor.greeneye_monitor_temperature docs]: /components/sensor.greeneye_monitor_temperature/
+[scene.deconz docs]: /components/deconz#scene
+[sensor.bom docs]: /components/bom#sensor
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.dte_energy_bridge docs]: /components/dte_energy_bridge
+[sensor.greeneye_monitor_current docs]: /components/greeneye_monitor_current/
+[sensor.greeneye_monitor_pulse docs]: /components/greeneye_monitor_pulse/
+[sensor.greeneye_monitor_temperature docs]: /components/greeneye_monitor_temperature/
[sensor.igd docs]: /components/sensor.igd/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.logi_circle docs]: /components/sensor.logi_circle/
-[sensor.meteo_france docs]: /components/sensor.meteo_france/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.pi_hole docs]: /components/sensor.pi_hole/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.rmvtransport docs]: /components/sensor.rmvtransport/
-[sensor.rtorrent docs]: /components/sensor.rtorrent/
-[sensor.sense docs]: /components/sensor.sense/
-[sensor.sma docs]: /components/sensor.sma/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.version docs]: /components/sensor.version/
-[sensor.wunderground docs]: /components/sensor.wunderground/
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.logi_circle docs]: /components/logi_circle#sensor
+[sensor.meteo_france docs]: /components/meteo_france
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.pi_hole docs]: /components/pi_hole
+[sensor.pollen docs]: /components/iqvia
+[sensor.rmvtransport docs]: /components/rmvtransport
+[sensor.rtorrent docs]: /components/rtorrent
+[sensor.sense docs]: /components/sense
+[sensor.sma docs]: /components/sma#sensors
+[sensor.sql docs]: /components/sql
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.version docs]: /components/version
+[sensor.wunderground docs]: /components/wunderground
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[simplisafe docs]: /components/simplisafe/
[sun docs]: /components/sun/
-[switch.deconz docs]: /components/switch.deconz/
-[switch.dlink docs]: /components/switch.dlink/
-[switch.doorbird docs]: /components/switch.doorbird/
-[switch.flux docs]: /components/switch.flux/
-[switch.unifi docs]: /components/switch.unifi/
+[switch.deconz docs]: /components/deconz#switch
+[switch.dlink docs]: /components/dlink
+[switch.doorbird docs]: /components/doorbird#switch
+[switch.flux docs]: /components/flux
+[switch.unifi docs]: /components/unifi#switch
[switch.xiaomi_aqara docs]: /components/switch.xiaomi_aqara/
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zigbee docs]: /components/switch.zigbee/
+[switch.zigbee docs]: /components/zigbee#switch
[telegram_bot docs]: /components/telegram_bot/
[tts docs]: /components/tts/
[twilio docs]: /components/twilio/
[updater docs]: /components/updater/
[upnp docs]: /components/upnp/
[vacuum.mqtt docs]: /components/vacuum.mqtt/
-[vacuum.roomba docs]: /components/vacuum.roomba/
+[vacuum.roomba docs]: /components/roomba
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[velbus docs]: /components/velbus/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[wemo docs]: /components/wemo/
[zha docs]: /components/zha/
diff --git a/source/_posts/2018-11-28-release-83.markdown b/source/_posts/2018-11-28-release-83.markdown
index 9d2bb6f6303..16ca3d62134 100644
--- a/source/_posts/2018-11-28-release-83.markdown
+++ b/source/_posts/2018-11-28-release-83.markdown
@@ -91,7 +91,7 @@ Note, this release includes a migration to add an index to speed up the logbook
[@iantrich]: https://github.com/iantrich
[@marchingphoenix]: https://github.com/marchingphoenix
[@pbalogh77]: https://github.com/pbalogh77
-[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
+[binary_sensor.rainmachine docs]: /components/rainmachine
[emulated_hue docs]: /components/emulated_hue/
[fibaro docs]: /components/fibaro/
[google_assistant docs]: /components/google_assistant/
@@ -99,8 +99,8 @@ Note, this release includes a migration to add an index to speed up the logbook
[http docs]: /components/http/
[logbook docs]: /components/logbook/
[owntracks docs]: /components/owntracks/
-[sensor.rainmachine docs]: /components/sensor.rainmachine/
-[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
+[sensor.rainmachine docs]: /components/rainmachine
+[sensor.seventeentrack docs]: /components/seventeentrack
[shopping_list docs]: /components/shopping_list/
## Release 0.83.2 - November 30
@@ -119,7 +119,7 @@ Note, this release includes a migration to add an index to speed up the logbook
[@pbalogh77]: https://github.com/pbalogh77
[@stonith]: https://github.com/stonith
[http docs]: /components/http/
-[light.fibaro docs]: /components/light.fibaro/
+[light.fibaro docs]: /components/fibaro
[mqtt docs]: /components/mqtt/
[tts docs]: /components/tts/
@@ -144,7 +144,7 @@ We had an issue where users that are still using the legacy auth for API access
[@w1ll1am23]: https://github.com/w1ll1am23
[asuswrt docs]: /components/asuswrt/
[google_assistant docs]: /components/google_assistant/
-[sensor.asuswrt docs]: /components/sensor.asuswrt/
+[sensor.asuswrt docs]: /components/asuswrt
[wink docs]: /components/wink/
## If you need help...
@@ -671,42 +671,42 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@ultrara1n]: https://github.com/ultrara1n
[@vetegrodd]: https://github.com/vetegrodd
[@w1ll1am23]: https://github.com/w1ll1am23
-[alarm_control_panel.ialarm docs]: /components/alarm_control_panel.ialarm/
-[alarm_control_panel.lupusec docs]: /components/alarm_control_panel.lupusec/
-[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/
-[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
+[alarm_control_panel.ialarm docs]: /components/ialarm
+[alarm_control_panel.lupusec docs]: /components/lupusec
+[alarm_control_panel.manual_mqtt docs]: /components/manual_mqtt/
+[alarm_control_panel.totalconnect docs]: /components/totalconnect
[alexa docs]: /components/alexa/
[api docs]: /components/api/
[asuswrt docs]: /components/asuswrt/
[august docs]: /components/august/
-[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
-[binary_sensor.fibaro docs]: /components/binary_sensor.fibaro/
-[binary_sensor.insteon docs]: /components/binary_sensor.insteon/
-[binary_sensor.lupusec docs]: /components/binary_sensor.lupusec/
+[binary_sensor.deconz docs]: /components/deconz#binary-sensor
+[binary_sensor.fibaro docs]: /components/fibaro
+[binary_sensor.insteon docs]: /components/insteon
+[binary_sensor.lupusec docs]: /components/lupusec
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.point docs]: /components/binary_sensor.point/
-[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
-[binary_sensor.sense docs]: /components/binary_sensor.sense/
+[binary_sensor.point docs]: /components/point#binary-sensor
+[binary_sensor.rainmachine docs]: /components/rainmachine
+[binary_sensor.sense docs]: /components/sense
[binary_sensor.template docs]: /components/binary_sensor.template/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.w800rf32 docs]: /components/binary_sensor.w800rf32/
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.w800rf32 docs]: /components/w800rf32#binary-sensor
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[blink docs]: /components/blink/
[camera.mqtt docs]: /components/camera.mqtt/
[climate docs]: /components/climate/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
-[climate.homematic docs]: /components/climate.homematic/
-[climate.melissa docs]: /components/climate.melissa/
-[climate.mill docs]: /components/climate.mill/
-[climate.nest docs]: /components/climate.nest/
-[climate.velbus docs]: /components/climate.velbus/
+[climate.daikin docs]: /components/daikin#climate
+[climate.generic_thermostat docs]: /components/generic_thermostat
+[climate.homematic docs]: /components/homematic
+[climate.melissa docs]: /components/melissa
+[climate.mill docs]: /components/mill
+[climate.nest docs]: /components/nest#climate
+[climate.velbus docs]: /components/velbus
[cloud docs]: /components/cloud/
[coinbase docs]: /components/coinbase/
-[cover.deconz docs]: /components/cover.deconz/
-[cover.fibaro docs]: /components/cover.fibaro/
+[cover.deconz docs]: /components/deconz#cover
+[cover.fibaro docs]: /components/fibaro
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.myq docs]: /components/cover.myq/
+[cover.myq docs]: /components/myq
[daikin docs]: /components/daikin/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
@@ -721,36 +721,36 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homekit_controller docs]: /components/homekit_controller/
[homematic docs]: /components/homematic/
[http docs]: /components/http/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.opencv docs]: /components/opencv
+[image_processing.tensorflow docs]: /components/tensorflow
[insteon docs]: /components/insteon/
[lifx docs]: /components/lifx/
-[light.deconz docs]: /components/light.deconz/
-[light.fibaro docs]: /components/light.fibaro/
-[light.homematic docs]: /components/light.homematic/
-[light.lifx docs]: /components/light.lifx/
-[light.mqtt_json docs]: /components/light.mqtt_json/
-[light.niko_home_control docs]: /components/light.niko_home_control/
+[light.deconz docs]: /components/deconz#light
+[light.fibaro docs]: /components/fibaro
+[light.homematic docs]: /components/homematic
+[light.lifx docs]: /components/lifx
+[light.mqtt_json docs]: /components/light.mqtt
+[light.niko_home_control docs]: /components/niko_home_control
[light.switch docs]: /components/light.switch/
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
[lock docs]: /components/lock/
[lock.mqtt docs]: /components/lock.mqtt/
-[lock.nello docs]: /components/lock.nello/
-[lock.zwave docs]: /components/lock.zwave/
+[lock.nello docs]: /components/nello
+[lock.zwave docs]: /components/zwave#lock
[logbook docs]: /components/logbook/
[lovelace docs]: /components/lovelace/
[luftdaten docs]: /components/luftdaten/
[lupusec docs]: /components/lupusec/
[media_extractor docs]: /components/media_extractor/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.epson docs]: /components/media_player.epson/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.kodi docs]: /components/media_player.kodi/
-[media_player.onkyo docs]: /components/media_player.onkyo/
-[media_player.panasonic_bluray docs]: /components/media_player.panasonic_bluray/
-[media_player.sonos docs]: /components/media_player.sonos/
-[media_player.ziggo_mediabox_xl docs]: /components/media_player.ziggo_mediabox_xl/
+[media_player.directv docs]: /components/directv
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.epson docs]: /components/epson
+[media_player.firetv docs]: /components/androidtv
+[media_player.kodi docs]: /components/kodi
+[media_player.onkyo docs]: /components/onkyo
+[media_player.panasonic_bluray docs]: /components/panasonic_bluray
+[media_player.sonos docs]: /components/sonos
+[media_player.ziggo_mediabox_xl docs]: /components/ziggo_mediabox_xl
[melissa docs]: /components/melissa/
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
@@ -763,46 +763,46 @@ Experiencing issues introduced by this release? Please report them in our [issue
[prometheus docs]: /components/prometheus/
[rainmachine docs]: /components/rainmachine/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
-[scene.deconz docs]: /components/scene.deconz/
-[sensor.airvisual docs]: /components/sensor.airvisual/
-[sensor.asuswrt docs]: /components/sensor.asuswrt/
-[sensor.coinbase docs]: /components/sensor.coinbase/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.deconz docs]: /components/sensor.deconz/
-[sensor.elkm1 docs]: /components/sensor.elkm1/
-[sensor.fibaro docs]: /components/sensor.fibaro/
-[sensor.flunearyou docs]: /components/sensor.flunearyou/
-[sensor.fritzbox_callmonitor docs]: /components/sensor.fritzbox_callmonitor/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.launch_library docs]: /components/sensor.launch_library/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
-[sensor.magicseaweed docs]: /components/sensor.magicseaweed/
-[sensor.point docs]: /components/sensor.point/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.rainmachine docs]: /components/sensor.rainmachine/
+[scene.deconz docs]: /components/deconz#scene
+[sensor.airvisual docs]: /components/airvisual
+[sensor.asuswrt docs]: /components/asuswrt
+[sensor.coinbase docs]: /components/coinbase
+[sensor.darksky docs]: /components/darksky
+[sensor.deconz docs]: /components/deconz#sensor
+[sensor.elkm1 docs]: /components/elkm1
+[sensor.fibaro docs]: /components/fibaro
+[sensor.flunearyou docs]: /components/flunearyou
+[sensor.fritzbox_callmonitor docs]: /components/fritzbox#sensor_callmonitor/
+[sensor.glances docs]: /components/glances
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.launch_library docs]: /components/launch_library
+[sensor.luftdaten docs]: /components/luftdaten#sensor
+[sensor.magicseaweed docs]: /components/magicseaweed
+[sensor.point docs]: /components/point#sensor
+[sensor.pollen docs]: /components/iqvia
+[sensor.rainmachine docs]: /components/rainmachine
[sensor.ruter docs]: /components/sensor.ruter/
-[sensor.season docs]: /components/sensor.season/
-[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.swiss_hydrological_data docs]: /components/sensor.swiss_hydrological_data/
-[sensor.tautulli docs]: /components/sensor.tautulli/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.transport_nsw docs]: /components/sensor.transport_nsw/
-[sensor.version docs]: /components/sensor.version/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.season docs]: /components/season
+[sensor.seventeentrack docs]: /components/seventeentrack
+[sensor.sql docs]: /components/sql
+[sensor.statistics docs]: /components/statistics
+[sensor.swiss_hydrological_data docs]: /components/swiss_hydrological_data
+[sensor.tautulli docs]: /components/tautulli
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.transport_nsw docs]: /components/transport_nsw
+[sensor.version docs]: /components/version
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[shopping_list docs]: /components/shopping_list/
[smhi docs]: /components/smhi/
[sonos docs]: /components/sonos/
-[switch.deconz docs]: /components/switch.deconz/
-[switch.fibaro docs]: /components/switch.fibaro/
-[switch.flux docs]: /components/switch.flux/
-[switch.homekit_controller docs]: /components/switch.homekit_controller/
-[switch.lupusec docs]: /components/switch.lupusec/
-[switch.rainmachine docs]: /components/switch.rainmachine/
-[switch.switchmate docs]: /components/switch.switchmate/
+[switch.deconz docs]: /components/deconz#switch
+[switch.fibaro docs]: /components/fibaro
+[switch.flux docs]: /components/flux
+[switch.homekit_controller docs]: /components/homekit_controller
+[switch.lupusec docs]: /components/lupusec
+[switch.rainmachine docs]: /components/rainmachine#switch
+[switch.switchmate docs]: /components/switchmate
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tibber docs]: /components/tibber/
[toon docs]: /components/toon/
@@ -812,8 +812,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[velbus docs]: /components/velbus/
[verisure docs]: /components/verisure/
[w800rf32 docs]: /components/w800rf32/
-[weather.ecobee docs]: /components/weather.ecobee/
-[weather.smhi docs]: /components/weather.smhi/
+[weather.ecobee docs]: /components/ecobee
+[weather.smhi docs]: /components/smhi
[wemo docs]: /components/wemo/
[wink docs]: /components/wink/
[wirelesstag docs]: /components/wirelesstag/
diff --git a/source/_posts/2018-12-12-release-84.markdown b/source/_posts/2018-12-12-release-84.markdown
index cacbac526e2..e009bcd9576 100644
--- a/source/_posts/2018-12-12-release-84.markdown
+++ b/source/_posts/2018-12-12-release-84.markdown
@@ -106,7 +106,7 @@ Editor UI is now further processed. You can manage your Lovelace UI without leav
[@syssi]: https://github.com/syssi
[asuswrt docs]: /components/asuswrt/
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[light.lutron docs]: /components/light.lutron/
+[light.lutron docs]: /components/lutron
[logbook docs]: /components/logbook/
[owntracks docs]: /components/owntracks/
[tts docs]: /components/tts/
@@ -129,7 +129,7 @@ Editor UI is now further processed. You can manage your Lovelace UI without leav
[@ehendrix23]: https://github.com/ehendrix23
[@mopolus]: https://github.com/mopolus
[ihc docs]: /components/ihc/
-[remote.harmony docs]: /components/remote.harmony/
+[remote.harmony docs]: /components/harmony
## Release 0.84.5 - December 19
@@ -161,9 +161,9 @@ Editor UI is now further processed. You can manage your Lovelace UI without leav
[@zsarnett]: https://github.com/zsarnett
[@iantrich]: https://github.com/iantrich
[@liaanvdm]: https://github.com/liaanvdm
-[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
+[alarm_control_panel.manual docs]: /components/manual
[config docs]: /components/config/
-[lock.zwave docs]: /components/lock.zwave/
+[lock.zwave docs]: /components/zwave#lock
## If you need help...
@@ -636,46 +636,46 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@trainman419]: https://github.com/trainman419
[@yottatsa]: https://github.com/yottatsa
[@zxdavb]: https://github.com/zxdavb
-[alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/
-[alarm_control_panel.lupusec docs]: /components/alarm_control_panel.lupusec/
+[alarm_control_panel.blink docs]: /components/blink
+[alarm_control_panel.lupusec docs]: /components/lupusec
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
-[alarm_control_panel.yale_smart_alarm docs]: /components/alarm_control_panel.yale_smart_alarm/
+[alarm_control_panel.yale_smart_alarm docs]: /components/yale_smart_alarm
[alexa docs]: /components/alexa/
[apple_tv docs]: /components/apple_tv/
[august docs]: /components/august/
[automation docs]: /components/automation/
-[binary_sensor.blink docs]: /components/binary_sensor.blink/
-[binary_sensor.fibaro docs]: /components/binary_sensor.fibaro/
-[binary_sensor.ihc docs]: /components/binary_sensor.ihc/
+[binary_sensor.blink docs]: /components/blink
+[binary_sensor.fibaro docs]: /components/fibaro
+[binary_sensor.ihc docs]: /components/ihc#binary-sensor
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.point docs]: /components/binary_sensor.point/
-[binary_sensor.sense docs]: /components/binary_sensor.sense/
-[binary_sensor.tahoma docs]: /components/binary_sensor.tahoma/
-[binary_sensor.tellduslive docs]: /components/binary_sensor.tellduslive/
-[binary_sensor.volvooncall docs]: /components/binary_sensor.volvooncall/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
+[binary_sensor.point docs]: /components/point#binary-sensor
+[binary_sensor.sense docs]: /components/sense
+[binary_sensor.tahoma docs]: /components/tahoma
+[binary_sensor.tellduslive docs]: /components/tellduslive
+[binary_sensor.volvooncall docs]: /components/volvooncall
+[binary_sensor.zha docs]: /components/zha
[blink docs]: /components/blink/
-[camera.blink docs]: /components/camera.blink/
-[camera.mjpeg docs]: /components/camera.mjpeg/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.push docs]: /components/camera.push/
-[camera.uvc docs]: /components/camera.uvc/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.evohome docs]: /components/climate.evohome/
-[climate.mill docs]: /components/climate.mill/
+[camera.blink docs]: /components/blink
+[camera.mjpeg docs]: /components/mjpeg
+[camera.proxy docs]: /components/proxy
+[camera.push docs]: /components/push
+[camera.uvc docs]: /components/uvc
+[climate.daikin docs]: /components/daikin#climate
+[climate.evohome docs]: /components/evohome
+[climate.mill docs]: /components/mill
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.toon docs]: /components/climate.toon/
+[climate.toon docs]: /components/toon#climate
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[cover.mqtt docs]: /components/cover.mqtt/
-[cover.tellduslive docs]: /components/cover.tellduslive/
+[cover.tellduslive docs]: /components/tellduslive
[daikin docs]: /components/daikin/
[device_tracker docs]: /components/device_tracker/
[elkm1 docs]: /components/elkm1/
[evohome docs]: /components/evohome/
[fan.mqtt docs]: /components/fan.mqtt/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
-[fan.zha docs]: /components/fan.zha/
+[fan.zha docs]: /components/zha
[fibaro docs]: /components/fibaro/
[frontend docs]: /components/frontend/
[geo_location docs]: /components/geo_location/
@@ -690,30 +690,30 @@ Experiencing issues introduced by this release? Please report them in our [issue
[image_processing docs]: /components/image_processing/
[influxdb docs]: /components/influxdb/
[lifx docs]: /components/lifx/
-[light.decora_wifi docs]: /components/light.decora_wifi/
-[light.fibaro docs]: /components/light.fibaro/
-[light.ihc docs]: /components/light.ihc/
-[light.lightwave docs]: /components/light.lightwave/
-[light.lutron docs]: /components/light.lutron/
+[light.decora_wifi docs]: /components/decora_wifi/
+[light.fibaro docs]: /components/fibaro
+[light.ihc docs]: /components/ihc#light
+[light.lightwave docs]: /components/lightwave
+[light.lutron docs]: /components/lutron
[light.mqtt docs]: /components/light.mqtt/
-[light.niko_home_control docs]: /components/light.niko_home_control/
-[light.tellduslive docs]: /components/light.tellduslive/
+[light.niko_home_control docs]: /components/niko_home_control
+[light.tellduslive docs]: /components/tellduslive
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.yeelight docs]: /components/light.yeelight/
-[light.zha docs]: /components/light.zha/
+[light.yeelight docs]: /components/yeelight
+[light.zha docs]: /components/zha
[lightwave docs]: /components/lightwave/
-[lock.verisure docs]: /components/lock.verisure/
-[lock.volvooncall docs]: /components/lock.volvooncall/
+[lock.verisure docs]: /components/verisure
+[lock.volvooncall docs]: /components/volvooncall
[logbook docs]: /components/logbook/
[lovelace docs]: /components/lovelace/
[lupusec docs]: /components/lupusec/
[media_extractor docs]: /components/media_extractor/
[media_player.demo docs]: /components/media_player.demo/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.hdmi_cec docs]: /components/media_player.hdmi_cec/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.vizio docs]: /components/media_player.vizio/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.firetv docs]: /components/androidtv
+[media_player.hdmi_cec docs]: /components/hdmi_cec
+[media_player.plex docs]: /components/plex#media-player
+[media_player.vizio docs]: /components/vizio
[mqtt docs]: /components/mqtt/
[netatmo docs]: /components/netatmo/
[notify docs]: /components/notify/
@@ -722,47 +722,47 @@ Experiencing issues introduced by this release? Please report them in our [issue
[point docs]: /components/point/
[rainmachine docs]: /components/rainmachine/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
-[scene.fibaro docs]: /components/scene.fibaro/
+[scene.fibaro docs]: /components/fibaro
[script docs]: /components/script/
[sense docs]: /components/sense/
-[sensor.awair docs]: /components/sensor.awair/
-[sensor.blink docs]: /components/sensor.blink/
-[sensor.bom docs]: /components/sensor.bom/
-[sensor.daikin docs]: /components/sensor.daikin/
-[sensor.dht docs]: /components/sensor.dht/
-[sensor.entur_public_transport docs]: /components/sensor.entur_public_transport/
-[sensor.influxdb docs]: /components/sensor.influxdb/
+[sensor.awair docs]: /components/awair
+[sensor.blink docs]: /components/blink
+[sensor.bom docs]: /components/bom#sensor
+[sensor.daikin docs]: /components/daikin#sensor
+[sensor.dht docs]: /components/dht
+[sensor.entur_public_transport docs]: /components/entur_public_transport
+[sensor.influxdb docs]: /components/influxdb#sensor
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.point docs]: /components/sensor.point/
-[sensor.qbittorrent docs]: /components/sensor.qbittorrent/
-[sensor.rtorrent docs]: /components/sensor.rtorrent/
-[sensor.sense docs]: /components/sensor.sense/
-[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.statistics docs]: /components/sensor.statistics/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tellduslive docs]: /components/sensor.tellduslive/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.volvooncall docs]: /components/sensor.volvooncall/
-[sensor.waterfurnace docs]: /components/sensor.waterfurnace/
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.point docs]: /components/point#sensor
+[sensor.qbittorrent docs]: /components/qbittorrent
+[sensor.rtorrent docs]: /components/rtorrent
+[sensor.sense docs]: /components/sense
+[sensor.seventeentrack docs]: /components/seventeentrack
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.statistics docs]: /components/statistics
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tellduslive docs]: /components/tellduslive
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.volvooncall docs]: /components/volvooncall
+[sensor.waterfurnace docs]: /components/waterfurnace
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
-[sensor.zha docs]: /components/sensor.zha/
+[sensor.zha docs]: /components/zha
[shopping_list docs]: /components/shopping_list/
[simplisafe docs]: /components/simplisafe/
[skybell docs]: /components/skybell/
-[switch.hdmi_cec docs]: /components/switch.hdmi_cec/
-[switch.hlk_sw16 docs]: /components/switch.hlk_sw16/
-[switch.ihc docs]: /components/switch.ihc/
-[switch.lightwave docs]: /components/switch.lightwave/
+[switch.hdmi_cec docs]: /components/hdmi_cec
+[switch.hlk_sw16 docs]: /components/hlk_sw16
+[switch.ihc docs]: /components/ihc#switch
+[switch.lightwave docs]: /components/lightwave
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.snmp docs]: /components/switch.snmp/
-[switch.switchbot docs]: /components/switch.switchbot/
-[switch.switchmate docs]: /components/switch.switchmate/
-[switch.tellduslive docs]: /components/switch.tellduslive/
-[switch.volvooncall docs]: /components/switch.volvooncall/
+[switch.snmp docs]: /components/snmp#switch
+[switch.switchbot docs]: /components/switchbot
+[switch.switchmate docs]: /components/switchmate
+[switch.tellduslive docs]: /components/tellduslive
+[switch.volvooncall docs]: /components/volvooncall
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zha docs]: /components/switch.zha/
+[switch.zha docs]: /components/zha
[tellduslive docs]: /components/tellduslive/
[tibber docs]: /components/tibber/
[tts docs]: /components/tts/
@@ -770,8 +770,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
[verisure docs]: /components/verisure/
[volvooncall docs]: /components/volvooncall/
[waterfurnace docs]: /components/waterfurnace/
-[weather.bom docs]: /components/weather.bom/
-[weather.ipma docs]: /components/weather.ipma/
+[weather.bom docs]: /components/bom
+[weather.ipma docs]: /components/ipma
[websocket_api docs]: /components/websocket_api/
[wunderlist docs]: /components/wunderlist/
[zha docs]: /components/zha/
diff --git a/source/_posts/2019-01-09-release-85.markdown b/source/_posts/2019-01-09-release-85.markdown
index 9306f47df1d..65a906164ea 100644
--- a/source/_posts/2019-01-09-release-85.markdown
+++ b/source/_posts/2019-01-09-release-85.markdown
@@ -716,49 +716,49 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@wcomartin]: https://github.com/wcomartin
[@wonderslug]: https://github.com/wonderslug
[ads docs]: /components/ads/
-[air_pollutants docs]: /components/air_pollutants/
+[air_pollutants docs]: /components/air_quality
[air_quality docs]: /components/air_quality/
-[alarm_control_panel.ialarm docs]: /components/alarm_control_panel.ialarm/
+[alarm_control_panel.ialarm docs]: /components/ialarm
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
-[alarm_control_panel.ness_alarm docs]: /components/alarm_control_panel.ness_alarm/
-[alarm_control_panel.nx584 docs]: /components/alarm_control_panel.nx584/
-[alarm_control_panel.yale_smart_alarm docs]: /components/alarm_control_panel.yale_smart_alarm/
+[alarm_control_panel.ness_alarm docs]: /components/ness_alarm
+[alarm_control_panel.nx584 docs]: /components/nx584
+[alarm_control_panel.yale_smart_alarm docs]: /components/yale_smart_alarm
[alarmdecoder docs]: /components/alarmdecoder/
[alexa docs]: /components/alexa/
[arlo docs]: /components/arlo/
[asuswrt docs]: /components/asuswrt/
[automation docs]: /components/automation/
-[binary_sensor.alarmdecoder docs]: /components/binary_sensor.alarmdecoder/
-[binary_sensor.esphome docs]: /components/binary_sensor.esphome/
-[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.homeworks docs]: /components/binary_sensor.homeworks/
-[binary_sensor.insteon docs]: /components/binary_sensor.insteon/
-[binary_sensor.isy994 docs]: /components/binary_sensor.isy994/
+[binary_sensor.alarmdecoder docs]: /components/alarmdecoder
+[binary_sensor.esphome docs]: /components/esphome
+[binary_sensor.hikvision docs]: /components/hikvision
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.homeworks docs]: /components/homeworks
+[binary_sensor.insteon docs]: /components/insteon
+[binary_sensor.isy994 docs]: /components/isy994
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
-[binary_sensor.ness_alarm docs]: /components/binary_sensor.ness_alarm/
-[binary_sensor.plum_lightpad docs]: /components/binary_sensor.plum_lightpad/
-[binary_sensor.satel_integra docs]: /components/binary_sensor.satel_integra/
-[binary_sensor.tellduslive docs]: /components/binary_sensor.tellduslive/
-[binary_sensor.wemo docs]: /components/binary_sensor.wemo/
+[binary_sensor.ness_alarm docs]: /components/ness_alarm
+[binary_sensor.plum_lightpad docs]: /components/plum_lightpad
+[binary_sensor.satel_integra docs]: /components/satel_integra
+[binary_sensor.tellduslive docs]: /components/tellduslive
+[binary_sensor.wemo docs]: /components/wemo
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
-[binary_sensor.zha docs]: /components/binary_sensor.zha/
-[camera.axis docs]: /components/camera.axis/
-[camera.mjpeg docs]: /components/camera.mjpeg/
-[camera.skybell docs]: /components/camera.skybell/
-[camera.yi docs]: /components/camera.yi/
-[camera.zoneminder docs]: /components/camera.zoneminder/
-[climate.daikin docs]: /components/climate.daikin/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
-[climate.homekit_controller docs]: /components/climate.homekit_controller/
+[binary_sensor.zha docs]: /components/zha
+[camera.axis docs]: /components/axis
+[camera.mjpeg docs]: /components/mjpeg
+[camera.skybell docs]: /components/skybell#camera
+[camera.yi docs]: /components/yi
+[camera.zoneminder docs]: /components/zoneminder#camera
+[climate.daikin docs]: /components/daikin#climate
+[climate.eq3btsmart docs]: /components/eq3btsmart
+[climate.homekit_controller docs]: /components/homekit_controller
[climate.knx docs]: /components/climate.knx/
-[climate.mill docs]: /components/climate.mill/
+[climate.mill docs]: /components/mill
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.radiotherm docs]: /components/climate.radiotherm/
+[climate.radiotherm docs]: /components/radiotherm
[config docs]: /components/config/
-[cover.esphome docs]: /components/cover.esphome/
+[cover.esphome docs]: /components/esphome
[cover.rflink docs]: /components/cover.rflink/
-[cover.tellduslive docs]: /components/cover.tellduslive/
+[cover.tellduslive docs]: /components/tellduslive
[cover.xiaomi_aqara docs]: /components/cover.xiaomi_aqara/
[daikin docs]: /components/daikin/
[demo docs]: /components/demo/
@@ -769,9 +769,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[envisalink docs]: /components/envisalink/
[esphome docs]: /components/esphome/
[eufy docs]: /components/eufy/
-[fan.esphome docs]: /components/fan.esphome/
-[fan.wemo docs]: /components/fan.wemo/
-[fan.zha docs]: /components/fan.zha/
+[fan.esphome docs]: /components/esphome
+[fan.wemo docs]: /components/wemo#fan
+[fan.zha docs]: /components/zha
[freebox docs]: /components/freebox/
[homekit docs]: /components/homekit/
[homekit_controller docs]: /components/homekit_controller/
@@ -781,36 +781,36 @@ Experiencing issues introduced by this release? Please report them in our [issue
[huawei_lte docs]: /components/huawei_lte/
[idteck_prox docs]: /components/idteck_prox/
[ihc docs]: /components/ihc/
-[image_processing.seven_segments docs]: /components/image_processing.seven_segments/
+[image_processing.seven_segments docs]: /components/seven_segments
[insteon docs]: /components/insteon/
[knx docs]: /components/knx/
[lcn docs]: /components/lcn/
[light docs]: /components/light/
-[light.ads docs]: /components/light.ads/
-[light.esphome docs]: /components/light.esphome/
-[light.homekit_controller docs]: /components/light.homekit_controller/
-[light.homeworks docs]: /components/light.homeworks/
-[light.hue docs]: /components/light.hue/
-[light.lcn docs]: /components/light.lcn/
+[light.ads docs]: /components/ads#light
+[light.esphome docs]: /components/esphome
+[light.homekit_controller docs]: /components/homekit_controller
+[light.homeworks docs]: /components/homeworks
+[light.hue docs]: /components/hue
+[light.lcn docs]: /components/lcn#light
[light.mqtt docs]: /components/light.mqtt/
-[light.plum_lightpad docs]: /components/light.plum_lightpad/
+[light.plum_lightpad docs]: /components/plum_lightpad
[light.rflink docs]: /components/light.rflink/
-[light.tellduslive docs]: /components/light.tellduslive/
-[light.wemo docs]: /components/light.wemo/
-[light.x10 docs]: /components/light.x10/
+[light.tellduslive docs]: /components/tellduslive
+[light.wemo docs]: /components/wemo
+[light.x10 docs]: /components/x10
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
-[light.zha docs]: /components/light.zha/
-[light.zwave docs]: /components/light.zwave/
+[light.zha docs]: /components/zha
+[light.zwave docs]: /components/zwave
[lock.mqtt docs]: /components/lock.mqtt/
[lutron docs]: /components/lutron/
[media_extractor docs]: /components/media_extractor/
-[media_player.directv docs]: /components/media_player.directv/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.emby docs]: /components/media_player.emby/
-[media_player.gpmdp docs]: /components/media_player.gpmdp/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.xiaomi_tv docs]: /components/media_player.xiaomi_tv/
+[media_player.directv docs]: /components/directv
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.emby docs]: /components/emby
+[media_player.gpmdp docs]: /components/gpmdp
+[media_player.mpd docs]: /components/mpd
+[media_player.songpal docs]: /components/songpal
+[media_player.xiaomi_tv docs]: /components/xiaomi_tv
[mqtt docs]: /components/mqtt/
[mychevy docs]: /components/mychevy/
[mythicbeastsdns docs]: /components/mythicbeastsdns/
@@ -822,85 +822,85 @@ Experiencing issues introduced by this release? Please report them in our [issue
[plant docs]: /components/plant/
[plum_lightpad docs]: /components/plum_lightpad/
[rainmachine docs]: /components/rainmachine/
-[remote.harmony docs]: /components/remote.harmony/
+[remote.harmony docs]: /components/harmony
[rflink docs]: /components/rflink/
[rpi_gpio docs]: /components/rpi_gpio/
[satel_integra docs]: /components/satel_integra/
-[scene.lutron docs]: /components/scene.lutron/
-[sensor.aftership docs]: /components/sensor.aftership/
-[sensor.ambient_station docs]: /components/sensor.ambient_station/
-[sensor.awair docs]: /components/sensor.awair/
-[sensor.bme680 docs]: /components/sensor.bme680/
-[sensor.brottsplatskartan docs]: /components/sensor.brottsplatskartan/
-[sensor.cert_expiry docs]: /components/sensor.cert_expiry/
-[sensor.daikin docs]: /components/sensor.daikin/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.dublin_bus_transport docs]: /components/sensor.dublin_bus_transport/
-[sensor.eliqonline docs]: /components/sensor.eliqonline/
-[sensor.entur_public_transport docs]: /components/sensor.entur_public_transport/
+[scene.lutron docs]: /components/lutron#scene
+[sensor.aftership docs]: /components/aftership
+[sensor.ambient_station docs]: /components/ambient_station
+[sensor.awair docs]: /components/awair
+[sensor.bme680 docs]: /components/bme680
+[sensor.brottsplatskartan docs]: /components/brottsplatskartan
+[sensor.cert_expiry docs]: /components/cert_expiry
+[sensor.daikin docs]: /components/daikin#sensor
+[sensor.darksky docs]: /components/darksky
+[sensor.dublin_bus_transport docs]: /components/dublin_bus_transport
+[sensor.eliqonline docs]: /components/eliqonline
+[sensor.entur_public_transport docs]: /components/entur_public_transport
[sensor.esphome docs]: /components/esphome/
-[sensor.fail2ban docs]: /components/sensor.fail2ban/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.flunearyou docs]: /components/sensor.flunearyou/
-[sensor.freebox docs]: /components/sensor.freebox/
-[sensor.geizhals docs]: /components/sensor.geizhals/
-[sensor.geo_rss_events docs]: /components/sensor.geo_rss_events/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.gtfs docs]: /components/sensor.gtfs/
-[sensor.gtt docs]: /components/sensor.gtt/
-[sensor.homematic docs]: /components/sensor.homematic/
-[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
-[sensor.huawei_lte docs]: /components/sensor.huawei_lte/
-[sensor.islamic_prayer_times docs]: /components/sensor.islamic_prayer_times/
-[sensor.launch_library docs]: /components/sensor.launch_library/
-[sensor.london_underground docs]: /components/sensor.london_underground/
-[sensor.luftdaten docs]: /components/sensor.luftdaten/
+[sensor.fail2ban docs]: /components/fail2ban
+[sensor.filter docs]: /components/filter
+[sensor.flunearyou docs]: /components/flunearyou
+[sensor.freebox docs]: /components/freebox#sensor
+[sensor.geizhals docs]: /components/geizhals
+[sensor.geo_rss_events docs]: /components/geo_rss_events
+[sensor.glances docs]: /components/glances
+[sensor.gtfs docs]: /components/gtfs
+[sensor.gtt docs]: /components/gtt
+[sensor.homematic docs]: /components/homematic
+[sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[sensor.huawei_lte docs]: /components/huawei_lte#sensor
+[sensor.islamic_prayer_times docs]: /components/islamic_prayer_times
+[sensor.launch_library docs]: /components/launch_library
+[sensor.london_underground docs]: /components/london_underground
+[sensor.luftdaten docs]: /components/luftdaten#sensor
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.mychevy docs]: /components/sensor.mychevy/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.nmbs docs]: /components/sensor.nmbs/
-[sensor.ohmconnect docs]: /components/sensor.ohmconnect/
-[sensor.openweathermap docs]: /components/sensor.openweathermap/
-[sensor.plum_lightpad docs]: /components/sensor.plum_lightpad/
-[sensor.point docs]: /components/sensor.point/
-[sensor.prezzibenzina docs]: /components/sensor.prezzibenzina/
+[sensor.mychevy docs]: /components/mychevy
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.nmbs docs]: /components/nmbs
+[sensor.ohmconnect docs]: /components/ohmconnect
+[sensor.openweathermap docs]: /components/openweathermap#sensor
+[sensor.plum_lightpad docs]: /components/plum_lightpad
+[sensor.point docs]: /components/point#sensor
+[sensor.prezzibenzina docs]: /components/prezzibenzina
[sensor.ruter docs]: /components/sensor.ruter/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
-[sensor.solaredge docs]: /components/sensor.solaredge/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tautulli docs]: /components/sensor.tautulli/
-[sensor.tellduslive docs]: /components/sensor.tellduslive/
+[sensor.scrape docs]: /components/scrape
+[sensor.seventeentrack docs]: /components/seventeentrack
+[sensor.solaredge docs]: /components/solaredge
+[sensor.sql docs]: /components/sql
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tautulli docs]: /components/tautulli
+[sensor.tellduslive docs]: /components/tellduslive
[sensor.xiaomi_aqara docs]: /components/sensor.xiaomi_aqara/
-[sensor.zha docs]: /components/sensor.zha/
-[sensor.zoneminder docs]: /components/sensor.zoneminder/
+[sensor.zha docs]: /components/zha
+[sensor.zoneminder docs]: /components/zoneminder#sensor
[skybell docs]: /components/skybell/
[splunk docs]: /components/splunk/
-[switch.esphome docs]: /components/switch.esphome/
-[switch.homekit_controller docs]: /components/switch.homekit_controller/
-[switch.homematicip_cloud docs]: /components/switch.homematicip_cloud/
-[switch.lutron docs]: /components/switch.lutron/
-[switch.pencom docs]: /components/switch.pencom/
-[switch.raspyrfm docs]: /components/switch.raspyrfm/
-[switch.rpi_rf docs]: /components/switch.rpi_rf/
-[switch.switchbot docs]: /components/switch.switchbot/
-[switch.tellduslive docs]: /components/switch.tellduslive/
-[switch.wemo docs]: /components/switch.wemo/
+[switch.esphome docs]: /components/esphome
+[switch.homekit_controller docs]: /components/homekit_controller
+[switch.homematicip_cloud docs]: /components/homematicip_cloud/
+[switch.lutron docs]: /components/lutron
+[switch.pencom docs]: /components/pencom
+[switch.raspyrfm docs]: /components/raspyrfm
+[switch.rpi_rf docs]: /components/rpi_rf
+[switch.switchbot docs]: /components/switchbot
+[switch.tellduslive docs]: /components/tellduslive
+[switch.wemo docs]: /components/wemo
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zha docs]: /components/switch.zha/
+[switch.zha docs]: /components/zha
[tahoma docs]: /components/tahoma/
[tellduslive docs]: /components/tellduslive/
[tibber docs]: /components/tibber/
[timer docs]: /components/timer/
[tts docs]: /components/tts/
[upnp docs]: /components/upnp/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.neato docs]: /components/neato#vacuum
[volvooncall docs]: /components/volvooncall/
[weather docs]: /components/weather/
-[weather.ipma docs]: /components/weather.ipma/
-[weather.openweathermap docs]: /components/weather.openweathermap/
-[weather.smhi docs]: /components/weather.smhi/
+[weather.ipma docs]: /components/ipma
+[weather.openweathermap docs]: /components/openweathermap#weather
+[weather.smhi docs]: /components/smhi
[websocket_api docs]: /components/websocket_api/
[wemo docs]: /components/wemo/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
diff --git a/source/_posts/2019-01-23-release-86.markdown b/source/_posts/2019-01-23-release-86.markdown
index 79bd248a685..6095750ffc4 100644
--- a/source/_posts/2019-01-23-release-86.markdown
+++ b/source/_posts/2019-01-23-release-86.markdown
@@ -76,7 +76,7 @@ Another noteworthy breaking change (sorry!), is that the automation `time` trigg
[@eliseomartelli]: https://github.com/eliseomartelli
[@fronzbot]: https://github.com/fronzbot
[blink docs]: /components/blink/
-[sensor.gtt docs]: /components/sensor.gtt/
+[sensor.gtt docs]: /components/gtt
## Release 0.86.2 - January 24
@@ -596,29 +596,29 @@ Experiencing issues introduced by this release? Please report them in our [issue
[abode docs]: /components/abode/
[ads docs]: /components/ads/
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.alarmdotcom docs]: /components/alarm_control_panel.alarmdotcom/
-[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
-[alarm_control_panel.elkm1 docs]: /components/alarm_control_panel.elkm1/
-[alarm_control_panel.homekit_controller docs]: /components/alarm_control_panel.homekit_controller/
+[alarm_control_panel.alarmdotcom docs]: /components/alarmdotcom
+[alarm_control_panel.arlo docs]: /components/arlo
+[alarm_control_panel.elkm1 docs]: /components/elkm1
+[alarm_control_panel.homekit_controller docs]: /components/homekit_controller
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
[alexa docs]: /components/alexa/
[automation.geo_location docs]: /docs/automation/trigger/#geo_location-trigger
[automation.interval docs]: /docs/automation/trigger/#interval-trigger
[automation.time docs]: /docs/automation/trigger/#time-trigger
-[binary_sensor.fibaro docs]: /components/binary_sensor.fibaro/
-[binary_sensor.hive docs]: /components/binary_sensor.hive/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.fibaro docs]: /components/fibaro
+[binary_sensor.hive docs]: /components/hive#binary-sensor
+[binary_sensor.workday docs]: /components/workday
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[blink docs]: /components/blink/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.xiaomi docs]: /components/camera.xiaomi/
-[camera.zoneminder docs]: /components/camera.zoneminder/
-[climate.hive docs]: /components/climate.hive/
+[camera.proxy docs]: /components/proxy
+[camera.xiaomi docs]: /components/xiaomi_aqara
+[camera.zoneminder docs]: /components/zoneminder#camera
+[climate.hive docs]: /components/hive#climate
[climate.mqtt docs]: /components/climate.mqtt/
-[climate.sensibo docs]: /components/climate.sensibo/
+[climate.sensibo docs]: /components/sensibo
[cloud docs]: /components/cloud/
-[cover.fibaro docs]: /components/cover.fibaro/
-[cover.homekit_controller docs]: /components/cover.homekit_controller/
+[cover.fibaro docs]: /components/fibaro
+[cover.homekit_controller docs]: /components/homekit_controller
[cover.mqtt docs]: /components/cover.mqtt/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
@@ -637,25 +637,25 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homekit_controller docs]: /components/homekit_controller/
[homematicip_cloud docs]: /components/homematicip_cloud/
[ihc docs]: /components/ihc/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.tensorflow docs]: /components/tensorflow
[influxdb docs]: /components/influxdb/
[konnected docs]: /components/konnected/
-[light.fibaro docs]: /components/light.fibaro/
-[light.hive docs]: /components/light.hive/
-[light.homematicip_cloud docs]: /components/light.homematicip_cloud/
+[light.fibaro docs]: /components/fibaro
+[light.hive docs]: /components/hive#light
+[light.homematicip_cloud docs]: /components/homematicip_cloud/
[light.mqtt docs]: /components/light.mqtt/
-[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
-[light.tradfri docs]: /components/light.tradfri/
+[light.rpi_gpio_pwm docs]: /components/rpi_gpio_pwm
+[light.tradfri docs]: /components/tradfri
[locative docs]: /components/locative/
-[lock.homekit_controller docs]: /components/lock.homekit_controller/
+[lock.homekit_controller docs]: /components/homekit_controller
[lock.mqtt docs]: /components/lock.mqtt/
-[lock.nuki docs]: /components/lock.nuki/
-[lock.zwave docs]: /components/lock.zwave/
+[lock.nuki docs]: /components/nuki
+[lock.zwave docs]: /components/zwave#lock
[mailgun docs]: /components/mailgun/
-[media_player.anthemav docs]: /components/media_player.anthemav/
-[media_player.nad docs]: /components/media_player.nad/
-[media_player.roku docs]: /components/media_player.roku/
-[media_player.songpal docs]: /components/media_player.songpal/
+[media_player.anthemav docs]: /components/anthemav
+[media_player.nad docs]: /components/nad
+[media_player.roku docs]: /components/roku#media-player
+[media_player.songpal docs]: /components/songpal
[mqtt docs]: /components/mqtt/
[mysensors docs]: /components/mysensors/
[neato docs]: /components/neato/
@@ -664,53 +664,53 @@ Experiencing issues introduced by this release? Please report them in our [issue
[openuv docs]: /components/openuv/
[plant docs]: /components/plant/
[rainmachine docs]: /components/rainmachine/
-[remote.harmony docs]: /components/remote.harmony/
-[remote.roku docs]: /components/remote.roku/
+[remote.harmony docs]: /components/harmony
+[remote.roku docs]: /components/roku#remote
[roku docs]: /components/roku/
-[scene.fibaro docs]: /components/scene.fibaro/
-[scene.hunterdouglas_powerview docs]: /components/scene.hunterdouglas_powerview/
-[sensor.ambient_station docs]: /components/sensor.ambient_station/
-[sensor.blink docs]: /components/sensor.blink/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.dublin_bus_transport docs]: /components/sensor.dublin_bus_transport/
-[sensor.fail2ban docs]: /components/sensor.fail2ban/
-[sensor.fibaro docs]: /components/sensor.fibaro/
-[sensor.flunearyou docs]: /components/sensor.flunearyou/
-[sensor.freebox docs]: /components/sensor.freebox/
-[sensor.gtt docs]: /components/sensor.gtt/
-[sensor.hive docs]: /components/sensor.hive/
-[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
-[sensor.influxdb docs]: /components/sensor.influxdb/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.lastfm docs]: /components/sensor.lastfm/
-[sensor.min_max docs]: /components/sensor.min_max/
+[scene.fibaro docs]: /components/fibaro
+[scene.hunterdouglas_powerview docs]: /components/hunterdouglas_powerview
+[sensor.ambient_station docs]: /components/ambient_station
+[sensor.blink docs]: /components/blink
+[sensor.darksky docs]: /components/darksky
+[sensor.dublin_bus_transport docs]: /components/dublin_bus_transport
+[sensor.fail2ban docs]: /components/fail2ban
+[sensor.fibaro docs]: /components/fibaro
+[sensor.flunearyou docs]: /components/flunearyou
+[sensor.freebox docs]: /components/freebox#sensor
+[sensor.gtt docs]: /components/gtt
+[sensor.hive docs]: /components/hive#sensor
+[sensor.imap_email_content docs]: /components/imap_email_content/
+[sensor.influxdb docs]: /components/influxdb#sensor
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.lastfm docs]: /components/lastfm
+[sensor.min_max docs]: /components/min_max
[sensor.mqtt docs]: /components/sensor.mqtt/
-[sensor.mychevy docs]: /components/sensor.mychevy/
-[sensor.nest docs]: /components/sensor.nest/
-[sensor.postnl docs]: /components/sensor.postnl/
-[sensor.prezzibenzina docs]: /components/sensor.prezzibenzina/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.sma docs]: /components/sensor.sma/
-[sensor.snmp docs]: /components/sensor.snmp/
-[sensor.tautulli docs]: /components/sensor.tautulli/
-[sensor.vasttrafik docs]: /components/sensor.vasttrafik/
-[sensor.zoneminder docs]: /components/sensor.zoneminder/
+[sensor.mychevy docs]: /components/mychevy
+[sensor.nest docs]: /components/nest#sensor
+[sensor.postnl docs]: /components/postnl
+[sensor.prezzibenzina docs]: /components/prezzibenzina
+[sensor.rest docs]: /components/rest
+[sensor.sma docs]: /components/sma#sensors
+[sensor.snmp docs]: /components/snmp#sensor
+[sensor.tautulli docs]: /components/tautulli
+[sensor.vasttrafik docs]: /components/vasttrafik
+[sensor.zoneminder docs]: /components/zoneminder#sensor
[simplisafe docs]: /components/simplisafe/
[sonos docs]: /components/sonos/
-[switch.fibaro docs]: /components/switch.fibaro/
-[switch.hive docs]: /components/switch.hive/
+[switch.fibaro docs]: /components/fibaro
+[switch.hive docs]: /components/hive#switch
[switch.mqtt docs]: /components/switch.mqtt/
-[switch.snmp docs]: /components/switch.snmp/
-[switch.tradfri docs]: /components/switch.tradfri/
+[switch.snmp docs]: /components/snmp#switch
+[switch.tradfri docs]: /components/tradfri
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
-[switch.zoneminder docs]: /components/switch.zoneminder/
+[switch.zoneminder docs]: /components/zoneminder#switch
[tahoma docs]: /components/tahoma/
[tellduslive docs]: /components/tellduslive/
[tts docs]: /components/tts/
[unifi docs]: /components/unifi/
[vacuum docs]: /components/vacuum/
[vacuum.mqtt docs]: /components/vacuum.mqtt/
-[vacuum.neato docs]: /components/vacuum.neato/
+[vacuum.neato docs]: /components/neato#vacuum
[waterfurnace docs]: /components/waterfurnace/
[wink docs]: /components/wink/
[zha docs]: /components/zha/
diff --git a/source/_posts/2019-02-06-release-87.markdown b/source/_posts/2019-02-06-release-87.markdown
index a3325c8ef47..1650298e0a3 100644
--- a/source/_posts/2019-02-06-release-87.markdown
+++ b/source/_posts/2019-02-06-release-87.markdown
@@ -71,7 +71,7 @@ If you prefer a podcast over release notes, check out [the Hass Podcast](https:/
[@jonudewux]: https://github.com/jonudewux
[@mnoorenberghe]: https://github.com/mnoorenberghe
[homekit_controller docs]: /components/homekit_controller/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[transmission docs]: /components/transmission/
[verisure docs]: /components/verisure/
[zoneminder docs]: /components/zoneminder/
@@ -549,37 +549,37 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@w1ll1am23]: https://github.com/w1ll1am23
[@zewelor]: https://github.com/zewelor
[@zhujisheng]: https://github.com/zhujisheng
-[air_pollutants docs]: /components/air_pollutants/
+[air_pollutants docs]: /components/air_quality
[air_quality docs]: /components/air_quality/
[alarm_control_panel docs]: /components/alarm_control_panel/
-[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
-[alarm_control_panel.concord232 docs]: /components/alarm_control_panel.concord232/
-[alarm_control_panel.homematicip_cloud docs]: /components/alarm_control_panel.homematicip_cloud/
+[alarm_control_panel.abode docs]: /components/abode
+[alarm_control_panel.concord232 docs]: /components/concord232#alarm-control-panel
+[alarm_control_panel.homematicip_cloud docs]: /components/homematicip_cloud
[alert docs]: /components/alert/
[ambient_station docs]: /components/ambient_station/
[android_ip_webcam docs]: /components/android_ip_webcam/
[asuswrt docs]: /components/asuswrt/
[automation.mqtt docs]: /docs/automation/trigger/#mqtt-trigger
-[binary_sensor.danfoss_air docs]: /components/binary_sensor.danfoss_air/
-[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
+[binary_sensor.danfoss_air docs]: /components/danfoss_air#binary-sensor
+[binary_sensor.homematicip_cloud docs]: /components/homematicip_cloud/
+[binary_sensor.trend docs]: /components/trend
[blink docs]: /components/blink/
-[camera.amcrest docs]: /components/camera.amcrest/
-[camera.arlo docs]: /components/camera.arlo/
-[camera.canary docs]: /components/camera.canary/
+[camera.amcrest docs]: /components/amcrest
+[camera.arlo docs]: /components/arlo#camera
+[camera.canary docs]: /components/canary#camera
[camera.ffmpeg docs]: /components/camera.ffmpeg/
-[camera.foscam docs]: /components/camera.foscam/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.ring docs]: /components/camera.ring/
-[camera.xiaomi docs]: /components/camera.xiaomi/
-[camera.yi docs]: /components/camera.yi/
-[climate.mill docs]: /components/climate.mill/
-[climate.radiotherm docs]: /components/climate.radiotherm/
+[camera.foscam docs]: /components/foscam
+[camera.onvif docs]: /components/onvif
+[camera.ring docs]: /components/ring#camera
+[camera.xiaomi docs]: /components/xiaomi_aqara
+[camera.yi docs]: /components/yi
+[climate.mill docs]: /components/mill
+[climate.radiotherm docs]: /components/radiotherm
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[danfoss_air docs]: /components/danfoss_air/
[device_tracker docs]: /components/device_tracker/
-[device_tracker.gpslogger docs]: /components/device_tracker.gpslogger/
+[device_tracker.gpslogger docs]: /components/gpslogger
[dovado docs]: /components/dovado/
[emulated_hue docs]: /components/emulated_hue/
[emulated_roku docs]: /components/emulated_roku/
@@ -595,66 +595,66 @@ Experiencing issues introduced by this release? Please report them in our [issue
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[hue docs]: /components/hue/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.qrcode docs]: /components/image_processing.qrcode/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.opencv docs]: /components/opencv
+[image_processing.qrcode docs]: /components/qrcode
+[image_processing.tensorflow docs]: /components/tensorflow
[isy994 docs]: /components/isy994/
[lcn docs]: /components/lcn/
-[light.everlights docs]: /components/light.everlights/
-[light.hyperion docs]: /components/light.hyperion/
-[light.lcn docs]: /components/light.lcn/
-[light.lifx docs]: /components/light.lifx/
+[light.everlights docs]: /components/everlights
+[light.hyperion docs]: /components/hyperion
+[light.lcn docs]: /components/lcn#light
+[light.lifx docs]: /components/lifx
[light.mqtt docs]: /components/light.mqtt/
-[light.yeelight docs]: /components/light.yeelight/
+[light.yeelight docs]: /components/yeelight
[locative docs]: /components/locative/
-[lock.zwave docs]: /components/lock.zwave/
+[lock.zwave docs]: /components/zwave#lock
[lovelace docs]: /components/lovelace/
[luftdaten docs]: /components/luftdaten/
[lutron docs]: /components/lutron/
[map docs]: /components/map/
[media_extractor docs]: /components/media_extractor/
-[media_player.cast docs]: /components/media_player.cast/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.mpd docs]: /components/media_player.mpd/
-[media_player.pjlink docs]: /components/media_player.pjlink/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.songpal docs]: /components/media_player.songpal/
-[media_player.volumio docs]: /components/media_player.volumio/
+[media_player.cast docs]: /components/cast
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.firetv docs]: /components/androidtv
+[media_player.mpd docs]: /components/mpd
+[media_player.pjlink docs]: /components/pjlink
+[media_player.plex docs]: /components/plex#media-player
+[media_player.songpal docs]: /components/songpal
+[media_player.volumio docs]: /components/volumio
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[nest docs]: /components/nest/
[notify docs]: /components/notify/
[rest_command docs]: /components/rest_command/
[sense docs]: /components/sense/
-[sensor.ambient_station docs]: /components/sensor.ambient_station/
-[sensor.asuswrt docs]: /components/sensor.asuswrt/
-[sensor.brottsplatskartan docs]: /components/sensor.brottsplatskartan/
-[sensor.co2signal docs]: /components/sensor.co2signal/
-[sensor.danfoss_air docs]: /components/sensor.danfoss_air/
-[sensor.dovado docs]: /components/sensor.dovado/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.fritzbox docs]: /components/sensor.fritzbox/
-[sensor.history_stats docs]: /components/sensor.history_stats/
-[sensor.imap docs]: /components/sensor.imap/
-[sensor.influxdb docs]: /components/sensor.influxdb/
-[sensor.integration docs]: /components/sensor.integration/
-[sensor.islamic_prayer_times docs]: /components/sensor.islamic_prayer_times/
-[sensor.lyft docs]: /components/sensor.lyft/
-[sensor.netatmo docs]: /components/sensor.netatmo/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.recollect_waste docs]: /components/sensor.recollect_waste/
-[sensor.rova docs]: /components/sensor.rova/
-[sensor.solaredge docs]: /components/sensor.solaredge/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.tibber docs]: /components/sensor.tibber/
-[sensor.transmission docs]: /components/sensor.transmission/
+[sensor.ambient_station docs]: /components/ambient_station
+[sensor.asuswrt docs]: /components/asuswrt
+[sensor.brottsplatskartan docs]: /components/brottsplatskartan
+[sensor.co2signal docs]: /components/co2signal
+[sensor.danfoss_air docs]: /components/danfoss_air#sensor
+[sensor.dovado docs]: /components/dovado#sensor
+[sensor.filter docs]: /components/filter
+[sensor.fritzbox docs]: /components/fritzbox#sensor
+[sensor.history_stats docs]: /components/history_stats
+[sensor.imap docs]: /components/imap
+[sensor.influxdb docs]: /components/influxdb#sensor
+[sensor.integration docs]: /components/integration
+[sensor.islamic_prayer_times docs]: /components/islamic_prayer_times
+[sensor.lyft docs]: /components/lyft
+[sensor.netatmo docs]: /components/netatmo#sensor
+[sensor.pollen docs]: /components/iqvia
+[sensor.recollect_waste docs]: /components/recollect_waste
+[sensor.rova docs]: /components/rova
+[sensor.solaredge docs]: /components/solaredge
+[sensor.sql docs]: /components/sql
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.tibber docs]: /components/tibber#sensor
+[sensor.transmission docs]: /components/transmission
[smartthings docs]: /components/smartthings/
-[switch.lcn docs]: /components/switch.lcn/
+[switch.lcn docs]: /components/lcn#switch
[switch.mqtt docs]: /components/switch.mqtt/
[switch.rest docs]: /components/switch.rest/
-[switch.smartthings docs]: /components/switch.smartthings/
+[switch.smartthings docs]: /components/smartthings#switch
[system_health docs]: /components/system_health/
[tellduslive docs]: /components/tellduslive/
[tibber docs]: /components/tibber/
diff --git a/source/_posts/2019-02-20-release-88.markdown b/source/_posts/2019-02-20-release-88.markdown
index a9dac153d3a..014c90da34c 100644
--- a/source/_posts/2019-02-20-release-88.markdown
+++ b/source/_posts/2019-02-20-release-88.markdown
@@ -85,10 +85,10 @@ Note for custom component developers: We are moving to a new file structure. Mor
[@dmulcahey]: https://github.com/dmulcahey
[@elupus]: https://github.com/elupus
[ambient_station docs]: /components/ambient_station/
-[light.yeelight docs]: /components/light.yeelight/
-[media_player.plex docs]: /components/media_player.plex/
-[media_player.samsungtv docs]: /components/media_player.samsungtv/
-[sensor.imap_email_content docs]: /components/sensor.imap_email_content/
+[light.yeelight docs]: /components/yeelight
+[media_player.plex docs]: /components/plex#media-player
+[media_player.samsungtv docs]: /components/samsungtv
+[sensor.imap_email_content docs]: /components/imap_email_content/
[zha docs]: /components/zha/
## Release 0.88.2 - February 27
@@ -112,7 +112,7 @@ Note for custom component developers: We are moving to a new file structure. Mor
[@conleydg]: https://github.com/conleydg
[@syssi]: https://github.com/syssi
[@yosilevy]: https://github.com/yosilevy
-[light.flux_led docs]: /components/light.flux_led/
+[light.flux_led docs]: /components/flux_led
[person docs]: /components/person/
[scene docs]: /components/scene/
[smartthings docs]: /components/smartthings/
@@ -621,7 +621,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[abode docs]: /components/abode/
[ads docs]: /components/ads/
[air_quality docs]: /components/air_quality/
-[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
+[alarm_control_panel.abode docs]: /components/abode
[alarmdecoder docs]: /components/alarmdecoder/
[ambient_station docs]: /components/ambient_station/
[amcrest docs]: /components/amcrest/
@@ -629,15 +629,15 @@ Experiencing issues introduced by this release? Please report them in our [issue
[apcupsd docs]: /components/apcupsd/
[apple_tv docs]: /components/apple_tv/
[august docs]: /components/august/
-[binary_sensor.bayesian docs]: /components/binary_sensor.bayesian/
+[binary_sensor.bayesian docs]: /components/bayesian
[binary_sensor.modbus docs]: /components/binary_sensor.modbus/
[blink docs]: /components/blink/
[cast docs]: /components/cast/
-[climate.coolmaster docs]: /components/climate.coolmaster/
-[climate.flexit docs]: /components/climate.flexit/
+[climate.coolmaster docs]: /components/coolmaster
+[climate.flexit docs]: /components/flexit
[climate.modbus docs]: /components/climate.modbus/
-[climate.xs1 docs]: /components/climate.xs1/
-[cover.velux docs]: /components/cover.velux/
+[climate.xs1 docs]: /components/xs1
+[cover.velux docs]: /components/velux
[deconz docs]: /components/deconz/
[default_config docs]: /components/default_config/
[device_tracker docs]: /components/device_tracker/
@@ -659,18 +659,18 @@ Experiencing issues introduced by this release? Please report them in our [issue
[ipma docs]: /components/ipma/
[isy994 docs]: /components/isy994/
[knx docs]: /components/knx/
-[light.ads docs]: /components/light.ads/
-[light.flux_led docs]: /components/light.flux_led/
-[light.hyperion docs]: /components/light.hyperion/
+[light.ads docs]: /components/ads#light
+[light.flux_led docs]: /components/flux_led
+[light.hyperion docs]: /components/hyperion
[light.knx docs]: /components/light.knx/
[light.rflink docs]: /components/light.rflink/
-[light.tplink docs]: /components/light.tplink/
+[light.tplink docs]: /components/tplink
[lock docs]: /components/lock/
[media_extractor docs]: /components/media_extractor/
-[media_player.denonavr docs]: /components/media_player.denonavr/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.universal docs]: /components/media_player.universal/
-[media_player.yamaha docs]: /components/media_player.yamaha/
+[media_player.denonavr docs]: /components/denonavr/
+[media_player.firetv docs]: /components/androidtv
+[media_player.universal docs]: /components/universal
+[media_player.yamaha docs]: /components/yamaha
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[mythicbeastsdns docs]: /components/mythicbeastsdns/
@@ -684,36 +684,36 @@ Experiencing issues introduced by this release? Please report them in our [issue
[python_script docs]: /components/python_script/
[rflink docs]: /components/rflink/
[script docs]: /components/script/
-[sensor.ambient_station docs]: /components/sensor.ambient_station/
-[sensor.co2signal docs]: /components/sensor.co2signal/
-[sensor.cpuspeed docs]: /components/sensor.cpuspeed/
-[sensor.darksky docs]: /components/sensor.darksky/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.ebusd docs]: /components/sensor.ebusd/
-[sensor.fastdotcom docs]: /components/sensor.fastdotcom/
-[sensor.github docs]: /components/sensor.github/
-[sensor.gtfs docs]: /components/sensor.gtfs/
-[sensor.imap docs]: /components/sensor.imap/
-[sensor.integration docs]: /components/sensor.integration/
-[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
-[sensor.miflora docs]: /components/sensor.miflora/
+[sensor.ambient_station docs]: /components/ambient_station
+[sensor.co2signal docs]: /components/co2signal
+[sensor.cpuspeed docs]: /components/cpuspeed
+[sensor.darksky docs]: /components/darksky
+[sensor.dsmr docs]: /components/dsmr
+[sensor.ebusd docs]: /components/ebusd
+[sensor.fastdotcom docs]: /components/fastdotcom
+[sensor.github docs]: /components/github
+[sensor.gtfs docs]: /components/gtfs
+[sensor.imap docs]: /components/imap
+[sensor.integration docs]: /components/integration
+[sensor.jewish_calendar docs]: /components/jewish_calendar
+[sensor.miflora docs]: /components/miflora
[sensor.modbus docs]: /components/sensor.modbus/
-[sensor.rejseplanen docs]: /components/sensor.rejseplanen/
-[sensor.speedtest docs]: /components/sensor.speedtest/
-[sensor.speedtestdotnet docs]: /components/sensor.speedtestdotnet/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.ted5000 docs]: /components/sensor.ted5000/
-[sensor.thermoworks_smoke docs]: /components/sensor.thermoworks_smoke/
-[sensor.xs1 docs]: /components/sensor.xs1/
+[sensor.rejseplanen docs]: /components/rejseplanen
+[sensor.speedtest docs]: /components/speedtestdotnet
+[sensor.speedtestdotnet docs]: /components/speedtestdotnetdotnet/
+[sensor.sql docs]: /components/sql
+[sensor.ted5000 docs]: /components/ted5000
+[sensor.thermoworks_smoke docs]: /components/thermoworks_smoke
+[sensor.xs1 docs]: /components/xs1#sensors
[smartthings docs]: /components/smartthings/
[smhi docs]: /components/smhi/
[speedtestdotnet docs]: /components/speedtestdotnet/
[spider docs]: /components/spider/
-[switch.broadlink docs]: /components/switch.broadlink/
+[switch.broadlink docs]: /components/broadlink#switch
[switch.modbus docs]: /components/switch.modbus/
-[switch.switchmate docs]: /components/switch.switchmate/
-[switch.tplink docs]: /components/switch.tplink/
-[switch.xs1 docs]: /components/switch.xs1/
+[switch.switchmate docs]: /components/switchmate
+[switch.tplink docs]: /components/tplink
+[switch.xs1 docs]: /components/xs1
[system_health docs]: /components/system_health/
[system_log docs]: /components/system_log/
[thethingsnetwork docs]: /components/thethingsnetwork/
diff --git a/source/_posts/2019-03-13-release-89.markdown b/source/_posts/2019-03-13-release-89.markdown
index 50512c63fb0..058ada9b6f1 100644
--- a/source/_posts/2019-03-13-release-89.markdown
+++ b/source/_posts/2019-03-13-release-89.markdown
@@ -84,7 +84,7 @@ __Existing SmartThings configuration entries will be removed,__ including the Sm
[blink docs]: /components/blink/
[homematicip_cloud docs]: /components/homematicip_cloud/
[neato docs]: /components/neato/
-[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
+[sensor.google_travel_time docs]: /components/google_travel_time
[water_heater docs]: /components/water_heater/
[webostv docs]: /components/webostv/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
@@ -104,7 +104,7 @@ __Existing SmartThings configuration entries will be removed,__ including the Sm
[@awarecan]: https://github.com/awarecan
[@dshokouhi]: https://github.com/dshokouhi
[@kstaniek]: https://github.com/kstaniek
-[binary_sensor.tod docs]: /components/binary_sensor.tod/
+[binary_sensor.tod docs]: /components/tod
[http docs]: /components/http/
[neato docs]: /components/neato/
[smartthings docs]: /components/smartthings/
@@ -624,14 +624,14 @@ Experiencing issues introduced by this release? Please report them in our [issue
[ads docs]: /components/ads/
[air_quality docs]: /components/air_quality/
[ambient_station docs]: /components/ambient_station/
-[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
-[binary_sensor.nissan_leaf docs]: /components/binary_sensor.nissan_leaf/
+[binary_sensor.hikvision docs]: /components/hikvision
+[binary_sensor.nissan_leaf docs]: /components/nissan_leaf
[binary_sensor.rest docs]: /components/binary_sensor.rest/
-[binary_sensor.tod docs]: /components/binary_sensor.tod/
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
+[binary_sensor.tod docs]: /components/tod
+[binary_sensor.trend docs]: /components/trend
[config docs]: /components/config/
[cover docs]: /components/cover/
-[cover.lcn docs]: /components/cover.lcn/
+[cover.lcn docs]: /components/lcn#cover
[danfoss_air docs]: /components/danfoss_air/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
@@ -646,20 +646,20 @@ Experiencing issues introduced by this release? Please report them in our [issue
[http docs]: /components/http/
[hue docs]: /components/hue/
[ihc docs]: /components/ihc/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.tensorflow docs]: /components/tensorflow
[insteon docs]: /components/insteon/
[iperf3 docs]: /components/iperf3/
[knx docs]: /components/knx/
[lcn docs]: /components/lcn/
-[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
-[light.tplink docs]: /components/light.tplink/
-[light.yeelight docs]: /components/light.yeelight/
+[light.rpi_gpio_pwm docs]: /components/rpi_gpio_pwm
+[light.tplink docs]: /components/tplink
+[light.yeelight docs]: /components/yeelight
[lutron docs]: /components/lutron/
[media_extractor docs]: /components/media_extractor/
-[media_player.anthemav docs]: /components/media_player.anthemav/
-[media_player.firetv docs]: /components/media_player.firetv/
-[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
-[media_player.philips_js docs]: /components/media_player.philips_js/
+[media_player.anthemav docs]: /components/anthemav
+[media_player.firetv docs]: /components/androidtv
+[media_player.panasonic_viera docs]: /components/panasonic_viera
+[media_player.philips_js docs]: /components/philips_js
[meteo_france docs]: /components/meteo_france/
[mobile_app docs]: /components/mobile_app/
[modbus docs]: /components/modbus/
@@ -675,44 +675,44 @@ Experiencing issues introduced by this release? Please report them in our [issue
[prometheus docs]: /components/prometheus/
[ps4 docs]: /components/ps4/
[raspihats docs]: /components/raspihats/
-[sensor.airvisual docs]: /components/sensor.airvisual/
+[sensor.airvisual docs]: /components/airvisual
[sensor.buienradar docs]: /components/sensor.buienradar/
-[sensor.crimereports docs]: /components/sensor.crimereports/
-[sensor.discogs docs]: /components/sensor.discogs/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.etherscan docs]: /components/sensor.etherscan/
-[sensor.filter docs]: /components/sensor.filter/
-[sensor.glances docs]: /components/sensor.glances/
-[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
-[sensor.gtfs docs]: /components/sensor.gtfs/
-[sensor.iperf3 docs]: /components/sensor.iperf3/
-[sensor.linky docs]: /components/sensor.linky/
-[sensor.meteo_france docs]: /components/sensor.meteo_france/
-[sensor.mitemp_bt docs]: /components/sensor.mitemp_bt/
-[sensor.nissan_leaf docs]: /components/sensor.nissan_leaf/
-[sensor.nmbs docs]: /components/sensor.nmbs/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.reddit docs]: /components/sensor.reddit/
-[sensor.rest docs]: /components/sensor.rest/
-[sensor.ripple docs]: /components/sensor.ripple/
-[sensor.rova docs]: /components/sensor.rova/
-[sensor.scrape docs]: /components/sensor.scrape/
-[sensor.shodan docs]: /components/sensor.shodan/
-[sensor.sochain docs]: /components/sensor.sochain/
-[sensor.sql docs]: /components/sensor.sql/
-[sensor.starlingbank docs]: /components/sensor.starlingbank/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
+[sensor.crimereports docs]: /components/crimereports
+[sensor.discogs docs]: /components/discogs
+[sensor.dsmr docs]: /components/dsmr
+[sensor.etherscan docs]: /components/etherscan
+[sensor.filter docs]: /components/filter
+[sensor.glances docs]: /components/glances
+[sensor.google_travel_time docs]: /components/google_travel_time
+[sensor.gtfs docs]: /components/gtfs
+[sensor.iperf3 docs]: /components/iperf3
+[sensor.linky docs]: /components/linky
+[sensor.meteo_france docs]: /components/meteo_france
+[sensor.mitemp_bt docs]: /components/mitemp_bt
+[sensor.nissan_leaf docs]: /components/nissan_leaf
+[sensor.nmbs docs]: /components/nmbs
+[sensor.pollen docs]: /components/iqvia
+[sensor.reddit docs]: /components/reddit
+[sensor.rest docs]: /components/rest
+[sensor.ripple docs]: /components/ripple
+[sensor.rova docs]: /components/rova
+[sensor.scrape docs]: /components/scrape
+[sensor.shodan docs]: /components/shodan
+[sensor.sochain docs]: /components/sochain
+[sensor.sql docs]: /components/sql
+[sensor.starlingbank docs]: /components/starlingbank
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.waze_travel_time docs]: /components/waze_travel_time
[simplisafe docs]: /components/simplisafe/
[smartthings docs]: /components/smartthings/
[smhi docs]: /components/smhi/
[snips docs]: /components/snips/
[sonos docs]: /components/sonos/
-[switch.nissan_leaf docs]: /components/switch.nissan_leaf/
-[switch.sony_projector docs]: /components/switch.sony_projector/
-[switch.switchbot docs]: /components/switch.switchbot/
-[switch.switchmate docs]: /components/switch.switchmate/
-[switch.tplink docs]: /components/switch.tplink/
+[switch.nissan_leaf docs]: /components/nissan_leaf
+[switch.sony_projector docs]: /components/sony_projector
+[switch.switchbot docs]: /components/switchbot
+[switch.switchmate docs]: /components/switchmate
+[switch.tplink docs]: /components/tplink
[system_log docs]: /components/system_log/
[tahoma docs]: /components/tahoma/
[telegram_bot docs]: /components/telegram_bot/
@@ -724,9 +724,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[velux docs]: /components/velux/
[water_heater docs]: /components/water_heater/
-[weather.met docs]: /components/weather.met/
-[weather.meteo_france docs]: /components/weather.meteo_france/
-[weather.openweathermap docs]: /components/weather.openweathermap/
+[weather.met docs]: /components/met
+[weather.meteo_france docs]: /components/meteo_france/
+[weather.openweathermap docs]: /components/openweathermap#weather
[websocket_api docs]: /components/websocket_api/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
diff --git a/source/_posts/2019-03-20-release-90.markdown b/source/_posts/2019-03-20-release-90.markdown
index 2396c3647ae..31bdfb92074 100644
--- a/source/_posts/2019-03-20-release-90.markdown
+++ b/source/_posts/2019-03-20-release-90.markdown
@@ -141,8 +141,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __http.api_password__ - __Deprecated__ - Users who are still using api_password for authentication will need to move its configuration under auth_providers. Please see the [updated documentation](/docs/authentication/providers/#legacy-api-password) for further details. Those who don't make this change will see an INFO level reminder in the Home Assistant logs until the fix is made for a time, but please note, __api_password authentication will eventually be removed completely__ and we advise users to change to use one of the [other authentication methods](/docs/authentication/providers/#available-auth-providers). If you manually specify auth providers in your `configuration.yaml`, you will need to migrate your API Password from the http section to the auth provider section to continue using it. ([@awarecan] - [#21884]) ([api docs]) ([frontend docs]) ([hassio docs]) ([http docs]) ([mqtt docs]) ([websocket_api docs]) ([zeroconf docs]) ([camera.proxy docs])
- __Default Config__ - Default config no longer contains the discovery component. That is now part of the initial written configuration.yaml. If you rely on default config and want to use discovery, add `discovery:` back to your configuration.yaml.
- __Netatmo__
- * Added support for multiple Netatmo thermostats/valves allowing the user to specify different homes or rooms! Please check the [updated documentation](/components/climate.netatmo/) for configuration details. ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs])
- * `current_operation` will no longer return the the boiler status, but the operation_mode. For example, heat, cool, or idle. Please check the [updated documentation](/components/climate.netatmo/) for more details. ([@shanbs] - [#21633]) ([netatmo docs])
+ * Added support for multiple Netatmo thermostats/valves allowing the user to specify different homes or rooms! Please check the [updated documentation](/components/netatmo#climate) for configuration details. ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs])
+ * `current_operation` will no longer return the the boiler status, but the operation_mode. For example, heat, cool, or idle. Please check the [updated documentation](/components/netatmo#climate) for more details. ([@shanbs] - [#21633]) ([netatmo docs])
- __Utility Meter__ - Currently the offset configuration parameter is an integer that limits daily cycles to have offsets in days, monthly cycles to have offsets in months, etc.
This change increases the flexibility of offset by making it a more flexible time period that can be described in a combination of hours, days, months, etc. This makes it possible for a yearly cycle to start at a given day of a given month. Please see the [updated documentation](/components/utility_meter/) for the new configuration options. ([@dgomes] - [#20926]) ([utility_meter docs])
- __KNX__ - An update for xknx to version 0.10.0 requires users to update their configuration by changing `target_temperature_address` to `target_temperature_state_address`. Other fixes and features:
@@ -704,7 +704,7 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the
[@zemerick1]: https://github.com/zemerick1
[@zewelor]: https://github.com/zewelor
[air_quality docs]: /components/air_quality/
-[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/
+[alarm_control_panel.manual_mqtt docs]: /components/manual_mqtt/
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
[alarmdecoder docs]: /components/alarmdecoder/
[alert docs]: /components/alert/
@@ -717,20 +717,20 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the
[auth docs]: /components/auth/
[automation docs]: /components/automation/
[automation.mqtt docs]: /docs/automation/trigger/#mqtt-trigger
-[binary_sensor.trend docs]: /components/binary_sensor.trend/
-[binary_sensor.workday docs]: /components/binary_sensor.workday/
+[binary_sensor.trend docs]: /components/trend
+[binary_sensor.workday docs]: /components/workday
[camera docs]: /components/camera/
[camera.ffmpeg docs]: /components/camera.ffmpeg/
-[camera.generic docs]: /components/camera.generic/
-[camera.onvif docs]: /components/camera.onvif/
-[camera.proxy docs]: /components/camera.proxy/
-[camera.xeoma docs]: /components/camera.xeoma/
+[camera.generic docs]: /components/generic
+[camera.onvif docs]: /components/onvif
+[camera.proxy docs]: /components/proxy
+[camera.xeoma docs]: /components/xeoma
[cast docs]: /components/cast/
[cisco_mobility_express docs]: /components/cisco_mobility_express/
-[climate.ephember docs]: /components/climate.ephember/
-[climate.eq3btsmart docs]: /components/climate.eq3btsmart/
-[climate.honeywell docs]: /components/climate.honeywell/
-[climate.netatmo docs]: /components/climate.netatmo/
+[climate.ephember docs]: /components/ephember
+[climate.eq3btsmart docs]: /components/eq3btsmart
+[climate.honeywell docs]: /components/honeywell
+[climate.netatmo docs]: /components/netatmo#climate
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[default_config docs]: /components/default_config/
@@ -749,24 +749,24 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the
[ifttt docs]: /components/ifttt/
[ihc docs]: /components/ihc/
[image_processing docs]: /components/image_processing/
-[image_processing.opencv docs]: /components/image_processing.opencv/
-[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
+[image_processing.opencv docs]: /components/opencv
+[image_processing.tensorflow docs]: /components/tensorflow
[knx docs]: /components/knx/
[konnected docs]: /components/konnected/
[lametric docs]: /components/lametric/
[lifx docs]: /components/lifx/
[light docs]: /components/light/
-[light.flux_led docs]: /components/light.flux_led/
-[light.ihc docs]: /components/light.ihc/
-[light.mystrom docs]: /components/light.mystrom/
-[light.nanoleaf docs]: /components/light.nanoleaf/
+[light.flux_led docs]: /components/flux_led
+[light.ihc docs]: /components/ihc#light
+[light.mystrom docs]: /components/mystrom#light
+[light.nanoleaf docs]: /components/nanoleaf
[logbook docs]: /components/logbook/
[lutron docs]: /components/lutron/
[media_extractor docs]: /components/media_extractor/
-[media_player.anthemav docs]: /components/media_player.anthemav/
-[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
-[media_player.enigma2 docs]: /components/media_player.enigma2/
-[media_player.firetv docs]: /components/media_player.firetv/
+[media_player.anthemav docs]: /components/anthemav
+[media_player.dlna_dmr docs]: /components/dlna_dmr
+[media_player.enigma2 docs]: /components/enigma2
+[media_player.firetv docs]: /components/androidtv
[mobile_app docs]: /components/mobile_app/
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
@@ -774,41 +774,41 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the
[ness_alarm docs]: /components/ness_alarm/
[netatmo docs]: /components/netatmo/
[notify docs]: /components/notify/
-[notify.sendgrid docs]: /components/notify.sendgrid/
+[notify.sendgrid docs]: /components/sendgrid
[onboarding docs]: /components/onboarding/
[openuv docs]: /components/openuv/
[owntracks docs]: /components/owntracks/
[ps4 docs]: /components/ps4/
[rainmachine docs]: /components/rainmachine/
[remote docs]: /components/remote/
-[remote.harmony docs]: /components/remote.harmony/
+[remote.harmony docs]: /components/harmony
[satel_integra docs]: /components/satel_integra/
[scene docs]: /components/scene/
[script docs]: /components/script/
[sense docs]: /components/sense/
-[sensor.arwn docs]: /components/sensor.arwn/
-[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/
-[sensor.discogs docs]: /components/sensor.discogs/
-[sensor.dsmr docs]: /components/sensor.dsmr/
-[sensor.flunearyou docs]: /components/sensor.flunearyou/
-[sensor.loopenergy docs]: /components/sensor.loopenergy/
-[sensor.mopar docs]: /components/sensor.mopar/
-[sensor.mqtt_room docs]: /components/sensor.mqtt_room/
-[sensor.netdata docs]: /components/sensor.netdata/
-[sensor.nmbs docs]: /components/sensor.nmbs/
-[sensor.pollen docs]: /components/sensor.pollen/
-[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
-[sensor.starlingbank docs]: /components/sensor.starlingbank/
-[sensor.synologydsm docs]: /components/sensor.synologydsm/
-[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
-[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
-[sensor.whois docs]: /components/sensor.whois/
+[sensor.arwn docs]: /components/arwn
+[sensor.deutsche_bahn docs]: /components/deutsche_bahn
+[sensor.discogs docs]: /components/discogs
+[sensor.dsmr docs]: /components/dsmr
+[sensor.flunearyou docs]: /components/flunearyou
+[sensor.loopenergy docs]: /components/loopenergy
+[sensor.mopar docs]: /components/mopar
+[sensor.mqtt_room docs]: /components/mqtt_room
+[sensor.netdata docs]: /components/netdata
+[sensor.nmbs docs]: /components/nmbs
+[sensor.pollen docs]: /components/iqvia
+[sensor.seventeentrack docs]: /components/seventeentrack
+[sensor.starlingbank docs]: /components/starlingbank
+[sensor.synologydsm docs]: /components/synologydsm
+[sensor.systemmonitor docs]: /components/systemmonitor
+[sensor.waze_travel_time docs]: /components/waze_travel_time
+[sensor.whois docs]: /components/whois
[smartthings docs]: /components/smartthings/
[snips docs]: /components/snips/
[sonos docs]: /components/sonos/
[stream docs]: /components/stream/
-[switch.mystrom docs]: /components/switch.mystrom/
-[switch.vesync docs]: /components/switch.vesync/
+[switch.mystrom docs]: /components/mystrom#switch
+[switch.vesync docs]: /components/vesync#switches
[tado docs]: /components/tado/
[tellstick docs]: /components/tellstick/
[tesla docs]: /components/tesla/
diff --git a/source/_posts/2019-04-03-release-91.markdown b/source/_posts/2019-04-03-release-91.markdown
index 1fa82cab295..ceeccad45af 100644
--- a/source/_posts/2019-04-03-release-91.markdown
+++ b/source/_posts/2019-04-03-release-91.markdown
@@ -765,7 +765,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[foscam docs]: /components/foscam/
[freebox docs]: /components/freebox/
[frontend docs]: /components/frontend/
-[generic docs]: /components/generic/
+[generic docs]: /components/generic_ip_camera/
[generic_thermostat docs]: /components/generic_thermostat/
[google_assistant docs]: /components/google_assistant/
[group docs]: /components/group/
@@ -812,7 +812,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[panel_iframe docs]: /components/panel_iframe/
[picotts docs]: /components/picotts/
[plex docs]: /components/plex/
-[pollen docs]: /components/pollen/
+[pollen docs]: /components/iqvia
[prometheus docs]: /components/prometheus/
[ps4 docs]: /components/ps4/
[push docs]: /components/push/
diff --git a/source/_posts/2019-04-24-release-92.markdown b/source/_posts/2019-04-24-release-92.markdown
index 58984611a7c..79a18f4f204 100644
--- a/source/_posts/2019-04-24-release-92.markdown
+++ b/source/_posts/2019-04-24-release-92.markdown
@@ -1007,7 +1007,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[geo_rss_events docs]: /components/geo_rss_events/
[geofency docs]: /components/geofency/
[glances docs]: /components/glances/
-[google docs]: /components/google/
+[google docs]: /components/google_translate
[google_assistant docs]: /components/google_assistant/
[google_translate docs]: /components/google_translate/
[gpslogger docs]: /components/gpslogger/
diff --git a/source/_posts/2019-05-16-release-93.markdown b/source/_posts/2019-05-16-release-93.markdown
index e731240ee3e..fb48af10c6b 100644
--- a/source/_posts/2019-05-16-release-93.markdown
+++ b/source/_posts/2019-05-16-release-93.markdown
@@ -159,7 +159,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
* The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors – including "Yesterday" sensors – will no longer appear; users will need to update any automations that previously relied on these sensors. ([@bachya] - [#23258]) ([iqvia docs])
Example configuration:
- ```
+ ```yaml
iqvia:
zip_code: "12345"
```
@@ -177,7 +177,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Epson Workforce__ - This change adds the option to add photo black cartridge as a setting. It also corrects the spelling of "Inklevel" to "Ink level"([@ThaStealth] - [#23433]) ([epsonworkforce docs])
Example configuration:
- ```
+ ```yaml
- platform: epsonworkforce
host: IP_ADDRESS
monitored_conditions:
@@ -196,7 +196,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Sesame Smart Lock__ - The Sesame smart lock's 1.0 API uses a username/password pair to authenticate, and may be deprecated in the future. The V3 API uses an API key, so it will require users to update their HA config. ([@zanglang] - [#23621]) ([sesame docs])
Example configuration:
- ```
+ ```yaml
lock:
- platform: sesame
api_key: !secret sesame_api_key
@@ -779,7 +779,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[geniushub docs]: /components/geniushub/
[geofency docs]: /components/geofency/
[glances docs]: /components/glances/
-[google docs]: /components/google/
+[google docs]: /components/google_translate
[google_assistant docs]: /components/google_assistant/
[greeneye_monitor docs]: /components/greeneye_monitor/
[hangouts docs]: /components/hangouts/
@@ -828,7 +828,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[panasonic_bluray docs]: /components/panasonic_bluray/
[philips_js docs]: /components/philips_js/
[plex docs]: /components/plex/
-[pollen docs]: /components/pollen/
+[pollen docs]: /components/iqvia
[ps4 docs]: /components/ps4/
[ptvsd docs]: /components/ptvsd/
[rainmachine docs]: /components/rainmachine/
diff --git a/source/_posts/2019-06-05-release-94.markdown b/source/_posts/2019-06-05-release-94.markdown
index 4c7c3349697..8c56f3ac652 100644
--- a/source/_posts/2019-06-05-release-94.markdown
+++ b/source/_posts/2019-06-05-release-94.markdown
@@ -189,7 +189,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- __Doorbird__ -_Refactored_- This change cleans up the code for the component quite a bit. Schedule manipulation has been removed and HTTP views have been consolidated. The configuration changes should result in an overall easier experience for setting up a Doorbird in HA and allow for new Doorbird events to be utilized without having to update the component as often. No changes for switches or camera integrations of this component. ([@oblogic7] - [#23892]) ([doorbird docs])
Example configuration:
- ```
+ ```yaml
doorbird:
devices:
- host: 10.10.10.10
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index da96308d03c..9aa7da8d909 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -720,7 +720,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[geniushub docs]: /components/geniushub/
[gitlab_ci docs]: /components/gitlab_ci/
[glances docs]: /components/glances/
-[google docs]: /components/google/
+[google docs]: /components/google_translate
[google_assistant docs]: /components/google_assistant/
[google_cloud docs]: /components/google_cloud/
[heos docs]: /components/heos/
@@ -785,7 +785,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[velbus docs]: /components/velbus/
[velux docs]: /components/velux/
[vera docs]: /components/vera/
-[vlc_telnet docs]: /components/vlc-telnet/
+[vlc_telnet docs]: /components/vlc_telnet
[waze_travel_time docs]: /components/waze_travel_time/
[webostv docs]: /components/webostv/
[websocket_api docs]: /components/websocket_api/
diff --git a/source/_posts/2019-08-07-release-97.markdown b/source/_posts/2019-08-07-release-97.markdown
index c1601dedffb..c2b58c12af7 100644
--- a/source/_posts/2019-08-07-release-97.markdown
+++ b/source/_posts/2019-08-07-release-97.markdown
@@ -803,7 +803,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[rejseplanen docs]: /components/rejseplanen/
[remote docs]: /components/remote/
[ring docs]: /components/ring/
-[ritassist docs]: /components/ritassist/
+[ritassist docs]: /components/fleetgo
[roku docs]: /components/roku/
[roomba docs]: /components/roomba/
[samsungtv docs]: /components/samsungtv/
diff --git a/source/_posts/2019-09-18-release-99.markdown b/source/_posts/2019-09-18-release-99.markdown
index 3d7e0aaa9ec..b3bff518efd 100644
--- a/source/_posts/2019-09-18-release-99.markdown
+++ b/source/_posts/2019-09-18-release-99.markdown
@@ -41,7 +41,7 @@ The user starts by picking one of their devices that is integrated into Home Ass
Device automations are available for triggers, conditions and actions. Today’s release supports lights, switches and Deconz. More to come in future releases as integration developers adopt it.
-Big thanks to [@emontomery] for driving this effort. He added initial support for device automations as a YAML-only feature in Home Assistant 0.97 and has worked hard to extend it in this release with UI support and support for conditions, actions and more integrations. Also a big thanks to [@kane610] who added added support for device automations to Deconz which helped squash bugs and improve the design.
+Big thanks to [@emontnemery] for driving this effort. He added initial support for device automations as a YAML-only feature in Home Assistant 0.97 and has worked hard to extend it in this release with UI support and support for conditions, actions and more integrations. Also a big thanks to [@kane610] who added added support for device automations to Deconz which helped squash bugs and improve the design.
## Frontend
@@ -166,6 +166,19 @@ Forgot to include frontend update 99.1.
- Show toast on success save entity settings ([#3763](https://github.com/home-assistant/home-assistant-polymer/pull/3763)) [@bramkragten]
- Align behaviour state badge ([#3767](https://github.com/home-assistant/home-assistant-polymer/pull/3767)) [@bramkragten]
+## Release 0.99.3 - September 25
+
+- Bump zigpy-zigate to 0.3.1 ([@doudz] - [#26600]) ([zha docs])
+- HM-CC-TC was not recognized ([@MajestyIV] - [#26623]) ([homematic docs])
+- Bring back babel for ES5 builds @bramkragten
+
+[#26600]: https://github.com/home-assistant/home-assistant/pull/26600
+[#26623]: https://github.com/home-assistant/home-assistant/pull/26623
+[@majestyiv]: https://github.com/MajestyIV
+[@doudz]: https://github.com/doudz
+[homematic docs]: /components/homematic/
+[zha docs]: /components/zha/
+
## If you need help...
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
@@ -792,7 +805,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[webhook docs]: /components/webhook/
[withings docs]: /components/withings/
[wwlln docs]: /components/wwlln/
-[xiaomi docs]: /components/xiaomi/
+[xiaomi docs]: /components/xiaomi_aqara
[yeelight docs]: /components/yeelight/
[zha docs]: /components/zha/
[zhong_hong docs]: /components/zhong_hong/
diff --git a/source/_redirects b/source/_redirects
index f3dd5cfe714..64c70b28c10 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -72,3 +72,1026 @@
/developers/rest_api https://developers.home-assistant.io/docs/en/external_api_rest.html
/developers/server_sent_events https://developers.home-assistant.io/docs/en/external_api_server_sent_events.html
/developers/websocket_api https://developers.home-assistant.io/docs/en/external_api_websocket.html
+
+# Platform pages to integration pages migration
+/components/air_pollutants /components/air_quality
+/components/air_pollutants.opensensemap /components/opensensemap
+/components/air_quality.nilu /components/nilu
+/components/air_quality.opensensemap /components/opensensemap
+/components/alarm_control_panel.abode /components/abode
+/components/alarm_control_panel.alarmdecoder /components/alarmdecoder#alarm-control-panel
+/components/alarm_control_panel.alarmdotcom /components/alarmdotcom
+/components/alarm_control_panel.arlo /components/arlo
+/components/alarm_control_panel.blink /components/blink
+/components/alarm_control_panel.canary /components/canary
+/components/alarm_control_panel.concord232 /components/concord232#alarm-control-panel
+/components/alarm_control_panel.egardia /components/egardia
+/components/alarm_control_panel.elkm1 /components/elkm1
+/components/alarm_control_panel.envisalink /components/envisalink
+/components/alarm_control_panel.homekit_controller /components/homekit_controller
+/components/alarm_control_panel.homematicip_cloud /components/homematicip_cloud
+/components/alarm_control_panel.ialarm /components/ialarm
+/components/alarm_control_panel.lupusec /components/lupusec
+/components/alarm_control_panel.manual /components/manual
+/components/alarm_control_panel.manual_mqtt /components/manual_mqtt
+/components/alarm_control_panel.ness_alarm /components/ness_alarm
+/components/alarm_control_panel.nx584 /components/nx584
+/components/alarm_control_panel.satel_integra /components/satel_integra
+/components/alarm_control_panel.simplisafe /components/simplisafe
+/components/alarm_control_panel.spc /components/spc
+/components/alarm_control_panel.totalconnect /components/totalconnect
+/components/alarm_control_panel.verisure /components/verisure#alarm-control-panel
+/components/alarm_control_panel.wink /components/wink#alarm-control-panel
+/components/alarm_control_panel.yale_smart_alarm /components/yale_smart_alarm
+/components/apiai /components/dialogflow
+/components/binary_sensor.abode /components/abode#binary-sensor
+/components/binary_sensor.ads /components/ads#binary-sensor
+/components/binary_sensor.alarmdecoder /components/alarmdecoder
+/components/binary_sensor.android_ip_webcam /components/android_ip_webcam#binary-sensor
+/components/binary_sensor.apcupsd /components/apcupsd#binary-sensor
+/components/binary_sensor.arest /components/arest#binary-sensor
+/components/binary_sensor.august /components/august#binary-sensor
+/components/binary_sensor.aurora /components/aurora
+/components/binary_sensor.axis /components/axis#binary-sensor
+/components/binary_sensor.bayesian /components/bayesian
+/components/binary_sensor.bbb_gpio /components/bbb_gpio#binary-sensor
+/components/binary_sensor.blink /components/blink
+/components/binary_sensor.bloomsky /components/bloomsky#binary-sensor
+/components/binary_sensor.bmw_connected_drive /components/bmw_connected_drive
+/components/binary_sensor.command_line /components/command_line
+/components/binary_sensor.concord232 /components/concord232#binary-sensor
+/components/binary_sensor.danfoss_air /components/danfoss_air#binary-sensor
+/components/binary_sensor.deconz /components/deconz#binary-sensor
+/components/binary_sensor.digital_ocean /components/digital_ocean#binary-sensor
+/components/binary_sensor.ecobee /components/ecobee
+/components/binary_sensor.egardia /components/egardia#binary-sensor
+/components/binary_sensor.eight_sleep /components/eight_sleep
+/components/binary_sensor.enocean /components/enocean#binary-sensor
+/components/binary_sensor.envisalink /components/envisalink
+/components/binary_sensor.esphome /components/esphome
+/components/binary_sensor.ffmpeg /components/ffmpeg_motion
+/components/binary_sensor.ffmpeg_motion /components/ffmpeg_motion
+/components/binary_sensor.ffmpeg_noise /components/ffmpeg_noise
+/components/binary_sensor.fibaro /components/fibaro
+/components/binary_sensor.flic /components/flic
+/components/binary_sensor.fritzbox /components/fritzbox
+/components/binary_sensor.gc100 /components/gc100#binary-sensor
+/components/binary_sensor.hikvision /components/hikvision
+/components/binary_sensor.hive /components/hive#binary-sensor
+/components/binary_sensor.homematic /components/homematic
+/components/binary_sensor.homematicip_cloud /components/homematicip_cloud
+/components/binary_sensor.homeworks /components/homeworks
+/components/binary_sensor.http /components/http#binary-sensor
+/components/binary_sensor.hydrawise /components/hydrawise#binary-sensor
+/components/binary_sensor.ihc /components/ihc#binary-sensor
+/components/binary_sensor.insteon /components/insteon
+/components/binary_sensor.iss /components/iss
+/components/binary_sensor.isy994 /components/isy994
+/components/binary_sensor.konnected /components/konnected#binary-sensor
+/components/binary_sensor.linode /components/linode#binary-sensor
+/components/binary_sensor.lupusec /components/lupusec
+/components/binary_sensor.maxcube /components/maxcube
+/components/binary_sensor.mychevy /components/mychevy
+/components/binary_sensor.mystrom /components/mystrom#binary-sensor
+/components/binary_sensor.ness_alarm /components/ness_alarm
+/components/binary_sensor.nest /components/nest#binary-sensor
+/components/binary_sensor.netatmo /components/netatmo#binary-sensor
+/components/binary_sensor.nissan_leaf /components/nissan_leaf
+/components/binary_sensor.nx584 /components/nx584#binary-sensor
+/components/binary_sensor.octoprint /components/octoprint#binary-sensor
+/components/binary_sensor.opentherm_gw /components/opentherm_gw#binary-sensors
+/components/binary_sensor.openuv /components/openuv
+/components/binary_sensor.pilight /components/pilight#binary-sensor
+/components/binary_sensor.ping /components/ping#binary-sensor
+/components/binary_sensor.plum_lightpad /components/plum_lightpad
+/components/binary_sensor.point /components/point#binary-sensor
+/components/binary_sensor.qwikswitch /components/qwikswitch
+/components/binary_sensor.rachio /components/rachio
+/components/binary_sensor.raincloud /components/raincloud#binary-sensor
+/components/binary_sensor.rainmachine /components/rainmachine
+/components/binary_sensor.random /components/random#binary-sensor
+/components/binary_sensor.raspihats /components/raspihats#binary-sensor
+/components/binary_sensor.ring /components/ring#binary-sensor
+/components/binary_sensor.rpi_gpio /components/rpi_gpio#binary-sensor
+/components/binary_sensor.rpi_pfio /components/rpi_pfio#binary-sensor
+/components/binary_sensor.satel_integra /components/satel_integra
+/components/binary_sensor.sense /components/sense
+/components/binary_sensor.skybell /components/skybell#binary-sensor
+/components/binary_sensor.sleepiq /components/sleepiq
+/components/binary_sensor.smartthings /components/smartthings#binary-sensor
+/components/binary_sensor.spc /components/spc#binary-sensor
+/components/binary_sensor.tahoma /components/tahoma
+/components/binary_sensor.tapsaff /components/tapsaff
+/components/binary_sensor.tcp /components/tcp#binary-sensor
+/components/binary_sensor.tellduslive /components/tellduslive
+/components/binary_sensor.tesla /components/tesla
+/components/binary_sensor.threshold /components/threshold
+/components/binary_sensor.tod /components/tod
+/components/binary_sensor.trend /components/trend
+/components/binary_sensor.upcloud /components/upcloud#binary-sensor
+/components/binary_sensor.uptimerobot /components/uptimerobot
+/components/binary_sensor.velbus /components/velbus
+/components/binary_sensor.vera /components/vera
+/components/binary_sensor.verisure /components/verisure
+/components/binary_sensor.volvooncall /components/volvooncall
+/components/binary_sensor.vultr /components/vultr#binary-sensor
+/components/binary_sensor.w800rf32 /components/w800rf32#binary-sensor
+/components/binary_sensor.wemo /components/wemo
+/components/binary_sensor.wink /components/wink#binary-sensor
+/components/binary_sensor.wirelesstag /components/wirelesstag#binary-sensor
+/components/binary_sensor.workday /components/workday
+/components/binary_sensor.zha /components/zha
+/components/binary_sensor.zigbee /components/zigbee#binary-sensor
+/components/binary_sensor.zoneminder /components/zoneminder#binary-sensor
+/components/binary_sensor.zwave /components/zwave
+/components/calendar.caldav /components/caldav
+/components/calendar.todoist /components/todoist
+/components/camera.abode /components/abode
+/components/camera.amcrest /components/amcrest
+/components/camera.android_ip_webcam /components/android_ip_webcam#camera
+/components/camera.arlo /components/arlo#camera
+/components/camera.august /components/august#camera
+/components/camera.axis /components/axis
+/components/camera.blink /components/blink
+/components/camera.canary /components/canary#camera
+/components/camera.dispatcher /components/dispatcher
+/components/camera.doorbird /components/doorbird#camera
+/components/camera.familyhub /components/familyhub
+/components/camera.foscam /components/foscam
+/components/camera.generic /components/generic_ip_camera
+/components/camera.local_file /components/local_file
+/components/camera.logi_circle /components/logi_circle#camera
+/components/camera.mjpeg /components/mjpeg
+/components/camera.neato /components/neato#camera
+/components/camera.nest /components/nest#camera
+/components/camera.netatmo /components/netatmo#camera
+/components/camera.onvif /components/onvif
+/components/camera.proxy /components/proxy
+/components/camera.push /components/push
+/components/camera.ring /components/ring#camera
+/components/camera.rpi_camera /components/rpi_camera
+/components/camera.skybell /components/skybell#camera
+/components/camera.synology /components/synology
+/components/camera.usps /components/usps#camera
+/components/camera.uvc /components/uvc
+/components/camera.verisure /components/verisure
+/components/camera.xeoma /components/xeoma
+/components/camera.xiaomi /components/xiaomi
+/components/camera.yi /components/yi
+/components/camera.zoneminder /components/zoneminder#camera
+/components/climate.coolmaster /components/coolmaster
+/components/climate.daikin /components/daikin#climate
+/components/climate.deconz /components/deconz#climate
+/components/climate.dyson /components/dyson#climate
+/components/climate.ecobee /components/ecobee
+/components/climate.econet /components/econet
+/components/climate.elkm1 /components/elkm1
+/components/climate.ephember /components/ephember
+/components/climate.eq3btsmart /components/eq3btsmart
+/components/climate.evohome /components/evohome
+/components/climate.flexit /components/flexit
+/components/climate.fritzbox /components/fritzbox
+/components/climate.generic_thermostat /components/generic_thermostat
+/components/climate.heatmiser /components/heatmiser
+/components/climate.hive /components/hive#climate
+/components/climate.homekit_controller /components/homekit_controller
+/components/climate.homematic /components/homematic
+/components/climate.homematicip_cloud /components/homematicip_cloud
+/components/climate.honeywell /components/honeywell
+/components/climate.maxcube /components/maxcube
+/components/climate.melissa /components/melissa
+/components/climate.mill /components/mill
+/components/climate.nest /components/nest#climate
+/components/climate.netatmo /components/netatmo#climate
+/components/climate.nuheat /components/nuheat
+/components/climate.oem /components/oem
+/components/climate.opentherm_gw /components/opentherm_gw
+/components/climate.proliphix /components/proliphix
+/components/climate.radiotherm /components/radiotherm
+/components/climate.sensibo /components/sensibo
+/components/climate.smartthings /components/smartthings#climate
+/components/climate.spider /components/spider#climate
+/components/climate.tado /components/tado
+/components/climate.tesla /components/tesla
+/components/climate.tfiac /components/tfiac
+/components/climate.toon /components/toon#climate
+/components/climate.touchline /components/touchline
+/components/climate.tuya /components/tuya
+/components/climate.velbus /components/velbus
+/components/climate.venstar /components/venstar
+/components/climate.vera /components/vera
+/components/climate.wink /components/wink#climate
+/components/climate.xs1 /components/xs1
+/components/climate.zhong_hong /components/zhong_hong
+/components/climate.zwave /components/zwave#climate
+/components/cover.abode /components/abode
+/components/cover.aladdin_connect /components/aladdin_connect
+/components/cover.brunt /components/brunt
+/components/cover.deconz /components/deconz#cover
+/components/cover.esphome /components/esphome
+/components/cover.fibaro /components/fibaro
+/components/cover.garadget /components/garadget
+/components/cover.gogogate2 /components/gogogate2
+/components/cover.homekit_controller /components/homekit_controller
+/components/cover.homematic /components/homematic
+/components/cover.homematicip_cloud /components/homematicip_cloud
+/components/cover.insteon /components/insteon
+/components/cover.isy994 /components/isy994
+/components/cover.lcn /components/lcn#cover
+/components/cover.lutron /components/lutron
+/components/cover.lutron_caseta /components/lutron_caseta#cover
+/components/cover.myq /components/myq
+/components/cover.opengarage /components/opengarage
+/components/cover.rpi_gpio /components/rpi_gpio#cover
+/components/cover.scsgate /components/scsgate#cover
+/components/cover.smartthings /components/smartthings#cover
+/components/cover.supla /components/supla
+/components/cover.tahoma /components/tahoma
+/components/cover.tellduslive /components/tellduslive
+/components/cover.tellstick /components/tellstick#cover
+/components/cover.tuya /components/tuya
+/components/cover.velux /components/velux
+/components/cover.vera /components/vera
+/components/cover.wink /components/wink#cover
+/components/cover.zwave /components/zwave#cover
+/components/cppm /components/cppm_tracker
+/components/device_tracker.actiontec /components/actiontec
+/components/device_tracker.aruba /components/aruba
+/components/device_tracker.asuswrt /components/asuswrt
+/components/device_tracker.automatic /components/automatic
+/components/device_tracker.bbox /components/bbox
+/components/device_tracker.bluetooth_le_tracker /components/bluetooth_le_tracker
+/components/device_tracker.bluetooth_tracker /components/bluetooth_tracker
+/components/device_tracker.bmw_connected_drive /components/bmw_connected_drive
+/components/device_tracker.bt_home_hub_5 /components/bt_home_hub_5
+/components/device_tracker.bt_smarthub /components/bt_smarthub
+/components/device_tracker.cisco_ios /components/cisco_ios
+/components/device_tracker.ddwrt /components/ddwrt
+/components/device_tracker.ee_brightbox /components/ee_brightbox
+/components/device_tracker.freebox /components/freebox
+/components/device_tracker.fritz /components/fritz
+/components/device_tracker.geofency /components/geofency
+/components/device_tracker.google_maps /components/google_maps
+/components/device_tracker.gpslogger /components/gpslogger
+/components/device_tracker.hitron_coda /components/hitron_coda
+/components/device_tracker.huawei_lte /components/huawei_lte
+/components/device_tracker.huawei_router /components/huawei_router
+/components/device_tracker.icloud /components/icloud
+/components/device_tracker.keenetic_ndms2 /components/keenetic_ndms2
+/components/device_tracker.linksys_ap /components/linksys_ap
+/components/device_tracker.linksys_smart /components/linksys_smart
+/components/device_tracker.locative /components/locative
+/components/device_tracker.luci /components/luci
+/components/device_tracker.meraki /components/meraki
+/components/device_tracker.mikrotik /components/mikrotik
+/components/device_tracker.mqtt_json /components/mqtt_json
+/components/device_tracker.netgear /components/netgear
+/components/device_tracker.nmap_tracker /components/nmap_tracker
+/components/device_tracker.openwrt /components/openwrt
+/components/device_tracker.owntracks /components/owntracks
+/components/device_tracker.owntracks_http /components/owntracks
+/components/device_tracker.ping /components/ping
+/components/device_tracker.quantum_gateway /components/quantum_gateway
+/components/device_tracker.ritassist /components/fleetgo
+/components/device_tracker.sky_hub /components/sky_hub
+/components/device_tracker.snmp /components/snmp
+/components/device_tracker.swisscom /components/swisscom
+/components/device_tracker.synology_srm /components/synology_srm
+/components/device_tracker.tado /components/tado
+/components/device_tracker.tesla /components/tesla
+/components/device_tracker.thomson /components/thomson
+/components/device_tracker.tile /components/tile
+/components/device_tracker.tomato /components/tomato
+/components/device_tracker.tplink /components/tplink
+/components/device_tracker.traccar /components/traccar
+/components/device_tracker.trackr /components/trackr
+/components/device_tracker.ubee /components/ubee
+/components/device_tracker.ubus /components/ubus
+/components/device_tracker.unifi /components/unifi
+/components/device_tracker.unifi_direct /components/unifi_direct
+/components/device_tracker.upc_connect /components/upc_connect
+/components/device_tracker.volvooncall /components/volvooncall
+/components/device_tracker.xfinity /components/xfinity
+/components/device_tracker.xiaomi_miio /components/xiaomi_miio
+/components/fan.comfoconnect /components/comfoconnect
+/components/fan.dyson /components/dyson#fan
+/components/fan.esphome /components/esphome
+/components/fan.insteon /components/insteon
+/components/fan.isy994 /components/isy994
+/components/fan.smartthings /components/smartthings#fan
+/components/fan.tuya /components/tuya
+/components/fan.wemo /components/wemo#fan
+/components/fan.wink /components/wink#fan
+/components/fan.zha /components/zha
+/components/fan.zwave /components/zwave
+/components/generic /components/generic_ip_camera
+/components/geo_location.geo_json_events /components/geo_json_events
+/components/geo_location.nsw_rural_fire_service_feed /components/nsw_rural_fire_service_feed
+/components/geo_location.usgs_earthquakes_feed /components/usgs_earthquakes_feed
+/components/google /components/google_translate
+/components/image_processing.dlib_face_detect /components/dlib_face_detect
+/components/image_processing.dlib_face_identify /components/dlib_face_identify
+/components/image_processing.facebox /components/facebox
+/components/image_processing.microsoft_face_detect /components/microsoft_face_detect
+/components/image_processing.microsoft_face_identify /components/microsoft_face_identify
+/components/image_processing.openalpr_cloud /components/openalpr_cloud
+/components/image_processing.openalpr_local /components/openalpr_local
+/components/image_processing.opencv /components/opencv
+/components/image_processing.qrcode /components/qrcode
+/components/image_processing.seven_segments /components/seven_segments
+/components/image_processing.tensorflow /components/tensorflow
+/components/input_slider /components/input_number
+/components/light.abode /components/abode#light
+/components/light.ads /components/ads#light
+/components/light.avion /components/avion
+/components/light.blinksticklight /components/blinksticklight
+/components/light.blinkt /components/blinkt
+/components/light.deconz /components/deconz#light
+/components/light.decora /components/decora
+/components/light.decora_wifi /components/decora_wifi
+/components/light.elkm1 /components/elkm1
+/components/light.enocean /components/enocean#light
+/components/light.esphome /components/esphome
+/components/light.eufy /components/eufy
+/components/light.everlights /components/everlights
+/components/light.fibaro /components/fibaro
+/components/light.flux_led /components/flux_led
+/components/light.futurenow /components/futurenow
+/components/light.greenwave /components/greenwave
+/components/light.hive /components/hive#light
+/components/light.homekit_controller /components/homekit_controller
+/components/light.homematic /components/homematic
+/components/light.homematicip_cloud /components/homematicip_cloud
+/components/light.homeworks /components/homeworks
+/components/light.hue /components/hue
+/components/light.hyperion /components/hyperion
+/components/light.iglo /components/iglo
+/components/light.ihc /components/ihc#light
+/components/light.insteon /components/insteon
+/components/light.isy994 /components/isy994
+/components/light.lcn /components/lcn#light
+/components/light.lifx /components/lifx
+/components/light.lightwave /components/lightwave
+/components/light.limitlessled /components/limitlessled
+/components/light.litejet /components/litejet
+/components/light.lutron /components/lutron
+/components/light.lutron_caseta /components/lutron_caseta#light
+/components/light.lw12wifi /components/lw12wifi
+/components/light.mochad /components/mochad#light
+/components/light.mqtt_json /components/light.mqtt
+/components/light.mqtt_template /components/light.mqtt
+/components/light.mystrom /components/mystrom#light
+/components/light.nanoleaf /components/nanoleaf
+/components/light.niko_home_control /components/niko_home_control
+/components/light.opple /components/opple
+/components/light.osramlightify /components/osramlightify
+/components/light.piglow /components/piglow
+/components/light.plum_lightpad /components/plum_lightpad
+/components/light.qwikswitch /components/qwikswitch
+/components/light.rpi_gpio_pwm /components/rpi_gpio_pwm
+/components/light.scsgate /components/scsgate#light
+/components/light.sensehat /components/sensehat#light
+/components/light.sisyphus /components/sisyphus
+/components/light.skybell /components/skybell#light
+/components/light.smartthings /components/smartthings#light
+/components/light.tellduslive /components/tellduslive
+/components/light.tellstick /components/tellstick#light
+/components/light.tikteck /components/tikteck
+/components/light.tplink /components/tplink
+/components/light.tradfri /components/tradfri
+/components/light.tuya /components/tuya
+/components/light.vera /components/vera
+/components/light.wemo /components/wemo
+/components/light.wink /components/wink#light
+/components/light.x10 /components/x10
+/components/light.yeelight /components/yeelight
+/components/light.yeelightsunflower /components/yeelightsunflower
+/components/light.zengge /components/zengge
+/components/light.zha /components/zha
+/components/light.zigbee /components/zigbee#light
+/components/light.zwave /components/zwave
+/components/lock.abode /components/abode
+/components/lock.august /components/august
+/components/lock.bmw_connected_drive /components/bmw_connected_drive
+/components/lock.homekit_controller /components/homekit_controller
+/components/lock.homematic /components/homematic
+/components/lock.isy994 /components/isy994
+/components/lock.kiwi /components/kiwi
+/components/lock.lockitron /components/lockitron
+/components/lock.nello /components/nello
+/components/lock.nuki /components/nuki
+/components/lock.sesame /components/sesame
+/components/lock.smartthings /components/smartthings#lock
+/components/lock.tesla /components/tesla
+/components/lock.vera /components/vera
+/components/lock.verisure /components/verisure
+/components/lock.volvooncall /components/volvooncall
+/components/lock.wink /components/wink#lock
+/components/lock.zwave /components/zwave#lock
+/components/mailbox.asterisk_cdr /components/asterisk_cdr
+/components/mailbox.asterisk_mbox /components/asterisk_mbox
+/components/media_player.anthemav /components/anthemav
+/components/media_player.apple_tv /components/apple_tv
+/components/media_player.aquostv /components/aquostv
+/components/media_player.blackbird /components/blackbird
+/components/media_player.bluesound /components/bluesound
+/components/media_player.braviatv /components/braviatv
+/components/media_player.cast /components/cast
+/components/media_player.channels /components/channels
+/components/media_player.clementine /components/clementine
+/components/media_player.cmus /components/cmus
+/components/media_player.denon /components/denon
+/components/media_player.denonavr /components/denonavr
+/components/media_player.directv /components/directv
+/components/media_player.dlna_dmr /components/dlna_dmr
+/components/media_player.dunehd /components/dunehd
+/components/media_player.emby /components/emby
+/components/media_player.enigma2 /components/enigma2
+/components/media_player.epson /components/epson
+/components/media_player.firetv /components/androidtv
+/components/media_player.frontier_silicon /components/frontier_silicon
+/components/media_player.gpmdp /components/gpmdp
+/components/media_player.gstreamer /components/gstreamer
+/components/media_player.harman_kardon_avr /components/harman_kardon_avr
+/components/media_player.hdmi_cec /components/hdmi_cec
+/components/media_player.horizon /components/horizon
+/components/media_player.itunes /components/itunes
+/components/media_player.kodi /components/kodi
+/components/media_player.lg_netcast /components/lg_netcast
+/components/media_player.lg_soundbar /components/lg_soundbar
+/components/media_player.liveboxplaytv /components/liveboxplaytv
+/components/media_player.mediaroom /components/mediaroom
+/components/media_player.monoprice /components/monoprice
+/components/media_player.mpchc /components/mpchc
+/components/media_player.mpd /components/mpd
+/components/media_player.nad /components/nad
+/components/media_player.onkyo /components/onkyo
+/components/media_player.openhome /components/openhome
+/components/media_player.panasonic_bluray /components/panasonic_bluray
+/components/media_player.panasonic_viera /components/panasonic_viera
+/components/media_player.pandora /components/pandora
+/components/media_player.philips_js /components/philips_js
+/components/media_player.pioneer /components/pioneer
+/components/media_player.pjlink /components/pjlink
+/components/media_player.plex /components/plex#media-player
+/components/media_player.roku /components/roku#media-player
+/components/media_player.russound_rio /components/russound_rio
+/components/media_player.russound_rnet /components/russound_rnet
+/components/media_player.samsungtv /components/samsungtv
+/components/media_player.sisyphus /components/sisyphus
+/components/media_player.snapcast /components/snapcast
+/components/media_player.songpal /components/songpal
+/components/media_player.sonos /components/sonos
+/components/media_player.soundtouch /components/soundtouch
+/components/media_player.spotify /components/spotify
+/components/media_player.squeezebox /components/squeezebox
+/components/media_player.ue_smart_radio /components/ue_smart_radio
+/components/media_player.universal /components/universal
+/components/media_player.vizio /components/vizio
+/components/media_player.vlc /components/vlc
+/components/media_player.volumio /components/volumio
+/components/media_player.webostv /components/webostv#media-player
+/components/media_player.xiaomi_tv /components/xiaomi_tv
+/components/media_player.yamaha /components/yamaha
+/components/media_player.yamaha_musiccast /components/yamaha_musiccast
+/components/media_player.ziggo_mediabox_xl /components/ziggo_mediabox_xl
+/components/notify.apns /components/apns
+/components/notify.ciscospark /components/ciscospark
+/components/notify.clickatell /components/clickatell
+/components/notify.clicksend /components/clicksend
+/components/notify.clicksend_tts /components/clicksend_tts
+/components/notify.clicksendaudio /components/clicksend_tts
+/components/notify.discord /components/discord
+/components/notify.dovado /components/dovado
+/components/notify.ecobee /components/ecobee
+/components/notify.facebook /components/facebook
+/components/notify.file /components/file
+/components/notify.flock /components/flock
+/components/notify.free_mobile /components/free_mobile
+/components/notify.gntp /components/gntp
+/components/notify.hangouts /components/hangouts
+/components/notify.hipchat /components/hipchat
+/components/notify.homematic /components/homematic
+/components/notify.html5 /components/html5
+/components/notify.huawei_lte /components/huawei_lte
+/components/notify.joaoapps_join /components/joaoapps_join
+/components/notify.kodi /components/kodi
+/components/notify.lametric /components/lametric
+/components/notify.lannouncer /components/lannouncer
+/components/notify.llamalab_automate /components/llamalab_automate
+/components/notify.mailgun /components/mailgun
+/components/notify.mastodon /components/mastodon
+/components/notify.matrix /components/matrix
+/components/notify.message_bird /components/message_bird
+/components/notify.mycroft /components/mycroft
+/components/notify.netgear_lte /components/netgear_lte
+/components/notify.nfandroidtv /components/nfandroidtv
+/components/notify.prowl /components/prowl
+/components/notify.pushbullet /components/pushbullet
+/components/notify.pushetta /components/pushetta
+/components/notify.pushover /components/pushover
+/components/notify.pushsafer /components/pushsafer
+/components/notify.rocketchat /components/rocketchat
+/components/notify.sendgrid /components/sendgrid
+/components/notify.simplepush /components/simplepush
+/components/notify.slack /components/slack
+/components/notify.smtp /components/smtp
+/components/notify.stride /components/stride
+/components/notify.synology_chat /components/synology_chat
+/components/notify.syslog /components/syslog
+/components/notify.telegram /components/telegram
+/components/notify.tibber /components/tibber
+/components/notify.tplink_lte /components/tplink_lte
+/components/notify.twilio_call /components/twilio_call
+/components/notify.twilio_sms /components/twilio_sms
+/components/notify.twitter /components/twitter
+/components/notify.webostv /components/webostv
+/components/notify.xmpp /components/xmpp
+/components/notify.yessssms /components/yessssms
+/components/openalpr /components/openalpr_local
+/components/pollen /components/iqvia
+/components/public_sensor.netatmo /components/netatmo
+/components/remote.apple_tv /components/apple_tv#remote
+/components/remote.harmony /components/harmony
+/components/remote.itach /components/itach
+/components/remote.kira /components/kira
+/components/remote.roku /components/roku#remote
+/components/ritassist /components/fleetgo
+/components/scene.deconz /components/deconz#scene
+/components/scene.elkm1 /components/elkm1
+/components/scene.fibaro /components/fibaro
+/components/scene.hunterdouglas_powerview /components/hunterdouglas_powerview
+/components/scene.lifx_cloud /components/lifx_cloud
+/components/scene.litejet /components/litejet
+/components/scene.lutron /components/lutron#scene
+/components/scene.lutron_caseta /components/lutron_caseta#scene
+/components/scene.smartthings /components/smartthings#scene
+/components/scene.tahoma /components/tahoma
+/components/scene.tuya /components/tuya
+/components/scene.velux /components/velux
+/components/scene.vera /components/vera
+/components/scene.wink /components/wink
+/components/sensor.abode /components/abode
+/components/sensor.ads /components/ads#sensor
+/components/sensor.aftership /components/aftership
+/components/sensor.airvisual /components/airvisual
+/components/sensor.alarmdecoder /components/alarmdecoder
+/components/sensor.alpha_vantage /components/alpha_vantage
+/components/sensor.ambient_station /components/ambient_station
+/components/sensor.amcrest /components/amcrest
+/components/sensor.android_ip_webcam /components/android_ip_webcam#sensor
+/components/sensor.apcupsd /components/apcupsd#sensor
+/components/sensor.api_stream /components/sensor.websocket_api
+/components/sensor.api_streams /components/sensor.websocket_api
+/components/sensor.aqualogic /components/aqualogic#sensor
+/components/sensor.arduino /components/arduino#sensor
+/components/sensor.arest /components/arest#sensor
+/components/sensor.arlo /components/arlo#sensor
+/components/sensor.arwn /components/arwn
+/components/sensor.asuswrt /components/asuswrt
+/components/sensor.awair /components/awair
+/components/sensor.bbox /components/bbox#sensor
+/components/sensor.bh1750 /components/bh1750
+/components/sensor.bitcoin /components/bitcoin
+/components/sensor.blink /components/blink
+/components/sensor.blockchain /components/blockchain
+/components/sensor.bme280 /components/bme280
+/components/sensor.bme680 /components/bme680
+/components/sensor.bmw_connected_drive /components/bmw_connected_drive
+/components/sensor.bom /components/bom#sensor
+/components/sensor.broadlink /components/broadlink#sensor
+/components/sensor.brottsplatskartan /components/brottsplatskartan
+/components/sensor.canary /components/canary#sensor
+/components/sensor.cert_expiry /components/cert_expiry
+/components/sensor.citybikes /components/citybikes
+/components/sensor.co2signal /components/co2signal
+/components/sensor.coinbase /components/coinbase
+/components/sensor.coinmarketcap /components/coinmarketcap
+/components/sensor.comed_hourly_pricing /components/comed_hourly_pricing
+/components/sensor.comfoconnect /components/comfoconnect
+/components/sensor.cpuspeed /components/cpuspeed
+/components/sensor.crimereports /components/crimereports
+/components/sensor.cups /components/cups
+/components/sensor.currencylayer /components/currencylayer
+/components/sensor.daikin /components/daikin#sensor
+/components/sensor.danfoss_air /components/danfoss_air#sensor
+/components/sensor.darksky /components/darksky
+/components/sensor.deconz /components/deconz#sensor
+/components/sensor.deluge /components/deluge#sensor
+/components/sensor.deutsche_bahn /components/deutsche_bahn
+/components/sensor.dht /components/dht
+/components/sensor.discogs /components/discogs
+/components/sensor.dnsip /components/dnsip
+/components/sensor.dovado /components/dovado#sensor
+/components/sensor.dsmr /components/dsmr
+/components/sensor.dte_energy_bridge /components/dte_energy_bridge
+/components/sensor.dublin_bus_transport /components/dublin_bus_transport
+/components/sensor.duke_energy /components/duke_energy
+/components/sensor.dwd_weather_warnings /components/dwd_weather_warnings
+/components/sensor.dweet /components/dweet#sensor
+/components/sensor.dyson /components/dyson#sensor
+/components/sensor.ebox /components/ebox
+/components/sensor.ebusd /components/ebusd
+/components/sensor.ecoal_boiler /components/ecoal_boiler
+/components/sensor.ecobee /components/ecobee
+/components/sensor.eddystone_temperature /components/eddystone_temperature
+/components/sensor.efergy /components/efergy
+/components/sensor.eight_sleep /components/eight_sleep
+/components/sensor.eliqonline /components/eliqonline
+/components/sensor.elkm1 /components/elkm1
+/components/sensor.emoncms /components/emoncms
+/components/sensor.enocean /components/enocean#sensor
+/components/sensor.enphase_envoy /components/enphase_envoy
+/components/sensor.entur_public_transport /components/entur_public_transport
+/components/sensor.envirophat /components/envirophat
+/components/sensor.envisalink /components/envisalink
+/components/sensor.etherscan /components/etherscan
+/components/sensor.fail2ban /components/fail2ban
+/components/sensor.fastdotcom /components/fastdotcom
+/components/sensor.fedex /components/fedex
+/components/sensor.fibaro /components/fibaro
+/components/sensor.fido /components/fido
+/components/sensor.file /components/file#sensor
+/components/sensor.filesize /components/filesize
+/components/sensor.filter /components/filter
+/components/sensor.fints /components/fints
+/components/sensor.fitbit /components/fitbit
+/components/sensor.fixer /components/fixer
+/components/sensor.flunearyou /components/flunearyou
+/components/sensor.folder /components/folder
+/components/sensor.foobot /components/foobot
+/components/sensor.forecast /components/darksky
+/components/sensor.freebox /components/freebox#sensor
+/components/sensor.fritzbox /components/fritzbox#sensor
+/components/sensor.fritzbox_callmonitor /components/fritzbox_callmonitor
+/components/sensor.fritzbox_netmonitor /components/fritzbox_netmonitor
+/components/sensor.gearbest /components/gearbest
+/components/sensor.geizhals /components/geizhals
+/components/sensor.geo_rss_events /components/geo_rss_events
+/components/sensor.github /components/github
+/components/sensor.gitlab_ci /components/gitlab_ci
+/components/sensor.gitter /components/gitter
+/components/sensor.glances /components/glances
+/components/sensor.google_travel_time /components/google_travel_time
+/components/sensor.google_wifi /components/google_wifi
+/components/sensor.gpsd /components/gpsd
+/components/sensor.greeneye_monitor /components/greeneye_monitor
+/components/sensor.gtfs /components/gtfs
+/components/sensor.gtt /components/gtt
+/components/sensor.habitica /components/habitica
+/components/sensor.haveibeenpwned /components/haveibeenpwned
+/components/sensor.hddtemp /components/hddtemp
+/components/sensor.history_stats /components/history_stats
+/components/sensor.hive /components/hive#sensor
+/components/sensor.homekit_controller /components/homekit_controller
+/components/sensor.homematic /components/homematic
+/components/sensor.homematicip_cloud /components/homematicip_cloud
+/components/sensor.hp_ilo /components/hp_ilo
+/components/sensor.http /components/http#sensor
+/components/sensor.htu21d /components/htu21d
+/components/sensor.huawei_lte /components/huawei_lte#sensor
+/components/sensor.hydrawise /components/hydrawise#sensor
+/components/sensor.hydroquebec /components/hydroquebec
+/components/sensor.ihc /components/ihc#sensor
+/components/sensor.imap /components/imap
+/components/sensor.imap_email_content /components/imap_email_content
+/components/sensor.influxdb /components/influxdb#sensor
+/components/sensor.insteon /components/insteon
+/components/sensor.integration /components/integration
+/components/sensor.iota /components/iota#sensor
+/components/sensor.iperf3 /components/iperf3
+/components/sensor.irish_rail_transport /components/irish_rail_transport
+/components/sensor.islamic_prayer_times /components/islamic_prayer_times
+/components/sensor.iss /components/iss
+/components/sensor.isy994 /components/isy994#sensors
+/components/sensor.jewish_calendar /components/jewish_calendar
+/components/sensor.juicenet /components/juicenet#sensor
+/components/sensor.kira /components/kira
+/components/sensor.kwb /components/kwb
+/components/sensor.lacrosse /components/lacrosse
+/components/sensor.lastfm /components/lastfm
+/components/sensor.launch_library /components/launch_library
+/components/sensor.linky /components/linky
+/components/sensor.linux_battery /components/linux_battery
+/components/sensor.logi_circle /components/logi_circle#sensor
+/components/sensor.london_air /components/london_air
+/components/sensor.london_underground /components/london_underground
+/components/sensor.loop_energy /components/loopenergy
+/components/sensor.loopenergy /components/loopenergy
+/components/sensor.luftdaten /components/luftdaten#sensor
+/components/sensor.lyft /components/lyft
+/components/sensor.magicseaweed /components/magicseaweed
+/components/sensor.meteo_france /components/meteo_france
+/components/sensor.mfi /components/mfi#sensor
+/components/sensor.mhz19 /components/mhz19
+/components/sensor.miflora /components/miflora
+/components/sensor.min_max /components/min_max
+/components/sensor.mitemp_bt /components/mitemp_bt
+/components/sensor.modem_callerid /components/modem_callerid
+/components/sensor.mold_indicator /components/mold_indicator
+/components/sensor.moon /components/moon
+/components/sensor.mopar /components/mopar
+/components/sensor.mqtt_room /components/mqtt_room
+/components/sensor.mvglive /components/mvglive
+/components/sensor.mychevy /components/mychevy
+/components/sensor.nederlandse_spoorwegen /components/nederlandse_spoorwegen
+/components/sensor.nest /components/nest#sensor
+/components/sensor.netatmo /components/netatmo#sensor
+/components/sensor.netdata /components/netdata
+/components/sensor.netgear_lte /components/netgear_lte
+/components/sensor.neurio_energy /components/neurio_energy
+/components/sensor.nissan_leaf /components/nissan_leaf
+/components/sensor.nmbs /components/nmbs
+/components/sensor.noaa_tides /components/noaa_tides
+/components/sensor.nsw_fuel_station /components/nsw_fuel_station
+/components/sensor.nut /components/nut
+/components/sensor.nzbget /components/nzbget
+/components/sensor.octoprint /components/octoprint#sensor
+/components/sensor.ohmconnect /components/ohmconnect
+/components/sensor.onewire /components/onewire
+/components/sensor.openevse /components/openevse
+/components/sensor.openexchangerates /components/openexchangerates
+/components/sensor.openhardwaremonitor /components/openhardwaremonitor
+/components/sensor.opensky /components/opensky
+/components/sensor.opentherm_gw /components/opentherm_gw#sensors
+/components/sensor.openuv /components/openuv
+/components/sensor.openweathermap /components/openweathermap#sensor
+/components/sensor.otp /components/otp
+/components/sensor.pi_hole /components/pi_hole
+/components/sensor.pilight /components/pilight#sensor
+/components/sensor.plex /components/plex#sensor
+/components/sensor.plum_lightpad /components/plum_lightpad
+/components/sensor.pocketcasts /components/pocketcasts
+/components/sensor.point /components/point#sensor
+/components/sensor.pollen /components/iqvia
+/components/sensor.postnl /components/postnl
+/components/sensor.prezzibenzina /components/prezzibenzina
+/components/sensor.pushbullet /components/pushbullet#sensor
+/components/sensor.pvoutput /components/pvoutput
+/components/sensor.pyload /components/pyload
+/components/sensor.qbittorrent /components/qbittorrent
+/components/sensor.qnap /components/qnap
+/components/sensor.qwikswitch /components/qwikswitch
+/components/sensor.radarr /components/radarr
+/components/sensor.rainbird /components/rainbird#sensor
+/components/sensor.raincloud /components/raincloud#sensor
+/components/sensor.rainmachine /components/rainmachine
+/components/sensor.random /components/random#sensor
+/components/sensor.recollect_waste /components/recollect_waste
+/components/sensor.reddit /components/reddit
+/components/sensor.rejseplanen /components/rejseplanen
+/components/sensor.rest /components/rest
+/components/sensor.ring /components/ring#sensor
+/components/sensor.ripple /components/ripple
+/components/sensor.rmvtransport /components/rmvtransport
+/components/sensor.rova /components/rova
+/components/sensor.rtorrent /components/rtorrent
+/components/sensor.sabnzbd /components/sabnzbd
+/components/sensor.scrape /components/scrape
+/components/sensor.season /components/season
+/components/sensor.sense /components/sense
+/components/sensor.sensehat /components/sensehat#sensor
+/components/sensor.serial /components/serial
+/components/sensor.serial_pm /components/serial_pm
+/components/sensor.seventeentrack /components/seventeentrack
+/components/sensor.shodan /components/shodan
+/components/sensor.sht31 /components/sht31
+/components/sensor.sigfox /components/sigfox
+/components/sensor.simulated /components/simulated
+/components/sensor.skybeacon /components/skybeacon
+/components/sensor.skybell /components/skybell#sensor
+/components/sensor.sleepiq /components/sleepiq
+/components/sensor.sma /components/sma#sensors
+/components/sensor.smappee /components/smappee
+/components/sensor.smartthings /components/smartthings#sensor
+/components/sensor.snmp /components/snmp#sensor
+/components/sensor.sochain /components/sochain
+/components/sensor.socialblade /components/socialblade
+/components/sensor.solaredge /components/solaredge
+/components/sensor.sonarr /components/sonarr
+/components/sensor.speedtest /components/speedtestdotnet
+/components/sensor.speedtestdotnet /components/speedtestdotnet
+/components/sensor.spotcrime /components/spotcrime
+/components/sensor.sql /components/sql
+/components/sensor.srp_energy /components/srp_energy
+/components/sensor.starlingbank /components/starlingbank
+/components/sensor.startca /components/startca
+/components/sensor.statistics /components/statistics
+/components/sensor.steam_online /components/steam_online
+/components/sensor.supervisord /components/supervisord
+/components/sensor.swiss_hydrological_data /components/swiss_hydrological_data
+/components/sensor.swiss_public_transport /components/swiss_public_transport
+/components/sensor.syncthru /components/syncthru
+/components/sensor.synologydsm /components/synologydsm
+/components/sensor.systemmonitor /components/systemmonitor
+/components/sensor.sytadin /components/sytadin
+/components/sensor.tado /components/tado
+/components/sensor.tahoma /components/tahoma
+/components/sensor.tank_utility /components/tank_utility
+/components/sensor.tautulli /components/tautulli
+/components/sensor.tcp /components/tcp#sensor
+/components/sensor.ted5000 /components/ted5000
+/components/sensor.teksavvy /components/teksavvy
+/components/sensor.tellduslive /components/tellduslive
+/components/sensor.tellstick /components/tellstick#sensor
+/components/sensor.temper /components/temper
+/components/sensor.template /components/template
+/components/sensor.tesla /components/tesla
+/components/sensor.thermoworks_smoke /components/thermoworks_smoke
+/components/sensor.thethingsnetwork /components/thethingsnetwork#sensor
+/components/sensor.thinkingcleaner /components/thinkingcleaner#sensor
+/components/sensor.tibber /components/tibber#sensor
+/components/sensor.time_date /components/time_date
+/components/sensor.toon /components/toon
+/components/sensor.torque /components/torque
+/components/sensor.tradfri /components/tradfri
+/components/sensor.trafikverket_weatherstation /components/trafikverket_weatherstation
+/components/sensor.transmission /components/transmission
+/components/sensor.transport_nsw /components/transport_nsw
+/components/sensor.travisci /components/travisci
+/components/sensor.twitch /components/twitch
+/components/sensor.uk_transport /components/uk_transport
+/components/sensor.upnp /components/upnp
+/components/sensor.ups /components/ups
+/components/sensor.uptime /components/uptime
+/components/sensor.uscis /components/uscis
+/components/sensor.usps /components/usps#sensor
+/components/sensor.vasttrafik /components/vasttrafik
+/components/sensor.velbus /components/velbus
+/components/sensor.vera /components/vera#sensor
+/components/sensor.verisure /components/verisure
+/components/sensor.version /components/version
+/components/sensor.viaggiatreno /components/viaggiatreno
+/components/sensor.volkszaehler /components/volkszaehler
+/components/sensor.volvooncall /components/volvooncall
+/components/sensor.vultr /components/vultr#sensor
+/components/sensor.waqi /components/waqi
+/components/sensor.waterfurnace /components/waterfurnace
+/components/sensor.waze_travel_time /components/waze_travel_time
+/components/sensor.whois /components/whois
+/components/sensor.wink /components/wink#sensor
+/components/sensor.wirelesstag /components/wirelesstag#sensor
+/components/sensor.worldclock /components/worldclock
+/components/sensor.worldtidesinfo /components/worldtidesinfo
+/components/sensor.worxlandroid /components/worxlandroid
+/components/sensor.wsdot /components/wsdot
+/components/sensor.wunderground /components/wunderground
+/components/sensor.xbox_live /components/xbox_live
+/components/sensor.xs1 /components/xs1#sensors
+/components/sensor.yr /components/yr
+/components/sensor.yweather /components/yweather
+/components/sensor.zabbix /components/zabbix#sensor
+/components/sensor.zamg /components/zamg#sensor
+/components/sensor.zestimate /components/zestimate
+/components/sensor.zha /components/zha
+/components/sensor.zigbee /components/zigbee#sensor
+/components/sensor.zoneminder /components/zoneminder#sensor
+/components/sensor.zwave /components/zwave
+/components/smartthings.binary_sensor /components/smartthings
+/components/smartthings.climate /components/smartthings
+/components/smartthings.cover /components/smartthings
+/components/smartthings.fan /components/smartthings
+/components/smartthings.light /components/smartthings
+/components/smartthings.lock /components/smartthings
+/components/smartthings.scene /components/smartthings
+/components/smartthings.sensor /components/smartthings
+/components/smartthings.switch /components/smartthings
+/components/switch.abode /components/abode#switch
+/components/switch.acer_projector /components/acer_projector
+/components/switch.ads /components/ads#switch
+/components/switch.amcrest /components/amcrest
+/components/switch.android_ip_webcam /components/android_ip_webcam
+/components/switch.anel_pwrctrl /components/anel_pwrctrl
+/components/switch.aqualogic /components/aqualogic#switch
+/components/switch.arduino /components/arduino#switch
+/components/switch.arest /components/arest#switch
+/components/switch.bbb_gpio /components/bbb_gpio#switch
+/components/switch.broadlink /components/broadlink#switch
+/components/switch.danfoss_air /components/danfoss_air#switch
+/components/switch.deconz /components/deconz#switch
+/components/switch.deluge /components/deluge#switch
+/components/switch.digital_ocean /components/digital_ocean#switch
+/components/switch.digitalloggers /components/digitalloggers
+/components/switch.dlink /components/dlink
+/components/switch.doorbird /components/doorbird#switch
+/components/switch.ecoal_boiler /components/ecoal_boiler
+/components/switch.edimax /components/edimax
+/components/switch.elkm1 /components/elkm1
+/components/switch.enocean /components/enocean#switch
+/components/switch.esphome /components/esphome
+/components/switch.eufy /components/eufy
+/components/switch.fibaro /components/fibaro
+/components/switch.flux /components/flux
+/components/switch.fritzbox /components/fritzbox
+/components/switch.fritzdect /components/fritzdect
+/components/switch.gc100 /components/gc100#switch
+/components/switch.hdmi_cec /components/hdmi_cec
+/components/switch.hikvisioncam /components/hikvisioncam
+/components/switch.hive /components/hive#switch
+/components/switch.hlk_sw16 /components/hlk_sw16
+/components/switch.homekit_controller /components/homekit_controller
+/components/switch.homematic /components/homematic
+/components/switch.homematicip_cloud /components/homematicip_cloud
+/components/switch.hook /components/hook
+/components/switch.hydrawise /components/hydrawise#switch
+/components/switch.ihc /components/ihc#switch
+/components/switch.insteon /components/insteon
+/components/switch.isy994 /components/isy994
+/components/switch.kankun /components/kankun
+/components/switch.konnected /components/konnected#switch
+/components/switch.lcn /components/lcn#switch
+/components/switch.lightwave /components/lightwave
+/components/switch.linode /components/linode#switch
+/components/switch.litejet /components/litejet
+/components/switch.lupusec /components/lupusec
+/components/switch.lutron /components/lutron
+/components/switch.lutron_caseta /components/lutron_caseta#switch
+/components/switch.mfi /components/mfi#switch
+/components/switch.mochad /components/mochad#switch
+/components/switch.mystrom /components/mystrom#switch
+/components/switch.neato /components/neato#switch
+/components/switch.netio /components/netio
+/components/switch.nissan_leaf /components/nissan_leaf
+/components/switch.orvibo /components/orvibo
+/components/switch.pencom /components/pencom
+/components/switch.pilight /components/pilight#switch
+/components/switch.pulseaudio_loopback /components/pulseaudio_loopback
+/components/switch.qwikswitch /components/qwikswitch#switch
+/components/switch.rachio /components/rachio#switch
+/components/switch.rainbird /components/rainbird#switch
+/components/switch.raincloud /components/raincloud#switch
+/components/switch.rainmachine /components/rainmachine#switch
+/components/switch.raspihats /components/raspihats#switch
+/components/switch.raspyrfm /components/raspyrfm
+/components/switch.recswitch /components/recswitch
+/components/switch.rpi_gpio /components/rpi_gpio#switch
+/components/switch.rpi_pfio /components/rpi_pfio#switch
+/components/switch.rpi_rf /components/rpi_rf
+/components/switch.scsgate /components/scsgate#switch
+/components/switch.skybell /components/skybell#switch
+/components/switch.smappee /components/smappee
+/components/switch.smartthings /components/smartthings#switch
+/components/switch.snmp /components/snmp#switch
+/components/switch.sony_projector /components/sony_projector
+/components/switch.spider /components/spider
+/components/switch.switchbot /components/switchbot
+/components/switch.switcher_kis /components/switcher_kis
+/components/switch.switchmate /components/switchmate
+/components/switch.tahoma /components/tahoma
+/components/switch.tellduslive /components/tellduslive
+/components/switch.tellstick /components/tellstick#switch
+/components/switch.telnet /components/telnet
+/components/switch.tesla /components/tesla
+/components/switch.thinkingcleaner /components/thinkingcleaner#switch
+/components/switch.toon /components/toon
+/components/switch.tplink /components/tplink
+/components/switch.tradfri /components/tradfri
+/components/switch.transmission /components/transmission
+/components/switch.tuya /components/tuya
+/components/switch.unifi /components/unifi#switch
+/components/switch.upcloud /components/upcloud#switch
+/components/switch.velbus /components/velbus
+/components/switch.vera /components/vera
+/components/switch.verisure /components/verisure
+/components/switch.vesync /components/vesync#switches
+/components/switch.volvooncall /components/volvooncall
+/components/switch.vultr /components/vultr#switch
+/components/switch.wake_on_lan /components/wake_on_lan#switch
+/components/switch.wemo /components/wemo
+/components/switch.wink /components/wink#switch
+/components/switch.wirelesstag /components/wirelesstag#switch
+/components/switch.xs1 /components/xs1
+/components/switch.zha /components/zha
+/components/switch.zigbee /components/zigbee#switch
+/components/switch.zoneminder /components/zoneminder#switch
+/components/switch.zwave /components/zwave
+/components/telegram_bot.broadcast /components/broadcast
+/components/telegram_bot.polling /components/polling
+/components/telegram_bot.webhooks /components/webhooks
+/components/tts.amazon_polly /components/amazon_polly
+/components/tts.baidu /components/baidu
+/components/tts.google /components/google_translate
+/components/tts.marytts /components/marytts
+/components/tts.microsoft /components/microsoft
+/components/tts.picotts /components/picotts
+/components/tts.voicerss /components/voicerss
+/components/tts.yandextts /components/yandextts
+/components/vacuum.dyson /components/dyson#vacuum
+/components/vacuum.ecovacs /components/ecovacs#vacuum
+/components/vacuum.neato /components/neato#vacuum
+/components/vacuum.roomba /components/roomba
+/components/vlc-telnet /components/vlc_telnet
+/components/water_heater.econet /components/econet
+/components/water_heater.wink /components/wink#water-heater
+/components/weather.bom /components/bom
+/components/weather.buienradar /components/buienradar
+/components/weather.ecobee /components/ecobee
+/components/weather.ipma /components/ipma
+/components/weather.met /components/met
+/components/weather.meteo_france /components/meteo_france
+/components/weather.metoffice /components/metoffice
+/components/weather.openweathermap /components/openweathermap#weather
+/components/weather.smhi /components/smhi
+/components/weather.yweather /components/yweather
+/components/weather.zamg /components/zamg#weather
+/components/xiaomi /components/xiaomi_aqara
diff --git a/source/developers/cla.markdown b/source/developers/cla.markdown
index c1312f75ea8..b703da1bace 100644
--- a/source/developers/cla.markdown
+++ b/source/developers/cla.markdown
@@ -5,7 +5,7 @@ description: "The Code of Conduct for Home Assistant projects."
# Contributor License Agreement
-```
+```txt
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
diff --git a/source/developers/license.markdown b/source/developers/license.markdown
index f1e91f90f22..2caf13dadd7 100644
--- a/source/developers/license.markdown
+++ b/source/developers/license.markdown
@@ -5,7 +5,7 @@ description: "The License that all Home Assistant projects are licensed under"
The Home Assistant source code is released under the following license.
-```
+```txt
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown
index 69d6dbdd51e..9f7c921ff95 100644
--- a/source/getting-started/configuration.markdown
+++ b/source/getting-started/configuration.markdown
@@ -22,7 +22,7 @@ Under the "Core" section you will find HASS Configurator.
- Click on Configurator and click on INSTALL. When installation is complete, the UI will go to the add-on details page for the configurator.
- Now start the add-on by clicking on START.
- - Open the user interface by clcking on OPEN WEB UI.
+ - Open the user interface by clicking on OPEN WEB UI.
Now let's make a small change using the configurator: we are going to change the name and location of your Home Assistant installation.
diff --git a/source/getting-started/presence-detection.markdown b/source/getting-started/presence-detection.markdown
index 8cd1e9d1901..e3ff888bfd1 100644
--- a/source/getting-started/presence-detection.markdown
+++ b/source/getting-started/presence-detection.markdown
@@ -34,12 +34,12 @@ The map view will hide all devices that are home.
[routers]: /components/#presence-detection
-[nmap]: /components/device_tracker.nmap_tracker/
-[ha-bluetooth]: /components/device_tracker.bluetooth_tracker/
-[ha-bluetooth-le]: /components/device_tracker.bluetooth_le_tracker/
+[nmap]: /components/nmap_tracker
+[ha-bluetooth]: /components/bluetooth_tracker
+[ha-bluetooth-le]: /components/bluetooth_le_tracker
[ha-owntracks]: /components/owntracks/
-[ha-locative]: /components/device_tracker.locative/
-[ha-gpslogger]: /components/device_tracker.gpslogger/
+[ha-locative]: /components/locative
+[ha-gpslogger]: /components/gpslogger
[ha-presence]: /components/#presence-detection
[mqtt-self]: /components/mqtt/#run-your-own
[mqtt-cloud]: /components/mqtt/#cloudmqtt
diff --git a/source/hassio/commandline.markdown b/source/hassio/commandline.markdown
index 6e7022717b7..1023c77882b 100644
--- a/source/hassio/commandline.markdown
+++ b/source/hassio/commandline.markdown
@@ -13,40 +13,40 @@ On the SSH command line, you can use the `hassio` command to retrieve logs, chec
## Home Assistant
```bash
-$ hassio homeassistant check
-$ hassio homeassistant info
-$ hassio homeassistant logs
-$ hassio homeassistant options
-$ hassio homeassistant rebuild
-$ hassio homeassistant restart
-$ hassio homeassistant start
-$ hassio homeassistant stats
-$ hassio homeassistant stop
-$ hassio homeassistant update
+hassio homeassistant check
+hassio homeassistant info
+hassio homeassistant logs
+hassio homeassistant options
+hassio homeassistant rebuild
+hassio homeassistant restart
+hassio homeassistant start
+hassio homeassistant stats
+hassio homeassistant stop
+hassio homeassistant update
```
## Supervisor
```bash
-$ hassio supervisor info
-$ hassio supervisor logs
-$ hassio supervisor reload
-$ hassio supervisor update
+hassio supervisor info
+hassio supervisor logs
+hassio supervisor reload
+hassio supervisor update
```
## Host
```bash
-$ hassio host reboot
-$ hassio host shutdown
-$ hassio host update
+hassio host reboot
+hassio host shutdown
+hassio host update
```
## Hardware
```bash
-$ hassio hardware info
-$ hassio hardware audio
+hassio hardware info
+hassio hardware audio
```
## Usage examples
diff --git a/source/hassio/enable_i2c.markdown b/source/hassio/enable_i2c.markdown
index 664fc86022f..88508d0d0c5 100644
--- a/source/hassio/enable_i2c.markdown
+++ b/source/hassio/enable_i2c.markdown
@@ -25,12 +25,12 @@ Format a USB stick with FAT32/EXT4/NTFS and name the drive `CONFIG` (uppercase).
- In the root of the USB drive add a folder called `/modules`.
- Inside that folder add a text file called `rpi-i2c.conf` with the following contents:
- ```
+ ```txt
i2c-bcm2708
i2c-dev
```
- In the root of the USB drive add a file called `config.txt` with the following contents:
- ```
+ ```txt
dtparam=i2c1=on
dtparam=i2c_arm=on
```
diff --git a/source/hassio/zwave.markdown b/source/hassio/zwave.markdown
index 40313b381bc..23dd5da322d 100644
--- a/source/hassio/zwave.markdown
+++ b/source/hassio/zwave.markdown
@@ -14,7 +14,7 @@ zwave:
If you need GPIO on Raspberry Pi 3 for your Z-Wave module, add the following line into `config.txt` (you have to access that on the SD card directly. Simply plug it into your PC and edit it there. The `config.txt` is not accessible from your Hass.io system, you may need to open the SD card on a Windows or Linux system.):
-```
+```txt
dtoverlay=pi3-miniuart-bt
```
diff --git a/source/help/reporting_issues.markdown b/source/help/reporting_issues.markdown
index 73c204d3177..52fbabaae11 100644
--- a/source/help/reporting_issues.markdown
+++ b/source/help/reporting_issues.markdown
@@ -32,7 +32,7 @@ There are many different ways to run Home Assistant. In this section please ment
Please add the link to the documention of the integration/platform in question. E.g.,
-- issue with the `random` sensor: [/components/sensor.random/](/components/sensor.random/)
+- issue with the `random` sensor: [/components/random#sensor](/components/random#sensor)
- issue with the `hue` integration: [/components/hue/](/components/hue/)
### Description of problem
diff --git a/source/images/frontpage/hacktoberfest.png b/source/images/frontpage/hacktoberfest.png
new file mode 100644
index 00000000000..8726d7087c5
Binary files /dev/null and b/source/images/frontpage/hacktoberfest.png differ
diff --git a/source/images/lovelace/lovelace_weather.png b/source/images/lovelace/lovelace_weather.png
index 36c80b8a5d5..de44eed08fe 100644
Binary files a/source/images/lovelace/lovelace_weather.png and b/source/images/lovelace/lovelace_weather.png differ
diff --git a/source/index.html b/source/index.html
index a736d8601cb..695d8984c66 100644
--- a/source/index.html
+++ b/source/index.html
@@ -11,96 +11,121 @@ description: Open source home automation that puts local control and privacy fir
-
-
Current Version: {{ site.current_major_version }}.{{ site.current_minor_version }}.{{ site.current_patch_version }}
- Released:
{{ site.date_released | date: '%B %d, %Y' }}
+
+
+ Current Version: {{ site.current_major_version }}.{{
+ site.current_minor_version
+ }}.{{ site.current_patch_version }}
+
+ Released:
+
{{
+ site.date_released | date: "%B %d, %Y"
+ }}
-
-