Merge remote-tracking branch 'upstream/master'

This commit is contained in:
xifle 2016-03-18 15:03:38 +01:00
commit 1dc40681e3
366 changed files with 10223 additions and 4066 deletions

View File

@ -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 }

View File

@ -79,6 +79,8 @@ collections:
output: true
cookbook:
output: true
topics:
output: true
# ----------------------- #
# 3rd Party Settings #

View File

@ -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(@markup).render context
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
"<a class='title-link' name='#{slug}' href='\##{slug}'></a> #{title}"
end
end
end

View File

@ -13,6 +13,7 @@
text-transform: uppercase;
white-space: nowrap;
display: inline-block;
font-weight: bold;
}
.front-install {
@ -119,7 +120,7 @@ article.post, article.page, article.listing {
box-shadow: none;
}
& > table {
& > table, & > .entry-content > table {
background-color: #F3FCF5;
}
@ -160,7 +161,7 @@ p.note {
box-shadow: rgba(0,0,0,0.06) 0 0 10px;
&::before {
font-family: "FontAwesome";
font-family: "FontAwesome", sans-serif;
content: "\f05a" " Note " attr(data-title);
background-color: #6ab0de;
color: white;
@ -204,7 +205,7 @@ p.note {
}
.install-instructions-container {
#normal-install, #raspberry-install, #docker-install, .install-instructions {
#normal-install, #raspberry-install, #docker-install, #synology-install, .install-instructions {
display: none;
}
@ -223,14 +224,16 @@ p.note {
#normal-install:checked ~ .menu-selector.normal,
#raspberry-install:checked ~ .menu-selector.raspberry,
#docker-install:checked ~ .menu-selector.docker
#docker-install:checked ~ .menu-selector.docker,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#normal-install:checked ~ .install-instructions.normal,
#raspberry-install:checked ~ .install-instructions.raspberry,
#docker-install:checked ~ .install-instructions.docker
#docker-install:checked ~ .install-instructions.docker,
#synology-install:checked ~ .install-instructions.synology
{
display: block;
}
@ -242,7 +245,7 @@ p.note {
.advanced-installs-container {
#upstart-install, #systemd-install, #osx-install, .advanced-installs {
#upstart-install, #systemd-install, #osx-install, #synology-install, .advanced-installs {
display: none;
}
@ -261,14 +264,16 @@ p.note {
#upstart-install:checked ~ .menu-selector.upstart,
#systemd-install:checked ~ .menu-selector.systemd,
#osx-install:checked ~ .menu-selector.osx
#osx-install:checked ~ .menu-selector.osx,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#upstart-install:checked ~ .advanced-installs.upstart,
#systemd-install:checked ~ .advanced-installs.systemd,
#osx-install:checked ~ .advanced-installs.osx
#osx-install:checked ~ .advanced-installs.osx,
#synology-install:checked ~ .advanced-installs.synology
{
display: block;
}
@ -403,4 +408,6 @@ p.note {
.edit-github {
text-align: right;
margin-bottom: 8px;
font-size: .8em;
}

View File

@ -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{

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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/)

View File

@ -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
@ -15,7 +15,7 @@ The `mqtt` alarm panel platform enables the possibility to control MQTT capable
The component will accept the following states from your Alarm Panel (in lower case):
- 'armed'
- 'disarmed'
- 'armed_home'
- 'armed_away'
- 'pending'
@ -45,7 +45,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.

View File

@ -0,0 +1,29 @@
---
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
---
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.

View File

@ -0,0 +1,18 @@
---
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
---
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/).

View File

@ -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
@ -80,7 +80,7 @@ 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/
[templates]: /topics/templating/
Configuring the Alexa component for the above intents would look like this:

View File

@ -0,0 +1,29 @@
---
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
---
[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`.

View File

@ -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
@ -16,7 +16,7 @@ The [Arduino](https://www.arduino.cc/) device family are microcontroller boards
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.

View File

@ -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
@ -129,6 +129,11 @@ automation:
# Optional
from: 'not_home'
to: 'home'
# If given, will trigger when state has been the to state for X time.
for:
hours: 1
minutes: 10
seconds: 5
```
<p class='note warning'>
@ -161,26 +166,34 @@ automation:
#### {% 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. For example, by only setting minutes in the config to 5 it will trigger every hour when it is 5 minutes past whole. You cannot use `after` together with hour, minute or second.
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
# All following are optional.
# 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'
hours: 0
minutes: 5
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
```
The above example will trigger every hour on the 5 (2:05, 3:05, 4:05, etc).
#### {% 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/).
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/) as well as the [iCloud platform](/components/device_tracker.icloud/).
```yaml
automation:
@ -241,6 +254,12 @@ automation:
platform: state
entity_id: device_tracker.paulus
state: not_home
# optional: trigger only if state was this for last X time.
for:
hours: 1
minutes: 10
seconds: 5
```
#### {% linkable_title Sun condition %}
@ -291,7 +310,7 @@ 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/).
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/) as well as the [iCloud platform](/components/device_tracker.icloud/).
```yaml
automation:
@ -344,4 +363,4 @@ The Logbook component will show a line entry when an automation is triggered. Y
![Logbook example](/images/components/automation/logbook.png)
[template]: /getting-started/templating/
[template]: /topics/templating/

View File

@ -0,0 +1,28 @@
---
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
---
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.

View File

@ -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,11 @@ sharing: true
footer: true
logo: arest.png
ha_category: Binary Sensor
ha_iot_class: "Local Polling"
---
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 +37,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'>

View File

@ -0,0 +1,25 @@
---
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
---
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
```

View File

@ -1,12 +1,13 @@
---
layout: component
title: "Command 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
---
@ -18,11 +19,11 @@ 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'
payload_on: "1"
payload_of: "0"
payload_off: "0"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
@ -32,7 +33,7 @@ Configuration variables:
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
- **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 +46,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 +59,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"
```

View File

@ -0,0 +1,78 @@
---
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
---
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"}'
```

View File

@ -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).

View File

@ -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
@ -24,7 +24,7 @@ binary_sensor:
name: "MQTT Sensor"
qos: 0
payload_on: "ON"
payload_of: "OFF"
payload_off: "OFF"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
@ -35,7 +35,7 @@ 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.
- **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:

View File

@ -0,0 +1,40 @@
---
layout: page
title: "MySensors Binary Sensor"
description: "Instructions how to integrate MySensors binary sensors into Home Assistant."
date: 2016-02-28 01:20 +0100
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Binary Sensor
featured: false
---
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.
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -0,0 +1,47 @@
---
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
comments: false
sharing: true
footer: true
logo: nest_thermostat.png
ha_category: Binary Sensor
---
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
binary_sensor:
platform: nest
monitored_conditions:
- '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'
```
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](/components/nest/) configured to use this sensor.</p>

View File

@ -0,0 +1,51 @@
---
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"
---
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
```

View File

@ -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
@ -17,7 +17,7 @@ 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
@ -29,7 +29,7 @@ or for a POST request:
```yaml
# Example configuration.yaml entry
sensor:
binary_sensor:
platform: rest
resource: http://IP_ADDRESS/ENDPOINT
method: POST
@ -42,7 +42,7 @@ 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.
- **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.
- **name** (*Optional*): Name of the REST binary sensor.

View File

@ -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
@ -12,7 +12,7 @@ ha_category: Sensor
---
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:

View File

@ -0,0 +1,43 @@
---
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
---
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
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 %}"
unit: UNIT_OF_MEASUREMENT
```
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.
- **unit** (*Optional*): The unit of measurement to use for 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.

View File

@ -0,0 +1,51 @@
---
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*): Defines the class of the sensor (motion, heat, moisture, etc)
- **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
```

View File

@ -0,0 +1,18 @@
---
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
---
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/).

View File

@ -0,0 +1,35 @@
---
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
comments: false
sharing: true
footer: true
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](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 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`.
- **pin** (*Required*): The number identifying which pin to use.
- **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'.

View File

@ -0,0 +1,14 @@
---
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
---
To get your Z-Wave binary sensors working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).

View 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)

View File

@ -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.

View 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
```

View File

@ -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:
@ -34,4 +34,7 @@ Configuration variables:
- **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.
- **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.
### {% 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.

View File

@ -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

View File

@ -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

View File

@ -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
@ -11,7 +11,7 @@ ha_category: Camera
---
The mjpeg component allows you to integrate IP cameras which are capable to stream their video with MJPEG into Home Assistant.
The `mjpeg` component 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:

View File

@ -0,0 +1,33 @@
---
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
---
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.

View File

@ -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

View File

@ -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,8 +7,8 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: conversation.png
ha_category: "Other"
logo: home-assistant.png
ha_category: "Voice"
---
@ -21,7 +21,7 @@ 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" />

View 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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
@ -12,7 +12,7 @@ ha_category: Presence Detection
---
This platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
The `asuswrt` platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
<p class='note warning'>
This device tracker needs telnet to be enabled on the router.

View File

@ -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

View File

@ -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
@ -15,7 +15,7 @@ ha_category: Presence Detection
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:
@ -23,7 +23,7 @@ To use an Fritz!Box router in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: asuswrt
platform: fritz
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD

View 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
@ -14,7 +14,7 @@ ha_category: Presence Detection
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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"
---

View File

@ -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

View File

@ -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
@ -23,8 +23,43 @@ 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.
### {% linkable_title Using Owntracks regions %}
Owntracks can track regions, and send region entry and exit information to Home Assistant(HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/)
Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone.
When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS co-ordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius.
### {% linkable_title Using Owntracks regions - forcing Owntracks to update using %}iBeacons
When run in the usual `significant changes mode` (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons.
iBeacons are simple bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](http://owntracks.org/booklet/guide/beacons/)
When you enter an iBeacon region, Owntracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`.
When you exit an iBeacon region HA will switch back to using GPS to determine your location. Depending on the size of your zone, and the accuracy of your GPS location this may change your HA zone.
Sometimes Owntracks will lose connection with an iBeacon for a few seconds. If you name your beacon starting with `-` Owntracks will wait longer before deciding it has exited the beacon zone. HA will ignore the `-` when it matches the Owntracks region with Zones. So if you call your Owntracks region `-home` then HA will recognise it as `home`, but you will have a more stable iBeacon connection.
### {% linkable_title Using Owntracks iBeacons to track devices %}
iBeacons don't need to be stationary. You could put one on your key ring, or in your car.
When your phone sees a mobile iBeacon that it knows about, it will tell HA the location of that iBeacon. If your phone moves while you are connected to the iBeacon, HA will update the location of the iBeacon. But when your phone loses the connection, HA will stop updating the iBeacon location.
To use mobile iBeacons with HA, you just set up a region that doesn't match your Zone names. If HA sees an entry event for a iBeacon region that doesn't match a Zone name (say `keys`) - it will start tracking it, calling the device `device_tracker.beacon_keys`).
This allows you to write zone automations for devices that can't track themselves (for example `alert me if I leave the house and my keys are still at home`). Another example would be `open the gates if my car arrives home`.
### {% linkable_title Using mobile and fixed iBeacons together %}
You can use iBeacons of both types together, so if you have a Zone `drive` with an iBeacon region called `-drive` and you arrive home with a mobile iBeacon called `-car`, then `device_tracker.beacon_car` will be set to a state of `drive`.

View File

@ -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
@ -19,9 +19,11 @@ 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)
To use the snmp platform in your installation, add the following to your `configuration.yaml` file:

View 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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,36 @@
---
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
---
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.

View 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')`).

View File

@ -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
@ -39,3 +39,7 @@ If you are developing a new platform, please read [how to make your platform dis
<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.
</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>

View File

@ -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,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: downloader.png
logo: home-assistant.png
ha_category: Other
---

View File

@ -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

View 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.

View File

@ -0,0 +1,18 @@
---
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
---
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/).

View File

@ -0,0 +1,31 @@
---
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
---
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`.

View File

@ -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
@ -11,24 +11,47 @@ logo: home-assistant.png
ha_category: Organization
---
Groups allow the user to combine multiple entities into one.
Groups allow the user to combine multiple entities into one. A group can be promoted to a **view** by setting the `view` option to `yes`. This will make the group available as a new tab in the frontend.
Check the **Set State** page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
```yaml
# Example configuration.yaml entry
group:
information:
- sensor.time
living_room:
- binary_sensor.tv
- sensor.living_room_temperature
# If you name an entry default_view it will REPLACE the contents of the "Home" tab
default_view:
view: yes
entities:
- group.awesome_people
- group.climate
kitchen:
- switch.kitchen_pin_3
- sensor.oven_temperature
name: Kitchen
entities:
- switch.kitchen_pin_3
upstairs:
name: Kids
icon: mdi:account-multiple
view: yes
entities:
- input_boolean.notify_home
- camera.demo_camera
- device_tracker.demo_paulus
- group.garden
```
Configuration variables:
- **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.
<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).
```yaml
@ -38,8 +61,5 @@ group:
- light.bowl
- light.ceiling
- light.tv_back_light
children:
- device_tracker.child_1
- device_tracker.child_2
children: device_tracker.child_1, device_tracker.child_2
```

View File

@ -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).

View File

@ -1,5 +1,5 @@
---
layout: component
layout: page
title: "HTTP"
description: "Offers a web framework to serve files."
date: 2015-12-06 21:35
@ -25,9 +25,16 @@ http:
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.
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available.
The `http` platforms are not a real platform within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) is consuming and proceeding messages received over HTTP.
To use those kind of sensors 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) needs to be sent to the endpoint of the device and must be **POST**.

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,5 @@
---
layout: component
layout: page
title: "InfluxDB"
description: "Record events in InfluxDB."
date: 2015-12-06 13:08
@ -23,6 +23,8 @@ influxdb:
database: DB_TO_STORE_EVENTS
username: MY_USERNAME
password: MY_PASSWORD
ssl: true
verify_ssl: true
```
Configuration variables:
@ -32,4 +34,5 @@ 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.

View File

@ -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
@ -11,16 +11,23 @@ logo: home-assistant.png
ha_category: Automation
---
The input boolean component allows the user to define boolean values that can be controlled via the frontend and can be used within conditions of automation. This can for example be used to disable or enable certain automations.
The `input_boolean` component allows the user to define boolean values that can be controlled via the frontend and can be used within conditions of automation. This can for example be used to disable or enable certain automations.
```yaml
# Example configuration.yaml entry
input_boolean:
notify_home:
# Optional, friendly name of entry
name: Notify when someome arrives home
# Optional, value when Home Assistant starts
initial: off
# Optional, icon for entry
icon: mdi:car
```
Configuration variables:
- **[alias]** (*Required*): Alias for the input.
- **name** (*Optional*): Friendly name of the input.
- **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`.

View File

@ -0,0 +1,44 @@
---
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
---
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.
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`.

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Insteon Hub"
description: "Instructions how to setup the Insteon Hub within Home Assistant."
date: 2016-01-27 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: insteon.png
ha_category: Hub
---
The `insteon` component lets you use your [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant.
You will need to obtain an Insteon REST API key from the [Insteon Developer program](http://www.insteon.com/become-an-insteon-developer) to use this component.
To integrate your Insteon Hub with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
insteon_hub:
username: YOUR_USERNAME
password: YOUR_PASSWORD
api_key: YOUR_API_KEY
```
Configuration variables:
- **username** (*Required*): The username used to access the Insteon interface (e.g. the [connect.insteon.com](connect.insteon.com) site).
- **password** (*Required*): The password used to access the Insteon interface.
- **api_key** (*Required*): The Insteon REST API key emailed to you once you are approved in the Insteon Developer program.

View File

@ -1,5 +1,5 @@
---
layout: component
layout: page
title: "Introduction"
description: "Details about the introduction within Home Assistant."
date: 2015-10-25 15:15

View File

@ -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

View File

@ -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

View File

@ -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
@ -12,7 +12,7 @@ ha_category: Light
---
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:

View 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,8 @@ If you want to enable the light component directly, add the following lines to y
light:
platform: hue
host: DEVICE_IP_ADDRESS
# Optional, this will allow unreachable bulbs to report their state correctly
allow_unreachable: true
# Optional, make this unique if specifying multiple Hue hubs
filename: my_hue_hub_token.conf
```

View File

@ -1,6 +1,6 @@
---
layout: component
title: Hyperion
layout: page
title: "Hyperion"
description: "Instructions how to integrate Hyperion into Home Assistant."
date: 2015-10-25 22:43
sidebar: true

View File

@ -0,0 +1,28 @@
---
layout: page
title: "LIFX"
description: "Instructions how to integrate LIFX into Home Assistant."
date: 2016-01-27 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: lifx.png
ha_category: Light
ha_iot_class: "Local Push"
---
The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) into Home Assistant.
```yaml
# Example configuration.yaml entry
light:
platform: lifx
server: 192.168.1.98
broadcast: 192.168.1.255
```
Configuration variables:
- **server** (*Optional*): Your server address. Only needed if using more than one network interface. Omit if you are unsure.
- **broadcast** (*Optional*): The broadcast address, set to reach all LIFX bulbs.

View File

@ -1,35 +1,27 @@
---
layout: component
layout: page
title: "LimitlessLED"
description: "Instructions on how to setup LimitlessLED within Home Assistant."
date: 2015-12-03 13:00
sidebar: true
layout: page
title: "LimitlessLED support"
sidebar: false
comments: false
sharing: true
footer: true
ha_category: Light
ha_iot_class: "Assumed State"
---
`limitlessled` can control your [LimitlessLED](http://www.limitlessled.com/) lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight or iLight.
### Setup
### {% linkable_title Setup %}
Before configuring Home Assistant, make sure you can control your bulbs with the Milight mobile application. Discover your bridge(s) IP. You can do this via your router, or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en), [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You cannot control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw` and `white` group to the same group number, effectively allowing 8 groups (4 `rgbw` and 4 `white`) per bridge.
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [itunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw` and `white` group to the same group number, effectively allowing 8 groups (4 `rgbw` and 4 `white`) per bridge.
To add `limitlessled` to your installation, add the following to your `configuration.yaml` file:
```yaml
light:
platform: limitlessled
bridges:
```
Next, list your bridges and groups. Here's an example. See the next section for a full explanaton of each configuration variable.
```yaml
# Example configuration.yaml entry
light:
platform: limitlessled
bridges:
@ -53,30 +45,31 @@ light:
name: Living Room & Hall
```
### Configuration variables
Configuration variables:
- **bridges** (*Required*): (list)
- **bridges** array (*Required*):
- **host** (*Required*): IP address of the device, eg. `192.168.1.32`
- **version**: Bridge version (default is `5`). Don't use if you aren't sure.
- **port**: Bridge port (default is `8899`). Normally not necessary to specify.
- **groups** (*Required*): (list)
- **version** (*Optional*): Bridge version (default is `5`). Don't use if you aren't sure.
- **port** (*Optional*): Bridge port. Defaults to 8899.
- **groups** array (*Required*): The list of available groups.
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote.
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
- **type**: Type of group. Choose either `rgbw` or `white`. `rgbw` is the default if you don't specify.
- **type** (*Optional*): Type of group. Choose either `rgbw` or `white`. `rgbw` is the default if you don't specify this entry.
### Properties
Refer to the [light]({{site_root}}/components/light) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
### {% linkable_title Properties %}
Refer to the [light]({{site_root}}/components/light/) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
- **RGBW**
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can't be used - only hue. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can not be used - only Hue can. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
- *Brightness*: There are 25 brightness steps.
- **White**
- As you can observe on the Milight mobile application, you cannot select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
- As you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
- *Temperature*: There are 10 temperature steps.
- *Brightness*: There are 10 brightness steps.
- **Transitions**
- If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately.
- If a transition time is set, the group will transition between the current settings and the target settings for the duration specified. Transitions from or to white are not possible - the color will change immediately.
### Initialization & Synchronization
### {% linkable_title Initialization & Synchronization %}
When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the Milight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation.
When starting Home Assistant, your LimitlessLED bulbs will be set to known default values. This ensures a consistent user interface and uninterrupted turning on/off. If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe unexpected behavior. This is due to a LimitlessLED limitation.

View File

@ -1,5 +1,5 @@
---
layout: component
layout: page
title: "Lights"
description: "Instructions how to setup your lights with Home Assistant."
date: 2015-01-24 14:39
@ -50,3 +50,13 @@ Turns one or multiple lights off.
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | no | Integer that represents the time the light should take to transition to the new state.
### {% linkable_title Service `light.toggle` %}
Toggles the state of one or multiple lights using [groups]({{site_root}}/components/group/).
*Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | no | Integer that represents the time the light should take to transition to the new state.

View File

@ -1,6 +1,6 @@
---
layout: component
title: "MQTT light"
layout: page
title: "MQTT Light"
description: "Instructions how to setup MQTT lights within Home Assistant."
date: 2015-11-13 08:30
sidebar: true
@ -33,9 +33,9 @@ light:
brightness_command_topic: "office/rgb1/brightness/set"
rgb_state_topic: "office/rgb1/rgb/status"
rgb_command_topic: "office/rgb1/rgb/set"
state_value_format: "{% raw %}{{ value_json.state }}{% endraw %}"
brightness_value_format: "{% raw %}{{ value_json.brightness }}{% endraw %}"
rgb_value_format: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}"
brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}"
rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
qos: 0
payload_on: "ON"
payload_off: "OFF"
@ -66,9 +66,10 @@ Configuration variables:
- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness.
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
- **state_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the state value.
- **brightness_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the brightness value.
- **rgb_value_format** (*Optional*): Defines a [template](/getting-started/templating/) to extract the RGB value.
- **state_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the state value.
- **brightness_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the brightness value.
- **rgb_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the RGB value.
- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".

View File

@ -0,0 +1,37 @@
---
layout: page
title: "MySensors Light"
description: "Instructions how to integrate MySensors lights into Home Assistant."
date: 2016-03-02 18:20 +0100
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Light
featured: false
---
Integrates MySensors lights into Home Assistant. See the [main component] for configuration instructions.
The following actuator types are supported:
##### MySensors version 1.4
S_TYPE | V_TYPE
---------|--------------
S_DIMMER | V_DIMMER\*, V_LIGHT\*
##### MySensors version 1.5 and higher
S_TYPE | V_TYPE
------------|-------------
S_DIMMER | [V_DIMMER\* or V_PERCENTAGE\*], [V_LIGHT\* or V_STATUS\*]
S_RGB_LIGHT | V_RGB*, [V_LIGHT\* or V_STATUS\*], [V_DIMMER or V_PERCENTAGE]
V_TYPES with a star (\*) denotes required V_TYPES. Use either V_LIGHT or V_STATUS and either V_DIMMER or V_PERCENTAGE for an applicable actuator.
For more information, visit the [serial api] of MySensors.
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -1,6 +1,6 @@
---
layout: component
title: "RFXtrx light"
layout: page
title: "RFXtrx Light"
description: "Instructions how to integrate RFXtrx lights into Home Assistant."
date: 2015-10-08 10:15
sidebar: true
@ -9,7 +9,8 @@ sharing: true
footer: true
ha_category: Light
---
The rfxtrx platform support lights that communicate in the frequency range of 433.92 MHz.
The `rfxtrx` platform support lights that communicate in the frequency range of 433.92 MHz.
To enable RFXtrx lights in your installation, add the following to your `configuration.yaml` file:
@ -17,6 +18,7 @@ To enable RFXtrx lights in your installation, add the following to your `configu
# Example configuration.yaml entry
light:
platform: rfxtrx
signal_repetitions: 3
devices:
living_room:
name: Living Room
@ -28,3 +30,4 @@ Configuration variables:
- **devices** (*Required*): A list of devices with their name to use in the frontend.
- **automatic_add** (*Optional*): To enable the automatic addition of new lights.
- **signal_repetitions** *Optional*: Because the rxftrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.

View File

@ -0,0 +1,30 @@
---
layout: page
title: "SCSGate Light"
description: "Instructions how to integrate SCSGate lights into Home Assistant."
date: 2016-01-31 19:30
sidebar: true
comments: false
sharing: true
footer: true
logo: bus_scs.png
ha_category: Light
---
The SCSGate device can control lights of the BTicino MyHome system.
To enable SCSGate lights in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
light:
platform: scsgate
devices:
living_room:
name: Living Room
scs_id: XXXXX
```
Configuration variables:
- **devices** (*Required*): A list of devices with their name to use in the frontend.

View File

@ -1,6 +1,6 @@
---
layout: component
title: "TellStick light"
layout: page
title: "TellStick Light"
description: "Instructions how to integrate TellStick lights into Home Assistant."
date: 2015-08-06 19:00
sidebar: true
@ -9,10 +9,11 @@ sharing: true
footer: true
logo: telldus_tellstick.png
ha_category: Light
ha_iot_class: "Assumed State"
---
This tellstick light platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) dimmers.
This `tellstick` light platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) dimmers.
To use your TellStick device in your installation, add the following to your `configuration.yaml` file:
@ -20,5 +21,10 @@ To use your TellStick device in your installation, add the following to your `co
# Example configuration.yaml entry
light:
platform: tellstick
signal_repetitions: 3
```
Configuration variables:
- **signal_repetitions** *Optional*: Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.

View File

@ -1,6 +1,6 @@
---
layout: component
title: "Vera light"
layout: page
title: "Vera Light"
description: "Instructions how to integrate Vera lights into Home Assistant."
date: 2015-10-20 21:00
sidebar: true
@ -12,7 +12,7 @@ ha_category: Light
---
This vera light platform allows you to control your [Vera](http://getvera.com/) lights.
This `vera` light platform allows you to control your [Vera](http://getvera.com/) lights.
This platform is useful if you wish for switches connected to your Vera controller to appear as lights in Home Assistant. All switches will be added as a light unless you exclude them in the configuration file.

View File

@ -0,0 +1,21 @@
---
layout: page
title: "Belkin WeMo Lights"
description: "Instructions how to integrate Belkin WeMo LED lights into Home Assistant."
date: 2016-02-20 00:45
sidebar: true
comments: false
sharing: true
footer: true
logo: belkin_wemo.png
ha_category: Light
ha_iot_class: "Local Polling"
---
The `wemo` platform allows you to control your [Belkin WeMo](http://www.belkin.com/us/p/P-F5Z0489/) LED lights from within Home Assistant.
They will be automatically discovered if the discovery component is enabled.
For more configuration information see the [WeMo component](/components/wemo/) documentation.

View File

@ -1,6 +1,6 @@
---
layout: component
title: "Wink light"
layout: page
title: "Wink Light"
description: "Instructions how to setup the Wink lights within Home Assistant."
date: 2015-01-20 22:36
sidebar: true
@ -12,6 +12,6 @@ ha_category: Light
---
The wink sensor platform allows you to use your [Wink](http://www.wink.com/) lights.
The wink light platform allows you to use your [Wink](http://www.wink.com/) lights.
The requirement is that you have setup your [Wink hub](/components/light.wink/).
The requirement is that you have setup your [Wink hub](/components/wink/).

View File

@ -0,0 +1,33 @@
---
layout: page
title: ZigBee Light
description: "Instructions on how to set up ZigBee lights within Home Assistant."
date: 2016-01-28 12:38
sidebar: true
comments: false
sharing: true
footer: true
logo: zigbee.png
ha_category: Light
---
A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered 'on' when the ZigBee device's digital output 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 output pin as a light, use the following variables:
- **name** (*Required*): The name you'd like to give the light in Home Assistant.
- **platform** (*Required*): Set to `zigbee`.
- **pin** (*Required*): The number identifying which pin to use.
- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins.
- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the light is turned on.
#### Example
```yaml
light:
- name: Desk Lamp
platform: zigbee
pin: 0
address: 0013A20040791FA2
on_state: low
```

View File

@ -1,6 +1,6 @@
---
layout: component
title: "Z-Wave light"
layout: page
title: "Z-Wave Light"
description: "Instructions how to setup the Z-Wave lights within Home Assistant."
date: 2015-11-11 13:00
sidebar: true

View File

@ -1,5 +1,5 @@
---
layout: component
layout: page
title: "Locks"
description: "Instructions how to setup your locks with Home Assistant."
date: 2015-11-21 08:10

Some files were not shown because too many files have changed in this diff Show More