Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2021-07-14 11:19:58 +02:00
commit 024da241d0
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
30 changed files with 471 additions and 331 deletions

View File

@ -8,7 +8,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2.0.3
- uses: dessant/lock-threads@v2.1.1
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"

View File

@ -10,7 +10,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/checkout@v2.3.4
- name: Setting up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2.1.5
uses: actions/setup-node@v2.2.0
with:
node-version: 12.x
- name: Setup NPM cache
@ -33,7 +33,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/checkout@v2.3.4
- name: Setting up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2.1.5
uses: actions/setup-node@v2.2.0
with:
node-version: 12.x
- name: Setup NPM cache
@ -57,7 +57,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/checkout@v2.3.4
- name: Setting up Ruby 2.6
uses: ruby/setup-ruby@v1.75.0
uses: ruby/setup-ruby@v1.76.0
with:
ruby-version: 2.6
- name: Setup Ruby Gems cache

View File

@ -3,7 +3,7 @@ source 'https://rubygems.org'
ruby '> 2.5.0'
group :development do
gem 'rake', '13.0.4'
gem 'rake', '13.0.6'
gem 'jekyll', '4.2.0'
gem 'compass', '1.0.3'
gem 'sass-globbing', '1.1.5'

View File

@ -86,7 +86,7 @@ GEM
rack (2.2.3)
rack-protection (2.1.0)
rack
rake (13.0.4)
rake (13.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
@ -131,7 +131,7 @@ DEPENDENCIES
jekyll-time-to-read (= 0.1.2)
jekyll-toc (= 0.17.1)
nokogiri (= 1.11.7)
rake (= 13.0.4)
rake (= 13.0.6)
sass-globbing (= 1.1.5)
sassc (= 2.1.0)
sinatra (= 2.1.0)

View File

@ -105,8 +105,8 @@ social:
# Home Assistant release details
current_major_version: 2021
current_minor_version: 7
current_patch_version: 0
date_released: 2021-07-07
current_patch_version: 2
date_released: 2021-07-12
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

427
package-lock.json generated
View File

@ -104,13 +104,13 @@
"dev": true
},
"@textlint/ast-tester": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.0.0.tgz",
"integrity": "sha512-mcAqaOJnAhay8QtDC/na5S72XPxmqGCntOwcLwuSjEmPGAIuLC3GsumLQo4nWSQ2LGnWd6CwLDZT4eBlRWetNA==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.0.2.tgz",
"integrity": "sha512-kHta27+SJC0YxEyEdlNux6m2JepX920gc5x98lVBVYK6Wq6cAF67EEGl1o9ynqroIHEc3wTSEDOFwxXpnlfsNA==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0",
"debug": "^4.3.1"
"debug": "^4.3.2"
},
"dependencies": {
"@textlint/ast-node-types": {
@ -120,9 +120,9 @@
"dev": true
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -131,9 +131,9 @@
}
},
"@textlint/ast-traverse": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.0.0.tgz",
"integrity": "sha512-Mu0il8qWS9YkzVAqwmrTd+ga5S0LJVWOGjE6d9yADf5xObUDFk4g8ITlfEOiicpX5bTUxT4e1bORxPveCJ8iKQ==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.0.2.tgz",
"integrity": "sha512-OrbGnwtqNAsX7jVSRKecc1Lp2tg54ntnTuvOHkYrZrlC72Hk7+7V/UFQBmFNQCe0cH6Tjb5FFFcgp6f8gM+ehw==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
@ -148,24 +148,21 @@
}
},
"@textlint/feature-flag": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.0.0.tgz",
"integrity": "sha512-xgK6tsf1Gg6xn8/X0HN4LXzSkJYgmByAvzItUPlI0dzvA4HhhT4gkBeshDCuXsHLc970nYgzy1TYHpyscu7PTw==",
"dev": true,
"requires": {
"map-like": "^2.0.0"
}
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.0.2.tgz",
"integrity": "sha512-yNq5uErjFrVq1gghg3A8D77+E36wLXRws5LwSsoRC4LVPIGR+LYZ9BlkoyNTas8dOzGwTs6XZIcWCIWXy77M8Q==",
"dev": true
},
"@textlint/fixer-formatter": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.0.0.tgz",
"integrity": "sha512-y2PWue8PANhSF9cXwksxmjDs/n9exOq4daNMhN7VvJk9yrXL+nSuAoyDXjyp09gX4Nfwa/xsOrQRTDVRbizgcw==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.0.2.tgz",
"integrity": "sha512-ii49bDLVcgnnxmnaZFX0rDFEIGH3o6DGKnr76cfqy6+DWkGQlhBPyRdbx2bIF65KT+7nAMU0JjfEK+n/WIYFTA==",
"dev": true,
"requires": {
"@textlint/module-interop": "^12.0.0",
"@textlint/types": "^12.0.0",
"@textlint/module-interop": "^12.0.2",
"@textlint/types": "^12.0.2",
"chalk": "^1.1.3",
"debug": "^4.3.1",
"debug": "^4.3.2",
"diff": "^4.0.2",
"is-file": "^1.0.0",
"string-width": "^1.0.2",
@ -181,9 +178,9 @@
"dev": true
},
"@textlint/types": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz",
"integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.2.tgz",
"integrity": "sha512-w5aWSCd1sot1waiYw8KnmJNY1q+k9LDoaA6xjGbBuVBGJl0TLXIZoOP8HYFUcKFfJRpqGGob1geTHiyFdnyS0w==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
@ -226,9 +223,9 @@
}
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -274,21 +271,20 @@
}
},
"@textlint/kernel": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.0.0.tgz",
"integrity": "sha512-8UXHKhSAgn1aexPjyQE1CRVivCfSz+aFuNrktT9+JOMM3XsSd4JFcMKDhPA1utiiRR+4yDVH5be38vuuJOG9cQ==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.0.2.tgz",
"integrity": "sha512-IVWC5xyHj58X3/sUXAOndOPMQMkvGaXXPCtLITm8rSwKRc4D/qF2hhwAisOu8XImIwBGzvhFlq+IM7cUW1qDtA==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0",
"@textlint/ast-tester": "^12.0.0",
"@textlint/ast-traverse": "^12.0.0",
"@textlint/feature-flag": "^12.0.0",
"@textlint/source-code-fixer": "^12.0.0",
"@textlint/types": "^12.0.0",
"@textlint/utils": "^12.0.0",
"debug": "^4.3.1",
"@textlint/ast-tester": "^12.0.2",
"@textlint/ast-traverse": "^12.0.2",
"@textlint/feature-flag": "^12.0.2",
"@textlint/source-code-fixer": "^12.0.2",
"@textlint/types": "^12.0.2",
"@textlint/utils": "^12.0.2",
"debug": "^4.3.2",
"deep-equal": "^1.1.1",
"map-like": "^2.0.0",
"structured-source": "^3.0.2"
},
"dependencies": {
@ -299,18 +295,18 @@
"dev": true
},
"@textlint/types": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz",
"integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.2.tgz",
"integrity": "sha512-w5aWSCd1sot1waiYw8KnmJNY1q+k9LDoaA6xjGbBuVBGJl0TLXIZoOP8HYFUcKFfJRpqGGob1geTHiyFdnyS0w==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
}
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -319,24 +315,24 @@
}
},
"@textlint/linter-formatter": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.0.0.tgz",
"integrity": "sha512-jRRZluLCBXcP8VlA90N8DJOPy890j7rVOVSuyyFn0ypuUK88X2qH9XoEd9yYbo/HmH9ky2h+TeA8CJtOAIjU2g==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.0.2.tgz",
"integrity": "sha512-xRTkLmMUnxW5Y6UXsIc9iLo8hyj5toYXVA/u5ABO4t3QObgtUllWi9W2eauZeY19pLTXweBHYxqG/tl3jTCpJQ==",
"dev": true,
"requires": {
"@azu/format-text": "^1.0.1",
"@azu/style-format": "^1.0.0",
"@textlint/module-interop": "^12.0.0",
"@textlint/types": "^12.0.0",
"@textlint/module-interop": "^12.0.2",
"@textlint/types": "^12.0.2",
"chalk": "^1.1.3",
"debug": "^4.3.1",
"debug": "^4.3.2",
"is-file": "^1.0.0",
"js-yaml": "^3.14.1",
"optionator": "^0.9.1",
"pluralize": "^2.0.0",
"string-width": "^1.0.2",
"strip-ansi": "^6.0.0",
"table": "^3.8.3",
"table": "^6.7.1",
"text-table": "^0.2.0",
"try-resolve": "^1.0.1",
"xml-escape": "^1.1.0"
@ -349,9 +345,9 @@
"dev": true
},
"@textlint/types": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz",
"integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.2.tgz",
"integrity": "sha512-w5aWSCd1sot1waiYw8KnmJNY1q+k9LDoaA6xjGbBuVBGJl0TLXIZoOP8HYFUcKFfJRpqGGob1geTHiyFdnyS0w==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
@ -394,9 +390,9 @@
}
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -452,13 +448,13 @@
}
},
"@textlint/markdown-to-ast": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.0.0.tgz",
"integrity": "sha512-XaiuePJVDGVIwdjIiITdbdRXZDFnAFY/so3Rb8qAId/Qq9fKPUvgefMkdIG73wUC7LzhrAzH6/CuEO+f77HR5g==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.0.2.tgz",
"integrity": "sha512-xAJ4U/fOL7FoX4bYeYRCsSIeTxFqzKd944AsVxAYrz2ZfKH0TtBSNDDtN22uBEXOrSCCR12Z7QuMcp+URyYWlw==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0",
"debug": "^4.3.1",
"debug": "^4.3.2",
"remark-footnotes": "^3.0.0",
"remark-frontmatter": "^3.0.0",
"remark-gfm": "^1.0.0",
@ -474,9 +470,9 @@
"dev": true
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -499,19 +495,19 @@
}
},
"@textlint/module-interop": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.0.0.tgz",
"integrity": "sha512-WSuwd3pd2xYDCYqpA6NE8FwMZS4WJ2gZmsSCXBpOh3qJ/pHbmrfEaiwOpGQJA4RfXVp8Fy5KfaAQJIr+wox98A==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.0.2.tgz",
"integrity": "sha512-jnFx7B7Q/au49n5Kt/ttPhecvnJGj7643KzPxRNXy422nmafi1EfOZDMGkNEJhlVsQ9WzAnliTTXTFTrBhtVYA==",
"dev": true
},
"@textlint/source-code-fixer": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.0.0.tgz",
"integrity": "sha512-+XMJ7unzezEqKh8euWIw1QUprvv7IJzOfV0UPVbkThX2d3ZOzBmK+AzlYbqzCwZ1jkV0QYaRqaptBE+iaaQjNg==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.0.2.tgz",
"integrity": "sha512-lWNndH7Z+KGo8NhM4e3I5fR0SfZeS25AW7MRQGsKbxHL8NSi6KmCXVK8unEls82+DKXW4VdjTTgVYTTOVGa3BA==",
"dev": true,
"requires": {
"@textlint/types": "^12.0.0",
"debug": "^4.3.1"
"@textlint/types": "^12.0.2",
"debug": "^4.3.2"
},
"dependencies": {
"@textlint/ast-node-types": {
@ -521,18 +517,18 @@
"dev": true
},
"@textlint/types": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz",
"integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.2.tgz",
"integrity": "sha512-w5aWSCd1sot1waiYw8KnmJNY1q+k9LDoaA6xjGbBuVBGJl0TLXIZoOP8HYFUcKFfJRpqGGob1geTHiyFdnyS0w==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
}
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -541,9 +537,9 @@
}
},
"@textlint/text-to-ast": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.0.0.tgz",
"integrity": "sha512-j73hF6BiwdZurNdzHfOtP5j3v+nTWaTP7RtJf5wpfQBigT4RA+EqmKxUd/OpO+gt/Xy1NkpceLFNllZGRLEvkw==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.0.2.tgz",
"integrity": "sha512-vgB4k4CpY59XVrcvWLyFkCoMIVpiUheuy2FC1+Qb44hmoEYT26uglX7SEkBRTQvlzsjChgryzA2PFf2c1wkL0Q==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
@ -558,21 +554,21 @@
}
},
"@textlint/textlint-plugin-markdown": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.0.0.tgz",
"integrity": "sha512-eo9deECYMkytoiJUqDxEwzugL8sLcCFUbeCpzV5IuIRwQBh85Hds3lp/mtW1B3Q/BxcSa08im2HAa9uRdcoe4Q==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.0.2.tgz",
"integrity": "sha512-3qizGxt/cz0foqmUuqpk0hnQzXdDehG0CBrzUINJVa7btpDn8bD9fRYn88OdmGLtejVJR/pUDOOZk3RYYEVmlQ==",
"dev": true,
"requires": {
"@textlint/markdown-to-ast": "^12.0.0"
"@textlint/markdown-to-ast": "^12.0.2"
}
},
"@textlint/textlint-plugin-text": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.0.0.tgz",
"integrity": "sha512-brtexdqu7yvFLstYvVlotMZz5T7SwKfnFnV9Sm+uhg/d3Ddea9exzpiWWcXfRAhfOBd12mmEGM6gwAuSwzrhqg==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.0.2.tgz",
"integrity": "sha512-giCTwrioT6bYlOZ+xf/c9ML1GYitQVrtToHzWI6AAs8szg+Q5+h3KCG921sDEGgZfqnljuBaYcHJsW/iNG1+UA==",
"dev": true,
"requires": {
"@textlint/text-to-ast": "^12.0.0"
"@textlint/text-to-ast": "^12.0.2"
}
},
"@textlint/types": {
@ -585,9 +581,9 @@
}
},
"@textlint/utils": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.0.0.tgz",
"integrity": "sha512-bnIr17iouc4MtVR+r7v8mBasNn3ZsQpfTLTi4RelrZJdICHMBUMOWRX70cVRV/xJck/nfY9igt325qI0y2ELoQ==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.0.2.tgz",
"integrity": "sha512-IYmibhDMWd8EmRvk8ii9AA/ecrZk5Wj5NNcKuB78+ae2PIVI1zWzQoieSvQyX7DLPRVH4S22RORiEpruRcDzng==",
"dev": true
},
"@types/mdast": {
@ -606,28 +602,16 @@
"dev": true
},
"ajv": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"version": "8.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz",
"integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==",
"dev": true,
"requires": {
"co": "^4.6.0",
"json-stable-stringify": "^1.0.1"
},
"dependencies": {
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
}
}
},
"ajv-keywords": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
"integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
"dev": true
},
"ansi-regex": {
"version": "5.0.0",
@ -663,6 +647,12 @@
"sprintf-js": "~1.0.2"
}
},
"astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"bail": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
@ -912,6 +902,12 @@
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
@ -1291,14 +1287,11 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"requires": {
"jsonify": "~0.0.0"
}
"json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
"json5": {
"version": "2.1.3",
@ -1309,12 +1302,6 @@
"minimist": "^1.2.5"
}
},
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@ -1426,6 +1413,18 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
"dev": true
},
"log-symbols": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
@ -1483,12 +1482,6 @@
"integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
"dev": true
},
"map-like": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/map-like/-/map-like-2.0.0.tgz",
"integrity": "sha1-lEltSa0zPA3DI0snrbvR6FNZU7Q=",
"dev": true
},
"markdown-extensions": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz",
@ -2082,9 +2075,9 @@
"dev": true
},
"path-parse": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"path-to-glob-pattern": {
@ -2143,6 +2136,12 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
"rc-config-loader": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-3.0.0.tgz",
@ -2482,10 +2481,15 @@
"dev": true
},
"slice-ansi": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
"integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
"dev": true
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
"dev": true,
"requires": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
"is-fullwidth-code-point": "^3.0.0"
}
},
"sliced": {
"version": "1.0.1",
@ -2602,92 +2606,17 @@
}
},
"table": {
"version": "3.8.3",
"resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
"integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
"version": "6.7.1",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
"integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
"dev": true,
"requires": {
"ajv": "^4.7.0",
"ajv-keywords": "^1.0.0",
"chalk": "^1.1.1",
"lodash": "^4.0.0",
"slice-ansi": "0.0.4",
"string-width": "^2.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
}
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
"ajv": "^8.0.1",
"lodash.clonedeep": "^4.5.0",
"lodash.truncate": "^4.4.2",
"slice-ansi": "^4.0.0",
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0"
}
},
"text-table": {
@ -2697,30 +2626,29 @@
"dev": true
},
"textlint": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/textlint/-/textlint-12.0.0.tgz",
"integrity": "sha512-hpXezTFR/BxNzc0iJqwspAuHYrCWF/nF7mBS9OGzgBJx5FfS1xfsAIityV65Ffcr+nxCExzTQqRHR6qSWOZmbg==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/textlint/-/textlint-12.0.2.tgz",
"integrity": "sha512-pg453CN2xtLoqss9YVSKkEFJtJ1AB/9SWTxl11fgdqFPCOK2W/320CJRqSxo5bJFpIn5+6bjqkuPHS0cZWLPvg==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0",
"@textlint/ast-traverse": "^12.0.0",
"@textlint/feature-flag": "^12.0.0",
"@textlint/fixer-formatter": "^12.0.0",
"@textlint/kernel": "^12.0.0",
"@textlint/linter-formatter": "^12.0.0",
"@textlint/module-interop": "^12.0.0",
"@textlint/textlint-plugin-markdown": "^12.0.0",
"@textlint/textlint-plugin-text": "^12.0.0",
"@textlint/types": "^12.0.0",
"@textlint/utils": "^12.0.0",
"debug": "^4.3.1",
"@textlint/ast-traverse": "^12.0.2",
"@textlint/feature-flag": "^12.0.2",
"@textlint/fixer-formatter": "^12.0.2",
"@textlint/kernel": "^12.0.2",
"@textlint/linter-formatter": "^12.0.2",
"@textlint/module-interop": "^12.0.2",
"@textlint/textlint-plugin-markdown": "^12.0.2",
"@textlint/textlint-plugin-text": "^12.0.2",
"@textlint/types": "^12.0.2",
"@textlint/utils": "^12.0.2",
"debug": "^4.3.2",
"deep-equal": "^1.1.1",
"file-entry-cache": "^5.0.1",
"get-stdin": "^5.0.1",
"glob": "^7.1.7",
"is-file": "^1.0.0",
"log-symbols": "^1.0.2",
"map-like": "^2.0.0",
"md5": "^2.3.0",
"mkdirp": "^0.5.0",
"optionator": "^0.9.1",
@ -2740,18 +2668,18 @@
"dev": true
},
"@textlint/types": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz",
"integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==",
"version": "12.0.2",
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.2.tgz",
"integrity": "sha512-w5aWSCd1sot1waiYw8KnmJNY1q+k9LDoaA6xjGbBuVBGJl0TLXIZoOP8HYFUcKFfJRpqGGob1geTHiyFdnyS0w==",
"dev": true,
"requires": {
"@textlint/ast-node-types": "^12.0.0"
}
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
@ -3052,6 +2980,15 @@
"unist-util-is": "^3.0.0"
}
},
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View File

