mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-14 21:06:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
63cb191bcd
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v3.0.14
|
- uses: actions/stale@v3.0.15
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
days-before-stale: 60
|
days-before-stale: 60
|
||||||
|
10
Gemfile.lock
10
Gemfile.lock
@ -5,7 +5,7 @@ GEM
|
|||||||
public_suffix (>= 2.0.2, < 5.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
chunky_png (1.4.0)
|
chunky_png (1.4.0)
|
||||||
colorator (1.1.0)
|
colorator (1.1.0)
|
||||||
commonmarker (0.21.0)
|
commonmarker (0.21.1)
|
||||||
ruby-enum (~> 0.5)
|
ruby-enum (~> 0.5)
|
||||||
compass (1.0.3)
|
compass (1.0.3)
|
||||||
chunky_png (~> 1.2)
|
chunky_png (~> 1.2)
|
||||||
@ -19,7 +19,7 @@ GEM
|
|||||||
sass (>= 3.3.0, < 3.5)
|
sass (>= 3.3.0, < 3.5)
|
||||||
compass-import-once (1.0.5)
|
compass-import-once (1.0.5)
|
||||||
sass (>= 3.2, < 3.5)
|
sass (>= 3.2, < 3.5)
|
||||||
concurrent-ruby (1.1.7)
|
concurrent-ruby (1.1.8)
|
||||||
em-websocket (0.5.2)
|
em-websocket (0.5.2)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
@ -66,7 +66,7 @@ GEM
|
|||||||
kramdown-parser-gfm (1.1.0)
|
kramdown-parser-gfm (1.1.0)
|
||||||
kramdown (~> 2.0)
|
kramdown (~> 2.0)
|
||||||
liquid (4.0.3)
|
liquid (4.0.3)
|
||||||
listen (3.4.0)
|
listen (3.4.1)
|
||||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.10)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
mercenary (0.4.0)
|
mercenary (0.4.0)
|
||||||
@ -94,7 +94,7 @@ GEM
|
|||||||
rouge (3.26.0)
|
rouge (3.26.0)
|
||||||
ruby-enum (0.8.0)
|
ruby-enum (0.8.0)
|
||||||
i18n
|
i18n
|
||||||
ruby2_keywords (0.0.2)
|
ruby2_keywords (0.0.4)
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sass (3.4.25)
|
sass (3.4.25)
|
||||||
sass-globbing (1.1.5)
|
sass-globbing (1.1.5)
|
||||||
@ -114,7 +114,7 @@ GEM
|
|||||||
tilt (2.0.10)
|
tilt (2.0.10)
|
||||||
tzinfo (2.0.4)
|
tzinfo (2.0.4)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
tzinfo-data (1.2020.6)
|
tzinfo-data (1.2021.1)
|
||||||
tzinfo (>= 1.0.0)
|
tzinfo (>= 1.0.0)
|
||||||
unicode-display_width (1.7.0)
|
unicode-display_width (1.7.0)
|
||||||
|
|
||||||
|
@ -101,8 +101,8 @@ social:
|
|||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 2021
|
current_major_version: 2021
|
||||||
current_minor_version: 1
|
current_minor_version: 1
|
||||||
current_patch_version: 0
|
current_patch_version: 5
|
||||||
date_released: 2021-01-06
|
date_released: 2021-01-23
|
||||||
|
|
||||||
# Either # or the anchor link to latest release notes in the blog post.
|
# Either # or the anchor link to latest release notes in the blog post.
|
||||||
# Must be prefixed with a # and have double quotes around it.
|
# Must be prefixed with a # and have double quotes around it.
|
||||||
|
384
package-lock.json
generated
384
package-lock.json
generated
@ -98,62 +98,62 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.2.5",
|
"version": "4.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
||||||
"integrity": "sha512-+rEx4jLOeZpUcdvll7jEg/7hNbwYvHWFy4IGW/tk2JdbyB3SJVyIP6arAwzTH/sp/pO9jftfyZnRj4//sLbLvQ==",
|
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/ast-tester": {
|
"@textlint/ast-tester": {
|
||||||
"version": "2.2.5",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-2.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-2.3.1.tgz",
|
||||||
"integrity": "sha512-kKolF3xDI0G1sjM2HJE1EZAf407026b/wHC0FAdo9/FAipUTtAATKDnvjYeN++W1b5TxtIWRF5SbHppK7eRXGQ==",
|
"integrity": "sha512-L9M2VNTYJ5sVdkPs9jH7s01Gg900Nuk7m9zQmCz9WFa3YyzJFEd7GCSmAvLMgX31jw5bbvvmj7DngymlP+PahQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/ast-traverse": {
|
"@textlint/ast-traverse": {
|
||||||
"version": "2.2.6",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.3.1.tgz",
|
||||||
"integrity": "sha512-cpBF4UsbQ95oFU8gaGrkYar1H75ORvfRWN78dXneyinJFG1KBajXN9lLYhXhg+Z1Rn/9Ifw+SCjLZKnFmnwM0g==",
|
"integrity": "sha512-uOFKqm3M9by55Zl2ryZ7jOSiLdLhDmVgX0IG/MJfGKY1a/MSyt5qwy9cvZNcob6hNCPeRMW8boAH2uRJOwRcoQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/feature-flag": {
|
"@textlint/feature-flag": {
|
||||||
"version": "3.2.5",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.3.1.tgz",
|
||||||
"integrity": "sha512-OePponYtxPGjNf6GBqioRaOr1m8LJZQLCj49LgoGZnolm9hmKq3QP1jEKGbzxsHCADL7YHoKZ6zxKGkicmsxPA==",
|
"integrity": "sha512-0a1UopFf30UrmEDKFNATXlotMqwbLGjJa1GTuljL/AKn2Adz7rPawclW4pHf/b//K7Da5GOtuzbIfVAZSFQRxA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"map-like": "^2.0.0"
|
"map-like": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/fixer-formatter": {
|
"@textlint/fixer-formatter": {
|
||||||
"version": "3.2.6",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.3.1.tgz",
|
||||||
"integrity": "sha512-xVVEHcpUeBBFI7Ug4y/tGTRLf6XX9lsg/iLvk6cjWJhxnFsVOkSFJRrZFetIJnAKnhQmCAv/i+ybgnTHhas7pw==",
|
"integrity": "sha512-ZPK66J61lv8UMdqJeG4YUPfKPlCom/jiv8kZkz5ELnLA587HLOlEIYLaNjKop0viW5z3Fz9cZd5glIHrPymiqQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/module-interop": "^1.1.5",
|
"@textlint/module-interop": "^1.2.1",
|
||||||
"@textlint/types": "^1.4.6",
|
"@textlint/types": "^1.5.1",
|
||||||
"chalk": "^1.1.3",
|
"chalk": "^1.1.3",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"diff": "^4.0.2",
|
"diff": "^4.0.2",
|
||||||
@ -165,18 +165,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/types": {
|
"@textlint/types": {
|
||||||
"version": "1.4.6",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz",
|
||||||
"integrity": "sha512-hoKPvIzNf+vI0goRk90HfsVUbXkAp4BfpvRxh51TGqVG27dlYrQJZkYheuUNUAwyj0Id09qzVwXno/xQPMYPcg==",
|
"integrity": "sha512-YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
@ -264,17 +264,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/kernel": {
|
"@textlint/kernel": {
|
||||||
"version": "3.3.7",
|
"version": "3.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.4.1.tgz",
|
||||||
"integrity": "sha512-zLk78gCwiQIl0ElkzT8DVMOLJ5PCDWZnuRaYk7YkwmGpjJSoJcGSCqiRGhmmc4d7CCZ+AcoM0DQUSyrFzJjyMA==",
|
"integrity": "sha512-8ZpiLy5KgmIMjda7RNgbNzoHpDnF51OC0rmMBTUl5xFMrpOcmnKZ6qcnmP7hlyR1MQJxQVzG0PvWnLHFUZL53w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5",
|
"@textlint/ast-node-types": "^4.4.1",
|
||||||
"@textlint/ast-tester": "^2.2.5",
|
"@textlint/ast-tester": "^2.3.1",
|
||||||
"@textlint/ast-traverse": "^2.2.6",
|
"@textlint/ast-traverse": "^2.3.1",
|
||||||
"@textlint/feature-flag": "^3.2.5",
|
"@textlint/feature-flag": "^3.3.1",
|
||||||
"@textlint/types": "^1.4.6",
|
"@textlint/source-code-fixer": "^3.4.1",
|
||||||
"@textlint/utils": "^1.1.5",
|
"@textlint/types": "^1.5.1",
|
||||||
|
"@textlint/utils": "^1.2.1",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"deep-equal": "^1.1.1",
|
"deep-equal": "^1.1.1",
|
||||||
"map-like": "^2.0.0",
|
"map-like": "^2.0.0",
|
||||||
@ -282,18 +283,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/types": {
|
"@textlint/types": {
|
||||||
"version": "1.4.6",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz",
|
||||||
"integrity": "sha512-hoKPvIzNf+vI0goRk90HfsVUbXkAp4BfpvRxh51TGqVG27dlYrQJZkYheuUNUAwyj0Id09qzVwXno/xQPMYPcg==",
|
"integrity": "sha512-YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
@ -308,15 +309,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/linter-formatter": {
|
"@textlint/linter-formatter": {
|
||||||
"version": "3.2.6",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.3.1.tgz",
|
||||||
"integrity": "sha512-39R2PAKRDqq8p6jQj3u9ERUzrrhK33BnHK622oegaXzPeaBLjN2brBXsxnBpNJFPUW2L9BDmJcBd92E/ajLTGg==",
|
"integrity": "sha512-tBtOSfpZWr3AwIJ1vbBSD+fwB4JSEtCQIE+AgfFqO8eDMOssjxKgVtIPX9dwh3/+6vlc6KozBJjIfXoxLuaWlg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@azu/format-text": "^1.0.1",
|
"@azu/format-text": "^1.0.1",
|
||||||
"@azu/style-format": "^1.0.0",
|
"@azu/style-format": "^1.0.0",
|
||||||
"@textlint/module-interop": "^1.1.5",
|
"@textlint/module-interop": "^1.2.1",
|
||||||
"@textlint/types": "^1.4.6",
|
"@textlint/types": "^1.5.1",
|
||||||
"chalk": "^1.1.3",
|
"chalk": "^1.1.3",
|
||||||
"concat-stream": "^1.6.2",
|
"concat-stream": "^1.6.2",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
@ -333,18 +334,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/types": {
|
"@textlint/types": {
|
||||||
"version": "1.4.6",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz",
|
||||||
"integrity": "sha512-hoKPvIzNf+vI0goRk90HfsVUbXkAp4BfpvRxh51TGqVG27dlYrQJZkYheuUNUAwyj0Id09qzVwXno/xQPMYPcg==",
|
"integrity": "sha512-YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
@ -478,12 +479,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/markdown-to-ast": {
|
"@textlint/markdown-to-ast": {
|
||||||
"version": "6.2.6",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.3.1.tgz",
|
||||||
"integrity": "sha512-TjZTMGYla9Nznegy0r23EEzNMfWva0oksj+48aqMlbQ+UvBA5vdEC0VzCO3l0Z137RgEJ+glInbvEilo2zcjZg==",
|
"integrity": "sha512-piqeTN6dzMr7ljlo7GbRBILMcZ8zW2H9raN48qH+HYhfrGZfEOmL5HAMMeF8h0sDz9CzTvZixEwGWLMdlwsb+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5",
|
"@textlint/ast-node-types": "^4.4.1",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"remark-frontmatter": "^1.3.3",
|
"remark-frontmatter": "^1.3.3",
|
||||||
"remark-parse": "^5.0.0",
|
"remark-parse": "^5.0.0",
|
||||||
@ -493,9 +494,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
@ -596,59 +597,95 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/module-interop": {
|
"@textlint/module-interop": {
|
||||||
"version": "1.1.5",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.2.1.tgz",
|
||||||
"integrity": "sha512-YXz4qV6thEuwNfamHFhRsebZM7FWe1x3fD7XAqPxE8J+HLQea3Y0i52hU/rTQvt85omYq+37g3YtqjX60mYjog==",
|
"integrity": "sha512-ZvxTTvEm7nmkRctWKREfvNvnVtRxRbdUms8cqkiYbP2K0fRIMacrWpL8z8cdkkdNZbaYciaUnyE3be7UD4J8EA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/text-to-ast": {
|
"@textlint/source-code-fixer": {
|
||||||
"version": "3.2.5",
|
"version": "3.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-3.4.1.tgz",
|
||||||
"integrity": "sha512-1B43L9tVr2b6Qm37KsdI8dbutL8b5AN95PFGzPpxaJbShz8TjVUFQ5bxPrnKGc7wV5MFpazf+/UVjZx6JtUbMA==",
|
"integrity": "sha512-FqL+xdjIU2hswS4Cmhf/bL7SWTpXkKoK/wb8Lmo9sNmEE481fc5Ey/s8JgxAaOHRpwOcmErGd16c3gXcG6Y2ow==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/types": "^1.5.1",
|
||||||
|
"debug": "^4.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@textlint/types": {
|
||||||
|
"version": "1.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz",
|
||||||
|
"integrity": "sha512-YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.1.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@textlint/text-to-ast": {
|
||||||
|
"version": "3.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.3.1.tgz",
|
||||||
|
"integrity": "sha512-aN1IY3u98Wig2PTF/eEJdb7XfCH5VEwZagGdG1vajx6sdc7Sc3265UVv9uEB/ypJDteYnURRICfTd6NCGwkVGA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@textlint/ast-node-types": {
|
||||||
|
"version": "4.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/textlint-plugin-markdown": {
|
"@textlint/textlint-plugin-markdown": {
|
||||||
"version": "5.2.7",
|
"version": "5.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.3.1.tgz",
|
||||||
"integrity": "sha512-GKx79nbsLwvDdyv98wnX2BSF83MKTM5j09OFJp2+wi2qrWO3U0+7YMILfdHDqyPfUk+osuy65BAFeq5jlXPomQ==",
|
"integrity": "sha512-IhQVGW9YqylkuZ4AjOfLFtOWHPXtLMhWTVfvIFzMQ2TIpquIaybws8KiFN2yZzLBNNduF+PFvm+H2NRhR0w/lQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/markdown-to-ast": "^6.2.6"
|
"@textlint/markdown-to-ast": "^6.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/textlint-plugin-text": {
|
"@textlint/textlint-plugin-text": {
|
||||||
"version": "4.2.7",
|
"version": "4.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.3.1.tgz",
|
||||||
"integrity": "sha512-uMoASP8kIJrMqMJCXePvKSh0tOEuiQS9vFjH+kq2kS8/+Po6Wwgma9IdJsLWuSI8H4ufcvbozREuY+DceQAp/w==",
|
"integrity": "sha512-IqtO6TWOfVaw8sXMdVVwsvEYuqYk13ApKXBVjjJoLux0g+6G1rCEhFSZtopkrpC1Srr/OZCfb4nk8/zx+5M6Ng==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/text-to-ast": "^3.2.5"
|
"@textlint/text-to-ast": "^3.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/types": {
|
"@textlint/types": {
|
||||||
"version": "1.3.1",
|
"version": "1.4.6",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.4.6.tgz",
|
||||||
"integrity": "sha512-9MJ6PRPYWiFs2lfvp/Qhq72WrkZLL5ncBUXAVoj1Ug17ug8d7psmr/KJstMMocW3EWHSOuIDj7unh413c3jPqQ==",
|
"integrity": "sha512-hoKPvIzNf+vI0goRk90HfsVUbXkAp4BfpvRxh51TGqVG27dlYrQJZkYheuUNUAwyj0Id09qzVwXno/xQPMYPcg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.2.5"
|
"@textlint/ast-node-types": "^4.3.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@textlint/utils": {
|
"@textlint/utils": {
|
||||||
"version": "1.1.5",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-1.2.1.tgz",
|
||||||
"integrity": "sha512-wv1m6yyaQpt1QrGKIUYwMoL5LLhDhXk05+pXg3i0+8PC8X95jNin10fSkxRMyXOsEqB6481GR3XgQ8Ia7DO1tg==",
|
"integrity": "sha512-X/rLpqskTLWDPO5cvQO5CcA7zNnDimeBokwehiDwTg6aP9LYqFeOw5mKZ5lb4purY9zN9tLRxJGLle4Py1QobQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/mdast": {
|
"@types/mdast": {
|
||||||
@ -774,13 +811,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"call-bind": {
|
"call-bind": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
"integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
|
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"get-intrinsic": "^1.0.0"
|
"get-intrinsic": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"camelcase": {
|
"camelcase": {
|
||||||
@ -961,36 +998,6 @@
|
|||||||
"is-arrayish": "^0.2.1"
|
"is-arrayish": "^0.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"es-abstract": {
|
|
||||||
"version": "1.17.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
|
|
||||||
"integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"es-to-primitive": "^1.2.1",
|
|
||||||
"function-bind": "^1.1.1",
|
|
||||||
"has": "^1.0.3",
|
|
||||||
"has-symbols": "^1.0.1",
|
|
||||||
"is-callable": "^1.2.2",
|
|
||||||
"is-regex": "^1.1.1",
|
|
||||||
"object-inspect": "^1.8.0",
|
|
||||||
"object-keys": "^1.1.1",
|
|
||||||
"object.assign": "^4.1.1",
|
|
||||||
"string.prototype.trimend": "^1.0.1",
|
|
||||||
"string.prototype.trimstart": "^1.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"es-to-primitive": {
|
|
||||||
"version": "1.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
|
||||||
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"is-callable": "^1.1.4",
|
|
||||||
"is-date-object": "^1.0.1",
|
|
||||||
"is-symbol": "^1.0.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
@ -1272,12 +1279,6 @@
|
|||||||
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
|
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-callable": {
|
|
||||||
"version": "1.2.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
|
|
||||||
"integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"is-core-module": {
|
"is-core-module": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
|
||||||
@ -1359,15 +1360,6 @@
|
|||||||
"has-symbols": "^1.0.1"
|
"has-symbols": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"is-symbol": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"has-symbols": "^1.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"is-utf8": {
|
"is-utf8": {
|
||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
|
||||||
@ -1829,12 +1821,6 @@
|
|||||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"object-inspect": {
|
|
||||||
"version": "1.9.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
|
|
||||||
"integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"object-is": {
|
"object-is": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
|
||||||
@ -1851,18 +1837,6 @@
|
|||||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"object.assign": {
|
|
||||||
"version": "4.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
|
|
||||||
"integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"call-bind": "^1.0.0",
|
|
||||||
"define-properties": "^1.1.3",
|
|
||||||
"has-symbols": "^1.0.1",
|
|
||||||
"object-keys": "^1.1.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"once": {
|
"once": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
@ -2123,13 +2097,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"regexp.prototype.flags": {
|
"regexp.prototype.flags": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
|
||||||
"integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
|
"integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"define-properties": "^1.1.3",
|
"call-bind": "^1.0.2",
|
||||||
"es-abstract": "^1.17.0-next.1"
|
"define-properties": "^1.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"remark": {
|
"remark": {
|
||||||
@ -2404,26 +2378,6 @@
|
|||||||
"strip-ansi": "^6.0.0"
|
"strip-ansi": "^6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"string.prototype.trimend": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"call-bind": "^1.0.0",
|
|
||||||
"define-properties": "^1.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"string.prototype.trimstart": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"call-bind": "^1.0.0",
|
|
||||||
"define-properties": "^1.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"string_decoder": {
|
"string_decoder": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
@ -2459,6 +2413,12 @@
|
|||||||
"is-utf8": "^0.2.0"
|
"is-utf8": "^0.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"strip-json-comments": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"structured-source": {
|
"structured-source": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz",
|
||||||
@ -2573,22 +2533,22 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"textlint": {
|
"textlint": {
|
||||||
"version": "11.7.7",
|
"version": "11.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/textlint/-/textlint-11.7.7.tgz",
|
"resolved": "https://registry.npmjs.org/textlint/-/textlint-11.8.1.tgz",
|
||||||
"integrity": "sha512-YSF2xLyvX5odEb142kqU2x0oUmL6yj4+mDolKb+ul5y7/HKEUgjq2G4GwkEtIOij1B52mbvS+MApI4Fx5VhhMA==",
|
"integrity": "sha512-FlXzJrR008O/H/ynCTVQnsaW2kX2I1zb/rIxkn0HIAoNxU/A4au+P4QJkeDg7FRE6h8qdlZjrXHx79MfSTWzDw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5",
|
"@textlint/ast-node-types": "^4.4.1",
|
||||||
"@textlint/ast-traverse": "^2.2.6",
|
"@textlint/ast-traverse": "^2.3.1",
|
||||||
"@textlint/feature-flag": "^3.2.5",
|
"@textlint/feature-flag": "^3.3.1",
|
||||||
"@textlint/fixer-formatter": "^3.2.6",
|
"@textlint/fixer-formatter": "^3.3.1",
|
||||||
"@textlint/kernel": "^3.3.7",
|
"@textlint/kernel": "^3.4.1",
|
||||||
"@textlint/linter-formatter": "^3.2.6",
|
"@textlint/linter-formatter": "^3.3.1",
|
||||||
"@textlint/module-interop": "^1.1.5",
|
"@textlint/module-interop": "^1.2.1",
|
||||||
"@textlint/textlint-plugin-markdown": "^5.2.7",
|
"@textlint/textlint-plugin-markdown": "^5.3.1",
|
||||||
"@textlint/textlint-plugin-text": "^4.2.7",
|
"@textlint/textlint-plugin-text": "^4.3.1",
|
||||||
"@textlint/types": "^1.4.6",
|
"@textlint/types": "^1.5.1",
|
||||||
"@textlint/utils": "^1.1.5",
|
"@textlint/utils": "^1.2.1",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"deep-equal": "^1.1.1",
|
"deep-equal": "^1.1.1",
|
||||||
"file-entry-cache": "^5.0.1",
|
"file-entry-cache": "^5.0.1",
|
||||||
@ -2610,18 +2570,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@textlint/ast-node-types": {
|
"@textlint/ast-node-types": {
|
||||||
"version": "4.3.5",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.1.tgz",
|
||||||
"integrity": "sha512-syl8VE34DQDTV7+IADP1jYtGsxTC9MmCKLmpJX90G6nNv9CzgAZIukd7WMiJFZpFgcDAlibEaCKlJRxjfEmmPA==",
|
"integrity": "sha512-2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@textlint/types": {
|
"@textlint/types": {
|
||||||
"version": "1.4.6",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz",
|
||||||
"integrity": "sha512-hoKPvIzNf+vI0goRk90HfsVUbXkAp4BfpvRxh51TGqVG27dlYrQJZkYheuUNUAwyj0Id09qzVwXno/xQPMYPcg==",
|
"integrity": "sha512-YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@textlint/ast-node-types": "^4.3.5"
|
"@textlint/ast-node-types": "^4.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
@ -2669,9 +2629,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"textlint-rule-terminology": {
|
"textlint-rule-terminology": {
|
||||||
"version": "2.1.4",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-2.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-2.1.5.tgz",
|
||||||
"integrity": "sha512-kLw4qL8RwY2lCNqgKveHc5sjCDlS5Tdw2TXWOrHvSvQxqaVOwsv3+51oMIQLGfJzQrhFSMlSlw5MvfaOerBvPQ==",
|
"integrity": "sha512-VW+ea4ByLPddSUqoFkVVJF8zWnO8kqKwvC681wGFAjI4CYz9WhjEQH1ikhoEHXnd5AFXNArcjyoa8hoihrXy0w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
@ -2679,12 +2639,6 @@
|
|||||||
"textlint-rule-helper": "^2.1.1"
|
"textlint-rule-helper": "^2.1.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"strip-json-comments": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"textlint-rule-helper": {
|
"textlint-rule-helper": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.1.1.tgz",
|
||||||
|
@ -10,9 +10,9 @@
|
|||||||
"remark-lint-fenced-code-flag": "^2.0.1",
|
"remark-lint-fenced-code-flag": "^2.0.1",
|
||||||
"remark-lint-no-shell-dollars": "^2.0.2",
|
"remark-lint-no-shell-dollars": "^2.0.2",
|
||||||
"remark-stringify": "^9.0.1",
|
"remark-stringify": "^9.0.1",
|
||||||
"textlint": "^11.7.7",
|
"textlint": "^11.8.1",
|
||||||
"textlint-rule-common-misspellings": "^1.0.1",
|
"textlint-rule-common-misspellings": "^1.0.1",
|
||||||
"textlint-rule-terminology": "^2.1.4"
|
"textlint-rule-terminology": "^2.1.5"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"minimist": ">=1.2.5"
|
"minimist": ">=1.2.5"
|
||||||
|
@ -29,7 +29,7 @@ html {
|
|||||||
height: calc(100% - 68px);;
|
height: calc(100% - 68px);;
|
||||||
margin-top: 68px;
|
margin-top: 68px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
padding-top: 32px;
|
padding-top: 82px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,6 +43,10 @@ html {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.alert-banner {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -69,7 +69,7 @@ header .grid {
|
|||||||
|
|
||||||
.menu {
|
.menu {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
top: 68px;
|
top: 138px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu li a{
|
.menu li a{
|
||||||
@ -116,9 +116,17 @@ header .grid {
|
|||||||
padding: 15px 15px 15px 25px;
|
padding: 15px 15px 15px 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.alert-banner {
|
||||||
|
height: 70px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-content {
|
||||||
|
padding-top: 102px;
|
||||||
|
}
|
||||||
|
|
||||||
.toggle {
|
.toggle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 15px;
|
top: 85px;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,25 +3,19 @@ title: "Authentication Providers"
|
|||||||
description: "Guide on configuring different auth providers."
|
description: "Guide on configuring different auth providers."
|
||||||
---
|
---
|
||||||
|
|
||||||
When you log in, an _auth provider_ checks your credentials to make sure you are an authorized user.
|
<div class='note warning'>
|
||||||
|
This is an advanced feature.
|
||||||
<div class='note'>
|
|
||||||
|
|
||||||
The authentication system has been changed recently. Previously there was a single "_API password_" to log in, but you can now choose from several auth providers.<br/> <br/>
|
|
||||||
|
|
||||||
To make the transition from API passwords easier, we've added a _Legacy API Password_ auth provider. This is enabled by default if you have an API password configured so you will still be able to log in.
|
|
||||||
|
|
||||||
However, this feature is deprecated and will be removed in a future release so you should set up one of the newer authentication techniques.
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
When you log in, an _auth provider_ checks your credentials to make sure you are an authorized user.
|
||||||
|
|
||||||
## Configuring auth providers
|
## Configuring auth providers
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
|
|
||||||
Home Assistant automatically configures the standard auth providers so you don't need to specify `auth_providers` in your `configuration.yaml` file unless you are configuring more than one. Specifying `auth_providers` will disable all auth providers that are not listed, so you could reduce your security or create difficulties logging in if it is not configured correctly.
|
Home Assistant automatically configures the standard auth providers so you don't need to specify `auth_providers` in your `configuration.yaml` file unless you are configuring more than one. Specifying `auth_providers` will disable all auth providers that are not listed, so you could reduce your security or create difficulties logging in if it is not configured correctly.
|
||||||
|
|
||||||
This means that if you decide to use `trusted_networks` as your `auth_provider` there won't be a way to authenticate for a device outside of your listed trusted network. To overcome this ensure you add the default `auth_provider``type: homeassistant` back in manually. This will then present you with the default auth login screen when trusted network authentication fails as expected from outside your LAN.
|
If you decide to use `trusted_networks` as your `auth_provider` there won't be a way to authenticate for a device outside of your listed trusted network. To overcome this ensure you add the default `auth_provider``type: homeassistant` back in manually. This will then present you with the default auth login screen when trusted network authentication fails as expected from outside your LAN.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ Knowing how to access the [state object](/docs/configuration/state_object/) of a
|
|||||||
|
|
||||||
* `trigger.from_state` will return the **previous** [state object](/docs/configuration/state_object/) of the entity.
|
* `trigger.from_state` will return the **previous** [state object](/docs/configuration/state_object/) of the entity.
|
||||||
* `trigger.to_state` will return the **new** [state object](/docs/configuration/state_object/) that triggered trigger.
|
* `trigger.to_state` will return the **new** [state object](/docs/configuration/state_object/) that triggered trigger.
|
||||||
* `states[trigger.to_state.domain][trigger.to_state.object_id]` will return the **current** [state object](/docs/configuration/state_object/) of the entity.
|
* `states[trigger.to_state.entity_id]` will return the **current** [state object](/docs/configuration/state_object/) of the entity.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ automation:
|
|||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
Listing above and below together means the numeric_state has to be between the two values.
|
Listing above and below together means the numeric_state has to be between the two values.
|
||||||
In the example above, the trigger would fire if a numeric_state goes to 17.1-24.9 (from strict above 17 and strict below 25).
|
In the example above, the trigger would fire a single time if a numeric_state goes into to 17.1-24.9 range (from 17 and below or 25 and above). It will only fire again, once it has left the defined range and enters it again.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Number helpers (`input_number` entities) can be used in the `above` and `below` thresholds, making
|
Number helpers (`input_number` entities) can be used in the `above` and `below` thresholds, making
|
||||||
@ -164,7 +164,8 @@ The `for` template(s) will be evaluated when an entity changes as specified.
|
|||||||
|
|
||||||
### State trigger
|
### State trigger
|
||||||
|
|
||||||
Fires when the state of any of given entities changes. If only `entity_id` is given trigger will fire for all state changes, even if only state attributes change.
|
Fires when the state of any of given entities changes. If only `entity_id` is given, the trigger will fire for all state changes, even if only state attributes change.
|
||||||
|
If only one of `from_state` or `to_state` are given, the trigger will fire on any matching state change, but not if only attributes change.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
@ -176,13 +177,28 @@ The values you see in your overview will often not be the same as the actual sta
|
|||||||
automation:
|
automation:
|
||||||
trigger:
|
trigger:
|
||||||
platform: state
|
platform: state
|
||||||
entity_id: device_tracker.paulus, device_tracker.anne_therese
|
entity_id:
|
||||||
|
- device_tracker.paulus
|
||||||
|
- device_tracker.anne_therese
|
||||||
# Optional
|
# Optional
|
||||||
from: "not_home"
|
from: "not_home"
|
||||||
# Optional
|
# Optional
|
||||||
to: "home"
|
to: "home"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
It's possible to give a list of from_states or to_states:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
automation:
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: vacuum.test
|
||||||
|
from:
|
||||||
|
- "cleaning"
|
||||||
|
- "returning"
|
||||||
|
to: "error"
|
||||||
|
```
|
||||||
|
|
||||||
#### Holding a state
|
#### Holding a state
|
||||||
|
|
||||||
You can use `for` to have the state trigger only fire if the state holds for some time.
|
You can use `for` to have the state trigger only fire if the state holds for some time.
|
||||||
@ -566,6 +582,13 @@ automation:
|
|||||||
Geolocation trigger fires when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/integrations/geo_location/) platform support reporting GPS coordinates.
|
Geolocation trigger fires when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/integrations/geo_location/) platform support reporting GPS coordinates.
|
||||||
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source`, which is directly linked to one of the Geolocation platforms.
|
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source`, which is directly linked to one of the Geolocation platforms.
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
This isn't for use with `device_tracker` entities. For those look above at the `zone` trigger.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
automation:
|
automation:
|
||||||
trigger:
|
trigger:
|
||||||
|
@ -338,7 +338,7 @@ mode:
|
|||||||
description: This can be either `box` or `slider` mode.
|
description: This can be either `box` or `slider` mode.
|
||||||
type: string
|
type: string
|
||||||
required: false
|
required: false
|
||||||
default: box
|
default: slider
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Example number selectors
|
### Example number selectors
|
||||||
|
@ -164,7 +164,7 @@ The same thing can also be expressed as a filter:
|
|||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```text
|
```text
|
||||||
{{ ['device_tracker.paulus', 'group.child_trackers'] | expand
|
{{ expand(['device_tracker.paulus', 'group.child_trackers'])
|
||||||
| selectattr("attributes.battery", 'defined')
|
| selectattr("attributes.battery", 'defined')
|
||||||
| join(', ', attribute="attributes.battery") }}
|
| join(', ', attribute="attributes.battery") }}
|
||||||
```
|
```
|
||||||
@ -195,7 +195,31 @@ The same thing can also be expressed as a filter:
|
|||||||
- Filter `timestamp_utc` converts a UNIX timestamp to its string representation representation as date/time in UTC timezone.
|
- Filter `timestamp_utc` converts a UNIX timestamp to its string representation representation as date/time in UTC timezone.
|
||||||
- Filter `timestamp_custom(format_string, local_time=True)` converts an UNIX timestamp to its string representation based on a custom format, the use of a local timezone is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
|
- Filter `timestamp_custom(format_string, local_time=True)` converts an UNIX timestamp to its string representation based on a custom format, the use of a local timezone is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
|
||||||
|
|
||||||
Note: [UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970. Therefore, if used as a function's argument, it can be substituted with a numeric value (`int` or `float`):
|
<div class='note'>
|
||||||
|
|
||||||
|
[UNIX timestamp](https://en.wikipedia.org/wiki/Unix_time) is the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970. Therefore, if used as a function's argument, it can be substituted with a numeric value (`int` or `float`).
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='note warning'>
|
||||||
|
|
||||||
|
If your template is returning a timestamp that should be displayed in the frontend (e.g., as a sensor entity with `device_class: timestamp`), you have to ensure that it is the ISO 8601 format (meaning it has the "T" separator between the date and time portion). Otherwise, frontend rendering on macOS and iOS devices will show an error. The following value template would result in such an error:
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
|
||||||
|
`{{ states.sun.sun.last_changed }}` => `2021-01-24 07:06:59+00:00` (missing "T" separator)
|
||||||
|
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
To fix it, enforce the ISO conversion via `isoformat()`:
|
||||||
|
|
||||||
|
{% raw %}
|
||||||
|
|
||||||
|
`{{ states.sun.sun.last_changed.isoformat() }}` => `2021-01-24T07:06:59+00:00` (contains "T" separator)
|
||||||
|
|
||||||
|
{% endraw %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -18,6 +18,7 @@ Supported by MQTT discovery:
|
|||||||
- [HVACs](/integrations/climate.mqtt/)
|
- [HVACs](/integrations/climate.mqtt/)
|
||||||
- [Lights](/integrations/light.mqtt/)
|
- [Lights](/integrations/light.mqtt/)
|
||||||
- [Locks](/integrations/lock.mqtt/)
|
- [Locks](/integrations/lock.mqtt/)
|
||||||
|
- [Scenes](/integrations/scene.mqtt/)
|
||||||
- [Sensors](/integrations/sensor.mqtt/)
|
- [Sensors](/integrations/sensor.mqtt/)
|
||||||
- [Switches](/integrations/switch.mqtt/)
|
- [Switches](/integrations/switch.mqtt/)
|
||||||
- [Tag Scanners](/integrations/tag.mqtt/)
|
- [Tag Scanners](/integrations/tag.mqtt/)
|
||||||
|
@ -62,7 +62,7 @@ Scripts may also use a shortcut syntax for activating scenes instead of calling
|
|||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
The variable command allows you to set/override variables that will be accessible by templates in actions after it.
|
The variables command allows you to set/override variables that will be accessible by templates in actions after it (see also [script variables] for how to define locally available variables).
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
@ -571,3 +571,4 @@ automation:
|
|||||||
[service calls page]: /getting-started/scripts-service-calls/
|
[service calls page]: /getting-started/scripts-service-calls/
|
||||||
[conditions page]: /getting-started/scripts-conditions/
|
[conditions page]: /getting-started/scripts-conditions/
|
||||||
[shorthand-template]: /docs/scripts/conditions/#template-condition-shorthand-notation
|
[shorthand-template]: /docs/scripts/conditions/#template-condition-shorthand-notation
|
||||||
|
[script variables]: /integrations/script/#-configuration-variables
|
||||||
|
@ -9,7 +9,7 @@ You need to have a compatible Z-Wave stick or module installed. This needs to be
|
|||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
There are [known compatability issues](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245031#p1502030) with older hardware versions of the Aeotec stick not working on the Raspberry Pi 4. Aeotec has released a 2020 hardware revision ZW090-A with Pi 4 compatibility. Both hardware revisions are still being sold, make informed purchasing decisions if using paired with a Pi 4.
|
There are [known compatability issues](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245031#p1502030) with older hardware versions of the Aeotec stick not working on the Raspberry Pi 4. Aeotec has released a 2020 hardware revision ZW090-A/B/C Gen5+ with Pi 4 compatibility. Both hardware revisions are still being sold, make informed purchasing decisions if using paired with a Pi 4.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
<li><a href='https://alerts.home-assistant.io'>Home Assistant Alerts</a></li>
|
<li><a href='https://alerts.home-assistant.io'>Home Assistant Alerts</a></li>
|
||||||
<li><a href='https://developers.home-assistant.io'>Developers</a></li>
|
<li><a href='https://developers.home-assistant.io'>Developers</a></li>
|
||||||
<li><a href='https://data.home-assistant.io'>Data Science</a></li>
|
<li><a href='https://data.home-assistant.io'>Data Science</a></li>
|
||||||
|
<li><a href='https://community.home-assistant.io'>Community Forum</a></li>
|
||||||
<li><a href='mailto:hello@home-assistant.io'>Contact</a> (no support!)</li>
|
<li><a href='mailto:hello@home-assistant.io'>Contact</a> (no support!)</li>
|
||||||
<li><a href='/security/'>Security Vulnerabilities</a></li>
|
<li><a href='/security/'>Security Vulnerabilities</a></li>
|
||||||
<li><a href='/privacy/'>Privacy</a></li>
|
<li><a href='/privacy/'>Privacy</a></li>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: ADS
|
title: ADS
|
||||||
description: Connect Home Assistant to TwinCAT devices via the ADS interface
|
description: Connect Home Assistant to TwinCAT devices via the ADS interface
|
||||||
logo: beckhoff.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
- Hub
|
||||||
- Binary Sensor
|
- Binary Sensor
|
||||||
|
@ -119,7 +119,7 @@ Next you need create a Lambda function.
|
|||||||
- Scroll down a little bit, you will find `Environment variables`, you need add 1 environment variable and, if required, 3 optional variables. This is done by selecting `Manage environment variables` then adding the following:
|
- Scroll down a little bit, you will find `Environment variables`, you need add 1 environment variable and, if required, 3 optional variables. This is done by selecting `Manage environment variables` then adding the following:
|
||||||
- *(required)* Key = BASE_URL, Value = your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
|
- *(required)* Key = BASE_URL, Value = your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
|
||||||
- *(optional)* Key = NOT_VERIFY_SSL, Value = *True*. You can set this to *True* to ignore SSL issues, for example if you don't have a valid SSL certificate or you are using a self-signed certificate.
|
- *(optional)* Key = NOT_VERIFY_SSL, Value = *True*. You can set this to *True* to ignore SSL issues, for example if you don't have a valid SSL certificate or you are using a self-signed certificate.
|
||||||
- *(optional)* Key = DEBUG, Value = *True*. Set this variable to log the debug message.
|
- *(optional)* Key = DEBUG, Value = *True*. Set this variable to log the debug message and to allow the LONG_LIVED_ACCESS_TOKEN
|
||||||
- *(optional, not recommend)* Key = LONG_LIVED_ACCESS_TOKEN, Value = your Home Assistant Long-Lived Access Token. To avoid the use of a long-lived access token you will connect your Alexa Smart Home skill with your Home Assistant user account in the later steps, meaning you don't need to add it here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convenience, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to read token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.)
|
- *(optional, not recommend)* Key = LONG_LIVED_ACCESS_TOKEN, Value = your Home Assistant Long-Lived Access Token. To avoid the use of a long-lived access token you will connect your Alexa Smart Home skill with your Home Assistant user account in the later steps, meaning you don't need to add it here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convenience, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to read token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.)
|
||||||
|
|
||||||
<p class='img'>
|
<p class='img'>
|
||||||
@ -167,9 +167,9 @@ After your Home Assistant has restarted, go back to `AWS Lambda Console`, you ar
|
|||||||
|
|
||||||
This test event is a `Discovery` directive, your Home Assistant instance will respond with a list of devices Alexa can interact with. This test data is lack of `token` in `payload.scope`, your Lambda function will read the `LONG_LIVED_ACCESS_TOKEN` from environment variable.
|
This test event is a `Discovery` directive, your Home Assistant instance will respond with a list of devices Alexa can interact with. This test data is lack of `token` in `payload.scope`, your Lambda function will read the `LONG_LIVED_ACCESS_TOKEN` from environment variable.
|
||||||
|
|
||||||
Click the `Test` button. If you don't have `LONG_LIVED_ACCESS_TOKEN`, you will get a `INVALID_AUTHORIZATION_CREDENTIAL` response as the execution result.
|
Click the `Test` button. If you don't have `LONG_LIVED_ACCESS_TOKEN`, or you haven't enabled `DEBUG` you will get a `INVALID_AUTHORIZATION_CREDENTIAL` response as the execution result.
|
||||||
|
|
||||||
Now, you can login to your Home Assistant and [generate a long-lived access token][generate-long-lived-access-token]. After you put your long-lived access token to the `Environment variable`, do not forget click `Save` button before you `Test` again.
|
Now, you can login to your Home Assistant and [generate a long-lived access token][generate-long-lived-access-token]. After you put your long-lived access token to the `Environment variable` and set the `DEBUG` environment variable to `True`, do not forget to click the `Save` button before you `Test` again.
|
||||||
|
|
||||||
This time, you will get a list of your devices in the response. 🎉
|
This time, you will get a list of your devices in the response. 🎉
|
||||||
|
|
||||||
|
@ -12,6 +12,12 @@ ha_domain: androidtv
|
|||||||
|
|
||||||
The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
|
The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device.
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
When setting up this integration, it is recommended that you do NOT use an ADB server and instead use the built-in Python ADB implementation. This simplifies the setup and makes it easier to troubleshoot issues. If there are stability issues with this approach, then you may wish to try using an ADB server. See the [ADB Setup](#adb-setup) section for more information.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
## Device preparation
|
## Device preparation
|
||||||
|
|
||||||
To set up your device, you will need to find its IP address and enable ADB debugging. For Android TV devices, please consult the documentation for your device.
|
To set up your device, you will need to find its IP address and enable ADB debugging. For Android TV devices, please consult the documentation for your device.
|
||||||
@ -35,12 +41,6 @@ media_player:
|
|||||||
- platform: androidtv
|
- platform: androidtv
|
||||||
name: Android TV 1
|
name: Android TV 1
|
||||||
host: 192.168.0.111
|
host: 192.168.0.111
|
||||||
|
|
||||||
# Use an ADB server for sending ADB commands
|
|
||||||
- platform: androidtv
|
|
||||||
name: Android TV 2
|
|
||||||
host: 192.168.0.222
|
|
||||||
adb_server_ip: 127.0.0.1
|
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
|
@ -74,5 +74,6 @@ Currently known supported models:
|
|||||||
- LC-60SQ15U
|
- LC-60SQ15U
|
||||||
- LC-50US40 (no volume control, not fully tested)
|
- LC-50US40 (no volume control, not fully tested)
|
||||||
- LC-70LE650U
|
- LC-70LE650U
|
||||||
|
- LC-70LE747E (no volume control)
|
||||||
|
|
||||||
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/aquostv.markdown).
|
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/aquostv.markdown).
|
||||||
|
@ -221,8 +221,10 @@ For example, the actions following this condition will only be executed for even
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
condition:
|
condition:
|
||||||
condition: template
|
- condition: state
|
||||||
value_template: "{{is_state_attr('calendar.calendar_name', 'message', 'vacation') }}"
|
entity_id: calendar.calendar_name
|
||||||
|
state: vacation
|
||||||
|
attribute: message
|
||||||
```
|
```
|
||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
@ -124,7 +124,7 @@ media_player:
|
|||||||
type: list
|
type: list
|
||||||
keys:
|
keys:
|
||||||
uuid:
|
uuid:
|
||||||
description: UUID of a Cast device to add to Home Assistant. Use only if you don't want to add all available devices. The device won't be added until discovered through mDNS. In order to find the UUID for your device use a mDNS browser or advanced users can use the following Python command (adjust friendly names as required) - python3 -c "import pychromecast; print(pychromecast.get_listed_chromecasts(friendly_names=["Living Room TV", "Bedroom TV", "Office Chromecast"]))"
|
description: UUID of a Cast device to add to Home Assistant. Use only if you don't want to add all available devices. The device won't be added until discovered through mDNS. In order to find the UUID for your device use a mDNS browser or advanced users can use the following Python command (adjust friendly names as required) - `python3 -c "import pychromecast; print(pychromecast.get_listed_chromecasts(friendly_names=['Living Room TV', 'Bedroom TV', 'Office Chromecast']))"`
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
ignore_cec:
|
ignore_cec:
|
||||||
|
@ -27,6 +27,7 @@ There is currently support for the following device types within Home Assistant:
|
|||||||
- The European versions of the Wifi Controller Unit (BRP069A41, 42, 43, 45), which is powered by the [Daikin Online Controller](https://play.google.com/store/apps/details?id=eu.daikin.remoapp) application. The new version of WiFi Controller Unit BRP069Bxx is also confirmed to work, tested and working devices are the BRP069B41 and BRP069B45.
|
- The European versions of the Wifi Controller Unit (BRP069A41, 42, 43, 45), which is powered by the [Daikin Online Controller](https://play.google.com/store/apps/details?id=eu.daikin.remoapp) application. The new version of WiFi Controller Unit BRP069Bxx is also confirmed to work, tested and working devices are the BRP069B41 and BRP069B45.
|
||||||
- The Australian version of the Daikin Wifi Controller Unit BRP072A42, which is operated by the [Daikin Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.daikin.remoapp)) application. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical).
|
- The Australian version of the Daikin Wifi Controller Unit BRP072A42, which is operated by the [Daikin Mobile Controller](https://itunes.apple.com/au/app/daikin-mobile-controller/id917168708?mt=8) ([Android version](https://play.google.com/store/apps/details?id=eu.daikin.remoapp)) application. Confirmed working on a Daikin Cora Series Reverse Cycle Split System Air Conditioner 2.5kW Cooling FTXM25QVMA with operation mode, temp, fan swing (3d, horizontal, vertical).
|
||||||
- BRP072Cxx based units (including Zena devices)*.
|
- BRP072Cxx based units (including Zena devices)*.
|
||||||
|
- The United States version of the Wifi Controller Unit (BRP069A43), which is powered by the [Daikin Comfort Control](https://play.google.com/store/apps/details?id=us.daikin.wwapp) application. Confirmed working on a Daikin Wall Unit FTXS15LVJU and a Floor Unit FVXS15NVJU with operation mode, temp, fan swing (3d, horizontal, vertical).
|
||||||
- The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is operated by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application.
|
- The Australian version of the Daikin Wifi Controller for **AirBase** units (BRP15B61), which is operated by the [Daikin Airbase](https://play.google.com/store/apps/details?id=au.com.daikin.airbase) application.
|
||||||
- **SKYFi** based units, which is operated by the SKYFi application*.
|
- **SKYFi** based units, which is operated by the SKYFi application*.
|
||||||
|
|
||||||
@ -112,3 +113,16 @@ Zones with the name `-` will be ignored, just as the AirBase application is work
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
Additionally the Daikin Streamer (air purifier) function can be toggled on supported devices using a switch.
|
Additionally the Daikin Streamer (air purifier) function can be toggled on supported devices using a switch.
|
||||||
|
|
||||||
|
## Region Changing
|
||||||
|
|
||||||
|
The European and United States controllers (Most likely the Australian controllers too) have an HTTP API endpoint that allows you to change the controllers region so that other regional apps can be used. (Sometimes these controllers get exported to regions that can not download the app for the controllers region.)
|
||||||
|
|
||||||
|
`http://Daikin-IP-Address/common/set_regioncode?reg=XX` Replace XX with your region code of choice.
|
||||||
|
|
||||||
|
Currently known region codes:
|
||||||
|
- AU
|
||||||
|
- EU
|
||||||
|
- JP
|
||||||
|
- US
|
||||||
|
- TH
|
||||||
|
@ -30,6 +30,7 @@ Known supported devices:
|
|||||||
- Denon AVR-X2400H
|
- Denon AVR-X2400H
|
||||||
- Denon AVR-X2500H
|
- Denon AVR-X2500H
|
||||||
- Denon AVR-X2700H
|
- Denon AVR-X2700H
|
||||||
|
- Denon AVR-X3000
|
||||||
- Denon AVR-X3200W
|
- Denon AVR-X3200W
|
||||||
- Denon AVR-X3300W
|
- Denon AVR-X3300W
|
||||||
- Denon AVR-X3400H
|
- Denon AVR-X3400H
|
||||||
|
@ -79,7 +79,6 @@ Valid values for ignore are:
|
|||||||
* `netgear_router`: NETGEAR routers
|
* `netgear_router`: NETGEAR routers
|
||||||
* `octoprint`: Octoprint
|
* `octoprint`: Octoprint
|
||||||
* `openhome`: Linn / Openhome
|
* `openhome`: Linn / Openhome
|
||||||
* `panasonic_viera`: Panasonic Viera
|
|
||||||
* `philips_hue`: Philips Hue
|
* `philips_hue`: Philips Hue
|
||||||
* `sabnzbd`: SABnzbd downloader
|
* `sabnzbd`: SABnzbd downloader
|
||||||
* `samsung_printer`: Samsung SyncThru Printer
|
* `samsung_printer`: Samsung SyncThru Printer
|
||||||
|
@ -12,7 +12,10 @@ The `doods` image processing integration allows you to detect and recognize obje
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
You need to have DOODS running somewhere. It's easiest to run as a [Docker](https://hub.docker.com/r/snowzach/doods) container.
|
The DOODS software needs to be running before this integration can be used. Options to run the DOODS software:
|
||||||
|
|
||||||
|
- Run as [Home Assistant add-on](https://github.com/snowzach/hassio-addons)
|
||||||
|
- Run as a [Docker container](https://hub.docker.com/r/snowzach/doods)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ There seem to be multiple versions of software running on GATE-02 devices; we ha
|
|||||||
## Advanced configuration
|
## Advanced configuration
|
||||||
|
|
||||||
1. Log in to your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
|
1. Log in to your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
|
||||||
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'.
|
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. You can leave the port number set to 52010 or change it to anything you like. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'. **If the system support XMPP, disable XMPP by invalidating the configuration in the XMPP menu (for example by changing the user name). This is required for recent firmwares of the GATE-03 system as it does not use the Reporting server at all in the case of a valid XMPP configuration.**
|
||||||
3. The Egardia integration relies on capturing the status codes that your alarm emits when something happens (status change or trigger). These codes will be unique for every situation - i.e., the code emitted by the alarm when a sensor is triggered is unique to that sensor. Also, if you have multiple users or remotes, each remote has unique codes that are emitted by the alarm when status is changed using that remote or by that user. For the Egardia integration to work correctly you will need to capture the codes. To do this, on your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. Record the codes shown as well as the status they relate to (see step 4 below). Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage of all the codes the alarm system generates. You will need to run this script once and stop it once you have captured all the possible codes. Also, if you ever add users, remotes or sensors to your alarm system, make sure to re-run the script to capture the extra codes so you can update your configuration (see step 4 below). **For comfort, before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
|
3. The Egardia integration relies on capturing the status codes that your alarm emits when something happens (status change or trigger). These codes will be unique for every situation - i.e., the code emitted by the alarm when a sensor is triggered is unique to that sensor. Also, if you have multiple users or remotes, each remote has unique codes that are emitted by the alarm when status is changed using that remote or by that user. For the Egardia integration to work correctly you will need to capture the codes. To do this, on your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. Record the codes shown as well as the status they relate to (see step 4 below). Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage of all the codes the alarm system generates. You will need to run this script once and stop it once you have captured all the possible codes. Also, if you ever add users, remotes or sensors to your alarm system, make sure to re-run the script to capture the extra codes so you can update your configuration (see step 4 below). **For comfort, before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
|
||||||
4. Once you have the codes, update your `configuration.yaml`:
|
4. Once you have the codes, update your `configuration.yaml`:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -10,8 +10,8 @@ ha_domain: template
|
|||||||
---
|
---
|
||||||
|
|
||||||
The `template` platform creates fans that combine integrations and provides the
|
The `template` platform creates fans that combine integrations and provides the
|
||||||
ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed,
|
ability to run scripts or invoke services for each of the `turn_on`, `turn_off`, `set_speed`,
|
||||||
set_oscillating, and set_direction commands of a fan.
|
`set_oscillating`, and `set_direction` commands of a fan.
|
||||||
|
|
||||||
To enable Template Fans in your installation, add the following to your
|
To enable Template Fans in your installation, add the following to your
|
||||||
`configuration.yaml` file:
|
`configuration.yaml` file:
|
||||||
@ -68,7 +68,7 @@ fan:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
value_template:
|
value_template:
|
||||||
description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'"
|
description: "Defines a template to get the state of the fan. Valid values: `on`, `off`"
|
||||||
required: true
|
required: true
|
||||||
type: template
|
type: template
|
||||||
speed_template:
|
speed_template:
|
||||||
@ -76,11 +76,11 @@ fan:
|
|||||||
required: false
|
required: false
|
||||||
type: template
|
type: template
|
||||||
oscillating_template:
|
oscillating_template:
|
||||||
description: "Defines a template to get the osc state of the fan. Valid value: true/false"
|
description: "Defines a template to get the osc state of the fan. Valid values: `true`, `false`"
|
||||||
required: false
|
required: false
|
||||||
type: template
|
type: template
|
||||||
direction_template:
|
direction_template:
|
||||||
description: "Defines a template to get the direction of the fan. Valid value: 'forward'/'reverse'"
|
description: "Defines a template to get the direction of the fan. Valid values: `forward`, `reverse`"
|
||||||
required: false
|
required: false
|
||||||
type: template
|
type: template
|
||||||
availability_template:
|
availability_template:
|
||||||
|
@ -38,7 +38,7 @@ name:
|
|||||||
default: notify
|
default: notify
|
||||||
type: string
|
type: string
|
||||||
filename:
|
filename:
|
||||||
description: Name of the file to use. The file will be created if it doesn't exist and saved in your [configuration](/docs/configuration/) folder.
|
description: Name of the file to use. The file will be created if it doesn't exist. Add the path of your [configuration](/docs/configuration/) folder (e.g., `/config`) to save the file there.
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
timestamp:
|
timestamp:
|
||||||
|
@ -10,18 +10,18 @@ ha_domain: freedns
|
|||||||
|
|
||||||
With the `freedns` integration you can keep your [FreeDNS](https://freedns.afraid.org) record up to date.
|
With the `freedns` integration you can keep your [FreeDNS](https://freedns.afraid.org) record up to date.
|
||||||
|
|
||||||
## Setup
|
## Setup (Default API V1)
|
||||||
|
|
||||||
You need to determine your update URL or your access token.
|
You need to determine your update URL or your access token.
|
||||||
|
|
||||||
1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account.
|
1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account.
|
||||||
2. Select the menu "Dynamic DNS"
|
2. Select the menu "Dynamic DNS"
|
||||||
3. You should now see your update candiates in a table at the bottom of the page.
|
3. You should now see your update candidates in a table at the bottom of the page.
|
||||||
4. Copy the link target of the "Direct URL".
|
4. Copy the link target of the "Direct URL".
|
||||||
5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN`
|
5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN`
|
||||||
6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute.
|
6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute.
|
||||||
|
|
||||||
## Configuration
|
## Configuration (API V1)
|
||||||
|
|
||||||
To use the integration in your installation, add the following to your `configuration.yaml` file:
|
To use the integration in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
@ -31,6 +31,29 @@ freedns:
|
|||||||
access_token: YOUR_TOKEN
|
access_token: YOUR_TOKEN
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Setup (API V2)
|
||||||
|
|
||||||
|
You need to determine your update URL or your access token.
|
||||||
|
|
||||||
|
1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account.
|
||||||
|
2. Select the menu "Dynamic DNS"
|
||||||
|
3. You should now see your update candidates in a table at the bottom of the page.
|
||||||
|
4. Head over to page [Version 2](https://freedns.afraid.org/dynamic/v2/), and enable the candidate.
|
||||||
|
5. The access token is the part at the end of the link: `http://sync.afraid.org/u/RANDOMIZED_TOKEN/`
|
||||||
|
6. Put the whole URL into the `url` attribute.
|
||||||
|
7. (Instead of using the randomized token URL in the Version 2 there are other options to use for URL)
|
||||||
|
|
||||||
|
## Configuration (API V2)
|
||||||
|
|
||||||
|
To use the integration in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
freedns:
|
||||||
|
url: http://sync.afraid.org/u/RANDOMIZED_TOKEN/
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
access_token:
|
access_token:
|
||||||
description: Your access token. This is exclusive to `url`.
|
description: Your access token. This is exclusive to `url`.
|
||||||
|
@ -22,7 +22,7 @@ device_tracker:
|
|||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
host:
|
host:
|
||||||
description: The IP address of your router, e.g., `192.168.1.1`. It is optional since every FRITZ!Box is also reachable by using the IP address 169.254.1.1.
|
description: The IP address of your router, e.g., `192.168.178.1`. It is optional since every FRITZ!Box is also reachable by using the IP address 169.254.1.1.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: 169.254.1.1
|
default: 169.254.1.1
|
||||||
@ -38,7 +38,7 @@ password:
|
|||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
It seems that it is not necessary to use the password in current generation FRITZ!Box routers because the necessary data can be retrieved anonymously.
|
TR-064 needs to be enabled in the FRITZ!Box network settings for Home Assistant to login and read device info.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
|
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
|
||||||
|
@ -58,20 +58,30 @@ frontend:
|
|||||||
themes:
|
themes:
|
||||||
happy:
|
happy:
|
||||||
primary-color: pink
|
primary-color: pink
|
||||||
|
text-primary-color: purple
|
||||||
|
mdc-theme-primary: plum
|
||||||
sad:
|
sad:
|
||||||
primary-color: blue
|
primary-color: blue
|
||||||
```
|
```
|
||||||
|
|
||||||
The example above defined two themes named `happy` and `sad`. For each theme you can set values for CSS variables. For a partial list of variables used by the main frontend see [ha-style.ts](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.ts).
|
The example above defined two themes named `happy` and `sad`. For each theme you can set values for CSS variables. If you want to provide hex color values, wrap those in apostrophes, since otherwise YAML would consider them to be comments (`primary-color: '#123456'`). For a partial list of variables used by the main frontend see [ha-style.ts](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/resources/ha-style.ts).
|
||||||
|
|
||||||
|
As with all configuration, you can either:
|
||||||
|
|
||||||
|
- Directly specify the themes inside your `configuration.yaml` file
|
||||||
|
- Put them into a separate file (e.g. `themes.yaml`) and include that in your configuration (`themes: !include themes.yaml`)
|
||||||
|
- Create a dedicated folder (e.g. `my_themes`) and include all files from within this folder (`themes: !include_dir_merge_named my_themes`)
|
||||||
|
|
||||||
|
For more details about splitting up the configuration into multiple files, see [this page](/docs/configuration/splitting_configuration/).
|
||||||
|
|
||||||
Check our [community forums](https://community.home-assistant.io/c/projects/themes) to find themes to use.
|
Check our [community forums](https://community.home-assistant.io/c/projects/themes) to find themes to use.
|
||||||
|
|
||||||
### Setting themes
|
## Setting themes
|
||||||
|
|
||||||
There are 2 themes-related services:
|
There are 2 themes-related services:
|
||||||
|
|
||||||
- `frontend.reload_themes`: reloads theme configuration from your `configuration.yaml` file.
|
- `frontend.reload_themes`: Reloads theme configuration from your `configuration.yaml` file.
|
||||||
- `frontend.set_theme`: sets backend-preferred theme name.
|
- `frontend.set_theme`: Sets backend-preferred theme name.
|
||||||
|
|
||||||
### Service `set_theme`
|
### Service `set_theme`
|
||||||
|
|
||||||
|
@ -19,6 +19,11 @@ You need two Google accounts. Account A is the account that has to be set up to
|
|||||||
3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account (account B).
|
3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account (account B).
|
||||||
- For example: If your email address was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
|
- For example: If your email address was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
|
||||||
|
|
||||||
|
### Note for existing location sharing users
|
||||||
|
|
||||||
|
If you already have other people sharing their location to your existing Account A and do not wish to ask them to also share their location with a new Account B. Create the new Google account (account B) and share the location of Account B back to Account A. Follow the steps listed, substituting the instructions stating “Account B” for “Account A” (i.e., a cookie file is from Account A, slugified username of Account A), then ensure both Account A and Account B are logged in on your mobile device.
|
||||||
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file:
|
To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||||
|
@ -17,7 +17,7 @@ To configure GPSLogger, you must set it up via the integrations panel in the con
|
|||||||
|
|
||||||
## Setup on your smartphone
|
## Setup on your smartphone
|
||||||
|
|
||||||
Install GPSLogger for Android from [GitHub](https://github.com/mendhak/gpslogger/releases) or [F-Droid](https://apt.izzysoft.de/fdroid/index/apk/com.mendhak.gpslogger) on your device.
|
Install GPSLogger for Android from [GitHub](https://github.com/mendhak/gpslogger/releases) or [F-Droid](https://f-droid.org/en/packages/com.mendhak.gpslogger/) on your device.
|
||||||
|
|
||||||
After the launch, go to **General Options**. Enable **Start on bootup** and **Start on app launch**.
|
After the launch, go to **General Options**. Enable **Start on bootup** and **Start on app launch**.
|
||||||
|
|
||||||
|
@ -61,6 +61,10 @@ and has been confirmed to work with the following models:
|
|||||||
- IPC-D140H(-M)
|
- IPC-D140H(-M)
|
||||||
- DS-7616NI-K2 (NVR)
|
- DS-7616NI-K2 (NVR)
|
||||||
|
|
||||||
|
This platform also was confirmed to work with the following Hikvison-based NVRS
|
||||||
|
|
||||||
|
- N46PCK (Annke H800 4K NVR)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
To enable this sensor,
|
To enable this sensor,
|
||||||
|
@ -77,7 +77,7 @@ Without any `include` or `exclude` configuration the history displays graphs for
|
|||||||
`scenes` are never shown) on a given date. If you are only interested in some
|
`scenes` are never shown) on a given date. If you are only interested in some
|
||||||
of the entities you have several options:
|
of the entities you have several options:
|
||||||
|
|
||||||
Define domains and entities to `exclude` (aka. blacklist). This is convenient
|
Define domains and entities to `exclude` (aka. blocklist). This is convenient
|
||||||
when you are basically happy with the information displayed, but just want to
|
when you are basically happy with the information displayed, but just want to
|
||||||
remove some entities or domains. Usually these are entities/domains which do not
|
remove some entities or domains. Usually these are entities/domains which do not
|
||||||
change or rarely change (like `updater` or `automation`).
|
change or rarely change (like `updater` or `automation`).
|
||||||
@ -97,7 +97,7 @@ history:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Define domains and entities to display by using the `include` configuration
|
Define domains and entities to display by using the `include` configuration
|
||||||
(aka. whitelist). If you have a lot of entities in your system and your
|
(aka. allowlist). If you have a lot of entities in your system and your
|
||||||
`exclude` list is getting too large, it might be better just to define the
|
`exclude` list is getting too large, it might be better just to define the
|
||||||
entities or domains to `include`.
|
entities or domains to `include`.
|
||||||
|
|
||||||
|
@ -203,14 +203,14 @@ This does *not* affect the entities in Home Assistant. They all use their own co
|
|||||||
|
|
||||||
### Reading attributes of entities
|
### 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](/integrations/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](/integrations/template) component. Here's an example of a template sensor that exposes the valve position of a thermostat.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
sensor:
|
sensor:
|
||||||
- platform: template
|
- platform: template
|
||||||
sensors:
|
sensors:
|
||||||
bedroom_valve:
|
bedroom_valve:
|
||||||
value_template: "{% raw %}{{ state_attr('climate.leq123456', 'valve') }}{% endraw %}"
|
value_template: "{% raw %}{{ state_attr('climate.leq123456', 'level') }}{% endraw %}"
|
||||||
entity_id: climate.leq123456
|
entity_id: climate.leq123456
|
||||||
friendly_name: 'Bedroom valve'
|
friendly_name: 'Bedroom valve'
|
||||||
```
|
```
|
||||||
|
@ -107,7 +107,7 @@ The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-us
|
|||||||
|
|
||||||
## APIs
|
## APIs
|
||||||
|
|
||||||
On top of the `http` integration is a [REST API](https://developers.home-assistant.io/docs/api/rest), [Python API](https://developers.home-assistant.io/docs/api_lib_index) and [WebSocket API](https://developers.home-assistant.io/docs/api/websocket) available. There is also support for [Server-sent events](/developers/server_sent_events/).
|
On top of the `http` integration is a [REST API](https://developers.home-assistant.io/docs/api/rest), [Python API](https://developers.home-assistant.io/docs/api_lib_index) and [WebSocket API](https://developers.home-assistant.io/docs/api/websocket) available.
|
||||||
|
|
||||||
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
|
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
|
||||||
|
|
||||||
|
@ -1149,7 +1149,7 @@ state_address:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
invert:
|
invert:
|
||||||
description: Invert the telegrams payload before processing or sending. This is applied before `reset_after` is evaluated so the reset will send "1" to the bus.
|
description: Invert the telegrams payload before processing or sending.
|
||||||
required: false
|
required: false
|
||||||
type: boolean
|
type: boolean
|
||||||
default: False
|
default: False
|
||||||
|
@ -48,6 +48,81 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
|
|||||||
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
| `entity_id` | yes | Target a specific media player. To target all media players, use `all`. |
|
||||||
| `media_content_id` | no | A media identifier. The format of this is integration dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. |
|
| `media_content_id` | no | A media identifier. The format of this is integration dependent. For example, you can provide URLs to Sonos and Cast but only a playlist ID to iTunes. |
|
||||||
| `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. |
|
| `media_content_type` | no | A media type. Must be one of `music`, `tvshow`, `video`, `episode`, `channel` or `playlist`. For example, to play music you would set `media_content_type` to `music`. |
|
||||||
|
| `extra` | yes | Extra dictionary data to send, e.g., title, thumbnail. Possible values can be found below.
|
||||||
|
|
||||||
|
##### Extra dictionary data
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
description: Title of the media.
|
||||||
|
required: false
|
||||||
|
thumb:
|
||||||
|
type: string
|
||||||
|
description: Thumbnail image URL.
|
||||||
|
required: false
|
||||||
|
current_time:
|
||||||
|
type: float
|
||||||
|
description: Seconds since the beginning of the content. If the content is live content, and the position is not specified, the stream will start at the live position.
|
||||||
|
required: false
|
||||||
|
autoplay:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the media will automatically play.
|
||||||
|
default: true
|
||||||
|
required: false
|
||||||
|
stream_type:
|
||||||
|
type: string
|
||||||
|
description: "Describes the type of media artifact as one of the following: `NONE`, `BUFFERED`, `LIVE`."
|
||||||
|
required: false
|
||||||
|
subtitles:
|
||||||
|
type: string
|
||||||
|
description: URL of subtitle file to be shown on chromecast.
|
||||||
|
required: false
|
||||||
|
subtitles_lang:
|
||||||
|
type: string
|
||||||
|
description: Language for subtitles.
|
||||||
|
required: false
|
||||||
|
subtitles_mime:
|
||||||
|
type: string
|
||||||
|
description: Mimetype of subtitles.
|
||||||
|
required: false
|
||||||
|
subtitle_id:
|
||||||
|
type: integer
|
||||||
|
description: ID of subtitle to be loaded.
|
||||||
|
required: false
|
||||||
|
enqueue:
|
||||||
|
type: boolean
|
||||||
|
description: If True, enqueue the media instead of play it.
|
||||||
|
default: false
|
||||||
|
required: false
|
||||||
|
media_info:
|
||||||
|
type: map
|
||||||
|
description: Additional MediaInformation attributes not explicitly listed.
|
||||||
|
required: false
|
||||||
|
metadata:
|
||||||
|
type: map
|
||||||
|
description: "Media metadata object, one of the following: `GenericMediaMetadata`, `MovieMediaMetadata`, `TvShowMediaMetadata`, `MusicTrackMediaMetadata`, `PhotoMediaMetadata`."
|
||||||
|
required: false
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
Documentation:
|
||||||
|
|
||||||
|
- [Google Dev Documentaion MediaData](https://developers.google.com/cast/docs/reference/messages#MediaData)
|
||||||
|
- [Google Dev Documentaion MediaInformation](https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.messages.MediaInformation)
|
||||||
|
|
||||||
|
|
||||||
|
Example of calling media_player service with title and image set:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
entity_id: media_player.chromecast
|
||||||
|
service: media_player.play_media
|
||||||
|
data:
|
||||||
|
media_content_type: music
|
||||||
|
media_content_id: 'https://fake-home-assistant.io.stream/aac'
|
||||||
|
extra:
|
||||||
|
thumb: 'https://brands.home-assistant.io/_/homeassistant/logo.png'
|
||||||
|
title: HomeAssitantRadio
|
||||||
|
```
|
||||||
|
|
||||||
#### Service `media_player.select_source`
|
#### Service `media_player.select_source`
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ province:
|
|||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
language:
|
language:
|
||||||
description: "The 2 letters of your language, please be aware that this is only possible in the current country. So 'ne' is only possible in Netherlands. Possible options are: bu, bs, ce, da, de, ee, en, es, ga, ca, su, fr, gr, he, hr, ma, is, it, li, la, sr, mk, ma, ne, no, po, ro, cp, sv, sl, eu."
|
description: "The 2 letters of your language, please be aware that this is only possible in the current country. So 'ne' is only possible in Netherlands. Possible options are: bu, bs, ce, da, de, ee, en, es, ga, ca, su, fr, gr, he, hr, ma, is, it, li, la, sr, mk, ma, ne, no, po, pt, ro, cp, sv, sl, eu."
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: 'en'
|
default: 'en'
|
||||||
|
@ -61,4 +61,4 @@ relaxdeck:
|
|||||||
volume_level: 0.60
|
volume_level: 0.60
|
||||||
```
|
```
|
||||||
|
|
||||||
This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://mopidy.com/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/).
|
This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://mopidy.com/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/). While all of these rely on the common MPD protocol, not all implementations support all features, especially with regard to album artwork, embedded artwork and volume control. The platform will fall back gracefully if support isn't detected.
|
||||||
|
@ -40,6 +40,7 @@ Home Assistant is integrated with the following devices through the SDM API:
|
|||||||
- Example devices: All Google Nest Thermostat models
|
- Example devices: All Google Nest Thermostat models
|
||||||
- Display, Camera, and Doorbell Devices
|
- Display, Camera, and Doorbell Devices
|
||||||
- The camera live stream is available as a `camera` entity
|
- The camera live stream is available as a `camera` entity
|
||||||
|
- Device Triggers for use in automations such as Person detected, Motion detected and Doorbell pressed
|
||||||
- Example devices: All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max
|
- Example devices: All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max
|
||||||
|
|
||||||
You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow.
|
You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow.
|
||||||
@ -290,15 +291,49 @@ Given a thermostat named `Upstairs` then sensors are created with names such as
|
|||||||
|
|
||||||
## Automation and Device Triggers
|
## Automation and Device Triggers
|
||||||
|
|
||||||
All Google Nest Cam models and the Google Nest Hello Video Doorbell support [Device Triggers](/docs/automation/trigger/#device-triggers) that enable automation in Home Assistant:
|
The Nest integration makes [device triggers](/docs/automation/trigger/#device-triggers) available to enable automation
|
||||||
|
in Home Assistant. You should review the [Automating Home Assistant](/getting-started/automation/) getting started guide on automations or the [Automation](/docs/automation/) documentation for full details.
|
||||||
|
|
||||||
- `camera_motion`: Motion detected, when a [CameraMotion](https://developers.google.com/nest/device-access/traits/device/camera-motion#events) event is received.
|

|
||||||
- `camera_person`: Person detected, when a [CameraPerson](https://developers.google.com/nest/device-access/traits/device/camera-person#events) event is received.
|
|
||||||
- `camera_sound`: Sound detected, when a [CameraSound](https://developers.google.com/nest/device-access/traits/device/camera-sound#events) event is received.
|
|
||||||
- `doorbell_chime`: Doorbell pressed, when a [DoorbellChime](https://developers.google.com/nest/device-access/traits/device/doorbell-chime#events) event is received.
|
|
||||||
|
|
||||||
See [Automating Home Assistant](/getting-started/automation/) for the getting started guide on automations or the [Automation](/docs/automation/) documentation for full details.
|
All Google Nest Cam models and the Google Nest Hello Video Doorbell support device triggers:
|
||||||
|
|
||||||
|
- **Motion detected**
|
||||||
|
- **Person detected**
|
||||||
|
- **Sound detected**
|
||||||
|
- **Doorbell pressed** *for Google Nest Hello Video Doorbell only*
|
||||||
|
|
||||||
|
The lower level Pub/Sub subscriber receives events in real time and internally fires `nest_event` events within Home Assistant:
|
||||||
|
|
||||||
|
| Device Trigger | Pub/Sub Event | `nest_event` |
|
||||||
|
| -------------- | ----- | ------------- |
|
||||||
|
| Motion detected | [CameraMotion](https://developers.google.com/nest/device-access/traits/device/camera-motion#events) | `motion_detected` |
|
||||||
|
| Person detected | [CameraPerson](https://developers.google.com/nest/device-access/traits/device/camera-person#events) | `person_detected` |
|
||||||
|
| Sound detected | [CameraSound](https://developers.google.com/nest/device-access/traits/device/camera-sound#events) | `sound_detected` |
|
||||||
|
| Doorbell pressed | [DoorbellChime](https://developers.google.com/nest/device-access/traits/device/doorbell-chime#events) | `doorbell_chime` |
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
This automation will trigger when a `nest_event` event type with a type of `camera_motion` is received from the specified `device_id`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
alias: motion alert
|
||||||
|
trigger:
|
||||||
|
- platform: event
|
||||||
|
event_type: nest_event
|
||||||
|
event_data:
|
||||||
|
device_id: YOUR_DEVICE_ID
|
||||||
|
type: camera_motion
|
||||||
|
action:
|
||||||
|
- service: notify.mobile_app_pixel_2
|
||||||
|
data:
|
||||||
|
title: motion detected
|
||||||
|
message: front door motion detected
|
||||||
|
data:
|
||||||
|
image: /api/camera_proxy/camera.front_door
|
||||||
|
```
|
||||||
|
|
||||||
|
The action in this section uses the [Android Companion App](https://companion.home-assistant.io/docs/notifications/notifications-basic/) and the camera proxy to send an notification with a snapshot from the camera.
|
||||||
|
|
||||||
# Legacy Works With Nest API
|
# Legacy Works With Nest API
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Nuimo controller
|
title: Nuimo controller
|
||||||
description: Instructions on how to setup and use a Nuimo device in Home Assistant.
|
description: Instructions on how to setup and use a Nuimo device in Home Assistant.
|
||||||
logo: nuimo.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
- Hub
|
||||||
ha_release: 0.29
|
ha_release: 0.29
|
||||||
|
@ -23,7 +23,7 @@ To configure OwnTracks, you must set it up via the integrations panel in the con
|
|||||||
|
|
||||||
### Configuring the app - Android
|
### Configuring the app - Android
|
||||||
|
|
||||||
Install [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) or [NextTracks](https://codeberg.org/nexttracks/android/releases) (Soon available from [F-Droid](https://gitlab.com/fdroid/fdroiddata/-/merge_requests/6831)) application for Android.
|
Install [OwnTracks](https://play.google.com/store/apps/details?id=org.owntracks.android) or [NextTracks](https://codeberg.org/nexttracks/android/releases) (Available from [F-Droid](https://f-droid.org/packages/org.nexttracks.android)) application for Android.
|
||||||
|
|
||||||
In the app, open the sidebar and click on preferences, then on the connection. Change the following settings:
|
In the app, open the sidebar and click on preferences, then on the connection. Change the following settings:
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ ha_domain: panel_custom
|
|||||||
ha_iot_class:
|
ha_iot_class:
|
||||||
---
|
---
|
||||||
|
|
||||||
The `panel_custom` support allows you to add additional panels to your Home Assistant frontend. The panels are listed in the sidebar if wished and can be highly customized. See the developer documentation on [instructions how to build your own panels](https://developers.home-assistant.io/docs/frontend/custom-ui/creating-custom-panels/).
|
The `panel_custom` integration allows you to write your own panels in JavaScript and add them to Home Assistant. See the developer documentation on [instructions how to build your own panels](https://developers.home-assistant.io/docs/frontend/custom-ui/creating-custom-panels/).
|
||||||
|
|
||||||
To enable customized panels in your installation, add the following to your `configuration.yaml` file:
|
To enable customized panels in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: PJLink
|
title: PJLink
|
||||||
description: Instructions on how to integrate PJLink enabled projectors into Home Assistant.
|
description: Instructions on how to integrate PJLink enabled projectors into Home Assistant.
|
||||||
logo: pjlink.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Media Player
|
- Media Player
|
||||||
ha_release: 0.76
|
ha_release: 0.76
|
||||||
|
@ -189,6 +189,6 @@ action:
|
|||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
|
Don't forget to [allowlist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: QVR Pro
|
title: QVR Pro
|
||||||
description: Instructions on how to integrate QVR Pro within Home Assistant.
|
description: Instructions on how to integrate QVR Pro within Home Assistant.
|
||||||
logo: qvr_pro.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Camera
|
- Camera
|
||||||
ha_iot_class: Local Polling
|
ha_iot_class: Local Polling
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: RaspyRFM
|
title: RaspyRFM
|
||||||
description: Instructions on how to integrate RaspyRFM switches into Home Assistant.
|
description: Instructions on how to integrate RaspyRFM switches into Home Assistant.
|
||||||
logo: seegelsysteme.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Switch
|
- Switch
|
||||||
ha_release: 0.85
|
ha_release: 0.85
|
||||||
|
@ -110,7 +110,7 @@ recorder:
|
|||||||
|
|
||||||
## Configure Filter
|
## Configure Filter
|
||||||
|
|
||||||
By default, no entity will be excluded. To limit which entities are being exposed to `Recorder`, you can use the `include` and `exclude` parameters.
|
By default, no entity will be excluded. To limit which entities are being exposed to `recorder`, you can use the `include` and `exclude` parameters.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example filter to include specified domains and exclude specified entities
|
# Example filter to include specified domains and exclude specified entities
|
||||||
@ -148,7 +148,7 @@ If you only want to hide events from your history, take a look at the [`history`
|
|||||||
|
|
||||||
### Common filtering examples
|
### Common filtering examples
|
||||||
|
|
||||||
Defining domains and entities to `exclude` (i.e. blacklist) is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains.
|
Defining domains and entities to `exclude` (i.e. blocklist) is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry with exclude
|
# Example configuration.yaml entry with exclude
|
||||||
@ -169,7 +169,7 @@ recorder:
|
|||||||
- call_service # Don't record service calls
|
- call_service # Don't record service calls
|
||||||
```
|
```
|
||||||
|
|
||||||
Defining domains and entities to record by using the `include` configuration (i.e. whitelist) is convenient if you have a lot of entities in your system and your `exclude` lists possibly get very large, so it might be better just to define the entities or domains to record.
|
Defining domains and entities to record by using the `include` configuration (i.e. allowlist) is convenient if you have a lot of entities in your system and your `exclude` lists possibly get very large, so it might be better just to define the entities or domains to record.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry with include
|
# Example configuration.yaml entry with include
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: RFLink
|
title: RFLink
|
||||||
description: Instructions on how to integrate RFLink gateway into Home Assistant.
|
description: Instructions on how to integrate RFLink gateway into Home Assistant.
|
||||||
logo: rflink.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
- Hub
|
||||||
ha_iot_class: Assumed State
|
ha_iot_class: Assumed State
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: SCSGate
|
title: SCSGate
|
||||||
description: Instructions on how to integrate SCSGate into Home Assistant.
|
description: Instructions on how to integrate SCSGate into Home Assistant.
|
||||||
logo: bus_scs.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Hub
|
- Hub
|
||||||
- Cover
|
- Cover
|
||||||
|
@ -60,26 +60,6 @@ json_attributes:
|
|||||||
|
|
||||||
In this section you find some real-life examples of how to use this sensor.
|
In this section you find some real-life examples of how to use this sensor.
|
||||||
|
|
||||||
### Hard drive temperature
|
|
||||||
|
|
||||||
There are several ways to get the temperature of your hard drive. A simple solution is to use [hddtemp](https://savannah.nongnu.org/projects/hddtemp/).
|
|
||||||
|
|
||||||
```bash
|
|
||||||
hddtemp -n /dev/sda
|
|
||||||
```
|
|
||||||
|
|
||||||
To use this information, the entry for a command-line sensor in the `configuration.yaml` file will look like this.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: command_line
|
|
||||||
name: HD Temperature
|
|
||||||
command: "hddtemp -n /dev/sda"
|
|
||||||
# If errors occur, make sure configuration file is encoded as UTF-8
|
|
||||||
unit_of_measurement: "°C"
|
|
||||||
```
|
|
||||||
|
|
||||||
### CPU temperature
|
### CPU temperature
|
||||||
|
|
||||||
Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system, various details about a system can be retrieved. Here the CPU temperature is of interest. Add something similar to your `configuration.yaml` file:
|
Thanks to the [`proc`](https://en.wikipedia.org/wiki/Procfs) file system, various details about a system can be retrieved. Here the CPU temperature is of interest. Add something similar to your `configuration.yaml` file:
|
||||||
|
@ -25,7 +25,7 @@ The way these sensors are displayed in the frontend can be modified in the [cust
|
|||||||
- **temperature**: Temperature in °C or °F.
|
- **temperature**: Temperature in °C or °F.
|
||||||
- **power**: Power in W or kW.
|
- **power**: Power in W or kW.
|
||||||
- **pressure**: Pressure in hPa or mbar.
|
- **pressure**: Pressure in hPa or mbar.
|
||||||
- **timestamp**: Datetime object or timestamp string.
|
- **timestamp**: Datetime object or timestamp string (ISO 8601).
|
||||||
- **current**: Current in A.
|
- **current**: Current in A.
|
||||||
- **energy**: Energy in Wh or kWh.
|
- **energy**: Energy in Wh or kWh.
|
||||||
- **power_factor**: Power Factor in %.
|
- **power_factor**: Power Factor in %.
|
||||||
|
@ -93,6 +93,7 @@ Sensor type values:
|
|||||||
- revision
|
- revision
|
||||||
- noise_level
|
- noise_level
|
||||||
- temperature
|
- temperature
|
||||||
|
- timestamp
|
||||||
- uv_intensity
|
- uv_intensity
|
||||||
- version
|
- version
|
||||||
- voltage
|
- voltage
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Serial Particulate Matter
|
title: Serial Particulate Matter
|
||||||
description: Instructions on how to integrate particulate matter (dust) sensors with Home Assistant.
|
description: Instructions on how to integrate particulate matter (dust) sensors with Home Assistant.
|
||||||
logo: serial_pm.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- DIY
|
- DIY
|
||||||
ha_release: 0.26
|
ha_release: 0.26
|
||||||
|
@ -64,7 +64,7 @@ recipients:
|
|||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
A few examples on how to use this integration.
|
A few examples on how to use this integration as actions in automations.
|
||||||
|
|
||||||
### Text message
|
### Text message
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: SoChain
|
title: SoChain
|
||||||
description: Instructions on how to integrate chain.so data within Home Assistant.
|
description: Instructions on how to integrate chain.so data within Home Assistant.
|
||||||
logo: sochain.png
|
|
||||||
ha_category:
|
ha_category:
|
||||||
- Finance
|
- Finance
|
||||||
ha_release: 0.61
|
ha_release: 0.61
|
||||||
|
@ -13,7 +13,7 @@ The `solaredge` platform uses the [SolarEdge Monitoring API](https://www.solared
|
|||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
The SolarEdge Monitoring API has a daily rate limit of 300 requests. In order to stay under this limit, and alow for some additional requests, the `solaredge` platform will update the site overview every 15 minutes.
|
The SolarEdge Monitoring API has a daily rate limit of 300 requests. In order to stay under this limit, and allow for some additional requests, the `solaredge` platform will update the site overview every 15 minutes.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ The Spotify media player integration allows you to control [Spotify](https://www
|
|||||||
|
|
||||||
### Create a Spotify application
|
### Create a Spotify application
|
||||||
|
|
||||||
- Login to [Spotify Developer](https://developer.spotify.com).
|
- Login to [Spotify Developer](https://developer.spotify.com) via Dashboard.
|
||||||
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page.
|
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page.
|
||||||
- Select **Create An App**. Enter any name and description.
|
- Select **Create An App**. Enter any name and description.
|
||||||
- Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant [configuration file below](#configuration).
|
- Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant [configuration file below](#configuration).
|
||||||
|
@ -73,7 +73,7 @@ monitored_conditions:
|
|||||||
description: Total bandwidth (download and upload sum calculation) used during the unlimited period (gigabytes).
|
description: Total bandwidth (download and upload sum calculation) used during the unlimited period (gigabytes).
|
||||||
total_download:
|
total_download:
|
||||||
description: Total bandwidth download (Grace + Used) (gigabytes).
|
description: Total bandwidth download (Grace + Used) (gigabytes).
|
||||||
total_download:
|
total_upload:
|
||||||
description: Total bandwidth upload (Grace + Used) (gigabytes).
|
description: Total bandwidth upload (Grace + Used) (gigabytes).
|
||||||
used_remaining:
|
used_remaining:
|
||||||
description: Remaining bandwidth calculated from used and supplied total bandwidth (gigabytes).
|
description: Remaining bandwidth calculated from used and supplied total bandwidth (gigabytes).
|
||||||
|
@ -71,11 +71,11 @@ To test, you can use the command line tool `mosquitto_pub` shipped with `mosquit
|
|||||||
Discover the tag scanner:
|
Discover the tag scanner:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mosquitto_pub -h 127.0.0.1 -t home-assistant/tag/0AFFD2/config -m '{"topic": "tasmota_0AFFD2/tag_scanned", "value_template": "{{ value_json.PN532.UID }}"}'
|
mosquitto_pub -h 127.0.0.1 -t home-assistant/tag/0AFFD2/config -m '{"topic": "0AFFD2/tag_scanned", "value_template": "{{ value_json.PN532.UID }}"}'
|
||||||
```
|
```
|
||||||
|
|
||||||
Generate tag scanned event:
|
Generate tag scanned event:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mosquitto_pub -h 127.0.0.1 -t tasmota_0AFFD2/tag_scanned -m '{"Time":"2020-09-28T17:02:10","PN532":{"UID":"E9F35959", "DATA":"ILOVETASMOTA"}}'
|
mosquitto_pub -h 127.0.0.1 -t 0AFFD2/tag_scanned -m '{"Time":"2020-09-28T17:02:10","PN532":{"UID":"E9F35959", "DATA":"ILOVETASMOTA"}}'
|
||||||
```
|
```
|
||||||
|
@ -31,7 +31,7 @@ The user needs administrator privileges in order to control switches.
|
|||||||
|
|
||||||
### Extra configuration of the integration
|
### Extra configuration of the integration
|
||||||
|
|
||||||
All configuration options are offered from the front end. Enter what UniFi integration you want to change options on and press the cog wheel.
|
All configuration options are offered from the front end. Enter what UniFi integration you want to change options on and press the cog wheel. Some advanced options are available when "Advanced Mode" is enabled on your user profile page.
|
||||||
|
|
||||||
### Configuring Users
|
### Configuring Users
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ It is recommended that you run the UniFi controller in a dedicated virtual machi
|
|||||||
|
|
||||||
## Presence detection
|
## Presence detection
|
||||||
|
|
||||||
This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ui.com/) [UniFi](https://unifi-network.ui.com/) controller.
|
This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ui.com/) [UniFi](https://unifi-network.ui.com/) controller. By default devices are marked as away 300 seconds after they were last seen.
|
||||||
|
|
||||||
### Troubleshooting and Time Synchronization
|
### Troubleshooting and Time Synchronization
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ source:
|
|||||||
|
|
||||||
### Supported images for Home Assistant
|
### Supported images for Home Assistant
|
||||||
|
|
||||||
`default`, `qemux86`, `qemux86-64`, `qemuarm`, `qemuarm-64`, `intel-nuc`, `raspberrypi`, `raspberrypi2`, `raspberrypi3`, `raspberrypi3-64`, `raspberrypi4`, `raspberrypi4-64`, `tinker`, `odroid-c2`, `odroid-xu`
|
`default`, `qemux86`, `qemux86-64`, `qemuarm`, `qemuarm-64`, `intel-nuc`, `raspberrypi`, `raspberrypi2`, `raspberrypi3`, `raspberrypi3-64`, `raspberrypi4`, `raspberrypi4-64`, `tinker`, `odroid-c2`, `odroid-n2`, `odroid-xu`
|
||||||
|
|
||||||
## Alternatives for showing local version
|
## Alternatives for showing local version
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ exclude:
|
|||||||
required: false
|
required: false
|
||||||
type: list
|
type: list
|
||||||
include:
|
include:
|
||||||
description: Configure which integrations should be included in recordings to Watson IoT Platform. If set, all other entities will not be recorded to Watson IoT Platform. Values set by the **blacklist** option will prevail.
|
description: Configure which integrations should be included in recordings to Watson IoT Platform. If set, all other entities will not be recorded to Watson IoT Platform. Values set by the **exclude** option will prevail.
|
||||||
required: false
|
required: false
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
|
@ -16,7 +16,7 @@ ha_config_flow: true
|
|||||||
|
|
||||||
The Xbox integration allows you to control Xbox One (or newer) consoles from Home Assistant.
|
The Xbox integration allows you to control Xbox One (or newer) consoles from Home Assistant.
|
||||||
|
|
||||||
Home Assistant authenticates with Xbox Live through OAuth2 using the Home Assistant Cloud account linking service. Set up the integration through **Configuration -> Integrations -> Xbox**. Ensure you login using the Microsoft account that is linked to your Xbox consoles. Note that for the media player and remote entities to be added your Xbox will need to have remote features enabled via **Settings -> Devices & conections -> Remote Features** (you may need to uprade your controller firmware).
|
Home Assistant authenticates with Xbox Live through OAuth2 using the Home Assistant Cloud account linking service. Set up the integration through **Configuration -> Integrations -> Xbox**. Ensure you login using the Microsoft account that is linked to your Xbox consoles. Note that for the media player and remote entities to be added your Xbox will need to have remote features enabled via **Settings -> Devices & connections -> Remote features** (you may need to upgrade your controller firmware).
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
@ -42,13 +42,13 @@ The Xbox media player platform will create Media Player entities for each consol
|
|||||||
|
|
||||||
Launches an application on the Xbox console using the application's product ID. Also supports "Home" and "TV" to navigate to the dashboard or Live TV respectively.
|
Launches an application on the Xbox console using the application's product ID. Also supports "Home" and "TV" to navigate to the dashboard or Live TV respectively.
|
||||||
|
|
||||||
You can find Product IDs by using the **Developer Tools -> Events** tab and listening to the `call_service` event. In a new browser tab, navigate to the media browser for your console and click on an App/Game to see the product ID in the event.
|
You can find Product IDs using the **Developer Tools -> Events** tab and listening to the `call_service` event. In a new browser tab, navigate to the media browser for your console and click on an App/Game to see the product ID in the event.
|
||||||
|
|
||||||
| Service data attribute | Description |
|
| Service data attribute | Description |
|
||||||
| ---------------------- | --------------------------------------|
|
| ---------------------- | --------------------------------------|
|
||||||
| `entity_id` | `entity_id` of the Xbox media player |
|
| `entity_id` | `entity_id` of the Xbox media player |
|
||||||
| `media_content_id` | "Home"/"TV"/{product_id} |
|
| `media_content_id` | "Home"/"TV"/{product_id} |
|
||||||
| `media_content_type` | Any Value |
|
| `media_content_type` | Any Value |
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
|
|
||||||
@ -243,9 +243,9 @@ elements:
|
|||||||
|
|
||||||
## Binary Sensor
|
## Binary Sensor
|
||||||
|
|
||||||
The Xbox binary sensor platform automatically keeps track of your "**Favorite** friends". In your friends list, select **Change friendship -> Favorite** in order to have that person automatically pulled into Home Assistant.
|
The Xbox binary sensor platform automatically keeps track of your "**Favorite** friends". In your friends list, select **Change friendship -> Favorite** to have that person automatically pulled into Home Assistant.
|
||||||
|
|
||||||
There are 4 binary sensors that are added, 3 of which are disabled by default. They can be enabled in the "Xbox Live" service on the devices page.
|
4 binary sensors are added, 3 of which are disabled by default. They can be enabled in the "Xbox Live" service on the devices page.
|
||||||
|
|
||||||
| Entity ID | Default | Description |
|
| Entity ID | Default | Description |
|
||||||
| ----------------------------------------- | -------- | ------------------------------------------------------------|
|
| ----------------------------------------- | -------- | ------------------------------------------------------------|
|
||||||
@ -258,7 +258,7 @@ There are 4 binary sensors that are added, 3 of which are disabled by default. T
|
|||||||
|
|
||||||
Just like the binary sensors, the Xbox sensor platform automatically keeps track of your "**Favorite** friends".
|
Just like the binary sensors, the Xbox sensor platform automatically keeps track of your "**Favorite** friends".
|
||||||
|
|
||||||
There are 4 sensors that are added, **all** of which are disabled by default. They can be enabled in the "Xbox Live" service on the devices page.
|
4 sensors are added, **all** of which are disabled by default. They can be enabled in the "Xbox Live" service on the devices page.
|
||||||
|
|
||||||
| Entity ID | Default | Description |
|
| Entity ID | Default | Description |
|
||||||
| ---------------------------------| -------- | -------------------------------------------------------------------------|
|
| ---------------------------------| -------- | -------------------------------------------------------------------------|
|
||||||
|
@ -71,6 +71,10 @@ iOS: Most options are still in Chinese, you need the fourth item from the top.
|
|||||||
|
|
||||||
Note: If you have multiple devices needing a token, e.g., Xiaomi Mi Robot Vacuum and a Xiaomi IR Remote, the above method may not work. The Xiaomi Home app will display a token, though it isn't the correct one. The alternative method using "Mi Home v5.4.49" will provide the correct token.
|
Note: If you have multiple devices needing a token, e.g., Xiaomi Mi Robot Vacuum and a Xiaomi IR Remote, the above method may not work. The Xiaomi Home app will display a token, though it isn't the correct one. The alternative method using "Mi Home v5.4.49" will provide the correct token.
|
||||||
|
|
||||||
|
### Windows or macOS
|
||||||
|
|
||||||
|
If using an Windows or macOS device to retrieve the Access Token use the [Get MiHome devices token](https://github.com/Maxmudjon/Get_MiHome_devices_token) App.
|
||||||
|
|
||||||
### Alternative methods
|
### Alternative methods
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
@ -179,6 +183,10 @@ The information output is:
|
|||||||
- `Address` - The IP that the device has on the network.
|
- `Address` - The IP that the device has on the network.
|
||||||
- `Token` - The token of the device or `???` if it could not be automatically determined.
|
- `Token` - The token of the device or `???` if it could not be automatically determined.
|
||||||
|
|
||||||
|
### Xiaomi Cloud Tokens Extractor
|
||||||
|
|
||||||
|
Alternate method to get all yours devices tokens in one run. Please follow this [instruction](https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor).
|
||||||
|
|
||||||
## Xiaomi Gateway
|
## Xiaomi Gateway
|
||||||
|
|
||||||
The `xiaomi_miio` gateway integration allows you to control the gateway and its connected subdevices.
|
The `xiaomi_miio` gateway integration allows you to control the gateway and its connected subdevices.
|
||||||
|
@ -2,6 +2,38 @@
|
|||||||
<body {% if page.body_id %} id="{{ page.body_id }}"{% endif %}>
|
<body {% if page.body_id %} id="{{ page.body_id }}"{% endif %}>
|
||||||
|
|
||||||
<header class='site-header'>
|
<header class='site-header'>
|
||||||
|
|
||||||
|
<div class="alert-banner" style="background: #FF9800;color: white;text-align: center;display: flex;justify-content: space-around;">
|
||||||
|
<div style="
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 8px;
|
||||||
|
">
|
||||||
|
Make sure you run at least Home Assistant Core 2021.1.5
|
||||||
|
<a href="/latest-security-alert" style="
|
||||||
|
background: white;
|
||||||
|
padding: 6px;
|
||||||
|
color: #FF9800;
|
||||||
|
margin-left: 8px;
|
||||||
|
font-size: .8em;
|
||||||
|
font-weight: 400;
|
||||||
|
border-radius: 4px;
|
||||||
|
letter-spacing: 0.05em;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
">
|
||||||
|
MORE INFO
|
||||||
|
<svg viewBox="0 0 24 24" style="
|
||||||
|
height: 20px;
|
||||||
|
fill: currentcolor;
|
||||||
|
flex-shrink: 0;
|
||||||
|
">
|
||||||
|
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{% include site/header.html %}
|
{% include site/header.html %}
|
||||||
</header>
|
</header>
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
title: "Alarm Panel Card"
|
title: "Alarm Panel Card"
|
||||||
sidebar_label: Alarm Panel
|
sidebar_label: Alarm Panel
|
||||||
description: "The Alarm Panel card allows you to Arm and Disarm your alarm control panel integrations."
|
description: "The Alarm Panel card allows you to arm and disarm your alarm control panel integrations."
|
||||||
---
|
---
|
||||||
|
|
||||||
The Alarm Panel card allows you to Arm and Disarm your [alarm control panel](/integrations/#alarm) integrations.
|
The Alarm Panel card allows you to arm and disarm your [alarm control panel](/integrations/#alarm) integrations.
|
||||||
|
|
||||||
<p class='img'>
|
<p class='img'>
|
||||||
<img src='/images/lovelace/lovelace_alarm_panel_card.gif' alt='Screenshot of the alarm panel card'>
|
<img src='/images/lovelace/lovelace_alarm_panel_card.gif' alt='Screenshot of the alarm panel card'>
|
||||||
Screenshot of the Alarm Panel card.
|
Screenshot of the Alarm Panel card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Alarm Panel card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Alarm Panel** from the card picker. All options for this card can be configured via the user interface.
|
To add the Alarm Panel card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Alarm Panel** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
@ -23,22 +23,22 @@ entity: alarm_control_panel.alarm
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: alarm-panel
|
description: "`alarm-panel`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: "Entity ID of `alarm_control_panel` domain"
|
description: Entity ID of `alarm_control_panel` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites Friendly Name
|
description: Overwrites friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Current State of Alarm Entity
|
default: Current state of the alarm entity.
|
||||||
states:
|
states:
|
||||||
required: false
|
required: false
|
||||||
description: Controls which states to have available
|
description: Controls which states to have available.
|
||||||
type: list
|
type: list
|
||||||
default: arm_home, arm_away
|
default: "`arm_home, arm_away`"
|
||||||
keys:
|
keys:
|
||||||
arm_home:
|
arm_home:
|
||||||
description: Arm Home
|
description: Arm Home
|
||||||
@ -50,13 +50,13 @@ states:
|
|||||||
description: Arm Custom Bypass
|
description: Arm Custom Bypass
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
Title Example:
|
Title example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- type: alarm-panel
|
- type: alarm-panel
|
||||||
@ -69,7 +69,7 @@ Title Example:
|
|||||||
Screenshot of the Alarm Panel card.
|
Screenshot of the Alarm Panel card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Define the State List:
|
Define the state list:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
type: alarm-panel
|
type: alarm-panel
|
||||||
|
@ -11,7 +11,7 @@ The Button card allows you to add buttons to perform tasks.
|
|||||||
Screenshot of three Button Cards.
|
Screenshot of three Button Cards.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Button card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Button** from the card picker. All options for this card can be configured via the user interface.
|
To add the Button card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Button** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
## Card Settings
|
## Card Settings
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ Show Icon:
|
|||||||
Icon Height:
|
Icon Height:
|
||||||
description: The height of the icon, in pixels.
|
description: The height of the icon, in pixels.
|
||||||
Theme:
|
Theme:
|
||||||
description: The card theme, which may be set to any installed theme. For more information about themes, see the [frontend documentation](https://www.home-assistant.io/integrations/frontend/).
|
description: Name of any loaded theme to be used for this card. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
Tap Action:
|
Tap Action:
|
||||||
description: The action taken on card tap. For more information, see the [action documentation](/lovelace/actions/#tap-action).
|
description: The action taken on card tap. For more information, see the [action documentation](/lovelace/actions/#tap-action).
|
||||||
Hold Action:
|
Hold Action:
|
||||||
@ -43,7 +43,7 @@ This is for if you use YAML mode or prefer to use YAML in the Code Editor in the
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: button
|
description: "`button`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: false
|
required: false
|
||||||
@ -58,7 +58,7 @@ icon:
|
|||||||
required: false
|
required: false
|
||||||
description: The icon that is displayed on the card. It defaults to the entity domain icon only if the card interacts with an entity. Otherwise, if not configured, no icon is displayed.
|
description: The icon that is displayed on the card. It defaults to the entity domain icon only if the card interacts with an entity. Otherwise, if not configured, no icon is displayed.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Domain Icon
|
default: Entity domain icon
|
||||||
show_name:
|
show_name:
|
||||||
required: false
|
required: false
|
||||||
description: If false, the button name is not shown on the card.
|
description: If false, the button name is not shown on the card.
|
||||||
@ -98,7 +98,7 @@ double_tap_action:
|
|||||||
type: map
|
type: map
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: The card theme, which may be set to any theme from the `themes.yaml` file. For more information about themes, see the [frontend documentation](https://www.home-assistant.io/integrations/frontend/).
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -11,9 +11,9 @@ The Calendar card displays your [calendar](/integrations/#calendar) entities in
|
|||||||
Screenshot of the Calendar card.
|
Screenshot of the Calendar card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Calendar card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Calendar** from the card picker. All options for this card can be configured via the user interface.
|
To add the Calendar card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Calendar** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
### Card Settings
|
## Card Settings
|
||||||
|
|
||||||
{% configuration_basic %}
|
{% configuration_basic %}
|
||||||
Title:
|
Title:
|
||||||
@ -23,7 +23,7 @@ Initial View:
|
|||||||
Entities:
|
Entities:
|
||||||
description: The calendar entities that will be displayed in the card.
|
description: The calendar entities that will be displayed in the card.
|
||||||
Theme:
|
Theme:
|
||||||
description: Theme your card using any installed theme in your HA environment.
|
description: Name of any loaded theme to be used for this card. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
### YAML
|
### YAML
|
||||||
@ -33,7 +33,7 @@ This is for if you use YAML mode or just prefer to use YAML in the Code Editor i
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: calendar
|
description: "`calendar`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
@ -49,7 +49,7 @@ entities:
|
|||||||
type: list
|
type: list
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ description: The Conditional card displays another card based on entity states.
|
|||||||
|
|
||||||
The Conditional card displays another card based on entity states.
|
The Conditional card displays another card based on entity states.
|
||||||
|
|
||||||
To add the Conditional card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Conditional** from the card picker. All options for this card can be configured via the user interface.
|
To add the Conditional card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Conditional** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
@ -20,7 +20,7 @@ conditions:
|
|||||||
keys:
|
keys:
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
state:
|
state:
|
||||||
required: false
|
required: false
|
||||||
|
@ -4,26 +4,26 @@ sidebar_label: Entities
|
|||||||
description: "The Entities card is the most common type of card. It groups items together into lists."
|
description: "The Entities card is the most common type of card. It groups items together into lists."
|
||||||
---
|
---
|
||||||
|
|
||||||
The Entities card is the most common type of card. It groups items together into lists.
|
The Entities card is the most common type of card. It groups items together into lists. It can be used to display an entity's state or attribute, but also contain buttons, web links, etc.
|
||||||
|
|
||||||
To add the Entities card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Entities** from the card picker.
|
To add the Entities card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Entities** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: entities
|
description: "`entities`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
description: "A list of entity IDs or `entity` objects, see below."
|
description: "A list of entity IDs or `entity` objects or special row objects (see below)."
|
||||||
type: list
|
type: list
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: The card title.
|
description: Card title.
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: An icon to display to the left of the title
|
description: An icon to display to the left of the title.
|
||||||
type: string
|
type: string
|
||||||
show_header_toggle:
|
show_header_toggle:
|
||||||
required: false
|
required: false
|
||||||
@ -32,11 +32,11 @@ show_header_toggle:
|
|||||||
default: true
|
default: true
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`.
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
state_color:
|
state_color:
|
||||||
required: false
|
required: false
|
||||||
description: Set to `true` to have icons colored when entity is active
|
description: Set to `true` to have icons colored when entity is active.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
header:
|
header:
|
||||||
@ -51,12 +51,12 @@ footer:
|
|||||||
|
|
||||||
## Options For Entities
|
## Options For Entities
|
||||||
|
|
||||||
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configuration:
|
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configuration.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
type:
|
type:
|
||||||
required: false
|
required: false
|
||||||
@ -82,21 +82,13 @@ format:
|
|||||||
required: false
|
required: false
|
||||||
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
||||||
type: string
|
type: string
|
||||||
header:
|
|
||||||
required: false
|
|
||||||
description: Header widget to render. See [header documentation](/lovelace/header-footer/).
|
|
||||||
type: map
|
|
||||||
footer:
|
|
||||||
required: false
|
|
||||||
description: Footer widget to render. See [footer documentation](/lovelace/header-footer/).
|
|
||||||
type: map
|
|
||||||
action_name:
|
action_name:
|
||||||
required: false
|
required: false
|
||||||
description: Button label. (Only applies to `script` and `scene` rows)
|
description: Button label (only applies to `script` and `scene` rows).
|
||||||
type: string
|
type: string
|
||||||
state_color:
|
state_color:
|
||||||
required: false
|
required: false
|
||||||
description: Set to `true` to have icons colored when entity is active
|
description: Set to `true` to have icons colored when entity is active.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
tap_action:
|
tap_action:
|
||||||
@ -115,12 +107,45 @@ double_tap_action:
|
|||||||
|
|
||||||
## Special Row Elements
|
## Special Row Elements
|
||||||
|
|
||||||
### Button
|
Rather than only displaying an entity's state as a text output, the Entities card supports multiple special rows for buttons, attributes, web links, dividers and sections, etc.
|
||||||
|
|
||||||
|
### Attribute
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: button
|
description: "`attribute`"
|
||||||
|
type: string
|
||||||
|
entity:
|
||||||
|
required: true
|
||||||
|
description: Entity ID.
|
||||||
|
type: string
|
||||||
|
attribute:
|
||||||
|
required: true
|
||||||
|
description: Attribute to display from the entity.
|
||||||
|
type: string
|
||||||
|
prefix:
|
||||||
|
required: false
|
||||||
|
description: Text before entity state.
|
||||||
|
type: string
|
||||||
|
suffix:
|
||||||
|
required: false
|
||||||
|
description: Text after entity state.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
required: false
|
||||||
|
description: Overwrites friendly entity name.
|
||||||
|
type: string
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
### Button
|
||||||
|
|
||||||
|
Row with an (optional) icon, label and a single text button at the end of the row that can trigger a defined action.
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
type:
|
||||||
|
required: true
|
||||||
|
description: "`button`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: false
|
required: false
|
||||||
@ -133,7 +158,7 @@ name:
|
|||||||
default: "Friendly name of `entity` if specified."
|
default: "Friendly name of `entity` if specified."
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: An icon to display to the left of the label.
|
description: An icon to display to the left of the main label.
|
||||||
type: string
|
type: string
|
||||||
action_name:
|
action_name:
|
||||||
required: false
|
required: false
|
||||||
@ -154,6 +179,61 @@ double_tap_action:
|
|||||||
type: map
|
type: map
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
### Buttons
|
||||||
|
|
||||||
|
Multiple buttons displayed in a single row next to each other. See examples further below.
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
type:
|
||||||
|
required: true
|
||||||
|
description: "`buttons`"
|
||||||
|
type: string
|
||||||
|
entities:
|
||||||
|
required: true
|
||||||
|
description: A list of entities to show. Each entry is either an entity ID or a map.
|
||||||
|
type: list
|
||||||
|
keys:
|
||||||
|
entity:
|
||||||
|
required: true
|
||||||
|
description: Entity ID.
|
||||||
|
type: string
|
||||||
|
icon:
|
||||||
|
required: false
|
||||||
|
description: Override the entity icon.
|
||||||
|
type: string
|
||||||
|
image:
|
||||||
|
required: false
|
||||||
|
description: Override the entity image.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
required: false
|
||||||
|
description: Override the friendly entity name.
|
||||||
|
type: string
|
||||||
|
default: Entity name
|
||||||
|
show_name:
|
||||||
|
required: false
|
||||||
|
description: If false, the button name is not shown.
|
||||||
|
type: boolean
|
||||||
|
default: "true"
|
||||||
|
show_icon:
|
||||||
|
required: false
|
||||||
|
description: If false, the icon is not shown.
|
||||||
|
type: boolean
|
||||||
|
default: "true"
|
||||||
|
tap_action:
|
||||||
|
required: false
|
||||||
|
description: Action taken on card tap. See [action documentation](/lovelace/actions/#tap-action).
|
||||||
|
type: map
|
||||||
|
hold_action:
|
||||||
|
required: false
|
||||||
|
description: Action taken on card tap and hold. See [action documentation](/lovelace/actions/#hold-action).
|
||||||
|
type: map
|
||||||
|
double_tap_action:
|
||||||
|
required: false
|
||||||
|
description: Action taken on card double tap. See [action documentation](/lovelace/actions/#double-tap-action).
|
||||||
|
type: map
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Cast
|
### Cast
|
||||||
|
|
||||||
Special row to start Home Assistant Cast.
|
Special row to start Home Assistant Cast.
|
||||||
@ -161,7 +241,7 @@ Special row to start Home Assistant Cast.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: cast
|
description: "`cast`"
|
||||||
type: string
|
type: string
|
||||||
dashboard:
|
dashboard:
|
||||||
required: false
|
required: false
|
||||||
@ -173,12 +253,12 @@ view:
|
|||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Name to show in the row
|
description: Name to show in the row.
|
||||||
type: string
|
type: string
|
||||||
default: Home Assistant Cast
|
default: Home Assistant Cast
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: Icon to use
|
description: Icon to use.
|
||||||
type: string
|
type: string
|
||||||
default: "`hass:television`"
|
default: "`hass:television`"
|
||||||
hide_if_unavailable:
|
hide_if_unavailable:
|
||||||
@ -195,7 +275,7 @@ Special row that displays based on entity states.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: conditional
|
description: "`conditional`"
|
||||||
type: string
|
type: string
|
||||||
conditions:
|
conditions:
|
||||||
required: true
|
required: true
|
||||||
@ -204,7 +284,7 @@ conditions:
|
|||||||
keys:
|
keys:
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: HA entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
state:
|
state:
|
||||||
required: false
|
required: false
|
||||||
@ -216,7 +296,7 @@ conditions:
|
|||||||
type: string
|
type: string
|
||||||
row:
|
row:
|
||||||
required: true
|
required: true
|
||||||
description: Row to display if all conditions match.
|
description: Row to display if all conditions match. Can be any of the various supported rows described on this page.
|
||||||
type: map
|
type: map
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
@ -229,7 +309,7 @@ Note: Conditions with more than one entity are treated as an 'and' condition. Th
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: divider
|
description: "`divider`"
|
||||||
type: string
|
type: string
|
||||||
style:
|
style:
|
||||||
required: false
|
required: false
|
||||||
@ -243,11 +323,11 @@ style:
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: section
|
description: "`section`"
|
||||||
type: string
|
type: string
|
||||||
label:
|
label:
|
||||||
required: false
|
required: false
|
||||||
description: Section label
|
description: Section label.
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
@ -256,20 +336,20 @@ label:
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: weblink
|
description: "`weblink`"
|
||||||
type: string
|
type: string
|
||||||
url:
|
url:
|
||||||
required: true
|
required: true
|
||||||
description: "Website URL (or internal URL e.g., `/hassio/dashboard` or `/panel_custom_name`)"
|
description: "Website URL (or internal URL e.g., `/hassio/dashboard` or `/panel_custom_name`)."
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Link label
|
description: Link label.
|
||||||
type: string
|
type: string
|
||||||
default: URL path
|
default: URL path
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: "Icon to display (e.g., `mdi:home`)"
|
description: "Icon to display (e.g., `mdi:home`)."
|
||||||
type: string
|
type: string
|
||||||
default: "`mdi:link`"
|
default: "`mdi:link`"
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
@ -336,10 +416,9 @@ format:
|
|||||||
description: "How the attribute value should be formatted. Currently only supported for timestamp attributes. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
description: "How the attribute value should be formatted. Currently only supported for timestamp attributes. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
## Examples
|
||||||
|
|
||||||
## Example
|
### Entity rows
|
||||||
|
|
||||||
Entity rows:
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
type: entities
|
type: entities
|
||||||
@ -357,21 +436,69 @@ entities:
|
|||||||
- group.all_locks
|
- group.all_locks
|
||||||
```
|
```
|
||||||
|
|
||||||
Special rows:
|
### Buttons row
|
||||||
|
|
||||||
|
Above the divider are regular entity rows, below one of type `buttons`. Note that regular entity rows automatically show the entity name, whereas for buttons you have to explicitely specify a label / name.
|
||||||
|
|
||||||
|
<p class='img'>
|
||||||
|
<img src='/images/lovelace/lovelace_entity_row_buttons.jpg' alt='Screenshot of buttons row'>
|
||||||
|
Screenshot of buttons row.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
type: entities
|
||||||
|
entities:
|
||||||
|
- entity: light.office_ceiling
|
||||||
|
- entity: light.dining_ceiling
|
||||||
|
- type: divider
|
||||||
|
- type: buttons
|
||||||
|
entities:
|
||||||
|
- entity: light.office_ceiling
|
||||||
|
name: Office Ceiling
|
||||||
|
- entity: light.dining_ceiling
|
||||||
|
name: Dining Ceiling
|
||||||
|
```
|
||||||
|
|
||||||
|
### Other special rows
|
||||||
|
|
||||||
|
<p class='img'>
|
||||||
|
<img src='/images/lovelace/lovelace_entity_row_special.jpg' alt='Screenshot of other special rows'>
|
||||||
|
Screenshot of other special rows.
|
||||||
|
</p>
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
type: entities
|
type: entities
|
||||||
title: Entities card sample
|
title: Entities card sample
|
||||||
show_header_toggle: true
|
|
||||||
entities:
|
entities:
|
||||||
- type: call-service
|
- type: button
|
||||||
icon: mdi:power
|
icon: mdi:power
|
||||||
name: Bed light
|
name: Bed light transition
|
||||||
action_name: Toggle light
|
action_name: Toggle light
|
||||||
service: light.toggle
|
tap_action:
|
||||||
service_data:
|
type: call-service
|
||||||
entity_id: light.bed_light
|
service: light.toggle
|
||||||
|
service_data:
|
||||||
|
entity_id: light.bed_light
|
||||||
|
transition: 10
|
||||||
- type: divider
|
- type: divider
|
||||||
|
- type: attribute
|
||||||
|
entity: sun.sun
|
||||||
|
attribute: elevation
|
||||||
|
name: Sun elevation
|
||||||
|
prefix: '~'
|
||||||
|
suffix: Units
|
||||||
|
- type: conditional
|
||||||
|
conditions:
|
||||||
|
- entity: sun.sun
|
||||||
|
state: above_horizon
|
||||||
|
row:
|
||||||
|
entity: sun.sun
|
||||||
|
type: attribute
|
||||||
|
attribute: azimuth
|
||||||
|
icon: mdi:angle-acute
|
||||||
|
name: Sun azimuth
|
||||||
|
- type: section
|
||||||
|
label: Section example
|
||||||
- type: weblink
|
- type: weblink
|
||||||
name: Home Assistant
|
name: Home Assistant
|
||||||
url: https://www.home-assistant.io/
|
url: https://www.home-assistant.io/
|
||||||
|
@ -16,7 +16,7 @@ Screenshot of the entity filter card.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: entity-filter
|
description: "`entity-filter`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
@ -45,11 +45,11 @@ If you define entities as objects instead of strings (by adding `entity:` before
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
type:
|
type:
|
||||||
required: false
|
required: false
|
||||||
description: "Sets a custom card type: `custom:my-custom-card`"
|
description: "Sets a custom card type: `custom:my-custom-card`."
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
@ -92,7 +92,7 @@ attribute:
|
|||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Examples
|
## Examples
|
||||||
|
|
||||||
Show only active switches or lights in the house.
|
Show only active switches or lights in the house.
|
||||||
|
|
||||||
|
@ -11,38 +11,38 @@ The Entity card gives you a quick overview of your entity's state.
|
|||||||
Screenshot of the Entity card.
|
Screenshot of the Entity card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Entity card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Entity** from the card picker.
|
To add the Entity card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Entity** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: entity
|
description: "`entity`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Name of Entity
|
description: Name of entity.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Name
|
default: Entity name.
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites icon.
|
description: Overwrites icon.
|
||||||
type: string
|
type: string
|
||||||
attribute:
|
attribute:
|
||||||
required: false
|
required: false
|
||||||
description: An attribute associated with the `entity`
|
description: An attribute associated with the `entity`.
|
||||||
type: string
|
type: string
|
||||||
unit:
|
unit:
|
||||||
required: false
|
required: false
|
||||||
description: Unit of Measurement given to data
|
description: Unit of measurement given to data.
|
||||||
type: string
|
type: string
|
||||||
default: "Unit Of Measurement given by entity"
|
default: Unit of measurement given by entity.
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
footer:
|
footer:
|
||||||
required: false
|
required: false
|
||||||
|
@ -11,7 +11,7 @@ The Gauge card is a basic card that allows visually seeing sensor data.
|
|||||||
Screenshot of the Gauge card.
|
Screenshot of the Gauge card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Gauge card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Gauge** from the card picker. All options for this card can be configured via the user interface.
|
To add the Gauge card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Gauge** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
@ -23,58 +23,58 @@ entity: sensor.cpu_usage
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: gauge
|
description: "`gauge`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: "Entity id to show"
|
description: Entity ID to show.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Name of Gauge Entity
|
description: Name of gauge entity.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Name
|
default: Entity name
|
||||||
unit:
|
unit:
|
||||||
required: false
|
required: false
|
||||||
description: Unit of Measurement given to data
|
description: Unit of measurement given to data.
|
||||||
type: string
|
type: string
|
||||||
default: "Unit Of Measurement given by entity"
|
default: Unit of measurement given by entity.
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
min:
|
min:
|
||||||
required: false
|
required: false
|
||||||
description: Minimum value for graph
|
description: Minimum value for graph.
|
||||||
type: integer
|
type: integer
|
||||||
default: 0
|
default: 0
|
||||||
max:
|
max:
|
||||||
required: false
|
required: false
|
||||||
description: Maximum value for graph
|
description: Maximum value for graph.
|
||||||
type: integer
|
type: integer
|
||||||
default: 100
|
default: 100
|
||||||
severity:
|
severity:
|
||||||
required: false
|
required: false
|
||||||
description: Allows setting of colors for different numbers
|
description: Allows setting of colors for different numbers.
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
green:
|
green:
|
||||||
required: true
|
required: true
|
||||||
description: Value from which to start green color
|
description: Value from which to start green color.
|
||||||
type: integer
|
type: integer
|
||||||
yellow:
|
yellow:
|
||||||
required: true
|
required: true
|
||||||
description: Value from which to start yellow color
|
description: Value from which to start yellow color.
|
||||||
type: integer
|
type: integer
|
||||||
red:
|
red:
|
||||||
required: true
|
required: true
|
||||||
description: Value from which to start red color
|
description: Value from which to start red color.
|
||||||
type: integer
|
type: integer
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
Title and Unit of Measurement Example:
|
Title and unit of measurement:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
type: gauge
|
type: gauge
|
||||||
|
@ -11,12 +11,12 @@ The Glance card is useful to group multiple sensors in a compact overview. Keep
|
|||||||
Screenshot of the Glance card.
|
Screenshot of the Glance card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Glance card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Glance** from the card picker.
|
To add the Glance card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Glance** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: glance
|
description: "`glance`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
@ -24,7 +24,7 @@ entities:
|
|||||||
type: list
|
type: list
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Card title
|
description: Card title.
|
||||||
type: string
|
type: string
|
||||||
show_name:
|
show_name:
|
||||||
required: false
|
required: false
|
||||||
@ -38,12 +38,12 @@ show_icon:
|
|||||||
default: "true"
|
default: "true"
|
||||||
show_state:
|
show_state:
|
||||||
required: false
|
required: false
|
||||||
description: Show entity state-text.
|
description: Show entity state text.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: "true"
|
default: "true"
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
columns:
|
columns:
|
||||||
required: false
|
required: false
|
||||||
@ -51,7 +51,7 @@ columns:
|
|||||||
type: integer
|
type: integer
|
||||||
state_color:
|
state_color:
|
||||||
required: false
|
required: false
|
||||||
description: Set to `true` to have icons colored when entity is active
|
description: Set to `true` to have icons colored when entity is active.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
@ -63,7 +63,7 @@ If you define entities as objects instead of strings, you can add more customiza
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
@ -84,7 +84,7 @@ show_last_changed:
|
|||||||
default: false
|
default: false
|
||||||
show_state:
|
show_state:
|
||||||
required: false
|
required: false
|
||||||
description: Show entity state-text.
|
description: Show entity state text.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
tap_action:
|
tap_action:
|
||||||
@ -106,7 +106,7 @@ double_tap_action:
|
|||||||
{% configuration badges %}
|
{% configuration badges %}
|
||||||
user:
|
user:
|
||||||
required: true
|
required: true
|
||||||
description: User id that can see the view tab.
|
description: User ID that can see the view tab.
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -11,16 +11,16 @@ The Grid card allows you to show multiple cards in a grid. It will first fill th
|
|||||||
Screenshot of the Grid card.
|
Screenshot of the Grid card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Grid card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Grid Card** from the card picker.
|
To add the Grid card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Grid Card** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: grid
|
description: "`grid`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Title of Grid
|
description: Title of grid.
|
||||||
type: string
|
type: string
|
||||||
square:
|
square:
|
||||||
required: false
|
required: false
|
||||||
@ -38,7 +38,7 @@ cards:
|
|||||||
type: list
|
type: list
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Examples
|
## Examples
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ Screenshot of the History Graph card, when the sensor has no `unit_of_measuremen
|
|||||||
Screenshot of the History Graph card, when the sensor has a `unit_of_measurement` defined.
|
Screenshot of the History Graph card, when the sensor has a `unit_of_measurement` defined.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the History Graph card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **History Graph** from the card picker. All options for this card can be configured via the user interface.
|
To add the History Graph card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **History Graph** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
@ -50,7 +50,7 @@ If you define entities as objects instead of strings, you can add more customiza
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
|
@ -6,16 +6,16 @@ description: "The Horizontal Stack card allows you to stack together multiple ca
|
|||||||
|
|
||||||
The Horizontal Stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column.
|
The Horizontal Stack card allows you to stack together multiple cards, so they always sit next to each other in the space of one column.
|
||||||
|
|
||||||
To add the Horizontal Stack card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Horizontal Stack** from the card picker. All options for this card can be configured via the user interface.
|
To add the Horizontal Stack card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Horizontal Stack** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: horizontal-stack
|
description: "`horizontal-stack`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Title of Stack
|
description: Title of stack.
|
||||||
type: string
|
type: string
|
||||||
cards:
|
cards:
|
||||||
required: true
|
required: true
|
||||||
|
@ -11,25 +11,25 @@ The Humidifier card lets you control and monitor humidifiers, dehumidifiers, and
|
|||||||
Screenshot of the humidifier card.
|
Screenshot of the humidifier card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Humidifier card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Humidifier** from the card picker. All options for this card can be configured via the user interface.
|
To add the Humidifier card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Humidifier** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: humidifier
|
description: "`humidifier`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Entity id of `humidifier` domain
|
description: Entity ID of `humidifier` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Name of Entity
|
description: Name of entity.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Name
|
default: Entity name
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ You can't embed sites using HTTP if you are using HTTPS for your Home Assistant.
|
|||||||
Windy weather radar as Webpage.
|
Windy weather radar as Webpage.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Webpage card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Webpage** from the card picker. All options for this card can be configured via the user interface.
|
To add the Webpage card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Webpage** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: iframe
|
description: "`iframe`"
|
||||||
type: string
|
type: string
|
||||||
url:
|
url:
|
||||||
required: true
|
required: true
|
||||||
@ -28,7 +28,7 @@ url:
|
|||||||
type: string
|
type: string
|
||||||
aspect_ratio:
|
aspect_ratio:
|
||||||
required: false
|
required: false
|
||||||
description: Height-width-ratio.
|
description: Height to width ratio.
|
||||||
type: string
|
type: string
|
||||||
default: "50%"
|
default: "50%"
|
||||||
title:
|
title:
|
||||||
@ -37,7 +37,7 @@ title:
|
|||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Examples
|
## Examples
|
||||||
|
|
||||||
The card can also be configured using YAML, some examples below:
|
The card can also be configured using YAML, some examples below:
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ The Light card allows you to change the brightness of the light.
|
|||||||
Screenshot of the Light card.
|
Screenshot of the Light card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Light card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Light** from the card picker. All options for this card can be configured via the user interface.
|
To add the Light card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Light** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
@ -23,25 +23,25 @@ entity: light.bedroom
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: light
|
description: "`light`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant Light Domain entity ID.
|
description: Entity ID of `light` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites friendly name.
|
description: Overwrites friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Name of Entity
|
default: Name of entity
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites icon.
|
description: Overwrites icon.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Domain Icon
|
default: Entity domain icon
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`.
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
hold_action:
|
hold_action:
|
||||||
required: false
|
required: false
|
||||||
|
@ -11,10 +11,9 @@ The Logbook card displays entries from the logbook for specific entities.
|
|||||||
Screenshot of the Logbook card.
|
Screenshot of the Logbook card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Logbook card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Logbook** from the card picker.
|
To add the Logbook card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Logbook** from the card picker.
|
||||||
|
|
||||||
### Card Settings
|
|
||||||
|
|
||||||
|
## Card Settings
|
||||||
|
|
||||||
{% configuration_basic %}
|
{% configuration_basic %}
|
||||||
Entities:
|
Entities:
|
||||||
@ -24,7 +23,7 @@ Title:
|
|||||||
Hours to show:
|
Hours to show:
|
||||||
description: The number of hours in the past that will be tracked in the card.
|
description: The number of hours in the past that will be tracked in the card.
|
||||||
Theme:
|
Theme:
|
||||||
description: Theme your card using any installed theme in your HA environment.
|
description: Name of any loaded theme to be used for this card. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
### YAML
|
### YAML
|
||||||
@ -34,11 +33,11 @@ This is for if you use YAML mode or prefer to use YAML in the Code Editor in the
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: logbook
|
description: "`logbook`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
description: "The entities that will show in the card."
|
description: The entities that will show in the card.
|
||||||
type: list
|
type: list
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
@ -51,7 +50,7 @@ hours_to_show:
|
|||||||
default: 24
|
default: 24
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`."
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -11,12 +11,12 @@ The Map card that allows you to display entities on a map
|
|||||||
Screenshot of the map card.
|
Screenshot of the map card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Map card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Map** from the card picker. All options for this card can be configured via the user interface.
|
To add the Map card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Map** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: map
|
description: "`map`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
|
@ -13,12 +13,12 @@ The renderer uses [Marked.js](https://marked.js.org), which supports [several sp
|
|||||||
Screenshot of the Markdown card.
|
Screenshot of the Markdown card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Markdown card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Markdown** from the card picker.
|
To add the Markdown card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Markdown** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: markdown
|
description: "`markdown`"
|
||||||
type: string
|
type: string
|
||||||
content:
|
content:
|
||||||
required: true
|
required: true
|
||||||
@ -41,7 +41,7 @@ entity_id:
|
|||||||
description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities."
|
description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities."
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
@ -86,7 +86,6 @@ card:
|
|||||||
|
|
||||||
{% endraw %}
|
{% endraw %}
|
||||||
|
|
||||||
|
|
||||||
A special template variable - `user` is set up for the `content` of the card. It contains the currently logged in user.
|
A special template variable - `user` is set up for the `content` of the card. It contains the currently logged in user.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
@ -103,7 +102,7 @@ content: |
|
|||||||
|
|
||||||
## Icons
|
## Icons
|
||||||
|
|
||||||
You can also use [materialdesignicons.com]() icons in the `content` of the card.
|
You can also use [materialdesignicons.com](https://materialdesignicons.com/) icons in the `content` of the card.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -11,22 +11,22 @@ The Media Control card is used to display [Media Player](/integrations/#media-pl
|
|||||||
Screenshot of the Media Control card.
|
Screenshot of the Media Control card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Media Control card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Media Control** from the card picker.
|
To add the Media Control card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Media Control** from the card picker.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: media-control
|
description: "`media-control`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: "A media player `entity_id`."
|
description: Entity ID of `media_player` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites friendly name.
|
description: Overwrites friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Name of Entity
|
default: Name of entity
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
@ -16,7 +16,7 @@ The cards allow you to position icons or text and even services on an image base
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: picture-elements
|
description: "`picture-elements`"
|
||||||
type: string
|
type: string
|
||||||
image:
|
image:
|
||||||
required: true
|
required: true
|
||||||
@ -33,11 +33,11 @@ camera_view:
|
|||||||
type: string
|
type: string
|
||||||
elements:
|
elements:
|
||||||
required: true
|
required: true
|
||||||
description: List of elements
|
description: List of elements.
|
||||||
type: list
|
type: list
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Card title
|
description: Card title.
|
||||||
type: string
|
type: string
|
||||||
state_filter:
|
state_filter:
|
||||||
required: false
|
required: false
|
||||||
@ -45,7 +45,7 @@ state_filter:
|
|||||||
type: map
|
type: map
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
dark_mode_image:
|
dark_mode_image:
|
||||||
required: false
|
required: false
|
||||||
@ -79,11 +79,11 @@ This element creates a badge representing the state of an entity.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: state-badge
|
description: "`state-badge`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Entity id
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
style:
|
style:
|
||||||
required: true
|
required: true
|
||||||
@ -115,11 +115,11 @@ This element represents an entity state using an icon.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: state-icon
|
description: "`state-icon`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: The entity id to use.
|
description: The entity ID to use.
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
@ -131,42 +131,42 @@ title:
|
|||||||
type: string
|
type: string
|
||||||
state_color:
|
state_color:
|
||||||
required: false
|
required: false
|
||||||
description: Set to `true` to have icons colored when entity is active
|
description: Set to `true` to have icons colored when entity is active.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
tap_action:
|
tap_action:
|
||||||
required: false
|
required: false
|
||||||
description: Action to take on tap
|
description: Action to take on tap.
|
||||||
type: map
|
type: map
|
||||||
keys:
|
keys:
|
||||||
action:
|
action:
|
||||||
required: true
|
required: true
|
||||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
|
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)."
|
||||||
type: string
|
type: string
|
||||||
default: "`more-info`"
|
default: "`more-info`"
|
||||||
navigation_path:
|
navigation_path:
|
||||||
required: false
|
required: false
|
||||||
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
|
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`."
|
||||||
type: string
|
type: string
|
||||||
default: none
|
default: none
|
||||||
url_path:
|
url_path:
|
||||||
required: false
|
required: false
|
||||||
description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
|
description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`."
|
||||||
type: string
|
type: string
|
||||||
default: none
|
default: none
|
||||||
service:
|
service:
|
||||||
required: false
|
required: false
|
||||||
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
|
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`."
|
||||||
type: string
|
type: string
|
||||||
default: none
|
default: none
|
||||||
service_data:
|
service_data:
|
||||||
required: false
|
required: false
|
||||||
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`."
|
||||||
type: string
|
type: string
|
||||||
default: none
|
default: none
|
||||||
confirmation:
|
confirmation:
|
||||||
required: false
|
required: false
|
||||||
description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
|
description: "Present a confirmation dialog to confirm the action. See `confirmation` object below."
|
||||||
type: [boolean, map]
|
type: [boolean, map]
|
||||||
default: "false"
|
default: "false"
|
||||||
tap_action:
|
tap_action:
|
||||||
@ -195,16 +195,15 @@ This element represents an entity's state via text.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: state-label
|
description: "`state-label`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Entity id
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
attribute:
|
attribute:
|
||||||
required: false
|
required: false
|
||||||
description: If present, the corresponding attribute will be shown,
|
description: If present, the corresponding attribute will be shown, instead of the entity's state.
|
||||||
instead of the entity's state
|
|
||||||
type: string
|
type: string
|
||||||
prefix:
|
prefix:
|
||||||
required: false
|
required: false
|
||||||
@ -244,15 +243,15 @@ This entity creates a button (with arbitrary text) that can be used to call a se
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: service-button
|
description: "`service-button`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: true
|
required: true
|
||||||
description: Button label
|
description: Button label.
|
||||||
type: string
|
type: string
|
||||||
service:
|
service:
|
||||||
required: true
|
required: true
|
||||||
description: light.turn_on
|
description: "`light.turn_on`"
|
||||||
type: string
|
type: string
|
||||||
service_data:
|
service_data:
|
||||||
required: false
|
required: false
|
||||||
@ -272,11 +271,11 @@ This element creates a static icon that is not linked to the state of an entity.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: icon
|
description: "`icon`"
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
required: true
|
required: true
|
||||||
description: "Icon to display (e.g., `mdi:home`)"
|
description: "Icon to display (e.g., `mdi:home`)."
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
@ -284,7 +283,7 @@ title:
|
|||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: false
|
required: false
|
||||||
description: Entity to use for more-info/toggle
|
description: Entity to use for more-info/toggle.
|
||||||
type: string
|
type: string
|
||||||
tap_action:
|
tap_action:
|
||||||
required: false
|
required: false
|
||||||
@ -312,11 +311,11 @@ This creates an image element that overlays the background image.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: image
|
description: "`image`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: false
|
required: false
|
||||||
description: Entity to use for state_image and state_filter and also target for actions.
|
description: "Entity to use for `state_image` and `state_filter` and also target for actions."
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
@ -353,7 +352,7 @@ state_image:
|
|||||||
type: map
|
type: map
|
||||||
filter:
|
filter:
|
||||||
required: false
|
required: false
|
||||||
description: Default CSS filter
|
description: Default CSS filter.
|
||||||
type: string
|
type: string
|
||||||
state_filter:
|
state_filter:
|
||||||
required: false
|
required: false
|
||||||
@ -361,7 +360,7 @@ state_filter:
|
|||||||
type: map
|
type: map
|
||||||
aspect_ratio:
|
aspect_ratio:
|
||||||
required: false
|
required: false
|
||||||
description: Height-width-ratio.
|
description: Height to width ratio.
|
||||||
type: string
|
type: string
|
||||||
default: "50%"
|
default: "50%"
|
||||||
style:
|
style:
|
||||||
@ -378,7 +377,7 @@ Much like the Conditional card, this element will let you show its sub-elements
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: conditional
|
description: "`conditional`"
|
||||||
type: string
|
type: string
|
||||||
conditions:
|
conditions:
|
||||||
required: true
|
required: true
|
||||||
@ -387,7 +386,7 @@ conditions:
|
|||||||
keys:
|
keys:
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
state:
|
state:
|
||||||
required: false
|
required: false
|
||||||
@ -412,7 +411,7 @@ for more information.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: 'Card name with `custom:` prefix (e.g., `custom:my-custom-card`)'
|
description: 'Card name with `custom:` prefix (e.g., `custom:my-custom-card`).'
|
||||||
type: string
|
type: string
|
||||||
style:
|
style:
|
||||||
required: true
|
required: true
|
||||||
@ -421,13 +420,12 @@ style:
|
|||||||
default: "position: absolute, transform: translate(-50%, -50%)"
|
default: "position: absolute, transform: translate(-50%, -50%)"
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
|
||||||
## Options For Exemptions
|
## Options For Exemptions
|
||||||
|
|
||||||
{% configuration badges %}
|
{% configuration badges %}
|
||||||
user:
|
user:
|
||||||
required: true
|
required: true
|
||||||
description: User id that can see the view tab.
|
description: User ID that can see the view tab.
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ The Picture Entity card displays an entity in the form of an image. Instead of i
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: picture-entity
|
description: "`picture-entity`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
@ -31,7 +31,7 @@ camera_view:
|
|||||||
type: string
|
type: string
|
||||||
image:
|
image:
|
||||||
required: false
|
required: false
|
||||||
description: URL of an image.
|
description: URL of an image. To use a locally hosted image, see [Hosting](/integrations/http#hosting-files).
|
||||||
type: string
|
type: string
|
||||||
state_image:
|
state_image:
|
||||||
required: false
|
required: false
|
||||||
@ -61,7 +61,7 @@ show_state:
|
|||||||
default: true
|
default: true
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
tap_action:
|
tap_action:
|
||||||
required: false
|
required: false
|
||||||
|
@ -14,7 +14,7 @@ The Picture Glance card shows an image and corresponding entity states as an ico
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: picture-glance
|
description: "`picture-glance`"
|
||||||
type: string
|
type: string
|
||||||
entities:
|
entities:
|
||||||
required: true
|
required: true
|
||||||
@ -60,12 +60,12 @@ entity:
|
|||||||
type: string
|
type: string
|
||||||
show_state:
|
show_state:
|
||||||
required: false
|
required: false
|
||||||
description: Show entity state-text.
|
description: Show entity state text.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
tap_action:
|
tap_action:
|
||||||
required: false
|
required: false
|
||||||
@ -88,19 +88,19 @@ If you define entities as objects instead of strings, you can add more customiza
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Home Assistant entity ID.
|
description: Entity ID.
|
||||||
type: string
|
type: string
|
||||||
attribute:
|
attribute:
|
||||||
required: false
|
required: false
|
||||||
description: Attribute of the entity to display instead of the state
|
description: Attribute of the entity to display instead of the state.
|
||||||
type: string
|
type: string
|
||||||
prefix:
|
prefix:
|
||||||
required: false
|
required: false
|
||||||
description: Prefix to display before the attribute's value
|
description: Prefix to display before the attribute's value.
|
||||||
type: string
|
type: string
|
||||||
suffix:
|
suffix:
|
||||||
required: false
|
required: false
|
||||||
description: Suffix to display after the attribute's value
|
description: Suffix to display after the attribute's value.
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
@ -108,7 +108,7 @@ icon:
|
|||||||
type: string
|
type: string
|
||||||
show_state:
|
show_state:
|
||||||
required: false
|
required: false
|
||||||
description: Show entity state-text.
|
description: Show entity state text.
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
tap_action:
|
tap_action:
|
||||||
@ -130,7 +130,7 @@ double_tap_action:
|
|||||||
{% configuration badges %}
|
{% configuration badges %}
|
||||||
user:
|
user:
|
||||||
required: true
|
required: true
|
||||||
description: User id that can see the view tab.
|
description: User ID that can see the view tab.
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -14,15 +14,15 @@ Screenshot of the picture card.
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: picture
|
description: "`picture`"
|
||||||
type: string
|
type: string
|
||||||
image:
|
image:
|
||||||
required: true
|
required: true
|
||||||
description: The URL of an image. When you want to store images in your Home Assistant installation use the [hosting files documentation](/integrations/http/#hosting-files). After storing your files, use the /local path, for example /local/filename.jpg .
|
description: "The URL of an image. When you want to store images in your Home Assistant installation use the [hosting files documentation](/integrations/http/#hosting-files). After storing your files, use the `/local` path, for example, `/local/filename.jpg`."
|
||||||
type: string
|
type: string
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
tap_action:
|
tap_action:
|
||||||
required: false
|
required: false
|
||||||
@ -43,7 +43,7 @@ double_tap_action:
|
|||||||
{% configuration badges %}
|
{% configuration badges %}
|
||||||
user:
|
user:
|
||||||
required: true
|
required: true
|
||||||
description: User id that can see the view tab.
|
description: User ID that can see the view tab.
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -20,16 +20,16 @@ type:
|
|||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: "Entity ID from `plant` domain"
|
description: Entity ID of `plant` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites friendly name
|
description: Overwrites friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Name
|
default: Entity name
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -11,46 +11,46 @@ The Sensor card gives you a quick overview of your sensors state with an optiona
|
|||||||
Screenshot of the sensor card.
|
Screenshot of the sensor card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Sensor card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Sensor** from the card picker. All options for this card can be configured via the user interface.
|
To add the Sensor card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Sensor** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: sensor
|
description: "`sensor`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Entity id of `sensor` domain
|
description: Entity ID of `sensor` domain.
|
||||||
type: string
|
type: string
|
||||||
icon:
|
icon:
|
||||||
required: false
|
required: false
|
||||||
description: The card icon
|
description: The card icon.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: The card name
|
description: The card name.
|
||||||
type: string
|
type: string
|
||||||
graph:
|
graph:
|
||||||
required: false
|
required: false
|
||||||
description: Type of graph `none` or `line`
|
description: Type of graph (`none` or `line`).
|
||||||
type: string
|
type: string
|
||||||
unit:
|
unit:
|
||||||
required: false
|
required: false
|
||||||
description: The unit of measurement
|
description: The unit of measurement.
|
||||||
type: string
|
type: string
|
||||||
detail:
|
detail:
|
||||||
required: false
|
required: false
|
||||||
description: Detail of the graph `1` or `2`, `1` equals one point/hour, `2` equals six points/hour
|
description: Detail of the graph `1` or `2` (`1` = one point/hour, `2` = six points/hour).
|
||||||
type: integer
|
type: integer
|
||||||
default: 1
|
default: 1
|
||||||
hours_to_show:
|
hours_to_show:
|
||||||
required: false
|
required: false
|
||||||
description: Hours to show in graph
|
description: Hours to show in graph.
|
||||||
type: integer
|
type: integer
|
||||||
default: 24
|
default: 24
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -13,8 +13,7 @@ Setup of the [Shopping List integration](/integrations/shopping_list/) is requir
|
|||||||
Screenshot of the Shopping List card.
|
Screenshot of the Shopping List card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
To add the Shopping List card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Shopping List** from the card picker. All options for this card can be configured via the user interface.
|
||||||
To add the Shopping List card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Shopping List** from the card picker. All options for this card can be configured via the user interface.
|
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
@ -25,15 +24,15 @@ type: shopping-list
|
|||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: shopping-list
|
description: "`shopping-list`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Title of Shopping List
|
description: Title of shopping list.
|
||||||
type: string
|
type: string
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -11,25 +11,25 @@ The Thermostat card gives control of your [climate](/integrations/#climate) enti
|
|||||||
Screenshot of the Thermostat card.
|
Screenshot of the Thermostat card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Thermostat card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Thermostat** from the card picker. All options for this card can be configured via the user interface.
|
To add the Thermostat card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Thermostat** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: thermostat
|
description: "`thermostat`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: Entity id of `climate` domain
|
description: Entity ID of `climate` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites friendly name.
|
description: Overwrites friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Name of Entity.
|
default: Name of entity.
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: Set to any theme within `themes.yaml`
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
@ -6,16 +6,16 @@ description: "The Vertical Stack card allows you to group multiple cards so they
|
|||||||
|
|
||||||
The Vertical Stack card allows you to group multiple cards so they always sit in the same column.
|
The Vertical Stack card allows you to group multiple cards so they always sit in the same column.
|
||||||
|
|
||||||
To add the Vertical Stack card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Vertical Stack** from the card picker. All options for this card can be configured via the user interface.
|
To add the Vertical Stack card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Vertical Stack** from the card picker. All options for this card can be configured via the user interface.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: vertical-stack
|
description: "`vertical-stack`"
|
||||||
type: string
|
type: string
|
||||||
title:
|
title:
|
||||||
required: false
|
required: false
|
||||||
description: Title of Stack
|
description: Title of stack.
|
||||||
type: string
|
type: string
|
||||||
cards:
|
cards:
|
||||||
required: true
|
required: true
|
||||||
@ -23,7 +23,7 @@ cards:
|
|||||||
type: list
|
type: list
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
### Examples
|
## Examples
|
||||||
|
|
||||||
Alternatively, the card can be configured using YAML:
|
Alternatively, the card can be configured using YAML:
|
||||||
|
|
||||||
|
@ -11,10 +11,9 @@ The Weather Forecast card displays the weather. Very useful to include on interf
|
|||||||
Screenshot of the Weather card.
|
Screenshot of the Weather card.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
To add the Weather card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Weather** from the card picker.
|
To add the Weather card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the "Add Card" button in the bottom right corner and select **Weather** from the card picker.
|
||||||
|
|
||||||
### Card Settings
|
|
||||||
|
|
||||||
|
## Card Settings
|
||||||
|
|
||||||
{% configuration_basic %}
|
{% configuration_basic %}
|
||||||
Entity:
|
Entity:
|
||||||
@ -26,7 +25,7 @@ Show Forecast:
|
|||||||
Secondary Info Attribute:
|
Secondary Info Attribute:
|
||||||
description: Here you can specify a secondary attribute to show under the current temperature. Ex. Extrema, Precipitation, Humidity. If not set, it will default to Extrema (High/Low) if available, if not available then Precipitation and if precipitation isn't available then Humidity.
|
description: Here you can specify a secondary attribute to show under the current temperature. Ex. Extrema, Precipitation, Humidity. If not set, it will default to Extrema (High/Low) if available, if not available then Precipitation and if precipitation isn't available then Humidity.
|
||||||
Theme:
|
Theme:
|
||||||
description: Theme your card using any installed theme in your HA environment.
|
description: Name of any loaded theme to be used for this card. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
{% endconfiguration_basic %}
|
{% endconfiguration_basic %}
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
@ -37,25 +36,24 @@ Theme:
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
### YAML
|
### YAML
|
||||||
|
|
||||||
This is for if you use YAML mode or just prefer to use YAML in the Code Editor in the UI
|
This is for if you use YAML mode or just prefer to use YAML in the Code Editor in the UI.
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
description: weather-forecast
|
description: "`weather-forecast`"
|
||||||
type: string
|
type: string
|
||||||
entity:
|
entity:
|
||||||
required: true
|
required: true
|
||||||
description: "The `entity_id` of the `weather` platform to use."
|
description: Entity ID of `weather` domain.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
required: false
|
required: false
|
||||||
description: Overwrites the friendly name.
|
description: Overwrites the friendly name.
|
||||||
type: string
|
type: string
|
||||||
default: Entity Name
|
default: Entity name
|
||||||
show_forecast:
|
show_forecast:
|
||||||
required: false
|
required: false
|
||||||
description: Show next hours/days forecast.
|
description: Show next hours/days forecast.
|
||||||
@ -68,7 +66,7 @@ secondary_info_attribute:
|
|||||||
default: Defaults to `extrema` if available, if not available then `precipitation` and if precipitation isn't available then `humidity`.
|
default: Defaults to `extrema` if available, if not available then `precipitation` and if precipitation isn't available then `humidity`.
|
||||||
theme:
|
theme:
|
||||||
required: false
|
required: false
|
||||||
description: "Set to any theme within `themes.yaml`"
|
description: Override the used theme for this card with any loaded theme. For more information about themes, see the [frontend documentation](/integrations/frontend/).
|
||||||
type: string
|
type: string
|
||||||
{% endconfiguration %}
|
{% endconfiguration %}
|
||||||
|
|
||||||
@ -79,10 +77,9 @@ type: weather-forecast
|
|||||||
entity: weather.openweathermap
|
entity: weather.openweathermap
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Advanced
|
### Advanced
|
||||||
|
|
||||||
##### Themeable Icons
|
#### Themeable Icons
|
||||||
|
|
||||||
The default weather icons are themable via a [theme](/integrations/frontend/#themes). Theme variables include:
|
The default weather icons are themable via a [theme](/integrations/frontend/#themes). Theme variables include:
|
||||||
|
|
||||||
@ -105,7 +102,7 @@ Example theme configuration:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Personal Icons
|
#### Personal Icons
|
||||||
|
|
||||||
Weather icons can be overwritten with your own personal images via a [theme](/integrations/frontend/#themes). Theme variables include:
|
Weather icons can be overwritten with your own personal images via a [theme](/integrations/frontend/#themes). Theme variables include:
|
||||||
|
|
||||||
|
@ -40,12 +40,17 @@ Enjoy the release!
|
|||||||
|
|
||||||
../Frenck
|
../Frenck
|
||||||
|
|
||||||
- [In memoriam of villhellm](#in-memoriam-of-villhellm)
|
- [In memoriam of Villhellm](#in-memoriam-of-villhellm)
|
||||||
- [Home Assistant Conference Videos](#home-assistant-conference-videos)
|
- [Home Assistant Conference Videos](#home-assistant-conference-videos)
|
||||||
- [Other noteworthy changes](#other-noteworthy-changes)
|
- [Other noteworthy changes](#other-noteworthy-changes)
|
||||||
- [New Integrations](#new-integrations)
|
- [New Integrations](#new-integrations)
|
||||||
- [New Platforms](#new-platforms)
|
- [New Platforms](#new-platforms)
|
||||||
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
|
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
|
||||||
|
- [Release 2021.1.1 - January 9](#release-202111---january-9)
|
||||||
|
- [Release 2021.1.2 - January 14](#release-202112---january-14)
|
||||||
|
- [Release 2021.1.3 - January 15](#release-202113---january-15)
|
||||||
|
- [Release 2021.1.4 - January 16](#release-202114---january-16)
|
||||||
|
- [Release 2021.1.5 - January 23](#release-202115---january-23)
|
||||||
- [If you need help...](#if-you-need-help)
|
- [If you need help...](#if-you-need-help)
|
||||||
- [Breaking Changes](#breaking-changes)
|
- [Breaking Changes](#breaking-changes)
|
||||||
- [Farewell to the following](#farewell-to-the-following)
|
- [Farewell to the following](#farewell-to-the-following)
|
||||||
@ -150,6 +155,108 @@ The following integrations are now available via the Home Assistant UI:
|
|||||||
|
|
||||||
- [BMW Connected Drive][bmw_connected_drive docs], done by [@rikroe]
|
- [BMW Connected Drive][bmw_connected_drive docs], done by [@rikroe]
|
||||||
|
|
||||||
|
## Release 2021.1.1 - January 9
|
||||||
|
|
||||||
|
- Fix KNX cover state return open when unknown ([@farmio] - [#44926]) ([knx docs])
|
||||||
|
- Fix wait_template incorrectly matching falsey values ([@bdraco] - [#44938])
|
||||||
|
- Disambiguate Supervisor HTTPUnauthorized on user/password validation ([@zeehio] - [#44940]) ([hassio docs])
|
||||||
|
- Fix parameters when toggling light ([@emontnemery] - [#44950]) ([light docs])
|
||||||
|
- Bump pymyq to 2.0.13 ([@ehendrix23] - [#44961]) ([myq docs])
|
||||||
|
|
||||||
|
[#44926]: https://github.com/home-assistant/core/pull/44926
|
||||||
|
[#44938]: https://github.com/home-assistant/core/pull/44938
|
||||||
|
[#44940]: https://github.com/home-assistant/core/pull/44940
|
||||||
|
[#44950]: https://github.com/home-assistant/core/pull/44950
|
||||||
|
[#44961]: https://github.com/home-assistant/core/pull/44961
|
||||||
|
[@bdraco]: https://github.com/bdraco
|
||||||
|
[@ehendrix23]: https://github.com/ehendrix23
|
||||||
|
[@emontnemery]: https://github.com/emontnemery
|
||||||
|
[@farmio]: https://github.com/farmio
|
||||||
|
[@zeehio]: https://github.com/zeehio
|
||||||
|
[hassio docs]: /integrations/hassio/
|
||||||
|
[knx docs]: /integrations/knx/
|
||||||
|
[light docs]: /integrations/light/
|
||||||
|
[myq docs]: /integrations/myq/
|
||||||
|
|
||||||
|
## Release 2021.1.2 - January 14
|
||||||
|
|
||||||
|
- Update the Utility Meter sensor status on HA start ([@dgomes] - [#44765]) ([utility_meter docs])
|
||||||
|
- Bump bimmer_connected to 0.7.14 ([@rikroe] - [#45086]) ([bmw_connected_drive docs])
|
||||||
|
- Fix neato battery sensor not ready ([@Santobert] - [#44946]) ([neato docs])
|
||||||
|
- Fallback to tag for any AfterShip tracking that have no checkpoints ([@ludeeus] - [#45053]) ([aftership docs])
|
||||||
|
- Bump MyQ to 2.0.14 ([@ehendrix23] - [#45067]) ([myq docs])
|
||||||
|
- Fix OpenWeatherMap forecast timestamp ([@spacegaier] - [#45124]) ([openweathermap docs])
|
||||||
|
- Add filtering ([@frenck] - [commit](https://github.com/home-assistant/core/commit/0bd2c13e261c7b3d96ba451c50f81dd3e659c5c9))
|
||||||
|
|
||||||
|
[#44765]: https://github.com/home-assistant/core/pull/44765
|
||||||
|
[#44946]: https://github.com/home-assistant/core/pull/44946
|
||||||
|
[#45053]: https://github.com/home-assistant/core/pull/45053
|
||||||
|
[#45067]: https://github.com/home-assistant/core/pull/45067
|
||||||
|
[#45086]: https://github.com/home-assistant/core/pull/45086
|
||||||
|
[#45124]: https://github.com/home-assistant/core/pull/45124
|
||||||
|
[@Santobert]: https://github.com/Santobert
|
||||||
|
[@dgomes]: https://github.com/dgomes
|
||||||
|
[@ehendrix23]: https://github.com/ehendrix23
|
||||||
|
[@ludeeus]: https://github.com/ludeeus
|
||||||
|
[@rikroe]: https://github.com/rikroe
|
||||||
|
[@spacegaier]: https://github.com/spacegaier
|
||||||
|
[aftership docs]: /integrations/aftership/
|
||||||
|
[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
|
||||||
|
[myq docs]: /integrations/myq/
|
||||||
|
[neato docs]: /integrations/neato/
|
||||||
|
[openweathermap docs]: /integrations/openweathermap/
|
||||||
|
[utility_meter docs]: /integrations/utility_meter/
|
||||||
|
|
||||||
|
## Release 2021.1.3 - January 15
|
||||||
|
|
||||||
|
- Extend filter and filter tests ([@frenck] - [#45179]) ([http docs])
|
||||||
|
- Bump aioHTTP 3.7.3 - YARL 1.6.3 ([@pvizeli] - [#45180])
|
||||||
|
|
||||||
|
[#45179]: https://github.com/home-assistant/core/pull/45179
|
||||||
|
[#45180]: https://github.com/home-assistant/core/pull/45180
|
||||||
|
[@frenck]: https://github.com/frenck
|
||||||
|
[@pvizeli]: https://github.com/pvizeli
|
||||||
|
[http docs]: /integrations/http/
|
||||||
|
|
||||||
|
## Release 2021.1.4 - January 16
|
||||||
|
|
||||||
|
- Fix Home Connect ambient color ([@Sjack-Sch] - [#45038]) ([home_connect docs])
|
||||||
|
- Fix HomeKit climate integration for devices with a single set point in Heat_Cool mode. ([@thevoltagesource] - [#45065]) ([homekit_controller docs])
|
||||||
|
- Fix all forecast datetime values in OpenWeatherMap ([@spacegaier] - [#45202]) ([openweathermap docs])
|
||||||
|
- Bump up ZHA dependency ([@Adminiuga] - [#45230]) ([zha docs])
|
||||||
|
|
||||||
|
[#45038]: https://github.com/home-assistant/core/pull/45038
|
||||||
|
[#45065]: https://github.com/home-assistant/core/pull/45065
|
||||||
|
[#45202]: https://github.com/home-assistant/core/pull/45202
|
||||||
|
[#45230]: https://github.com/home-assistant/core/pull/45230
|
||||||
|
[@Adminiuga]: https://github.com/Adminiuga
|
||||||
|
[@Sjack-Sch]: https://github.com/Sjack-Sch
|
||||||
|
[@spacegaier]: https://github.com/spacegaier
|
||||||
|
[@thevoltagesource]: https://github.com/thevoltagesource
|
||||||
|
[home_connect docs]: /integrations/home_connect/
|
||||||
|
[homekit_controller docs]: /integrations/homekit_controller/
|
||||||
|
[openweathermap docs]: /integrations/openweathermap/
|
||||||
|
[zha docs]: /integrations/zha/
|
||||||
|
|
||||||
|
## Release 2021.1.5 - January 23
|
||||||
|
|
||||||
|
- Update python-mpd2 to 3.0.3 ([@mweinelt] - [#45141]) ([mpd docs])
|
||||||
|
- Bump pybotvac to 0.0.20 ([@Santobert] - [#45367]) ([neato docs])
|
||||||
|
- Bump pyatmo to v4.2.2 ([@cgtobi] - [#45386]) ([netatmo docs])
|
||||||
|
- Avoid misuse sanitize_path, clarify docs ([@balloob] - [#45469])
|
||||||
|
|
||||||
|
[#45141]: https://github.com/home-assistant/core/pull/45141
|
||||||
|
[#45367]: https://github.com/home-assistant/core/pull/45367
|
||||||
|
[#45386]: https://github.com/home-assistant/core/pull/45386
|
||||||
|
[#45469]: https://github.com/home-assistant/core/pull/45469
|
||||||
|
[@Santobert]: https://github.com/Santobert
|
||||||
|
[@balloob]: https://github.com/balloob
|
||||||
|
[@cgtobi]: https://github.com/cgtobi
|
||||||
|
[@mweinelt]: https://github.com/mweinelt
|
||||||
|
[mpd docs]: /integrations/mpd/
|
||||||
|
[neato docs]: /integrations/neato/
|
||||||
|
[netatmo docs]: /integrations/netatmo/
|
||||||
|
|
||||||
## If you need help...
|
## 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).
|
...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).
|
||||||
|
38
source/_posts/2021-01-14-security-bulletin.markdown
Normal file
38
source/_posts/2021-01-14-security-bulletin.markdown
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "Security Bulletin"
|
||||||
|
description: "Update your Home Assistant instance as soon as possible."
|
||||||
|
date: 2021-01-14 00:00:00
|
||||||
|
date_formatted: "January 14, 2021"
|
||||||
|
author: Paulus Schoutsen
|
||||||
|
author_twitter: balloob
|
||||||
|
comments: true
|
||||||
|
categories: Public-Service-Announcement
|
||||||
|
og_image: /images/blog/2021-01-security-bulletin/social.png
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
It has come to our attention that certain custom integrations have security issues and could potentially leak sensitive information. Home Assistant is not responsible for custom integrations and you use custom integrations at your own risk.
|
||||||
|
|
||||||
|
The latest version of Home Assistant Core has extra protection to help secure your instance.
|
||||||
|
|
||||||
|
**Update your Home Assistant instance as soon as possible.**
|
||||||
|
|
||||||
|
To update Home Assistant, click on the Supervisor menu item to see if an update to 2021.1.3 (or newer) is available. If you don’t have the Supervisor menu item, follow the [update instructions](/docs/installation/updating/). Home Assistant 2021.1.3 is still compatible with Python 3.7 and an upgrade is possible.
|
||||||
|
|
||||||
|
**If you cannot update Home Assistant at this time, we strongly advise you to disable all custom integrations.** You can disable your custom integrations by renaming the `custom_components` folder inside your Home Assistant configuration folder to something else. Please be sure to restart Home Assistant after you’ve renamed it.
|
||||||
|
|
||||||
|
If you need additional help with upgrading, we are happy to help you out on our [Discord chat](/join-chat/) server.
|
||||||
|
|
||||||
|
We will provide more details about impacted custom integrations in the future.
|
||||||
|
|
||||||
|
Paulus
|
||||||
|
|
||||||
|
**Edit: 15 January 2021**: Blog post updated to state 2021.1.3, which added some additional checks.
|
||||||
|
|
||||||
|
**Edit: 16 January 2021**: Blog post updated to remove supervisor reload instructions, as latest version is now generally available. Added note that Python 3.7 is still supported.
|
||||||
|
|
||||||
|
**Edit: 22 January 2021**: More details are now available in the [disclosure post](/blog/2021/01/22/security-disclosure/).
|
||||||
|
|
||||||
|
**Edit: 23 January 2021**: Additional security vulnerabilities disclosed in this [second disclosure post](/blog/2021/01/23/security-disclosure2/).
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user