mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-22 00:36:49 +00:00
Merge branch 'current' into fixes_for_template_docs
This commit is contained in:
commit
d119ad15a5
4
Gemfile
4
Gemfile
@ -4,7 +4,9 @@ ruby "> 2.3.0"
|
||||
|
||||
group :development do
|
||||
gem 'rake', '~> 10.0'
|
||||
gem 'jekyll', '~> 3.0'
|
||||
# 3.8.5 throws errors on unfinished liquid tags in excerpts
|
||||
# Wait with upgrade until release https://github.com/jekyll/jekyll/pull/7382
|
||||
gem 'jekyll', '3.8.4'
|
||||
gem 'compass', '~> 0.12'
|
||||
gem 'sass-globbing', '~> 1.0'
|
||||
gem 'stringex', '~> 1.4'
|
||||
|
50
Gemfile.lock
50
Gemfile.lock
@ -10,19 +10,29 @@ GEM
|
||||
chunky_png (~> 1.2)
|
||||
fssm (>= 0.2.7)
|
||||
sass (~> 3.2.19)
|
||||
ffi (1.9.18)
|
||||
concurrent-ruby (1.1.3)
|
||||
em-websocket (0.5.1)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.9.25)
|
||||
forwardable-extended (2.6.0)
|
||||
fssm (0.2.10)
|
||||
jekyll (3.5.2)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.8.4)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 1.1)
|
||||
kramdown (~> 1.3)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 1.14)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (~> 1.7)
|
||||
rouge (>= 1.7, < 4)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-redirect-from (0.12.1)
|
||||
@ -33,18 +43,19 @@ GEM
|
||||
jekyll (~> 3.3)
|
||||
jekyll-time-to-read (0.1.2)
|
||||
jekyll
|
||||
jekyll-watch (1.5.0)
|
||||
listen (~> 3.0, < 3.1)
|
||||
kramdown (1.14.0)
|
||||
liquid (4.0.0)
|
||||
listen (3.0.8)
|
||||
jekyll-watch (2.1.2)
|
||||
listen (~> 3.0)
|
||||
kramdown (1.17.0)
|
||||
liquid (4.0.1)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
ruby_dep (~> 1.2)
|
||||
mercenary (0.3.6)
|
||||
method_source (0.8.2)
|
||||
mini_portile2 (2.3.0)
|
||||
nokogiri (1.8.2)
|
||||
mini_portile2 (~> 2.3.0)
|
||||
mini_portile2 (2.4.0)
|
||||
nokogiri (1.10.1)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
octopress (3.0.11)
|
||||
jekyll (>= 2.0)
|
||||
mercenary (~> 0.3.2)
|
||||
@ -64,22 +75,23 @@ GEM
|
||||
octopress-tag-helpers (~> 1.0)
|
||||
octopress-tag-helpers (1.0.8)
|
||||
jekyll (>= 2.0)
|
||||
pathutil (0.14.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
public_suffix (3.0.0)
|
||||
public_suffix (3.0.3)
|
||||
rack (1.6.9)
|
||||
rack-protection (1.5.5)
|
||||
rack
|
||||
rake (10.5.0)
|
||||
rb-fsevent (0.10.2)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.9.8)
|
||||
ffi (>= 0.5.0)
|
||||
redcarpet (3.4.0)
|
||||
rouge (1.11.1)
|
||||
rouge (3.3.0)
|
||||
ruby_dep (1.5.0)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.2.19)
|
||||
sass-globbing (1.1.5)
|
||||
@ -98,7 +110,7 @@ PLATFORMS
|
||||
|
||||
DEPENDENCIES
|
||||
compass (~> 0.12)
|
||||
jekyll (~> 3.0)
|
||||
jekyll (= 3.8.4)
|
||||
jekyll-paginate
|
||||
jekyll-redirect-from
|
||||
jekyll-sitemap
|
||||
@ -117,4 +129,4 @@ RUBY VERSION
|
||||
ruby 2.4.1p111
|
||||
|
||||
BUNDLED WITH
|
||||
1.16.1
|
||||
1.17.1
|
||||
|
12
_config.yml
12
_config.yml
@ -32,8 +32,12 @@ destination: public/
|
||||
plugins_dir: plugins
|
||||
code_dir: downloads/code
|
||||
category_dir: blog/categories
|
||||
|
||||
markdown: kramdown
|
||||
highlighter: rouge
|
||||
timezone: UTC
|
||||
liquid:
|
||||
error_mode: strict
|
||||
|
||||
kramdown:
|
||||
input: GFM
|
||||
@ -44,8 +48,6 @@ kramdown:
|
||||
smart_quotes: lsquo,rsquo,ldquo,rdquo
|
||||
parse_block_html: true
|
||||
|
||||
highlighter: rouge
|
||||
|
||||
plugins:
|
||||
- jekyll-redirect-from
|
||||
- jekyll-time-to-read
|
||||
@ -141,14 +143,14 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 81
|
||||
current_minor_version: 86
|
||||
current_patch_version: 4
|
||||
date_released: 2018-11-02
|
||||
date_released: 2019-01-29
|
||||
|
||||
# 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-0814---november-3"
|
||||
patch_version_notes: ""
|
||||
# Minor release (Example #release-0431---april-25):
|
||||
|
||||
# Date we moved to Discourse for comments
|
||||
|
1
credits_generator/.gitignore
vendored
1
credits_generator/.gitignore
vendored
@ -1 +0,0 @@
|
||||
.token
|
@ -1,35 +0,0 @@
|
||||
credits_generator
|
||||
=================
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
Put the token in this repo in a file named `.token`.
|
||||
|
||||
Run the script.
|
||||
|
||||
```bash
|
||||
$ node update_credits.js
|
||||
```
|
||||
|
||||
Commit the changes (depending on our setup).
|
||||
|
||||
```bash
|
||||
$ git commit ../source/developers/credits.markdown
|
||||
$ git push upstream
|
||||
```
|
||||
|
@ -1,27 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Credits"
|
||||
description: "Credits for the developers who contributed to Home Assistant."
|
||||
date: {{ headerDate }}
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
This page contains a list of people who have contributed in one way or another to Home Assistant. Hover over a username to see their contributions.
|
||||
|
||||
### {% linkable_title Author %}
|
||||
|
||||
- [{{fearlessLeader.info.name}} (@{{fearlessLeader.info.username}})](https://github.com/{{fearlessLeader.info.login}} "{{fearlessLeader.countString}}")
|
||||
|
||||
### {% linkable_title Contributors %}
|
||||
|
||||
(in alphabetical order)
|
||||
|
||||
{{#allUsers}}- [{{info.name}} (@{{info.username}})](https://github.com/{{info.username}} "{{countString}}")
|
||||
{{/allUsers}}
|
||||
|
||||
This page is irregularly updated using the [`credits_generator` tool](https://github.com/home-assistant/home-assistant.github.io/tree/next/credits_generator). If you think that you are missing, please let us know.
|
||||
|
||||
<i>This page was last updated {{ footerDate }}.</i>
|
116
credits_generator/package-lock.json
generated
116
credits_generator/package-lock.json
generated
@ -1,116 +0,0 @@
|
||||
{
|
||||
"name": "credits_generator",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"agent-base": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
|
||||
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
|
||||
"requires": {
|
||||
"extend": "3.0.2",
|
||||
"semver": "5.0.3"
|
||||
}
|
||||
},
|
||||
"async": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
||||
"requires": {
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.7.tgz",
|
||||
"integrity": "sha1-NLkLqyqRGqNHVx2pDyK9NuzYqRk=",
|
||||
"requires": {
|
||||
"debug": "2.6.9",
|
||||
"stream-consume": "0.1.1"
|
||||
}
|
||||
},
|
||||
"github": {
|
||||
"version": "8.2.1",
|
||||
"resolved": "https://registry.npmjs.org/github/-/github-8.2.1.tgz",
|
||||
"integrity": "sha1-YWsiEfvNHMhjFmmu1nZT5i61OBY=",
|
||||
"requires": {
|
||||
"follow-redirects": "0.0.7",
|
||||
"https-proxy-agent": "1.0.0",
|
||||
"mime": "1.6.0",
|
||||
"netrc": "0.1.4"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
|
||||
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
|
||||
"requires": {
|
||||
"agent-base": "2.1.1",
|
||||
"debug": "2.6.9",
|
||||
"extend": "3.0.2"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.10",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
|
||||
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.22.2",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
|
||||
"integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
|
||||
},
|
||||
"moment-timezone": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.21.tgz",
|
||||
"integrity": "sha512-j96bAh4otsgj3lKydm3K7kdtA3iKf2m6MY2iSYCzCm5a1zmHo1g+aK3068dDEeocLZQIS9kU8bsdQHLqEvgW0A==",
|
||||
"requires": {
|
||||
"moment": "2.22.2"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
},
|
||||
"mu2": {
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/mu2/-/mu2-0.5.21.tgz",
|
||||
"integrity": "sha1-iIqPD9kOsc/anbgUdvbhmcyeWNM="
|
||||
},
|
||||
"netrc": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz",
|
||||
"integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
|
||||
"integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no="
|
||||
},
|
||||
"stream-consume": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
|
||||
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg=="
|
||||
}
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"name": "credits_generator",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"description": "A tool to generate the Home Assistant credits page",
|
||||
"main": "update_credits.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Home Assistant Community",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"async": "^2.1.4",
|
||||
"github": "^8.1.0",
|
||||
"moment-timezone": "^0.5.11",
|
||||
"mu2": "^0.5.21"
|
||||
}
|
||||
}
|
@ -1,164 +0,0 @@
|
||||
var fs = require('fs')
|
||||
, async = require('async')
|
||||
, GitHubApi = require('github')
|
||||
, mu = require('mu2')
|
||||
, moment = require('moment-timezone');
|
||||
|
||||
let token;
|
||||
|
||||
try {
|
||||
token = fs.readFileSync('.token', 'utf-8').trim();
|
||||
} catch (err) {
|
||||
console.error('You must create a .token file that contains a GitHub token.');
|
||||
return;
|
||||
}
|
||||
|
||||
var organizationName = process.env.GITHUB_ORGANIZATION_NAME || 'home-assistant';
|
||||
|
||||
mu.root = __dirname;
|
||||
|
||||
var github = new GitHubApi({
|
||||
headers: { 'user-agent': 'Home Assistant Contributors List Updater <hello@home-assistant.io>' }
|
||||
});
|
||||
|
||||
github.authenticate({ type: 'oauth', token: token });
|
||||
|
||||
var usersMap = {};
|
||||
|
||||
github.repos.getForOrg({
|
||||
org: organizationName,
|
||||
type: 'public',
|
||||
per_page: 100
|
||||
}, function(err, repos){
|
||||
var headerSource = (err && err.headers) ? err.headers : repos.meta;
|
||||
var ratelimitLimit = Number(headerSource['x-ratelimit-limit']);
|
||||
var ratelimitRemaining = Number(headerSource['x-ratelimit-remaining']);
|
||||
console.log('Rate limits: '+ratelimitRemaining+'/'+ratelimitLimit, '(remaining/limit)');
|
||||
if(err) {
|
||||
if(err.code == 403 && ratelimitRemaining == 0) {
|
||||
var resetUnixTime = moment.unix(err.headers['x-ratelimit-reset']);
|
||||
var resetTimeFormatted = resetUnixTime.format();
|
||||
var resetAt = moment().to(resetUnixTime);
|
||||
console.error('Error when getting list of repos in org, because rate limits are exhausted. Rate limits reset', resetAt, 'from now ('+resetTimeFormatted+')');
|
||||
} else {
|
||||
console.error('Error when attempting to get a list of all repos in org...', err.message);
|
||||
}
|
||||
return;
|
||||
}
|
||||
async.each(repos, function(repo, cb){
|
||||
github.repos.getContributors({ owner: organizationName, repo: repo.name, per_page: 100 }, function(err, contributors){
|
||||
getContributors(err, contributors, repo, cb);
|
||||
});
|
||||
}, function(err){
|
||||
if(err){
|
||||
console.error('Error when iterating organization repos', err);
|
||||
return;
|
||||
}
|
||||
console.log('Done getting contributors for '+repos.length+' found organization repos...');
|
||||
async.each(Object.keys(usersMap), function(login, cb){
|
||||
github.users.getForUser({username: login}, function(err, userInfo){
|
||||
if(err){
|
||||
console.error('Got error when get user details for', login, err);
|
||||
cb(err);
|
||||
return;
|
||||
}
|
||||
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();
|
||||
});
|
||||
}, function(err){
|
||||
if(err){
|
||||
console.error('Got error when running', err);
|
||||
return;
|
||||
} else {
|
||||
console.log('Building contributors!!!');
|
||||
buildContributors();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function getContributors(err, res, repo, callback){
|
||||
if(err) {
|
||||
console.error('Error when getting contributors', err);
|
||||
callback(err);
|
||||
return
|
||||
} else {
|
||||
console.log('Processing the '+res.length+' contributors to '+repo.name);
|
||||
async.each(res, function(contributor, cb){
|
||||
if(!usersMap[contributor.login]) {
|
||||
usersMap[contributor.login] = {
|
||||
counts: {},
|
||||
info: {login: contributor.login, id: contributor.id}
|
||||
};
|
||||
}
|
||||
usersMap[contributor.login].counts[repo.name] = contributor.contributions;
|
||||
cb(null);
|
||||
}, function(){
|
||||
if (github.hasNextPage(res)) {
|
||||
github.getNextPage(res, function(newErr, newContributors){
|
||||
getContributors(newErr, newContributors, repo, callback);
|
||||
});
|
||||
} else {
|
||||
callback(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function buildContributors(){
|
||||
var fearlessLeader = usersMap['balloob'];
|
||||
fearlessLeader.countString = buildCountString(fearlessLeader.counts);
|
||||
delete usersMap['balloob'];
|
||||
var users = Object.keys(usersMap).map(function (key) {
|
||||
var obj = usersMap[key];
|
||||
obj.countString = buildCountString(obj.counts);
|
||||
return obj;
|
||||
}).sort(function(a, b){
|
||||
var nameA = a.info.name.toLowerCase();
|
||||
var nameB = b.info.name.toLowerCase();
|
||||
if (nameA < nameB) { return -1; }
|
||||
if (nameA > nameB) { return 1; }
|
||||
return 0;
|
||||
});
|
||||
var headerDate = moment().tz('UTC').format('YYYY-MM-DD HH:mm:ss ZZ');
|
||||
var footerDate = moment().tz('UTC').format('dddd, MMMM Do YYYY, h:mm:ss a zz');
|
||||
var output = '';
|
||||
mu.compileAndRender('credits.mustache', {
|
||||
allUsers: users,
|
||||
fearlessLeader: fearlessLeader,
|
||||
headerDate: headerDate,
|
||||
footerDate: footerDate
|
||||
}).on('data', function (data) {
|
||||
output += data.toString();
|
||||
}).on('end', function(){
|
||||
fs.writeFile('../source/developers/credits.markdown', output, function (writeErr) {
|
||||
if (writeErr) {
|
||||
console.log('Error when writing credits.markdown', writeErr);
|
||||
} else {
|
||||
console.log('Done getting user info, wrote credits.markdown file!');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function buildCountString(counts){
|
||||
var totalCommits = 0;
|
||||
var countStrings = [];
|
||||
Object.keys(counts).sort(function(a, b){
|
||||
return counts[b] - counts[a];
|
||||
}).forEach(function (countKey) {
|
||||
var count = counts[countKey];
|
||||
var word = (count > 1) ? 'commits' : 'commit';
|
||||
totalCommits = totalCommits+count;
|
||||
countStrings.push(count+' '+word+' to '+countKey);
|
||||
});
|
||||
countStrings.unshift(totalCommits+' total commits to the home-assistant organization');
|
||||
return countStrings.join(', ');
|
||||
}
|
@ -2,7 +2,7 @@ module Jekyll
|
||||
class ConfigurationBlock < Liquid::Block
|
||||
TYPE_LINKS = {
|
||||
'action' => '/docs/scripts/',
|
||||
'device_class' => '/components/%{component}/#device-class',
|
||||
'device_class' => '/docs/configuration/customizing-devices/#device-class',
|
||||
'template' => '/docs/configuration/templating/',
|
||||
'icon' => '/docs/configuration/customizing-devices/#icon',
|
||||
}
|
||||
|
@ -141,10 +141,9 @@ $primary-color: #049cdb;
|
||||
}
|
||||
}
|
||||
|
||||
.shirt-promo {
|
||||
.picture-promo {
|
||||
display: block;
|
||||
padding-top: 30%;
|
||||
background-image: url(/images/merchandise/shirt-frontpage.png);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
text-decoration: none;
|
||||
@ -412,6 +411,8 @@ p.note {
|
||||
.brand-logo-container {
|
||||
text-align: center;
|
||||
height: 87px;
|
||||
margin-top: 50px;
|
||||
margin-bottom: 25px;
|
||||
|
||||
img {
|
||||
max-height: 67px;
|
||||
@ -459,7 +460,7 @@ a code {
|
||||
color: $primary-color;
|
||||
}
|
||||
|
||||
twitterwidget {
|
||||
twitter-widget {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ code.highlighter-rouge {
|
||||
padding: 0 .3em;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
pre.highlight {
|
||||
background-color: #FFF;
|
||||
border: 1px solid #CCC;
|
||||
font-family: "Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
|
||||
|
@ -11,12 +11,25 @@ footer: true
|
||||
|
||||
You can use this add-on to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This add-on will help you avoid errors due to breaking changes, resulting in a smooth update.
|
||||
|
||||
### {% linkable_title How to use this add-on %}
|
||||
|
||||
1. Just start the add-on.
|
||||
2. Wait (On a Raspberry Pi it can take several minutes).
|
||||
3. If you see the following output then you are good to go to update Home Assistant: `[Info] Configuration check finished - no error found! :)`.
|
||||
|
||||
If you get errors, then you should look for **Breaking Changes** against the version you specified for this add-on and change your configuration accordingly.
|
||||
|
||||
### {% linkable_title Add-on configuration %}
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "latest"
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **version** (*Required*): Version of Home Assistant that you plan to install.
|
||||
{% configuration %}
|
||||
version:
|
||||
description: Version of Home Assistant that you plan to install.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -36,19 +36,63 @@ Create a simple DHCP server for your network and allow setting fixed IPs for dev
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **domain** (*Required*): Your network domain name.
|
||||
- **dns** (*Required*): A list of DNS server for your network.
|
||||
- **networks** (*Optional*): A list of network to provide DHCP.
|
||||
- **subnet** (*Required*): Your network schema.
|
||||
- **netmask** (*Required*): Your network netmask.
|
||||
- **range_start** (*Required*): Start address for dhcp leases.
|
||||
- **range_end** (*Required*): End address for dhcp leases.
|
||||
- **broadcast** (*Required*): Network broadcast address.
|
||||
- **gateway** (*Required*): A List of gateways.
|
||||
- **interface** (*Required*): Interface on that will be listen. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
- **hosts** (*Optional*): A list of fixed IPs for devices.
|
||||
- **name** (*Required*): Name/hostname of your device.
|
||||
- **mac** (*Required*): Mac address of your device.
|
||||
- **ip** (*Required*): Fix ip address for device.
|
||||
{% configuration %}
|
||||
domain:
|
||||
description: Your network domain name.
|
||||
required: true
|
||||
type: string
|
||||
dns:
|
||||
description: A list of DNS server for your network.
|
||||
required: true
|
||||
type: list
|
||||
networks:
|
||||
description: A list of network to provide DHCP.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
subnet:
|
||||
description: Your network schema.
|
||||
required: true
|
||||
type: string
|
||||
netmask:
|
||||
description: Your network netmask.
|
||||
required: true
|
||||
type: string
|
||||
range_start:
|
||||
description: Start address for DHCP leases.
|
||||
required: true
|
||||
type: string
|
||||
range_end:
|
||||
description: End address for DHCP leases.
|
||||
required: true
|
||||
type: string
|
||||
broadcast:
|
||||
description: Network broadcast address.
|
||||
required: true
|
||||
type: string
|
||||
gateway:
|
||||
description: A List of gateways.
|
||||
required: true
|
||||
type: list
|
||||
interface:
|
||||
description: Interface on that will be listen. Normally is `eth0` for ethernet wired connection and `wlan0` for wireless connection.
|
||||
required: true
|
||||
type: string
|
||||
hosts:
|
||||
description: A list of fixed IPs for devices.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
description: Name/hostname of your device.
|
||||
required: true
|
||||
type: string
|
||||
mac:
|
||||
description: Mac address of your device.
|
||||
required: true
|
||||
type: string
|
||||
ip:
|
||||
description: Fix ip address for device.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -23,8 +23,17 @@ Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) DNS serv
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **defaults** (*Required*): A list of DNS servers to forward default requests to.
|
||||
- **forwards** (*Optional*): A list of domains that will forward to a specific server.
|
||||
- **hosts** (*Optional*): A list of hosts to resolve statically.
|
||||
{% configuration %}
|
||||
defaults:
|
||||
description: A list of DNS servers to forward default requests to.
|
||||
required: true
|
||||
type: list
|
||||
forwards:
|
||||
description: A list of domains that will forward to a specific server.
|
||||
required: false
|
||||
type: list
|
||||
hosts:
|
||||
description: A list of hosts to resolve statically.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
@ -25,12 +25,29 @@ featured: true
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **lets_encrypt.accept_terms** (*Required*): If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
|
||||
- **token** (*Required*): Your Duck DNS API key, from your DuckDNS account page.
|
||||
- **domains** (*Required*): A list of domains to update DNS.
|
||||
- **seconds** (*Required*): Seconds between updates to Duck DNS.
|
||||
{% configuration %}
|
||||
lets_encrypt:
|
||||
description: Let's Encrypt is a free, automated, and open certificate authority.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
accept_terms:
|
||||
description: If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
|
||||
required: true
|
||||
type: boolean
|
||||
token:
|
||||
description: Your Duck DNS API key, from your DuckDNS account page.
|
||||
required: true
|
||||
type: string
|
||||
domains:
|
||||
description: A list of domains to update DNS.
|
||||
required: true
|
||||
type: list
|
||||
seconds:
|
||||
description: Seconds between updates to Duck DNS.
|
||||
required: true
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
||||
@ -51,4 +68,4 @@ You'll need to forward the port you listed in your configuration (8123 in the ex
|
||||
|
||||
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`.
|
||||
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`.
|
||||
|
@ -38,7 +38,7 @@ Load and update configuration files for Home Assistant from a [Git](https://git-
|
||||
}
|
||||
```
|
||||
|
||||
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your GitHub repository URL (see example configuration)
|
||||
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your GitHub repository URL (see example configuration). The contents of the repository is assumed to be the root of Home Assistant `config/` folder. The configuration cannot be in a subdirectory, i.e., `configuration.yaml`, `groups.yaml`, etc. must be in the root of the repository.
|
||||
- **git_branch** (*Required*): Branch name of the Git repo. If left empty, the currently checked out branch will be updated. Leave this as 'master' if you are unsure.
|
||||
- **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure.
|
||||
- **git_prune** (*Required*): If set to true, the add-on will cleanup branches that are deleted on the remote repository, but still have cached entries on the local machine. Leave this as `false` if you are unsure.
|
||||
|
@ -68,10 +68,16 @@ 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
|
||||
- **speaker**: This is the hardware address of your speakers. Look at the add-on output
|
||||
{% configuration %}
|
||||
mic:
|
||||
description: This is the hardware address of your microphone. Look at the add-on output.
|
||||
required: true
|
||||
type: float
|
||||
speaker:
|
||||
description: This is the hardware address of your speakers. Look at the add-on output.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
||||
|
@ -45,26 +45,63 @@ Follow devices will be supported and tested:
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **rf_enable** (*Required*): Boolean. Enable or disable BidCoS-RF.
|
||||
- **wired_enable** (*Required*): Boolean. Enable or disable BidCoS-Wired.
|
||||
|
||||
For RF devices:
|
||||
|
||||
- **type** (*Required*): Device type for RFD service. Look into the manual of your device.
|
||||
- **device** (*Required*): Device on the host.
|
||||
|
||||
For wired devices:
|
||||
|
||||
- **serial** (*Required*): Serial number of the device.
|
||||
- **key** (*Required*): Encrypted key.
|
||||
- **ip** (*Required*): IP address of LAN gateway.
|
||||
|
||||
For HmIP devices:
|
||||
|
||||
- **type** (*Required*): Device type for RFD service. Look into the manual of your device.
|
||||
- **device** (*Required*): Device on the host.
|
||||
{% configuration %}
|
||||
rf_enable:
|
||||
description: Enable or disable BidCoS-RF.
|
||||
required: true
|
||||
type: boolean
|
||||
rf:
|
||||
description: RF devices.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
type:
|
||||
description: Device type for RFD service. Look into the manual of your device.
|
||||
required: true
|
||||
type: string
|
||||
device:
|
||||
description: Device on the host.
|
||||
required: true
|
||||
type: string
|
||||
wired_enable:
|
||||
description: Enable or disable BidCoS-Wired.
|
||||
required: true
|
||||
type: boolean
|
||||
wired:
|
||||
description: Wired devices.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
serial:
|
||||
description: Serial number of the device.
|
||||
required: true
|
||||
type: string
|
||||
key:
|
||||
description: Encrypted key.
|
||||
required: true
|
||||
type: string
|
||||
ip:
|
||||
description: IP address of LAN gateway.
|
||||
required: true
|
||||
type: string
|
||||
hmip_enable:
|
||||
description: Enable or disable hmip.
|
||||
required: true
|
||||
type: boolean
|
||||
hmip:
|
||||
description: HMIP devices.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
type:
|
||||
description: Device type for RFD service. Look into the manual of your device.
|
||||
required: true
|
||||
type: string
|
||||
device:
|
||||
description: Device on the host.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
||||
@ -76,6 +113,12 @@ homematic:
|
||||
rf:
|
||||
host: core-homematic
|
||||
port: 2001
|
||||
wired:
|
||||
host: core-homematic
|
||||
port: 2000
|
||||
hmip:
|
||||
host: core-homematic
|
||||
port: 2010
|
||||
```
|
||||
|
||||
## {% linkable_title Raspberry Pi3 %}
|
||||
@ -85,3 +128,7 @@ With HM-MOD-RPI-PCB you need to add follow into your `config.txt` on boot partit
|
||||
```text
|
||||
dtoverlay=pi3-miniuart-bt
|
||||
```
|
||||
|
||||
## {% linkable_title HmIP-RFUSB %}
|
||||
|
||||
HassOS > 1.11 support HmIP-RFUSB default and don't need any configuration. If you run a Linux, you need to follow the installation guide from documentation to set up the UART USB interface on your computer.
|
||||
|
@ -19,14 +19,32 @@ Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This a
|
||||
```json
|
||||
{
|
||||
"email": "example@example.com",
|
||||
"domains": ["example.com", "mqtt.example.com", "hass.example.com"]
|
||||
"domains": ["example.com", "mqtt.example.com", "hass.example.com"],
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem"
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **email** (*Required*): Your email address for registration on Let's Encrypt.
|
||||
- **domains** (*Required*): A list of domains to create/renew the certificate.
|
||||
{% configuration %}
|
||||
email:
|
||||
description: Your email address for registration on Let's Encrypt.
|
||||
required: true
|
||||
type: string
|
||||
domains:
|
||||
description: A list of domains to create/renew the certificate.
|
||||
required: true
|
||||
type: list
|
||||
certfile:
|
||||
description: Name of the certfile that is created. Leave as default value.
|
||||
required: true
|
||||
type: string
|
||||
default: fullchain.pem
|
||||
keyfile:
|
||||
description: Name of the keyfile that is created. Leave as default value.
|
||||
required: true
|
||||
type: string
|
||||
default: privkey.pem
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
||||
|
@ -32,18 +32,50 @@ Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databa
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **databases** (*Required*): List of databases.
|
||||
- **logins** (*Required*): List of SQL accounts to create or update.
|
||||
- **username** (*Required*): Username for account.
|
||||
- **host** (*Required*): Host for account. If you need an account on multiple hosts, use '%'.
|
||||
- **password** (*Required*): Password for account.
|
||||
- **rights** (*Required*): List of rights to be granted.
|
||||
- **username** (*Required*): Username for granted rights.
|
||||
- **host** (*Required*): Host is a part of username like above.
|
||||
- **database** (*Required*): Database name on which to grant user rights.
|
||||
- **grant** (*Required*): SQL grant part for access too.
|
||||
{% configuration %}
|
||||
databases:
|
||||
description: List of databases.
|
||||
required: true
|
||||
type: list
|
||||
logins:
|
||||
description: List of SQL accounts to create or update.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
username:
|
||||
description: Username for account.
|
||||
required: true
|
||||
type: string
|
||||
host:
|
||||
description: Host for account. If you need an account on multiple hosts, use '%'.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Password for account.
|
||||
required: true
|
||||
type: string
|
||||
rights:
|
||||
description: List of rights to be granted.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
username:
|
||||
description: Username for granted rights.
|
||||
required: true
|
||||
type: string
|
||||
host:
|
||||
description: Host is a part of username like above.
|
||||
required: true
|
||||
type: string
|
||||
database:
|
||||
description: Database name on which to grant user rights.
|
||||
required: true
|
||||
type: string
|
||||
grant:
|
||||
description: SQL grant part for access too.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
||||
|
@ -14,13 +14,10 @@ Set up [Mosquitto](https://mosquitto.org/) as MQTT broker.
|
||||
|
||||
```json
|
||||
{
|
||||
"plain": true,
|
||||
"ssl": false,
|
||||
"anonymous": true,
|
||||
"logins": [
|
||||
{"username": "testuser", "password": "mypw"},
|
||||
{"username": "testuser2", "password": "mypw2"}
|
||||
{"username": "local-user", "password": "mypw"}
|
||||
],
|
||||
"anonymous": false,
|
||||
"customize": {
|
||||
"active": false,
|
||||
"folder": "mosquitto"
|
||||
@ -35,23 +32,13 @@ Make sure you use logins and disable anonymous access if you want to secure the
|
||||
</p>
|
||||
|
||||
{% configuration %}
|
||||
plain:
|
||||
description: Listen on port 1883 without SSL/TLS.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
ssl:
|
||||
description: Listen on port 8883 with SSL/TLS. This requires certificates.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
anonymous:
|
||||
description: Allow anonymous connections. If *logins* is set, the anonymous user can only read data.
|
||||
required: false
|
||||
default: true
|
||||
default: false
|
||||
type: boolean
|
||||
logins:
|
||||
description: A list of users that will be created with *username* and *password*.
|
||||
description: A list of local users that will be created with *username* and *password*. You don't need do this because you can use Home Assistant users too without any configuration.
|
||||
required: false
|
||||
type: list
|
||||
customize:
|
||||
@ -60,41 +47,35 @@ customize:
|
||||
type: [boolean, string]
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Home Assistant user management %}
|
||||
|
||||
This add-on is attached to the Home Assistant user system, so mqtt clients can make use of these credentials. Local users may also still be set independently within the configuration options for the add-on. For the internal Hass.io ecosystem we register `homeassistant` and `addons`, so these may not be used as user names.
|
||||
|
||||
### {% 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), go to the integration page and install the configuration with one click. If you have old MQTT settings available, remove this old integration and restart Home Assistant to see the new one.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
broker: core-mosquitto
|
||||
#### {% linkable_title Using Mosquitto with Hass.io %}
|
||||
|
||||
1. Install the [Mosquitto add-on](/addons/mosquitto/) with the default configuration via 'Hass.io > ADD-ON STORE'. (Don't forget to start the add-on & verify that 'Start on boot' is enabled.)
|
||||
|
||||
2. Create a new user for MQTT via the `Configuration > Users (manage users)`. (Note: This name cannot be "homeassistant" or "addon")
|
||||
|
||||
3. Once back on-line, return to `Configuration > Integrations` and select configure next to `MQTT`.
|
||||
|
||||
```
|
||||
Broker: YOUR_HASSIO_IP_ADDRESS
|
||||
Port: 1883
|
||||
Username: MQTT_USERNAME
|
||||
Password: MQTT_PASSWORD
|
||||
```
|
||||
|
||||
If username and password are set up in add-on, your `configuration.yaml` file should contain that data.
|
||||
Note: .yaml modifications are not required.
|
||||
See [testing your setup](/docs/mqtt/testing/) to verify the steps above.
|
||||
|
||||
```yaml
|
||||
mqtt:
|
||||
broker: core-mosquitto
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
### {% linkable_title Disable listening on insecure (1883) ports %}
|
||||
|
||||
### {% 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 recommended that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`.
|
||||
</p>
|
||||
Remove the ports from the add-on page network card (set them as blank) to disable them.
|
||||
|
||||
### {% linkable_title Access Control Lists (ACLs) %}
|
||||
|
||||
|
@ -11,7 +11,7 @@ footer: true
|
||||
|
||||
Sets up an SSL proxy with NGINX and redirect port 80 to 443. Make sure you have generated a certificate before you start this add-on.
|
||||
|
||||
In the `http` section of the `configuration.yaml` file remove `ssl_certificate` and `ssl_key` and don't enter the port in the `base_url` to avoid an HTTP 502 error.
|
||||
In the `http` section of the `configuration.yaml` file remove `ssl_certificate`, `ssl_key` and `server_port` and don't enter the port in the `base_url` to avoid an HTTP 502 error.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -52,5 +52,5 @@ customize:
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
It is possible to deactivate port 80 if you need this for things like `emulate_hue`. Remove the host port from Network option of this add-on.
|
||||
It is possible to deactivate port 80 if you need this for things like `emulated_hue`. Remove the host port from Network option of this add-on.
|
||||
</p>
|
||||
|
@ -13,22 +13,12 @@ featured: true
|
||||
This add-on allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares.
|
||||
|
||||
<p class='note warning'>
|
||||
It is <strong>strongly recommended to set a username and password</strong>. By using guest mode, you expose your configuration and secrets to every user in local network.<br />
|
||||
Also be careful when setting up port forwarding for remote access. If you don't restrict access by setting a username and password, your configuration could be exposed to the entire internet!
|
||||
Be careful when setting up port forwarding for remote access. If you don't restrict access by setting a username and strong password, your configuration could be exposed to the entire Internet!
|
||||
</p>
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "hassio",
|
||||
"workgroup": "WORKGROUP",
|
||||
"guest": true,
|
||||
"map": {
|
||||
"config": true,
|
||||
"addons": true,
|
||||
"share": true,
|
||||
"backup": true,
|
||||
"ssl": false
|
||||
},
|
||||
"username": "",
|
||||
"password": "",
|
||||
"interface": "eth0",
|
||||
@ -41,58 +31,18 @@ Also be careful when setting up port forwarding for remote access. If you don't
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Set netbios name of Hass.io device.
|
||||
required: false
|
||||
default: "`hassio`"
|
||||
type: string
|
||||
workgroup:
|
||||
description: Set network workgroup name.
|
||||
required: false
|
||||
default: "`WORKGROUP`"
|
||||
type: string
|
||||
guest:
|
||||
description: Allow login without a username or password.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
map:
|
||||
description: Control which folders will be exposed.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
config:
|
||||
description: The Home Assistant configuration folder
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
addons:
|
||||
description: The local custom addons repository
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
share:
|
||||
description: The folder that can be accessed by add-ons and Home Assistant
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
backup:
|
||||
description: Access to snapshot files
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
ssl:
|
||||
description: Certificate storage (Careful! Sharing is set to `false` by default)
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
username:
|
||||
description: Username for logging in if guest login is not used.
|
||||
required: false
|
||||
description: Username for logging in.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Password for `username`. An empty password is not supported.
|
||||
required: false
|
||||
required: true
|
||||
type: string
|
||||
interface:
|
||||
description: Interface that will start the share. Normally this is `eth0` for ethernet wired connection and `wlan0` for wireless connection. If you are running on an Intel NUC this could also be `enp3s0` for ethernet or `wlp5s0` for wireless connection.
|
||||
|
@ -11,7 +11,9 @@ footer: true
|
||||
|
||||
[Snips.ai](https://snips.ai/) is an AI-powered voice assistant that runs on the Raspberry Pi 3 and x86 platforms. It runs on-device and is Private by Design.
|
||||
|
||||
<p class='warning note'>
|
||||
The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so make sure that is installed.
|
||||
</p>
|
||||
|
||||
Home Assistant 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).
|
||||
|
||||
@ -25,7 +27,7 @@ Open garage door
|
||||
What is on my shopping list
|
||||
```
|
||||
|
||||
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 Home Assistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
|
||||
To get started creating your own configuration, follow [their tutorial](https://docs.snips.ai/getting-started/quick-start-console) to create an assistant and download the training data. You can also add the Home Assistant Skill to your assistant to enable the built-in intents, and add or create your own intents to do more complex tasks.
|
||||
|
||||
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.
|
||||
|
||||
@ -49,13 +51,20 @@ Now it's time to start Snips for the first time. You can configure the microphon
|
||||
}
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mqtt_bridge**: Snips uses MQTT to communicate and defaults to their own broker. Use this config option to bridge their broker to your the Mosquitto add-on.
|
||||
- **assistant**: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
|
||||
- **language**: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
|
||||
- **custom_tts**: Whether to use a TTS provider from Home Assistant for a variety of voices.
|
||||
- **tts_platform**: Which TTS platform to use.
|
||||
{% configuration %}
|
||||
assistant:
|
||||
description: The name of your custom assistant in `/share`. If no assistant is found then a default assistant will be used.
|
||||
type: string
|
||||
language:
|
||||
description: Language. This is used to select the default custom assistant, Currently `en`, `de` and `fr` are supported.
|
||||
type: string
|
||||
custom_tts:
|
||||
description: Whether to use a TTS provider from Home Assistant for a variety of voices.
|
||||
type: boolean
|
||||
tts_platform:
|
||||
description: Which TTS platform to use.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Home Assistant configuration %}
|
||||
|
||||
@ -88,6 +97,7 @@ Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksk
|
||||
- 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
|
||||
@ -97,6 +107,7 @@ intent_script: !include intent_script.yaml
|
||||
Finally, create this `intent_script.yaml` file in your configuration directory.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
searchWeatherForecast:
|
||||
speech:
|
||||
@ -109,6 +120,7 @@ searchWeatherForecast:
|
||||
{{ 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.
|
||||
|
@ -17,20 +17,8 @@ After installation you are presented with a default and example configuration, t
|
||||
|
||||
After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect.
|
||||
|
||||
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.
|
||||
- **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.
|
||||
- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
|
||||
- **code** (*Optional*): A number series based on ones and zeroes often used for dip-switch based devices.
|
||||
|
||||
You will need to add internal communication details to `configuration.yaml` to enable the integration from Hass.io and the add-on.
|
||||
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
tellstick:
|
||||
@ -69,11 +57,49 @@ Example for adding more devices in the add-on configuration (note the comma sepa
|
||||
}
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
id:
|
||||
description: A number and must be unique for each device.
|
||||
required: true
|
||||
type: integer
|
||||
name:
|
||||
description: A name for easy identification of the device.
|
||||
required: true
|
||||
type: string
|
||||
protocol:
|
||||
description: This is the protocol the device uses. More on the different protocols later down.
|
||||
required: true
|
||||
type: string
|
||||
model:
|
||||
description: 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.
|
||||
required: false
|
||||
type: string
|
||||
house:
|
||||
description: Depending on protocol the values here can vary a lot to identify or group per house or type.
|
||||
required: false
|
||||
type: string
|
||||
unit:
|
||||
description: Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
|
||||
required: false
|
||||
type: integer
|
||||
fade:
|
||||
description: Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
|
||||
required: false
|
||||
type: boolean
|
||||
code:
|
||||
description: A number series based on ones and zeroes often used for dip-switch based devices.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
For more information about the configuration including protocols, see the [telldus documentation](https://developer.telldus.com/wiki/TellStick_conf).
|
||||
|
||||
## {% linkable_title Service calls %}
|
||||
|
||||
If you wish to teach a self-learning device in your TellStick configuration:
|
||||
|
||||
Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select.
|
||||
|
||||
- Service: `hassio.addon_stdin`
|
||||
- Enter service Data:
|
||||
`{"addon":"core_tellstick","input":{"function":"learn","device":"1"}}`
|
||||
|
28
source/_components/air_quality.markdown
Normal file
28
source/_components/air_quality.markdown
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Air Quality"
|
||||
description: "Instructions on how to add air quality sensors with Home Assistant"
|
||||
date: 2018-11-25 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
redirect_from: /components/air_pollutants/
|
||||
---
|
||||
|
||||
The `air_quality` gather information about the air quality and pollution details.
|
||||
|
||||
The platforms cover the following levels (if they are available):
|
||||
|
||||
- The particulate matter 0.1 (<= 0.1 μm) level.
|
||||
- The particulate matter 2.5 (<= 2.5 μm) level.
|
||||
- The particulate matter 10 (<= 10 μm) level.
|
||||
- The Air Quality Index (AQI).
|
||||
- The O3 (ozone) level.
|
||||
- The CO (carbon monoxide) level.
|
||||
- The CO2 (carbon dioxide) level.
|
||||
- The SO2 (sulphur dioxide) level.
|
||||
- The N2O (nitrogen oxide) level.
|
||||
- The NO (nitrogen monoxide) level.
|
||||
- The NO2 (nitrogen dioxide) level.
|
||||
|
45
source/_components/air_quality.opensensemap.markdown
Normal file
45
source/_components/air_quality.opensensemap.markdown
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
layout: page
|
||||
title: "OpenSenseMap"
|
||||
description: "Instructions on how to setup openSenseMap sensors in Home Assistant."
|
||||
date: 2018-12-15 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: opensensemap.png
|
||||
ha_category: Health
|
||||
ha_release: 0.85
|
||||
ha_iot_class: "Cloud Polling"
|
||||
redirect_from: /components/air_pollutants.opensensemap/
|
||||
---
|
||||
|
||||
The `opensensemap` air quality platform will query the open data API of [openSenseMap.org](https://opensensemap.org/) to monitor air quality sensor station.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
To get the ID of a station you need to select it on the [openSense map](https://opensensemap.org/) and find it in the addressbar of your browser. It's the last part of the URL, e.g., `5b450e565dc1ec001bf7cd1d` [https://opensensemap.org/explore/5b450e565dc1ec001bf7cd1d](https://opensensemap.org/explore/5b450e565dc1ec001bf7cd1d).
|
||||
|
||||
## {% linkable_title Manual Configuration %}
|
||||
|
||||
To enable this platform, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
air_quality:
|
||||
- platform: opensensemap
|
||||
station_id: STATION_ID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
station_id:
|
||||
description: The ID of the station to monitor.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name of the sensor to use in the frontend.
|
||||
required: false
|
||||
default: Station name
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -37,6 +37,11 @@ away_mode_name:
|
||||
required: false
|
||||
type: string
|
||||
default: "`Armed` mode in Arlo"
|
||||
night_mode_name:
|
||||
description: "Arlo base station does not have a built-in night mode. You can map one of your custom modes to Home Assistant's night mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app."
|
||||
required: false
|
||||
type: string
|
||||
default: "`Armed` mode in Arlo"
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
@ -46,6 +46,10 @@ name:
|
||||
description: Name of device in Home Assistant.
|
||||
required: false
|
||||
type: string
|
||||
code:
|
||||
description: Specifies a code to enable or disable the alarm in the frontend.
|
||||
required: false
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
This platform has also been confirmed to work with the alarm system brands Meian and Emooluxr.
|
||||
|
18
source/_components/alarm_control_panel.lupusec.markdown
Normal file
18
source/_components/alarm_control_panel.lupusec.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lupusec Alarm Control Panel"
|
||||
description: "Instructions on how to setup the Lupusec Alarm control panel within Home Assistant."
|
||||
date: 2018-10-03 16:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lupusec.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `lupusec` security control panel platform allows you to control your [Lupusec](https://www.lupus-electronics.de) devices.
|
||||
|
||||
The requirement is that you have setup your [Lupusec component](/components/lupusec/). The alarm control panel is automatically added to the Home Assistant frontend.
|
@ -12,7 +12,7 @@ ha_category: Alarm
|
||||
ha_release: "0.50"
|
||||
---
|
||||
|
||||
This platform extends the [manual alarm](/components/alarm_control_panel.manual/) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
|
||||
The `mqtt` platform extends the [manual alarm](/components/alarm_control_panel.manual/) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
|
||||
|
||||
It's essentially the opposite of the [MQTT Alarm Panel](/components/alarm_control_panel.mqtt/) which allows Home Assistant to observe an existing, fully-featured alarm where all of the alarm logic is embedded in that physical device.
|
||||
|
||||
@ -91,15 +91,15 @@ armed_home/armed_away/armed_night/disarmed/triggered:
|
||||
type: list
|
||||
keys:
|
||||
delay_time:
|
||||
description: State specific setting for **delay_time** (all states except **triggered**)
|
||||
description: State specific setting for **delay_time** (all states except **triggered**).
|
||||
required: false
|
||||
type: integer
|
||||
pending_time:
|
||||
description: State specific setting for **pending_time** (all states except **disarmed**)
|
||||
description: State specific setting for **pending_time** (all states except **disarmed**).
|
||||
required: false
|
||||
type: integer
|
||||
trigger_time:
|
||||
description: State specific setting for **trigger_time** (all states except **triggered**)
|
||||
description: State specific setting for **trigger_time** (all states except **triggered**).
|
||||
required: false
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
@ -110,11 +110,11 @@ Additionally, the following MQTT configuration variables are also available.
|
||||
|
||||
{% configuration %}
|
||||
state_topic:
|
||||
description: The MQTT topic HA will publish state updates to.
|
||||
description: The MQTT topic Home Assistant will publish state updates to.
|
||||
required: true
|
||||
type: string
|
||||
command_topic:
|
||||
description: The MQTT topic HA will subscribe to, to receive commands from a remote device to change the alarm state.
|
||||
description: The MQTT topic Home Assistant will subscribe to, to receive commands from a remote device to change the alarm state.
|
||||
required: true
|
||||
type: string
|
||||
qos:
|
||||
@ -148,9 +148,9 @@ payload_arm_night:
|
||||
|
||||
In the configuration example below:
|
||||
|
||||
- The disarmed state never triggers the alarm;
|
||||
- The armed_home state will leave no time to leave the building or disarm the alarm;
|
||||
- While other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back;
|
||||
- The disarmed state never triggers the alarm
|
||||
- The armed_home state will leave no time to leave the building or disarm the alarm
|
||||
- While other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back
|
||||
- Setting pending_time to 0 for triggered state allows the alarm to trigger after previous state's delay time only. If not set, the alarm will be pending for previous state's delay_time plus the default pending_time before triggering.
|
||||
|
||||
```yaml
|
||||
|
@ -17,11 +17,11 @@ The `mqtt` alarm panel platform enables the possibility to control MQTT capable
|
||||
|
||||
The component will accept the following states from your Alarm Panel (in lower case):
|
||||
|
||||
- 'disarmed'
|
||||
- 'armed_home'
|
||||
- 'armed_away'
|
||||
- 'pending'
|
||||
- 'triggered'
|
||||
- `disarmed`
|
||||
- `armed_home`
|
||||
- `armed_away`
|
||||
- `pending`
|
||||
- `triggered`
|
||||
|
||||
The component can control your Alarm Panel by publishing to the `command_topic` when a user interacts with the Home Assistant frontend.
|
||||
|
||||
@ -43,6 +43,10 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Alarm
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this alarm panel. If two alarm panels have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
type: string
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state updates.
|
||||
required: true
|
||||
@ -89,4 +93,33 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
device:
|
||||
description: 'Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
identifiers:
|
||||
description: 'A list of IDs that uniquely identify the device. For example a serial number.'
|
||||
required: false
|
||||
type: list, string
|
||||
connections:
|
||||
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
|
||||
required: false
|
||||
type: list
|
||||
manufacturer:
|
||||
description: 'The manufacturer of the device.'
|
||||
required: false
|
||||
type: string
|
||||
model:
|
||||
description: 'The model of the device.'
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: 'The name of the device.'
|
||||
required: false
|
||||
type: string
|
||||
sw_version:
|
||||
description: 'The firmware version of the device.'
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
19
source/_components/alarm_control_panel.ness_alarm.markdown
Normal file
19
source/_components/alarm_control_panel.ness_alarm.markdown
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ness Alarm Control Panel"
|
||||
description: "Instructions on how to setup the Ness alarm control panel within Home Assistant."
|
||||
date: 2018-11-25 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ness.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.85
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
The `ness_alarm` alarm control panel platform allows you to control your [Ness](http://nesscorporation.com/) D8x and D16x alarms.
|
||||
|
||||
The alarm control panel is automatically added by configuring the [Ness alarm](/components/ness_alarm/) component.
|
@ -91,7 +91,7 @@ zones:
|
||||
required: true
|
||||
type: string
|
||||
type:
|
||||
description: "A type for the zone. Here you can find a list of [Device Classes](https://www.home-assistant.io/components/binary_sensor/#device-class)."
|
||||
description: "A type for the zone. Here you can find a list of [Device Classes](/components/binary_sensor/#device-class)."
|
||||
required: false
|
||||
default: opening
|
||||
type: string
|
||||
@ -99,6 +99,10 @@ zones:
|
||||
description: The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status.
|
||||
required: false
|
||||
type: string
|
||||
loop:
|
||||
description: The loop number associated with RF zones (1, 2, 3, or 4). Providing this field allows Home Assistant to read open/closed status from the raw sensor data in addition to from the panel display, meaning it can correctly show a bypassed RF zone as open or closed when the alarm is armed. (This is an alternative to relayaddr/relaychan below for RF zones.)
|
||||
required: false
|
||||
type: integer
|
||||
relayaddr:
|
||||
description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
|
||||
required: inclusive
|
||||
|
@ -42,8 +42,8 @@ alert:
|
||||
entity_id: input_boolean.garage_door
|
||||
state: 'on'
|
||||
repeat: 30
|
||||
can_acknowledge: True
|
||||
skip_first: True
|
||||
can_acknowledge: true
|
||||
skip_first: true
|
||||
notifiers:
|
||||
- ryans_phone
|
||||
- kristens_phone
|
||||
@ -51,15 +51,9 @@ alert:
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The friendly name of the alert. This can include a [template][template].
|
||||
description: The friendly name of the alert.
|
||||
required: true
|
||||
type: string
|
||||
done_message:
|
||||
description: >
|
||||
A message sent after an alert transitions from `on` to `off`. Is only sent
|
||||
if an alert notification was sent for transitioning from `off` to `on`. This can include a [template][template].
|
||||
required: false
|
||||
type: string
|
||||
entity_id:
|
||||
description: The ID of the entity to watch.
|
||||
required: true
|
||||
@ -87,6 +81,19 @@ skip_first:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
message:
|
||||
description: >
|
||||
A message to be sent after an alert transitions from `off` to `on`
|
||||
with [template][template] support.
|
||||
required: false
|
||||
type: template
|
||||
done_message:
|
||||
description: >
|
||||
A message sent after an alert transitions from `on` to `off` with
|
||||
[template][template] support. Is only sent if an alert notification
|
||||
was sent for transitioning from `off` to `on`.
|
||||
required: false
|
||||
type: template
|
||||
notifiers:
|
||||
description: "List of `notification` components to use for alerts."
|
||||
required: true
|
||||
@ -96,7 +103,7 @@ notifiers:
|
||||
In this example, the garage door status (`input_boolean.garage_door`) is watched
|
||||
and this alert will be triggered when its status is equal to `on`.
|
||||
This indicates that the door has been opened. Because the `skip_first` option
|
||||
was set to `True`, the first notification will not be delivered immediately.
|
||||
was set to `true`, the first notification will not be delivered immediately.
|
||||
However, every 30 minutes, a notification will be delivered until either
|
||||
`input_boolean.garage_door` no longer has a state of `on` or until the alert is
|
||||
acknowledged using the Home Assistant frontend.
|
||||
@ -118,15 +125,16 @@ provided by the `alert` component:
|
||||
```
|
||||
|
||||
```yaml
|
||||
freshwater_temp_alert:
|
||||
name: "Warning: I have detected a problem with the freshwater tank temperature"
|
||||
entity_id: binary_sensor.freshwater_temperature_status
|
||||
state: 'on'
|
||||
repeat: 5
|
||||
can_acknowledge: true
|
||||
skip_first: false
|
||||
notifiers:
|
||||
- john_phone_sms
|
||||
alert:
|
||||
freshwater_temp_alert:
|
||||
name: "Warning: I have detected a problem with the freshwater tank temperature"
|
||||
entity_id: binary_sensor.freshwater_temperature_status
|
||||
state: 'on'
|
||||
repeat: 5
|
||||
can_acknowledge: true
|
||||
skip_first: false
|
||||
notifiers:
|
||||
- john_phone_sms
|
||||
```
|
||||
|
||||
### {% linkable_title Complex Alert Criteria %}
|
||||
@ -139,12 +147,13 @@ disable the alert on certain days. Maybe the alert firing should depend on more
|
||||
than one input. For all of these situations, it is best to use the alert in
|
||||
conjunction with a `Template Binary Sensor`. The following example does that.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
motion_battery_low:
|
||||
value_template: {% raw %}'{{ states.sensor.motion.attributes.battery < 15 }}'{% endraw %}
|
||||
value_template: '{{ states.sensor.motion.attributes.battery < 15 }}'
|
||||
friendly_name: 'Motion battery is low'
|
||||
|
||||
alert:
|
||||
@ -156,6 +165,7 @@ alert:
|
||||
- ryans_phone
|
||||
- kristens_phone
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
This example will begin firing as soon as the entity `sensor.motion`'s `battery`
|
||||
attribute falls below 15. It will continue to fire until the battery attribute
|
||||
@ -179,8 +189,8 @@ alert:
|
||||
- 15
|
||||
- 30
|
||||
- 60
|
||||
can_acknowledge: True # Optional, default is True
|
||||
skip_first: True # Optional, false is the default
|
||||
can_acknowledge: true # Optional, default is true
|
||||
skip_first: true # Optional, false is the default
|
||||
notifiers:
|
||||
- ryans_phone
|
||||
- kristens_phone
|
||||
@ -192,4 +202,56 @@ following notification.
|
||||
For example, if the garage door opens at 2:00, a notification will be
|
||||
sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes.
|
||||
|
||||
### {% linkable_title Message Templates %}
|
||||
|
||||
It may be desirable to have the alert notifications include information
|
||||
about the state of the entity. [Templates](/docs/configuration/templating/)
|
||||
can be used in the message or name of the alert to make it more relevant.
|
||||
The following will show for a plant how to include the problem `attribute`
|
||||
of the entity.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
alert:
|
||||
office_plant:
|
||||
name: Plant in office needs help
|
||||
entity_id: plant.plant_office
|
||||
state: 'problem'
|
||||
repeat: 30
|
||||
can_acknowledge: true
|
||||
skip_first: true
|
||||
message: "Plant {{ states.plant.plant_office }} needs help ({{ state_attr('plant.plant_office', 'problem') }})"
|
||||
done_message: Plant in office is fine
|
||||
notifiers:
|
||||
- ryans_phone
|
||||
- kristens_phone
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
The resulting message could be `Plant Officeplant needs help (moisture low)`.
|
||||
|
||||
The next example uses a template for the alert name.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
alert:
|
||||
garage_door:
|
||||
name: Garage has been open for {{ relative_time(states.binary_sensor.garage.last_changed) }}
|
||||
done_message: Garage is closed
|
||||
entity_id: binary_sensor.garage
|
||||
state: 'on'
|
||||
repeat:
|
||||
- 30
|
||||
- 60
|
||||
- 120
|
||||
can_acknowledge: true
|
||||
skip_first: true
|
||||
notifiers:
|
||||
- ryans_phone
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
The resulting title of the alert could be `Garage has been open for 30 min`.
|
||||
|
||||
[template]: /docs/configuration/templating/
|
||||
|
@ -13,9 +13,13 @@ featured: true
|
||||
ha_release: '0.10'
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
Use [Home Assistant Cloud](/components/cloud/) to integrate with Alexa without any effort.
|
||||
</p>
|
||||
## {% linkable_title Automatic setup via Home Assistant Cloud %}
|
||||
|
||||
With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
|
||||
|
||||
For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/amazon_alexa/).
|
||||
|
||||
## {% linkable_title Manual setup %}
|
||||
|
||||
There are a few ways that you can use Amazon Echo and Home Assistant together.
|
||||
|
||||
@ -50,16 +54,16 @@ Additionally, note that at the time of this writing, your Alexa skill endpoint *
|
||||
|
||||
To get started with Alexa skills:
|
||||
|
||||
- Log in to [Amazon developer console][amazon-dev-console]
|
||||
- Click the Alexa button at the top of the console
|
||||
- Click the yellow "Add a new skill" button in the top right
|
||||
- Skill Type: Custom Interaction Model (default)
|
||||
- Name: Home Assistant
|
||||
- Invocation name: home assistant (or be creative, up to you)
|
||||
- Version: 1.0
|
||||
- Endpoint:
|
||||
- https
|
||||
- `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD`
|
||||
- Log in to [Amazon developer console][amazon-dev-console]
|
||||
- Click the Alexa button at the top of the console
|
||||
- Click the yellow "Add a new skill" button in the top right
|
||||
- Skill Type: Custom Interaction Model (default)
|
||||
- Name: Home Assistant
|
||||
- Invocation name: home assistant (or be creative, up to you)
|
||||
- Version: 1.0
|
||||
- Endpoint:
|
||||
- https
|
||||
- `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD`
|
||||
|
||||
You can use this [specially sized Home Assistant logo][large-icon] as the large icon and [this one][small-icon] as the small one.
|
||||
|
||||
@ -99,14 +103,14 @@ WhereAreWeIntent where we are
|
||||
|
||||
This means that we can now ask Alexa things like:
|
||||
|
||||
- Alexa, ask Home Assistant where Paul is
|
||||
- Alexa, ask Home Assistant where we are
|
||||
- Alexa, ask Home Assistant where Paul is
|
||||
- Alexa, ask Home Assistant where we are
|
||||
|
||||
## {% linkable_title Configuring Home Assistant %}
|
||||
|
||||
When activated, the Alexa component will have Home Assistant's native intent support handle the incoming intents. If you want to run actions based on intents, use the [`intent_script`](/components/intent_script) component.
|
||||
|
||||
To enable Alexa add the following entry to your `configuration.yaml` file:
|
||||
To enable Alexa, add the following entry to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
alexa:
|
||||
@ -218,15 +222,16 @@ intent_script:
|
||||
Now say `Alexa ask Home Assistant to run <some script>` and Alexa will run that script for you.
|
||||
|
||||
### {% linkable_title Support for Launch Requests %}
|
||||
|
||||
There may be times when you want to respond to a launch request initiated from a command such as "Alexa, Red Alert!".
|
||||
|
||||
To start, you need to get the skill id:
|
||||
|
||||
- Log into [Amazon developer console][amazon-dev-console]
|
||||
- Click the Alexa button at the top of the console
|
||||
- Click the Alexa Skills Kit Get Started button
|
||||
- Locate the skill for which you would like Launch Request support
|
||||
- Click the "View Skill ID" link and copy the ID
|
||||
- Log into [Amazon developer console][amazon-dev-console]
|
||||
- Click the Alexa button at the top of the console
|
||||
- Click the Alexa Skills Kit Get Started button
|
||||
- Locate the skill for which you would like Launch Request support
|
||||
- Click the "View Skill ID" link and copy the ID
|
||||
|
||||
The configuration is the same as an intent with the exception being you will use your skill ID instead of the intent name.
|
||||
```yaml
|
||||
@ -269,13 +274,13 @@ First create a file called `alexa_confirm.yaml` with something like the followin
|
||||
|
||||
Then, wherever you would put some simple text for a response like `OK`, replace it with a reference to the file so that:
|
||||
|
||||
```
|
||||
```yaml
|
||||
text: OK
|
||||
```
|
||||
|
||||
becomes:
|
||||
|
||||
```
|
||||
```yaml
|
||||
text: !include alexa_confirm.yaml
|
||||
```
|
||||
|
||||
@ -330,10 +335,9 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
|
||||
- All other settings are up to you
|
||||
- Hit "Next"
|
||||
- Test
|
||||
- Having passed all validations to reach this screen, you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service.
|
||||
- Having passed all validations to reach this screen, you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service.
|
||||
- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing".
|
||||
|
||||
|
||||
## {% linkable_title Smart Home %}
|
||||
|
||||
While the Skills API described above allows for arbitrary intents, all
|
||||
@ -354,6 +358,9 @@ the integration work easier. Example configuration:
|
||||
```yaml
|
||||
alexa:
|
||||
smart_home:
|
||||
endpoint: https://api.amazonalexa.com/v3/events
|
||||
client_id: !secret alexa_client_id
|
||||
client_secret: !secret alexa_client_secret
|
||||
filter:
|
||||
include_entities:
|
||||
- light.kitchen
|
||||
@ -369,13 +376,17 @@ alexa:
|
||||
switch.stairs:
|
||||
display_categories: LIGHT
|
||||
```
|
||||
|
||||
This exposes an HTTP POST endpoint at `http://your_hass_ip/api/alexa/smart_home`
|
||||
which accepts and returns messages conforming to the
|
||||
[Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html).
|
||||
You must then create an Amazon developer account with an Alexa skill and Lambda
|
||||
function to integrate this endpoint. See
|
||||
[Haaska](https://github.com/mike-grant/haaska) for an example.
|
||||
The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode. Please note the following if you want to enable proactive mode:
|
||||
|
||||
- There are different endpoint urls, depending on the region of your skill. Please check the available endpoints at <https://developer.amazon.com/docs/smarthome/send-events-to-the-alexa-event-gateway.html#endpoints>
|
||||
- The `client_id` and `client_secret` are not the ones used by the skill that have been set up using "Login with Amazon" (in the Alexa Developer Console: Build > Account Linking), but rather from the "Alexa Skill Messaging" (in the Alexa Developer Console: Build > Permissions > Alexa Skill Messaging). To get them, you need to enable the "Send Alexa Events" permission.
|
||||
- If the "Send Alexa Events" permission was not enabled previously, you need to unlink and relink the skill using the Alexa App, or else Home Assistant will show the following error: "Token invalid and no refresh token available."
|
||||
|
||||
[amazon-dev-console]: https://developer.amazon.com
|
||||
[flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing
|
||||
|
@ -13,17 +13,17 @@ ha_release: "0.40"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `android_ip_webcam` component turns an Android phone into a network camera with multiple viewing options.
|
||||
The `android_ip_webcam` component turns any Android phone or tablet into a network camera with multiple viewing options.
|
||||
|
||||
It's setup as an MJPEG camera and all settings as switches inside of Home Assistant. You can also expose the sensors. If you have multiple phones, you can use all options inside a list.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
Download [the IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. You will be able to the IP address of the device.
|
||||
Download [the IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. When you press 'Start Server', it will start streaming video from your phone and the IP address of the device will be shown on screen.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To set it up the component, add the following information to your `configuration.yaml` file:
|
||||
To set up the component, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -35,3 +35,7 @@ port:
|
||||
type: integer
|
||||
default: 3551
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
If you get `ConnectionRefusedError: Connection refused` errors in the Home assistant logs, ensure the [APCUPSd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addesses will not connect. This includes Hass.io running in Docker, even when hosted on the same machine or a virtual machine.
|
||||
</p>
|
||||
|
84
source/_components/asuswrt.markdown
Normal file
84
source/_components/asuswrt.markdown
Normal file
@ -0,0 +1,84 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Asuswrt"
|
||||
description: "Instructions on how to integrate Asuswrt into Home Assistant."
|
||||
date: 2017-01-05 17:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: asus.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `asuswrt` component is the main component to connect to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
asuswrt:
|
||||
host: YOUR_ROUTER_IP
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: "The IP address of your router, eg. `192.168.1.1`."
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: "The username of a 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: integer
|
||||
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
|
||||
sensors:
|
||||
description: List of enabled sensors
|
||||
required: false
|
||||
type: list
|
||||
default: all (`upload`, `download`, `upload_speed`, `download_speed`)
|
||||
keys:
|
||||
"upload":
|
||||
description: TX upload sensor
|
||||
"download":
|
||||
description: RX download sensor
|
||||
"download_speed":
|
||||
description: download mbit/s sensor
|
||||
"upload_speed":
|
||||
description: upload mbit/s sensor
|
||||
{% 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`.
|
||||
</p>
|
@ -23,9 +23,11 @@ To use your Command binary sensor in your installation, add the following to you
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: cat /proc/sys/net/ipv4/ip_forward
|
||||
command: 'cat /proc/sys/net/ipv4/ip_forward'
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
It's highly recommended to enclose the command in single quotes `'` as it ensures all characters can be used in the command and reduces the risk of unintentional escaping. To include a single quote in a command enclosed in single quotes, double it: `''`.
|
||||
</p>
|
||||
{% configuration %}
|
||||
command:
|
||||
description: The action to take to get the value.
|
||||
@ -78,7 +80,7 @@ Check the state of an [SickRage](https://github.com/sickragetv/sickrage) instanc
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
|
||||
command: 'netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")'
|
||||
name: 'sickragerunning'
|
||||
device_class: moving
|
||||
payload_on: "Running"
|
||||
@ -105,7 +107,7 @@ An alternative solution could look like this:
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
name: Printer
|
||||
command: ping -W 1 -c 1 192.168.1.10 > /dev/null 2>&1 && echo success || echo fail
|
||||
command: 'ping -W 1 -c 1 192.168.1.10 > /dev/null 2>&1 && echo success || echo fail'
|
||||
device_class: connectivity
|
||||
payload_on: "success"
|
||||
payload_off: "fail"
|
||||
@ -134,5 +136,3 @@ binary_sensor:
|
||||
payload_on: 'active'
|
||||
payload_off: 'inactive'
|
||||
```
|
||||
|
||||
Note: Use single quotes!
|
||||
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ecobee Binary Sensor"
|
||||
description: "Instructions on how to setup the Ecobee sensors within Home Assistant."
|
||||
date: 2015-11-30 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ecobee.png
|
||||
ha_category: Environment
|
||||
ha_release: 0.9
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
To get your Ecobee binary sensors working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).
|
@ -1,76 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "EnOcean Binary Sensor"
|
||||
description: "Instructions on how to set up EnOcean binary sensors within Home Assistant."
|
||||
date: 2016-05-25 23:49
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.21
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
This can typically be one of those batteryless wall switches.
|
||||
Tested with:
|
||||
|
||||
- Eltako FT55 which uses the EnOcean PTM 215 module
|
||||
- [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module
|
||||
|
||||
All switches using theses modules are expected to work. Other devices will most likely not work without changing the Home Assistant code.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
id:
|
||||
description: The ID of the device. This is the 4 bytes long number written on the dimmer.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: An identifier for the switch in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: EnOcean binary sensor
|
||||
device_class:
|
||||
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
required: false
|
||||
type: device_class
|
||||
{% endconfiguration %}
|
||||
|
||||
EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields:
|
||||
|
||||
- **id**: The ID of the device (see configuration).
|
||||
- **pushed**: `1` for a button press, `0` for a button release.
|
||||
- **which**: Always `0` when using the single rocket. `0` or `1` when using the dual rocket switch.
|
||||
- **onoff**: `0` or `1` for either side of the rocket.
|
||||
|
||||
## {% linkable_title Automation example %}
|
||||
|
||||
Sample automation to switch lights on and off:
|
||||
|
||||
```yaml
|
||||
# Example automation to turn lights on/off on button release
|
||||
automation:
|
||||
- alias: hall light switches
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: button_pressed
|
||||
event_data:
|
||||
id: [0xYY, 0xYY, 0xYY, 0xYY]
|
||||
pushed: 0
|
||||
action:
|
||||
service_template: "{% raw %}{% if trigger.event.data.onoff %} light.turn_on {% else %} light.turn_off {%endif %}{% endraw %}"
|
||||
data_template:
|
||||
entity_id: "{% raw %}{% if trigger.event.data.which == 1 %} light.hall_left {% else %} light.hall_right {%endif %}{% endraw %}"
|
||||
```
|
18
source/_components/binary_sensor.fibaro.markdown
Normal file
18
source/_components/binary_sensor.fibaro.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Fibaro Binary Sensor"
|
||||
description: "Instructions on how to integrate Fibaro binary sensors into Home Assistant."
|
||||
date: 2018-11-14 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: fibaro.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Push"
|
||||
ha_release: 0.83
|
||||
---
|
||||
|
||||
The `fibaro` platform allows you to get data from your [Fibaro](http://fibaro.com/) binary sensors connected to your Fibaro HCL or HC2 from within Home Assistant.
|
||||
|
||||
They will be automatically discovered if the `fibaro` component is loaded.
|
@ -19,7 +19,7 @@ The platform does not directly interact with the buttons, *but communicates with
|
||||
|
||||
#### {% linkable_title Service setup %}
|
||||
|
||||
If you are using Hass.io, you can run the service locally by [installing](https://www.home-assistant.io/hassio/installing_third_party_addons/) the flicd add-on from [pschmitt's repository](https://github.com/pschmitt/hassio-addons). On a Hass.io installation that's not yet based on HassOS, you also need to install the [bluetooth add-on](/addons/bluetooth_bcm43xx/).
|
||||
If you are using Hass.io, you can run the service locally by [installing](/hassio/installing_third_party_addons/) the flicd add-on from [pschmitt's repository](https://github.com/pschmitt/hassio-addons). On a Hass.io installation that's not yet based on HassOS, you also need to install the [bluetooth add-on](/addons/bluetooth_bcm43xx/).
|
||||
|
||||
For instructions on how to install the service manually, visit the GitHub repository of the service for [Linux](https://github.com/50ButtonsEach/fliclib-linux-hci), [OS X](https://github.com/50ButtonsEach/flic-service-osx) or [Windows](https://github.com/50ButtonsEach/fliclib-windows).
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Fritzbox Binary Sensor"
|
||||
description: "Instructions on how to integrate an AVM Fritzbox alarm sensor."
|
||||
date: 2018-10-01 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: avm.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: "0.80"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
To get AVM fritzbox binary sensor follow the instructions for the [Fritzbox component](/components/fritzbox/).
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Homematic Binary Sensor"
|
||||
description: "Instructions on how to integrate binary Homematic sensors within Home Assistant."
|
||||
date: 2016-06-28 08:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: homematic.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.23
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `homematic` binary sensor platform lets you observe the state changes of binary [Homematic](http://www.homematic.com/) sensors through Home Assistant.
|
||||
|
||||
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.
|
@ -10,6 +10,7 @@ footer: true
|
||||
logo: http.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: pre 0.7
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The HTTP binary sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.
|
||||
|
@ -29,23 +29,26 @@ be found in the IHC project and setup as binary sensors:
|
||||
|
||||
## {% linkable_title Manual configuration %}
|
||||
|
||||
To manually configure IHC Binary Sensors
|
||||
insert this section in your configuration:
|
||||
To manually configure IHC Binary Sensors insert the "binary_sensor" section in your IHC configuration:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: ihc
|
||||
binary_sensors:
|
||||
# Example configuration.yaml entry
|
||||
ihc:
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
info: true
|
||||
binary_sensor:
|
||||
- id: 12345
|
||||
name: mysensor
|
||||
type: opening
|
||||
inverting: True
|
||||
- id: 12346
|
||||
...
|
||||
name: switch_front_door
|
||||
inverting: false
|
||||
note: Magnet contact
|
||||
position: Switch in door
|
||||
type: door
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
binary_sensors:
|
||||
binary_sensor:
|
||||
description: List of binary sensors to setup manually.
|
||||
required: false
|
||||
type: map
|
||||
@ -60,7 +63,7 @@ binary_sensors:
|
||||
type: boolean
|
||||
default: false
|
||||
name:
|
||||
description: The name of the component
|
||||
description: The name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
type:
|
||||
@ -70,6 +73,14 @@ binary_sensors:
|
||||
for available types.
|
||||
required: false
|
||||
type: string
|
||||
note:
|
||||
description: Descriptive note
|
||||
required: false
|
||||
type: string
|
||||
position:
|
||||
description: Where is it placed
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The resource id should be an id of a boolean IHC resource. For more information
|
||||
|
@ -53,7 +53,7 @@ The default name of the location attributes is `lat` and `long` to avoid showing
|
||||
### {% linkable_title Show position on map with camera platform %}
|
||||
|
||||
The [generic camera platform](/components/camera.mjpeg/) offers
|
||||
the possibility to show the location of the ISS on Google Maps.
|
||||
the possibility to show the location of the ISS on OpenStreetMap.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ISY994 Binary Sensor"
|
||||
description: "Instructions on how to integrate ISY994 binary sensors into Home Assistant."
|
||||
date: 2016-09-03 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: universal_devices.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Push"
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) binary sensors from within Home Assistant.
|
||||
|
||||
They will be automatically discovered if the `isy994` component is loaded.
|
20
source/_components/binary_sensor.lupusec.markdown
Normal file
20
source/_components/binary_sensor.lupusec.markdown
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lupusec Binary Sensor"
|
||||
description: "Instructions on how to integrate Lupusec binary sensors into Home Assistant."
|
||||
date: 2018-10-03 16:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lupusec.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `lupusec` security control panel platform allows you to control your [Lupusec](https://www.lupus-electronics.de) devices.
|
||||
|
||||
This platform will add `door contacts` and `window contacts` to your Home Assistant setup.
|
||||
|
||||
For the sensors to work you have to setup your [`lupusec` component](/components/lupusec/).
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "eQ-3 MAX! Cube binary sensors"
|
||||
description: "Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube."
|
||||
date: 2017-02-04 22:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: maxcube.png
|
||||
ha_category: Climate
|
||||
ha_release: "0.40"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
See instructions at the [main component](/components/maxcube/).
|
@ -13,28 +13,15 @@ ha_release: 0.9
|
||||
ha_iot_class: "depends"
|
||||
---
|
||||
|
||||
The `mqtt` binary sensor platform uses an MQTT message payload
|
||||
to set the binary sensor to one of two states: `on` or `off`.
|
||||
The `mqtt` binary sensor platform uses an MQTT message payload to set the binary sensor to one of two states: `on` or `off`.
|
||||
|
||||
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.
|
||||
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`
|
||||
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 sensor 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,
|
||||
@ -48,15 +35,15 @@ binary_sensor:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive sensor values.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name of the binary sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Binary Sensor
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive sensor values.
|
||||
required: true
|
||||
type: string
|
||||
payload_on:
|
||||
description: The payload that represents the on state.
|
||||
required: false
|
||||
@ -68,11 +55,7 @@ payload_off:
|
||||
type: string
|
||||
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.
|
||||
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
|
||||
type: string
|
||||
payload_available:
|
||||
@ -85,65 +68,63 @@ payload_not_available:
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving messages.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
unique_id:
|
||||
description: >
|
||||
An ID that uniquely identifies this sensor. If two sensors have
|
||||
the same unique ID, Home Assistant will raise an exception.
|
||||
description: An ID that uniquely identifies this sensor. If two sensors have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
type: string
|
||||
device_class:
|
||||
description: >
|
||||
The [type/class](/components/binary_sensor/) of
|
||||
the sensor to set the icon in the frontend.
|
||||
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: >
|
||||
Defines a [template](/docs/configuration/templating/#processing-incoming-data)
|
||||
to extract a value from the payload.
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. Available variables: `entity_id`."
|
||||
required: false
|
||||
type: string
|
||||
force_update:
|
||||
description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
|
||||
required: false
|
||||
type: boolean
|
||||
default: False
|
||||
default: false
|
||||
off_delay:
|
||||
description: For sensors that only sends ‘On’ state updates, this variable sets a delay in seconds after which the sensor state will be updated back to ‘Off’.
|
||||
description: "For sensors that only sends `On` state updates, this variable sets a delay in seconds after which the sensor state will be updated back to `Off`."
|
||||
required: false
|
||||
type: integer
|
||||
device:
|
||||
description: 'Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
description: "Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
identifiers:
|
||||
description: 'A list of IDs that uniquely identify the device. For example a serial number.'
|
||||
description: A list of IDs that uniquely identify the device. For example a serial number.
|
||||
required: false
|
||||
type: list, string
|
||||
connections:
|
||||
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
|
||||
description: "A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `'connections': ['mac', '02:5b:26:a8:dc:12']`."
|
||||
required: false
|
||||
type: list, tuple
|
||||
manufacturer:
|
||||
description: 'The manufacturer of the device.'
|
||||
description: The manufacturer of the device.
|
||||
required: false
|
||||
type: string
|
||||
model:
|
||||
description: 'The model of the device.'
|
||||
description: The model of the device.
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: 'The name of the device.'
|
||||
description: The name of the device.
|
||||
required: false
|
||||
type: string
|
||||
sw_version:
|
||||
description: 'The firmware version of the device.'
|
||||
description: The firmware version of the device.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
@ -154,8 +135,8 @@ In this section, you will find some real-life examples of how to use this sensor
|
||||
|
||||
### {% linkable_title Full configuration %}
|
||||
|
||||
To test, you can use the command line tool `mosquitto_pub` shipped with
|
||||
`mosquitto` or the `mosquitto-clients` package to send MQTT messages.
|
||||
To test, you can use the command line tool `mosquitto_pub` shipped with `mosquitto` or the `mosquitto-clients` package to send MQTT messages.
|
||||
|
||||
To set the state of the binary sensor manually:
|
||||
|
||||
```bash
|
||||
@ -182,20 +163,24 @@ binary_sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Toggle the binary sensor each time a message is received on state_topic %}
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: mqtt
|
||||
state_topic: "lab_button/cmnd/POWER"
|
||||
value_template: "{%if is_state(entity_id,\"on\")-%}OFF{%-else-%}ON{%-endif%}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Get the state of a device with ESPEasy %}
|
||||
|
||||
Assuming that you have flashed your ESP8266 unit with
|
||||
[ESPEasy](https://github.com/letscontrolit/ESPEasy).
|
||||
Under "Config" is a name ("Unit Name:") set for your device
|
||||
(here it's "bathroom"). A configuration for a "Controller" for MQTT with the
|
||||
protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and
|
||||
"Controller Publish:") are adjusted to match your needs.
|
||||
In this example, the topics are prefixed with "home". Also, add a "Switch Input"
|
||||
in the "Devices" tap with the name "switch" and "button" as value.
|
||||
Assuming that you have flashed your ESP8266 unit with [ESPEasy](https://github.com/letscontrolit/ESPEasy). Under "Config" is a name ("Unit Name:") set for your device (here it's "bathroom"). A configuration for a "Controller" for MQTT with the protocol "OpenHAB MQTT" is present and the entries ("Controller Subscribe:" and "Controller Publish:") are adjusted to match your needs. In this example, the topics are prefixed with "home". Also, add a "Switch Input" in the "Devices" tap with the name "switch" and "button" as value.
|
||||
|
||||
As soon as the unit is online, you will get the state of the attached button.
|
||||
|
||||
```bash
|
||||
```
|
||||
home/bathroom/status Connected
|
||||
...
|
||||
home/bathroom/switch/button 1
|
||||
@ -203,7 +188,6 @@ home/bathroom/switch/button 1
|
||||
|
||||
The configuration will look like the example below:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
@ -213,4 +197,3 @@ binary_sensor:
|
||||
payload_on: "1"
|
||||
payload_off: "0"
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -1,20 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MyChevy Binary Sensor"
|
||||
description: "Instructions on how to integrate Chevy Bolt binary sensors car into Home Assistant."
|
||||
date: 2017-08-28 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: chevy.png
|
||||
ha_category: Car
|
||||
ha_release: 0.62
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `mychevy` binary sensor platform allows you to monitor your Chevy Bolt car from within Home Assistant.
|
||||
|
||||
The binary sensor platform will be automatically configured if the `mychevy` component is configured.
|
||||
|
||||
For configuration instructions, see the [`mychevy` component](/components/mychevy/) documentation.
|
18
source/_components/binary_sensor.ness_alarm.markdown
Normal file
18
source/_components/binary_sensor.ness_alarm.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ness Alarm Binary Sensor"
|
||||
description: "Instructions on how to setup the Ness alarm zones within Home Assistant."
|
||||
date: 2018-11-25 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ness.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.85
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `ness_alarm` binary sensor allows you to monitor your [Ness](http://nesscorporation.com/) D8x and D16x alarm zones.
|
||||
|
||||
Zone binary sensors are automatically added by configuring the [Ness alarm](/components/ness_alarm/) component.
|
@ -49,11 +49,11 @@ name:
|
||||
payload_on:
|
||||
description: "Variable `on` value. The component will recognize this as logical '1'."
|
||||
required: false
|
||||
type: string
|
||||
type: [string, float, integer]
|
||||
payload_off:
|
||||
description: "Variable `off` value. The component will recognize this as logical '0'."
|
||||
required: false
|
||||
type: string
|
||||
type: [string, float, integer]
|
||||
disarm_after_trigger:
|
||||
description: Configure sensor as trigger type.
|
||||
required: false
|
||||
@ -80,6 +80,6 @@ binary_sensor:
|
||||
payload:
|
||||
unitcode: 371399
|
||||
payload_on: 'closed'
|
||||
disarm_after_trigger: True
|
||||
disarm_after_trigger: true
|
||||
reset_delay_sec: 30
|
||||
```
|
||||
|
35
source/_components/binary_sensor.point.markdown
Normal file
35
source/_components/binary_sensor.point.markdown
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Minut Point Binary Sensor"
|
||||
description: "Access your Minut Point Events as binary sensors."
|
||||
date: 2018-11-19
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: minut.svg
|
||||
ha_category: Binary Sensor
|
||||
ha_release: "0.83"
|
||||
ha_iot_class: "Cloud Push"
|
||||
ha_qa_scale: silver
|
||||
---
|
||||
|
||||
Each Point exposes the following binary sensors:
|
||||
|
||||
- **battery**: `On` means low, `Off` means normal
|
||||
- **button_press**: `On` means the button was pressed, `Off` means normal
|
||||
- **cold**: `On` means cold, `Off` means normal
|
||||
- **connectivity**: `On` means connected, `Off` means disconnected
|
||||
- **dry**: `On` means too dry, `Off` means normal
|
||||
- **heat**: `On` means hot, `Off` means normal
|
||||
- **light**: `On` means light detected, `Off` means no light
|
||||
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry)
|
||||
- **motion**: `On` means motion detected, `Off` means no motion (clear)
|
||||
- **sound**: `On` means sound detected, `Off` means no sound (clear)
|
||||
- **tamper**: `On` means the point was removed or attached
|
||||
|
||||
For installation instructions, see [the Point component](/components/point/).
|
||||
|
||||
<p class='note'>
|
||||
The events sent from the Point is also sent as a webhook back to Home Assistant with `event_type` as `point_webhook_received`, please consider the documentation for the [IFTT](/components/ifttt/) component on how to write automations for webhooks.
|
||||
</p>
|
@ -17,7 +17,7 @@ The `rainmachine` binary sensor platform allows you to view crucial sensor data
|
||||
within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
|
||||
|
||||
<p class='note'>
|
||||
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
|
||||
You must have the [RainMachine component](/components/rainmachine/)
|
||||
configured to use this platform. After configuring that component, binary
|
||||
sensors automatically appear.
|
||||
</p>
|
||||
|
@ -1,120 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Raspihats Binary Sensor"
|
||||
description: "Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant as a binary_sensor."
|
||||
date: 2017-05-01 04:09
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspihats.png
|
||||
ha_category: DIY
|
||||
ha_release: 0.44
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `raspihats` binary sensor platform allows you to read sensor values using the digital inputs of the [raspihats](http://www.raspihats.com/) boards.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your `raspihats` boards in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: raspihats
|
||||
i2c_hats:
|
||||
- board: DI6acDQ6rly
|
||||
address: 0x60
|
||||
channels:
|
||||
- index: 0
|
||||
name: PIR Office
|
||||
invert_logic: true
|
||||
device_class: motion
|
||||
- index: 1
|
||||
name: PIR Bedroom
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
i2c_hats:
|
||||
description: An array of used I2C-HATs.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
board:
|
||||
description: The board name either Di16, Di6Rly6, DI16ac or DI6acDQ6rly.
|
||||
required: true
|
||||
type: string
|
||||
address:
|
||||
description: The board I2C address as HEX value.
|
||||
required: true
|
||||
type: string
|
||||
channels:
|
||||
description: Array of used digital input channels.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
index:
|
||||
description: Digital input channel index.
|
||||
required: true
|
||||
type: integer
|
||||
name:
|
||||
description: Friendly name to use for the frontend.
|
||||
required: true
|
||||
type: string
|
||||
invert_logic:
|
||||
description: Inverts the input logic.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
device_class:
|
||||
description: See device classes in [binary_sensor component](/components/binary_sensor/).
|
||||
required: false
|
||||
default: "None"
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Directions for installing smbus support on Raspberry Pi %}
|
||||
|
||||
Enable I2c interface with the Raspberry Pi configuration utility:
|
||||
|
||||
```bash
|
||||
# pi user environment: Enable i2c interface
|
||||
$ sudo raspi-config
|
||||
```
|
||||
|
||||
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish`.
|
||||
|
||||
Install dependencies for use the `smbus-cffi` module and enable your _homeassistant_ user to join the _i2c_ group:
|
||||
|
||||
```bash
|
||||
# pi user environment: Install i2c dependencies and utilities
|
||||
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
|
||||
|
||||
# pi user environment: Add homeassistant user to the i2c group
|
||||
$ sudo usermod -a -G i2c homeassistant
|
||||
```
|
||||
|
||||
### {% linkable_title Check the i2c address of the sensor %}
|
||||
|
||||
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors, so you can see the sensor address:
|
||||
|
||||
```bash
|
||||
$ /usr/sbin/i2cdetect -y 1
|
||||
```
|
||||
|
||||
It will output a table like this:
|
||||
|
||||
```text
|
||||
0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||
00: -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
|
||||
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
40: 40 -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
|
||||
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
70: -- -- -- -- -- -- -- 77
|
||||
```
|
||||
|
||||
For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/).
|
18
source/_components/binary_sensor.sense.markdown
Normal file
18
source/_components/binary_sensor.sense.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Sense binary sensors"
|
||||
description: "Instructions on how to integrate Sense binary sensors into Home Assistant."
|
||||
date: 2018-11-14 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: sense.png
|
||||
ha_category: Energy
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_release: 0.82
|
||||
---
|
||||
|
||||
The `Sense` platform allows you to get data from your [Sense](http://Sense.com/).
|
||||
|
||||
They will be automatically discovered if the `sense` component is loaded.
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "SleepIQ Binary Sensor"
|
||||
description: "Instructions for how to integrate SleepIQ sensors within Home Assistant."
|
||||
date: 2016-08-28 8:56
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: sleepiq.png
|
||||
ha_category: Health
|
||||
ha_release: 0.29
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
To get your SleepIQ binary sensors working with Home Assistant, follow the instructions for the general [SleepIQ component](/components/sleepiq/).
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Tahoma Binary Sensor"
|
||||
description: "Instructions on how to integrate Tahoma binary sensors into Home Assistant."
|
||||
date: 2018-06-14 21:57
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tahoma.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.73
|
||||
---
|
||||
|
||||
The `tahoma` binary sensor platform lets you see binary sensors added to your Tahoma Box in Home Assistant. For example smoke detectors.
|
||||
|
||||
Binary sensors will be added automatically. Please refer to the [component](/components/tahoma/) configuration on how to setup Tahoma.
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Telldus Binary Sensor"
|
||||
description: "Instructions on how to integrate Telldus Live binary sensors into Home Assistant."
|
||||
date: 2017-10-24 10:09
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telldus.png
|
||||
ha_category: Binary Sensor
|
||||
featured: false
|
||||
---
|
||||
|
||||
Integrates Telldus Live binary sensors into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions.
|
@ -14,14 +14,13 @@ logo: home-assistant.png
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `template` platform supports sensors which break out the `state` and
|
||||
`state_attributes` from other entities. The state of a Template Binary Sensor
|
||||
can only be `on` or `off`.
|
||||
The `template` platform supports binary sensors which get their values from
|
||||
other entities. The state of a Template Binary Sensor can only be `on` or
|
||||
`off`.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable Template Binary Sensors in your installation, add the following to
|
||||
your `configuration.yaml` file:
|
||||
Here is an example of adding a Template Binary Sensor to the `configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -84,6 +83,8 @@ sensors:
|
||||
|
||||
## {% linkable_title Considerations %}
|
||||
|
||||
### Startup
|
||||
|
||||
If you are using the state of a platform that takes extra time to load, the
|
||||
Template Binary Sensor may get an `unknown` state during startup. This results
|
||||
in error messages in your log file until that platform has completed loading.
|
||||
@ -94,6 +95,14 @@ with this equivalent that returns `true`/`false` and never gives an unknown
|
||||
result:
|
||||
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
### Entity IDs
|
||||
|
||||
The template engine will attempt to work out what entities should trigger an
|
||||
update of the sensor. This can fail, for example if your template loops over
|
||||
the contents of a group. In this case you can use `entity_id` to provide a
|
||||
list of entity IDs that will cause the sensor to update or you can run the
|
||||
service `homeassistant.update_entity` to update the sensor at will.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real-life examples of how to use this sensor.
|
||||
@ -106,7 +115,7 @@ determine if the furnace is running by checking that it is over some threshold:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
furnace_on:
|
||||
|
69
source/_components/binary_sensor.w800rf32.markdown
Normal file
69
source/_components/binary_sensor.w800rf32.markdown
Normal file
@ -0,0 +1,69 @@
|
||||
---
|
||||
layout: page
|
||||
title: "W800rf32 Binary Sensor"
|
||||
description: "Instructions on how to integrate W800rf32 binary sensors into Home Assistant."
|
||||
date: 2018-10-16 12:45
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: w800rf32.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `w800rf32` platform supports X10 RF binary sensors such as Palm Pad
|
||||
remotes, key chain remotes, Hawkeye motion detectors, and many, many other X10 RF devices.
|
||||
Some that have specifically been used with this are the KR19A keychain, MS16A motion detector
|
||||
and the RSS18 four button wall mount keypad.
|
||||
|
||||
# Setting up your devices
|
||||
|
||||
Once you have set up your [w800rf32 hub](/components/w800rf32/), add the
|
||||
binary sensors to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: w800rf32
|
||||
devices:
|
||||
a1:
|
||||
name: motion_hall
|
||||
a2:
|
||||
name: motion_kitchen
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
devices:
|
||||
description: A list of devices.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: Override the name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
device_class:
|
||||
description: "The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend."
|
||||
required: false
|
||||
type: device_class
|
||||
off_delay:
|
||||
description: For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'.
|
||||
required: false
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
Binary sensors have only two states - "on" and "off". Many door or window
|
||||
opening sensors will send a signal each time the door/window is open or closed.
|
||||
However, depending on their hardware or on their purpose,
|
||||
some sensors are only able to signal their "on" state:
|
||||
|
||||
- Most motion sensors send a signal each time they detect motion. They stay "on" for a few seconds and go back to sleep, ready to signal other motion events. Usually, they do not send a signal when they go back to sleep.
|
||||
|
||||
For those devices, use the *off_delay* parameter.
|
||||
It defines a delay after which a device will go back to an "Off" state.
|
||||
That "Off" state will be fired internally by Home Assistant, just as if
|
||||
the device fired it by itself. If a motion sensor can only send signals
|
||||
once every 5 seconds, sets the *off_delay* parameter to *seconds: 5*.
|
@ -13,8 +13,6 @@ ha_iot_class: "Local Push"
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
The `wemo` platform allows you to integrate your Belkin WeMo Binary Sensor from within Home Assistant.
|
||||
The `wemo` platform allows you to monitor your Belkin WeMo Binary Sensor from within Home Assistant.
|
||||
|
||||
They will be automatically discovered if the discovery component is enabled.
|
||||
|
||||
For more configuration information see the [WeMo component](/components/wemo/) documentation.
|
||||
WeMo devices are automatically discovered if the `discovery` component is enabled. For more configuration information, see the [WeMo component](/components/wemo/) documentation.
|
||||
|
@ -14,19 +14,16 @@ ha_release: 0.41
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
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.
|
||||
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 Setup %}
|
||||
|
||||
Check the [country list](https://github.com/dr-prodigy/python-holidays#available-countries) for available province.
|
||||
|
||||
## {% 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:
|
||||
To enable the `workday` sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -44,14 +41,11 @@ name:
|
||||
default: Workday Sensor
|
||||
country:
|
||||
description: >
|
||||
Country code according to
|
||||
[holidays](https://pypi.org/project/holidays/) notation.
|
||||
Country code according to [holidays](https://pypi.org/project/holidays/) notation.
|
||||
required: true
|
||||
type: string
|
||||
province:
|
||||
description: >
|
||||
Province code according to
|
||||
[holidays](https://pypi.org/project/holidays/) notation.
|
||||
description: Province code according to [holidays](https://pypi.org/project/holidays/) notation.
|
||||
required: false
|
||||
type: string
|
||||
workdays:
|
||||
@ -65,7 +59,7 @@ excludes:
|
||||
type: list
|
||||
default: "[sat, sun, holiday]"
|
||||
days_offset:
|
||||
description: Set days offset.
|
||||
description: Set days offset (e.g., -1 for yesterday, 1 for tomorrow).
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
@ -102,7 +96,6 @@ automation:
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
Please remember that [as explained here][devices] you can only have a single `automation:` entry. Add the automation to your existing automations.
|
||||
Please remember that [as explained here](/docs/configuration/devices/) you can only have a single `automation:` entry. Add the automation to your existing automations.
|
||||
</p>
|
||||
|
||||
[devices]: https://www.home-assistant.io/docs/configuration/devices/
|
||||
|
@ -21,18 +21,20 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component
|
||||
|
||||
| Name | Zigbee entity | Model no. | States | Event | Event key | Event values |
|
||||
| ---- | ------------- | --------- | ------ | ----- | --------- | ------------ |
|
||||
| Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `motion` | | |
|
||||
| Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `motion` | | |
|
||||
| Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `xiaomi_aqara.motion` | | |
|
||||
| Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `xiaomi_aqara.motion` | | |
|
||||
| Door and Window Sensor (1st gen) | magnet | WSDCGQ01LM | on, off | | | |
|
||||
| Door and Window Sensor (2nd gen) | sensor_magnet.aq2 | MCCGQ11LM | on, off | | | |
|
||||
| Smoke Detector | smoke | JTYJ-GD-01LM/BW | on, off | | | |
|
||||
| Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | |
|
||||
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | |
|
||||
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
|
||||
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` |
|
||||
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` |
|
||||
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` |
|
||||
| Cube | cube | MFKZQ01LM | off (always) | `cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) |
|
||||
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
|
||||
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double` |
|
||||
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single` |
|
||||
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `both` |
|
||||
| Aqara Wireless Switch (Single) (2nd gen) | remote.b186acn01 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long` |
|
||||
| Aqara Wireless Switch (Double) (2nd gen) | remote.b286acn01 | WXKG02LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long`, `both`, `double_both`, `long_both` |
|
||||
| Cube | cube | MFKZQ01LM | off (always) | `xiaomi_aqara.cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) |
|
||||
| Vibration Sensor | vibration | DJT11LM | off (always) | `xiaomi_aqara.movement` | `movement_type` | `vibrate`, `tilt`, `free_fall` |
|
||||
|
||||
### {% linkable_title Automation examples %}
|
||||
@ -148,7 +150,7 @@ Available events are `single`, `double`, `hold`, `long_click_press` and `long_cl
|
||||
- alias: Toggle dining light on single press
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||
click_type: single
|
||||
@ -158,7 +160,7 @@ Available events are `single`, `double`, `hold`, `long_click_press` and `long_cl
|
||||
- alias: Toggle couch light on double click
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||
click_type: double
|
||||
@ -168,7 +170,7 @@ Available events are `single`, `double`, `hold`, `long_click_press` and `long_cl
|
||||
- alias: Let a dog bark on long press
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.switch_158d000xxxxxc2
|
||||
click_type: long_click_press
|
||||
@ -188,7 +190,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
||||
- alias: Cube event flip90
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: cube_action
|
||||
event_type: xiaomi_aqara.cube_action
|
||||
event_data:
|
||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||
action_type: flip90
|
||||
@ -200,7 +202,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
||||
- alias: Cube event flip180
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: cube_action
|
||||
event_type: xiaomi_aqara.cube_action
|
||||
event_data:
|
||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||
action_type: flip180
|
||||
@ -212,7 +214,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
||||
- alias: Cube event move
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: cube_action
|
||||
event_type: xiaomi_aqara.cube_action
|
||||
event_data:
|
||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||
action_type: move
|
||||
@ -224,7 +226,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
||||
- alias: Cube event tap_twice
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: cube_action
|
||||
event_type: xiaomi_aqara.cube_action
|
||||
event_data:
|
||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||
action_type: tap_twice
|
||||
@ -236,7 +238,7 @@ Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swi
|
||||
- alias: Cube event shake_air
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: cube_action
|
||||
event_type: xiaomi_aqara.cube_action
|
||||
event_data:
|
||||
entity_id: binary_sensor.cube_15xxxxxxxxxxxx
|
||||
action_type: shake_air
|
||||
@ -255,7 +257,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
||||
- alias: Decrease brightness of the gateway light
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12
|
||||
click_type: single
|
||||
@ -277,7 +279,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
||||
- alias: Increase brightness of the gateway light
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12
|
||||
click_type: single
|
||||
@ -299,7 +301,7 @@ The Aqara Wireless Switch is available as single-key and double-key version. Eac
|
||||
- alias: Turn off the gateway light
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: click
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12
|
||||
click_type: both
|
||||
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Zigbee Home Automation Binary Sensor"
|
||||
description: "Instructions on how to setup Zigbee Home Automation binary sensors within Home Assistant."
|
||||
date: 2017-02-22 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zigbee.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
To get your Zigbee binary sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/).
|
@ -22,7 +22,7 @@ This component provides the following platforms:
|
||||
- Device tracker: The location of your car.
|
||||
- Lock: Control the lock of your car.
|
||||
- Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars).
|
||||
- Services: Turn on air condition, sound the horn, flash the lights and update the state. More details can be found [here](https://www.home-assistant.io/components/bmw_connected_drive/#services).
|
||||
- Services: Turn on air condition, sound the horn, flash the lights and update the state. More details can be found [here](/components/bmw_connected_drive/#services).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
|
@ -180,7 +180,7 @@ calendar:
|
||||
alias: worktime wakeup
|
||||
trigger:
|
||||
platform: time
|
||||
at: 06:40:00
|
||||
at: '06:40:00'
|
||||
action:
|
||||
- service: media_player.media_play
|
||||
entity_id: media_player.bedroom
|
||||
|
@ -129,7 +129,8 @@ entities:
|
||||
offset:
|
||||
description: >
|
||||
A set of characters that precede a number in the event title
|
||||
for designating a pre-trigger state change on the sensor.
|
||||
for designating a pre-trigger state change on the sensor.
|
||||
This should be in the format of HH:MM or MM.
|
||||
required: false
|
||||
type: string
|
||||
default: "!!"
|
||||
|
@ -94,7 +94,7 @@ As you can see, there are 4 custom projects here:
|
||||
|
||||
You can mix-and-match these attributes to create all sorts of custom projects. You can even use [IFTTT](https://ifttt.com/todoist) to create a task with a certain label, then have Home Assistant do some kind of automation when a task with that label comes due.
|
||||
|
||||
Home Assistant does its best to determine what task in each project is "most" important, and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
|
||||
Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/calendar/todoist.py#L432), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
|
||||
|
||||
### {% linkable_title Sensor attributes %}
|
||||
|
||||
|
@ -13,7 +13,7 @@ ha_release: "0.54"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `doorbird` implementation allows you to view the live video and previous images from your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
|
||||
The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
|
||||
|
||||
<p class='note'>
|
||||
You must have the [DoorBird component](/components/doorbird/) configured to use this camera.
|
||||
|
@ -17,7 +17,7 @@ The `ffmpeg` platform allows you to use any video feed as a camera in Home Assis
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file:
|
||||
To enable your FFmpeg feed in your installation you must first configure the [ffmpeg component](/components/ffmpeg/), then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -51,7 +51,7 @@ authentication:
|
||||
default: basic
|
||||
type: string
|
||||
limit_refetch_to_url_change:
|
||||
description: True/false value. Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image.
|
||||
description: Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
|
@ -54,6 +54,11 @@ authentication:
|
||||
required: false
|
||||
type: string
|
||||
default: basic
|
||||
verify_ssl:
|
||||
description: Validate the ssl certificate for this camera.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
@ -67,3 +72,15 @@ camera:
|
||||
still_image_url: http://IP/image.jpg
|
||||
mjpeg_url: http://IP/video/mjpg.cgi
|
||||
```
|
||||
|
||||
Example of integrating Blue Iris Cameras from a Blue Iris server.
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: mjpeg
|
||||
name: Livingroom Camera
|
||||
mjpeg_url: http://IP:PORT/mjpg/CAMERASHORTNAME/video.mjpeg
|
||||
username: BLUE_IRIS_USERNAME
|
||||
password: BLUE_IRIS_PASSWORD
|
||||
authentication: basic
|
||||
```
|
||||
|
@ -30,17 +30,15 @@ camera:
|
||||
|
||||
{% configuration %}
|
||||
topic:
|
||||
description: MQTT topic to subscribe to.
|
||||
description: The MQTT topic to subscribe to.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name of the camera.
|
||||
description: The name of the camera.
|
||||
required: false
|
||||
type: string
|
||||
unique_id:
|
||||
description: >
|
||||
An ID that uniquely identifies this camera. If two cameras
|
||||
have the same unique ID Home Assistant will raise an exception.
|
||||
description: An ID that uniquely identifies this camera. If two cameras have the same unique ID Home Assistant will raise an exception.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Neato Camera"
|
||||
description: "Instructions on how to setup the Neato cleaning maps within Home Assistant."
|
||||
date: 2017-04-05 13:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: neato.png
|
||||
ha_category: Camera
|
||||
ha_release: 0.42
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
|
||||
|
||||
To add `neato` camera to your installation, follow instructions in [Neato component](/components/neato/).
|
@ -19,4 +19,4 @@ The `nest` platform allows you to watch still frames from a video stream (not li
|
||||
You must have the [Nest component](/components/nest/) configured to use this camera. The `nest` camera will automatically be setup when you do.
|
||||
</p>
|
||||
|
||||
Nest Camera supports `camera.turn_on` and `camera.turn_off` service since 0.75 release.
|
||||
Nest Camera supports the `camera.turn_on` and `camera.turn_off` services since the 0.75 release.
|
||||
|
@ -12,7 +12,7 @@ ha_category: Camera
|
||||
ha_release: 0.47
|
||||
---
|
||||
|
||||
The `onvif` camera platform allows you to use an ONVIF camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
|
||||
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -27,21 +27,24 @@ camera:
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: An IP or hostname of the camera.
|
||||
description: The IP address or hostname of the camera.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Override the name of your camera.
|
||||
required: false
|
||||
type: string
|
||||
default: ONVIF Camera
|
||||
username:
|
||||
description: The username for the camera.
|
||||
required: false
|
||||
type: string
|
||||
default: admin
|
||||
password:
|
||||
description: The password for the camera.
|
||||
required: false
|
||||
type: string
|
||||
default: 888888
|
||||
port:
|
||||
description: The port for the camera.
|
||||
required: false
|
||||
@ -53,12 +56,13 @@ profile:
|
||||
type: integer
|
||||
default: 0
|
||||
extra_arguments:
|
||||
description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)."
|
||||
description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [`ffmpeg` component](/components/ffmpeg)."
|
||||
required: false
|
||||
type: string
|
||||
default: -q:v 2
|
||||
{% endconfiguration %}
|
||||
|
||||
Most of the Onvif cameras support more than one audio/video Profile. Each profile provides different image quality. Usually, the first profile has the highest quality, and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time - especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable.
|
||||
Most of the ONVIF cameras support more than one audio/video profile. Each profile provides different image quality. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time, especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable.
|
||||
|
||||
### {% linkable_title Service `camera.onvif_ptz` %}
|
||||
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.65
|
||||
|
||||
The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output.
|
||||
|
||||
The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate.
|
||||
The current post-processing supports resizing and/or cropping the image/MJPEG as well as limiting the maximum refresh rate.
|
||||
|
||||
The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections.
|
||||
|
||||
@ -39,14 +39,37 @@ name:
|
||||
description: This parameter allows you to override the name of your camera.
|
||||
required: false
|
||||
type: string
|
||||
mode:
|
||||
description: The operating mode, either `resize` or `crop`.
|
||||
required: false
|
||||
type: string
|
||||
default: resize
|
||||
max_image_width:
|
||||
description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
|
||||
description: The maximum width of single images taken from the camera (aspect ratio will be maintained on resize processing).
|
||||
required: false
|
||||
type: integer
|
||||
max_image_height:
|
||||
description: The maximum height of single images taken from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
||||
required: false
|
||||
type: integer
|
||||
max_stream_width:
|
||||
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
|
||||
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained on resize processing).
|
||||
required: false
|
||||
type: integer
|
||||
max_stream_height:
|
||||
description: The maximum height of the MJPEG stream from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
||||
required: false
|
||||
type: integer
|
||||
image_top:
|
||||
description: The top (y) coordinate to be used as a starting point for crop operations.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
image_left:
|
||||
description: The left (x) coordinate to be used as a starting point for crop operations.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
image_quality:
|
||||
description: The quality level used for resulting JPEG for snapshots.
|
||||
required: false
|
||||
@ -73,7 +96,7 @@ cache_images:
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
Example of using a Camera proxy along with a Foscam camera:
|
||||
Example of using two Camera proxies along with a Foscam camera:
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
@ -87,4 +110,11 @@ camera:
|
||||
max_stream_width: 360
|
||||
max_image_width: 480
|
||||
image_refresh_rate: 5.0
|
||||
- platform: proxy
|
||||
entity_id: camera.mycamera
|
||||
name: My cropped camera
|
||||
mode: crop
|
||||
max_image_width: 480
|
||||
max_image_height: 320
|
||||
image_left: 100
|
||||
```
|
||||
|
@ -25,7 +25,7 @@ The `push` camera can as an example be used with [motionEye](https://github.com/
|
||||
|
||||
In motionEye, under **File Storage -> Run A Command** type in:
|
||||
```bash
|
||||
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera?token=12345678
|
||||
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/webhook/my_custom_webhook_id
|
||||
```
|
||||
|
||||
Optionally configure motionEye to save only motion triggered images by going into **Still Images -> Capture Mode** and setting **Motion Triggered**. Tune your preferences under **Motion Detection**.
|
||||
@ -38,7 +38,7 @@ camera:
|
||||
name: MotionEye Outdoor
|
||||
buffer: 3
|
||||
timeout: 5
|
||||
token: 12345678
|
||||
webhook_id: my_custom_webhook_id
|
||||
```
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
@ -50,7 +50,7 @@ To enable this camera in your installation, add the following to your `configura
|
||||
camera:
|
||||
- platform: push
|
||||
name: My Push Camera
|
||||
token: 12345678
|
||||
webhook_id: my_custom_webhook_id
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -69,9 +69,9 @@ timeout:
|
||||
required: false
|
||||
type: time
|
||||
default: 5 seconds
|
||||
token:
|
||||
description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77).
|
||||
required: false
|
||||
webhook_id:
|
||||
description: User provided string acting as camera identifier and access control, should be a large string (more then 8 chars).
|
||||
required: true
|
||||
type: string
|
||||
field:
|
||||
description: HTTP POST field containing the image file
|
||||
|
@ -24,3 +24,45 @@ Once you have enabled the [Skybell component](/components/skybell), add the foll
|
||||
camera:
|
||||
- platform: skybell
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
monitored_conditions:
|
||||
description: The camera images to display. Default is `avatar`. The full list is `avatar`, `activity`.
|
||||
required: false
|
||||
type: list
|
||||
avatar_name:
|
||||
description: Name to append to the device name for the avatar image. Default is empty string.
|
||||
required: false
|
||||
type: string
|
||||
activity_name:
|
||||
description: Name to append to the device name for the last activity image. Default is empty string.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Camera Types %}
|
||||
|
||||
There are two available camera types "Avatar", which is the default, displays the Skybell avatar image.
|
||||
It is periodically updated with a fresh image. The other type is "Activity", which displays a snapshot from
|
||||
the latest event (motion, bell, or on demand) captured by the camera. You may show either camera, or both, by
|
||||
specifying its name under monitored_condtions. It's recommended, but not required, to set either avatar_name or activity_name
|
||||
if you are showing both cameras so you can tell them apart. The name will be appended to the skybell device name.
|
||||
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml with both images
|
||||
camera:
|
||||
- platform: skybell
|
||||
monitored_conditions:
|
||||
- avatar
|
||||
- activity
|
||||
activity_name: "Last Activity"
|
||||
```
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml with just last activity image
|
||||
camera:
|
||||
- platform: skybell
|
||||
monitored_conditions:
|
||||
- activity
|
||||
```
|
@ -74,7 +74,7 @@ camera:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
timeout: 15
|
||||
verify_ssl: False
|
||||
verify_ssl: false
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
|
@ -55,4 +55,14 @@ password:
|
||||
required: false
|
||||
type: string
|
||||
default: ubnt
|
||||
ssl:
|
||||
description: Should use SSL/TLS to connect to the NVR.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
When using an API_KEY to access cameras controlled by Ubiquiti's NVR Software, the associated user account MUST have at least Administrator privileges within the NVR Software in order for new cameras to be added into Home Assistant. Once the entities have been created in Home Assistant, privileges for the user account can be lowered.
|
||||
</p>
|
||||
|
||||
|
@ -34,9 +34,13 @@ you want to configure the IP address of the Cast device directly:
|
||||
# Example configuration.yaml entry
|
||||
cast:
|
||||
media_player:
|
||||
- host: 192.168.1.10
|
||||
- host: 192.168.1.10
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
You may need to enable Multicast DNS (MDNS) on your router if you are on a different subnet or VLAN.
|
||||
</p>
|
||||
|
||||
{% configuration %}
|
||||
media_player:
|
||||
description: A list that contains all Cast devices.
|
||||
@ -62,6 +66,6 @@ those as follows:
|
||||
# Example configuration.yaml entry for multiple devices
|
||||
cast:
|
||||
media_player:
|
||||
- host: IP_ADDRESS_DEVICE_1
|
||||
- host: IP_ADDRESS_DEVICE_2
|
||||
- host: IP_ADDRESS_DEVICE_1
|
||||
- host: IP_ADDRESS_DEVICE_2
|
||||
```
|
||||
|
@ -23,25 +23,4 @@ The `daikin` climate platform integrates Daikin air conditioning systems into Ho
|
||||
|
||||
Current temperature is displayed.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the platform, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: daikin
|
||||
host: 10.0.0.1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: IP or hostname of the device.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: If the device has a name previously set by the user than that name will be used.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
For configuration instructions, see [the Daikin component](/components/daikin/).
|
||||
|
@ -1,291 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ecobee Thermostat"
|
||||
description: "Instructions on how to setup the Ecobee thermostats within Home Assistant."
|
||||
date: 2016-08-26 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ecobee.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.9
|
||||
ha_iot_class: "Cloud Push"
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
To get your Ecobee thermostats working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).
|
||||
</p>
|
||||
|
||||
## {% linkable_title Concepts %}
|
||||
|
||||
The Ecobee Thermostat supports the following key concepts.
|
||||
|
||||
The _target temperature_ is the temperature that the device attempts
|
||||
to achieve. The target temperature is either determined by the
|
||||
currently active climate or it may be overridden by a hold. When the
|
||||
thermostat is not in auto mode, there is a single target
|
||||
temperature. When the thermostat is in auto operation mode, there is a
|
||||
pair of target temperatures: the lower target temperature determines
|
||||
the lowest desired temperature, while the higher target temperature
|
||||
determines the highest desired temperature (the thermostat will switch
|
||||
between heating and cooling to keep the temperature within these
|
||||
limits).
|
||||
|
||||
A _climate_ is a predefined or user-defined set of states that the
|
||||
thermostat aims to achieve. The ecobee thermostat provides three predefined
|
||||
climates: Home, Away, and Sleep. The user can define additional climates.
|
||||
|
||||
A _hold_ is an override of the target temperature defined in the
|
||||
currently active climate. The temperature targeted in the hold mode may be
|
||||
explicitly set (temperature hold), it may be derived from a reference
|
||||
climate (home, away, sleep, etc.), or it may be derived from a vacation
|
||||
defined by the thermostat. All holds are temporary. Temperature and
|
||||
climate holds expire when the thermostat transitions to the next climate
|
||||
defined in its program. A vacation hold starts at the beginning of the
|
||||
defined vacation period, and expires when the vacation period ends.
|
||||
|
||||
When in _away mode_, the target temperature is permanently overridden by
|
||||
the target temperature defined for the away climate. The away mode is a
|
||||
simple way to emulate a vacation mode.
|
||||
|
||||
The _operation mode_ of the device is the currently active operational
|
||||
modes that the Ecobee thermostat provides: heat, auxHeatOnly, cool,
|
||||
auto, and off.
|
||||
|
||||
|
||||
## {% linkable_title Attributes %}
|
||||
|
||||
The following attributes are provided by the Ecobee Thermostat:
|
||||
`name`, `temperature_unit`, `current_temperature`, `target_temperature`,
|
||||
`target_temperature_low`, `target_temperature_high`, `desired_fan_mode`,
|
||||
`fan`, `current_hold_mode`, `current_operation`, `operation_list`,
|
||||
`operation_mode`, `mode`, `fan_min_on_time`, `device_state_attributes`,
|
||||
`is_away_mode_on`, `vacation`, `climate_list`, `aux_heat`.
|
||||
The attributes `min_temp` and `max_temp` are meaningless constant values.
|
||||
|
||||
|
||||
### {% linkable_title Attribute `name` %}
|
||||
|
||||
Returns the name of the Ecobee Thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | Name of the Ecobee Thermostat
|
||||
|
||||
### {% linkable_title Attribute `temperature_unit` %}
|
||||
|
||||
Returns the unit of measurement used for temperature by the thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | Name of the temperature unit
|
||||
|
||||
### {% linkable_title Attribute `current_temperature` %}
|
||||
|
||||
Returns the current temperature measured by the thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Currently measured temperature
|
||||
|
||||
### {% linkable_title Attribute `target_temperature` %}
|
||||
|
||||
Returns the target temperature of the thermostat, when the thermostat is
|
||||
not in auto operation mode.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Target temperature
|
||||
|
||||
### {% linkable_title Attribute `target_temperature_low` %}
|
||||
|
||||
Returns the desired heating temperature set in the thermostat when in
|
||||
auto operation mode.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Target temperature
|
||||
|
||||
### {% linkable_title Attribute `target_temperature_high` %}
|
||||
|
||||
Returns the desired cooling temperature set in the thermostat when in
|
||||
auto operation mode.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Target temperature
|
||||
|
||||
### {% linkable_title Attribute `desired_fan_mode` %}
|
||||
|
||||
Returns the desired fan mode of the current operation.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | 'on', 'off'
|
||||
|
||||
### {% linkable_title Attribute `fan` %}
|
||||
|
||||
Returns the current fan state.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | 'on', 'off'
|
||||
|
||||
### {% linkable_title Attribute `current_hold_mode` %}
|
||||
|
||||
Returns the current temperature hold, if any.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | 'temp', 'vacation', 'home', 'away', etc., None
|
||||
|
||||
### {% linkable_title Attribute `current_operation` %}
|
||||
|
||||
Returns the current operation of the thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | 'auto', 'cool', 'heat', 'off'
|
||||
|
||||
### {% linkable_title Attribute `operation_list` %}
|
||||
|
||||
Returns the list of available operation modes.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| List of String | Available operation modes
|
||||
|
||||
### {% linkable_title Attribute `operation_mode` %}
|
||||
|
||||
Returns the current operation mode of the thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | Currently active operation mode
|
||||
|
||||
### {% linkable_title Attribute `mode` %}
|
||||
|
||||
Returns the climate currently active on the thermostat. The mode
|
||||
is returned as the user-visible name (rather than the internally used name).
|
||||
|
||||
### {% linkable_title Attribute `fan_min_on_time` %}
|
||||
|
||||
Returns the current fan minimum on time.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Current fan minimum on time in minutes
|
||||
|
||||
### {% linkable_title Attribute `is_away_mode_on` %}
|
||||
|
||||
Returns whether the thermostat is in away mode (see the corresponding
|
||||
service for more detail).
|
||||
|
||||
### {% linkable_title Attribute `actual humidity` %}
|
||||
|
||||
Returns the humidity as measured by the thermostat.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| Integer | Current humidity
|
||||
|
||||
### {% linkable_title Attribute `vacation` %}
|
||||
|
||||
Returns the currently active vacation or `None`.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | Name of currently active vacation |
|
||||
|
||||
### {% linkable_title Attribute `climate_list` %}
|
||||
|
||||
Returns the list of climates defined in the thermostat.
|
||||
|
||||
### {% linkable_title Attribute `aux_heat` %}
|
||||
|
||||
Returns the current auxiliary heat state.
|
||||
|
||||
| Attribute type | Description |
|
||||
| ---------------| ----------- |
|
||||
| String | 'on', 'off'
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
The following services are provided by the Ecobee Thermostat:
|
||||
`set_away_mode`, `set_hold_mode`, `set_temperature`, `set_operation_mode`,
|
||||
`fan_min_on_time`, `resume_program`.
|
||||
The services `set_aux_heat`, `set_humidity`, `set_fan_mode`, and
|
||||
`set_swing_mode` offered by the [Climate component](/components/climate/)
|
||||
are not implemented for this thermostat.
|
||||
|
||||
|
||||
|
||||
### {% linkable_title Service `set_away_mode` %}
|
||||
|
||||
Turns the away mode on or off for the thermostat.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `away_mode` | no | 'on' or 'off'
|
||||
|
||||
|
||||
### {% linkable_title Service `set_hold_mode` %}
|
||||
|
||||
Puts the thermostat into the given hold mode. For 'home', 'away', 'sleep',
|
||||
and any other hold based on a reference climate, the
|
||||
target temperature is taken from the reference climate.
|
||||
For 'temp', the current temperature is taken as the target temperature.
|
||||
When None is provided as parameter, the hold_mode is turned off.
|
||||
It is not possible to set a vacation hold; such hold has to be
|
||||
defined on the thermostat directly. However, a vacation hold can be
|
||||
canceled.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `hold_mode` | no | `temp`, `home`, `away`, `sleep`, `None`, `smart1`, `smart2`, etc.
|
||||
|
||||
NOTE: If you create custom hold modes (also known as "Comfort Settings") on your ecobee.com dashboard, their hold_modes are `smart1`, `smart2`, `smart3`, etc. The number for each custom mode should match the mode's icon on your ecobee.com dashboard. Also note that the mode numbers/icons in the ecobee mobile app *may not match* the numbers/icons from the ecobee.com web dashboard. The ones on the website are the ones you shoud use to determine the correct `smartX` hold_mode IDs.
|
||||
|
||||
### {% linkable_title Service `set_temperature` %}
|
||||
|
||||
Puts the thermostat into a temporary hold at the given temperature.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `target_temp_low` | no | Desired heating target temperature (when in auto mode)
|
||||
| `target_temp_high` | no | Desired cooling target temperature (when in auto mode)
|
||||
| `temperature` | no | Desired target temperature (when not in auto mode)
|
||||
|
||||
Only the target temperatures relevant for the current operation mode need to
|
||||
be provided.
|
||||
|
||||
### {% linkable_title Service `set_operation_mode` %}
|
||||
|
||||
Sets the current operation mode of the thermostat.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `operation_mode` | no | 'auto', 'auxHeatOnly', 'cool', 'heat', 'off'
|
||||
|
||||
### {% linkable_title Service `fan_min_on_time` %}
|
||||
|
||||
Sets the fan minimum on time.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `fan_min_on_time` | no | Desired fan minimum on time
|
||||
|
||||
### {% linkable_title Service `resume_program` %}
|
||||
|
||||
Resumes the currently active schedule.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `resume_all` | no | true or false
|
@ -18,7 +18,8 @@ The current functionality allows setting the temperature as well as controlling
|
||||
As the device doesn't contain a temperature sensor ([read more](https://forum.fhem.de/index.php/topic,39308.15.html)),
|
||||
we report target temperature also as current one.
|
||||
|
||||
### Testing the connectivity ###
|
||||
### {% linkable_title Testing the connectivity %}
|
||||
|
||||
Before configuring Home Assistant you should check that connectivity with the thermostat is working, which can be done with the eq3cli tool:
|
||||
|
||||
```bash
|
||||
@ -32,9 +33,9 @@ Boost: False
|
||||
Current target temp: 21.0
|
||||
Current mode: auto dst
|
||||
Valve: 0
|
||||
```
|
||||
```
|
||||
|
||||
### Configuration ###
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -45,9 +46,19 @@ climate:
|
||||
mac: '00:11:22:33:44:55'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **devices** array (*Required*): List of thermostats.
|
||||
- **[device-name]** (*Required*): The name to use for the thermostat.
|
||||
- **mac** (*Required*): MAC address of the thermostat.
|
||||
|
||||
{% configuration %}
|
||||
devices:
|
||||
description: List of thermostats.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
description: The name to use for the thermostat.
|
||||
required: true
|
||||
type: string
|
||||
keys:
|
||||
mac:
|
||||
description: MAC address of the thermostat.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Honeywell evohome CH/DHW Controller"
|
||||
description: "Instructions on how to integrate a Honeywell evohome controller with Home Assistant."
|
||||
title: "Honeywell evohome/TCC Climate devices"
|
||||
description: "Instructions on how to utilize a Honeywell evohome/TCC system within Home Assistant."
|
||||
date: 2018-09-25 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -13,15 +13,39 @@ ha_release: 0.80
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `evohome` climate platform integrates your _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW controller into Home Assistant, enabling control of its operating mode.
|
||||
The `evohome` climate platform integrates your _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) system into Home Assistant. It has been tested with the Honeywell evohome multi-zone CH/DHW system, but other systems may also work.
|
||||
|
||||
It is related to the honeywell climate component](/components/climate.honeywell/), which allows limited integration with evohome Heating zones. These two components should be usuable side-by-side, but YMMV.
|
||||
It is distinct from - but related to - the [`honeywell`](/components/climate.honeywell/) climate platform, which also allows (limited) integration with Honeywell Connected thermostats; these two components may well be usable side-by-side, but YMMV.
|
||||
|
||||
The evohome evotouch controller supports seven distict modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode.
|
||||
The evohome evotouch Controller supports seven distict operating modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode.
|
||||
|
||||
Currently, only the standard HA operating modes are supported: 'Eco' (AutoWithEco), and 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' (Away) mode is supported separately.
|
||||
Currently, only the standard HA operating modes are supported; the evohome modes are mapped thus: 'Eco' (AutoWithEco), 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' mode is supported separately, in the HA fashion.
|
||||
|
||||
The actual operating modes are tracked/reported via `device_state_attributes`.
|
||||
The evohome Heating zones support only three operating modes: FollowSchedule, TemporaryOverride, and PermanentOverride. If the zone is in FollowSchedule mode, it inherits its `operating_mode` from the controller; the other modes are mapped to 'Manual' or 'Off'.
|
||||
|
||||
A device's actual operating mode can be tracked via its `device_state_attributes`, which includes a JSON data structure for current state called `status`. For example:
|
||||
```json
|
||||
{
|
||||
'zoneId': '999999',
|
||||
'temperatureStatus': {
|
||||
'temperature': 21.5,
|
||||
'isAvailable': true
|
||||
},
|
||||
'activeFaults': [],
|
||||
'setpointStatus': {
|
||||
'targetHeatTemperature': 17.5,
|
||||
'setpointMode': 'FollowSchedule'
|
||||
},
|
||||
'name': 'Main Room'
|
||||
}
|
||||
```
|
||||
|
||||
This data can be accessed in automations, etc., via a value template:
|
||||
{% raw %}
|
||||
```
|
||||
value_template: "{{ state_attr('climate.main_room', 'status').setpointStatus.setpointMode }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [evohome component](/components/evohome/) page.
|
||||
|
@ -1,32 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Fritzbox Thermostat"
|
||||
description: "Instructions on how to integrate the AVM Fritzbox thermostat."
|
||||
date: 2017-11-12 17:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: avm.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.68
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
<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.
|
||||
| `battery_level` | The battery level (only available since Fritz!OS 7).
|
||||
| `holiday_mode` | The state of the holiday mode (only available since Fritz!OS 7).
|
||||
| `summer_mode` | The state of the summer mode (only available since Fritz!OS 7).
|
||||
| `window_open` | The state of the window open detection (only available since Fritz!OS 7).
|
@ -13,7 +13,7 @@ ha_release: pre 0.7
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
|
||||
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler than the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter than the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -82,6 +82,11 @@ away_temp:
|
||||
description: Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated.
|
||||
required: false
|
||||
type: float
|
||||
precision:
|
||||
description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`."
|
||||
required: false
|
||||
type: float
|
||||
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
|
||||
{% endconfiguration %}
|
||||
|
||||
A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
|
||||
@ -99,7 +104,7 @@ climate:
|
||||
target_sensor: sensor.study_temperature
|
||||
min_temp: 15
|
||||
max_temp: 21
|
||||
ac_mode: False
|
||||
ac_mode: false
|
||||
target_temp: 17
|
||||
cold_tolerance: 0.3
|
||||
hot_tolerance: 0
|
||||
@ -109,4 +114,5 @@ climate:
|
||||
minutes: 3
|
||||
initial_operation_mode: "off"
|
||||
away_temp: 16
|
||||
precision: 0.1
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ ha_release: "0.10"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](http://www.heatmisershop.co.uk/heatmiser-slimline-programmable-room-thermostat/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
|
||||
The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/thermostats) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP.
|
||||
|
||||
Further work would be required to get this setup to connect over Wifi, but the HeatmiserV3 python module being used is a full implementation of the V3 protocol.
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HomeKit Climate"
|
||||
description: "Instructions how to setup HomeKit thermostats within Home Assistant."
|
||||
date: 2018-06-19 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apple-homekit.png
|
||||
ha_category: Climate
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.73
|
||||
---
|
||||
|
||||
To get your HomeKit thermostats and air conditioners working with Home Assistant, follow the instructions for the general [HomeKit controller component](/components/homekit_controller/).
|
@ -1,19 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Homematic Thermostats"
|
||||
description: "Instructions on how to integrate Homematic thermostats within Home Assistant."
|
||||
date: 2016-06-28 08:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: homematic.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.23
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
The `homematic` climate platform lets you control [Homematic](http://www.homematic.com/) thermostats through Home Assistant.
|
||||
|
||||
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.
|
@ -14,11 +14,7 @@ ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The `honeywell` climate platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.
|
||||
|
||||
<p class='note'>
|
||||
This platform does NOT connect to MyTotalConnectComfort.com. If you have a Honeywell WIFI thermostat that is connected through MyTotalConnectComfort.com, you may might to take a look at the IFTTT component which can bridge the gap between Home Assistant and MyTotalConnectComfort.com WIFI thermostats on a limited basis.
|
||||
</p>
|
||||
The `honeywell` climate platform let you control Honeywell Connected thermostats from Home Assistant.
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
@ -30,7 +26,7 @@ climate:
|
||||
scan_interval: 600
|
||||
```
|
||||
<p class='note'>
|
||||
Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell.
|
||||
Scan interval is expressed in seconds. Omitting or mis-configuring `scan_interval` may result in too-frequent polling and cause you to be rate-limited by Honeywell.
|
||||
</p>
|
||||
|
||||
{% configuration %}
|
||||
@ -43,7 +39,7 @@ password:
|
||||
required: true
|
||||
type: string
|
||||
region:
|
||||
description: Region identifier (either 'eu' or 'us').
|
||||
description: Region identifier (either 'eu' or 'us'). Use the `somecomfort` client library for `us`, and evohome-client for `eu`.
|
||||
required: false
|
||||
default: eu
|
||||
type: string
|
||||
|
@ -47,6 +47,20 @@ climate:
|
||||
operation_mode_comfort_address: '5/1/7'
|
||||
```
|
||||
|
||||
`operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` are not necessary if `operation_mode_address` is specified.
|
||||
|
||||
If your device doesn't support setpoint_shift calculations (i.e. if you don't provide a `setpoint_shift_address` value) please set the `min_temp` and `max_temp`
|
||||
attributes of the climate device to avoid issues with increasing the temperature in the frontend.
|
||||
|
||||
The following values are valid for the `operation_modes` attribute:
|
||||
|
||||
- Comfort (maps internally to STATE_HEAT within Home Assistant)
|
||||
- Standby (maps internally to STATE_ECO within Home Assistant)
|
||||
- Night (maps internally to STATE_IDLE within Home Assistant)
|
||||
- Frost Protection (maps internally to STATE_MANUAL within Home Assistant)
|
||||
- Fan only (maps internally to STATE_FAN_ONLY within Home Assistant)
|
||||
- Dehumidification (maps internally to STATE_DRY within Home Assistant)
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: A name for this device used within Home Assistant.
|
||||
@ -100,6 +114,14 @@ controller_status_state_address:
|
||||
description: Explicit KNX address for reading HVAC controller status.
|
||||
required: false
|
||||
type: string
|
||||
controller_mode_address:
|
||||
description: KNX address for handling controller modes.
|
||||
required: false
|
||||
type: string
|
||||
controller_mode_state_address:
|
||||
description: Explicit KNX address for reading HVAC Control Mode.
|
||||
required: false
|
||||
type: string
|
||||
operation_mode_frost_protection_address:
|
||||
description: KNX address for switching on/off frost/heat protection mode.
|
||||
required: false
|
||||
@ -112,6 +134,24 @@ operation_mode_comfort_address:
|
||||
description: KNX address for switching on/off comfort mode.
|
||||
required: false
|
||||
type: string
|
||||
operation_modes:
|
||||
description: Overrides the supported operation modes.
|
||||
required: false
|
||||
type: array
|
||||
on_off_address:
|
||||
description: KNX address for switching the climate device on/off.
|
||||
required: false
|
||||
type: string
|
||||
on_off_state_address:
|
||||
description: KNX address for gathering the current state (on/off) of the climate device.
|
||||
required: false
|
||||
type: string
|
||||
min_temp:
|
||||
description: Override the minimum temperature.
|
||||
required: false
|
||||
type: float
|
||||
max_temp:
|
||||
description: Override the maximum temperature.
|
||||
required: false
|
||||
type: float
|
||||
{% endconfiguration %}
|
||||
|
||||
`operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` are not necessary if `operation_mode_address` is specified.
|
||||
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "eQ-3 MAX! Cube thermostat"
|
||||
description: "Instructions on how to integrate eQ-3 MAX! components with Home Assistant via eQ-3 MAX! Cube."
|
||||
date: 2017-02-04 22:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: maxcube.png
|
||||
ha_category: Climate
|
||||
ha_release: "0.40"
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
See instructions at the [main component](/components/maxcube/).
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user