@ -10,7 +10,7 @@
"remark-lint-fenced-code-flag": "^2.0.1",
"remark-lint-no-shell-dollars": "^2.0.2",
"remark-stringify": "^9.0.1",
"textlint": "^12.0.0",
"textlint": "^12.0.2",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^2.1.5"
},

View File

@ -9,6 +9,15 @@ Automations support [templating](/docs/configuration/templating/) in the same wa
The following tables show the available trigger data per platform.
### All
The following describes trigger data associated with all platforms.
| Template variable | Data |
| ---- | ---- |
| `trigger.id` | Optional trigger `id`, or index of the trigger.
| `trigger.idx` | Index of the trigger.
### Event
| Template variable | Data |
@ -113,6 +122,7 @@ automation:
trigger:
- platform: state
entity_id: device_tracker.paulus
id: paulus_device
action:
- service: notify.notify
data:
@ -120,6 +130,8 @@ automation:
Paulus just changed from {{ trigger.from_state.state }}
to {{ trigger.to_state.state }}
This was triggered by {{ trigger.id }}
automation 2:
trigger:
- platform: mqtt

View File

@ -204,7 +204,7 @@ In the example above, the trigger would fire a single time if a numeric_state go
</div>
Number helpers (`input_number` entities), `number` and `sensor` entities that
contain a numeric value, an be used in the `above` and `below` thresholds,
contain a numeric value, can be used in the `above` and `below` thresholds,
making the trigger more dynamic, like:
```yaml

View File

@ -3,6 +3,18 @@ title: "Troubleshooting Automations"
description: "Tips on how to troubleshoot your automations."
---
## Using debug traces
Every time an automation runs, a debugging trace is generated regardless of whether the automation was completed, aborted, or suffered an error. Traces allow you to interactively inspect the state of the automation at every step and also check the values of [variables](/docs/scripts/#variables) and rendered [templates](/docs/configuration/templating/). Traces can be accessed in the {% my automations title="Automations Section" %} of {% my configuration %}.
![Automation debug trace example](/images/integrations/automation/automation-tracing.png)
Automations created in YAML must have an [`id`](/docs/automation/yaml/#migrating-your-yaml-automations-to-automationsyaml) assigned in order for debugging traces to be stored.
By default the last 5 traces are stored for each automation, this can be adjusted in the [YAML configuration](/docs/automation/yaml/#number-of-debug-traces-stored) of an automation. Stored traces are reset each time Home Assistant restarts.
## Inspecting logs and the Logbook
You can verify that your automation rules are being initialized correctly by watching both the realtime logs (`homeassistant.log` in the configuration directory) and also the [Logbook](/integrations/logbook/). The realtime logs will show the rules being initialized (once for each trigger), example:
```text
@ -18,7 +30,7 @@ The Logbook integration will show a line entry when an automation is triggered.
[template]: /topics/templating/
### Testing your automation
## Testing your automation
It is generally a difficult task to test an automation, especially if it includes several triggers and some conditions.

