Compare commits
417 commits
tschmidty6
...
next
Author | SHA1 | Date | |
---|---|---|---|
a17ecf7a2f | |||
![]() |
e06c9adce7 | ||
![]() |
9dce793b65 | ||
![]() |
01a57548f9 | ||
![]() |
243d1587e8 | ||
![]() |
e1ccd79776 | ||
![]() |
49ea67b97e | ||
![]() |
fc56ec7921 | ||
![]() |
17e65feefa | ||
![]() |
ee59dbd062 | ||
![]() |
eaa2430d01 | ||
![]() |
b749b17ed2 | ||
![]() |
c46f152d8d | ||
![]() |
68aa5a339f | ||
![]() |
536ed8557f | ||
![]() |
3ca0be1d3f | ||
![]() |
e9aad88641 | ||
![]() |
669b736ac1 | ||
![]() |
e46a4d4f3f | ||
![]() |
50775dc3b1 | ||
![]() |
78f19d989a | ||
![]() |
5a9d5c5427 | ||
![]() |
31c4114e32 | ||
![]() |
65ab88cd5d | ||
![]() |
496150eeae | ||
![]() |
8187c4aebe | ||
![]() |
ba630fb068 | ||
![]() |
69405f1edc | ||
![]() |
99b142470d | ||
![]() |
0591667068 | ||
![]() |
c66bde1843 | ||
![]() |
cb8cdf3452 | ||
![]() |
49c697004a | ||
![]() |
f02495713b | ||
![]() |
d7fcb153de | ||
![]() |
334a06b4d6 | ||
![]() |
bc01c98712 | ||
![]() |
fe352e7dd6 | ||
![]() |
b3288f13cd | ||
![]() |
04a3b83a53 | ||
![]() |
8f8e2e9a3d | ||
![]() |
39720a4de2 | ||
![]() |
fd5f1fc725 | ||
![]() |
9cb4d6c82f | ||
![]() |
851f0f29dd | ||
![]() |
01c267fc5e | ||
![]() |
76b908b033 | ||
![]() |
dcda30e25b | ||
![]() |
5e7c31b16c | ||
![]() |
222d9483d9 | ||
![]() |
4133cc0196 | ||
![]() |
4c405c8e97 | ||
![]() |
7aee40a482 | ||
![]() |
3ffe30f777 | ||
![]() |
692fd52678 | ||
![]() |
77a14ad9d9 | ||
![]() |
8ec44c00dd | ||
![]() |
19722e8ede | ||
![]() |
ec6f2fca64 | ||
![]() |
09aa7ac3e9 | ||
![]() |
b50c2fbbb0 | ||
![]() |
fa028db9d8 | ||
![]() |
5f97e6e4f2 | ||
![]() |
02ab1b4eb1 | ||
![]() |
53a50b60cf | ||
![]() |
490b5069a2 | ||
![]() |
0809034667 | ||
![]() |
292ef8e815 | ||
![]() |
254b6bbf66 | ||
![]() |
c6729a2fdd | ||
![]() |
ca71ad7249 | ||
![]() |
290e9509f9 | ||
![]() |
c0992370ab | ||
![]() |
cb858f2b1f | ||
![]() |
16f2259365 | ||
![]() |
546806f1c6 | ||
![]() |
1fbf09ab66 | ||
![]() |
73d436247a | ||
![]() |
4dc03338a9 | ||
![]() |
fb7e32d260 | ||
![]() |
80b268cd65 | ||
![]() |
a83fd1d874 | ||
![]() |
d771d839f3 | ||
![]() |
0b948617b9 | ||
![]() |
0b2a94385d | ||
![]() |
5f7f542f68 | ||
![]() |
7bfe31cbac | ||
![]() |
ea74a32b40 | ||
![]() |
e6c69b0a48 | ||
![]() |
f5cfc55087 | ||
![]() |
386307868d | ||
![]() |
b03e6e0ba4 | ||
![]() |
193ae8a0d0 | ||
![]() |
033028b881 | ||
![]() |
b455d059c8 | ||
![]() |
0cfcbf254b | ||
![]() |
c66272aa85 | ||
![]() |
e6adf8ca0b | ||
![]() |
10db3b3f9e | ||
![]() |
00d950773e | ||
![]() |
8eae78cb34 | ||
![]() |
21ed92fb92 | ||
![]() |
6c90dedce5 | ||
![]() |
329393788f | ||
![]() |
952aaf8aa0 | ||
![]() |
acd36632f7 | ||
![]() |
b8627d6285 | ||
![]() |
7f213efe7f | ||
![]() |
945fb9b69e | ||
![]() |
574e2213ba | ||
![]() |
7fd2f7da46 | ||
![]() |
557867f26e | ||
![]() |
12906f47af | ||
![]() |
444030d09f | ||
![]() |
b2104a9770 | ||
![]() |
8f52412ebe | ||
![]() |
26a9b29854 | ||
![]() |
b794665e79 | ||
![]() |
56f0a1a3c3 | ||
![]() |
38b58a7e70 | ||
![]() |
649b3c8755 | ||
![]() |
04560310f9 | ||
![]() |
e1747451fc | ||
![]() |
078167bb03 | ||
![]() |
d434247c54 | ||
![]() |
560108c659 | ||
![]() |
70af38b086 | ||
![]() |
6f7e6f5cde | ||
![]() |
cae7305fda | ||
![]() |
8fc39cb9db | ||
![]() |
e607d1bf39 | ||
![]() |
64df5f785a | ||
![]() |
65d8d892e6 | ||
![]() |
9465ec0c1a | ||
![]() |
124a41c3bb | ||
![]() |
c8c0fdf35d | ||
![]() |
0b5ee4d0c4 | ||
![]() |
ce53c0e9f0 | ||
![]() |
429040954a | ||
![]() |
424dc3013c | ||
![]() |
a6795e584c | ||
![]() |
9d71a51873 | ||
![]() |
8bacd6162f | ||
![]() |
26c45c852b | ||
![]() |
75520f8d64 | ||
![]() |
d0268f1e05 | ||
![]() |
e2e44aeb33 | ||
![]() |
fdef560c1a | ||
![]() |
36a385b5b7 | ||
![]() |
17285ba293 | ||
![]() |
f3ad3f8ea2 | ||
![]() |
0d603c0a6e | ||
![]() |
c396e08e50 | ||
![]() |
3f43547c0e | ||
![]() |
d6b1ac2262 | ||
![]() |
f30e4a7c36 | ||
![]() |
4a9bd5e720 | ||
![]() |
e7c121f462 | ||
![]() |
ec6d07f548 | ||
![]() |
ed630d4b84 | ||
![]() |
bd9e7179e6 | ||
![]() |
34a0ade3f7 | ||
![]() |
c962dee84d | ||
![]() |
b8870424cd | ||
![]() |
a32d7d75c1 | ||
![]() |
465cdebc7f | ||
![]() |
7ffafe6556 | ||
![]() |
96c997b7e1 | ||
![]() |
3876353d68 | ||
![]() |
e4c97ce322 | ||
![]() |
b3ad3f0174 | ||
![]() |
ee8090a9e1 | ||
![]() |
15aabd066c | ||
![]() |
fe1ce5a19b | ||
![]() |
97525ba3eb | ||
![]() |
bc0b6a3f43 | ||
![]() |
5dd2412a37 | ||
![]() |
b356bfcc45 | ||
![]() |
342b99221d | ||
![]() |
061c9bdfa1 | ||
![]() |
ffb528dbd6 | ||
![]() |
f147350ab4 | ||
![]() |
a9569af0a4 | ||
![]() |
bbb4af9c7b | ||
![]() |
89406e3ea0 | ||
![]() |
e3c6e65f19 | ||
![]() |
85be6ed99c | ||
![]() |
bba777df3f | ||
![]() |
89f64dfbd8 | ||
![]() |
0720329793 | ||
![]() |
9f70138ffc | ||
![]() |
17ccbcce24 | ||
![]() |
46f89afa14 | ||
![]() |
0691f3253d | ||
![]() |
3ca5ab88ce | ||
![]() |
2667e63bab | ||
![]() |
a151bb7ff2 | ||
![]() |
2abdd0d465 | ||
![]() |
c427325a9c | ||
![]() |
0c7780681b | ||
![]() |
42e0e4f477 | ||
![]() |
690fa13130 | ||
![]() |
5d0eb6b5a6 | ||
![]() |
5c47c159a9 | ||
![]() |
086960a502 | ||
![]() |
243f02dc3e | ||
![]() |
d2c7a2fe77 | ||
![]() |
38ee7392c4 | ||
![]() |
e4deae0cd2 | ||
![]() |
4974ac5990 | ||
![]() |
9bbbf21643 | ||
![]() |
8255351d69 | ||
![]() |
18881f59c3 | ||
![]() |
8aaf1547d2 | ||
![]() |
ccba1ffd33 | ||
![]() |
6347774428 | ||
![]() |
6ff1b3be2d | ||
![]() |
572f001f5b | ||
![]() |
0814d5c531 | ||
![]() |
4eecf3fc87 | ||
![]() |
b0e5093b02 | ||
![]() |
a620408dbd | ||
![]() |
a6ade458c7 | ||
![]() |
4a1cae8806 | ||
![]() |
a94c49d0de | ||
![]() |
916bc66ad2 | ||
![]() |
f4220b5c10 | ||
![]() |
1c1025546e | ||
![]() |
4a1255889f | ||
![]() |
460fce6a10 | ||
![]() |
66714881d7 | ||
![]() |
9f2e1b3343 | ||
![]() |
74c9fb5155 | ||
![]() |
9e5c5c827c | ||
![]() |
211467de37 | ||
![]() |
0413edeaa9 | ||
![]() |
d31e48d4c0 | ||
![]() |
796ef7a3fb | ||
![]() |
81ad15e9be | ||
![]() |
d42f6dfacf | ||
![]() |
5e03146a82 | ||
![]() |
59be0ec41b | ||
![]() |
5869b00342 | ||
![]() |
c16b6e2ef5 | ||
![]() |
f6954ccb79 | ||
![]() |
e2e349c30d | ||
![]() |
c5743e4621 | ||
![]() |
3aa3be1439 | ||
![]() |
7dbed031cb | ||
![]() |
481fb147c7 | ||
![]() |
d6b4874343 | ||
![]() |
d707f1a2cd | ||
![]() |
e499633d30 | ||
![]() |
ca80f9ac35 | ||
![]() |
d599de84c2 | ||
![]() |
b42f23d438 | ||
![]() |
5f4f743d9b | ||
![]() |
2c5eedb247 | ||
![]() |
957f219383 | ||
![]() |
f6e37ed46a | ||
![]() |
bc9e59bb96 | ||
![]() |
882aa7b435 | ||
![]() |
f2a22d38a0 | ||
![]() |
7a22ffe8a5 | ||
![]() |
f79c3ed719 | ||
![]() |
3bdf57e94b | ||
![]() |
76a5c07b04 | ||
![]() |
f324111349 | ||
![]() |
9caa6eb53f | ||
![]() |
3f13571251 | ||
![]() |
ce94c3bc6d | ||
![]() |
69635dc1c8 | ||
![]() |
e0540d27dc | ||
![]() |
cf6818f0d7 | ||
![]() |
a835ff4172 | ||
![]() |
69f0361c99 | ||
![]() |
308fe9eea1 | ||
![]() |
17bae0c271 | ||
![]() |
1987571074 | ||
![]() |
0bdaf10a38 | ||
![]() |
3a94dc98c4 | ||
![]() |
e2b5ee1364 | ||
![]() |
690bd22f8a | ||
![]() |
db1532afc6 | ||
![]() |
f1d1dd0d84 | ||
![]() |
6f3f7d9785 | ||
![]() |
477e77dfa1 | ||
![]() |
2dd0fee235 | ||
![]() |
88772ebf1c | ||
![]() |
ee19913448 | ||
![]() |
58d1fb93f8 | ||
![]() |
e4d63479f1 | ||
![]() |
8fcb7944a3 | ||
![]() |
58c5eb81a5 | ||
![]() |
a8bca0d0f8 | ||
![]() |
a2f5a07653 | ||
![]() |
7ccd3b98ef | ||
![]() |
0724d9f456 | ||
![]() |
a90513b188 | ||
![]() |
e0f90c5b9d | ||
![]() |
efe4e284e8 | ||
![]() |
38132ebd2e | ||
![]() |
8dfd433f06 | ||
![]() |
80500b0d1c | ||
![]() |
2851b2a606 | ||
![]() |
41a1a06af1 | ||
![]() |
a1e51cc46b | ||
![]() |
3f6f8c4048 | ||
![]() |
6b61e22423 | ||
![]() |
ddbd670547 | ||
![]() |
f8393f0659 | ||
![]() |
338eeb2295 | ||
![]() |
5587190866 | ||
![]() |
cb0398bee5 | ||
![]() |
069a9f570e | ||
![]() |
f0bff4278e | ||
![]() |
c74ec2dd24 | ||
![]() |
9cf977311e | ||
![]() |
5526af141b | ||
![]() |
6a9c9d739d | ||
![]() |
2707746624 | ||
![]() |
9cc2bce761 | ||
![]() |
88c8cc2ff1 | ||
![]() |
50b20f06da | ||
![]() |
e547512307 | ||
![]() |
45617ed868 | ||
![]() |
da03b58a3a | ||
![]() |
0f78e11a86 | ||
![]() |
0687a6a3ea | ||
![]() |
5146a3febc | ||
![]() |
330808127d | ||
![]() |
4bb87848f9 | ||
![]() |
f0d494bfd4 | ||
![]() |
3b4e3111ce | ||
![]() |
41955dc31a | ||
![]() |
92f77b003f | ||
![]() |
b8329c2eb3 | ||
![]() |
d3fc349b50 | ||
![]() |
c29501ddbd | ||
![]() |
88f326ea20 | ||
![]() |
786949d0a2 | ||
![]() |
aaaa73345b | ||
![]() |
7b7f12f87f | ||
![]() |
13a6ca7570 | ||
![]() |
491c79598d | ||
![]() |
a14a7488bf | ||
![]() |
238a7f87ed | ||
![]() |
92be5171b4 | ||
![]() |
63746ddee5 | ||
![]() |
e4c59e9e89 | ||
![]() |
9f2eec8e56 | ||
![]() |
b28d8cfd31 | ||
![]() |
0ead042087 | ||
![]() |
dc50cbc5b0 | ||
![]() |
fcbe4d3f51 | ||
![]() |
772fb32af9 | ||
![]() |
8166ab0921 | ||
![]() |
6585332701 | ||
![]() |
6e1fe76243 | ||
![]() |
9165380172 | ||
![]() |
3c45088ac3 | ||
![]() |
6f63554f8c | ||
![]() |
b4c71a2f54 | ||
![]() |
6ea9c2d7a8 | ||
![]() |
6800f20908 | ||
![]() |
77c282d62f | ||
![]() |
62985bd21e | ||
![]() |
6a35c3515d | ||
![]() |
c4edb9a6e1 | ||
![]() |
8c71e26851 | ||
![]() |
cdda3de320 | ||
![]() |
2781c1f89a | ||
![]() |
5e73866af0 | ||
![]() |
aba21eeca6 | ||
![]() |
58a304401d | ||
![]() |
48d08be907 | ||
![]() |
c5f2f5770f | ||
![]() |
13ac22cb08 | ||
![]() |
40602962f4 | ||
![]() |
df4739885a | ||
![]() |
084d69cd98 | ||
![]() |
d44266b2bb | ||
![]() |
2a440b16b4 | ||
![]() |
cdbdfea05d | ||
![]() |
a7e701dc92 | ||
![]() |
19ed7ddea1 | ||
![]() |
bc95183753 | ||
![]() |
041553ed86 | ||
![]() |
434f6f2510 | ||
![]() |
9b8feb64b5 | ||
![]() |
35c3d6335f | ||
![]() |
f8cdbdf880 | ||
![]() |
e23f5de590 | ||
![]() |
33e7be6bc3 | ||
![]() |
fd27ef1749 | ||
![]() |
e050bcaa61 | ||
![]() |
9c20af02fa | ||
![]() |
47e1b3c171 | ||
![]() |
25148ef299 | ||
![]() |
3ddfa61ad5 | ||
![]() |
6ee7e31359 | ||
![]() |
5a5d9c8d4e | ||
![]() |
fec18d3a8f | ||
![]() |
0dbbfb785d | ||
![]() |
91b5ca9511 | ||
![]() |
80a42eb899 | ||
![]() |
b9a1dc052c | ||
![]() |
074bc50664 | ||
![]() |
97b48dc314 | ||
![]() |
a509418fd3 | ||
![]() |
086811ddcf | ||
![]() |
6536b74aa4 | ||
![]() |
19001f9e24 | ||
![]() |
82398a9bc9 | ||
![]() |
fdcf17802d | ||
![]() |
16942aba1b | ||
![]() |
6bfd606eba |
576 changed files with 11385 additions and 8468 deletions
10
_config.yml
10
_config.yml
|
@ -3,7 +3,7 @@
|
|||
# Main Configs #
|
||||
# ----------------------- #
|
||||
|
||||
url: https://home-assistant.io
|
||||
url: https://www.home-assistant.io
|
||||
title: Home Assistant
|
||||
subtitle: Open-source home automation platform running on Python 3
|
||||
author: Home Assistant
|
||||
|
@ -139,14 +139,14 @@ social:
|
|||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 65
|
||||
current_patch_version: 6
|
||||
date_released: 2018-03-21
|
||||
current_minor_version: 69
|
||||
current_patch_version: 0
|
||||
date_released: 2018-05-11
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
# Major release:
|
||||
patch_version_notes: "#release-0656---march-21"
|
||||
patch_version_notes: "#"
|
||||
# Minor release (Example #release-0431---april-25):
|
||||
|
||||
# Date we moved to Discourse for comments
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
credits_generator
|
||||
=================
|
||||
|
||||
This tool can be used to update the [Home Assistant's Credits page](https://home-assistant.io/developers/credits/).
|
||||
This tool can be used to update the [Credits page for Home Assistant](https://home-assistant.io/developers/credits/).
|
||||
|
||||
Setup
|
||||
-----
|
||||
|
||||
Fetch the dependencies with `npm`.
|
||||
```bash
|
||||
$ cd credits_generator
|
||||
$ npm install
|
||||
|
@ -13,8 +14,11 @@ $ npm install
|
|||
|
||||
Usage
|
||||
-----
|
||||
Go to https://github.com/settings/tokens/new and generate a new GitHub personal access token.
|
||||
Give the token any name and select the `public_repo` and `read:user` scopes.
|
||||
|
||||
Set your personal GitHub access token as environmental variable.
|
||||
|
||||
Set the environment variable `GITHUB_TOKEN` to the new token.
|
||||
|
||||
```bash
|
||||
$ export GITHUB_TOKEN=<Your GitHub access token>
|
||||
|
@ -23,7 +27,6 @@ $ export GITHUB_TOKEN=<Your GitHub access token>
|
|||
Run the script.
|
||||
|
||||
```bash
|
||||
$ cd credits_generator
|
||||
$ node update_credits.js
|
||||
```
|
||||
|
||||
|
|
|
@ -58,7 +58,12 @@ github.repos.getForOrg({
|
|||
cb(err);
|
||||
return;
|
||||
}
|
||||
if(userInfo.login == 'RubenKelevra') userInfo.name = 'RubenKelevra'; // ugh, because his name is `@RubenKelevra`
|
||||
if (userInfo.name) {
|
||||
userInfo.name = userInfo.name.replace(/^@/, '')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/[\\`*_{}[\]()#+-.!~|]/g, '\\$&');
|
||||
}
|
||||
usersMap[login].info.name = userInfo.name || userInfo.login;
|
||||
usersMap[login].info.username = userInfo.login;
|
||||
cb();
|
||||
|
|
|
@ -2,7 +2,7 @@ module Jekyll
|
|||
class ConfigurationBlock < Liquid::Block
|
||||
TYPE_LINKS = {
|
||||
'action' => '/docs/scripts/',
|
||||
'device_class' => '/components/%{component}/#device_class',
|
||||
'device_class' => '/components/%{component}/#device-class',
|
||||
'template' => '/docs/configuration/templating/',
|
||||
}
|
||||
|
||||
|
|
17
plugins/environment_variables.rb
Normal file
17
plugins/environment_variables.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
module Jekyll
|
||||
class EnvironmentVariablesGenerator < Generator
|
||||
def generate(site)
|
||||
# https://www.netlify.com/docs/continuous-deployment/#build-environment-variables
|
||||
repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.github.io'
|
||||
|
||||
# Rewrite urls if repo url is the ssh format.
|
||||
if repo_url.start_with? 'git@github.com:'
|
||||
repo_url = repo_url.sub 'git@github.com:', 'https://github.com/'
|
||||
end
|
||||
|
||||
# These values will be available as {{ site.NLY_REPOSITORY_URL }}
|
||||
site.config['NLY_REPOSITORY_URL'] = repo_url
|
||||
site.config['NLY_HEAD'] = ENV['HEAD'] || 'current'
|
||||
end
|
||||
end
|
||||
end
|
|
@ -24,7 +24,7 @@ module Jekyll
|
|||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
|
||||
def site_url
|
||||
'https://home-assistant.io'
|
||||
'https://www.home-assistant.io'
|
||||
end
|
||||
|
||||
# Prepend a url with the full site url
|
||||
|
|
|
@ -4,6 +4,10 @@ $primary-color: #049cdb;
|
|||
|
||||
.site-header {
|
||||
position: relative;
|
||||
|
||||
.site-title {
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.search-container {
|
||||
|
@ -377,18 +381,26 @@ p.note {
|
|||
}
|
||||
|
||||
.copyright {
|
||||
text-align: center;
|
||||
text-align: left;
|
||||
|
||||
i {
|
||||
font-size: 3em;
|
||||
margin-right: 8px;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
.company {
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
i {
|
||||
font-size: 2em;
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
||||
.credit {
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
font-size: .8em;
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ Screenshot of the HASS Configurator.
|
|||
|
||||
### {% linkable_title Embedding into Home-Assistant %}
|
||||
|
||||
Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
|
||||
Using the Home Assistant component [panel_iframe](/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
|
||||
|
||||
An example configuration would look like this:
|
||||
|
||||
|
|
|
@ -26,10 +26,10 @@ featured: true
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate and update Let's Encrypt certificates for your DuckDNS domain.
|
||||
- **token** (*Required*): Your Duck DNS API key.
|
||||
- **domains** (*Required*): A list of domains to update DNS.
|
||||
- **seconds** (*Optional*): Seconds between updates to Duck DNS.
|
||||
- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate & update Let's Enrypt certificates for your DuckDNS domain.
|
||||
- **seconds** (*Required*): Seconds between updates to Duck DNS.
|
||||
|
||||
[le]: https://letsencrypt.org/repository/
|
||||
|
||||
|
@ -51,3 +51,5 @@ If you use a port other than `8123` or an SSL proxy, change the port number acco
|
|||
You'll need to forward the port you listed in your configuration (8123 in the example above) on your router to your Home Assistant system. You can find guides on how to do this on [Port Forward](https://portforward.com/) - noting that you'll only need to forward the TCP port.
|
||||
|
||||
Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router.
|
||||
|
||||
Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`.
|
||||
|
|
|
@ -11,7 +11,7 @@ featured: true
|
|||
---
|
||||
|
||||
<p class='note'>
|
||||
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
|
||||
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/components/google_assistant/).
|
||||
</p>
|
||||
|
||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
||||
|
@ -66,7 +66,7 @@ Configuration example that uses the USB microphone and the built-in headset audi
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **mic**: This is the hardware address of your microphone. Look at the add-on output
|
||||
- **mic**: This is the hardware address of your microphone. Look at the add-on output
|
||||
- **speaker**: This is the hardware address of your speakers. Look at the add-on output
|
||||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Let's Encrypt"
|
||||
description: "Automatically manage your SSL certificate using Let's Encrypt."
|
||||
date: 2017-04-30 13:28
|
||||
date: 2018-04-18 10:55
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
|
@ -41,4 +41,24 @@ http:
|
|||
|
||||
If you use another port such as `8123` or an SSL proxy, change the port number.
|
||||
|
||||
## {% linkable_title Enabling auto-renewals %}
|
||||
|
||||
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
|
||||
|
||||
However, you can automate this process using Home Assistant.
|
||||
|
||||
Use this in your `automations.yaml` to attempt certificate renewal each day at midnight:
|
||||
|
||||
```yaml
|
||||
- id: letsencrypt-renewal
|
||||
alias: "Let's Encrypt Renewal"
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:00'
|
||||
action:
|
||||
- service: hassio.addon_restart
|
||||
data:
|
||||
addon: core_letsencrypt
|
||||
```
|
||||
|
||||
[DuckDNS add-on]: /addons/duckdns/
|
||||
|
|
|
@ -43,7 +43,7 @@ Configuration variables:
|
|||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
||||
To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own) add the following entry to the `configuration.yaml` file.
|
||||
To use the Mosquitto as [broker](/docs/mqtt/broker/#run-your-own), add the following entry to the `configuration.yaml` file.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -59,3 +59,20 @@ mqtt:
|
|||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
### {% linkable_title Listening simultaneously on SSL/TLS (8883) and insecure (1883) ports %}
|
||||
|
||||
1. Configure SSL/TLS as normal.
|
||||
2. Set `customize` flag to `true` in your configuration.
|
||||
3. Create a file in `/share/mosquitto` named `insecure.conf` with the following contents:
|
||||
|
||||
```text
|
||||
listener 1883
|
||||
protocol mqtt
|
||||
```
|
||||
|
||||
4. Restart MQTT
|
||||
|
||||
<p class='note warning'>
|
||||
It's recommened that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices.
|
||||
</p>
|
||||
|
|
|
@ -11,13 +11,14 @@ footer: true
|
|||
|
||||
Setup an SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on.
|
||||
|
||||
In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid a HTTP 502 error.
|
||||
In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid an HTTP 502 error.
|
||||
|
||||
```json
|
||||
{
|
||||
"domain": "home.example.com",
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem",
|
||||
"hsts": "max-age=31536000; includeSubDomains",
|
||||
"customize": {
|
||||
"active": false,
|
||||
"default": "nginx_proxy_default*.conf",
|
||||
|
@ -31,6 +32,7 @@ Configuration variables:
|
|||
- **domain** (*Required*): Domain they will proxy run with it.
|
||||
- **certfile** (*Required*): Certificate file to use in the /ssl dir.
|
||||
- **keyfile** (*Required*): Private key file to use in the /ssl dir.
|
||||
- **hsts** (*Optional*): Value for the [`Strict-Transport-Security`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) HTTP header to send. If empty or `null`, the header is not sent.
|
||||
- **customize** (*Optional*): If true, additional NGINX configuration files for the default server and additional servers are read from files in the /share dir specified by the `default` and `servers` variables.
|
||||
|
||||
<p class='note'>
|
||||
|
|
|
@ -35,7 +35,7 @@ Configuration variables:
|
|||
- **name** (*Optional*): Set netbios name of Hass.io device. Default is `hassio`.
|
||||
- **workgroup** (*Optional*): Set network workgroup name. Default is `WORKGROUP`.
|
||||
- **guest** (*Optional*): Allow login without a username or password. Default is `true`.
|
||||
- **map** (*Optional*): Control which folders will be exposed. `config` shares the Home Assistant configuration folder. `addons` shares the local custom repositiory. `share` shares a folder that can be accessed by add-ons and Home Assistant. `backup` shares access to snapshot files. `ssl` shares certificate storage. Be careful with the `ssl` option! Defaults are all set to `true`, except for `ssl`.
|
||||
- **map** (*Optional*): Control which folders will be exposed. `config` shares the Home Assistant configuration folder. `addons` shares the local custom repository. `share` shares a folder that can be accessed by add-ons and Home Assistant. `backup` shares access to snapshot files. `ssl` shares certificate storage. Be careful with the `ssl` option! Defaults are all set to `true`, except for `ssl`.
|
||||
- **username** (*Optional*): Username for logging in if guest login is not used.
|
||||
- **password** (*Optional*): Password for `username`. An empty password is not supported.
|
||||
- **interface** (*Optional*): Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
|
|
|
@ -2,51 +2,39 @@
|
|||
layout: page
|
||||
title: "Snips.ai"
|
||||
description: "Enhance your Hass.io installation with a local voice assistant."
|
||||
date: 2017-04-30 13:28
|
||||
date: 2018-05-02 13:28
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
[Snips.ai] is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
|
||||
[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
|
||||
|
||||
To get started, follow [their tutorial] to create an assistant and download the training data.
|
||||
The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed.
|
||||
|
||||
Now install and activate the [Samba] add-on so you can upload your training data. Connect to the "share" Samba share and copy your training data over. Name the file `assistant.zip`.
|
||||
HomeAssistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki).
|
||||
|
||||
Now it's time to start Snips for the first time. When the Snips add-on starts, it will output your audio devices:
|
||||
The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
|
||||
|
||||
```text
|
||||
**** List of PLAYBACK Hardware Devices ****
|
||||
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
|
||||
Subdevices: 8/8
|
||||
Subdevice #0: subdevice #0
|
||||
Subdevice #1: subdevice #1
|
||||
Subdevice #2: subdevice #2
|
||||
Subdevice #3: subdevice #3
|
||||
Subdevice #4: subdevice #4
|
||||
Subdevice #5: subdevice #5
|
||||
Subdevice #6: subdevice #6
|
||||
Subdevice #7: subdevice #7
|
||||
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
|
||||
Subdevices: 1/1
|
||||
Subdevice #0: subdevice #0
|
||||
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
|
||||
|
||||
```
|
||||
Turn on kitchen light
|
||||
Open garage door
|
||||
What is on my shopping list
|
||||
```
|
||||
|
||||
You need to use this information to point the add-on at the right speakers and microphone. The information describes different cards and devices. On a Raspberry Pi 3, card 0 - device 0 is the built-in headset port, card 0 - device 1 is the HDMI port. In the example above, the USB microphone showed up as card 1 - device 0.
|
||||
To get started creating your own configuration, follow [their tutorial](https://snips.gitbook.io/documentation/console) to create an assistant and download the training data. You can also add the HomeAssistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
|
||||
|
||||
Find the microphone and speakers that you want to use and note down their device and card number. We will need that to configure the add-on options `mic` (microphone to use) and `speaker` (speaker to use). The format for these options is `<card #>,<device #>`. Change the configuration options and click save.
|
||||
Now install and activate the [Samba](/addons/samba/) add-on so you can upload your training data. Connect to the "share" Samba share and copy your assistant over. Name the file `assistant.zip` or whatever you have configured in the configuration options.
|
||||
|
||||
Now start the add-on.
|
||||
Now it's time to start Snips for the first time. You can configure the microphone and sound card using the Add-on interface. Now start the add-on.
|
||||
|
||||
### Add-On configuration
|
||||
### {% linkable_title Add-On configuration %}
|
||||
|
||||
```json
|
||||
{
|
||||
"mic": "1,0",
|
||||
"speaker": "1,0",
|
||||
"assistant": "assistant.zip",
|
||||
"mqtt_bridge": {
|
||||
"active": true,
|
||||
"host": "172.17.0.1",
|
||||
|
@ -54,23 +42,76 @@ Now start the add-on.
|
|||
"user": "",
|
||||
"password": ""
|
||||
},
|
||||
"assistant": "assistant.zip",
|
||||
"language": "en",
|
||||
"custom_tts": false,
|
||||
"tts_platform": "amazon_polly"
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mqtt_bridge** (*Optional*): Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your own.
|
||||
- **mic**: This is the hardware address of your microphone. Look at the Snips
|
||||
- **mqtt_bridge**: Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on.
|
||||
- **assistant**: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
|
||||
- **language**: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
|
||||
- **custom_tts**: Whether to use a TTS provider from Home Assistant for a variety of voices.
|
||||
- **tts_platform**: Which TTS platform to use.
|
||||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
||||
Use the Home Assistant [Snips.ai component][comp] to integrate the add-on into Home Assistant.
|
||||
A simple configuration just requires this. Consult [Snips.ai component](/components/snips/) for more options.
|
||||
|
||||
```yaml
|
||||
snips:
|
||||
```
|
||||
|
||||
[Snips.ai]: https://snips.ai/
|
||||
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Running-your-first-end-to-end-assistant
|
||||
[Samba]: /addons/samba/
|
||||
[comp]: /components/snips/
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
||||
There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for further support.
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
||||
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon.
|
||||
|
||||
Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file.
|
||||
|
||||
```yaml
|
||||
- platform: darksky
|
||||
name: "Dark Sky Weather"
|
||||
api_key: !secret dark_sky_key
|
||||
update_interval:
|
||||
minutes: 10
|
||||
monitored_conditions:
|
||||
- summary
|
||||
- hourly_summary
|
||||
- temperature
|
||||
- temperature_max
|
||||
- temperature_min
|
||||
```
|
||||
Next add this to your `configuration.yaml` file to reference a new `intent_script` component. This is a good practice to [split your configuration files](/docs/configuration/splitting_configuration/) up.
|
||||
|
||||
```yaml
|
||||
intent_script: !include intent_script.yaml
|
||||
```
|
||||
|
||||
Finally, create this `intent_script.yaml` file in your configuration directory.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
searchWeatherForecast:
|
||||
speech:
|
||||
type: plain
|
||||
text: >
|
||||
The weather is currently
|
||||
{{ states('sensor.dark_sky_weather_temperature') | round(0) }}
|
||||
degrees outside and {{ states('sensor.dark_sky_weather_summary') }}.
|
||||
The high today will be
|
||||
{{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}}
|
||||
and {{ states('sensor.dark_sky_weather_hourly_summary') }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Now just restart HassIO and ask it what the weather is like.
|
||||
|
||||
[their tutorial]: https://github.com/snipsco/snips-platform-documentation/wiki/2.-Create-an-assistant-using-an-existing-bundle
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ After any changes have been made to the configuration, you need to restart the a
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (*Required*): A number and must be unique for each device.
|
||||
- **name** (*Required*): A name for easy identification of the device.
|
||||
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
|
||||
- **id** (*Required*): A number and must be unique for each device.
|
||||
- **name** (*Required*): A name for easy identification of the device.
|
||||
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
|
||||
- **model** (*Optional*): The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
|
||||
- **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type.
|
||||
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
|
||||
|
@ -37,10 +37,10 @@ You will need to add internal communication details to `configuration.yaml` to e
|
|||
tellstick:
|
||||
host: core-tellstick
|
||||
port: [50800, 50801]
|
||||
|
||||
|
||||
```
|
||||
|
||||
To add [lights](https://home-assistant.io/components/light.tellstick/), [sensors](https://home-assistant.io/components/sensor.tellstick/) and [switches](https://home-assistant.io/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](https://home-assistant.io/components/tellstick/)
|
||||
To add [lights](/components/light.tellstick/), [sensors](/components/sensor.tellstick/) and [switches](/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](/components/tellstick/)
|
||||
|
||||
The add-on will also enable you to interact with the `tdtool` via a Home Assistant services call, see example below for self-learning device.
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ There is currently support for the following device types within Home Assistant:
|
|||
- [Camera](/components/camera.abode/): Reports on `Camera` devices and will download and show the latest captured still image.
|
||||
- [Cover](/components/cover.abode/): Reports on `Secure Barriers` and can be used to open and close the cover.
|
||||
- [Lock](/components/cover.abode/): Reports on `Door Locks` and can be used to lock and unlock the door.
|
||||
- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim, change color, or turn the light on and off.
|
||||
- [Light](/components/light.abode/): Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
|
||||
- [Switch](/components/switch.abode/): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them.
|
||||
- [Sensor](/components/sensor.abode/): Reports on `Temperature`, `Humidity`, and `Light` sensors.
|
||||
|
||||
|
|
|
@ -27,7 +27,9 @@ The Alarm Decoder component gives you access to several services for you to cont
|
|||
- `alarm_disarm`: Disarms the alarm from any state. Also clears a `check_zone` flag after an alarm was triggered.
|
||||
- `alarmdecoder_alarm_toggle_chime`: Toggles the alarm's chime state.
|
||||
|
||||
**Note**: `alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder component.
|
||||
<p class='note'>
|
||||
`alarm_arm_custom_bypass` and `alarm_trigger`, while available in the services list in Home Assistant, are not currently implemented in the Alarm Decoder platform.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Attributes %}
|
||||
|
||||
|
|
93
source/_components/alarm_control_panel.ifttt.markdown
Normal file
93
source/_components/alarm_control_panel.ifttt.markdown
Normal file
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
layout: page
|
||||
title: "IFTTT Alarm Control Panel"
|
||||
description: "Instructions on how to integrate IFTTT-controlled security systems into Home Assistant."
|
||||
date: 2018-03-10 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ifttt.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.66
|
||||
---
|
||||
|
||||
The `ifttt` platform allows you to integrate security systems that have no open API but can be controlled through [IFTTT](https://ifttt.com/discover).
|
||||
|
||||
This platform depends on the [IFTTT](/components/ifttt/) Home Assistant component. See the component's documentation to set it up.
|
||||
|
||||
<p class='note'>
|
||||
It is important to note that this platform fully relies on IFTTT to receive updates when the security system's state changes. Therefore, this platform shows an assumed state.
|
||||
</p>
|
||||
|
||||
To enable this, setup the required IFTTT applets as listed below and add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ifttt:
|
||||
key: YOUR_WEBHOOK_KEY
|
||||
|
||||
alarm_control_panel:
|
||||
- platform: ifttt
|
||||
name: YOUR_ALARM_NAME
|
||||
code: YOUR_ALARM_CODE
|
||||
event_arm_away: YOUR_ARM_AWAY_EVENT
|
||||
event_arm_home: YOUR_ARM_HOME_EVENT
|
||||
event_arm_night: YOUR_ARM_NIGHT_EVENT
|
||||
event_disarm: YOUR_DISARM_EVENT
|
||||
```
|
||||
|
||||
<p class='note warning'>
|
||||
It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is adviced to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).
|
||||
</p>
|
||||
|
||||
{% linkable_title Required IFTTT applets %}
|
||||
|
||||
This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm_home` and `alarm_arm_night`. For each of these services, an IFTTT webhook will be triggered.
|
||||
|
||||
For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those.
|
||||
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system.
|
||||
* **IF** Webhook event `YOUR_ARM_HOME_EVENT` is called, **THEN** set the alarm system to armed home.
|
||||
* **IF** Webhook event `YOUR_ARM_NIGHT_EVENT` is called, **THEN** set the alarm system to armed away.
|
||||
* **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** set the alarm system to armed night.
|
||||
* **IF** the alarm system was disarmed, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}`.
|
||||
* **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`.
|
||||
* **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`.
|
||||
* **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`.
|
||||
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of your Home Assistant alarm control panel.
|
||||
required: false
|
||||
type: string
|
||||
code:
|
||||
description: The code for the alarm control panel.
|
||||
required: false
|
||||
type: string
|
||||
event_arm_away:
|
||||
description: IFTTT webhook event to call when the state is set to armed away.
|
||||
required: false
|
||||
type: string
|
||||
default: alarm_arm_away
|
||||
event_arm_home:
|
||||
description: IFTTT webhook event to call when the state is set to armed home.
|
||||
required: false
|
||||
type: string
|
||||
default: alarm_arm_home
|
||||
event_arm_night:
|
||||
description: IFTTT webhook event to call when the state is set to armed night.
|
||||
required: false
|
||||
type: string
|
||||
default: alarm_arm_night
|
||||
event_disarm:
|
||||
description: IFTTT webhook event to call when the state is set to disarmed.
|
||||
required: false
|
||||
type: string
|
||||
default: alarm_disarm
|
||||
optimistic:
|
||||
description: Specify if the state will be updated by a ifttt_push_alarm_state call (false) or can be set immediately (true).
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
|
@ -46,7 +46,7 @@ Additionally, note that at the time of this writing, your Alexa skill endpoint *
|
|||
OR
|
||||
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the `server_port` entry in your `configuration.yaml` file
|
||||
|
||||
[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/
|
||||
[blog-lets-encrypt]: /blog/2015/12/13/setup-encryption-using-lets-encrypt/
|
||||
|
||||
To get started with Alexa skills:
|
||||
|
||||
|
|
|
@ -13,23 +13,28 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: 0.49
|
||||
---
|
||||
|
||||
The `amcrest` platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant.
|
||||
The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable your camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
amcrest:
|
||||
- host: IP_ADDRESS
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
- host: IP_ADDRESS_CAMERA_1
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
sensors:
|
||||
- motion_detector
|
||||
- sdcard
|
||||
switches:
|
||||
- motion_detection
|
||||
- motion_recording
|
||||
|
||||
- host: IP_ADDRESS
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
- host: IP_ADDRESS_CAMERA_2
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
resolution: low
|
||||
stream_source: snapshot
|
||||
sensors:
|
||||
|
@ -52,11 +57,14 @@ Configuration variables:
|
|||
- **motion_detector**: Return True/False when a motion is detected
|
||||
- **sdcard**: Return the SD card usage by reporting the total and used space
|
||||
- **ptz_preset**: Return the number of PTZ preset positions configured for the given camera
|
||||
- **switches** array (*Optional*): Switches to display in the frontend. By default, *none* of the switches are shown. The following switches can be monitored.
|
||||
- **motion_detection**: Enable/disable motion detection setting
|
||||
- **motion_recording**: Enable/disable recording on motion detection setting
|
||||
|
||||
**Note:** Amcrest cameras with newer firmware no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. If you defined the *stream_source* to **mjpeg**, make sure your camera supports *Basic* HTTP authentication. Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
|
||||
|
||||
**Note:** If you set the `stream_source` option to `rtsp`, make sure to follow the steps mentioned at
|
||||
[FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation to install the `ffmpeg`.
|
||||
[FFMPEG](/components/ffmpeg/) documentation to install the `ffmpeg`.
|
||||
|
||||
Finish its configuration by visiting the [Amcrest sensor page](/components/sensor.amcrest/) or [Amcrest camera page](/components/camera.amcrest/).
|
||||
|
||||
|
|
|
@ -48,6 +48,9 @@ Sensors:
|
|||
- light
|
||||
- motion
|
||||
- pressure
|
||||
- proximity
|
||||
- sound
|
||||
- video_connections
|
||||
|
||||
Settings (Switches):
|
||||
|
||||
|
@ -76,6 +79,9 @@ android_ip_webcam:
|
|||
- light
|
||||
- motion
|
||||
- pressure
|
||||
- proximity
|
||||
- sound
|
||||
- video_connections
|
||||
switches:
|
||||
- exposure_lock
|
||||
- ffc
|
||||
|
|
|
@ -15,19 +15,27 @@ ha_iot_class: "Cloud Polling"
|
|||
|
||||
The `arlo` implementation allows you to integrate your [Arlo](https://arlo.netgear.com/) devices in Home Assistant.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable device linked in your [Arlo](https://arlo.netgear.com/) account, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
arlo:
|
||||
username: you@example.com
|
||||
password: secret
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): The username for accessing your Arlo account.
|
||||
- **password** (*Required*): The password for accessing your Arlo account.
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username for accessing your Arlo account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for accessing your Arlo account.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
It is recommended to create a dedicated user on Arlo website to be used within Home Assistant and then share your Arlo cameras.
|
||||
|
||||
|
|
|
@ -7,25 +7,26 @@ sidebar: true
|
|||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: asterisk.png
|
||||
ha_category: Other
|
||||
ha_version: 0.51
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine.
|
||||
The `asterisk_mbox `Asterisk Voicemail integration for Home Assistant allows you to view, listen to, and delete voicemails from an Asterisk voicemail mailbox. The component includes a panel on the frontend that provides caller-id and speech-to-text transcription (using Google's API) of messages in addition to playback and message deletion. There is also an included sensor that indicates of the number of available messages. There is no requirement that the Asterisk PBX and Home Assistant are running on the same machine.
|
||||
|
||||
To enable the component, a configuration is required in both Home Assistant as well as on the Asterisk server.
|
||||
|
||||
First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server)
|
||||
First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox/) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server)
|
||||
|
||||
Once that is complete, add the following entry `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
asterisk_mbox:
|
||||
password: ASTERISK_PBX_PASSWORD
|
||||
host: ASTERISK_PBX_SERVER_IP_ADDRESS
|
||||
port: ASTERISK_PBX_SERVER_PORT
|
||||
password: ASTERISK_PBX_PASSWORD
|
||||
host: ASTERISK_PBX_SERVER_IP_ADDRESS
|
||||
port: ASTERISK_PBX_SERVER_PORT
|
||||
```
|
||||
|
||||
This will add a new 'Mailbox' side-panel, as well as a sensor to indicate # of messages available.
|
||||
|
|
|
@ -15,6 +15,12 @@ ha_iot_class: "Cloud Polling"
|
|||
|
||||
The `august` component allows you to integrate your [August](http://august.com) devices in Home Assistant. Currently this component supports August Lock and Doorbell.
|
||||
|
||||
<p class='note'>
|
||||
August Lock 2nd Gen will need either August Connect or Doorbell to connect to Home Assistant.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
You will need your August login information (username (either phone# or email), and password) to use this module.
|
||||
|
||||
To set it up, add the following to your `configuration.yaml` file:
|
||||
|
@ -24,27 +30,27 @@ To set it up, add the following to your `configuration.yaml` file:
|
|||
august:
|
||||
login_method: phone
|
||||
username: "+16041234567"
|
||||
password: secret
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
login_method:
|
||||
description: Method to login to your August account, either "email" or "phone". A verification code will be sent to your email or phone during setup.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username for accessing your August account. This depends on your login_method, if login_method is email, this will be your email of the account. Otherwise, this will be your phone number.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for accessing your August account.
|
||||
required: true
|
||||
type: string
|
||||
timeout:
|
||||
description: Timeout to wait for connections.
|
||||
required: false
|
||||
type: int
|
||||
default: 10
|
||||
login_method:
|
||||
description: Method to login to your August account, either "email" or "phone". A verification code will be sent to your email or phone during setup.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username for accessing your August account. This depends on your login_method, if login_method is email, this will be your email of the account. Otherwise, this will be your phone number.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for accessing your August account.
|
||||
required: true
|
||||
type: string
|
||||
timeout:
|
||||
description: Timeout to wait for connections.
|
||||
required: false
|
||||
type: int
|
||||
default: 10
|
||||
{% endconfiguration %}
|
||||
|
||||
Once Home Assistant is started, a configurator will pop up asking you to enter verification code that is sent to your phone number or email.
|
||||
|
|
20
source/_components/binary_sensor.bmw_connected_drive.markdown
Executable file
20
source/_components/binary_sensor.bmw_connected_drive.markdown
Executable file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
layout: page
|
||||
title: "BMW Connected Drive Binary Sensor"
|
||||
description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant."
|
||||
date: 2018-02-22 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bmw.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.66
|
||||
---
|
||||
|
||||
|
||||
The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant.
|
||||
|
||||
The binary sensors will be automatically configured if `bmw_connected_drive` component is configured.
|
||||
|
||||
For more configuration information see the [`bmw_connected_drive` component](/components/bmw_connected_drive/) documentation.
|
|
@ -15,22 +15,22 @@ ha_iot_class: "Local Push"
|
|||
|
||||
The Hikvision Binary Sensor is a platform that parses the event stream of a [Hikvision IP Camera or NVR](http://www.hikvision.com/) and presents the camera/nvr events to Home Assistant as binary sensors with either an "off" or "on" state.
|
||||
|
||||
The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.
|
||||
The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.
|
||||
|
||||
<p class='note'>
|
||||
In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center / Trigger Alarm Output' permission which can be enabled from the user managment section of the web interace. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security / authentication section.
|
||||
In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center/Trigger Alarm Output' permission which can be enabled from the user management section of the web interface. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security/authentication section.
|
||||
</p>
|
||||
|
||||
For example, if you configure a camera with the name "Front Porch" that has motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
|
||||
|
||||
```
|
||||
```text
|
||||
binary_sensor.front_porch_motion
|
||||
binary_sensor.front_port_line_crossing
|
||||
```
|
||||
|
||||
When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
|
||||
When used with a NVR device the sensors will be appended with the channel number they represent. For example, if you configure an NVR with the name "Home" that supports 2 cameras with motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant:
|
||||
|
||||
```
|
||||
```text
|
||||
binary_sensor.home_motion_1
|
||||
binary_sensor.home_motion_2
|
||||
binary_sensor.home_line_crossing_1
|
||||
|
@ -38,35 +38,37 @@ binary_sensor.home_line_crossing_2
|
|||
```
|
||||
|
||||
This platform should work with all Hikvision cameras and nvrs, and has been confirmed to work with the following models:
|
||||
|
||||
- DS-2CD3132-I
|
||||
- DS-2CD2232-I5
|
||||
- DS-2CD2032-I
|
||||
- DS-2CD2042WD-I
|
||||
- DS-2CD2142FWD-I
|
||||
|
||||
To enable this sensor, the following lines are required in your `configuration.yaml`:
|
||||
To enable this sensor, the following lines are required in your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: hikvision
|
||||
host: IP_ADDRESS
|
||||
username: user
|
||||
password: pass
|
||||
- platform: hikvision
|
||||
host: IP_ADDRESS
|
||||
username: user
|
||||
password: pass
|
||||
```
|
||||
|
||||
Configuration options for a Hikvision Sensor:
|
||||
|
||||
- **name** (*Optional*): The name you'd like to give the camera in Home Assistant, defaults to name defined in the camera.
|
||||
- **host** (*Required*): The IP address of the camera you would like to connect to.
|
||||
- **port** (*Optional*): The port to connect to the camera on, defaults to 80.
|
||||
- **ssl** (*Optional*): True if you want to connect with https. Be sure to set the port also.
|
||||
- **username** (*Required*): The username to authenticate with.
|
||||
- **password** (*Required*): The password to authenticate with.
|
||||
- **name** (*Optional*): The name you'd like to give the camera in Home Assistant, defaults to name defined in the camera.
|
||||
- **port** (*Optional*): The port to connect to the camera on, defaults to 80.
|
||||
- **ssl** (*Optional*): True if you want to connect with https. Be sure to set the port also.
|
||||
- **customize** (*Optional*): This attribute contains sensor-specific override values. Only sensor name needs defined:
|
||||
- **ignored** (*Optional*): Ignore this sensor completely. It won't be shown in the Web Interface and no events are generated for it.
|
||||
- **delay** (*Optional*): Specify the delay to wait after a sensor event ends before notifying Home Assistant. This is useful to catch multiple quick trips in one window without the state toggling on and off. The default delay is 5 seconds.
|
||||
|
||||
Supported sensor/event types are:
|
||||
|
||||
- Motion
|
||||
- Line Crossing
|
||||
- Field Detection
|
||||
|
@ -84,37 +86,36 @@ Supported sensor/event types are:
|
|||
- Face Detection
|
||||
- Scene Change Detection
|
||||
|
||||
|
||||
Example of a configuration in your `configuration.yaml` that utilizes the customize options for a camera:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: hikvision
|
||||
host: 192.168.X.X
|
||||
port: 80
|
||||
ssl: False
|
||||
username: user
|
||||
password: pass
|
||||
customize:
|
||||
motion:
|
||||
delay: 30
|
||||
line_crossing:
|
||||
ignored: True
|
||||
- platform: hikvision
|
||||
host: 192.168.X.X
|
||||
port: 80
|
||||
ssl: False
|
||||
username: user
|
||||
password: pass
|
||||
customize:
|
||||
motion:
|
||||
delay: 30
|
||||
line_crossing:
|
||||
ignored: True
|
||||
```
|
||||
|
||||
Example of a configuration in your `configuration.yaml` that utilizes the customize options for a nvr:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: hikvision
|
||||
host: 192.168.X.X
|
||||
port: 80
|
||||
ssl: False
|
||||
username: user
|
||||
password: pass
|
||||
customize:
|
||||
motion_1:
|
||||
delay: 30
|
||||
field_detection_2:
|
||||
ignored: True
|
||||
- platform: hikvision
|
||||
host: 192.168.X.X
|
||||
port: 80
|
||||
ssl: False
|
||||
username: user
|
||||
password: pass
|
||||
customize:
|
||||
motion_1:
|
||||
delay: 30
|
||||
field_detection_2:
|
||||
ignored: True
|
||||
```
|
||||
|
|
|
@ -14,11 +14,12 @@ ha_iot_class: "Cloud Polling"
|
|||
---
|
||||
|
||||
|
||||
The 'hive' binary sensor component integrates your Hive sensors into Home Assistant.
|
||||
The `hive` binary sensor component integrates your Hive sensors into Home Assistant.
|
||||
|
||||
The Hive sensor component supports the following Hive products:
|
||||
- **Hive Window or Door Sensor**
|
||||
- **Hive Motion Sensor**
|
||||
The platform supports the following Hive products:
|
||||
|
||||
- Hive Window or Door Sensor
|
||||
- Hive Motion Sensor
|
||||
|
||||
|
||||
<p class='note'>
|
||||
|
|
|
@ -11,6 +11,8 @@ footer: true
|
|||
|
||||
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
|
||||
|
||||
### {% linkable_title Device Class %}
|
||||
|
||||
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
|
||||
|
||||
- **None**: Generic on/off. This is the default and doesn't need to be set.
|
||||
|
@ -38,4 +40,9 @@ The way these sensors are displayed in the frontend can be modified in the [cust
|
|||
- **vibration**: `On` means vibration detected, `Off` means no vibration (clear)
|
||||
- **window**: `On` means open, `Off` means closed
|
||||
|
||||
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
|
||||
For analog sensors please check the [component overview](/components/#sensor).
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/binary_sensor_classes_icons.png' />
|
||||
Example of various device classes icons in `On` and `Off` state.
|
||||
</p>
|
||||
|
|
|
@ -15,10 +15,12 @@ ha_iot_class: "Local Push"
|
|||
|
||||
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: modbus
|
||||
coils:
|
||||
|
@ -39,7 +41,7 @@ Configuration variables:
|
|||
|
||||
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
||||
|
||||
### {% linkable_title Full example %}
|
||||
## {% linkable_title Full example %}
|
||||
|
||||
Example a sensor with a 10 seconds scan interval:
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ The `mqtt` binary sensor platform uses an MQTT message payload to set the binary
|
|||
|
||||
The binary sensor state will be updated only after a new message is published on `state_topic` matching `payload_on` or `payload_off`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
The `mqtt` binary sensor platform optionally supports an `availability_topic` to receive online and offline messages (birth and LWT messages) from the MQTT device. During normal operation, if the MQTT cover device goes offline (i.e., publishes `payload_not_available` to `availability_topic`), Home Assistant will display the binary sensor as `unavailable`. If these messages are published with the `retain` flag set, the binary sensor will receive an instant update after subscription and Home Assistant will display the correct availability state of the binary sensor when Home Assistant starts up. If the `retain` flag is not set, Home Assistant will display the binary sensor as `unavailable` when Home Assistant starts up. If no `availability_topic` is defined, Home Assistant will consider the MQTT device to be available.
|
||||
|
||||
To use an MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -42,12 +44,12 @@ payload_on:
|
|||
description: The payload that represents the on state.
|
||||
required: false
|
||||
type: string
|
||||
default: ON
|
||||
default: "ON"
|
||||
payload_off:
|
||||
description: The payload that represents the off state.
|
||||
required: false
|
||||
type: string
|
||||
default: OFF
|
||||
default: "OFF"
|
||||
availability_topic:
|
||||
description: "The MQTT topic subscribed to receive birth and LWT messages from the MQTT device. If `availability_topic` is not defined, the binary sensor availability state will always be `available`. If `availability_topic` is defined, the binary sensor availability state will be `unavailable` by default."
|
||||
required: false
|
||||
|
@ -131,7 +133,7 @@ The configuration will look like the example below:
|
|||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: mqtt
|
||||
name: Bathroom
|
||||
|
|
|
@ -15,10 +15,12 @@ ha_iot_class: "Local Polling"
|
|||
|
||||
The `pilight` binary sensor platform implement the [pilight hub](/components/pilight/) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector).
|
||||
|
||||
|
||||
|
||||
To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: pilight
|
||||
variable: 'state'
|
||||
|
|
18
source/_components/binary_sensor.qwikswitch.markdown
Normal file
18
source/_components/binary_sensor.qwikswitch.markdown
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
layout: page
|
||||
title: "QwikSwitch Binary Sensor"
|
||||
description: "Instructions on how to integrate Qwikswitch dimmers and relays as sensors into Home Assistant."
|
||||
date: 2016-05-04 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: qwikswitch.png
|
||||
ha_category: Sensor
|
||||
ha_iot_class: "Local Push"
|
||||
ha_release: "0.68"
|
||||
---
|
||||
|
||||
The `qwikswitch` binary_sensor platform allows you to use your [QwikSwitch](http://www.qwikswitch.co.za/) sensors within Home Assistant.
|
||||
|
||||
The platform is configured through the [QwikSwitch component](/components/qwikswitch/).
|
|
@ -16,6 +16,8 @@ ha_release: 0.57
|
|||
|
||||
The `random` binary sensor platform is creating random states (`True`, 1, `on` or `False`, 0, `off`). This can be useful if you want to test automation rules. It generates a new state every time it is polled.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the random binary sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
|
|
|
@ -15,6 +15,10 @@ ha_release: 0.41
|
|||
|
||||
The `workday` binary sensor indicates, whether the current day is a workday or not. It allows specifying, which days of the week counts as workdays and also uses the python module [holidays](https://pypi.python.org/pypi/holidays) to incorporate information about region-specific public holidays.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available province.
|
||||
|
||||
To enable the `workday` sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -22,14 +26,14 @@ To enable the `workday` sensor in your installation, add the following to your `
|
|||
binary_sensor:
|
||||
- platform: workday
|
||||
country: DE
|
||||
workdays: [ mon, wed, fri ]
|
||||
workdays: [mon, wed, fri]
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): A name for this sensor. Defaults to *Workday Sensor*
|
||||
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation.
|
||||
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. Defaults to None.
|
||||
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation.
|
||||
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. Defaults to None.
|
||||
- **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`.
|
||||
- **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`.
|
||||
- **days_offset** (*Optional*): Set days offset. Defaults to `0`.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "BMW connected drive"
|
||||
description: "Instructions on how to setup your BMW connected drive account with Home Assistant."
|
||||
title: "BMW Connected Drive"
|
||||
description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant."
|
||||
date: 2018-01-10 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
|
@ -12,9 +12,9 @@ ha_category: Hub
|
|||
ha_release: 0.64
|
||||
---
|
||||
|
||||
This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account and a Connected Drive enabled vehicle for this to work.
|
||||
This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work.
|
||||
|
||||
For compatibility with your BMW vehicle check the (bimmer_connected page)[https://github.com/ChristianKuehnel/bimmer_connected] on github.
|
||||
For compatibility with your BMW vehicle check the [bimmer_connected page](https://github.com/m1n3rva/bimmer_connected) on github.
|
||||
|
||||
To enable this component in your installation, add the following to your
|
||||
`configuration.yaml` file:
|
||||
|
@ -25,7 +25,7 @@ bmw_connected_drive:
|
|||
name:
|
||||
username: USERNAME_BMW_CONNECTED_DRIVE
|
||||
password: PASSWORD_BMW_CONNECTED_DRIVE
|
||||
country: COUNTRY_BMW_CONNECTED_DRIVE
|
||||
region: one of "north_america", "china" , "rest_of_world"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -46,12 +46,44 @@ bmw_connected_drive:
|
|||
description: Your BMW Connected Drive password.
|
||||
required: true
|
||||
type: string
|
||||
country:
|
||||
description: "The country of your Connected Drive account. Please use the exact names for the country as listed on the [Connected Drive website](https://www.bmw-connecteddrive.com/)."
|
||||
region:
|
||||
description: "The region of your Connected Drive account. Please use of these values: `north_america`, `china`, `rest_of_world`"
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
The `bmw_connected_drive` component offers several services. In case you need to provide the vehicle identification number (VIN) as a parameter, you can see the VIN in the attributes of the device tracker for the vehicle. The VIN is a 17 digit alphanumeric string, e.g., `WBANXXXXXX1234567`.
|
||||
|
||||
Using these services will impact the state of your vehicle. So use these services with care!
|
||||
|
||||
### {% linkable_title Locking and unlocking %}
|
||||
|
||||
The vehicle can be locked and unlocked via the lock component that is created automatically for each vehicle. Before invoking these services, make sure it's safe to lock/unlock the vehicle in the current situation.
|
||||
|
||||
### {% linkable_title Air condition %}
|
||||
|
||||
The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`.
|
||||
|
||||
What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage).
|
||||
|
||||
The vehicle is identified via the parameter `vin`.
|
||||
|
||||
### {% linkable_title Sound the horn %}
|
||||
|
||||
The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`.
|
||||
|
||||
### {% linkable_title Flash the lights %}
|
||||
|
||||
The service `bmw_connected_drive.light_flash' flashes the lights of the vehicle. The vehicle is identified via the parameter `vin`.
|
||||
|
||||
### {% linkable_title Update the state %}
|
||||
|
||||
The service `bmw_connected_drive.update_state`fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles.
|
||||
|
||||
This service does not require any attributes.
|
||||
|
||||
## {% linkable_title Disclaimer %}
|
||||
|
||||
This software is not affiliated with or endorsed by BMW Group.
|
||||
|
|
|
@ -14,9 +14,9 @@ ha_release: 0.33
|
|||
---
|
||||
|
||||
|
||||
This platform allows you to connect to your [Google Calendars](https://calendar.google.com) and generate binary sensors. The sensors created can trigger based on any event on the calendar or only for matching events. When you first setup this component it will generate a new configuration file *google_calendars.yaml* that will contain information about all of the calendars you can see.
|
||||
The `google` calendar platform allows you to connect to your [Google Calendars](https://calendar.google.com) and generate binary sensors. The sensors created can trigger based on any event on the calendar or only for matching events. When you first setup this component it will generate a new configuration file `google_calendars.yaml` that will contain information about all of the calendars you can see.
|
||||
|
||||
### {% linkable_title Prerequisites %}
|
||||
## {% linkable_title Prerequisites %}
|
||||
|
||||
Generate a Client ID and Client Secret on [Google Developers Console](https://console.developers.google.com/start/api?id=calendar).
|
||||
|
||||
|
@ -27,43 +27,53 @@ Generate a Client ID and Client Secret on [Google Developers Console](https://co
|
|||
1. Save this page. You don't have to fill out anything else there.
|
||||
1. Click 'Create credentials' -> OAuth client ID.
|
||||
1. Set the Application type to 'Other' and give this credential set a name then click Create.
|
||||
1. Save the client ID and secret as you will need to put these in your configuration.yaml file.
|
||||
1. Save the client ID and secret as you will need to put these in your `configuration.yaml` file.
|
||||
1. Click on "Library", search for "Google Calendar API" and enable it.
|
||||
|
||||
### {% linkable_title Basic Setup %}
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To integrate Google Calendar in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
google:
|
||||
client_id: *Value_created_from_steps_above*
|
||||
client_secret: *Value_created_from_steps_above*
|
||||
client_id: YOUR_CLIENT_ID
|
||||
client_secret: YOUR_CLIENT_SECRET
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **client_id** (*Required*): Use the value you generated in the Prerequisites stage.
|
||||
- **client_secret** (*Required*): Use the value you generated in the Prerequisites stage.
|
||||
- **track_new_calendar** (*Optional*): Will automatically generate a binary sensor when a new calendar is detected. The system scans for new calendars on startup. By default this is set to `True`.
|
||||
{% configuration %}
|
||||
client_id:
|
||||
description: Use the value you generated in the Prerequisites stage.
|
||||
required: true
|
||||
type: string
|
||||
minimum:
|
||||
description: Use the value you generated in the Prerequisites stage.
|
||||
required: true
|
||||
type: string
|
||||
track_new_calendar:
|
||||
description: Will automatically generate a binary sensor when a new calendar is detected. The system scans for new calendars only on startup.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
The next steps will require you to have Home Assistant running.
|
||||
|
||||
After you have it running complete the Google authentication that pops up. It will give you a URL and a code to enter. This will grant your Home Assistant service access to all the Google Calendars that the account you authenticate with can read. This is a Read-Only view of these calendars.
|
||||
|
||||
## {% linkable_title Calendar Configuration %}
|
||||
|
||||
### {% linkable_title Calendar Configuration %}
|
||||
Editing `google_calendars.yaml`
|
||||
Editing the `google_calendars.yaml` file.
|
||||
|
||||
A basic entry for a single calendar looks like:
|
||||
|
||||
```yaml
|
||||
- cal_id: "***************************@group.calendar.google.com"
|
||||
- cal_id: "*****@group.calendar.google.com"
|
||||
entities:
|
||||
- device_id: test_everything
|
||||
name: Give me everything
|
||||
track: true
|
||||
- cal_id: "***************************@group.calendar.google.com"
|
||||
- cal_id: "*****@group.calendar.google.com"
|
||||
entities:
|
||||
- device_id: test_important
|
||||
name: Important Stuff
|
||||
|
@ -79,38 +89,28 @@ A basic entry for a single calendar looks like:
|
|||
Variables:
|
||||
|
||||
- **cal_id**: The Google generated unique id for this calendar. **DO NOT CHANGE**
|
||||
|
||||
- **entities**: Yes, you can have multiple sensors for a calendar!
|
||||
|
||||
- **device_id**: (*Required*): The name that all your automations/scripts will use to reference this device.
|
||||
|
||||
- **name**: (*Required*): What is the name of your sensor that you'll see in the frontend.
|
||||
|
||||
- **track**: (*Required*): Should we create a sensor `True` or ignore it `False`?
|
||||
|
||||
- **search**: (*Optional*): If set will only trigger for matched events.
|
||||
|
||||
- **offset**: (*Optional*): A set of characters that precede a number in the event title for designating a pre-trigger state change on the sensor. (Default: `!!`)
|
||||
|
||||
- **ignore_availablilty**: (*Optional*): Should we respect `free`/`busy` flags? (Defaults to `true`)
|
||||
|
||||
From this we will end up with the binary sensors `calendar.test_unimportant` and `calendar.test_important` which will toggle themselves on/off based on events on the same calendar that match the search value set for each. You'll also have a sensor `calendar.test_everything` that will not filter events out and always show the next event available.
|
||||
|
||||
But what if you only wanted it to toggle based on all events? Just leave out the *search* parameter.
|
||||
|
||||
**Note**: If you use a `#` sign for `search` then wrap the whole search term in quotes. Otherwise everything following the hash sign would be considered a YAML comment.
|
||||
|
||||
<p class='note warning'>
|
||||
If you use a `#` sign for `search` then wrap the whole search term in quotes. Otherwise everything following the hash sign would be considered a YAML comment.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Sensor attributes %}
|
||||
|
||||
- **offset_reached**: If set in the event title and parsed out will be `on`/`off` once the offset in the title in minutes is reached. So the title `Very important meeting #Important !!-10` would trigger this attribute to be `on` 10 minutes before the event starts.
|
||||
|
||||
- **all_day**: `True`/`False` if this is an all day event. Will be `False` if there is no event found.
|
||||
|
||||
- **message**: The event title with the `search` and `offset` values extracted. So in the above example for **offset_reached** the **message** would be set to `Very important meeting`
|
||||
|
||||
- **description**: The event description.
|
||||
|
||||
- **location**: The event Location.
|
||||
|
||||
- **start_time**: Start time of event.
|
||||
|
||||
- **end_time**: End time of event.
|
||||
|
|
|
@ -63,7 +63,7 @@ calendar:
|
|||
- Calculus II
|
||||
```
|
||||
|
||||
(See [here](https://home-assistant.io/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!)
|
||||
(See [here](/docs/configuration/secrets/) for more details about what that `!secret` does -- it's not exclusive to Todoist, and can help keep your API keys and passwords a little safer!)
|
||||
|
||||
As you can see, there are 4 custom projects here:
|
||||
|
||||
|
@ -111,7 +111,7 @@ Home Assistant does its best to determine what task in each project is "most" im
|
|||
|
||||
Todoist also comes with access to a service, `calendar.todoist_new_task`. This service can be used to create a new Todoist task. You can specify labels and a project, or you can leave them blank, and the task will go to your "Inbox" project.
|
||||
|
||||
Here's an example JSON payload:
|
||||
Here are two example JSON payloads resulting in the same task:
|
||||
|
||||
```json
|
||||
{
|
||||
|
@ -123,6 +123,17 @@ Here's an example JSON payload:
|
|||
}
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"content": "Pick up the mail",
|
||||
"project": "Errands",
|
||||
"labels":"Homework,School",
|
||||
"priority":3,
|
||||
"due_date_string":"tomorrow at 14:00",
|
||||
"due_date_lang":"en"
|
||||
}
|
||||
```
|
||||
|
||||
- **content** (*Required*): The name of the task you want to create.
|
||||
|
||||
- **project** (*Optional*): The project to put the task in.
|
||||
|
@ -131,6 +142,11 @@ Here's an example JSON payload:
|
|||
|
||||
- **priority** (*Optional*): The priority of the task, from 1-4. Again, 1 means least important, and 4 means most important.
|
||||
|
||||
- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format.
|
||||
- **due_date_string** (*Optional*): When the task should be due, in [natural language](https://support.todoist.com/hc/en-us/articles/205325931-Dates-and-Times). Mutually exclusive with `due_date`
|
||||
|
||||
- **due_date_lang** (*Optional*): When `due_date_string` is set, it is posisble to set the language.
|
||||
Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl`
|
||||
|
||||
- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Mutually exclusive with `due_date_string`.
|
||||
|
||||
Note that there's (currently) no way to mark tasks as done through Home Assistant; task names do not necessarily have to be unique, so you could find yourself in a situation where you close the wrong task.
|
||||
|
|
|
@ -30,4 +30,4 @@ Configuration variables:
|
|||
|
||||
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
|
||||
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation.
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.
|
||||
|
|
|
@ -15,6 +15,8 @@ ha_iot_class: "Local Polling"
|
|||
|
||||
The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable your Foscam IP camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -22,8 +24,8 @@ To enable your Foscam IP camera in your installation, add the following to your
|
|||
camera:
|
||||
- platform: foscam
|
||||
ip: IP_ADDRESS
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -39,4 +41,5 @@ There seems to be some issues within Foscam with lengthy passwords and passwords
|
|||
</p>
|
||||
|
||||
### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %}
|
||||
|
||||
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Local File"
|
||||
description: "Instructions on how to use Local File as a Camera within Home Assistant."
|
||||
description: "Instructions how to use Local File as a Camera within Home Assistant."
|
||||
date: 2016-06-12 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
|
@ -13,9 +13,9 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: 0.22
|
||||
---
|
||||
|
||||
The `local_file` camera platform allows you to integrate any readable image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated.
|
||||
The `local_file` camera platform allows you to integrate an image file from disk into Home Assistant as a camera. If the image is updated on the file system the image displayed in Home Assistant will also be updated. The service `local_file_update_file_path` can be used to update the image using an automation.
|
||||
|
||||
This can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
|
||||
The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
|
||||
|
||||
To enable this camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -31,7 +31,11 @@ Configuration variables:
|
|||
- **file_path** (*Required*): File to serve as the camera.
|
||||
- **name** (*Optional*): Name of the camera
|
||||
|
||||
<p class='note'>
|
||||
The given `file_path` must be an existing file because the camera platform setup make a readable check on it.
|
||||
</p>
|
||||
### {% linkable_title Service `camera.local_file_update_file_path` %}
|
||||
|
||||
Use this service to change the file displayed by the camera.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| -----------------------| ----------- |
|
||||
| `entity_id` | String of the `entity_id` of the camera to update. |
|
||||
| `file_path` | The full path to the new image file to be displayed. |
|
||||
|
|
|
@ -29,17 +29,46 @@ camera:
|
|||
max_image_width: 720
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **entity_id** (*Required*): The ID of another Home Assistant camera to post-process.
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your camera.
|
||||
- **max_image_width** (*Optional*): The maximum width of single images taken from the camera (aspect ratio will be maintained).
|
||||
- **max_stream_width** (*Optional*): The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
|
||||
- **image_quality** (*Optional*): The quality level used for resulting JPEG for snapshots (default: 75).
|
||||
- **stream_quality** (*Optional*): The quality level used for resulting MJPEG streams (default: 75).
|
||||
- **image_refresh_rate** (*Optional*): The minimum time in seconds between generating successive image snapshots.
|
||||
- **force_resize** (*Optional*): Resize the image even if the resulting image would take up more bandwidth than the original.
|
||||
- **cache_images** (*Optional*): Preserve the last image and re-send in the case the camera is not responding.
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The ID of another Home Assistant camera to post-process.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: This parameter allows you to override the name of your camera.
|
||||
required: false
|
||||
type: string
|
||||
max_image_width:
|
||||
description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
|
||||
required: false
|
||||
type: integer
|
||||
max_stream_width:
|
||||
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
|
||||
required: false
|
||||
type: integer
|
||||
image_quality:
|
||||
description: The quality level used for resulting JPEG for snapshots.
|
||||
required: false
|
||||
type: integer
|
||||
default: 75
|
||||
stream_quality:
|
||||
description: The quality level used for resulting MJPEG streams.
|
||||
required: false
|
||||
type: integer
|
||||
default: 75
|
||||
image_refresh_rate:
|
||||
description: The minimum time in seconds between generating successive image snapshots.
|
||||
required: false
|
||||
type: float
|
||||
force_resize:
|
||||
description: Resize the image even if the resulting image would take up more bandwidth than the original.
|
||||
required: false
|
||||
type: boolean
|
||||
cache_images:
|
||||
description: Preserve the last image and re-send in the case the camera is not responding.
|
||||
required: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_release: 0.57
|
|||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -28,7 +28,7 @@ Configuration variables:
|
|||
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
|
||||
- **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds.
|
||||
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](https://home-assistant.io/components/ffmpeg/) documentation.
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.
|
||||
|
||||
Currently it supports doorbell and stickup cameras.
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ ha_iot_class: "Local Polling"
|
|||
---
|
||||
|
||||
|
||||
The `synology` platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant.
|
||||
The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant.
|
||||
|
||||
To enable your Surveillance Station cameras in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -22,9 +22,9 @@ To enable your Surveillance Station cameras in your installation, add the follow
|
|||
# Minimum configuration.yaml entry
|
||||
camera:
|
||||
- platform: synology
|
||||
url: SYNOLOGY_URL
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
url: IP_ADDRESS_OF_SYNOLOGY_NAS
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -43,8 +43,8 @@ A full sample configuration for the `synology` platform is shown below:
|
|||
camera:
|
||||
- platform: synology
|
||||
url: https://192.168.1.120:5001
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
timeout: 15
|
||||
verify_ssl: False
|
||||
```
|
||||
|
|
|
@ -34,6 +34,10 @@ Once installed, please ensure that you have enabled FTP and Telnet on your devic
|
|||
Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
Some alternative Yi firmwares enable an experimental RTSP server, which will allow you to connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Yi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP.
|
||||
</p>
|
||||
|
|
|
@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling"
|
|||
|
||||
The `canary` component allows you to integrate your [Canary](https://canary.is) devices in Home Assistant.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
You will need your Canary login information (username, usually your email address, and password) to use this module.
|
||||
|
||||
To set it up, add the following to your `configuration.yaml` file:
|
||||
|
@ -22,8 +24,8 @@ To set it up, add the following to your `configuration.yaml` file:
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
canary:
|
||||
username: you@example.com
|
||||
password: secret
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -42,8 +44,6 @@ canary:
|
|||
default: 10
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
|
||||
Once loaded, your front end will have the following components:
|
||||
|
||||
* A camera image triggered by motion for each camera.
|
||||
|
|
28
source/_components/climate.fritzbox.markdown
Normal file
28
source/_components/climate.fritzbox.markdown
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Fritzbox Thermostat"
|
||||
description: "Instructions on how to integrate the AVM Fritzbox thermostat."
|
||||
date: 2017-11-12 17:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: avm.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.68
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
To get AVM fritzbox thermostat follow the instructions for the general [Fritzbox](/components/fritzbox/).
|
||||
</p>
|
||||
|
||||
### {% linkable_title Attributes %}
|
||||
|
||||
The are several attributes that can be useful for automations and templates.
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| `device_locked` | The state of the key lock at the device.
|
||||
| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface.
|
||||
| `low_battery` | The low battery state indication.
|
|
@ -14,13 +14,15 @@ ha_iot_class: "Cloud Polling"
|
|||
---
|
||||
|
||||
|
||||
The 'hive' climate component integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
|
||||
The `hive` climate platform integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
|
||||
|
||||
A short boost for Hive Heating or Hive Hot water can be set by using the **Aux Heat** function, this will turn on the boost feature for Hive Heating or Hive Hot water for 30 minutes at 0.5 degrees higher than the current temperature.
|
||||
|
||||
The Hive climate component supports the following Hive products:
|
||||
- **Hive Active Heating**
|
||||
- **Hive Multizone**
|
||||
- **Hot water control**
|
||||
The platform supports the following Hive products:
|
||||
|
||||
- Hive Active Heating
|
||||
- Hive Multizone
|
||||
- Hot water control
|
||||
|
||||
|
||||
<p class='note'>
|
||||
|
|
71
source/_components/climate.modbus.markdown
Normal file
71
source/_components/climate.modbus.markdown
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Modbus"
|
||||
description: "Instructions how to integrate a Modbus thermostat within Home Assistant."
|
||||
date: 2018-01-29 9:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: modbus.png
|
||||
ha_category: Thermostat
|
||||
ha_release: 0.68
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `modbus` thermostat allows you to use a sensor value (current temperature) and target value (target temperature) from [Modbus](http://www.modbus.org/) registers.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Modbus thermostat in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: modbus
|
||||
name: Watlow F4T
|
||||
slave: 1
|
||||
target_temp_register: 2782
|
||||
current_temp_register: 27586
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name of the device
|
||||
required: true
|
||||
type: string
|
||||
slave:
|
||||
description: The number of the slave (Optional for tcp and upd Modbus, use 1).
|
||||
required: true
|
||||
type: int
|
||||
target_temp_register:
|
||||
description: Register number for target temperature (Setpoint).
|
||||
required: true
|
||||
type: int
|
||||
current_temp_register:
|
||||
description: Register number for current temperature (Process value).
|
||||
required: true
|
||||
type: int
|
||||
data_type:
|
||||
description: Response representation (int, uint, float, custom). If float selected, value will converted to IEEE 754 floating point format.
|
||||
required: false
|
||||
type: string
|
||||
default: float
|
||||
count:
|
||||
description: Number of registers to read.
|
||||
required: false
|
||||
type: int
|
||||
precision:
|
||||
description: Number of valid decimals.
|
||||
required: false
|
||||
type: int
|
||||
default: 0
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
### {% linkable_title Services %}
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| set_temperature | Set Temperature. Requires `value` to be passed in, which is the desired target temperature. `value` should be in the same type as `data_type` |
|
|
@ -87,3 +87,9 @@ intent_script:
|
|||
- "{% if color == 'blue' %}255{% else %}0{% endif %}"
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
#### {% linkable_title Service `conversation.process` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|--------------------------------------------------|
|
||||
| `text` | yes | Transcribed text |
|
||||
|
|
|
@ -16,6 +16,8 @@ ha_iot_class: "Cloud Polling"
|
|||
|
||||
The `garadget` cover platform lets you control [Garadget](http://www.garadget.com/) garage door futurizers through Home Assistant.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable Garadget Covers in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -24,8 +26,8 @@ cover:
|
|||
- platform: garadget
|
||||
covers:
|
||||
190028001947343412342341:
|
||||
username: UseYourLogin@garadget.com
|
||||
password: abc123
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
4c003f001151353432134214:
|
||||
access_token: df4cc785ff818f2b01396c44142342fccdef
|
||||
```
|
||||
|
@ -44,12 +46,13 @@ Configuration variables:
|
|||
|
||||
If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time.
|
||||
|
||||
## {% linkable_title Example %}
|
||||
|
||||
**Example with more detail:**
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/components/garadget/cover_garadget_details.png' />
|
||||
</p>
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Related configuration.yaml entry
|
||||
cover:
|
||||
|
@ -64,13 +67,13 @@ sensor:
|
|||
sensors:
|
||||
garage_door_status:
|
||||
friendly_name: 'State of the door'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.state }}'{% endraw %}
|
||||
value_template: '{{ states.cover.garage_door.state }}'
|
||||
garage_door_time_in_state:
|
||||
friendly_name: 'Since'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes.time_in_state }}'{% endraw %}
|
||||
value_template: '{{ states.cover.garage_door.attributes.time_in_state }}'
|
||||
garage_door_wifi_signal_strength:
|
||||
friendly_name: 'WiFi strength'
|
||||
value_template: {% raw %}'{{ states.cover.garage_door.attributes.wifi_signal_strength }}'{% endraw %}
|
||||
value_template: '{{ states.cover.garage_door.attributes.wifi_signal_strength }}'
|
||||
unit_of_measurement: 'dB'
|
||||
|
||||
group:
|
||||
|
@ -88,6 +91,7 @@ customize:
|
|||
sensor.garage_door_wifi_signal_strength:
|
||||
icon: mdi:wifi
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Some of the Garadget sensors can create a lot of clutter in the logbook. Use this section of code in your `configuration.yaml` to exclude those entries.
|
||||
|
||||
|
|
49
source/_components/cover.gogogate2.markdown
Normal file
49
source/_components/cover.gogogate2.markdown
Normal file
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Gogogate2 Cover"
|
||||
description: "Instructions on how to integrate Gogogate2-Enabled garage door covers into Home Assistant."
|
||||
date: 2018-03-26 20:02
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: gogogate2.png
|
||||
ha_category: Cover
|
||||
ha_release: 0.67
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `gogogate2` cover platform lets you control Gogogate2-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your Gogogate2 mobile app.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Gogogate2 cover in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: gogogate2
|
||||
username: email@email.com
|
||||
password: password
|
||||
ip_address: 192.168.1.200
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your Gogogate2 account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your Gogogate2 account password.
|
||||
required: true
|
||||
type: string
|
||||
ip_address:
|
||||
description: The IP Address of your Gogogate2 device.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Allows you to override the default name.
|
||||
default: gogogate2
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
43
source/_components/cover.group.markdown
Normal file
43
source/_components/cover.group.markdown
Normal file
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Cover Group"
|
||||
description: "Instructions how to setup grouped covers in Home Assistant."
|
||||
date: 2018-02-11 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Cover
|
||||
ha_release: 0.66
|
||||
ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
---
|
||||
|
||||
The `group` platform can create a cover that combines several cover entities into one.
|
||||
|
||||
To enable `Cover Groups` in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: group
|
||||
entities:
|
||||
- cover.hall_window
|
||||
- cover.living_room_window
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: "Cover Group"
|
||||
entities:
|
||||
description: List of all cover entities you want to control.
|
||||
required: true
|
||||
type: [string | list]
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Functionality %}
|
||||
|
||||
It works best if you group covers with the same supported features together (like support for `open`/`close`/`stop`/`position`/`tilt controls`), but is not limited to it. In case you have bundled covers with different features together, the controls will only affect those covers that support the actions.
|
|
@ -15,6 +15,8 @@ ha_release: 0.18
|
|||
|
||||
The `mqtt` cover platform allows you to control an MQTT cover (such as blinds, a rollershutter, or a garage door).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
The device state (`open` or `closed`) will be updated only after a new message is published on `state_topic` matching `state_open` or `state_closed`. If these messages are published with the `retain` flag set, the cover will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`.
|
||||
|
||||
There is an attribute that stores the relative position of the device, where 0 means the device is `closed` and all other intermediate positions means the device is `open`.
|
||||
|
@ -164,7 +166,7 @@ In this section you will find some real life examples of how to use this platfor
|
|||
The example below shows a full configuration for a cover without tilt.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: mqtt
|
||||
name: "MQTT Cover"
|
||||
|
@ -188,8 +190,9 @@ cover:
|
|||
|
||||
The example below shows a full configuration for a cover.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: mqtt
|
||||
name: "MQTT Cover"
|
||||
|
@ -206,7 +209,7 @@ cover:
|
|||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
optimistic: false
|
||||
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||
value_template: '{{ value.x }}'
|
||||
tilt_command_topic: 'home-assistant/cover/tilt'
|
||||
tilt_status_topic: 'home-assistant/cover/tilt-state'
|
||||
tilt_min: 0
|
||||
|
@ -214,6 +217,7 @@ cover:
|
|||
tilt_closed_value: 70
|
||||
tilt_opened_value: 180
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages. This allows you to operate your cover manually:
|
||||
|
||||
|
|
|
@ -15,19 +15,31 @@ ha_iot_class: Cloud Polling
|
|||
|
||||
The `myq` cover platform lets you control MyQ-Enabled garage doors through Home Assistant. Device names in Home Assistant are generated based on the names defined in your MyQ Device mobile app.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your MyQ cover in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: myq
|
||||
username: email@email.com
|
||||
password: password
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
type: chamberlain
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your MyQ account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your MyQ account password.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: "Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`."
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **username** (*Required*): Your MyQ account username.
|
||||
- **password** (*Required*): Your MyQ account password.
|
||||
- **type** (*Required*): Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`.
|
||||
|
|
|
@ -13,24 +13,20 @@ ha_release: 0.13
|
|||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
Wink cover/garage door functionality depends on the product you're using. With GoControl/Linear Home Assistant can open, close, and view state. Chamberlain is currently limited to view only. Meaning Home Assistant will only show the current state of the door and control has been disabled (by Chamberlain). If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control.
|
||||
Wink Cover garage door functionality varies on the product. Home Assistant can open, close, and view state of GoControl/Linear openers. For Chamberlain MyQ-enabled openers, Home Assistant is limited to show current state (open or closed) only using this Wink cover. This restriction was imposed by Chamberlain for third party control. Wink suggests that MyQ customers should contact Chamberlain directly to inquire about expanding permissions.
|
||||
|
||||
The following quote is from Wink.
|
||||
|
||||
> As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions.
|
||||
The [MyQ Cover](/components/cover.myq/) does provide full functionality for opening and closing Chamberlain MyQ-enabled garage doors. If installed along with the Wink Component, a duplicate garage door entity may exist. In that case, the semi-functional Wink garage door entity can be hidden via customize.yaml.
|
||||
|
||||
The requirement is that you have setup [Wink](/components/wink/).
|
||||
|
||||
|
||||
### {% linkable_title Supported cover devices %}
|
||||
|
||||
- Bali window treatments
|
||||
- Lutron shades
|
||||
- Pella motorized blinds and shades
|
||||
- GoControl garage door opener
|
||||
- Chamberlain (Limited functionality) (No Wink hub required)
|
||||
- Chamberlain MyQ (Limited functionality) (No Wink hub required)
|
||||
|
||||
<p class='note'>
|
||||
The above devices are confirmed to work, but others may work as well.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -17,29 +17,33 @@ ha_iot_class: "Local Push"
|
|||
|
||||
[deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/).
|
||||
|
||||
### {% linkable_title Supported device types %}
|
||||
|
||||
- [Zigbee Lights](/components/light.deconz/)
|
||||
- [Consumption Sensors](/components/sensor.deconz/)
|
||||
- [Humidity Sensors](/components/sensor.deconz/)
|
||||
- [Light Level Sensors](/components/sensor.deconz/)
|
||||
- [OpenClose Detectors](/components/binary_sensor.deconz/)
|
||||
- [Power Sensors](/components/sensor.deconz/)
|
||||
- [Presence Detectors](/components/binary_sensor.deconz/)
|
||||
- [Pressure Sensors](/components/sensor.deconz/)
|
||||
- [Switches (Remote Controls)](/components/sensor.deconz/)
|
||||
- [Temperature Sensors](/components/sensor.deconz/)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
|
||||
|
||||
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to Menu->Settings->Unlock Gateway in deCONZ and then use the deCONZ configurator in Home Assistant GUI to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in deconz.conf inside the home-assistant folder.
|
||||
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in `.config_entries.json` inside the `.homeassistant` folder.
|
||||
|
||||
You can add the following to your configuration.yaml file if you are not using the `discovery:` component:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
deconz:
|
||||
host: IP ADDRESS
|
||||
host: IP_ADDRESS
|
||||
```
|
||||
|
||||
#### {% linkable_title Supported Device types %}
|
||||
|
||||
- [Zigbee Lights](/components/light.deconz/)
|
||||
- [Humidity Sensors](/components/sensor.deconz/)
|
||||
- [Light Level Sensors](/components/sensor.deconz/)
|
||||
- [OpenClose Detectors](/components/binary_sensor.deconz/)
|
||||
- [Presence Detectors](/components/binary_sensor.deconz/)
|
||||
- [Pressure Sensors](/components/sensor.deconz/)
|
||||
- [Switches (Remote Controls)](/components/sensor.deconz/)
|
||||
- [Temperature Sensors](/components/sensor.deconz/)
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your deCONZ web server.
|
||||
|
@ -66,10 +70,24 @@ deconz:
|
|||
port: 80
|
||||
```
|
||||
|
||||
## {% linkable_title Debugging component %}
|
||||
|
||||
If you have problems with deCONZ or the component you can add debug prints to the log.
|
||||
|
||||
```yaml
|
||||
logger:
|
||||
default: info
|
||||
logs:
|
||||
pydeconz: debug
|
||||
homeassistant.components.deconz: debug
|
||||
```
|
||||
|
||||
## {% linkable_title Device services %}
|
||||
|
||||
Available services: `configure`.
|
||||
|
||||
#### {% linkable_title Service `deconz/configure` %}
|
||||
#### {% linkable_title Service `deconz.configure` %}
|
||||
|
||||
Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|
@ -86,7 +104,7 @@ Field and entity are exclusive, i.e you can only use one in a request.
|
|||
|
||||
{ "field": "/config", "data": {"permitjoin": 60} }
|
||||
|
||||
## {% linkable_title Remote control devices%}
|
||||
## {% linkable_title Remote control devices %}
|
||||
|
||||
Remote controls (ZHASwitch category) will be not be exposed as a regular entity, but as events named 'deconz_event' with a payload of 'id' and 'event'. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
|
||||
|
||||
|
@ -107,6 +125,7 @@ For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is le
|
|||
|
||||
### {% linkable_title Step up and step down input number with wireless dimmer %}
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
automation:
|
||||
- alias: 'Toggle lamp from dimmer'
|
||||
|
@ -133,9 +152,9 @@ automation:
|
|||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: light.lamp
|
||||
brightness: {% raw %}>
|
||||
brightness: >
|
||||
{% set bri = states.light.lamp.attributes.brightness | int %}
|
||||
{{ [bri+30, 249] | min }}{% endraw %}
|
||||
{{ [bri+30, 249] | min }}
|
||||
|
||||
- alias: 'Decrease brightness of lamp from dimmer'
|
||||
initial_state: 'on'
|
||||
|
@ -149,7 +168,8 @@ automation:
|
|||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: light.lamp
|
||||
brightness: {% raw %}>
|
||||
brightness: >
|
||||
{% set bri = states.light.lamp.attributes.brightness | int %}
|
||||
{{ [bri-30, 0] | max }}{% endraw %}
|
||||
{{ [bri-30, 0] | max }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -12,7 +12,7 @@ ha_category: Other
|
|||
---
|
||||
|
||||
|
||||
The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](https://home-assistant.io/demo/) or `hass --demo-mode` but combined with your own real/functional platforms.
|
||||
The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the actual platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](/demo/) or `hass --demo-mode` but combined with your own real/functional platforms.
|
||||
|
||||
Available demo platforms:
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ The `asuswrt` platform offers presence detection by looking at connected devices
|
|||
This platform is **NOT** available for [Microsoft Windows installations](http://pexpect.readthedocs.io/en/stable/overview.html#pexpect-on-windows).
|
||||
</p>
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -29,15 +31,44 @@ device_tracker:
|
|||
username: YOUR_ADMIN_USERNAME
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`.
|
||||
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
|
||||
- **password** (*Optional*): The password for your given admin account (use this if no SSH key is given).
|
||||
- **protocol** (*Optional*): The protocol (`ssh` or `telnet`) to use. Defaults to `ssh`.
|
||||
- **port** (*Optional*): SSH port to use. Defaults to `22`.
|
||||
- **mode** (*Optional*): The operating mode of the router (`router` or `ap`). Defaults to `router`.
|
||||
- **ssh_key** (*Optional*): The path to your SSH private key file associated with your given admin account (instead of password).
|
||||
{% configuration %}
|
||||
host:
|
||||
description: "The IP address of your router, eg. `192.168.1.1`."
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: "The username of an user with administrative privileges, usually `admin`."
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: "The password for your given admin account (use this if no SSH key is given)."
|
||||
required: false
|
||||
type: string
|
||||
protocol:
|
||||
description: "The protocol (`ssh` or `telnet`) to use."
|
||||
required: false
|
||||
type: string
|
||||
default: ssh
|
||||
port:
|
||||
description: SSH port to use.
|
||||
required: false
|
||||
type: int
|
||||
default: 22
|
||||
mode:
|
||||
description: "The operating mode of the router (`router` or `ap`)."
|
||||
required: false
|
||||
type: string
|
||||
default: router
|
||||
ssh_key:
|
||||
description: The path to your SSH private key file associated with your given admin account (instead of password).
|
||||
required: false
|
||||
type: string
|
||||
require_ip:
|
||||
description: If the router is in access point mode.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
You need to [enable telnet](https://www.asus.com/support/faq/1005449/) on your router if you choose to use `protocol: telnet`.
|
||||
|
|
|
@ -27,6 +27,14 @@ device_tracker:
|
|||
- platform: bluetooth_tracker
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
request_rssi:
|
||||
description: Performs a request for the "Received signal strength indication" (RSSI) of each tracked device
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
{% endconfiguration %}
|
||||
|
||||
In some cases it can be that your device is not discovered. In that case let your phone scan for Bluetooth devices while you restart Home Assistant. Just hit `Scan` on your phone all the time until Home Assistant is fully restarted and the device should appear in `known_devices.yaml`.
|
||||
|
||||
For additional configuration variables check the [Device tracker page](/components/device_tracker/).
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "BMW connected drive"
|
||||
description: "Instructions on how to setup your BMW connected drive account with Home Assistant."
|
||||
title: "BMW Connected Drive Device Tracker"
|
||||
description: "Instructions on how to setup your BMW Connected Drive account with Home Assistant."
|
||||
date: 2018-01-10 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
|
|
|
@ -15,6 +15,8 @@ ha_release: "0.10"
|
|||
|
||||
The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
<p class='note warning'>
|
||||
It might be necessary to install additional packages: <code>$ sudo apt-get install libxslt-dev libxml2-dev python3-lxml</code>
|
||||
If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command <code> pip install lxml</code>; be patient this will take a while.</p>
|
||||
|
|
|
@ -39,8 +39,8 @@ device_tracker:
|
|||
|
||||
To configure Geofency, you must configure (via the Webhook feature) to send a POST request to your Home Assistant server at `http://<ha_server>/api/geofency`. Use the default POST format, and make sure to include the API password if you have configured a password in Home Assistant (add `?api_password=<password>` to the end of the URL). Make sure to enable the 'Update Geo-Position' functionality for mobile beacons.
|
||||
|
||||
Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
|
||||
Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
|
||||
|
||||
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](https://home-assistant.io/components/zone/), otherwise, it will be set to the name of the zone.
|
||||
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone.
|
||||
|
||||
To make Geofency work better with the [proximity](https://home-assistant.io/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.
|
||||
To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.
|
46
source/_components/device_tracker.google_maps.markdown
Normal file
46
source/_components/device_tracker.google_maps.markdown
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Google Maps Location Sharing"
|
||||
description: "Instructions how to use Google Maps Location Sharing to track devices in Home Assistant."
|
||||
date: 2017-02-12 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: google_maps.png
|
||||
ha_release: 0.67
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing).
|
||||
|
||||
You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing).
|
||||
|
||||
This platform will create a file named `google_maps_location_sharing.conf` where it caches your login session.
|
||||
|
||||
<p class='note warning'>
|
||||
Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this component.
|
||||
This issue can be fixed by logging in with your new account and approving your login on the [Device Activity](https://myaccount.google.com/device-activity) page.
|
||||
</p>
|
||||
|
||||
To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: google_maps
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The email address for the Google account that has access to your shared location.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for your given username.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
|
@ -12,9 +12,12 @@ ha_category: Presence Detection
|
|||
ha_release: 0.51
|
||||
---
|
||||
|
||||
This component offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
|
||||
The `huawei` device trakcer platform offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
|
||||
|
||||
Currently, this was only tested with the Huawei HG8247H and HG8247Q Smart Router (used by Vodafone Portugal).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use a Huawei router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -22,15 +25,23 @@ To use a Huawei router in your installation, add the following to your `configur
|
|||
device_tracker:
|
||||
- platform: huawei_router
|
||||
host: 192.168.1.1
|
||||
username: user
|
||||
password: pass
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1.
|
||||
- **username** (*Required*): The username to login into the router (the same used trough the router's web interface).
|
||||
- **password** (*Required*): The password for the specified username.
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your router, e.g., 192.168.1.1.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username to login into the router (the same used trough the router's web interface).
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for the specified username.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
|
|
@ -33,9 +33,11 @@ Configuration variables:
|
|||
- **username** (*Required*): The username for the iCloud account.
|
||||
- **password** (*Required*): The password for your given username.
|
||||
- **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address).
|
||||
- **max_interval** (*Optional*): Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Default is 30 min. Minimum value is 1 min.
|
||||
- **gps_accuracy_threshold** (*Optional*): iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. Default is 1000 meters.
|
||||
|
||||
<p class='note warning'>
|
||||
This may cause battery drainage as it wakes up your device to get the current location.
|
||||
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
|
@ -48,7 +50,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac
|
|||
2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet.
|
||||
|
||||
4 services are available for this component:
|
||||
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional.
|
||||
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened.
|
||||
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
|
||||
- **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
|
||||
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional.
|
||||
|
|
|
@ -13,7 +13,7 @@ Home Assistant can get information from your wireless router or third party serv
|
|||
|
||||
There are also trackers available which use different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/device_tracker.nmap_tracker/) to scan the network for devices.
|
||||
|
||||
An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time.
|
||||
An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time.
|
||||
|
||||
## {% linkable_title Configuring a `device_tracker` platform %}
|
||||
|
||||
|
@ -40,6 +40,10 @@ The following optional parameters can be used with any platform. However device
|
|||
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
|
||||
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `True`), `hide_if_away` (default: `False`) |
|
||||
|
||||
<p class='note'>
|
||||
Note that setting `track_new_devices: False` will still result in new devices being recorded in `known_devices.yaml`, but they won't be tracked (`track: no`).
|
||||
</p>
|
||||
|
||||
The extended example from above would look like the following sample:
|
||||
|
||||
```yaml
|
||||
|
@ -65,7 +69,7 @@ Here's an example configuration for a single device:
|
|||
devicename:
|
||||
name: Friendly Name
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture: https://home-assistant.io/images/favicon-192x192.png
|
||||
picture: https://www.home-assistant.io/images/favicon-192x192.png
|
||||
track: yes
|
||||
hide_if_away: no
|
||||
```
|
||||
|
|
|
@ -11,8 +11,21 @@ logo: meraki.png
|
|||
ha_category: Presence Detection
|
||||
ha_release: "0.60"
|
||||
---
|
||||
Use your `Meraki AP` as device tracker. Note that Meraki will see all devices, not only connected to the network.
|
||||
Follow instructions [here](https://meraki.cisco.com/technologies/location-analytics-api) how to enable Location Analytics.
|
||||
|
||||
Use your Meraki AP as device tracker. Note that Meraki will see all devices, not only connected to the network.
|
||||
|
||||
### {% linkable_title Prerequisites %}
|
||||
|
||||
1. Go to Network-wide/General page, and find the Location and scanning section.
|
||||
1. Make sure analytics and Scanning API are both enabled.
|
||||
1. Make note of the Validator string, which will be used in the `device_tracker` configuration.
|
||||
1. Click **Add a Post URL**:
|
||||
1. Set the Post URL to `https://YOUR_HOSTNAME/api/meraki?api_password=YOUR_HASS_PASSWORD`
|
||||
1. Set the Secret to a randomly generated string, and make note of it for the `device_tracker` configuration.
|
||||
1. Make sure the API Version is set to `2.0`.
|
||||
1. Hit **Save** in the bottom right of the page.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
After you configure access to the Meraki CMX API, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -24,14 +37,13 @@ device_tracker:
|
|||
validator: meraki_validator
|
||||
```
|
||||
|
||||
|
||||
{% configuration %}
|
||||
secret:
|
||||
description: Secret code added in Meraki
|
||||
description: Secret code added in Meraki.
|
||||
required: true
|
||||
type: string
|
||||
validator:
|
||||
description: Validation string from Meraki
|
||||
description: Validation string from Meraki.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
|
|
@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
|
|||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -29,10 +28,18 @@ device_tracker:
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. If not provided `routerlogin.net` will be used.
|
||||
- **username** (*Optional*): The username of an user with administrative privileges. If not provided `admin` will be used.
|
||||
- **port** (*Optional*): The port your router communicates with (defaults to `5000`, but `80` is also known to be used on some models).
|
||||
- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used.
|
||||
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`.
|
||||
- **port** (*Optional*): The port your router communicates with.
|
||||
- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used.
|
||||
- **password** (*Required*): The password for your given admin account.
|
||||
- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI.
|
||||
- **exclude** (*Optional*): Devices to exclude from the scan.
|
||||
- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address.
|
||||
|
||||
When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi.
|
||||
|
||||
The use of `devices` or `exclude` is recommended when using `accesspoints` to avoid having a lot of entries.
|
||||
|
||||
List of models that are known to use port 80:
|
||||
- Nighthawk X4S - AC2600 (R7800)
|
||||
|
|
|
@ -15,12 +15,6 @@ ha_release: 0.7.4
|
|||
|
||||
This platform allows you to detect presence using [Owntracks](http://owntracks.org/). OwnTracks allows users to track their location on iOS phones and publish it to an MQTT broker. This platform will connect to the broker and monitor for new locations.
|
||||
|
||||
<p class='note'>
|
||||
<del>The Android app for OwnTracks is no longer developed or supported, Zanzito is a drop in replacement for OwnTracks MQTT.
|
||||
<a href="#using-owntracks-with-zanzito">See Instructions</a></del>
|
||||
As of February 2018 it appears that development of the Android app for OwnTracks is being done again. It is currently in beta status and a direct play store link is https://play.google.com/apps/testing/org.owntracks.android
|
||||
</p>
|
||||
|
||||
This component requires [the MQTT component](/components/mqtt/) to be set up and works very well together with [the zone component](/components/zone/).
|
||||
|
||||
To integrate Owntracks in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
@ -69,16 +63,12 @@ An example showing the inclusion of the `mac` field for multiple component track
|
|||
USERNAME_DEVICE_ID:
|
||||
name: Friendly Name
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture: https://home-assistant.io/images/favicon-192x192.png
|
||||
picture: https://www.home-assistant.io/images/favicon-192x192.png
|
||||
gravatar: test@example.com
|
||||
track: yes
|
||||
hide_if_away: no
|
||||
```
|
||||
|
||||
### {% linkable_title Using Owntracks with Zanzito %}
|
||||
|
||||
To use the Owntracks component with Zanzito set the `mqtt_topic` parameter to `"zanzito/#"`
|
||||
|
||||
### {% linkable_title Using Owntracks regions %}
|
||||
|
||||
Owntracks can track regions, and send region entry and exit information to Home Assistant (HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/).
|
||||
|
|
|
@ -32,5 +32,21 @@ Open OwnTracks and go to Connection preferences:
|
|||
- Mode: Select **Private HTTP**
|
||||
- Host: [Home Assistant URL]:[port]/api/owntracks/[your name]/[device name]
|
||||
- Identification: Turn **Authentication** on, username `homeassistant` and password is your API password that you use to login to Home Assistant.
|
||||
|
||||
|
||||
Host example: If I host my Home Assistant at `https://example.duckdns.org`, my name is Paulus and my phone is a Pixel I would set the host to be `https://example.duckdns.org/api/owntracks/paulus/pixel`. This will result in an entity with an ID of `device_tracker.paulus_pixel`. You can pick any name for the user and the device.
|
||||
|
||||
Since the battery data is available as an attribute of the device tracker entity, it can be tracked with a [`template` sensor](/components/sensor.template/).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
pixel_battery:
|
||||
friendly_name: Pixel of Paulus
|
||||
unit_of_measurement: "%"
|
||||
value_template: '{{ states.device_tracker.paulus_pixel.attributes.battery|int }}'
|
||||
device_class: battery
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -41,7 +41,7 @@ For Archer C9 models running firmware version 150811 or later please use the enc
|
|||
2. Type in the password you use to login into the password field.
|
||||
3. Click somewhere else on the page so that the password field is not selected anymore.
|
||||
4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console").
|
||||
5. Type ```document.getElementById("login-password").value;```.
|
||||
5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version.
|
||||
6. Copy the returned value to your Home Assistant configuration as password.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
|
|
@ -24,11 +24,18 @@ To integrate TrackR in Home Assistant, add the following section to your `config
|
|||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: trackr
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The email address for the TrackR account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for your given username.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **username** (*Required*): The email address for the TrackR account.
|
||||
- **password** (*Required*): The password for your given username.
|
||||
|
|
|
@ -80,7 +80,7 @@ The Unifi controller allows you to create multiple users on it besides the main
|
|||
|
||||
The Unifi controller can either be a dedicated hardware device (Unifi's cloud key), or as software any Linux system. If you run the the Unifi controller on the same operating system as Home Assistant there may be conflicts in ports if you have the MQTT component as well.
|
||||
|
||||
It is recommended that you run the Unifi controller in a dedicate virtual machine to avoid that situation.
|
||||
It is recommended that you run the Unifi controller in a dedicated virtual machine to avoid that situation.
|
||||
|
||||
### {% linkable_title Troubleshooting and Time Synchronization %}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_release: 0.59
|
|||
---
|
||||
|
||||
|
||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software.
|
||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](/components/device_tracker.unifi/) because it doesn't require the Unifi controller software.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
38
source/_components/device_tracker.xiaomi_miio.markdown
Normal file
38
source/_components/device_tracker.xiaomi_miio.markdown
Normal file
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Xiaomi Mi WiFi Repeater 2"
|
||||
description: "Instructions how to integrate your Xiaomi Mi WiFi Repeater 2 within Home Assistant."
|
||||
date: 2018-04-01 21:06
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: xiaomi.png
|
||||
ha_category: Presence Detection
|
||||
ha_version: 0.67
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `xiaomi_miio` device tracker platform is observing your Xiaomi Mi WiFi Repeater 2 and reporting all associated WiFi clients.
|
||||
|
||||
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token.
|
||||
|
||||
To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
device_tracker:
|
||||
- platform: xiaomi_miio
|
||||
host: 192.168.130.73
|
||||
token: YOUR_TOKEN
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your miio device.
|
||||
required: true
|
||||
type: string
|
||||
token:
|
||||
description: The API token of your miio device.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
|
@ -23,7 +23,7 @@ for state in hass.states():
|
|||
To enable `discovery` in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
discoverable:
|
||||
expose_password: yes
|
||||
```
|
||||
|
|
|
@ -14,31 +14,32 @@ ha_category: Other
|
|||
|
||||
Home Assistant can discover and automatically configure [zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking)/[mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) and [uPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) devices on your network. Currently the `discovery` component can detect:
|
||||
|
||||
* [Apple TV](https://home-assistant.io/components/apple_tv/)
|
||||
* [Axis Communications security devices](https://home-assistant.io/components/axis/)
|
||||
* [Belkin WeMo switches](https://home-assistant.io/components/wemo/)
|
||||
* [Bluesound speakers](https://home-assistant.io/components/media_player.bluesound/)
|
||||
* [Bose Soundtouch speakers](https://home-assistant.io/components/media_player.soundtouch/)
|
||||
* [Denon network receivers](https://home-assistant.io/components/media_player.denonavr/)
|
||||
* [DirecTV receivers](https://home-assistant.io/components/media_player.directv/)
|
||||
* [Frontier Silicon internet radios](https://home-assistant.io/components/media_player.frontier_silicon/)
|
||||
* [Google Cast](https://home-assistant.io/components/media_player.cast/)
|
||||
* [IKEA Trådfri (Tradfri)](https://home-assistant.io/components/tradfri/)
|
||||
* [Linn / Openhome](https://home-assistant.io/components/media_player.openhome/)
|
||||
* [Logitech Harmony Hub](https://home-assistant.io/components/remote.harmony/)
|
||||
* [Logitech media server (Squeezebox)](https://home-assistant.io/components/media_player.squeezebox/)
|
||||
* [Netgear routers](https://home-assistant.io/components/device_tracker.netgear/)
|
||||
* [Panasonic Viera](https://home-assistant.io/components/media_player.panasonic_viera/)
|
||||
* [Philips Hue](https://home-assistant.io/components/light.hue/)
|
||||
* [Plex media server](https://home-assistant.io/components/media_player.plex/)
|
||||
* [Roku media player](https://home-assistant.io/components/media_player.roku/)
|
||||
* [SABnzbd downloader](https://home-assistant.io/components/sensor.sabnzbd/)
|
||||
* [Samsung TVs](https://home-assistant.io/components/media_player.samsungtv/)
|
||||
* [Sonos speakers](https://home-assistant.io/components/media_player.sonos/)
|
||||
* [Telldus Live](https://home-assistant.io/components/tellduslive/)
|
||||
* [Wink](https://home-assistant.io/components/wink/)
|
||||
* [Yamaha media player](https://home-assistant.io/components/media_player.yamaha/)
|
||||
* [Yeelight Sunflower bulb](https://home-assistant.io/components/light.yeelightsunflower/)
|
||||
* [Apple TV](/components/apple_tv/)
|
||||
* [Axis Communications security devices](/components/axis/)
|
||||
* [Belkin WeMo switches](/components/wemo/)
|
||||
* [Bluesound speakers](/components/media_player.bluesound/)
|
||||
* [Bose Soundtouch speakers](/components/media_player.soundtouch/)
|
||||
* [Denon network receivers](/components/media_player.denonavr/)
|
||||
* [DirecTV receivers](/components/media_player.directv/)
|
||||
* [Frontier Silicon internet radios](/components/media_player.frontier_silicon/)
|
||||
* [Google Cast](/components/media_player.cast/)
|
||||
* [HomeKit](/components/homekit_controller/)
|
||||
* [IKEA Trådfri (Tradfri)](/components/tradfri/)
|
||||
* [Linn / Openhome](/components/media_player.openhome/)
|
||||
* [Logitech Harmony Hub](/components/remote.harmony/)
|
||||
* [Logitech media server (Squeezebox)](/components/media_player.squeezebox/)
|
||||
* [Netgear routers](/components/device_tracker.netgear/)
|
||||
* [Panasonic Viera](/components/media_player.panasonic_viera/)
|
||||
* [Philips Hue](/components/light.hue/)
|
||||
* [Plex media server](/components/media_player.plex/)
|
||||
* [Roku media player](/components/media_player.roku/)
|
||||
* [SABnzbd downloader](/components/sensor.sabnzbd/)
|
||||
* [Samsung TVs](/components/media_player.samsungtv/)
|
||||
* [Sonos speakers](/components/media_player.sonos/)
|
||||
* [Telldus Live](/components/tellduslive/)
|
||||
* [Wink](/components/wink/)
|
||||
* [Yamaha media player](/components/media_player.yamaha/)
|
||||
* [Yeelight Sunflower bulb](/components/light.yeelightsunflower/)
|
||||
|
||||
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
|
||||
|
||||
|
@ -50,6 +51,8 @@ discovery:
|
|||
ignore:
|
||||
- sonos
|
||||
- samsung_tv
|
||||
enable:
|
||||
- homekit
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -85,6 +88,12 @@ Valid values for ignore are:
|
|||
* `yamaha`: Yamaha media player
|
||||
* `yeelight`: Yeelight Sunflower bulb
|
||||
|
||||
- **enable** (*Optional*): A list of platforms not enabled by default that `discovery` should discover.
|
||||
|
||||
Valid values for enable are:
|
||||
|
||||
* `homekit`: HomeKit accessories
|
||||
|
||||
<p class='note'>
|
||||
Home Assistant must be on the same network as the devices for uPnP discovery to work.
|
||||
If running Home Assistant in a [Docker container](/docs/installation/docker/) use switch `--net=host` to put it on the host's network.
|
||||
|
@ -100,7 +109,7 @@ If you are on Windows and you're using Python 3.5, download the [Netifaces](http
|
|||
|
||||
<p class='note'>
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
|
||||
|
||||
For DSM/Synology, install via debian-chroot [see this forum post](https://community.home-assistant.io/t/error-starting-home-assistant-on-synology-for-first-time/917/15).
|
||||
</p>
|
||||
|
||||
|
|
|
@ -10,12 +10,15 @@ footer: true
|
|||
logo: dominos.png
|
||||
ha_category: Other
|
||||
ha_version: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `Dominos` component allows you to order Dominos Pizza from within your Home Assistant scripts and automations.
|
||||
The `dominos` component allows you to order Dominos Pizza from within your Home Assistant scripts and automations.
|
||||
|
||||
At present, this component only supports ordering within Canada and the US.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the component, you need to set up your customer information and define some orders.
|
||||
|
||||
Orders are a group of product codes. You can get these product codes by inspecting an order request from the Dominos web app, or you can [add this custom panel by following this readme](https://github.com/wardcraigj/hass-dominos-panel) to see the available product codes in a separate panel in your install.
|
||||
|
|
|
@ -20,9 +20,10 @@ To connect your device, add the following to your `configuration.yaml` file:
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
doorbird:
|
||||
host: IP_OR_HOSTNAME
|
||||
username: abcdef0001
|
||||
password: xxxxxxxxxx
|
||||
host: DOORBIRD_IP_OR_HOSTNAME
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
hass_url_override: HASS_IP
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -31,7 +32,77 @@ Configuration variables:
|
|||
- **username** (*Required*): The username of a non-administrator user account on the device.
|
||||
- **password** (*Required*): The password for the user specified.
|
||||
- **doorbell_events** (*Optional*): Setting this to `true` this will register a callback URL with the device so that events can be published to the event bus when the doorbell rings.
|
||||
- **hass_url_override** (*Optional*): If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.
|
||||
|
||||
<p class="note warning">
|
||||
Enabling `doorbell_events` will delete all other registered push notification services with the device every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app.
|
||||
</p>
|
||||
|
||||
### Doorbell Sound Examples
|
||||
|
||||
You can create an automation that triggers on event `doorbird_doorbell` to play a doorbell sound when the Doorbird button is pressed. This should work with any media player.
|
||||
|
||||
#### Example using SONOS
|
||||
|
||||
[`SONOS`](http://www.sonos.com) players have features allowing for "snapshotting" the current state of some or all players so those state(s) can be "restored" at a later time. This feature is perfect for implementing a doorbell sound (from Doorbird or any other Doorbell setup for that matter). The [`media_player.sonos`](/components/media_player.sonos/) platform includes the [`SONOS_SNAPSHOT`](/components/media_player.sonos/#service-sonos_snapshot) and [`SONOS_RESTORE`](/components/media_player.sonos/#service-sonos_restore) features. The result of not using these features is any currently playing songs or media will not continue playing after the doorbell sound has played and you will be left with the doorbell sound queued as the last played song. This setup allows for seamless ringing of the doorbell and all SONOS devices continuing nicely on as if nothing had happened.
|
||||
|
||||
The example script below takes a snapshot of three SONOS players that are not currently grouped together, joins the three players in a group (so the sound plays at the same time on all players), plays the doorbell MP3 sound, unjoins the players from the group and finally restores the players to their original state. When the players are grouped they are controlled by refering to the `master`.
|
||||
|
||||
Automation file:
|
||||
|
||||
```yaml
|
||||
- alias: Doorbird ring
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: doorbird_doorbell
|
||||
action:
|
||||
service: script.turn_on
|
||||
entity_id: script.doorbell
|
||||
```
|
||||
|
||||
Script file:
|
||||
|
||||
```yaml
|
||||
doorbell:
|
||||
alias: Ring Doorbell
|
||||
sequence:
|
||||
- service: media_player.sonos_snapshot
|
||||
data:
|
||||
entity_id:
|
||||
- media_player.kitchen
|
||||
- media_player.master_bedroom
|
||||
- media_player.study
|
||||
- service: media_player.sonos_join
|
||||
data:
|
||||
master: media_player.study
|
||||
entity_id:
|
||||
- media_player.kitchen
|
||||
- media_player.master_bedroom
|
||||
- media_player.study
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.study # the group master
|
||||
media_content_id: http://10.1.1.10/sounds/doorbell.mp3 # this is on a NAS but could be HASS local
|
||||
media_content_type: music
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
entity_id: # can still control the volume of grouped players indivdually
|
||||
- media_player.study
|
||||
- media_player.kitchen
|
||||
- media_player.master_bedrom
|
||||
volume_level: 0.50
|
||||
- delay:
|
||||
seconds: 4 # wait while the sound plays
|
||||
- service: media_player.sonos_unjoin
|
||||
data:
|
||||
entity_id:
|
||||
- media_player.kitchen
|
||||
- media_player.master_bedroom
|
||||
- media_player.study
|
||||
- service: media_player.sonos_restore
|
||||
data:
|
||||
entity_id:
|
||||
- media_player.kitchen
|
||||
- media_player.master_bedroom
|
||||
- media_player.study
|
||||
```
|
||||
|
|
|
@ -42,3 +42,29 @@ This will download the file from the given URL.
|
|||
| `subdir` | yes | Download into subdirectory of **download_dir** |
|
||||
| `filename` | yes | Determine the filename. |
|
||||
| `overwrite` | yes | Whether to overwrite the file or not, defaults to `false`. |
|
||||
|
||||
### {% linkable_title Download Status Events %}
|
||||
|
||||
When a download finished successfully, Home Assistant will emit a 'downloader_download_completed' event to the event bus which you can use to write automations against.
|
||||
In case download failed another event 'downloader_download_failed' is emitted to indicate that the download did not complete successfully.
|
||||
|
||||
Along with the event the following payload parameters are available:
|
||||
|
||||
| Parameter | Description |
|
||||
|-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `url` | The `url` that was requested.|
|
||||
| `filename` | The `name` of the file that was being downloaded.|
|
||||
|
||||
#### Example Automation:
|
||||
|
||||
```yaml
|
||||
- alias: Download Failed Notification
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: downloader_download_failed
|
||||
action:
|
||||
service: persistent_notification.create
|
||||
data_template:
|
||||
message: "{{trigger.event.data.filename}} download failed"
|
||||
title: "Download Failed"
|
||||
```
|
||||
|
|
|
@ -15,29 +15,31 @@ ha_release: 0.47
|
|||
|
||||
The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms: [Fans](/components/fan/dyson/) and [Robot vacuum](/components/vacuum/dyson/).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this component, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
dyson:
|
||||
username: <dyson_account_user_email>
|
||||
password: <dyson_acount_password>
|
||||
language: <dyson_account_language>
|
||||
username: YOUR_DYSON_USERNAME
|
||||
password: YOUR_DYSON_PASSWORD
|
||||
language: YOUR_DYSON_ACCOUNT_LANGUGAGE
|
||||
devices:
|
||||
- device_id: <device_id_1> # eg: Pure Cool Link device
|
||||
device_ip: <device_ip_1>
|
||||
- device_id: <device_id_2> # eg: Eye 360 robot vacuum
|
||||
device_ip: <device_ip_2>
|
||||
...
|
||||
- device_id: DEVICE_ID_1 # eg. Serial number: XXX-XX-XXXXXXXX
|
||||
device_ip: DEVICE_ID_1
|
||||
- device_id: DEVICE_ID_2
|
||||
device_ip: DEVICE_ID_2
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): Dyson account username (email address)
|
||||
- **password** (*Required*): Dyson account password
|
||||
- **username** (*Required*): Dyson account username (email address).
|
||||
- **password** (*Required*): Dyson account password.
|
||||
- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. But others codes should work.
|
||||
- **devices** (*Optional*): List of devices
|
||||
- **device_id** (*Required*): Device ID. Available in the mobiles applications (*Settings* page)
|
||||
- **device_ip** (*Required*): Device IP address
|
||||
- **devices** (*Optional*): List of devices.
|
||||
- **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the mobiles applications device settings page.
|
||||
- **device_ip** (*Required*): Device IP address.
|
||||
|
||||
`devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface).
|
||||
*If your are using a robot vacuum (Dyson 360 Eye), discovery is not yet supported so you have to provide `devices` list.*
|
||||
|
|
|
@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling"
|
|||
|
||||
The `eight_sleep` component allows Home Assistant to fetch data from your [Eight Sleep](https://eightsleep.com/) smart cover or mattress.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
It's setup utilizing 'Sensor' components to convey the current state of your bed and results of your sleep sessions and a 'Binary Sensor' component to indicate your presence in the bed. A service is also provided to set the heating level and duration of the bed.
|
||||
|
||||
You must have at least two sleep sessions recorded in the Eight Sleep app prior to setting up the Home Assistant component.
|
||||
|
@ -24,15 +26,25 @@ To get started add the following information to your `configuration.yaml` file:
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
eight_sleep:
|
||||
username: "user@email.com"
|
||||
password: "password"
|
||||
username: YOUR_E_MAIL_ADDRESS
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): The email address associated with your Eight Sleep account.
|
||||
- **password** (*Required*): The password associated with your Eight Sleep account.
|
||||
- **partner** (*Optional*): Default is False. Defines if you'd like to fetch data for both sides of the bed.
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The email address associated with your Eight Sleep account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password associated with your Eight Sleep account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Defines if you'd like to fetch data for both sides of the bed.
|
||||
required: false
|
||||
type: string
|
||||
default: False
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Supported features %}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ ha_iot_class: "Local Push"
|
|||
---
|
||||
|
||||
<p class='note warning'>
|
||||
Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
|
||||
Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](/components/google_assistant/).
|
||||
</p>
|
||||
|
||||
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
|
||||
|
@ -126,7 +126,7 @@ An additional step is required to run Home Assistant as a non-root user and use
|
|||
```bash
|
||||
sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin/python3
|
||||
```
|
||||
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](https://home-assistant.io/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
|
||||
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
|
||||
|
||||
### {% linkable_title License %}
|
||||
|
||||
|
|
54
source/_components/eufy.markdown
Normal file
54
source/_components/eufy.markdown
Normal file
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Eufy"
|
||||
description: "Instructions on how to integrate Eufy devices into Home Assistant."
|
||||
date: 2018-04-09 19:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: eufy.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.68
|
||||
---
|
||||
|
||||
The `eufy` component is the main component to integrate various [eufy](https://www.eufylife.com/) devices with Home Assistant.
|
||||
|
||||
Supported devices will be discovered after the `eufy` component is configured:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
eufy:
|
||||
username: testuser@domain
|
||||
password: p4ssw0rd
|
||||
```
|
||||
|
||||
where username and password are the ones configured in the EufyHome app. Alternately, Eufy devices that are not discoverable can be statically configured.
|
||||
|
||||
```yaml
|
||||
eufy:
|
||||
devices:
|
||||
- address: 192.168.1.10
|
||||
access_token: 1234567890abcdef
|
||||
type: T1012
|
||||
name: Smart Light
|
||||
- address: 192.168.1.11
|
||||
access_token: abcdef1234567890
|
||||
type: T1201
|
||||
name: Smart Switch
|
||||
```
|
||||
|
||||
access_token can be obtained by running:
|
||||
|
||||
```
|
||||
curl -H "Content-Type: application/json" -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' https://home-api.eufylife.com/v1/user/email/login | jq
|
||||
```
|
||||
|
||||
replacing USERNAME and PASSWORD with the Eufy username and password. This will give an access_token. Then run:
|
||||
|
||||
```
|
||||
curl -H token:TOKEN -H category:Home https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq
|
||||
```
|
||||
|
||||
replacing TOKEN with the access_token from the previous command. This will provide the local_code for each device.
|
||||
|
|
@ -15,6 +15,8 @@ ha_iot_class: depends
|
|||
|
||||
The `mqtt` fan platform lets you control your MQTT enabled fans.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT fan will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the fan will be `false` / `off`.
|
||||
|
||||
When a `state_topic` is not available, the fan will work in optimistic mode. In this mode, the fan will immediately change state after every command. Otherwise, the fan will wait for state confirmation from the device (message from `state_topic`).
|
||||
|
@ -24,7 +26,7 @@ Optimistic mode can be forced even if a `state_topic` is available. Try to enabl
|
|||
To enable MQTT fans in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
fan:
|
||||
- platform: mqtt
|
||||
command_topic: "bedroom_fan/on/set"
|
||||
|
@ -155,7 +157,7 @@ In this section you find some real life examples of how to use this fan.
|
|||
The example below shows a full configuration for a MQTT fan.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
fan:
|
||||
- platform: mqtt
|
||||
name: "Bedroom Fan"
|
||||
|
|
96
source/_components/fan.template.markdown
Normal file
96
source/_components/fan.template.markdown
Normal file
|
@ -0,0 +1,96 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Template Fan"
|
||||
description: "Instructions how to setup the Template fans within Home Assistant."
|
||||
date: 2018-05-03 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Fan
|
||||
ha_release: 0.69
|
||||
ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
---
|
||||
|
||||
The `template` platform creates fans that combine components and provides the
|
||||
ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed, and
|
||||
set_oscillating commands of a fan.
|
||||
|
||||
To enable Template Fans in your installation, add the following to your
|
||||
`configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
fan:
|
||||
- platform: template
|
||||
fans:
|
||||
bedroom_fan:
|
||||
friendly_name: "Bedroom fan"
|
||||
value_template: "{{ states('input_boolean.state') }}"
|
||||
speed_template: "{{ states('input_select.speed') }}"
|
||||
oscillating_template: "{{ states('input_select.osc') }}"
|
||||
turn_on:
|
||||
service: script.fan_on
|
||||
turn_off:
|
||||
service: script.fan_off
|
||||
set_speed:
|
||||
service: script.fan_speed
|
||||
data_template:
|
||||
speed: "{{ speed }}"
|
||||
set_oscillating:
|
||||
service: script.fan_oscillating
|
||||
data_template:
|
||||
oscillating: "{{ oscillating }}"
|
||||
speeds:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
fans:
|
||||
description: List of your fans.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
friendly_name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'"
|
||||
required: true
|
||||
type: template
|
||||
speed_template:
|
||||
description: Defines a template to get the speed of the fan.
|
||||
required: false
|
||||
type: template
|
||||
oscillating_template:
|
||||
description: "Defines a template to get the osc state of the fan. Valid value: True/False"
|
||||
required: false
|
||||
type: template
|
||||
turn_on:
|
||||
description: Defines an action to run when the fan is turned on.
|
||||
required: true
|
||||
type: action
|
||||
turn_off:
|
||||
description: Defines an action to run when the fan is turned off.
|
||||
required: true
|
||||
type: action
|
||||
set_speed:
|
||||
description: Defines an action to run when the fan is given a speed command.
|
||||
required: false
|
||||
type: action
|
||||
set_oscillating:
|
||||
description: Defines an action to run when the fan is given a osc state command.
|
||||
required: false
|
||||
type: action
|
||||
speeds:
|
||||
description: List of speeds the fan is capable of running at.
|
||||
required: false
|
||||
type: string list
|
||||
default: ['low', 'medium', 'high']
|
||||
{% endconfiguration %}
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Xiaomi Air Purifier"
|
||||
description: "Instructions on how to integrate your Xiaomi Air Purifier within Home Assistant."
|
||||
description: "Instructions on how to integrate your Xiaomi Air Purifier and Xiaomi Air Humidifier within Home Assistant."
|
||||
date: 2017-10-13 12:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
|
@ -13,35 +13,161 @@ ha_version: 0.57
|
|||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S and Air Purifier Pro.
|
||||
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and Xiaomi Air Humidifier.
|
||||
|
||||
Currently, the supported features are:
|
||||
## Features
|
||||
|
||||
* On, Off
|
||||
### Air Purifier 2 et al.
|
||||
|
||||
* Power (on, off)
|
||||
* Operation modes (auto, silent, favorite, idle)
|
||||
* Buzzer (on, off)
|
||||
* Child lock (on, off)
|
||||
* LED (on, off), LED brightness (bright, dim, off)
|
||||
* Favorite Level (0...16)
|
||||
* Attributes
|
||||
- power
|
||||
- aqi
|
||||
- average_aqi
|
||||
- humidity
|
||||
- model
|
||||
- temperature
|
||||
- humidity
|
||||
- aqi
|
||||
- mode
|
||||
- filter_hours_used
|
||||
- filter_life_remaining
|
||||
- favorite_level
|
||||
- child_lock
|
||||
- led
|
||||
- motor_speed
|
||||
- average_aqi
|
||||
- purify_volume
|
||||
- learn_mode
|
||||
- sleep_time
|
||||
- sleep_mode_learn_count
|
||||
- extra_features
|
||||
- turbo_mode_supported
|
||||
- auto_detect
|
||||
- use_time
|
||||
- button_pressed
|
||||
- buzzer
|
||||
- led_brightness
|
||||
- sleep_mode
|
||||
|
||||
### Air Purifier Pro (zhimi.airpurifier.v6)
|
||||
|
||||
* Power (on, off)
|
||||
* Operation modes (auto, silent, favorite)
|
||||
* Child lock (on, off)
|
||||
* LED (on, off)
|
||||
* Favorite Level (0...16)
|
||||
* Attributes
|
||||
- model
|
||||
- temperature
|
||||
- humidity
|
||||
- aqi
|
||||
- mode
|
||||
- filter_hours_used
|
||||
- filter_life_remaining
|
||||
- favorite_level
|
||||
- child_lock
|
||||
- led
|
||||
- motor_speed
|
||||
- average_aqi
|
||||
- purify_volume
|
||||
- learn_mode
|
||||
- sleep_time
|
||||
- sleep_mode_learn_count
|
||||
- extra_features
|
||||
- turbo_mode_supported
|
||||
- auto_detect
|
||||
- use_time
|
||||
- button_pressed
|
||||
- filter_rfid_product_id
|
||||
- filter_rfid_tag
|
||||
- filter_type
|
||||
- illuminance
|
||||
- motor2_speed
|
||||
- volume
|
||||
|
||||
### Air Purifier V3 (zhimi.airpurifier.v3)
|
||||
|
||||
* Power (on, off)
|
||||
* Operation modes (auto, silent, favorite, idle, medium, high, strong)
|
||||
* Child lock (on, off)
|
||||
* LED (on, off)
|
||||
* Attributes
|
||||
- model
|
||||
- aqi
|
||||
- mode
|
||||
- led
|
||||
- buzzer
|
||||
- child_lock
|
||||
- purify_volume
|
||||
- filter_life_remaining
|
||||
- illuminance
|
||||
- filter_hours_used
|
||||
- filter_life_remaining
|
||||
- motor_speed
|
||||
- average_aqi
|
||||
- volume
|
||||
- motor2_speed
|
||||
- filter_rfid_product_id
|
||||
- filter_rfid_tag
|
||||
- filter_type
|
||||
- purify_volume
|
||||
- learn_mode
|
||||
- sleep_time
|
||||
- sleep_mode_learn_count
|
||||
- extra_features
|
||||
- auto_detect
|
||||
- use_time
|
||||
- button_pressed
|
||||
|
||||
### Air Humidifier (zhimi.humidifier.v1)
|
||||
|
||||
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token.
|
||||
* On, Off
|
||||
* Operation modes (silent, medium, high)
|
||||
* Buzzer (on, off)
|
||||
* Child lock (on, off)
|
||||
* LED brightness (bright, dim, off)
|
||||
* Target humidity (30, 40, 50, 60, 70, 80)
|
||||
* Attributes
|
||||
- model
|
||||
- temperature
|
||||
- humidity
|
||||
- mode
|
||||
- buzzer
|
||||
- child_lock
|
||||
- trans_level
|
||||
- target_humidity
|
||||
- led_brightness
|
||||
- button_pressed
|
||||
- use_time
|
||||
- hardware_version
|
||||
|
||||
### Air Humidifier CA (zhimi.humidifier.ca1)
|
||||
|
||||
* On, Off
|
||||
* Operation modes (silent, medium, high, auto)
|
||||
* Buzzer (on, off)
|
||||
* Child lock (on, off)
|
||||
* LED brightness (bright, dim, off)
|
||||
* Target humidity (30, 40, 50, 60, 70, 80)
|
||||
* Dry mode (on, off)
|
||||
* Attributes
|
||||
- model
|
||||
- temperature
|
||||
- humidity
|
||||
- mode
|
||||
- buzzer
|
||||
- child_lock
|
||||
- trans_level
|
||||
- target_humidity
|
||||
- led_brightness
|
||||
- button_pressed
|
||||
- use_time
|
||||
- hardware_version
|
||||
- speed
|
||||
- depth
|
||||
- dry
|
||||
|
||||
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
|
||||
|
||||
To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -67,41 +193,54 @@ name:
|
|||
required: false
|
||||
type: string
|
||||
default: Xiaomi Air Purifier
|
||||
model:
|
||||
description: The model of your device.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Platform Services %}
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_on` %}
|
||||
### {% linkable_title Service `fan.set_speed` %}
|
||||
|
||||
Set the fan speed/operation mode.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_on` %} (Air Purifier Pro excluded)
|
||||
|
||||
Turn the buzzer on.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_off` %}
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_buzzer_off` %} (Air Purifier Pro excluded)
|
||||
|
||||
Turn the buzzer off.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %}
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} (Air Purifier only)
|
||||
|
||||
Turn the led on.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %}
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} (Air Purifier only)
|
||||
|
||||
Turn the led off.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_on` %}
|
||||
|
||||
|
@ -109,7 +248,7 @@ Turn the child lock on.
|
|||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_child_lock_off` %}
|
||||
|
||||
|
@ -117,23 +256,105 @@ Turn the child lock off.
|
|||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %}
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} (Air Purifier Pro excluded)
|
||||
|
||||
Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
| `brightness` | no | Brightness, between 0 and 2. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %}
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} (Air Purifier only)
|
||||
|
||||
Set the favorite level of the operation mode "favorite".
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
| `level` | no | Level, between 0 and 16. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_on` %} (Air Purifier Pro only)
|
||||
|
||||
Turn the auto detect on.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_off` %} (Air Purifier Pro only)
|
||||
|
||||
Turn the auto detect off.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_on` %} (Air Purifier 2 only)
|
||||
|
||||
Turn the learn mode on.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_learn_mode_off` %} (Air Purifier 2 only)
|
||||
|
||||
Turn the learn mode off.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_volume` %} (Air Purifier Pro only)
|
||||
|
||||
Set the sound volume.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
| `volume` | no | Volume, between 0 and 100. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_reset_filter` %} (Air Purifier 2 only)
|
||||
|
||||
Reset the filter lifetime and usage.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_extra_features` %} (Air Purifier only)
|
||||
|
||||
Set the extra features.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
| `features` | no | Integer, known values are 0 and 1. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_target_humidity` %} (Air Humidifier only)
|
||||
|
||||
Set the target humidity.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-----------------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
| `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_dry_on` %} (Air Humidifier CA only)
|
||||
|
||||
Turn the dry mode on.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
||||
### {% linkable_title Service `fan.xiaomi_miio_set_dry_off` %} (Air Humidifier CA only)
|
||||
|
||||
Turn the dry mode off.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|---------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
|
||||
|
|
16
source/_components/fan.zha.markdown
Normal file
16
source/_components/fan.zha.markdown
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
layout: page
|
||||
title: "ZigBee Home Automation Fan"
|
||||
description: "Instructions how to setup ZigBee Home Automation fans within Home Assistant."
|
||||
date: 2018-02-10 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zigbee.png
|
||||
ha_category: Fan
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.66
|
||||
---
|
||||
|
||||
To get your ZigBee fans working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/).
|
|
@ -20,7 +20,7 @@ To use RSS feeds in your installation, add the following to your `configuration.
|
|||
# Example configuration.yaml entry
|
||||
feedreader:
|
||||
urls:
|
||||
- https://home-assistant.io/atom.xml
|
||||
- https://www.home-assistant.io/atom.xml
|
||||
- https://github.com/blog.atom
|
||||
- https://hasspodcast.io/feed/podcast
|
||||
```
|
||||
|
|
81
source/_components/folder_watcher.markdown
Normal file
81
source/_components/folder_watcher.markdown
Normal file
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Folder Watcher"
|
||||
description: "Component for monitoring changes within the filesystem."
|
||||
date: 2018-03-11 14:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: System Monitor
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.67
|
||||
---
|
||||
|
||||
This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system monitoring, publishing events on the Home Assistant bus on the creation/deletion/modification of files within configured folders. The monitored `event_type` are:
|
||||
|
||||
* `created`
|
||||
* `deleted`
|
||||
* `modified`
|
||||
* `moved`
|
||||
|
||||
Configured folders must be added to [whitelist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored.
|
||||
|
||||
To enable the Folder Watcher component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
folder_watcher:
|
||||
- folder: /config
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% configuration %}
|
||||
folder:
|
||||
description: The folder path
|
||||
required: true
|
||||
type: string
|
||||
patterns:
|
||||
description: Pattern matching to apply
|
||||
required: false
|
||||
default: "*"
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Patterns
|
||||
|
||||
Pattern matching using [fnmatch](https://docs.python.org/3.6/library/fnmatch.html) can be used to limit filesystem monitoring to only files which match the configured patterns. The following example shows the configuration required to only monitor filetypes `.yaml` and `.txt`.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
folder_watcher:
|
||||
- folder: /config
|
||||
patterns:
|
||||
- '*.yaml'
|
||||
- '*.txt'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Automations
|
||||
|
||||
Automations can be triggered on filesystem event data using a `data_template`. The following automation will send a notification with the name and folder of new files added to that folder:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- action:
|
||||
- data_template:
|
||||
message: 'Created {{ trigger.event.data.file }} in {{ trigger.event.data.folder }}'
|
||||
title: New image captured!
|
||||
data:
|
||||
file: " {{ trigger.event.data.path }} "
|
||||
service: notify.pushbullet
|
||||
alias: New file alert
|
||||
condition: []
|
||||
id: '1520092824697'
|
||||
trigger:
|
||||
- event_data: {"event_type":"created"}
|
||||
event_type: folder_watcher
|
||||
platform: event
|
||||
```
|
||||
{% endraw %}
|
|
@ -31,7 +31,7 @@ Configuration variables:
|
|||
#### Getting the access token ####
|
||||
|
||||
After you have registered your APP on your [My Apps Page](https://foursquare.com/developers/apps) you get a `CLIENT_ID` and you have specified a
|
||||
`REDIRECT_URL` which can be any URL you like, but since it will get your access token via a HTTP GET request, it should be a URL which will ignore the `access_token` HTTP GET variable. A good idea is to choose the URL of your Home Assistant.
|
||||
`REDIRECT_URL` which can be any URL you like, but since it will get your access token via an HTTP GET request, it should be a URL which will ignore the `access_token` HTTP GET variable. A good idea is to choose the URL of your Home Assistant.
|
||||
Visit the following URL in your browser:
|
||||
|
||||
```
|
||||
|
@ -40,7 +40,7 @@ https://foursquare.com/oauth2/authenticate?client_id=CLIENT_ID&response_type=tok
|
|||
|
||||
and change the `CLIENT_ID` and `YOUR_REGISTERED_REDIRECT_URL` to your actual values.
|
||||
You will receive an OAuth request landing page, asking you if you want to connect your Foursquare account to your newly created app. Say "Yes".
|
||||
After that, you will get redirected to your `REDIRECT_URL` with the `access_token` as a HTTP GET variable. Copy everything after the = and paste it in your configuration.yaml as the `access_token`.
|
||||
After that, you will get redirected to your `REDIRECT_URL` with the `access_token` as an HTTP GET variable. Copy everything after the = and paste it in your configuration.yaml as the `access_token`.
|
||||
|
||||
### {% linkable_title Real-Time API %}
|
||||
|
||||
|
|
49
source/_components/freedns.markdown
Normal file
49
source/_components/freedns.markdown
Normal file
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
layout: page
|
||||
title: "freedns.afraid.org"
|
||||
description: "Keep your DNS record up to date with FreeDNS."
|
||||
date: 2018-03-27 21:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Utility
|
||||
ha_release: 0.67
|
||||
---
|
||||
|
||||
With the `freedns` component you can keep your [FreeDNS](https://freedns.afraid.org) record up to date.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
You need to determine your update URL or your access token.
|
||||
|
||||
1. Head over to the [FreeDNS](https://freedns.afraid.org) website and login to your account.
|
||||
2. Select the menu "Dynamic DNS"
|
||||
3. You should now see your update candiates in a table at the bottom of the page.
|
||||
4. Copy the link target of the "Direct URL".
|
||||
5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN`
|
||||
6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute.
|
||||
|
||||
To use the component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
freedns:
|
||||
access_token: YOUR_TOKEN
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
access_token:
|
||||
description: Your access token. This is exclusive to `url`.
|
||||
required: false
|
||||
type: string
|
||||
url:
|
||||
description: The full update URL. This is exclusive to `access_token`.
|
||||
required: false
|
||||
type: string
|
||||
update_interval:
|
||||
description: How often to call the update service.
|
||||
required: false
|
||||
type: time period
|
||||
default: 10 minutes
|
||||
{% endconfiguration %}
|
55
source/_components/fritzbox.markdown
Normal file
55
source/_components/fritzbox.markdown
Normal file
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Fritzbox"
|
||||
description: "Instructions on how to integrate the AVM Fritzbox Smart Home components."
|
||||
date: 2018-02-18 17:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: avm.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.68
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The [AVM](https://en.avm.de) Fritzbox component for Home Assistant allows you to integrate the switch and climate devices.
|
||||
|
||||
#### {% linkable_title Tested Devices %}
|
||||
|
||||
- [FRITZ!Box 6490 Cable](https://en.avm.de/products/fritzbox/fritzbox-6490-cable/)
|
||||
- [FRITZ!Box 7590](https://en.avm.de/products/fritzbox/fritzbox-7590/)
|
||||
- [FRITZ!DECT 200](https://en.avm.de/products/fritzdect/fritzdect-200/)
|
||||
- [Eurotronic Comet DECT](https://www.eurotronic.org/en/products/comet-dect.html)
|
||||
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
fritzbox:
|
||||
devices:
|
||||
- host: fritz.box
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
devices:
|
||||
description: A list of Fritzbox devices.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
host:
|
||||
description: The hostname or IP address of the Fritzbox.
|
||||
required: true
|
||||
type: optional
|
||||
username:
|
||||
description: The username for Smart Home access.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password of the user.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
|
@ -135,7 +135,7 @@ Those will be loaded via `<link rel='import' href='{{ extra_url }}' async>` on a
|
|||
|
||||
### {% linkable_title Manual Language Selection %}
|
||||
|
||||
The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select a one from "Choose a Language". It will be applied immediately.
|
||||
The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select one from "Choose a Language". It will be applied immediately.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/frontend/choose-language.png' />
|
||||
|
|
|
@ -14,7 +14,7 @@ ha_release: 0.57
|
|||
The Global Caché [GC-100](https://www.globalcache.com/products/gc-100/) can be integrated into Home Assistant. GC-100 is a TCP-controllable
|
||||
hardware device which has an array of relays, RS232 serial ports, and flexible ports which can be programmed to be either digital inputs or IR blaster outputs. There are a variety of submodels of the GC-100 which have different amounts of each I/O type.
|
||||
|
||||
Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (https://home-assistant.io/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché.
|
||||
Currently, only relays and ports configured to be digital inputs are supported in Home Assistant. For IR support, please use the iTach remote platform (/components/remote.itach/), but note that it will likely not function concurrently on the same GC100 due to limitations in the TCP socket server implementation used by Global Caché.
|
||||
|
||||
To enable this device, add the following lines to your `configuration.yaml`:
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ To use this component, enter your email address and password from your goalfeed.
|
|||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
goalfeed:
|
||||
username: your_email@gmail.com
|
||||
password: goalfeed_password
|
||||
username: YOUR_E_MAIL_ADDRESS
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
|
|
@ -13,6 +13,10 @@ featured: true
|
|||
ha_release: 0.56
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
Use [Home Assistant Cloud](/cloud/) to integrate with Google Assistant without any effort.
|
||||
</p>
|
||||
|
||||
The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device.
|
||||
|
||||
The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.
|
||||
|
@ -21,6 +25,8 @@ The Google Assistant component requires a bit more setup than most due to the wa
|
|||
To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -67,7 +73,7 @@ agent_user_id:
|
|||
required: false
|
||||
type: string
|
||||
api_key:
|
||||
description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see step 9 below). If not provided then the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have setup this componenet you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration.
|
||||
description: An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see step 9 below). If not provided then the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have setup this component you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration.
|
||||
required: false
|
||||
type: string
|
||||
expose_by_default:
|
||||
|
@ -102,7 +108,7 @@ entity_config:
|
|||
required: false
|
||||
type: list
|
||||
room:
|
||||
description: Allows for associating this device to a Room in Google Assistant. This is currently non-functional, but will be enabled in the near future.
|
||||
description: Allows for associating this device to a Room in Google Assistant.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -131,58 +137,32 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow
|
|||
|
||||
### {% linkable_title Setup %}
|
||||
|
||||
1. Download the [gactions CLI](https://developers.google.com/actions/tools/gactions-cli) to be used later. You can download and run this anywhere and on any machine. Just remember where you put it for later and don't forget to run `chmod +x gactions` to make it executable on Mac or Linux.
|
||||
2. Create a new file named `project.json` (in the same directory you downloaded `gactions` to) and replace the `[YOUR HOME ASSISTANT URL:PORT]` below with the URL you use to access Home Assistant.
|
||||
Note: This must be an HTTPS URL to work. Don't forget to include the port number if you're not using port 443.
|
||||
|
||||
```json
|
||||
{
|
||||
"actions": [{
|
||||
"name": "actions.devices",
|
||||
"deviceControl": {
|
||||
},
|
||||
"fulfillment": {
|
||||
"conversationName": "automation"
|
||||
}
|
||||
}],
|
||||
"conversations": {
|
||||
"automation":
|
||||
{
|
||||
"name": "automation",
|
||||
"url": "https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. Create a new project in the [developer console](https://console.actions.google.com/).
|
||||
1. Create a new project in the [developer console](https://console.actions.google.com/).
|
||||
a. Add/Import project
|
||||
b. Go to Build under the Actions SDK box
|
||||
c. Copy the command that looks like:
|
||||
|
||||
`gactions update --action_package PACKAGE_NAME --project doctest-2d0b8`
|
||||
4. Replace `PACKAGE_NAME` with `project.json` and run that command in a console from the same directory you saved `project.json` in (you'll need to put `./` before `gactions` so that it reads `./gactions` if you're running it on Linux or Windows). It should output a URL like `https://console.actions.google.com/project/doctest-2d0b8/overview` - go there.
|
||||
5. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant.
|
||||
6. The final item on that page `Account linking` is required for your app to interact with Home Assistant.
|
||||
1. Grant type: `Implicit`
|
||||
2. Client ID: The `client_id` from your Home Assistant configuration above
|
||||
3. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`)
|
||||
4. Configure your client. Add scopes for `email` and `name`.
|
||||
5. Testing instructions: Enter anything. It doesn't matter since you won't submit this app.
|
||||
7. Back on the main app draft page. Click `Test Draft`. That will take you to the simulator (which won't work so just close that window).
|
||||
8. If you haven't already added the component configuration to `configuration.yaml` and restarted Home Assistant, you'll be unable to continue until you have.
|
||||
8. Open the Google Assistant app and go into `Settings > Home Control`
|
||||
9. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead to you the screen where you can set rooms for your devices or nicknames for your devices.
|
||||
10. If you want to allow other household users to control the devices:
|
||||
1. Go to the developer console using the address from point 4.
|
||||
2. Under the gear icon, click `Permissions`
|
||||
3. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role
|
||||
4. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 7.
|
||||
11. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
|
||||
1. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview)
|
||||
2. Select your project and click Enable Homegraph API
|
||||
3. Go to Credentials and select API Key from Create Credentials
|
||||
4. Note down the generated API Key and use this in the configuration
|
||||
b. Click on `BUILD` on the `Smart home` card
|
||||
c. Type in your home assistant url: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / ip address and the port under which your Home Assistant is reachable.
|
||||
d. Click `Done`. Then click on `Overview`, which will lead you to the app details screen.
|
||||
2. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant.
|
||||
3. The final item on that page `Account linking` is required for your app to interact with Home Assistant.
|
||||
a. Grant type: `Implicit`
|
||||
b. Client ID: The `client_id` from your Home Assistant configuration above
|
||||
c. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth`. If you have set `api_password:` add this password to the URL `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth?api_password=[YOUR API PASSWORD]`)
|
||||
d. Configure your client. Add scopes for `email` and `name`.
|
||||
e. Testing instructions: Enter anything. It doesn't matter since you won't submit this app.
|
||||
4. Back on the main app draft page. Click `Test Draft`. That will take you to the simulator (which won't work so just close that window).
|
||||
5. If you haven't already added the component configuration to `configuration.yaml` and restarted Home Assistant, you'll be unable to continue until you have.
|
||||
6. Open the Google Assistant app and go into `Settings > Home Control`
|
||||
7. Click the `+` sign, and near the bottom, you should have `[test] your app name`. Selecting that should lead you the screen where you can set rooms for your devices or nicknames for your devices.
|
||||
8. If you want to allow other household users to control the devices:
|
||||
a. Go to the settings for the project you created in point 1 in the developer console.
|
||||
b. Under the gear icon, click `Permissions`
|
||||
c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role
|
||||
d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 4
|
||||
9. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
|
||||
a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview)
|
||||
b. Select your project and click Enable Homegraph API
|
||||
c. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials
|
||||
d. Note down the generated API Key and use this in the configuration
|
||||
|
||||
### {% linkable_title Troubleshooting the request_sync service %}
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ When the `history` component queries the states table it only selects states whe
|
|||
|
||||
#### {% linkable_title On dates %}
|
||||
|
||||
SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using this site or in Python:
|
||||
SQLite databases do not support native dates. That's why all the dates are saved in seconds since the UNIX epoch. Convert them manually using [this site](https://www.epochconverter.com/) or in Python:
|
||||
|
||||
```python
|
||||
from datetime import datetime
|
||||
|
|
|
@ -14,11 +14,13 @@ ha_iot_class: "Cloud Polling"
|
|||
---
|
||||
|
||||
|
||||
This Hive component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
|
||||
The `hive` component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
|
||||
|
||||
This component uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive component in Home Assistant.
|
||||
|
||||
To add your Hive devices into your Home Assistant installation, using the default scan_interval, add the following to your 'configuration.yaml' file:
|
||||
|
||||
|
||||
To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue