mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-25 02:07:15 +00:00
commit
e2e0817fc5
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,4 +1,4 @@
|
||||
[submodule "_deploy"]
|
||||
path = _deploy
|
||||
url = https://github.com/balloob/home-assistant.git
|
||||
branch = gh-pages
|
||||
url = https://github.com/home-assistant/home-assistant.git
|
||||
branch = gh-pages
|
||||
|
1
Gemfile
1
Gemfile
@ -15,6 +15,7 @@ group :development do
|
||||
gem 'execjs'
|
||||
gem 'therubyracer', :platforms => :ruby
|
||||
gem 'coderay'
|
||||
gem 'pry'
|
||||
end
|
||||
|
||||
group :jekyll_plugins do
|
||||
|
@ -38,6 +38,7 @@ GEM
|
||||
rb-fsevent (>= 0.9.3)
|
||||
rb-inotify (>= 0.9)
|
||||
mercenary (0.3.5)
|
||||
method_source (0.8.2)
|
||||
octopress (3.0.11)
|
||||
jekyll (>= 2.0)
|
||||
mercenary (~> 0.3.2)
|
||||
@ -63,6 +64,10 @@ GEM
|
||||
octopress-tag-helpers (1.0.8)
|
||||
jekyll (>= 2.0)
|
||||
posix-spawn (0.3.11)
|
||||
pry (0.10.3)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pygments.rb (0.6.3)
|
||||
posix-spawn (~> 0.3.6)
|
||||
yajl-ruby (~> 1.2.0)
|
||||
@ -87,6 +92,7 @@ GEM
|
||||
rack (~> 1.4)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (>= 1.3, < 3)
|
||||
slop (3.6.0)
|
||||
stringex (1.4.0)
|
||||
therubyracer (0.12.2)
|
||||
libv8 (~> 3.16.14.0)
|
||||
@ -111,6 +117,7 @@ DEPENDENCIES
|
||||
octopress (~> 3.0)
|
||||
octopress-filters
|
||||
octopress-include-tag
|
||||
pry
|
||||
pygments.rb (~> 0.6.3)
|
||||
rake (~> 10.0)
|
||||
rb-fsevent (~> 0.9)
|
||||
|
@ -1,31 +1,10 @@
|
||||
# Home Assistant website
|
||||
|
||||
This is the source for the [Home Assistant](https://github.com/balloob/home-assistant) website available at [Home-Assistant.io](https://home-assistant.io). All commits made to the `master` branch will be automatically pushed to production.
|
||||
|
||||
Please point your Pull Request (PR) at the `next` branch.
|
||||
|
||||
## Jekyll project to generate and deploy
|
||||
|
||||
| Command | Action |
|
||||
|---|---|
|
||||
| `rake preview` | Preview site on [http://127.0.0.1:4000](http://127.0.0.1:4000)
|
||||
| `rake generate` | Generate new version of the site
|
||||
| `rake deploy` | Deploy a new version of the site
|
||||
|
||||
_Generating and deploying is no longer necessary as we now have auto-deply._
|
||||
This is the source for the [Home-Assistant.io website](https://home-assistant.io) for the [Home Assistant project](https://github.com/home-assistant/home-assistant)
|
||||
|
||||
## Setup
|
||||
|
||||
_You need to have Ruby installed._
|
||||
|
||||
- [Ruby installation instructions](https://www.ruby-lang.org/en/documentation/installation/)
|
||||
- For Fedora and CentOS check the last section of this file.
|
||||
|
||||
```bash
|
||||
$ git clone --recursive https://github.com/balloob/home-assistant.io.git
|
||||
$ cd home-assistant.io
|
||||
$ bundle
|
||||
```
|
||||
Setting up to contribute to documentation and the process for submitting pull requests is [explained here](https://home-assistant.io/developers/website/).
|
||||
|
||||
## Create a new blog post
|
||||
|
||||
@ -39,23 +18,8 @@ $ rake new_post["title"]
|
||||
$ rake preview
|
||||
```
|
||||
|
||||
The preview is now available on [http://127.0.0.1:4000](http://127.0.0.1:4000).
|
||||
This makes the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000).
|
||||
|
||||
## Steps for the deployment of the site
|
||||
|
||||
All developers with write access to the repositories are able to deploy the website. The deploy process is fully automated with `rake generate && rake deploy`.
|
||||
|
||||
```bash
|
||||
$ git submodule update --init
|
||||
$ cd _deploy
|
||||
$ git fetch
|
||||
$ git pull origin gh-pages
|
||||
$ cd ..
|
||||
$ rake generate && rake deploy
|
||||
```
|
||||
```bash
|
||||
TZ=UTC rake generate && rake deploy
|
||||
```
|
||||
|
||||
### Setup on Fedora and CentOS
|
||||
On Fedora > 22 or CentOS 7.1.1503 Ruby is not available by default. Please take the notes here as a little guide for the Ruby installation process.
|
||||
@ -76,4 +40,4 @@ The last command will give you something like this `ruby 2.2.3p173 (2015-08-18 r
|
||||
$ gem install bundler
|
||||
```
|
||||
|
||||
Now please follow the Setup instructions above.
|
||||
Now you can follow the [setup instructions](https://home-assistant.io/developers/website/).
|
||||
|
5
Rakefile
5
Rakefile
@ -77,13 +77,14 @@ task :watch do
|
||||
end
|
||||
|
||||
desc "preview the site in a web browser"
|
||||
task :preview do
|
||||
task :preview, :listen do |t, args|
|
||||
listen_addr = args[:listen] || '127.0.0.1'
|
||||
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
|
||||
puts "Starting to watch source with Jekyll and Compass. Starting Rack on port #{server_port}"
|
||||
system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css")
|
||||
jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build --watch --incremental")
|
||||
compassPid = Process.spawn("compass watch")
|
||||
rackupPid = Process.spawn("rackup --port #{server_port}")
|
||||
rackupPid = Process.spawn("rackup --port #{server_port} --host #{listen_addr}")
|
||||
|
||||
trap("INT") {
|
||||
[jekyllPid, compassPid, rackupPid].each { |pid| Process.kill(9, pid) rescue Errno::ESRCH }
|
||||
|
@ -79,6 +79,8 @@ collections:
|
||||
output: true
|
||||
cookbook:
|
||||
output: true
|
||||
topics:
|
||||
output: true
|
||||
|
||||
# ----------------------- #
|
||||
# 3rd Party Settings #
|
||||
|
19
plugins/active_link.rb
Normal file
19
plugins/active_link.rb
Normal file
@ -0,0 +1,19 @@
|
||||
module Jekyll
|
||||
class ActiveLinkTag < Liquid::Tag
|
||||
def initialize(tag_name, text, token)
|
||||
super
|
||||
parts = text.split(' ', 2)
|
||||
@href = parts[0]
|
||||
@title = parts[1]
|
||||
end
|
||||
|
||||
def render(context)
|
||||
href = Liquid::Template.parse(@href).render context
|
||||
title = Liquid::Template.parse(@title).render context
|
||||
cls = @href == context.registers[:page]["url"] ? "class='active'" : ''
|
||||
"<a #{cls} href='#{href}'>#{title}</a>"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_tag('active_link', Jekyll::ActiveLinkTag)
|
@ -6,9 +6,9 @@ module Jekyll
|
||||
end
|
||||
|
||||
def render(context)
|
||||
slug = @title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
||||
|
||||
"<a class='title-link' name='#{slug}' href='\##{slug}'></a> #{@title}"
|
||||
title = Liquid::Template.parse(@title).render context
|
||||
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
|
||||
"<a class='title-link' name='#{slug}' href='\##{slug}'></a> #{title}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -13,6 +13,7 @@
|
||||
text-transform: uppercase;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.front-install {
|
||||
@ -112,6 +113,7 @@ article.post, article.page, article.listing {
|
||||
img, table {
|
||||
border-radius: 3px;
|
||||
box-shadow: rgba(0,0,0,0.06) 0 0 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img.no-shadow {
|
||||
@ -119,7 +121,7 @@ article.post, article.page, article.listing {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
& > table {
|
||||
& > table, & > .entry-content > table {
|
||||
background-color: #F3FCF5;
|
||||
}
|
||||
|
||||
@ -149,6 +151,18 @@ article.post, article.page, article.listing {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: underline;
|
||||
|
||||
&.btn {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.frontpage a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
p.note {
|
||||
@ -203,81 +217,6 @@ p.note {
|
||||
}
|
||||
}
|
||||
|
||||
.install-instructions-container {
|
||||
#normal-install, #raspberry-install, #docker-install, .install-instructions {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label.menu-selector {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
white-space: nowrap;
|
||||
border-bottom: 5px solid $grayLight;
|
||||
transition: border-bottom-color .5s;
|
||||
}
|
||||
|
||||
label.menu-selector + label.menu-selector {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#normal-install:checked ~ .menu-selector.normal,
|
||||
#raspberry-install:checked ~ .menu-selector.raspberry,
|
||||
#docker-install:checked ~ .menu-selector.docker
|
||||
{
|
||||
border-bottom-color: $blue;
|
||||
}
|
||||
|
||||
#normal-install:checked ~ .install-instructions.normal,
|
||||
#raspberry-install:checked ~ .install-instructions.raspberry,
|
||||
#docker-install:checked ~ .install-instructions.docker
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.install-instructions {
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.advanced-installs-container {
|
||||
|
||||
#upstart-install, #systemd-install, #osx-install, .advanced-installs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label.menu-selector {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
white-space: nowrap;
|
||||
border-bottom: 5px solid $grayLight;
|
||||
transition: border-bottom-color .5s;
|
||||
}
|
||||
|
||||
label.menu-selector + label.menu-selector {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#upstart-install:checked ~ .menu-selector.upstart,
|
||||
#systemd-install:checked ~ .menu-selector.systemd,
|
||||
#osx-install:checked ~ .menu-selector.osx
|
||||
{
|
||||
border-bottom-color: $blue;
|
||||
}
|
||||
|
||||
#upstart-install:checked ~ .advanced-installs.upstart,
|
||||
#systemd-install:checked ~ .advanced-installs.systemd,
|
||||
#osx-install:checked ~ .advanced-installs.osx
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.advanced-installs {
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
#components-page {
|
||||
.isotope-item {
|
||||
z-index: 2;
|
||||
@ -330,6 +269,7 @@ p.note {
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
|
||||
.img-container {
|
||||
height: 50px;
|
||||
@ -406,3 +346,18 @@ p.note {
|
||||
margin-bottom: 8px;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
ul.sidebar-menu {
|
||||
a.active {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-left: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
a code {
|
||||
color: #049cdb;
|
||||
}
|
||||
|
@ -14,13 +14,14 @@ body{ -webkit-animation: bugfix infinite 1s; }
|
||||
#toggle, .toggle { display: none; }
|
||||
.menu li { list-style: none; float:left; }
|
||||
|
||||
$menu-collapse: 955px;
|
||||
$menu-collapse: 944px;
|
||||
|
||||
// @media only screen and (max-width: $lap-end){
|
||||
@media only screen and (max-width: $menu-collapse){
|
||||
.menu { display: none; opacity: 0; width: 100%; position: absolute; right: 0; }
|
||||
.menu li { display: block; width: 100%; margin: 0; }
|
||||
.menu li a { display: block; width: 100%; text-decoration: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
|
||||
.menu li a .icon { display: none; }
|
||||
.toggle { display: block; position: relative; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
|
||||
#toggle:checked ~ .menu { display: block; opacity: 1; z-index: 999; }
|
||||
}
|
||||
@ -75,10 +76,10 @@ header .grid {
|
||||
@include box-sizing(border-box);
|
||||
@include transition(all 0.25s linear);
|
||||
display: block;
|
||||
padding: 32px 20px;
|
||||
padding: 32px 12px;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
@ -86,7 +87,7 @@ header .grid {
|
||||
background: $site-background;
|
||||
box-shadow: inset 0px 5px $navigation-color;
|
||||
color: $navigation-color;
|
||||
padding: 40px 20px 24px;
|
||||
padding: 40px 12px 24px;
|
||||
}
|
||||
|
||||
.toggle{
|
||||
|
@ -7,7 +7,6 @@
|
||||
background-size: cover;
|
||||
border-bottom: 1px solid $white;
|
||||
color: $white;
|
||||
font-weight: bold;
|
||||
margin-top: -2em;
|
||||
margin-bottom: 1.5em;
|
||||
padding: 50px 0;
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Alarm.com Alarm Control Panel"
|
||||
description: "Instructions how to integrate Alarm.com into Home Assistant."
|
||||
date: 2016-01-14 22:00
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: alarmdotcom.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.11
|
||||
---
|
||||
|
||||
The `alarmdotcom` platform is consuming the information provided by a [Alarm.com](https://www.alarm.com/).
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Manual Alarm Control Panel"
|
||||
description: "Instructions how to integrate manual alarms into Home Assistant."
|
||||
date: 2015-10-13 19:10
|
||||
@ -8,6 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Alarm
|
||||
ha_release: 0.7.6
|
||||
---
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Alarm Control Panels"
|
||||
description: "Instructions how to integrate Alarm Control Panels into Home Assistant."
|
||||
date: 2015-10-13 19:10
|
||||
@ -12,6 +12,7 @@ footer: true
|
||||
|
||||
Home Assistant can give you an interface with is similar to a classic alarm system. There are several panels supported:
|
||||
|
||||
- [Alarm.com](/components/alarm_control_panel.alarmdotcom/)
|
||||
- [Manual](/components/alarm_control_panel.manual/)
|
||||
- [MQTT](/components/alarm_control_panel.mqtt/)
|
||||
- [Verisure](/components/verisure/)
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "MQTT Alarm Control Panel"
|
||||
description: "Instructions how to integrate MQTT capable Alarm Panels into Home Assistant."
|
||||
date: 2015-09-14 19:10
|
||||
@ -9,13 +9,14 @@ sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.7.4
|
||||
---
|
||||
|
||||
The `mqtt` alarm panel platform enables the possibility to control MQTT capable alarm panels. The Alarm icon will change state after receiving a new state from `state_topic`. If these messages are published with *RETAIN* flag, the MQTT alarm panel will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state will be `unknown`.
|
||||
|
||||
The component will accept the following states from your Alarm Panel (in lower case):
|
||||
|
||||
- 'armed'
|
||||
- 'disarmed'
|
||||
- 'armed_home'
|
||||
- 'armed_away'
|
||||
- 'pending'
|
||||
@ -45,7 +46,7 @@ Configuration variables:
|
||||
- **command_topic** (*Required*): The MQTT topic to publish commands to change the alarm state.
|
||||
- **name** (*Optional*): The name of the alarm. Default is 'MQTT Alarm'.
|
||||
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0. This QoS will also be used to publishing messages.
|
||||
- **payload_disarm** (*Optional*): The payload do disarm your Alarm Panel. Default is "DISARM".
|
||||
- **payload_disarm** (*Optional*): The payload to disarm your Alarm Panel. Default is "DISARM".
|
||||
- **payload_arm_home** (*Optional*): The payload to set armed-home mode on your Alarm Panel. Default is "ARM_HOME".
|
||||
- **payload_arm_away** (*Optional*): The payload to set armed-away mode on your Alarm Panel. Default is "ARM_AWAY".
|
||||
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend.
|
||||
|
30
source/_components/alarm_control_panel.nx584.markdown
Normal file
30
source/_components/alarm_control_panel.nx584.markdown
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: page
|
||||
title: "NX584 Alarm Control Panel"
|
||||
description: "Instructions how to integrate NX584 into Home Assistant."
|
||||
date: 2016-02-07 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: networx.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work.
|
||||
|
||||
|
||||
To enable this, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
alarm_control_panel:
|
||||
platform: nx584
|
||||
host: ADDRESS
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): This is the host connection string (host:port) for the nx584 server process. If unset, it is assumed to be `localhost:5007`, which will work if the server process is running on the same system as home-assistant.
|
||||
|
19
source/_components/alarm_control_panel.verisure.markdown
Normal file
19
source/_components/alarm_control_panel.verisure.markdown
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Verisure Alarm"
|
||||
description: "Instructions how to setup the Verisure Alarm control panel within Home Assistant."
|
||||
date: 2016-02-15 22:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: verisure.png
|
||||
ha_category: Alarm
|
||||
ha_release: 0.7.3
|
||||
---
|
||||
|
||||
|
||||
The Verisure alarm control panel platform allows you to control your [Verisure](https://www.verisure.com/) Alarms.
|
||||
|
||||
The requirement is that you have setup your [Verisure hub](/components/verisure/).
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Alexa / Amazon Echo"
|
||||
description: "Instructions how to connect Alexa/Amazon Echo to Home Assistant."
|
||||
date: 2015-12-13 13:02
|
||||
@ -9,17 +9,50 @@ sharing: true
|
||||
footer: true
|
||||
logo: amazon-echo.png
|
||||
ha_category: Voice
|
||||
featured: false
|
||||
featured: true
|
||||
---
|
||||
|
||||
The Alexa component allows you to integrate Home Assistant into Alexa/Amazon Echo. This component will allow you to query information and call services within Home Assistant by using your voice. There are no supported sentences out of the box as of now, you will have to define them all yourself.
|
||||
There are two ways that you can use Amazon Echo and Home Assistant together.
|
||||
|
||||
No matter which method(s) you decide to use, please remember that Amazon Echo requires an active Internet connection to function. If your Internet is down or experiencing issues (or Amazon's infrastructure is having issues), neither of these methods will work.
|
||||
|
||||
### {% linkable_title I just want to turn devices on and off using Echo %}
|
||||
|
||||
If you just want to be able to turn anything with a switch (like lights, switches, media players, etc) on and off, check out Michael Auchter's [Haaska][haaska-github-link] which integrates the [Alexa Lighting API][alexa-lighting-api] into Home Assistant.
|
||||
|
||||
[haaska-github-link]: https://github.com/auchter/haaska
|
||||
[alexa-lighting-api]: https://developer.amazon.com/public/binaries/content/assets/html/alexa-lighting-api.html
|
||||
|
||||
Implementing Haaska means you can turn things on and off by simply saying
|
||||
|
||||
> Alexa, turn the living room lights on.
|
||||
|
||||
or
|
||||
|
||||
> Alexa, set the living room lights to twenty percent.
|
||||
|
||||
instead of
|
||||
|
||||
> Alexa, tell Home Assistant to turn the living room lights on.
|
||||
|
||||
or
|
||||
|
||||
> Alexa, tell Home Assistant to set the living room lights to twenty percent.
|
||||
|
||||
In addition, you would need to build custom intents for each device and on/off combination using the below method, whereas everything just works without any extra work by using Haaska.
|
||||
|
||||
Please note that you can use Haaska and the built-in Alexa component side-by-side without issue if you wish.
|
||||
|
||||
### {% linkable_title I want to build custom commands to use with Echo %}
|
||||
|
||||
The built-in Alexa component allows you to integrate Home Assistant into Alexa/Amazon Echo. This component will allow you to query information and call services within Home Assistant by using your voice. Home Assistant offers no built-in sentences but offers a framework for you to define your own.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/1Ke3mtWd_cQ" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
### {% linkable_title Requirements before using %}
|
||||
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are ok because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. If you are unable to get https up and running, consider using [this AWS Lambda proxy for Alexa skills](https://forums.developer.amazon.com/forums/thread.jspa?messageID=18604).
|
||||
#### {% linkable_title Requirements before using %}
|
||||
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are ok because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://forums.developer.amazon.com/forums/thread.jspa?messageID=18604).
|
||||
|
||||
[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/
|
||||
|
||||
@ -35,7 +68,7 @@ To get started with Alexa skills:
|
||||
- https
|
||||
- https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD
|
||||
|
||||
### {% linkable_title Configuring your Amazon Alexa skill %}
|
||||
#### {% linkable_title Configuring your Amazon Alexa skill %}
|
||||
|
||||
Alexa works based on intents. Each intent has a name and variable slots. For example, a `LocateIntent` with a slot that contains a `User`. Example intent schema:
|
||||
|
||||
@ -80,7 +113,10 @@ Out of the box, the component will do nothing. You have to teach it about all in
|
||||
|
||||
You can use [templates] for the values of `speech/text`, `card/title` and `card/content`.
|
||||
|
||||
[templates]: /getting-started/templating/
|
||||
Actions are using the [Home Assistant Script Syntax] and also have access to the variables from the intent.
|
||||
|
||||
[templates]: /topics/templating/
|
||||
[Home Assistant Script Syntax]: /getting-started/scripts/
|
||||
|
||||
Configuring the Alexa component for the above intents would look like this:
|
||||
|
||||
@ -104,8 +140,8 @@ alexa:
|
||||
LocateIntent:
|
||||
action:
|
||||
service: notify.notify
|
||||
data:
|
||||
message: Your location has been queried via Alexa.
|
||||
data_template:
|
||||
message: The location of {{ User }} has been queried via Alexa.
|
||||
speech:
|
||||
type: plaintext
|
||||
text: >
|
||||
|
30
source/_components/apcupsd.markdown
Normal file
30
source/_components/apcupsd.markdown
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: page
|
||||
title: "APCUPSd"
|
||||
description: "Instructions on how to integrate APCUPSd status with Home Assistant."
|
||||
date: 2016-02-10 17:11
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apcupsd.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
[APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) is enabled on the APC device.
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
apcupsd:
|
||||
host: IP_ADDRESS
|
||||
port: PORT
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): The hostname/IP address on which the APCUPSd NIS is being served. Defaults to `localhost`.
|
||||
- **port** (*Optional*): The port on which the APCUPSd NIS is listening. Defaults to `3551`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Arduino"
|
||||
description: "Instructions how to setup an Arduino boards within Home Assistant."
|
||||
date: 2015-06-27 10:28
|
||||
@ -10,13 +10,14 @@ footer: true
|
||||
logo: arduino.png
|
||||
ha_category: DIY
|
||||
featured: true
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection. The equipment depends on the [type](https://www.arduino.cc/en/Main/Products) of board. The most common ones are the Arduino Uno and the Arduino Leonardo with 14 digital input/output pins and 6 analog input pins.
|
||||
|
||||
There are a lot of extensions (so called [shields](https://www.arduino.cc/en/Main/ArduinoShields)) available. Those shields can be plugged-in into the existing connectors and stacked on top of each other. This makes it possible to expand the capabilities of the Arduino boards.
|
||||
|
||||
The arduino component is designed to let you use a directly attached board to your Home Assistant host over USB.
|
||||
The `arduino` component is designed to let you use a directly attached board to your Home Assistant host over USB.
|
||||
|
||||
You need to have the [Firmata firmware](https://github.com/firmata/) on your board. Please upload the `StandardFirmata` sketch to your board, please refer to the [Arduino documentation](https://www.arduino.cc/en/Main/Howto) for further information.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Automation"
|
||||
description: "Instructions how to setup automation within Home Assistant."
|
||||
date: 2015-01-20 22:36
|
||||
@ -11,345 +11,6 @@ logo: home-assistant.png
|
||||
ha_category: Automation
|
||||
---
|
||||
|
||||
This page will go into more detail about the various options the `automation` component offers. If you haven't yet, read the [getting started page on automation](/getting-started/automation/).
|
||||
Please see the [getting started section] for in-depth documentation on how to use the automation compnoent.
|
||||
|
||||
A configuration section of an automation requires a `trigger` and an `action` section. `condition` and `condition_type` are optional. To keep this page compact, all following sections will not show the full configuration but only the relevant part.
|
||||
|
||||
```yaml
|
||||
# Example of entry in configuration.yaml
|
||||
automation:
|
||||
# Turns on lights 1 hour before sunset if people are home
|
||||
# and if people get home between 16:00-23:00
|
||||
- alias: 'Rule 1 Light on in the evening'
|
||||
trigger:
|
||||
# Prefix the first line of each trigger configuration
|
||||
# with a '-' to enter multiple
|
||||
- platform: sun
|
||||
event: sunset
|
||||
offset: '-01:00:00'
|
||||
- platform: state
|
||||
entity_id: group.all_devices
|
||||
state: 'home'
|
||||
condition:
|
||||
# Prefix the first line of each condition configuration
|
||||
# with a '-'' to enter multiple
|
||||
- platform: state
|
||||
entity_id: group.all_devices
|
||||
state: 'home'
|
||||
- platform: time
|
||||
after: '16:00:00'
|
||||
before: '23:00:00'
|
||||
action:
|
||||
service: homeassistant.turn_on
|
||||
entity_id: group.living_room
|
||||
|
||||
# Turn off lights when everybody leaves the house
|
||||
- alias: 'Rule 2 - Away Mode'
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: group.all_devices
|
||||
state: 'not_home'
|
||||
action:
|
||||
service: light.turn_off
|
||||
entity_id: group.all_lights
|
||||
|
||||
# Notify when Paulus leaves the house in the evening
|
||||
- alias: 'Leave Home notification'
|
||||
trigger:
|
||||
platform: zone
|
||||
event: leave
|
||||
zone: zone.home
|
||||
entity_id: device_tracker.paulus
|
||||
condition:
|
||||
platform: time
|
||||
after: '20:00'
|
||||
action:
|
||||
service: notify.notify
|
||||
data:
|
||||
message: 'Paulus left the house'
|
||||
```
|
||||
|
||||
- [Jump to conditions](#conditions)
|
||||
- [Jump to actions](#actions)
|
||||
- [Jump to troubleshooting](#troubleshooting)
|
||||
|
||||
## {% linkable_title Triggers %}
|
||||
|
||||
Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.
|
||||
|
||||
#### {% linkable_title Event trigger %}
|
||||
Triggers when an event is being processed. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: MY_CUSTOM_EVENT
|
||||
# optional
|
||||
event_data:
|
||||
mood: happy
|
||||
```
|
||||
|
||||
#### {% linkable_title MQTT trigger %}
|
||||
Triggers when a specific message is received on given topic. Optionally can match on the payload being sent over the topic.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: living_room/switch/ac
|
||||
# Optional
|
||||
payload: 'on'
|
||||
```
|
||||
|
||||
#### {% linkable_title Numeric state trigger %}
|
||||
On state change of a specified entity, attempts to parse the state as a number and triggers if value is above and/or below a threshold.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: numeric_state
|
||||
entity_id: sensor.temperature
|
||||
# Optional
|
||||
value_template: '{% raw %}{{ state.attributes.battery }}{% endraw %}'
|
||||
# At least one of the following required
|
||||
above: 17
|
||||
below: 25
|
||||
```
|
||||
|
||||
#### {% linkable_title State trigger %}
|
||||
|
||||
Triggers when the state of an entity changes. If only entity_id given will match all state changes.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: device_tracker.paulus
|
||||
# Optional
|
||||
from: 'not_home'
|
||||
to: 'home'
|
||||
```
|
||||
|
||||
<p class='note warning'>
|
||||
Use quotes around your values for `from` and `to` to avoid the YAML parser interpreting values as booleans.
|
||||
</p>
|
||||
|
||||
#### {% linkable_title Sun trigger %}
|
||||
Trigger when the sun is setting or rising. An optional time offset can be given to have it trigger for example 45 minutes before sunset, when dusk is setting in.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: sun
|
||||
# Possible values: sunset, sunrise
|
||||
event: sunset
|
||||
# Optional time offset. This example is 45 minutes.
|
||||
offset: '-00:45:00'
|
||||
```
|
||||
|
||||
#### {% linkable_title Template trigger %}
|
||||
|
||||
Template triggers work by evaluating a [template] on each state change. The trigger will fire if the state change caused the template to render 'true'. This is achieved by having the template result in a true boolean expression (`{% raw %}{{ is_state('device_tracker.paulus', 'home') }}{% endraw %}`) or by having the template render 'true' (example below).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: template
|
||||
value_template: '{% raw %}{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}{% endraw %}'
|
||||
```
|
||||
|
||||
#### {% linkable_title Time trigger %}
|
||||
|
||||
Time can be triggered in many ways. The most common is to specify `after` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You cannot use `after` together with hour, minute or second.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: time
|
||||
# Matches every hour at 5 minutes past whole
|
||||
minutes: 5
|
||||
seconds: 0
|
||||
|
||||
automation 2:
|
||||
trigger:
|
||||
platform: time
|
||||
# When 'after' is used, you cannot also match on hour, minute, seconds.
|
||||
# Military time format.
|
||||
after: '15:32:00'
|
||||
|
||||
automation 3:
|
||||
trigger:
|
||||
platform: time
|
||||
# You can also match on interval. This will match every 5 minutes
|
||||
minutes: '/5'
|
||||
seconds: 0
|
||||
```
|
||||
|
||||
#### {% linkable_title Zone trigger %}
|
||||
|
||||
Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
platform: zone
|
||||
entity_id: device_tracker.paulus
|
||||
zone: zone.home
|
||||
# Event is either enter or leave
|
||||
event: enter
|
||||
```
|
||||
|
||||
## {% linkable_title Conditions %}
|
||||
|
||||
Conditions are an optional part of an automation rule and be used to prevent an action from happening when triggered. Conditions look very familiar to triggers but are very different. A trigger will look at events happening at the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is on or off.
|
||||
|
||||
An automation rule can have mulitiple triggers. By default the action will only fire if all conditions pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any condition matches. In the example below, the automation would trigger if the time is before 05:00 _OR_ after 20:00.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition_type: or
|
||||
condition:
|
||||
- platform: time
|
||||
before: '05:00'
|
||||
- platform: time
|
||||
after: '20:00'
|
||||
```
|
||||
|
||||
If your triggers and conditions are exactly the same, you can use a shortcut to specify conditions. In this case, triggers that are not valid conditions will be ignored.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition: use_trigger_values
|
||||
```
|
||||
|
||||
#### {% linkable_title Numeric state condition %}
|
||||
|
||||
Attempts to parse the state of specified entity as a number and triggers if value is above and/or below a threshold.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: numeric_state
|
||||
entity_id: sensor.temperature
|
||||
# At least one of the following required
|
||||
above: 17
|
||||
below: 25
|
||||
# Optional
|
||||
value_template: '{% raw %}{{ state.attributes.battery }}{% endraw %}'
|
||||
```
|
||||
|
||||
#### {% linkable_title State condition %}
|
||||
|
||||
Tests if an entity is a specified state.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: state
|
||||
entity_id: device_tracker.paulus
|
||||
state: not_home
|
||||
```
|
||||
|
||||
#### {% linkable_title Sun condition %}
|
||||
|
||||
The sun condition can test if the sun has already set or risen when a trigger occurs. The `before` and `after` keys can only be set to `sunset` or `sunrise`. They have a corresponding optional offset value (`before_offset`, `after_offset`) that can be added, similar to the [sun trigger](#sun-trigger).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: sun
|
||||
after: sunset
|
||||
# Optional offset value
|
||||
after_offset: "-1:00:00"
|
||||
```
|
||||
|
||||
#### {% linkable_title Template condition %}
|
||||
|
||||
The template condition will test if [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
|
||||
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: template
|
||||
value_template: '{% raw %}{{ state.attributes.battery > 50 }}{% endraw %}'
|
||||
# Or value_template could be:
|
||||
# {% raw %}{% if state.attributes.battery > 50 %}true{% else %}false{% endif %}{% endraw %}
|
||||
```
|
||||
|
||||
#### {% linkable_title Time condition %}
|
||||
|
||||
The time condition can test if it is after a specified time, before a specified time or if it is a certain day of the week
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: time
|
||||
# At least one of the following is required.
|
||||
after: '15:00:00'
|
||||
before: '23:00:00'
|
||||
weekday:
|
||||
- mon
|
||||
- wed
|
||||
- fri
|
||||
```
|
||||
|
||||
Valid values for `weekday` are (`sun`, `mon`, `tue`, `wed`, `thu`, `fri` & `sat`)
|
||||
|
||||
#### {% linkable_title Zone condition %}
|
||||
|
||||
Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
condition:
|
||||
platform: zone
|
||||
entity_id: device_tracker.paulus
|
||||
zone: zone.home
|
||||
```
|
||||
|
||||
## {% linkable_title Actions %}
|
||||
|
||||
When an automation rule fires, it calls a service. For this service you can specify an entity id it should apply to and optional service parameters (to specify for example the brightness).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
# Change the light in the kitchen and living room to 150 brightness and color red.
|
||||
action:
|
||||
service: homeassistant.turn_on
|
||||
entity_id:
|
||||
- light.kitchen
|
||||
- light.living_room
|
||||
data:
|
||||
brightness: 150
|
||||
rgb_color: [255, 0, 0]
|
||||
```
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
# Notify me on my mobile phone of an event
|
||||
action:
|
||||
service: notify.notify
|
||||
data:
|
||||
message: Something just happened, better take a look!
|
||||
```
|
||||
|
||||
If you want to specify multiple services to be called or include a delay, have a look at the [script component](/components/script/). If you want to describe how certain entities should look, check out the [scene component](/components/scene/).
|
||||
|
||||
## {% linkable_title Troubleshooting %}
|
||||
|
||||
You can verify that your automation rules are being initialized correctly by watching both the realtime logs and also the logbook. The realtime logs will show the rules being initialized (once for each trigger):
|
||||
|
||||
```plain
|
||||
INFO [homeassistant.components.automation] Initialized rule Rainy Day
|
||||
INFO [homeassistant.components.automation] Initialized rule Rainy Day
|
||||
INFO [homeassistant.components.automation] Initialized rule Rainy Day
|
||||
INFO [homeassistant.components.automation] Initialized rule Rain is over
|
||||
```
|
||||
|
||||
The Logbook component will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
|
||||
|
||||

|
||||
|
||||
[template]: /getting-started/templating/
|
||||
[getting started section]: /getting-started/automation/
|
||||
|
29
source/_components/binary_sensor.apcupsd.markdown
Normal file
29
source/_components/binary_sensor.apcupsd.markdown
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: page
|
||||
title: APCUPSd Binary Sensor
|
||||
description: "Instructions on how to set up an APCUPSd binary sensor within Home Assistant."
|
||||
date: 2016-02-10 18:47
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apcupsd.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
In addition to the [APCUPSd Sensor](/components/sensor.apcupsd/) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times.
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: apcupsd
|
||||
name: UPS Online
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **resource** (*Required*): The resource or endpoint that contains the value.
|
||||
- **method** (*Optional*): The method of the request. Default is GET.
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "aREST binary sensor"
|
||||
layout: page
|
||||
title: "aREST Binary Sensor"
|
||||
description: "Instructions how to integrate aREST binary sensors within Home Assistant."
|
||||
date: 2015-11-20 18:15
|
||||
sidebar: true
|
||||
@ -9,10 +9,12 @@ sharing: true
|
||||
footer: true
|
||||
logo: arest.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.9
|
||||
---
|
||||
|
||||
|
||||
The arest binary sensor platform allows you to get all data from your devices (like Arduinos with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
|
||||
The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with a ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
|
||||
|
||||
To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -36,7 +38,6 @@ Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state
|
||||
```bash
|
||||
$ curl -X GET http://10.100.0.157/digital/9
|
||||
{"return_value": 0, "id": "office1", "name": "Office", "connected": true}
|
||||
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
|
26
source/_components/binary_sensor.bloomsky.markdown
Normal file
26
source/_components/binary_sensor.bloomsky.markdown
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: "BloomSky Binary Sensor"
|
||||
description: "Instructions on how to set up BloomSky binary sensors within Home Assistant."
|
||||
date: 2016-02-22 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bloomsky.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
The `bloomsky` binary sensor platform allows you to get data from your BloomSky device.
|
||||
|
||||
To get your BloomSky binary sensors working with Home Assistant, follow the instructions for the [BloomSky component](/components/bloomsky/) first.
|
||||
|
||||
To use your BloomSky binary sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: bloomsky
|
||||
```
|
||||
|
@ -1,13 +1,15 @@
|
||||
---
|
||||
layout: component
|
||||
title: "Command line binary sensor"
|
||||
layout: page
|
||||
title: "Command line Binary Sensor"
|
||||
description: "Instructions how to integrate Command binary sensors within Home Assistant."
|
||||
date: 2016-01-13 12:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: command_line.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.12
|
||||
---
|
||||
|
||||
|
||||
@ -18,9 +20,10 @@ To use your Command binary sensor in your installation, add the following to you
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: command_sensor
|
||||
platform: command_line
|
||||
command: cat /proc/sys/net/ipv4/ip_forward
|
||||
name: 'IP4 forwarding'
|
||||
sensor_class: opening
|
||||
payload_on: "1"
|
||||
payload_off: "0"
|
||||
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||
@ -30,9 +33,10 @@ Configuration variables:
|
||||
|
||||
- **command** (*Required*): The action to take to get the value.
|
||||
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
|
||||
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
|
||||
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
@ -45,7 +49,7 @@ Check the state of an [SickRage](https://github.com/sickragetv/sickrage) instanc
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: command_sensor
|
||||
platform: command_line
|
||||
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
|
||||
name: 'sickragerunning'
|
||||
payload_on: "Running"
|
||||
@ -58,10 +62,20 @@ Check if [RasPlex](http://www.rasplex.com/) is `online`.
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: command_sensor
|
||||
command: 'ping rasplex.local -c 1 | grep "1 received" | wc -l'
|
||||
platform: command_line
|
||||
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
|
||||
name: 'is_rasplex_online'
|
||||
payload_on: 1
|
||||
payload_off: 0
|
||||
```
|
||||
|
||||
An alternative solution could look like this:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: command_line
|
||||
name: Printer
|
||||
command: ping -c 1 192.168.1.10 &> /dev/null && echo success || echo fail
|
||||
payload_on: "success"
|
||||
payload_off: "fail"
|
||||
```
|
79
source/_components/binary_sensor.http.markdown
Normal file
79
source/_components/binary_sensor.http.markdown
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HTTP Binary Sensor"
|
||||
description: "Instructions how to integrate HTTP binary sensors within Home Assistant."
|
||||
date: 2016-02-05 12:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: http.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
The URL for a binary sensor looks like the example below:
|
||||
|
||||
```bash
|
||||
http://IP_ADDRESS:8123/api/states/binary_sensor.DEVICE_NAME
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
You should choose a unique device name (DEVICE_NAME) to avoid clashes with other devices.
|
||||
</p>
|
||||
|
||||
The JSON payload must contain the new state and can have a friendly name. The friendly name is used in the frontend to name the sensor.
|
||||
|
||||
```json
|
||||
{"state": "on", "attributes": {"friendly_name": "Radio"}}
|
||||
```
|
||||
|
||||
For a quick test `curl` can be useful to "simulate" a device.
|
||||
|
||||
```bash
|
||||
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
|
||||
-d '{"state": "off", "attributes": {"friendly_name": "Radio"}}' \
|
||||
http://localhost:8123/api/states/binary_sensor.radio
|
||||
```
|
||||
|
||||
To check if the sensor is working, use again `curl` to retrieve the [current state](/developers/rest_api/#get-apistatesltentity_id).
|
||||
|
||||
```bash
|
||||
$ curl -X GET -H "x-ha-access: YOUR_PASSWORD" \
|
||||
http://localhost:8123/api/states/binary_sensor.radio
|
||||
{
|
||||
"attributes": {
|
||||
"friendly_name": "Radio"
|
||||
},
|
||||
"entity_id": "binary_sensor.radio",
|
||||
"last_changed": "16:45:51 05-02-2016",
|
||||
"last_updated": "16:45:51 05-02-2016",
|
||||
"state": "off"
|
||||
}
|
||||
```
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real life examples of how to use this sensor. Beside `curl`.
|
||||
|
||||
### {% linkable_title Using Python request module %}
|
||||
|
||||
As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module for the interaction with Home Assistant.
|
||||
|
||||
```python
|
||||
response = requests.post(
|
||||
'http://localhost:8123/api/states/binary_sensor.radio',
|
||||
headers={'x-ha-access': 'YOUR_PASSWORD', 'content-type': 'application/json'},
|
||||
data=json.dumps({'state': 'on', 'attributes': {'friendly_name': 'Radio'}}))
|
||||
print(response.text)
|
||||
```
|
||||
|
||||
### {% linkable_title Using `httpie` %}
|
||||
|
||||
[`httpie`](https://github.com/jkbrzt/httpie) is a user-friendly CLI HTTP client.
|
||||
|
||||
```bash
|
||||
$ http -v POST http://localhost:8123/api/states/binary_sensor.radio \
|
||||
x-ha-access:YOUR_PASSWORD state=off \
|
||||
attributes:='{"friendly_name": "Radio"}'
|
||||
```
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Binary Sensor"
|
||||
description: "Instructions how to setup your binary sensors with Home Assistant."
|
||||
date: 2015-11-20 14:00
|
||||
@ -13,4 +13,21 @@ Binary sensors are gathering information about state of switches, contacts, pins
|
||||
|
||||
Knowing that there are only two states allows Home Assistant to represent the sensor better in the frontend.
|
||||
|
||||
Most binary sensors support the `SENSOR_CLASSES` which let you specify the type of your sensor. The following types are supported:
|
||||
|
||||
- **None**: Generic on/off
|
||||
- **opening**: Door, window, etc
|
||||
- **motion**: Motion sensor
|
||||
- **gas'**: CO, CO2, etc
|
||||
- **smoke'**: Smoke detector
|
||||
- **moisture**: Specifically a wetness sensor
|
||||
- **light**: Lightness threshold
|
||||
- **power**: Power, over-current, etc
|
||||
- **safety**: Generic on=unsafe, off=safe
|
||||
- **heat**: On means hot (or too hot)
|
||||
- **cold**: On means cold (or too cold)
|
||||
- **moving**: On means moving, Off means stopped
|
||||
- **sound**: On means sound detected, Off means no sound
|
||||
- **vibration**: On means vibration detected, Off means no vibration
|
||||
|
||||
For analog sensors please check the [component overview](https://home-assistant.io/components/#sensor).
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "MQTT binary sensor"
|
||||
layout: page
|
||||
title: "MQTT Binary Sensor"
|
||||
description: "Instructions how to integrate MQTT binary sensors within Home Assistant."
|
||||
date: 2015-05-30 23:21
|
||||
sidebar: true
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.9
|
||||
---
|
||||
|
||||
|
||||
@ -25,6 +26,7 @@ binary_sensor:
|
||||
qos: 0
|
||||
payload_on: "ON"
|
||||
payload_off: "OFF"
|
||||
sensor_class: opening
|
||||
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||
```
|
||||
|
||||
@ -35,7 +37,8 @@ Configuration variables:
|
||||
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0.
|
||||
- **payload_on** (*Optional*): The payload that represents on state. Default is "ON".
|
||||
- **payload_off** (*Optional*): The payload that represents state. Default is "OFF".
|
||||
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
|
||||
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of your sensor manually:
|
||||
|
||||
|
88
source/_components/binary_sensor.mysensors.markdown
Normal file
88
source/_components/binary_sensor.mysensors.markdown
Normal file
@ -0,0 +1,88 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MySensors Binary Sensor"
|
||||
description: "Instructions how to integrate MySensors binary sensors into Home Assistant."
|
||||
date: 2016-04-13 14:20 +0100
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mysensors.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
Integrates MySensors binary sensors into Home Assistant. See the [main component] for configuration instructions.
|
||||
|
||||
The following sensor types are supported:
|
||||
|
||||
##### MySensors version 1.4 and higher
|
||||
|
||||
S_TYPE | V_TYPE
|
||||
-------------------|---------------------------------------
|
||||
S_DOOR | V_TRIPPED
|
||||
S_MOTION | V_TRIPPED
|
||||
S_SMOKE | V_TRIPPED
|
||||
|
||||
##### MySensors version 1.5 and higher
|
||||
|
||||
S_TYPE | V_TYPE
|
||||
---------------|----------------------------------
|
||||
S_SPRINKLER | V_TRIPPED
|
||||
S_WATER_LEAK | V_TRIPPED
|
||||
S_SOUND | V_TRIPPED
|
||||
S_VIBRATION | V_TRIPPED
|
||||
S_MOISTURE | V_TRIPPED
|
||||
|
||||
For more information, visit the [serial api] of MySensors.
|
||||
|
||||
### {% linkable_title Example sketch %}
|
||||
|
||||
```cpp
|
||||
/**
|
||||
* Documentation: http://www.mysensors.org
|
||||
* Support Forum: http://forum.mysensors.org
|
||||
*
|
||||
* http://www.mysensors.org/build/binary
|
||||
*/
|
||||
|
||||
|
||||
#include <MySensor.h>
|
||||
#include <SPI.h>
|
||||
#include <Bounce2.h>
|
||||
|
||||
#define SN "BinarySensor"
|
||||
#define SV "1.0"
|
||||
#define CHILD_ID 1
|
||||
#define BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch.
|
||||
|
||||
MySensor gw;
|
||||
Bounce debouncer = Bounce();
|
||||
MyMessage msg(CHILD_ID, V_TRIPPED);
|
||||
|
||||
void setup()
|
||||
{
|
||||
gw.begin();
|
||||
gw.sendSketchInfo(SN, SV);
|
||||
// Setup the button.
|
||||
pinMode(BUTTON_PIN, INPUT_PULLUP);
|
||||
// After setting up the button, setup debouncer.
|
||||
debouncer.attach(BUTTON_PIN);
|
||||
debouncer.interval(5);
|
||||
gw.present(CHILD_ID, S_DOOR);
|
||||
gw.send(msg.set(0));
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
if (debouncer.update()) {
|
||||
// Get the update value.
|
||||
int value = debouncer.read();
|
||||
// Send in the new value.
|
||||
gw.send(msg.set(value == LOW ? 1 : 0));
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[main component]: /components/mysensors/
|
||||
[serial api]: https://www.mysensors.org/download/serial_api_15
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "Nest binary sensor"
|
||||
layout: page
|
||||
title: "Nest Binary Sensor"
|
||||
description: "Instructions how to integrate Nest binary sensors within Home Assistant."
|
||||
date: 2016-01-26 08:00
|
||||
sidebar: true
|
||||
@ -12,12 +12,12 @@ ha_category: Binary Sensor
|
||||
---
|
||||
|
||||
|
||||
The Nest binary sensor platform let you monitor various states of a thermostat from [Nest](https://nest.com).
|
||||
The `nest` binary sensor platform let you monitor various states of a thermostat from [Nest](https://nest.com).
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
binary_sensor:
|
||||
platform: nest
|
||||
monitored_conditions:
|
||||
- 'fan'
|
||||
@ -34,5 +34,14 @@ sensor:
|
||||
Configuration variables:
|
||||
|
||||
- **monitored_conditions** array (*Required*): States to monitor.
|
||||
- 'fan'
|
||||
- 'hvac_ac_state'
|
||||
- 'hvac_aux_heater_state'
|
||||
- 'hvac_heat_x2_state'
|
||||
- 'hvac_heat_x3_state'
|
||||
- 'hvac_alt_heat_state'
|
||||
- 'hvac_alt_heat_x2_state'
|
||||
- 'hvac_emer_heat_state'
|
||||
- 'online'
|
||||
|
||||
<p class='note'>You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.</p>
|
||||
<p class='note'>You must have the [Nest component](/components/nest/) configured to use this sensor.</p>
|
||||
|
52
source/_components/binary_sensor.nx584.markdown
Normal file
52
source/_components/binary_sensor.nx584.markdown
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
layout: page
|
||||
title: NX584 zones
|
||||
description: "Instructions on how to set up nx584 zones as sensors"
|
||||
date: 2016-02-18 20:47
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: networx.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Push"
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work.
|
||||
|
||||
Enabling this sensor platform exposes all of your zones as binary sensors, which provides visibility through the UI as well as the ability to trigger automation actions instantly when something happens like a door opening, or a motion sensor trigger.
|
||||
|
||||
To enable this, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: nx584
|
||||
host: ADDRESS
|
||||
exclude_zones:
|
||||
- ZONE ...
|
||||
zone_types:
|
||||
ZONE: TYPE
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): This is the host connection string (host:port) for the nx584 server process. If unset, it is assumed to be `localhost:5007`, which will work if the server process is running on the same system as home-assistant.
|
||||
- **exclude_zones** (*Optional*): This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc.
|
||||
- **zone_types** (*Optional*): This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. The list of available zone types relevant to alarm zones are: `opening`, `motion`, `gas`, `smoke`, `moisture`, `safety`.
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: nx584
|
||||
host: 192.168.1.10:5007
|
||||
exclude_zones:
|
||||
- 3
|
||||
- 5
|
||||
zone_types:
|
||||
1: opening
|
||||
2: opening
|
||||
4: motion
|
||||
6: moisture
|
||||
```
|
34
source/_components/binary_sensor.octoprint.markdown
Normal file
34
source/_components/binary_sensor.octoprint.markdown
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: "OctoPrint Binary Sensor"
|
||||
description: "Instructions how to integrate OctoPrint binary sensors within Home Assistant."
|
||||
date: 2016-05-05 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: octoprint.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.19
|
||||
---
|
||||
|
||||
|
||||
The `OctoPrint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
platform: octoprint
|
||||
monitored_conditions:
|
||||
- Printing
|
||||
- Printing Error
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **monitored_conditions** array (*Required*): States to monitor.
|
||||
- Printing
|
||||
- Printing Error
|
||||
|
||||
<p class='note'>You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.</p>
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "RESTful binary sensor"
|
||||
layout: page
|
||||
title: "RESTful Binary Sensor"
|
||||
description: "Instructions how to integrate REST binary sensors into Home Assistant."
|
||||
date: 2015-12-17 19:10
|
||||
sidebar: true
|
||||
@ -8,6 +8,7 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.10
|
||||
---
|
||||
|
||||
|
||||
@ -17,11 +18,12 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
binary_sensor:
|
||||
platform: rest
|
||||
resource: http://IP_ADDRESS/ENDPOINT
|
||||
method: GET
|
||||
name: REST GET binary sensor
|
||||
sensor_class: opening
|
||||
value_template: '{% raw %}{{ value_json.state }}{% endraw %}'
|
||||
```
|
||||
|
||||
@ -29,22 +31,24 @@ or for a POST request:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
binary_sensor:
|
||||
platform: rest
|
||||
resource: http://IP_ADDRESS/ENDPOINT
|
||||
method: POST
|
||||
name: REST POST binary sensor
|
||||
sensor_class: opening
|
||||
value_template: '{% raw %}{{ value_json.state }}{% endraw %}'
|
||||
payload: '{ "device" : "door" }'
|
||||
name: REST POST binary sensor
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **resource** (*Required*): The resource or endpoint that contains the value.
|
||||
- **method** (*Optional*): The method of the request. Default is GET.
|
||||
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the value.
|
||||
- **payload** (*Optional*): The payload to send with a POST request. Usualy formed as a dictionary.
|
||||
- **name** (*Optional*): Name of the REST binary sensor.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value.
|
||||
- **payload** (*Optional*): The payload to send with a POST request. Usualy formed as a dictionary.
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that the URL matches exactly your endpoint or resource.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "Raspberry PI GPIO sensor"
|
||||
layout: page
|
||||
title: "Raspberry PI GPIO Binary Sensor"
|
||||
description: "Instructions how to integrate the GPIO sensor capability of a Raspberry PI into Home Assistant."
|
||||
date: 2015-08-30 19:00
|
||||
sidebar: true
|
||||
@ -9,10 +9,11 @@ sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: Sensor
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
The rpi_gpio binary sensor platform allows you to read sensor values of the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/).
|
||||
The `rpi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/).
|
||||
|
||||
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
42
source/_components/binary_sensor.tcp.markdown
Normal file
42
source/_components/binary_sensor.tcp.markdown
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
layout: page
|
||||
title: TCP Binary Sensor
|
||||
description: "Instructions on how to set up TCP binary sensors within Home Assistant."
|
||||
date: 2016-02-22 11:05
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
The TCP Binary Sensor is a type of [TCP Sensor](/components/sensor.tcp/) which is either "off" or "on". In order to use this sensor type, in addition to the configuration for the TCP Sensor, you must supply a `value_on` value to represent what is returned when the device is turned on.
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
# Example configuration.yaml entry
|
||||
platform: tcp
|
||||
name: TCP Binary Sensor
|
||||
host: IP_ADDRESS
|
||||
port: PORT
|
||||
payload: "r State\n"
|
||||
value_on: 1
|
||||
timeout: 5
|
||||
value_template: "{% raw %}{{ value.split(';')[0] }}{% endraw %}"
|
||||
buffer_size: BUFFER_SIZE
|
||||
```
|
||||
|
||||
Configuration options for the a TCP Sensor:
|
||||
|
||||
- **name** (*Required*): The name you'd like to give the sensor in Home Assistant.
|
||||
- **host** (*Required*): The hostname/IP address to connect to.
|
||||
- **port** (*Required*): The port to connect to the host on.
|
||||
- **payload** (*Required*): What to send to the host in order to get the response we're interested in.
|
||||
- **value_on** (*Required*): The value returned when the device is "on".
|
||||
- **timeout** (*Optional*): How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value. By default it's assumed that the entire response is the value.
|
||||
- **buffer_size** (*Optional*): The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024.
|
||||
|
50
source/_components/binary_sensor.template.markdown
Normal file
50
source/_components/binary_sensor.template.markdown
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Template Binary Sensor"
|
||||
description: "Instructions how to integrate Template binary sensors into Home Assistant."
|
||||
date: 2016-02-25 15:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
---
|
||||
|
||||
The `template` platform supports sensors which breaks out the state and `state_attributes` from other entities.
|
||||
|
||||
To enable Template sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: template
|
||||
sensors:
|
||||
sun_up:
|
||||
value_template: {% raw %}'{{ states.sun.sun.attributes.elevation > 0}}'{% endraw %}
|
||||
friendly_name: 'Sun is up'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **sensors** array (*Required*): List of your sensors.
|
||||
- **friendly_name** (*Optional*): Name to use in the Frontend.
|
||||
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real life examples of how to use this sensor.
|
||||
|
||||
### {% linkable_title Sensor threshold %}
|
||||
|
||||
This example indicates true if a sensor is above a given threshold. Assuming a sensor of `furnace` that provides a current reading for the fan motor, we can determine if the furnace is running by checking that it is over some threshold:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
platform: template
|
||||
sensors:
|
||||
furnace_on:
|
||||
value_template: {{ states.sensor.furnace.state > 2.5 }}
|
||||
friendly_name: 'Furnace Running
|
||||
sensor_class: heat
|
||||
```
|
17
source/_components/binary_sensor.vera.markdown
Normal file
17
source/_components/binary_sensor.vera.markdown
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Vera Binary Sensor"
|
||||
description: "Instructions how to integrate Vera binary sensors into Home Assistant."
|
||||
date: 2016-03-26 23:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: vera.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `vera` platform allows you to get data from your [Vera](http://getvera.com/) binary sensors from within Home Assistant.
|
||||
|
||||
They will be automatically discovered if the vera component is loaded.
|
19
source/_components/binary_sensor.wink.markdown
Normal file
19
source/_components/binary_sensor.wink.markdown
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Wink Binary Sensor"
|
||||
description: "Instructions how to setup the Wink binary sensors within Home Assistant."
|
||||
date: 2015-01-20 22:36
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: wink.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
|
||||
The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors.
|
||||
|
||||
The requirement is that you have setup your [Wink hub](/components/wink/).
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: ZigBee Binary Sensor
|
||||
layout: page
|
||||
title: "ZigBee Binary Sensor"
|
||||
description: "Instructions on how to set up ZigBee binary sensors within Home Assistant."
|
||||
date: 2016-01-28 12:38
|
||||
sidebar: true
|
||||
@ -11,9 +11,21 @@ logo: zigbee.png
|
||||
ha_category: Binary Sensor
|
||||
---
|
||||
|
||||
A ZigBee binary sensor in this context is a device connected to one of the digital input pins on a ZigBee module. The states reported by such a device are limited to 'on' or 'off'. By default, a binary sensor is considered 'on' when the ZigBee device's digital input pin is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`.
|
||||
A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [ZigBee](http://www.zigbee.org/) module. The states reported by such a device are limited to 'on' or 'off'. By default, a binary sensor is considered 'on' when the ZigBee device's digital input pin is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`.
|
||||
|
||||
To configure a digital input as a binary sensor, use the following variables:
|
||||
To enable the ZigBee binary sensors in your installation, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: zigbee
|
||||
name: Hallway PIR Sensor
|
||||
pin: 0
|
||||
address: 0013A20040892FA2
|
||||
on_state: low
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Required*): The name you'd like to give the binary sensor in Home Assistant.
|
||||
- **platform** (*Required*): Set to `zigbee`.
|
||||
@ -21,13 +33,3 @@ To configure a digital input as a binary sensor, use the following variables:
|
||||
- **address**: The long 64bit address of the remote ZigBee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins.
|
||||
- **on_state**: Either `high` (default) or `low`, depicting whether the binary sensor is considered 'on' when the pin is 'high' or 'low'.
|
||||
|
||||
#### Example
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- name: Hallway PIR Sensor
|
||||
platform: zigbee
|
||||
pin: 0
|
||||
address: 0013A20040892FA2
|
||||
on_state: low
|
||||
```
|
||||
|
15
source/_components/binary_sensor.zwave.markdown
Normal file
15
source/_components/binary_sensor.zwave.markdown
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Z-Wave Binary Sensor"
|
||||
description: "Instructions how to setup the Z-Wave binary sensors within Home Assistant."
|
||||
date: 2016-02-22 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: z-wave.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
To get your Z-Wave binary sensors working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
|
27
source/_components/bloomsky.markdown
Normal file
27
source/_components/bloomsky.markdown
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
layout: page
|
||||
title: "BloomSky"
|
||||
description: "Instructions how to integrate the BloomSky within Home Assistant."
|
||||
date: 2016-02-03 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bloomsky.png
|
||||
ha_category: Hub
|
||||
---
|
||||
|
||||
|
||||
The `bloomsky` component allows you to access your [BloomSky](http://www.insteon.com/) weather station's [sensors](/components/sensor.bloomsky) and [camera](/components/camera.bloomsky) from Home Assistant.
|
||||
|
||||
To integrate your BloomSky hub with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
bloomsky:
|
||||
api_key: YOUR_API_KEY
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **api_key** *Required*: Your BloomSky API key, obtained from your [BloomSky dashboard](https://dashboard.bloomsky.com) (click `developers` in the bottom left of the screen)
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Browser"
|
||||
description: "Instructions how to setup the browser component with Home Assistant."
|
||||
date: 2015-01-24 14:39
|
||||
@ -7,12 +7,12 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: browser.png
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
---
|
||||
|
||||
|
||||
The browser component provides a service to open urls in the default browser on the host machine.
|
||||
The `browser` component provides a service to open URLs in the default browser on the host machine.
|
||||
|
||||
To load this component, add the following lines to your `configuration.yaml`:
|
||||
|
||||
@ -21,8 +21,19 @@ To load this component, add the following lines to your `configuration.yaml`:
|
||||
browser:
|
||||
```
|
||||
|
||||
#### Service `browser/browse_url`
|
||||
#### {% linkable_title Service `browser/browse_url` %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `url` | no | The url to open
|
||||
|
||||
|
||||
### {% linkable_title Usage %}
|
||||
|
||||
To use this service, choose **Call Service** from the **Developer Tools**. Choose the service *browser/browse_url* from the list of **Available services:** and enter the URL into the **Service Data** field and hit **CALL SERVICE**.
|
||||
|
||||
```json
|
||||
{"url": "http://www.google.com"}
|
||||
```
|
||||
|
||||
This will open the given URL on the host machine.
|
||||
|
23
source/_components/camera.bloomsky.markdown
Normal file
23
source/_components/camera.bloomsky.markdown
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
layout: page
|
||||
title: "BloomSky Camera"
|
||||
description: "Instructions how to integrate the BloomSky camera within Home Assistant."
|
||||
date: 2016-02-03 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bloomsky.png
|
||||
ha_category: Camera
|
||||
---
|
||||
|
||||
|
||||
The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky).
|
||||
|
||||
To enable this camera in your installation, set up the [BloomSky component](/components/bloomsky) with your API key and add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: bloomsky
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "Foscam IP camera"
|
||||
layout: page
|
||||
title: "Foscam IP Camera"
|
||||
description: "Instructions how to integrate Foscam IP cameras within Home Assistant."
|
||||
date: 2015-09-17 08:01
|
||||
sidebar: true
|
||||
@ -12,7 +12,7 @@ ha_category: Camera
|
||||
---
|
||||
|
||||
|
||||
The foscam platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
|
||||
The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
|
||||
|
||||
To enable your Foscam IP camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -20,7 +20,7 @@ To enable your Foscam IP camera in your installation, add the following to your
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: foscam
|
||||
ip: 192.168.0.123
|
||||
ip: IP_ADDRESS
|
||||
name: Door Camera
|
||||
port: 88
|
||||
username: USERNAME
|
||||
@ -29,9 +29,15 @@ camera:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **ip** *Required*: The IP address your camera.
|
||||
- **port** *Optional*: The port that the camera is running on. The default is 88.
|
||||
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
||||
- **username** *Required*: The username for accessing your camera.
|
||||
- **password** *Required*: The password for accessing your camera.
|
||||
- **ip** (*Required*): The IP address your camera.
|
||||
- **port** (*Optional*): The port that the camera is running on. The default is 88.
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your camera.
|
||||
- **username** (*Required*): The username for accessing your camera.
|
||||
- **password** (*Required*): The password for accessing your camera.
|
||||
|
||||
<p class='note'>
|
||||
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %}
|
||||
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Generic IP Camera"
|
||||
description: "Instructions how to integrate IP cameras within Home Assistant."
|
||||
date: 2015-07-11 0:36
|
||||
@ -8,20 +8,16 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Camera
|
||||
logo: camcorder.png
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
This component allows you to integrate any IP camera into Home Assistant. It supports fetching images from a url with optional HTTP authentication.
|
||||
The `generic` camera platform allows you to integrate any IP camera into Home Assistant. It supports fetching images from a url with optional HTTP authentication.
|
||||
|
||||
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network.
|
||||
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]?time=[timestamp]`.
|
||||
|
||||
As part of the basic support the following features will be provided:
|
||||
|
||||
- MJPEG video streaming
|
||||
- Saving a snapshot
|
||||
- Recording(JPEG frame capture)
|
||||
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
To enable this camery in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Camera"
|
||||
description: "Instructions how to integrate cameras within Home Assistant."
|
||||
date: 2015-11-09 08:36
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Generic MJPEG IP Camera"
|
||||
description: "Instructions how to integrate IP cameras within Home Assistant."
|
||||
date: 2015-11-09 08:36
|
||||
@ -7,13 +7,17 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: camcorder.png
|
||||
ha_category: Camera
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
The mjpeg component allows you to integrate IP cameras which are capable to stream their video with MJPEG into Home Assistant.
|
||||
The `mjpeg` camera platform allows you to integrate IP cameras which are capable to stream their video with MJPEG into Home Assistant.
|
||||
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]?time=[timestamp]`.
|
||||
|
||||
To enable this camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -31,3 +35,7 @@ Configuration variables:
|
||||
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
||||
- **username** *Optional*: The username for accessing your camera.
|
||||
- **password** *Optional*: The password for accessing your camera.
|
||||
|
||||
<p class='note'>
|
||||
There is a <a href="https://github.com/shazow/urllib3/issues/800" target="_blank">known issue in urllib3</a> that you will get error messages in your logs like <code>[StartBoundaryNotFoundDefect(), MultipartInvariantViolationDefect()], unparsed data: ''</code> but the component still works fine. You can ignore the messages.
|
||||
</p>
|
||||
|
46
source/_components/camera.rpi_camera.markdown
Normal file
46
source/_components/camera.rpi_camera.markdown
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Raspberry Pi Camera"
|
||||
description: "Instructions how to integrate Raspberry Pi within Home Assistant."
|
||||
date: 2016-04-08 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: Camera
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.17
|
||||
---
|
||||
|
||||
|
||||
The `rpi` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application "raspistill" to store the image from camera.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: rpi_camera
|
||||
name: Raspberry Pi Camera
|
||||
image_width: 640
|
||||
image_height: 480
|
||||
image_quality: 7
|
||||
image_rotation: 0
|
||||
timelapse: 1000
|
||||
horizontal_flip: 0
|
||||
vertical_flip: 0
|
||||
file_path: /tmp/image.jpg
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (optional): name of the camera
|
||||
- **image_width** (optional): set the image width (default: 640)
|
||||
- **image_height** (optional): set the image height (default: 480)
|
||||
- **image_quality** (optional): set the image quality (from 0 to 100, default: 7)
|
||||
- **image_rotation** (optional): Set image rotation (0-359, default: 0)
|
||||
- **horizontal_flip** (optional): Set horizontal flip (0 to disable, 1 to enable, default: 0)
|
||||
- **vertical_flip** (optional): Set vertical flip (0 to disable, 1 to enable, default: 0)
|
||||
- **timelapse** (optional): Takes a picture every <t>ms (default: 1000)
|
||||
- **file_path** (optional): Save the picture in a custom file path (default: camera components folder)
|
||||
|
||||
The given **file_path** must be an existing file because the camera platform setup make a writeable check on it.
|
34
source/_components/camera.uvc.markdown
Normal file
34
source/_components/camera.uvc.markdown
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: "UniFi Video Camera"
|
||||
description: "Instructions how to integrate UVC cameras within Home Assistant."
|
||||
date: 2016-02-07 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ubiquiti.png
|
||||
ha_category: Camera
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
|
||||
The `uvc` component allows you to integrate [UniFi Video Camera (UVC)](https://www.ubnt.com/unifi-video/unifi-video-camera/) into Home Assistant.
|
||||
|
||||
To enable a UVC camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: uvc
|
||||
nvr: IP_ADDRESS
|
||||
port: PORT
|
||||
key: APIKEY
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **nvr** *Required**: The IP or hostname of the NVR (Network Video Recorder) server.
|
||||
- **port** *Optional*: The port number to use for accessing the NVR.
|
||||
- **key** *Required*: The API key available from the NVR web interface.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Configurator"
|
||||
description: "Instructions how to integrate the configurator in your components."
|
||||
date: 2015-03-15 00:51
|
||||
@ -21,6 +21,6 @@ The configurator component allows components to request information from the use
|
||||
- Input fields can be defined with a description, and optional type
|
||||
- It will trigger a callback when the button is pressed
|
||||
|
||||
The Hue component in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo component](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/demo.py#L132) for a simple example.
|
||||
The Hue component in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo component](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/demo.py#L132) for a simple example.
|
||||
|
||||
See [the source](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/configurator.py#L39) for more details on how to use the configurator component.
|
||||
See [the source](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/configurator.py#L39) for more details on how to use the configurator component.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Conversation"
|
||||
description: "Instructions how to have conversations with your Home Assistant."
|
||||
date: 2015-03-15 00:39
|
||||
@ -7,12 +7,13 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: conversation.png
|
||||
ha_category: "Other"
|
||||
logo: home-assistant.png
|
||||
ha_category: "Voice"
|
||||
---
|
||||
|
||||
|
||||
The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn <Friendly Name> <on/off>`.
|
||||
The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn <Friendly Name> <on/off>`.
|
||||
|
||||
|
||||
To enable the conversion option in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -21,8 +22,12 @@ To enable the conversion option in your installation, add the following to your
|
||||
conversation:
|
||||
```
|
||||
|
||||
When this component is active and you are using a supported browser voice commands will be activated in the frontend. Browse to [the demo](/demo/) in Chrome to see it in action.
|
||||
When this component is active and you are using a supported browser voice commands will be activated in the frontend. Browse to [the demo](/demo/) using Chrome to see it in action.
|
||||
|
||||
<p class='img'>
|
||||
<img src="/images/screenshots/voice-commands.png" />
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
Apple iPhones do not support this feature in any browser.
|
||||
</p>
|
||||
|
41
source/_components/demo.markdown
Normal file
41
source/_components/demo.markdown
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Demo platforms"
|
||||
description: "Instructions how to use the Platform demos with Home Assistant."
|
||||
date: 2016-02-24 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
---
|
||||
|
||||
|
||||
The `demo` platform allows you to use components which are providing a demo of their implementation. The demo entities are dummies but show you how the acutal platform looks like. This way you can run own demonstration instance like the online [Home Assistant demo](https://home-assistant.io/demo/) or `hass --demo-mode` but combined with your own real/functional platforms.
|
||||
|
||||
Available demo platforms:
|
||||
|
||||
- [Alarm control panel](/components/alarm_control_panel/) (`alarm_control_panel`)
|
||||
- [Binary sensor](/components/binary_sensor/) (`binary_sensor`)
|
||||
- [Camera](/components/camera/) (`camera`)
|
||||
- [Garage door](/components/garage_door/) (`garage_door`)
|
||||
- [Light](/components/light/) (`light`)
|
||||
- [Lock](/components/lock/) (`lock`)
|
||||
- [Notification](/components/notify/) (`notify`)
|
||||
- [Roller shutter](/components/rollershutter/) (`rollershutter`)
|
||||
- [Sensor](/components/sensor/) (`sensor`)
|
||||
- [Switch](/components/switch/) (`switch`)
|
||||
- [Thermostat](/components/thermostat/) (`thermostat`)
|
||||
|
||||
To integrate a demo platform in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
[component]:
|
||||
- platform: demo
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **[component]** (*Required*): The name of the component as stated in the listing above the configuration example.
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Presence based lights"
|
||||
description: "Instructions how to automate your lights with Home Assistant."
|
||||
date: 2015-01-20 22:36
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Actiontec"
|
||||
description: "Instructions how to integrate Actiontec routers into Home Assistant."
|
||||
date: 2015-08-30 19:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Aruba"
|
||||
description: "Instructions how to integrate Aruba routers into Home Assistant."
|
||||
date: 2015-08-31 08:45
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: aruba.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.7
|
||||
---
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "ASUSWRT"
|
||||
description: "Instructions how to integrate ASUSWRT based routers into Home Assistant."
|
||||
date: 2015-08-06 19:00
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: asus.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
|
29
source/_components/device_tracker.bluetooth_tracker.markdown
Normal file
29
source/_components/device_tracker.bluetooth_tracker.markdown
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Bluetooth Tracker"
|
||||
description: "Instructions how to integrate bluetooth tracking within Home Assistant."
|
||||
date: 2016-04-10 17:24
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bluetooth.png
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Local Poll"
|
||||
ha_release: 0.18
|
||||
---
|
||||
|
||||
This tracker discovers new devices on boot and tracks bluetooth devices periodically based on interval_seconds value. Devices discovered are stored with 'bt_' as the prefix for device mac in `known_devices.yaml`.
|
||||
|
||||
<p class='note'>
|
||||
Requires PyBluez. If you are on raspbian, make sure you first install `bluetooth` and `libbluetooth-dev` by running `sudo apt install bluetooth libbluetooth-dev`
|
||||
</p>
|
||||
|
||||
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
device_tracker:
|
||||
platform: bluetooth_tracker
|
||||
```
|
||||
|
||||
For additional configuration variables check the [Device tracker page](/components/device_tracker/).
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "DD-WRT"
|
||||
description: "Instructions how to integrate DD-WRT based routers into Home Assistant."
|
||||
date: 2015-05-11 09:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "FRITZ!Box"
|
||||
description: "Instructions how to integrate AVM FRITZ!Box based routers into Home Assistant."
|
||||
date: 2015-12-13 19:00
|
||||
@ -9,13 +9,14 @@ sharing: true
|
||||
footer: true
|
||||
logo: avm.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.10
|
||||
---
|
||||
|
||||
|
||||
The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router.
|
||||
|
||||
<p class='note warning'>
|
||||
It might be necessary to install additional packages: <code>$ sudo apt-get install libxslt-dev libxml2-dev</code>
|
||||
It might be necessary to install additional packages: <code>$ sudo apt-get install libxslt-dev libxml2-dev python3-lxml</code>
|
||||
</p>
|
||||
|
||||
To use an Fritz!Box router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "iCloud"
|
||||
description: "Instructions how to use iCloud to track devices in Home Assistant."
|
||||
date: 2015-12-15 1000
|
||||
@ -9,12 +9,13 @@ sharing: true
|
||||
footer: true
|
||||
logo: icloud.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.10
|
||||
---
|
||||
|
||||
|
||||
The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices.
|
||||
|
||||
It does require that your device has beend registered with "Find My iPhone".
|
||||
It does require that your device is registered with "Find My iPhone".
|
||||
|
||||
To integrate iCloud in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
@ -39,3 +40,7 @@ This may cause battery drainage as it wakes up your device to get the current lo
|
||||
You may receive an email from Apple stating that someone has logged into your account.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
If you have two-factor authentication enabled on your iCloud account you will not be able to use this presence detection in HA, even with an app-specific password.
|
||||
</p>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Locative"
|
||||
description: "Instructions how to use Locative to track devices in Home Assistant."
|
||||
date: 2015-10-13 19:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "OpenWRT (luci)"
|
||||
description: "Instructions how to integrate OpenWRT routers into Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Device Tracker"
|
||||
description: "Instructions how to setup device tracking within Home Assistant."
|
||||
date: 2015-01-20 22:36
|
||||
@ -36,4 +36,15 @@ device_tracker:
|
||||
|
||||
Once tracked, a file will be created in your config dir called `known_devices.yaml`. Edit this file to adjust which devices to be tracked. Here you can also setup a URL for each device to be used as the entity picture and set whether the device will be show in the UI when in the away state.
|
||||
|
||||
Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last. Device tracker will look for global settings (track_new_devices, consider_home and home_interval) under the configuration of the first platform.
|
||||
Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last. Device tracker will look for global settings (track_new_devices, consider_home and home_interval) under the configuration of the first platform.
|
||||
|
||||
To add Nmap tracking just add the mac address to the OwnTracks or iCloud device `mac:` configuration. To use both OwnTracks and Nmap you could use the following example:
|
||||
|
||||
```
|
||||
owntracksdevicename:
|
||||
name: Friendly Name!
|
||||
mac: EA:AA:55:E7:C6:94
|
||||
picture:
|
||||
track: yes
|
||||
hide_if_away: no
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: component
|
||||
title: "MQTT device tracker"
|
||||
layout: page
|
||||
title: "MQTT Device Tracker"
|
||||
description: "Instructions how to use MQTT to track devices in Home Assistant."
|
||||
date: 2015-09-19 20:41
|
||||
sidebar: true
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Netgear"
|
||||
description: "Instructions how to integrate Netgear routers into Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: netgear.png
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
@ -23,6 +24,7 @@ device_tracker:
|
||||
host: YOUR_ROUTER_IP
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
port: YOUR_ROUTER_PORT
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -30,5 +32,6 @@ Configuration variables:
|
||||
- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1.
|
||||
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
|
||||
- **password** (*Required*): The password for your given admin account.
|
||||
- **port** (*Optional*): The port your router communicates with (defaults to 5000, but 80 is also known to be used on some models)
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Nmap"
|
||||
description: "Instructions how to integrate Nmap into Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -27,6 +27,9 @@ device_tracker:
|
||||
home_interval: 10
|
||||
```
|
||||
|
||||
`home_interval` is an optional value set in minutes. This will be the number of minutes nmap will not scan this device, assuming it is home, in order to preserve the device battery.
|
||||
Configuration variables:
|
||||
|
||||
- **hosts** (*Required*): Thenetwork range to scan in CIDR notation, eg. 192.168.1.1/24
|
||||
- **home_interval** (*Optional*): The number of minutes nmap will not scan this device, assuming it is home, in order to preserve the device battery.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Owntracks"
|
||||
description: "Instructions how to use Owntracks to track devices in Home Assistant."
|
||||
date: 2015-09-22 07:00
|
||||
@ -10,6 +10,7 @@ footer: true
|
||||
logo: owntracks.png
|
||||
ha_category: Presence Detection
|
||||
featured: true
|
||||
ha_release: 0.7.4
|
||||
---
|
||||
|
||||
|
||||
@ -23,9 +24,12 @@ To integrate Owntracks in Home Assistant, add the following section to your `con
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: owntracks
|
||||
max_gps_accuracy: 200
|
||||
```
|
||||
|
||||
There is no further configuration needed for tracking Owntracks devices.
|
||||
Configuration variables:
|
||||
|
||||
- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
|
||||
|
||||
### {% linkable_title Using Owntracks with other device trackers %}
|
||||
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "SNMP"
|
||||
description: "Instructions how to integrate SNMP into Home Assistant."
|
||||
date: 2015-10-08 12:00
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: network-snmp.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.7.5
|
||||
---
|
||||
|
||||
|
||||
@ -19,9 +20,12 @@ This device tracker needs SNMP to be enabled on the router.
|
||||
</p>
|
||||
|
||||
OID examples:
|
||||
- Microtik: 1.3.6.1.4.1.14988.1.1.1.2.1.1 (confirmed)
|
||||
- Mikrotik: 1.3.6.1.4.1.14988.1.1.1.2.1.1 (confirmed, unknown RouterOS version/model)
|
||||
- Mikrotik: 1.3.6.1.2.1.4.22.1.2 (confirmed, RouterOS 6.x on RB2011)
|
||||
- Aruba: 1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2 (untested)
|
||||
- BiPAC 7800DXL: 1.3.6.1.2.1.17.7.1.2.2.1.1 (confirmed on firmware 2.32e)
|
||||
- OpenWrt: 1.3.6.1.2.1.4.22.1.2 (tested on Chaos Calmer 15.05 firmware, need to install snmpd package)
|
||||
- pfSense: 1.3.6.1.2.1.4.22.1.2 (tested on 2.2.4-RELEASE, need to enable SNMP service)
|
||||
|
||||
To use the snmp platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Thomson"
|
||||
description: "Instructions how to integrate Thomson routers into Home Assistant."
|
||||
date: 2015-08-30 19:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Tomato"
|
||||
description: "Instructions how to integrate Tomato routers into Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -33,3 +33,6 @@ Configuration variables:
|
||||
- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
||||
A description of the API s available in this [Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) blog post.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "TP-Link"
|
||||
description: "Instructions how to integrate TP-Link routers into Home Assistant."
|
||||
date: 2015-06-22 10:30
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: tp-link.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "OpenWRT (ubus)"
|
||||
description: "Instructions how to integrate OpenWRT routers into Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: openwrt.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.7.6
|
||||
---
|
||||
|
||||
_This is one of the two ways we support OpenWRT. If you encounter problems, try [luci](/components/device_tracker.luci/)._
|
||||
|
37
source/_components/device_tracker.unifi.markdown
Normal file
37
source/_components/device_tracker.unifi.markdown
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ubiquiti Unifi WAP"
|
||||
description: "Instructions how to use a Unifi WAP controller as a device tracker module."
|
||||
date: 2016-02-19 20:59
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ubiquiti.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.14
|
||||
---
|
||||
|
||||
|
||||
This platform allows you to detect presence by looking at connected devices to a [Ubiquiti](http://ubnt.com/) [Unifi](https://www.ubnt.com/enterprise/#unifi) controller.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: unifi
|
||||
host: CONTROLLER
|
||||
port: PORT
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): The hostname or IP address of your controller. Defaults to localhost.
|
||||
- **port** (*Optional*): The port of your controller's web interface. Defaults to 8443.
|
||||
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
|
||||
- **password** (*Required*): The password for your given admin account.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
35
source/_components/discoverable.markdown
Normal file
35
source/_components/discoverable.markdown
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Discoverable"
|
||||
description: "Instructions how to setup the discoverable component with Home Assistant."
|
||||
date: 2016-03-01 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
The Home Assistant discovery protocol is a lightweight feature that introduces support for Home Assistant servers to be discoverable. This will allow [Home Assistant instances](https://github.com/balloob/micropython-home-assistant) running with [MicroPython](https://micropython.org/) to get started without any required configuration (Example from the [MicroPython Home Assistant](https://github.com/balloob/micropython-home-assistant) documentation):
|
||||
|
||||
```python
|
||||
from homeassistant.discovery import get_instance()
|
||||
|
||||
hass = get_instance()
|
||||
|
||||
for state in hass.states():
|
||||
print(state)
|
||||
```
|
||||
|
||||
To enable `discovery` in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
discoverable:
|
||||
expose_password: yes
|
||||
```
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **expose_password** (*Optional*): It is up to the user to expose the password in the discovery response (Default: off). If password not exposed, uHA instances will have to provide it (`get_instance('my password')`).
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Discovery"
|
||||
description: "Instructions how to setup Home Assistant to discover new devices."
|
||||
date: 2015-01-24 14:39
|
||||
@ -37,5 +37,13 @@ If running home-assistant in a docker container use switch `--net=host` to put i
|
||||
If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform/#discovery).
|
||||
|
||||
<p class='note warning'>
|
||||
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this playform on a 64-bit version of Python.
|
||||
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this platform on a 64-bit version of Python and Windows.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you are on Windows and you're using Python 3.5, download the Netifaces dependency <a href='http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces'>here</a>.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of home-assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
</p>
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Downloader"
|
||||
description: "Instructions how to setup the downloader component with Home Assistant."
|
||||
date: 2015-01-24 14:39
|
||||
@ -7,8 +7,9 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: downloader.png
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
The `downloader` component provides a service to download files. It will raise an error and not continue to set itself up when the download directory does not exist.
|
||||
|
44
source/_components/dweet.markdown
Normal file
44
source/_components/dweet.markdown
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Dweet.io"
|
||||
description: "Record events in InfluxDB."
|
||||
date: 2016-05-07 07:08
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: dweet.png
|
||||
ha_category: "History"
|
||||
featured: true
|
||||
ha_release: 0.19
|
||||
---
|
||||
|
||||
The `dweet` component makes it possible to transfer details collected with Home Assistant to [Dweet.io](http://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/dweet-freeboard.png' />
|
||||
</p>
|
||||
|
||||
|
||||
<p class='note warning'>
|
||||
The publishing interval is limited to 1 second. This means that it's possible to missing fast changes.
|
||||
</p>
|
||||
|
||||
To use the `deweet` component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
dweet:
|
||||
name: HAExport
|
||||
whitelist:
|
||||
- input_slider.brightness
|
||||
- input_boolean.notify_home
|
||||
- sensor.weather_temperature
|
||||
- sensor.cpu
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Required*): Choose must choose an unique name.
|
||||
- **whitelist** (*Required*): List of entity IDs you want to publish.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Ecobee"
|
||||
description: "Instructions for how to integrate Ecobee thermostats and sensors within Home Assistant."
|
||||
date: 2015-11-30 17:54
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: ecobee.png
|
||||
ha_category: Hub
|
||||
featured: true
|
||||
---
|
||||
|
||||
|
||||
|
51
source/_components/feedreader.markdown
Normal file
51
source/_components/feedreader.markdown
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
layout: page
|
||||
title: Feedreader
|
||||
description: "Instructions how to integrate RSS feeds into Home Assistant."
|
||||
date: 2016-04-18 22:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: rss.gif
|
||||
ha_category: Other
|
||||
ha_release: 0.18
|
||||
---
|
||||
|
||||
Add an RSS/Atom feed reader that polls feeds every hour and sends new entries into the event bus.
|
||||
|
||||
To use RSS feeds in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
feedreader:
|
||||
urls:
|
||||
- https://home-assistant.io/atom.xml
|
||||
- https://github.com/blog.atom
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **urls** (*Required*): List of URLS for your feeds.
|
||||
|
||||
Feedreader events can be used out of the box to trigger automation actions, e.g.:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Trigger action when new element(s) in RSS feed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: feedreader
|
||||
action:
|
||||
service: script.turn_on
|
||||
entity_id: script.my_action
|
||||
```
|
||||
|
||||
For more advanced use cases, a custom component registering to the `feedreader` event type could be used instead:
|
||||
|
||||
```python
|
||||
EVENT_FEEDREADER = "feedreader"
|
||||
hass.bus.listen(EVENT_FEEDREADER, event_listener)
|
||||
```
|
||||
|
||||
To get started developing custom components, please refer to the [developers](/developers) documentation
|
12
source/_components/garage_door.markdown
Normal file
12
source/_components/garage_door.markdown
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Garage door"
|
||||
description: "Instructions how to integrate Garage doors into Home Assistant."
|
||||
date: 2016-02-12 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Home Assistant can give you an interface to control any garage door.
|
61
source/_components/garage_door.mqtt.markdown
Normal file
61
source/_components/garage_door.mqtt.markdown
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT Garage door"
|
||||
description: "Instructions how to setup the MQTT controllable garage doors within Home Assistant."
|
||||
date: 2016-04-10 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Garage Door
|
||||
ha_release: 0.18
|
||||
---
|
||||
|
||||
|
||||
The `mqtt` garage door platform let you control your MQTT enabled garage door.
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with RETAIN flag, the MQTT switch will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/off.
|
||||
|
||||
When a state topic is not available, the switch will work in optimistic mode. In this mode, the switch will immediately change state after every command. Otherwise, the switch will wait for state confirmation from device (message from `state_topic`).
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect switch operation.
|
||||
|
||||
To use your MQTT binary sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
garage_door:
|
||||
platform: mqtt
|
||||
state_topic: "home-assistant/garage-door"
|
||||
command_topic: "home-assistant/garage-door/set"
|
||||
name: "MQTT Sensor"
|
||||
optimistic: false
|
||||
qos: 0
|
||||
retain: true
|
||||
state_open: "STATE_OPEN"
|
||||
state_closed: "STATE_CLOSED"
|
||||
service_open: "SERVICE_OPEN"
|
||||
service_close: "SERVICE_CLOSE"
|
||||
value_template: '{% raw %}{{ value.x }}{% endraw %}'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values.
|
||||
- **name** (*Optional*): The name of the sensor. Default is 'MQTT Sensor'.
|
||||
- **state_open** (*Optional*): The payload that represents open state. Default is"STATE_OPEN"
|
||||
- **state_closed** (*Optional*): The payload that represents closed state. Default is "STATE_CLOSED"
|
||||
- **service_open** (*Optional*): The payload that represents open state in service mode. Default is"SERVICE_OPEN"
|
||||
- **service_close** (*Optional*): The payload that represents closed state in service mode. Default is "SERVICE_CLOSE"
|
||||
- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false.
|
||||
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
|
||||
- **retain** (*Optional*): If the published message should have the retain flag on or not.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
|
||||
|
||||
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of your sensor manually:
|
||||
|
||||
```bash
|
||||
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/garage-door/set -m "OFF"
|
||||
```
|
||||
|
26
source/_components/garage_door.wink.markdown
Normal file
26
source/_components/garage_door.wink.markdown
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Wink Garage door"
|
||||
description: "Instructions how to setup the Wink garage doors within Home Assistant."
|
||||
date: 2016-02-12 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: wink.png
|
||||
ha_category: Garage Door
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
Wink garage door functionality is currently limited to view only. Wink garage doors will still show the current state of the door, but control has been disabled for third parties. If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control.
|
||||
|
||||
The following quote is from Wink.
|
||||
|
||||
<blockquote>
|
||||
As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions.
|
||||
</blockquote>
|
||||
|
||||
~~The Wink garage door platform allows you to control your [Wink](http://www.wink.com/) enabled garage door.~~
|
||||
|
||||
The requirement is that you have setup your [Wink hub](/components/wink/).
|
||||
|
32
source/_components/graphite.markdown
Normal file
32
source/_components/graphite.markdown
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Graphite"
|
||||
description: "Instructions on how to record Home Assistant history in Graphite."
|
||||
date: 2016-02-10 17:11
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo:
|
||||
ha_category: History
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
The `graphite` component records all events and state changes and feeds the data to a [graphite](http://graphite.wikidot.com/) instance.
|
||||
|
||||
To enable this component, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
graphite:
|
||||
host: IP_ADDRESS
|
||||
port: 2003
|
||||
prefix: ha
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Option*): IP address of your graphite host, eg. http://192.168.1.10. Defaults to `localhost`
|
||||
- **port** (*Optional*): Port to use. Defaults to 2003.
|
||||
- **prefix** (*Optional*): Prefix is the metric prefix in graphite. Defaults to `ha`.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Group"
|
||||
description: "Instructions how to setup groups within Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -15,9 +15,17 @@ Groups allow the user to combine multiple entities into one. A group can be prom
|
||||
|
||||
Check the **Set State** page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
|
||||
|
||||
By default, every group appears in the HOME tab. If you name a group `default_view` it will REPLACE the contents of the HOME tab so you can customize it as you wish.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
group:
|
||||
default_view:
|
||||
view: yes
|
||||
entities:
|
||||
- group.awesome_people
|
||||
- group.climate
|
||||
|
||||
kitchen:
|
||||
name: Kitchen
|
||||
entities:
|
||||
@ -35,24 +43,32 @@ group:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **view** (*Optional*): If yes then the entry will be shown as a view (tab).
|
||||
- **name** (*Optional*): Name of the group.
|
||||
- **icon** (*Optional*): An optional icon to show in the Frontend.
|
||||
- **view** (*Optional*): If yes then the entry will be shown as a view.
|
||||
- **entities** array or comma delimited string (*Required*): List of entites to group.
|
||||
- **icon** (*Optional*): If the group is a view, this icon will show at the top in the frontend instead of the name. If it's not a view, then the icon shows when this group is used in another group.
|
||||
- **entities** (*Required*): array or comma delimited string, list of entities to group.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-01-release-12/views.png'>
|
||||
Example of groups shown as views in the frontend.
|
||||
</p>
|
||||
|
||||
If all entities are switches or lights they can be controlled as one with a switch at the top of the card. Grouped states should share the same type of states (ON/OFF or HOME/NOT_HOME).
|
||||
If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once.
|
||||
|
||||
You can create views (tabs) that contain other groups.
|
||||
Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
group:
|
||||
living_room:
|
||||
- light.bowl
|
||||
- light.ceiling
|
||||
- light.tv_back_light
|
||||
children: device_tracker.child_1, device_tracker.child_2
|
||||
```
|
||||
# Example configuration.yaml entry that shows two groups, referred to in a view group (tab)
|
||||
Living Room:
|
||||
entities:
|
||||
- light.light_family_1
|
||||
- binary_sensor.motion_living
|
||||
Bedroom: light.light_bedroom, switch.sleeping
|
||||
Rooms:
|
||||
view: yes
|
||||
name: Rooms
|
||||
entities:
|
||||
- group.living_room
|
||||
- group.bedroom
|
||||
```
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "History"
|
||||
description: "Instructions how to enable history support for Home Assistant."
|
||||
date: 2015-03-23 19:59
|
||||
@ -28,22 +28,22 @@ history:
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser - no data is transferred to anyone at any time.
|
||||
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser. No data is transferred to anyone at any time.
|
||||
</p>
|
||||
|
||||
#### {% linkable_title Implementation details %}
|
||||
|
||||
The history is stored in a SQLite databse `home-assistant.db` within your config directory.
|
||||
The history is stored in a SQLite database `home-assistant.db` within your config directory.
|
||||
|
||||
- events table is all events except time_changed that happened while recorder component was running.
|
||||
- states table contains all the new_state values of state_changed events.
|
||||
- events table is all events except `time_changed` that happened while recorder component was running.
|
||||
- states table contains all the `new_state` values of `state_changed` events.
|
||||
- Inside the states table you have:
|
||||
- entity_id: the entity_id of the entity
|
||||
- state: the state of the entity
|
||||
- attributes: JSON of the state attributes
|
||||
- last_changed: timestamp last time the state has changed. A state_changed event can happen when just attributes change.
|
||||
- last_updated: timestamp anything has changed (state, attributes)
|
||||
- created: timestamp this entry was inserted into the database
|
||||
- `entity_id`: the entity_id of the entity
|
||||
- `state`: the state of the entity
|
||||
- `attributes`: JSON of the state attributes
|
||||
- `last_changed`: timestamp last time the state has changed. A state_changed event can happen when just attributes change.
|
||||
- `last_updated`: timestamp anything has changed (state, attributes)
|
||||
- `created`: timestamp this entry was inserted into the database
|
||||
|
||||
When the history component queries the states table it only selects states where the state has changed: `WHERE last_changed=last_updated`
|
||||
|
||||
@ -55,3 +55,7 @@ SQLite databases do not support native dates. That's why all the dates are saved
|
||||
from datetime import datetime
|
||||
datetime.fromtimestamp(1422830502)
|
||||
```
|
||||
|
||||
#### {% linkable_title API %}
|
||||
|
||||
The history information are also available through the [RESTful API](/developers/rest_api/#get-apihistory).
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "HTTP"
|
||||
description: "Offers a web framework to serve files."
|
||||
date: 2015-12-06 21:35
|
||||
@ -21,13 +21,27 @@ http:
|
||||
development: 1
|
||||
ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem
|
||||
ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
|
||||
cors_allowed_origins:
|
||||
- google.com
|
||||
- home-assistant.io
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **api_password** (*Optional*): Protect Home Assistant with a password
|
||||
- **api_password** (*Optional*): Protect Home Assistant with a password.
|
||||
- **server_port** (*Optional*): Let you set a port to use. Defaults to 8123.
|
||||
- **development** (*Optional*): Disable caching and load unvulcanized assets. Useful for Frontend development.
|
||||
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
|
||||
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
|
||||
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`.
|
||||
|
||||
|
||||
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
|
||||
|
||||
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/) available.
|
||||
|
||||
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
|
||||
|
||||
To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
|
||||
|
||||
All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**.
|
||||
|
22
source/_components/hvac.markdown
Normal file
22
source/_components/hvac.markdown
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HVAC"
|
||||
description: "Instructions on how to integrate HVAC devices status with Home Assistant."
|
||||
date: 2016-05-07 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_release: 0.19
|
||||
---
|
||||
|
||||
The `hvac` component is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) devices.
|
||||
|
||||
To enable this component, pick one of the platforms and add it to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
hvac:
|
||||
platform: demo
|
||||
```
|
||||
|
15
source/_components/hvac.zwave.markdown
Normal file
15
source/_components/hvac.zwave.markdown
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Z-Wave HVAC"
|
||||
description: "Instructions on how to integrate HVAC Z-Wave devices status with Home Assistant."
|
||||
date: 2016-05-07 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: z-wave.png
|
||||
ha_category: HVAC
|
||||
ha_release: 0.19
|
||||
---
|
||||
|
||||
To get your Z-Wave `hvac` devices working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/) and the [HVAC component](/components/hvac/).
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "ManyThing"
|
||||
description: "Instructions how to setup ManyThing support with IFTTT."
|
||||
date: 2015-09-07 18:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "IFTTT"
|
||||
description: "Instructions how to setup IFTTT within Home Assistant."
|
||||
date: 2015-09-07 18:00
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "InfluxDB"
|
||||
description: "Record events in InfluxDB."
|
||||
date: 2015-12-06 13:08
|
||||
@ -9,6 +9,8 @@ sharing: true
|
||||
footer: true
|
||||
logo: influxdb.png
|
||||
ha_category: "History"
|
||||
featured: true
|
||||
ha_release: 0.9
|
||||
---
|
||||
|
||||
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. For more details, [see the blog post on InfluxDB](/blog/2015/12/07/influxdb-and-grafana/).
|
||||
@ -23,6 +25,11 @@ influxdb:
|
||||
database: DB_TO_STORE_EVENTS
|
||||
username: MY_USERNAME
|
||||
password: MY_PASSWORD
|
||||
ssl: true
|
||||
verify_ssl: true
|
||||
blacklist:
|
||||
- entity.id1
|
||||
- entity.id2
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -32,4 +39,6 @@ Configuration variables:
|
||||
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
|
||||
- **username** (*Optional*): The username of the database user.
|
||||
- **password** (*Optional*): The password for the database user account.
|
||||
|
||||
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
|
||||
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
|
||||
- **blacklist** (*Optional*): List of entities not logged to influxdb.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Input Boolean"
|
||||
description: "Instructions how to integrate the Input Boolean component into Home Assistant."
|
||||
date: 2016-01-17 16:58
|
||||
@ -17,7 +17,7 @@ The `input_boolean` component allows the user to define boolean values that can
|
||||
# Example configuration.yaml entry
|
||||
input_boolean:
|
||||
notify_home:
|
||||
name: Notify when someome arrives home
|
||||
name: Notify when someone arrives home
|
||||
initial: off
|
||||
icon: mdi:car
|
||||
```
|
||||
@ -31,3 +31,22 @@ Configuration variables:
|
||||
|
||||
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
|
||||
|
||||
Here's an example of an automation using the above input_boolean. This action will only occur if the switch is on.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
alias: Arriving home
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: binary_sensor.motion_garage
|
||||
to: 'on'
|
||||
condition:
|
||||
platform: state
|
||||
entity_id: input_boolean.notify_home
|
||||
state: 'on'
|
||||
action:
|
||||
service: notify.pushbullet
|
||||
data:
|
||||
title: ""
|
||||
message: "Honey, I'm home!"
|
||||
```
|
||||
|
45
source/_components/input_select.markdown
Normal file
45
source/_components/input_select.markdown
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Input Select"
|
||||
description: "Instructions how to integrate the Input Select component into Home Assistant."
|
||||
date: 2016-02-02 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Automation
|
||||
ha_release: 0.13
|
||||
---
|
||||
|
||||
The `input_select` component allows the user to define a list of values that can be selected via the frontend and can be used within conditions of automation. When a user selectes a new item, a state transition event is generated. This state event can be used in an `automation` trigger.
|
||||
|
||||
To enable this platform, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
input_select:
|
||||
who_cooks:
|
||||
name: Who cooks today
|
||||
options:
|
||||
- Paulus
|
||||
- Anne Therese
|
||||
initial: Anne Therese
|
||||
icon: mdi:panda
|
||||
living_room_preset:
|
||||
options:
|
||||
- Visitors
|
||||
- Visitors with kids
|
||||
- Home Alone
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **[alias]** (*Required*): Alias for the input.
|
||||
- **name** (*Optional*): Friendly name of the input.
|
||||
- **options** array (*Optional*): List of options to choose from
|
||||
- **initial** (*Optional*): Initial value when Home Assistant starts.
|
||||
- **icon** (*Optional*): Icon for entry.
|
||||
|
||||
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
|
||||
|
36
source/_components/input_slider.markdown
Normal file
36
source/_components/input_slider.markdown
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Input Slider"
|
||||
description: "Instructions how to integrate the Input Slider component into Home Assistant."
|
||||
date: 2016-03-15 06:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Automation
|
||||
ha_release: 0.16
|
||||
---
|
||||
|
||||
The `input_slider` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the slider generate state events. These state events can be utilized as `automation` triggers as well.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
input_slider:
|
||||
slider1:
|
||||
name: Slider 1
|
||||
initial: 30
|
||||
min: -20
|
||||
max: 35
|
||||
step: 1
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **[alias]** (*Required*): Alias for the slider input.
|
||||
- **name** (*Optional*): Friendly name of the slider input.
|
||||
- **initial** (*Optional*): Initial value when Home Assistant starts.
|
||||
- **min** (*Optional*): Minimum value for the slider.
|
||||
- **max** (*Optional*): Maximum value for the slider.
|
||||
- **step** (*Optional*): Step value for the slider.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Insteon Hub"
|
||||
description: "Instructions how to setup the Insteon Hub within Home Assistant."
|
||||
date: 2016-01-27 08:00
|
||||
@ -19,7 +19,7 @@ To integrate your Insteon Hub with Home Assistant, add the following section to
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
insteon:
|
||||
insteon_hub:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
api_key: YOUR_API_KEY
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Introduction"
|
||||
description: "Details about the introduction within Home Assistant."
|
||||
date: 2015-10-25 15:15
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "ISY994 Controller"
|
||||
description: "Instructions how to setup the ISY994 controller within Home Assistant."
|
||||
date: 2015-01-20 22:36
|
||||
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: universal_devices.png
|
||||
ha_category: Hub
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. The controller is also capable of controlling Z-Wave devices but that functionality has not yet been confirmed with Home Assistant.
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Keyboard"
|
||||
description: "Instructions how to simulate key presses with Home Assistant."
|
||||
date: 2015-01-24 14:39
|
||||
@ -7,7 +7,9 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: keyboard.png
|
||||
ha_category: Automation
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
@ -28,7 +30,7 @@ keyboard:
|
||||
|
||||
## {% linkable_title Dependencies %}
|
||||
|
||||
You may need to install platform-specific [dependencies for PyUserInput](https://github.com/SavinaRoja/PyUserInput#dependencies) in order to use the keyboard component. In most cases this can be done by running:
|
||||
You may need to install platform-specific [dependencies for PyUserInput](https://github.com/PyUserInput/PyUserInput#dependencies) in order to use the keyboard component. In most cases this can be done by running:
|
||||
|
||||
```bash
|
||||
$ pip3 install [package name]
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Blinkstick"
|
||||
description: "Instructions how to setup Blinkstick lights within Home Assistant."
|
||||
date: 2015-10-08 10:00
|
||||
@ -9,10 +9,11 @@ sharing: true
|
||||
footer: true
|
||||
logo: blinkstick.png
|
||||
ha_category: Light
|
||||
ha_release: 0.7.5
|
||||
---
|
||||
|
||||
|
||||
The blinkstick platform let you can control your [Blinkstick](https://www.blinkstick.com/) lights from within Home Assistant.
|
||||
The `blinkstick` platform let you can control your [Blinkstick](https://www.blinkstick.com/) lights from within Home Assistant.
|
||||
|
||||
To add blinkstick to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: component
|
||||
layout: page
|
||||
title: "Philips Hue"
|
||||
description: "Instructions how to setup Philips Hue within Home Assistant."
|
||||
date: 2015-03-23 20:09
|
||||
@ -9,11 +9,10 @@ sharing: true
|
||||
footer: true
|
||||
logo: philips_hue.png
|
||||
ha_category: Light
|
||||
ha_iot_class: "Local Polling"
|
||||
featured: true
|
||||
---
|
||||
|
||||
|
||||
|
||||
Philips Hue support is integrated into Home Assistant as a light platform. The preferred way to setup the Philips Hue platform is by enabling the [the discovery component](/components/discovery/).
|
||||
|
||||
If you want to enable the light component directly, add the following lines to your `configuration.yaml`:
|
||||
@ -23,6 +22,13 @@ If you want to enable the light component directly, add the following lines to y
|
||||
light:
|
||||
platform: hue
|
||||
host: DEVICE_IP_ADDRESS
|
||||
# Optional, make this unique if specifying multiple Hue hubs
|
||||
allow_unreachable: true
|
||||
filename: my_hue_hub_token.conf
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): IP address of the device, eg. 192.168.1.10.
|
||||
- **allow_unreachable** (*Optional*): This will allow unreachable bulbs to report their state correctly. By default *name* from the device is used.
|
||||
- **filename** (*Optional*): Make this unique if specifying multiple Hue hubs.
|
||||
|
||||
|
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