View File

@ -116,6 +116,19 @@ automation:
- platform: ...
```
### Number of debug traces stored
When using YAML you can configure the number of debugging traces stored for an automation. This is controlled with the `stored_traces` option under `traces`. Set `stored_traces` to the number of traces you wish to store for the particular automation. If not specified the default value of 5 will be used.
```yaml
automation:
- alias: "Automation Name"
traces:
stored_traces: 10
trigger:
- platform: ...
```
## Migrating your YAML automations to `automations.yaml`
If you want to migrate your manual automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over, you'll have to add an `id`. This can be any string as long as it's unique.

View File

@ -24,7 +24,8 @@
{% if index %}
<div class="entry-content clearfix">
{{ post.excerpt }}
{% assign blog_post_link = 'href="' | append: post.url | append:"#" %}
{{ post.excerpt | replace: 'href="#', blog_post_link }}
{% if post.content contains site.excerpt_separator %}
<a class="btn pull-right" href="{{ post.url }}#read-more">{{ site.excerpt_link }}</a>
{% endif %}

View File

@ -7,6 +7,8 @@ These below instructions are for an installation of Home Assistant Container run
<b>Prerequisites</b>
This guide assumes that you already have an operating system setup and a container runtime installed (like Docker).
If you are using Docker then you need to be on at least version 19.03.9, ideally an even higher version, and `libseccomp` 2.42 or newer.
</div>
### Platform Installation

View File

@ -19,7 +19,7 @@
```bash
# if this returns "Image is up to date" then you can stop here
docker pull {{ include.image }}
docker pull {{ include.image | default: site.installation.container.base }}:{{ include.tag | default: 'stable' }}
```
```bash

View File

@ -15,7 +15,7 @@ ha_platforms:
ha_quality_scale: platinum
---
The Ambee integration integrations the [Ambee](https://www.getambee.com/) API
The Ambee integration integrates the [Ambee](https://www.getambee.com/) API
platform with Home Assistant.
Ambee fuses the power of thousands of on-ground sensor data and hundreds of

View File

@ -38,6 +38,7 @@ This integration is a meta-component and configures a default set of integration
- [Tag](/integrations/tag/) (`tag`)
- [Timer](/integrations/timer/) (`timer`)
- [Updater](/integrations/updater/) (`updater`)
- [Webhooks](/integrations/webhook) (`webhook`)
- [Zero-configuration networking (zeroconf)](/integrations/zeroconf/) (`zeroconf`)
- [Zone](/integrations/zone/) (`zone`)

View File

@ -33,7 +33,7 @@ sensor:
<div class="note">
- The `region_name` can either be a so called `warncell id` (integer) or a `warncell name` (string). It is heavily advised to use `warncell id` because `warncell name` is not unique in some cases.
A list of valid warncell ids and names can be found at https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.html.
A list of valid warncell ids and names can be found at [here](https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.html).
- Some of the warncells are outdated but still listed. If setup fails search the list for a similar sounding warncell.
- If you selected a `warncell name` and the name is not unique `" (not unique used ID)!"` will be added to the reported `region_name`.
@ -71,14 +71,14 @@ monitored_conditions:
| `warning_count` | *(int)* Number of issued warnings. There can be more than one warning issued at once. |
| `warning_<x>` | *(list)* The warning as a whole object containing the following attributes as nested attributes. |
| `warning_<x>_level` | *(int)* Issued warning level (0 - 4).<br/>0: Keine Warnungen <br/>1: Wetterwarnungen <br/>2: Warnungen vor markantem Wetter<br/>3: Unwetterwarnungen<br/>4: Warnungen vor extremem Unwetter |
| `warning_<x>_type` | *(int)* Issued warning type. <br/>More information can be found at https://www.dwd.de/DE/leistungen/opendata/help/warnungen/neu_cap_dwd_profile_changes_de_pdf.pdf |
| `warning_<x>_type` | *(int)* Issued warning type. <br/>More information can be found [here](https://www.dwd.de/DE/leistungen/opendata/help/warnungen/warning_codes_pdf.pdf?__blob=publicationFile&v=5). |
| `warning_<x>_name` | *(str)* Warning name correlates with the warning type and represents it as a short string. |
| `warning_<x>_headline` | *(str)* Official headline of the weather warning. |
| `warning_<x>_start` | *(time)* Starting time and date (UTC) of the issued warning. |
| `warning_<x>_end` | *(time)* Ending time and date (UTC) of the issued warning. |
| `warning_<x>_description` | *(str)* Details for the issued warning. |
| `warning_<x>_instruction` | *(str)* The DWD sometimes provides helpful information about precautions to take for the issued warning. |
| `warning_<x>_parameters` | *(list)* A list of additional warning parameters. <br/>More information can be found at https://www.dwd.de/DE/leistungen/opendata/help/warnungen/neu_cap_dwd_profile_changes_de_pdf.pdf |
| `warning_<x>_parameters` | *(list)* A list of additional warning parameters. <br/>More information can be found [here](https://www.dwd.de/DE/leistungen/opendata/help/warnungen/warning_codes_pdf.pdf?__blob=publicationFile&v=5). |
| `warning_<x>_color` | *(str)* The DWD color of the warning encoded as `#rrggbb`. |
<div class="note">

View File

@ -197,7 +197,7 @@ percentage_state_topic:
required: false
type: string
percentage_value_template:
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from fan percentage speed.
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the `percentage` value from the payload received on `percentage_state_topic`.
required: false
type: string
preset_mode_command_template:
@ -213,7 +213,7 @@ preset_mode_state_topic:
required: false
type: string
preset_mode_value_template:
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the preset_mode payload.
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the `preset_mode` value from the payload received on `preset_mode_state_topic`.
required: false
type: string
preset_modes:
@ -231,16 +231,16 @@ retain:
required: false
type: boolean
default: true
speed_range_min:
description: The minimum of numeric output range (`off` not included, so `speed_range_min` - 1 represents 0%). The number of speeds within the speed_range / 100 will determine the `percentage_step`.
required: false
type: integer
default: 1
speed_range_max:
description: The maximum of numeric output range (representing 100%). The number of speeds within the speed_range / 100 will determine the `percentage_step`.
description: The maximum of numeric output range (representing 100 %). The number of speeds within the `speed_range` / `100` will determine the `percentage_step`.
required: false
type: integer
default: 100
speed_range_min:
description: The minimum of numeric output range (`off` not included, so `speed_range_min` - `1` represents 0 %). The number of speeds within the speed_range / 100 will determine the `percentage_step`.
required: false
type: integer
default: 1
state_topic:
description: The MQTT topic subscribed to receive state updates.
required: false
@ -298,13 +298,14 @@ fan:
speed_range_max: 10
```
{% raw %}
### Configuration using command templates
This example demonstrates how to use command templates with JSON output.
{% raw %}
```yaml
# Example configuration.yaml
# Example using command templates
# Example configuration.yaml with command templates
fan:
- platform: mqtt
name: "Bedroom Fan"

View File

@ -56,7 +56,7 @@ Using the following card code you can achieve a card displaying the live video f
```yaml
type: picture-elements
entity: camera.bedroom
image: camera.bedroom
camera_image: camera.bedroom
camera_view: live
elements:

View File

@ -21,7 +21,7 @@ ha_platforms:
ha_ssdp: true
---
The AVM FRITZ!Box Tools integration allows you to control your [AVM FRITZ!Box](https://avm.de/produkte/fritzbox/) based router.
The AVM FRITZ!Box Tools integration allows you to control your [AVM FRITZ!Box](https://en.avm.de/products/fritzbox/) based router.
There is support for the following platform types within Home Assistant:
@ -77,6 +77,17 @@ These can be changed at **AVM FRITZ!Box Tools** -> **Configure** on the Integrat
## Additional info
### Device Profile
Device profiles are designed for advanced users, thus they are disabled by default. You need to enable the wanted entities manually.
### Device Tracker
**Note 1**: All devices to be tracked, even the new detected, are disabled by default. You need to enable the wanted entities manually.
**Note 2**: If you don't want to automatically track newly detected devices, disable the integration system option `Enable new added entities`.
### Port Forward
Due to security reasons, AVM implemented the ability to enable/disable a port forward rule only from the host involved in the rule.
As a result, this integration will create entities only for rules that have your Home Assistant host as a destination.

View File

@ -64,7 +64,7 @@ use_x_forwarded_for:
type: boolean
default: false
trusted_proxies:
description: "List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care."
description: "List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care. If the immediate upstream proxy is not in the list, the request will be rejected. If any other intermediate proxy is not in the list, the first untrusted proxy will be considered the client."
required: false
type: [string, list]
ip_ban_enabled:

View File

@ -404,7 +404,7 @@ light:
The `mqtt` light platform with JSON schema lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages.
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions and short/long flashing. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed. The `color_mode` will not be present in messages sent to the light. It is optional in messages received from the light, but can be used to disambiguate the current mode in the light. In the example below, `color_mode` is set to `rgb` and `color_temp`, `color.c`, `color.w`, color.x`, `color.y`, `color.h`, `color.s` will all be ignored:
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions and short/long flashing. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed. The `color_mode` will not be present in messages sent to the light. It is optional in messages received from the light, but can be used to disambiguate the current mode in the light. In the example below, `color_mode` is set to `rgb` and `color_temp`, `color.c`, `color.w`, `color.x`, `color.y`, `color.h`, `color.s` will all be ignored by Home Assistant:
```json
{

View File

@ -47,7 +47,7 @@ scan_interval:
description: the frequency (in seconds) between data updates.
required: false
type: integer
default: 1800
default: 600
sensors:
description: The sensor-related configuration options.
required: false

View File

@ -66,6 +66,7 @@ Example JSON that should be published to the room topics:
This integration works with any software that is sending data in the given format. Each client should post the discovered devices in its own subtopic of the configured topic.
Instead of developing your own application, you can also use any of these already existing clients:
- [**ESP-32-BLE-Scanner for Home Assistant**](https://github.com/HeimdallMidgard/ESP-32-BLE-Scanner): ESP32 based BLE presence detection for Home Assistant with web GUI
- [**room-assistant**](https://github.com/mKeRix/room-assistant): looks for Bluetooth LE beacons, based on Node.js
- [**Happy Bubbles Presence Server**](https://github.com/happy-bubbles/presence): presence detection server for Happy Bubbles BLE-scanning devices, based on Go
- [**ESP32-MQTT-room**](https://jptrsn.github.io/ESP32-mqtt-room/): runs on an ESP32, and looks for Bluetooth LE devices, based on C++/Arduino

View File

@ -18,7 +18,7 @@ OhmConnect monitors real-time conditions on the electricity grid. When dirty and
## Configuration
You can find your OhmConnect ID under "Open Source Projects" on the [settings page](https://login.ohmconnect.com/settings). It's the string after the last `/` in the URL, e.g., for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`.
You can find your OhmConnect ID on the [OhmConnect API settings page](https://login.ohmconnect.com/api/v2/settings). It's the string after the last `/` in the URL, e.g., for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`.
To enable the OhMConnect sensor, add the following lines to your `configuration.yaml` file:

View File

@ -3,6 +3,8 @@ title: Remote
description: Instructions on how to setup your remotes with Home Assistant.
ha_release: 0.34
ha_domain: remote
ha_category:
- Remote
ha_quality_scale: internal
---

View File

@ -27,6 +27,7 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the
### Solar Inverter
| name | Unit | Description |
| --- | --- | --- |
| status | | Status of the device |
| pv_power_a | W | Current power generated by the solar panels (A side) |
| pv_power_b | W | Current power generated by the solar panels (B side) |
@ -52,6 +53,7 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the
#### Optimizers via Inverter
| name | Unit | Description |
| --- | --- | --- |
| optimizer_power_x | W | Power supplied by optimizer X |
| optimizer_current_x | A | Current supplied by optimizer X |
| optimizer_voltage_x | V | Voltage supplied by optimizer X |
@ -60,6 +62,7 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the
#### Energy Meter via Inverter
| name | Unit | Description |
| --- | --- | --- |
| metering_power_supplied | W | Power supplied |
| metering_power_absorbed | W | Power absorbed |
| metering_frequency | Hz | Grid frequency |
@ -81,6 +84,7 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the
### Energy Meter
| name | Unit | Description |
| --- | --- | --- |
| status | | Status of the device |
| grid_power | W | Power supplied to the grid. grid_power = power_l1 + power_l2 + power_l3 |
| frequency | Hz | Grid frequency. |
@ -97,6 +101,7 @@ The SMA WebConnect module supports a wide variety of sensors, but not all of the
### Batery Inverter
| name | Unit | Description |
| --- | --- | --- |
| operating_status_general | | General operating status |
| inverter_condition | | Inverter Condition |
| inverter_system_init | | Inverter System Init |

View File

@ -241,8 +241,8 @@ Calling this service forces Z-Wave JS to try to reach a node. This can be used t
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
| `device_id` | no | ID of device to set the configuration parameter on. At least one `entity_id` or `device_id` must be provided. |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id` or `device_id` must be provided. |
| `device_id` | no | ID of device to ping. At least one `entity_id` or `device_id` must be provided. |
This service can be used in tandem with the node status sensor (disabled by default) to track the node's status and fire the command when needed. Here's an example automation that would ping a node when the node status sensor state has changed to dead and remained dead for 30 minutes. Note that this may be useful for some devices but will definitely not be useful for all. In cases where it is not useful, all you will be doing is generating additional traffic on your Z-Wave network which could slow down communication.
@ -398,8 +398,6 @@ action:
## Current Limitations
As this integration is still in the early stages there are some important limitations to be aware of.
- While support for the most common devices is working, some command classes are not yet (fully) implemented in Z-Wave JS. You can track the status [here](https://github.com/zwave-js/node-zwave-js/issues/6).
- There currently is no migration path available from any of the other Z-Wave implementations in Home Assistant. Your Z-Wave network is however stored on your stick so migrating will only require you to redo your device and entity naming.
@ -599,7 +597,7 @@ Your device might not send automatic status updates to the controller. While the
Some legacy devices don't report all their values automatically and require polling to get updated values when controlled manually. Z-Wave JS does not automatically poll devices on a regular basis without user interaction. Polling can quickly lead to network congestion and should be used very sparingly and only where necessary.
- In an upcoming release of Home Assistant we will provide a service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in zwavejs2mqtt but not in the official add-on.
- We provide a `zwave_js.refresh_value` service to allow you to manually poll a value, for example from an automation that only polls a device when there is motion in that same room. If you **really** need polling, you can enable this in zwavejs2mqtt but not in the official add-on.
- zwavejs2mqtt allows you to configure scheduled polling on a per-value basis, which you can use to keep certain values updated. It also allows you to poll individual values on-demand from your automations, which should be preferred over blindly polling all the time if possible.

View File

@ -24,7 +24,7 @@ general, make me very happy. Mainly because, well, I use Home Assistant to
automate 😁
Also, we are saying "hi!" 👋 to a new type of entity, which is really exciting
and I can't wait to see how that is being put the use in the future.
and I can't wait to see how that is being put to use in the future.
Lastly, I want to give a shout-out to [@klaasnicolaas]! He has been an intern
with Nabu Casa for the last months. Besides doing the community highlights, he
@ -50,14 +50,16 @@ Alright, that's it! Enjoy the release!
- [New Integrations](#new-integrations)
- [New Platforms](#new-platforms)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Release 2021.7.1 - July 8](#release-202171---july-8)
- [Release 2021.7.2 - July 12](#release-202172---july-12)
- [If you need help...](#if-you-need-help)
- [Breaking Changes](#breaking-changes)
- [All changes](#all-changes)
## New entity: Select
In this release we welcome the `select` entity to the Home Assistant family. The
select entity is family of the dropdown helper (also known as
In this release, we welcome the `select` entity to the Home Assistant family. The
select entity is a close relative of the dropdown helper (also known as
`input_select`).
The difference is that while the input select is configured and managed by you,
@ -80,7 +82,7 @@ Genie you can now change the room size for your diffuser.
## Trigger conditions and trigger IDs
If you are creating some complex automations in YAML, you might be familiar with
this. Consider an big automation, with a whole bunch of triggers. But how
this. Consider a big automation, with a whole bunch of triggers. But how
would you know which of those triggers actually triggered the automation?
You can now assign an `id` to your triggers that is passed into automation when
@ -138,7 +140,7 @@ Screenshot of using a trigger condition in the automation editor.
## Script debugging
In [Home Assistant Core 2021.4](/blog/2021/04/07/release-20214/#automation-debugging),
we added the ability to debug automations. This release, we've made these
we added the ability to debug automations. In this release, we've made these
same powerful tools available for scripts!
So, this helps for the next time you are wondering: Why didn't that script work?
@ -190,7 +192,7 @@ complex little beasts.
However, we realized that the hardest part of using date & times with templates
is converting the state of a sensor or text to a datetime. This
release we added a small template method to help with that: `as_datetime`.
release adds a small template method to help with that: `as_datetime`.
It can be used as a filter or as a method. Here is an example of
calculating the number of days until my drivers' license expires:
@ -301,6 +303,148 @@ The following integrations are now available via the Home Assistant UI:
- [DSMR Slimme Meter][dsmr docs], done by [@RobBie1221]
- [Yamaha MusicCast][yamaha_musiccast docs], done by [@vigonotion]
## Release 2021.7.1 - July 8
- Fix service registration typo in Nuki integration ([@anaisbetts] - [#52631]) ([nuki docs])
- Fix Fritz default consider home value ([@chemelli74] - [#52648]) ([fritz docs])
- Handle KeyError when accessing device information ([@ludeeus] - [#52650]) ([ecovacs docs])
- Warn if `interface_addr` remains in Sonos configuration ([@jjlawren] - [#52652]) ([sonos docs])
- Ignore unused keys from Sonos device properties callback ([@jjlawren] - [#52660]) ([sonos docs])
- Ensure Forecast.Solar returns an iso formatted timestamp ([@frenck] - [#52669]) ([forecast_solar docs])
- Use iso-formatted times in MetOffice weather forecast ([@avee87] - [#52672]) ([metoffice docs])
- Fix precipitation calculation for hourly forecast ([@agners] - [#52676]) ([openweathermap docs])
- Move recorder.py import to runtime ([@uvjustin] - [#52682]) ([stream docs])
- Bump simplisafe-python to 11.0.1 ([@bachya] - [#52684]) ([simplisafe docs])
- pyWeMo version bump (0.6.5) ([@esev] - [#52701]) ([wemo docs])
- Bump pylutron to 0.2.8 fixing python 3.9 incompatibility ([@JonGilmore] - [#52702]) ([lutron docs])
- Add check for _client existence in modbus ([@janiversen] - [#52719]) ([modbus docs])
- Fix KNX Fan features ([@Tommatheussen] - [#52732]) ([fan docs])
- Esphome fix camera image ([@jesserockz] - [#52738]) ([esphome docs])
[#52631]: https://github.com/home-assistant/core/pull/52631
[#52648]: https://github.com/home-assistant/core/pull/52648
[#52650]: https://github.com/home-assistant/core/pull/52650
[#52652]: https://github.com/home-assistant/core/pull/52652
[#52660]: https://github.com/home-assistant/core/pull/52660
[#52669]: https://github.com/home-assistant/core/pull/52669
[#52672]: https://github.com/home-assistant/core/pull/52672
[#52676]: https://github.com/home-assistant/core/pull/52676
[#52682]: https://github.com/home-assistant/core/pull/52682
[#52684]: https://github.com/home-assistant/core/pull/52684
[#52701]: https://github.com/home-assistant/core/pull/52701
[#52702]: https://github.com/home-assistant/core/pull/52702
[#52719]: https://github.com/home-assistant/core/pull/52719
[#52732]: https://github.com/home-assistant/core/pull/52732
[#52738]: https://github.com/home-assistant/core/pull/52738
[@JonGilmore]: https://github.com/JonGilmore
[@Tommatheussen]: https://github.com/Tommatheussen
[@agners]: https://github.com/agners
[@anaisbetts]: https://github.com/anaisbetts
[@avee87]: https://github.com/avee87
[@bachya]: https://github.com/bachya
[@chemelli74]: https://github.com/chemelli74
[@esev]: https://github.com/esev
[@frenck]: https://github.com/frenck
[@janiversen]: https://github.com/janiversen
[@jesserockz]: https://github.com/jesserockz
[@jjlawren]: https://github.com/jjlawren
[@ludeeus]: https://github.com/ludeeus
[@uvjustin]: https://github.com/uvjustin
[ecovacs docs]: /integrations/ecovacs/
[esphome docs]: /integrations/esphome/
[fan docs]: /integrations/fan/
[forecast_solar docs]: /integrations/forecast_solar/
[fritz docs]: /integrations/fritz/
[lutron docs]: /integrations/lutron/
[metoffice docs]: /integrations/metoffice/
[modbus docs]: /integrations/modbus/
[nuki docs]: /integrations/nuki/
[openweathermap docs]: /integrations/openweathermap/
[simplisafe docs]: /integrations/simplisafe/
[sonos docs]: /integrations/sonos/
[stream docs]: /integrations/stream/
[wemo docs]: /integrations/wemo/
## Release 2021.7.2 - July 12
- Ignore Sonos Boost devices during discovery ([@jjlawren] - [#52845]) ([sonos docs])
- Add zeroconf discovery to Sonos ([@bdraco] - [#52655]) ([sonos docs])
- Remove scale calculation for climacell cloud cover ([@apaperclip] - [#52752]) ([climacell docs])
- Fix homebridge devices becoming unavailable frequently ([@Jc2k] - [#52753]) ([homekit_controller docs])
- Fix nexia thermostats humidify without dehumidify support ([@bdraco] - [#52758]) ([nexia docs])
- Support certain homekit devices that emit invalid JSON ([@Jc2k] - [#52759]) ([homekit_controller docs])
- Send ssdp requests to ipv4 broadcast as well ([@bdraco] - [#52760]) ([ssdp docs])
- Bump dependency to properly handle current and voltage not being reported on some zhapower endpoints ([@Kane610] - [#52764]) ([deconz docs])
- Upgrade pymazda to 0.2.0 ([@bdr99] - [#52775])
- Fix ESPHome Camera not merging image packets ([@OttoWinter] - [#52783]) ([esphome docs])
- Fix Neato parameter for token refresh ([@chemelli74] - [#52785]) ([neato docs])
- Add the Trane brand to nexia ([@bdraco] - [#52805]) ([nexia docs])
- Bump python-fireservicerota to 0.0.42 ([@cyberjunky] - [#52807]) ([fireservicerota docs])
- Bump up ZHA depdencies ([@Adminiuga] - [#52818]) ([zha docs])
- Update arcam lib to 0.7.0 ([@elupus] - [#52829]) ([arcam_fmj docs])
- Bump aiohomekit to 0.5.1 to solve performance regression ([@bdraco] - [#52878]) ([homekit_controller docs])
- Bump pyhaversion to 21.7.0 ([@ludeeus] - [#52880]) ([version docs])
- Prefer using xy over hs when supported by light ([@Kane610] - [#52883]) ([deconz docs])
- Bump zwave-js-server-python to 0.27.1 ([@raman325] - [#52885]) ([zwave_js docs])
- Surepetcare, fix set_lock_state ([@Danielhiversen] - [#52912]) ([surepetcare docs])
- Bump pyinsteon to 1.0.11 ([@teharris1] - [#52927]) ([insteon docs])
- Fix recorder purge with sqlite3 < 3.32.0 ([@bdraco] - [#52929])
- Bump pysonos to 0.0.52 ([@jjlawren] - [#52934]) ([sonos docs])
[#52655]: https://github.com/home-assistant/core/pull/52655
[#52752]: https://github.com/home-assistant/core/pull/52752
[#52753]: https://github.com/home-assistant/core/pull/52753
[#52758]: https://github.com/home-assistant/core/pull/52758
[#52759]: https://github.com/home-assistant/core/pull/52759
[#52760]: https://github.com/home-assistant/core/pull/52760
[#52764]: https://github.com/home-assistant/core/pull/52764
[#52775]: https://github.com/home-assistant/core/pull/52775
[#52783]: https://github.com/home-assistant/core/pull/52783
[#52785]: https://github.com/home-assistant/core/pull/52785
[#52805]: https://github.com/home-assistant/core/pull/52805
[#52807]: https://github.com/home-assistant/core/pull/52807
[#52818]: https://github.com/home-assistant/core/pull/52818
[#52829]: https://github.com/home-assistant/core/pull/52829
[#52845]: https://github.com/home-assistant/core/pull/52845
[#52878]: https://github.com/home-assistant/core/pull/52878
[#52880]: https://github.com/home-assistant/core/pull/52880
[#52883]: https://github.com/home-assistant/core/pull/52883
[#52885]: https://github.com/home-assistant/core/pull/52885
[#52912]: https://github.com/home-assistant/core/pull/52912
[#52927]: https://github.com/home-assistant/core/pull/52927
[#52929]: https://github.com/home-assistant/core/pull/52929
[#52934]: https://github.com/home-assistant/core/pull/52934
[@Adminiuga]: https://github.com/Adminiuga
[@Danielhiversen]: https://github.com/Danielhiversen
[@Jc2k]: https://github.com/Jc2k
[@Kane610]: https://github.com/Kane610
[@OttoWinter]: https://github.com/OttoWinter
[@apaperclip]: https://github.com/apaperclip
[@bdr99]: https://github.com/bdr99
[@bdraco]: https://github.com/bdraco
[@chemelli74]: https://github.com/chemelli74
[@cyberjunky]: https://github.com/cyberjunky
[@elupus]: https://github.com/elupus
[@jjlawren]: https://github.com/jjlawren
[@ludeeus]: https://github.com/ludeeus
[@raman325]: https://github.com/raman325
[@teharris1]: https://github.com/teharris1
[arcam_fmj docs]: /integrations/arcam_fmj/
[climacell docs]: /integrations/climacell/
[deconz docs]: /integrations/deconz/
[esphome docs]: /integrations/esphome/
[fireservicerota docs]: /integrations/fireservicerota/
[homekit_controller docs]: /integrations/homekit_controller/
[insteon docs]: /integrations/insteon/
[neato docs]: /integrations/neato/
[nexia docs]: /integrations/nexia/
[sonos docs]: /integrations/sonos/
[ssdp docs]: /integrations/ssdp/
[surepetcare docs]: /integrations/surepetcare/
[version docs]: /integrations/version/
[zha docs]: /integrations/zha/
[zwave_js docs]: /integrations/zwave_js/
## 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).
@ -328,8 +472,8 @@ configuration.
For more information, see the
[HTTP integration documentation](https://www.home-assistant.io/integrations/http#use_x_forwarded_for).
Additionally, access to Home Assistant from same IP as a trusted proxy will be
rejected if the request is marked as forwarded.
Additionally, access to Home Assistant from the same IP address as a trusted
proxy will be rejected if the request is marked as forwarded.
([@frenck] - [#51839]) ([http docs])
@ -337,7 +481,7 @@ rejected if the request is marked as forwarded.
{% details "Python 3.9 / Alpine 3.13" %}
Our Docker images are now based on Alpine 3.13, and run Python 3.9.
Our Docker images are now based on Alpine 3.13 and run Python 3.9.
This is mainly interesting if you running custom Docker containers based
on our container.
@ -346,7 +490,7 @@ If you are using Home Assistant Container, Home Assistant OS or the Home Assista
Supervised installation method, you will automatically get this update on upgrade
and no additional interaction is needed.
Please note, that Alpine 3.13 on an ARM devices running a 32-bits operating
Please note, that Alpine 3.13 on ARM devices running a 32-bits operating
system (armhf/armv7), requires your Docker version to be at least 19.03.9
(although, we recommend updating to an even higher version). Additionally,
you need to have `libseccomp` 2.42 or newer.
@ -357,7 +501,7 @@ you need to have `libseccomp` 2.42 or newer.
{% details "Airly" %}
The AirQuality platform has been marked as deprecated. The `air_quality` entitiy
The AirQuality platform has been marked as deprecated. The `air_quality` entity
is removed and replaced with sensor entities. You will need to update their
automations and dashboards if you have been using the `air_quality` entity
of Airly.
@ -368,8 +512,8 @@ of Airly.
{% details "Azure Event Hub" %}
When using this integration with with IoTHub, the `event_hub_name` is now
a required field, can be filled by the DeviceID when using IoTHub.
When using this integration with IoTHub, the `event_hub_name` is now
a required field can be filled by the DeviceID when using IoTHub.
([@eavanvalkenburg] - [#52049]) ([azure_event_hub docs])
@ -410,13 +554,13 @@ configured in your API settings on Coinbase.
{% details "Database (statistics table)" %}
The statistics table is Home Assistant data table that is not exposed
The statistics table is a Home Assistant data table that is not exposed
or used by Home Assistant yet and is part of an alpha / feature that is in
development. However, it does exist and it might be you found it already
interesting or found a use for it.
development. However, it does exist and you might already want to check
it out or find a use for it.
This release, the contents of this table is reset. This does not impact
any state history, and this data isn't used by Home Assistant as of yet.
In this release, the content of this table is reset. This does not impact
any state history and this data isn't used by Home Assistant as of yet.
If you have no idea what this message is about, you can safely ignore it.
We have merely listed this to be complete in our breaking changes report.
@ -458,7 +602,7 @@ If you are looking for a replacement, you can use the
- It's not clear if this integration still works with the gpmdp app that now
only supports YouTube Music. If there's someone that uses the integration
successfully and wants to take on the maintenance task that is required to get
the integration in a compatible state, please create an issue to discus
the integration in a compatible state, please create an issue to discuss
the future of this integration.
([@MartinHjelmare] - [#51509]) ([gpmdp docs])
@ -477,8 +621,8 @@ therefore the units for these values will change.
{% details "Kuler Sky" %}
Kuler Sky lights no longer supports deprecated `white_value` attribute for
its lights, use the `rgbw_color` attribute instead.
Kuler Sky lights no longer supports the deprecated `white_value` attribute for
its lights. Use the `rgbw_color` attribute instead.
([@emontnemery] - [#52080]) ([kulersky docs])
@ -486,7 +630,7 @@ its lights, use the `rgbw_color` attribute instead.
{% details "MeteoAlarm" %}
You now cannot use the 2 letters of your country code, but must know use the
You can no longer use the 2 letters of your country code, but must now use the
complete country name in your configuration. To find out which country names
you can use, please look at meteoalarm.org.
@ -553,7 +697,7 @@ modbus:
state_closed: 0
```
The new configuration looks like:
The new configuration looks like this:
```yaml
modbus:
@ -685,12 +829,12 @@ modbus:
{% details "MQTT" %}
It's no longer possible to set attributes defined in the the base component
It's no longer possible to set attributes defined in the base component
via a configured `json_attributes_topic`.
For example a light no longer accepts brightness via the `json_attribute_topic`.
This was unintended and undocumented functionality that lead to unexpected
behavior.
For example, a light no longer accepts brightness via the `json_attribute_topic`.
This was unintended and an undocumented functionality that lead to
unexpected behavior.
This change applies to all supported MQTT platforms.
@ -702,7 +846,7 @@ This change applies to all supported MQTT platforms.
The AirQuality platform has been marked as deprecated. The `air_quality`
entities will be deleted and replaced with `sensor` entities.
You need to update your automations and dashboards if you have been usin
You need to update your automations and dashboards if you have been using
these `air_quality` entities in those.
([@bieniu] - [#52152]) ([nam docs])
@ -736,7 +880,7 @@ updated. This fixes a bug, that might be a breaking change for you.
If you use an `@` in your database username or password, you will have to
adjust your database connection string to use `%40` instead.
Database connection strings are considered URLs, thus special charaters need
Database connection strings are considered URLs, thus special characters need
to be encoded. `%40` is the URL encoded version of `@`.
{% enddetails %}
@ -766,8 +910,8 @@ and can now be safely removed from your YAML configuration files.
With the change to the new, and unique, electric tariff 2.0TD, if you
previously had configured multiple PVPC sensors monitoring prices for more
than one of the old tariffs, only the first one will survive, so if you
have any automations or scripts that depend on these removed sensors,
than one of the old tariffs, only the first one will survive. This means
if you have any automation or script that depends on these removed sensors,
you might need to adjust them.
([@azogue] - [#51789]) ([pvpc_hourly_pricing docs])
@ -776,7 +920,7 @@ you might need to adjust them.
{% details "Switcher" %}
In preparation for multi device support, configuration via the UI and support
In preparation for multi-device support, configuration via the UI and support
for discovery; this integration is migrating entity attributes into sensors
to be later added as device entities. The following switch entity attributes
migrated to sensors:
@ -796,8 +940,8 @@ migrated to sensors:
The integration has been rewritten from the ground up and is now configurable
via the user interface only. Existing platform YAML config will automatically
imported into the user interface on upgrade; and can be safely removed
from the YAML configuration after upgrade has been completed.
be imported into the user interface on upgrade and can be safely removed
from the YAML configuration after the upgrade has been completed.
([@vigonotion] - [#51561]) ([yamaha_musiccast docs])

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB