Merge pull request #1138 from home-assistant/next

0.30
This commit is contained in:
Paulus Schoutsen 2016-10-08 11:23:41 -07:00 committed by GitHub
commit baccb84791
310 changed files with 2464 additions and 1610 deletions

11
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,11 @@
---
***DELETE EVERYTHING BEFORE SUBMITTING YOUR PULL REQUEST!***
If you are submitting docs that depend on a pull request to be merged in Home Assistant please reference the PR like so:
`home-assistant/home-assistant#<home-assistant PR number goes here>`
Thanks for submitting!
---

View File

@ -1,6 +1,6 @@
# Home Assistant website
This is the source for the [Home-Assistant.io website](https://home-assistant.io) for the [Home Assistant project](https://github.com/home-assistant/home-assistant)
This is the source for the [Home-Assistant.io website](https://home-assistant.io).
## Setup
@ -8,15 +8,14 @@ Setting up to contribute to documentation and the process for submitting pull re
## Site preview
In order to make the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000), use the command as follows:
```bash
$ rake preview
```
This makes the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000).
### Setup on Fedora and CentOS
On Fedora > 22 or CentOS 7.1.1503 Ruby is not available by default. Please take the notes here as a little guide for the Ruby installation process.
On Fedora 22 and later or CentOS 7.1.1503, Ruby is not available by default. Please take the notes here as a little guide for the Ruby installation process.
```bash
$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

View File

@ -20,8 +20,6 @@ To enable this, add the following lines to your `configuration.yaml`:
# Example configuration.yaml entry
alarm_control_panel:
platform: alarmdotcom
name: "HA Alarm"
code: PASSCODE
username: YOUR_USERNAME
password: YOUR_PASSWORD
```

View File

@ -18,16 +18,11 @@ This platform enables you to set manual alarms in Home Assistant.
# Example configuration.yaml entry
alarm_control_panel:
platform: manual
name: "HA Alarm"
code: PASSCODE
pending_time: 60
trigger_time: 120
disarm_after_trigger: true
```
Configuration variables:
- **name** (*Optional*): The name of the alarm. Default is 'HA Alarm'.
- **name** (*Optional*): The name of the alarm. Default is "HA Alarm".
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend.
- **pending_time** (*Optional*): The time in seconds of the pending time before arming the alarm. Default is 60 seconds.
- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds.

View File

@ -32,12 +32,6 @@ alarm_control_panel:
platform: mqtt
state_topic: "home/alarm"
command_topic: "home/alarm/set"
name: "MQTT Alarm"
qos: 0
payload_disarm: "DISARM"
payload_arm_home: "ARM_HOME"
payload_arm_away: "ARM_AWAY"
code: "mySecretCode"
```
Configuration variables:

View File

@ -20,8 +20,6 @@ To enable this, add the following lines to your `configuration.yaml`:
# Example configuration.yaml entry
alarm_control_panel:
platform: nx584
host: IP_ADDRESS
port: 5007
```
Configuration variables:

View File

@ -20,8 +20,6 @@ To enable this, add the following lines to your `configuration.yaml`:
# Example configuration.yaml entry
alarm_control_panel:
platform: simplisafe
name: "HA Alarm"
code: PASSCODE
username: YOUR_USERNAME
password: YOUR_PASSWORD
```

View File

@ -19,8 +19,6 @@ 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:

View File

@ -10,6 +10,7 @@ footer: true
logo: apcupsd.png
ha_category: Binary Sensor
ha_release: 0.13
ha_iot_class: "Local Polling"
---
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.
@ -20,10 +21,8 @@ To enable this sensor, you first have to set up [apcupsd](/components/apcupsd/),
# Example configuration.yaml entry
binary_sensor:
- platform: apcupsd
name: UPS Online
```
Configuration variables:
- **name** (*Optional*): Name to use in the front end.

View File

@ -21,25 +21,35 @@ To use your aREST binary sensor in your installation, add the following to your
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: arest
resource: http://IP_ADDRESS
name: Office Switch
pin: 8
- platform: arest
resource: http://IP_ADDRESS
pin: 8
```
Configuration variables:
- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10.
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
- **pin** (*Required*): Number of the pin to monitor.
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state of the pin inside a JSON response as `return_value`.
```bash
$ curl -X GET http://10.100.0.157/digital/9
$ curl -X GET http://192.168.0.5/digital/9
{"return_value": 0, "id": "office1", "name": "Office", "connected": true}
```
An example for Pin 9 inspired by the command above could look like this:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: arest
resource: http://192.168.0.5/digital/9
pin: 9
name: Office
```
<p class='note'>
This sensor is not suitable for fast state changes because there is a high possibility that the change took place between two update cycle.
</p>

View File

@ -21,13 +21,8 @@ To use your Command binary sensor in your installation, add the following to you
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: command_line
command: cat /proc/sys/net/ipv4/ip_forward
name: 'IP4 forwarding'
sensor_class: opening
payload_on: "1"
payload_off: "0"
value_template: '{% raw %}{{ value.x }}{% endraw %}'
- platform: command_line
command: cat /proc/sys/net/ipv4/ip_forward
```
Configuration variables:
@ -50,11 +45,12 @@ Check the state of an [SickRage](https://github.com/sickragetv/sickrage) instanc
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: command_line
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
name: 'sickragerunning'
payload_on: "Running"
payload_off: "Not running"
- platform: command_line
command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
name: 'sickragerunning'
sensor_class: moving
payload_on: "Running"
payload_off: "Not running"
```
### {% linkable_title Check RasPlex %}
@ -63,11 +59,12 @@ Check if [RasPlex](http://www.rasplex.com/) is `online`.
```yaml
binary_sensor:
platform: command_line
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
name: 'is_rasplex_online'
payload_on: 1
payload_off: 0
- platform: command_line
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
name: 'is_rasplex_online'
sensor_class: connectivity
payload_on: 1
payload_off: 0
```
An alternative solution could look like this:
@ -77,6 +74,7 @@ binary_sensor:
platform: command_line
name: Printer
command: ping -c 1 192.168.1.10 &> /dev/null && echo success || echo fail
sensor_class: connectivity
payload_on: "success"
payload_off: "fail"
```

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Digital Ocean Binary Sensor"
description: "Instructions on how to set up Digital Ocean binary sensors within Home Assistant."
date: 2016-09-24 08:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
logo: digital_ocean.png
ha_release: "0.30"
ha_iot_class: "Local Polling"
---
The `digital_ocean` binary sensor platform allows you to monitor your Digital Ocean droplets.
To use your Digital Ocean droplets, you first have to set up your [Digital Ocean hub](/components/digital_ocean/) and then add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: digital_ocean
droplets:
- 'fedora-512mb-nyc3-01'
- 'coreos-512mb-nyc3-01'
```
Configuration variables:
- **droplets** (*Required*): List of droplets you want to control.

View File

@ -8,7 +8,9 @@ comments: false
sharing: true
footer: true
logo: ecobee.png
ha_category: Sensor
ha_category: Binary Sensor
ha_release: 0.9
ha_iot_class: "Local Push"
---
To get your Ecobee binary sensors working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).

View File

@ -13,8 +13,7 @@ ha_release: 0.21
ha_iot_class: "Local Push"
---
This can typically be one of those batteryless wall switches. Currently only one type has been tested: Eltako FT55. Other devices will most likely not work without changing the Home-Asisstant code.
This can typically be one of those batteryless wall switches. Currently only one type has been tested: Eltako FT55. Other devices will most likely not work without changing the Home Asisstant code.
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
@ -23,8 +22,6 @@ To use your EnOcean device, you first have to set up your [EnOcean hub](/compone
binary_sensor:
- platform: enocean
id: [0x01,0x90,0x84,0x3C]
name: Door
sensor_class: opening
```
Configuration variables:

View File

@ -29,11 +29,6 @@ To add FFmpeg with noise detection to your installation, add the following to yo
binary_sensor:
- platform: ffmpeg
tool: noise
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Noise
peak: -30
duration: 1
reset: 20
```
Configuration variables:
@ -65,13 +60,6 @@ binary_sensor:
- platform: ffmpeg
tool: motion
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Motion
changes: 10
reset: 20
# group feature / default not in use
repeat: 0
repeat_time: 0
```
Configuration variables:

View File

@ -10,6 +10,7 @@ footer: true
logo: universal_devices.png
ha_category: Binary Sensor
ha_iot_class: "Local Push"
ha_release: pre 0.7
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) binary sensors from within Home Assistant.

View File

@ -9,11 +9,11 @@ sharing: true
footer: true
---
Binary sensors are gathering information about state of switches, contacts, pins, and alike. The return value of those sensors is usually digital (1/0). This means that those sensors knows only two states: **off/low/open** and **on/high/closed**.
Binary sensors are gathering information about state of switches, contacts, pins, and alike. The return value of those sensors is usually digital (1/0). This means that those sensors knows only two states: **0/off/low/open/false** and **1/on/high/closed/true**.
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:
Most binary sensors support the `sensor_class:` which let you specify the type of your sensor. The following types are supported:
- **None**: Generic on/off
- **cold**: On means cold (or too cold)

View File

@ -10,6 +10,7 @@ footer: true
logo: modbus.png
ha_category: Binary Sensor
ha_release: 0.28
ha_iot_class: "Local Push"
---
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
@ -19,14 +20,14 @@ To use your Modbus binary sensors in your installation, add the following to you
```yaml
# Example configuration.yml entry
binary_sensor:
platform: modbus
coils:
- name: Sensor1
slave: 1
coil: 100
- name: Sensor2
slave: 1
coil: 110
- platform: modbus
coils:
- name: Sensor1
slave: 1
coil: 100
- name: Sensor2
slave: 1
coil: 110
```
Configuration variables:

View File

@ -10,6 +10,7 @@ footer: true
logo: mqtt.png
ha_category: Binary Sensor
ha_release: 0.9
ha_iot_class: "Depends"
---
@ -20,14 +21,8 @@ To use your MQTT binary sensor in your installation, add the following to your `
```yaml
# Example configuration.yml entry
binary_sensor:
platform: mqtt
state_topic: "home-assistant/window/contact"
name: "MQTT Sensor"
qos: 0
payload_on: "ON"
payload_off: "OFF"
sensor_class: opening
value_template: '{% raw %}{{ value.x }}{% endraw %}'
- platform: mqtt
state_topic: "home-assistant/window/contact"
```
Configuration variables:
@ -40,9 +35,24 @@ Configuration variables:
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of your sensor manually:
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of a sensor manually:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/window/contact -m "OFF"
```
An extended configuration for the same sensor could look like this if you want/need to be more specific.
```yaml
# Example configuration.yml entry
binary_sensor:
platform: mqtt
state_topic: "home-assistant/window/contact"
name: "Windows contact"
qos: 0
payload_on: "1"
payload_off: "0"
sensor_class: opening
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```

View File

@ -10,6 +10,7 @@ footer: true
logo: mysensors.png
ha_category: Binary Sensor
ha_release: 0.14
ha_iot_class: "Local Push"
---
Integrates MySensors binary sensors into Home Assistant. See the [main component] for configuration instructions.

View File

@ -9,6 +9,7 @@ sharing: true
footer: true
logo: nest_thermostat.png
ha_category: Binary Sensor
ha_release: pre 0.7
---
@ -22,24 +23,22 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
platform: nest
scan_interval: 60
monitored_conditions:
- 'fan'
- 'hvac_ac_state'
- 'hvac_heater_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'
- platform: nest
monitored_conditions:
- 'fan'
- 'hvac_ac_state'
'hvac_heater_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:
- **scan_interval** (*Optional*): Interval in seconds to scan.
- **monitored_conditions** array (*Required*): States to monitor.
- 'fan'
- 'hvac_ac_state'
@ -50,4 +49,5 @@ Configuration variables:
- 'hvac_alt_heat_x2_state'
- 'hvac_emer_heat_state'
- 'online'
- **scan_interval** (*Optional*): Interval in seconds to scan.

View File

@ -23,16 +23,6 @@ To enable this feature, add the following lines to your `configuration.yaml`:
# Example configuration.yaml entry
binary_sensor:
platform: nx584
host: 192.168.1.10
pport: 5007
exclude_zones:
- 3
- 5
zone_types:
1: opening
2: opening
4: motion
6: moisture
```
Configuration variables:
@ -42,3 +32,19 @@ Configuration variables:
- **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`.
An extended configuration entry could look like this:
```yaml
# Full example configuration.yaml entry
binary_sensor:
platform: nx584
host: 192.168.1.10
port: 5007
exclude_zones:
- 3
- 5
zone_types:
1: opening
2: opening
4: motion
6: moisture

View File

@ -10,6 +10,7 @@ footer: true
logo: octoprint.png
ha_category: Binary Sensor
ha_release: 0.19
ha_iot_class: "Local Polling"
---
@ -23,17 +24,15 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
platform: octoprint
name: OctoPrint
monitored_conditions:
- Printing
- Printing Error
- platform: octoprint
monitored_conditions:
- Printing
- Printing Error
```
Configuration variables:
- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'.
- **monitored_conditions** array (*Required*): States to monitor.
- **Printing**: State of the printer.
- **Printing Error**: Error while printing.
- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'.

View File

@ -10,6 +10,7 @@ footer: true
logo: restful.png
ha_category: Binary Sensor
ha_release: "0.10"
ha_iot_class: "Local Polling"
---
@ -32,13 +33,8 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: rest
resource: http://IP_ADDRESS/ENDPOINT
method: GET
name: REST GET binary sensor
sensor_class: opening
value_template: '{% raw %}{{ value_json.state }}{% endraw %}'
verify_ssl: False
- platform: rest
resource: http://IP_ADDRESS/ENDPOINT
```
or for a POST request:
@ -46,13 +42,9 @@ or for a POST request:
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: rest
resource: http://IP_ADDRESS/ENDPOINT
method: POST
name: REST POST binary sensor
sensor_class: opening
value_template: '{% raw %}{{ value_json.state }}{% endraw %}'
payload: '{ "device" : "door" }'
- platform: rest
resource: http://IP_ADDRESS/ENDPOINT
method: POST
```
Configuration variables:
@ -69,3 +61,22 @@ Configuration variables:
Make sure that the URL matches exactly your endpoint or resource.
</p>
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title aREST sensor %}
Instead of using an [aREST](/components/binary_sensor.arest/) binary sensor could the value of a device supporting aREST directly retrieved with a REST binary sensor.
```yaml
binary_sensor:
- platform: rest
resource: http://192.168.0.5/digital/9
method: GET
name: Light
sensor_class: light
value_template: '{{ value_json.return_value }}'
```

View File

@ -10,6 +10,7 @@ footer: true
logo: raspberry-pi.png
ha_category: Binary Sensor
ha_release: pre 0.7
ha_iot_class: "Local Push"
---
The `rpi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/).
@ -19,13 +20,10 @@ To use your Raspberry Pi's GPIO in your installation, add the following to your
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: rpi_gpio
ports:
11: PIR Office
12: PIR Bedroom
pull_mode: "UP"
bouncetime: 50
invert_logic: false
- platform: rpi_gpio
ports:
11: PIR Office
12: PIR Bedroom
```
Configuration variables:

View File

@ -26,8 +26,6 @@ binary_sensor:
payload: "r State\n"
value_on: 1
timeout: 5
value_template: "{% raw %}{{ value.split(';')[0] }}{% endraw %}"
buffer_size: BUFFER_SIZE
```
Configuration options for the a TCP Sensor:

View File

@ -13,7 +13,7 @@ ha_release: 0.28
ha_iot_class: "Local Push"
---
The `trend` platform allows you to create sensors which show the trend of numeric `state` or`state_attributes` from other entities. This sensor requires two updates of the underlying sensor to establish a trend - so it can take some time to show an accurate state. It can be useful as part of automations, where you want to base an action on a trend.
The `trend` platform allows you to create sensors which show the trend of numeric `state` or`state_attributes` from other entities. This sensor requires two updates of the underlying sensor to establish a trend. Thus it can take some time to show an accurate state. It can be useful as part of automations, where you want to base an action on a trend.
To enable Trend binary sensors in your installation, add the following to your `configuration.yaml` file:
@ -23,10 +23,7 @@ binary_sensor:
- platform: trend
sensors:
solar_angle:
friendly_name: 'Sun rising'
entity_id: sun.sun
sensor_class: light
attribute: elevation
```
Configuration variables:
@ -35,7 +32,7 @@ Configuration variables:
- **friendly_name** (*Optional*): Name to use in the Frontend.
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **entity_id** (*Required*): The entity that this sensor tracks.
- **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified - the sensor will track the state.
- **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified then the sensor will track the state.
- **invert** (*Optional*): Invert the result (so `true` means decending rather than ascending)
## {% linkable_title Examples %}
@ -44,7 +41,7 @@ In this section you find some real life examples of how to use this sensor.
### {% linkable_title Temperature trend %}
This example indicates true if the temperture is rising:
This example indicates `true` if the temperture is rising:
```yaml
binary_sensor:
@ -56,7 +53,7 @@ binary_sensor:
sensor_class: heat
```
And this one indicates true if the temperture is falling:
And this one indicates `true` if the temperture is falling:
```yaml
binary_sensor:

View File

@ -10,6 +10,7 @@ footer: true
logo: vera.png
ha_category: Binary Sensor
ha_iot_class: "Local Push"
ha_release: pre 0.7
---
The `vera` platform allows you to get data from your [Vera](http://getvera.com/) binary sensors from within Home Assistant.

View File

@ -10,6 +10,7 @@ footer: true
logo: wink.png
ha_category: Binary Sensor
ha_release: 0.14
ha_iot_class: "Cloud Polling"
---

View File

@ -13,7 +13,7 @@ ha_release: 0.12
ha_iot_class: "Local Polling"
---
A `zigbee` binary sha_release: 0.13ensor 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`.
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 a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`:
@ -23,14 +23,12 @@ binary_sensor:
- platform: zigbee
name: Hallway PIR Sensor
pin: 0
address: 0013A20040892FA2
on_state: low
```
Configuration variables:
- **name** (*Required*): The name you wouldd like to give the binary sensor in Home Assistant.
- **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`.
- **address** (*Optional*): 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** (*Optional*): Either `high` (default) or `low`, depicting whether the binary sensor is considered `on` when the pin is `high` or `low`.

View File

@ -10,6 +10,7 @@ footer: true
logo: z-wave.png
ha_category: Binary Sensor
ha_release: 0.14
ha_iot_class: "Local Push"
---
To get your Z-Wave binary sensors working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).

View File

@ -22,8 +22,6 @@ To enable your FFmpeg feed in your installation, add the following to your `conf
camera:
- platform: ffmpeg
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg
extra_arguments: -q:v 2
```
Configuration variables:

View File

@ -21,8 +21,6 @@ To enable your Foscam IP camera in your installation, add the following to your
camera:
platform: foscam
ip: IP_ADDRESS
name: Door Camera
port: 88
username: USERNAME
password: PASSWORD
```
@ -31,9 +29,9 @@ Configuration variables:
- **ip** (*Required*): The IP address your camera.
- **port** (*Optional*): The port that the camera is running on. The default is 88.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Required*): The username for accessing your camera.
- **password** (*Required*): The password for accessing your camera.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
<p class='note'>
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.

View File

@ -23,18 +23,13 @@ To enable this camera in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
camera:
platform: generic
still_image_url: http://194.218.96.92/jpg/image.jpg
name: my sample camera
username: USERNAME
password: PASSWORD
authentication: basic
limit_refetch_to_url_change: true
- platform: generic
still_image_url: http://194.218.96.92/jpg/image.jpg
```
Configuration variables:
- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template].
- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/).
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Optional*): The username for accessing your camera.
- **password** (*Optional*): The password for accessing your camera.
@ -48,4 +43,3 @@ Configuration variables:
</a>
</p>
[template]: /topics/templating/

View File

@ -22,15 +22,14 @@ To enable this camera in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
camera:
platform: local_file
name: Local File
file_path: /tmp/image.jpg
- platform: local_file
file_path: /tmp/image.jpg
```
Configuration variables:
- **name** (*Optional*): Name of the camera
- **file_path** (*Required*): File to serve as the camera.
- **name** (*Optional*): Name of the camera
<p class='note'>
The given `file_path` must be an existing file because the camera platform setup make a readable check on it.

View File

@ -10,5 +10,5 @@ footer: true
---
The camera component allows you to use IP cameras with Home Assistant.
The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use [USB cameras](/blog/2016/06/23/usb-webcams-and-home-assistant/) as well.

View File

@ -22,12 +22,8 @@ To enable this camera in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
camera:
platform: mjpeg
mjpeg_url: http://192.168.1.92/mjpeg
name: my sample camera
username: USERNAME
password: PASSWORD
authentication: basic
- platform: mjpeg
mjpeg_url: http://192.168.1.92/mjpeg
```
Configuration variables:

View File

@ -21,10 +21,6 @@ To enable the Netatmo camera, you first have to set up [netatmo](/components/net
# Example configuration.yaml entry
camera:
platform: netatmo
home: home_name
cameras:
- camera_name1
- camera_name2
```
Configuration variables:
@ -33,5 +29,14 @@ Configuration variables:
- **cameras** array (*Optional*): Cameras to use. Multiple enties allowed.
- **camera_name**: Name of the camera to display.
If **home** and **cameras** is not provided, all cameras will be displayed.
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.
```yaml
# Example configuration.yaml entry
camera:
platform: netatmo
home: home_name
cameras:
- camera_name1
- camera_name2
```

View File

@ -21,16 +21,7 @@ To enable this camera in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
camera:
platform: rpi_camera
name: Raspberry Pi Camera
image_width: 640
image_height: 480
image_quality: 7
image_rotation: 0
timelapse: 1000
horizontal_flip: 0
vertical_flip: 0
file_path: /tmp/image.jpg
- platform: rpi_camera
```
Configuration variables:

View File

@ -20,10 +20,9 @@ To enable a UVC camera in your installation, add the following to your `configur
```yaml
# Example configuration.yaml entry
camera:
platform: uvc
nvr: IP_ADDRESS
port: PORT
key: APIKEY
- platform: uvc
nvr: IP_ADDRESS
key: API_KEY
```
Configuration variables:

View File

@ -10,6 +10,7 @@ footer: true
logo: ecobee.png
ha_category: Climate
ha_release: 0.9
ha_iot_class: "Cloud Push"
---
To get your Ecobee thermostats working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).

View File

@ -57,8 +57,15 @@ to the start function of /etc/init.d/hass-daemon.
```yaml
# Example configuration.yaml entry
climate:
platform: eq3btsmart
devices:
room1:
mac: '00:11:22:33:44:55'
- platform: eq3btsmart
devices:
room1:
mac: '00:11:22:33:44:55'
```
Configuration variables:
- **devices** array (*Required*): List of thermostats.
- **[device-name]** (*Required*): The name to use for the thermostat.
- **mac** (*Required*): MAC address of the thermostat.

View File

@ -9,6 +9,7 @@ sharing: true
footer: true
logo: heat-control.png
ha_category: Climate
ha_release: pre 0.7
---
@ -17,29 +18,35 @@ The `generic_thermostat` climate platform is a thermostat implemented in Home As
```yaml
# Example configuration.yaml entry
climate:
platform: generic_thermostat
name: Study
heater: switch.study_heater
target_sensor: sensor.study_temperature
min_temp: 15
max_temp: 21
target_temp: 15
min_cycle_duration:
# At least one of these must be specified:
days: 2
hours: 1
minutes: 10
seconds: 5
milliseconds: 20
- platform: generic_thermostat
name: Study
heater: switch.study_heater
target_sensor: sensor.study_temperature
```
Configuration variables:
- **name** (*Required*): Name of thermostat
- **heater** (*Required*: `entity_id` for heater switch, must be a toggle device.
- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device.
- **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature.
- **min_temp** (*Optional*): Set minimum set point available (default: 7)
- **max_temp** (*Optional*): Set maximum set point available (default: 35)
- **target_temp** (*Optional*): Set intital target temperature. Failure to set this variable will result in target temperature being set to null on startup.
- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on.
A full configuration example looks like the one below. `min_cycle_duration` must contains at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
```yaml
# Full example configuration.yaml entry
climate:
- platform: generic_thermostat
name: Study
heater: switch.study_heater
target_sensor: sensor.study_temperature
min_temp: 15
max_temp: 21
target_temp: 17
min_cycle_duration:
seconds: 5
```

View File

@ -20,8 +20,6 @@ To set it up, add the following information to your `configuration.yaml` file:
climate:
platform: honeywell
username: YOUR_USERNAME
password: YOUR_PASSWORD
region: REGION
```
Configuration variables:

View File

@ -24,15 +24,14 @@ To use your KNX thermostats in your installation, add the following to your `con
# Example configuration.yaml entry
climate:
- platform: knx
name: KNX Thermostat
address : KNX_ADDRESS
temperature_address: 0/1/1
setpoint_address: 0/1/0
```
- **name** (*Optional*): A name for this devices used within Home assistant
- **address** (*Required*): The KNX group address that is used to turn on/off this actuator channel
- **address** (*Required*): The KNX group address that is used to turn on/off this actuator channel.
- **temperature_address** (*Required*): The group address that is used to communicate the current temperature. Data format must be datapoint type 9.001 DPT_Value_Temp (2-Octet float value), check [details](http://www.knx.org/fileadmin/template/documents/downloads_support_menu/KNX_tutor_seminar_page/Advanced_documentation/05_Interworking_E1209.pdf).
- **setpoint_address** (*Required*): The group address that is used to set/read the target temperature. Data format must be datapoint type 9.001 DPT_Value_Temp (2-Octet float value). Make sure, you set the read-flag for the thermostat to allow Home Assistant to read the target temperature.
- **name** (*Optional*): A name for this devices used within Home Assistant.
With the current version of the module, no advanced KNX thermostat functionalities (e.g. HVAC mode) are supported.

View File

@ -2,15 +2,15 @@
layout: page
title: "MySensors HVAC"
description: "Instructions how to integrate MySensors climate into Home Assistant."
date: 2016-09-14 18:20 +0100
date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Climate
featured: false
ha_release: 0.29
ha_iot_class: "Local Push"
---
Integrates MySensors HVAC into Home Assistant. See the [main component] for configuration instructions.
@ -19,18 +19,18 @@ The following actuator types are supported:
##### MySensors version 1.5 and higher
S_TYPE | V_TYPE
------------|-------------
S_HVAC | V_HVAC_FLOW_STATE*, V_HVAC_SETPOINT_HEAT, V_HVAC_SETPOINT_COOL, V_HVAC_SPEED
S_TYPE | V_TYPE
-------|-----------------------------------------------------------------------------
S_HVAC | V_HVAC_FLOW_STATE*, V_HVAC_SETPOINT_HEAT, V_HVAC_SETPOINT_COOL, V_HVAC_SPEED
V_HVAC_FLOW_STATE is mapped to the state of the Climate component in HA as follows:
Home Assistant State | MySensors State
-----------------------|----------------------
STATE_COOL | CoolOn
STATE_HEAT | HeatOn
STATE_AUTO | Off
STATE_OFF | AutoChangeOver
Home Assistant State | MySensors State
---------------------|----------------
STATE_COOL | CoolOn
STATE_HEAT | HeatOn
STATE_AUTO | Off
STATE_OFF | AutoChangeOver
Currently humidity, away_mode, aux_heat, swing_mode is not supported. This will be included in later versions as feasible.
@ -44,67 +44,72 @@ For more information, visit the [serial api] of MySensors.
```cpp
/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
*/
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*/
#include <MySensor.h>
/* Include all the other Necessary code here. The example code is limited to message exchange for mysensors with the controller (ha)*/
/*
* Include all the other Necessary code here.
* The example code is limited to message exchange for mysensors
* with the controller (ha).
*/
#define CHILD_ID_HVAC 0 // childId
MyMessage msgHVACSetPointC(CHILD_ID_HVAC, V_HVAC_SETPOINT_COOL);
MyMessage msgHVACSpeed(CHILD_ID_HVAC, V_HVAC_SPEED);
MyMessage msgHVACFlowState(CHILD_ID_HVAC, V_HVAC_FLOW_STATE);
/* Include all the other Necessary code here. The example code is limited to message exchange for mysensors with the controller (ha)*/
/*
* Include all the other Necessary code here.
* The example code is limited to message exchange for mysensors
* with the controller (ha).
*/
void setup()
{
// Startup and initialize MySensors library.
// Set callback for incoming messages.
gw.begin(incomingMessage);
// Startup and initialize MySensors library. Set callback for incoming messages.
gw.begin(incomingMessage);
// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("HVAC", "0.1");
// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("HVAC", "0.1");
gw.present(CHILD_ID_HVAC, S_HVAC, "Thermostat");
gw.send(msgHVACFlowState.set("Off"));
gw.send(msgHVACSetPointC.set(target_temp));
gw.send(msgHVACSpeed.set("Max"));
}
void incomingMessage(const MyMessage &message) {
String recvData = message.data;
recvData.trim();
switch (message.type) {
case V_HVAC_SPEED:
if(recvData.equalsIgnoreCase("auto")) fan_speed = 0;
else if(recvData.equalsIgnoreCase("min")) fan_speed = 1;
else if(recvData.equalsIgnoreCase("normal")) fan_speed = 2;
else if(recvData.equalsIgnoreCase("max")) fan_speed = 3;
processHVAC();
break;
case V_HVAC_SETPOINT_COOL:
target_temp = message.getFloat();
processHVAC();
break;
case V_HVAC_FLOW_STATE:
if(recvData.equalsIgnoreCase("coolon") && (!Present_Power_On )){
togglePower();
}
else if(recvData.equalsIgnoreCase("off") && Present_Power_On ){
togglePower();
}
break;
}
gw.present(CHILD_ID_HVAC, S_HVAC, "Thermostat");
gw.send(msgHVACFlowState.set("Off"));
gw.send(msgHVACSetPointC.set(target_temp));
gw.send(msgHVACSpeed.set("Max"));
}
void loop() {
// Process incoming messages (like config from server)
gw.process();
}
// Process incoming messages (like config from server)
gw.process();
void incomingMessage(const MyMessage &message) {
String recvData = message.data;
recvData.trim();
switch (message.type) {
case V_HVAC_SPEED:
if(recvData.equalsIgnoreCase("auto")) fan_speed = 0;
else if(recvData.equalsIgnoreCase("min")) fan_speed = 1;
else if(recvData.equalsIgnoreCase("normal")) fan_speed = 2;
else if(recvData.equalsIgnoreCase("max")) fan_speed = 3;
processHVAC();
break;
case V_HVAC_SETPOINT_COOL:
target_temp = message.getFloat();
processHVAC();
break;
case V_HVAC_FLOW_STATE:
if(recvData.equalsIgnoreCase("coolon") && (!Present_Power_On )){
togglePower();
}
else if(recvData.equalsIgnoreCase("off") && Present_Power_On ){
togglePower();
}
break;
}
}
```

View File

@ -24,12 +24,9 @@ The underlaying library supports:
To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
platform: radiotherm
host:
- 192.168.99.137
- 192.168.99.202
hold_temp: True
```
Configuration variables:
@ -39,3 +36,12 @@ Configuration variables:
Temperature settings from Home Assistant will be sent to thermostat and then hold at that temperature. Set to `False` if you set a thermostat schedule on the thermostat itself and just want Home Assistant to send temporary temperature changes.
Multiple thermostats could be assigned by using `host:` if auto-detetion is not used.
```yaml
climate:
platform: radiotherm
host:
- 192.168.99.137
- 192.168.99.202
```

View File

@ -26,14 +26,6 @@ cover:
command_open: move_command up garage
command_close: move_command down garage
command_stop: move_command stop garage
command_state: state_command garage
value_template: {% raw %}>
{% if value == 'open' %}
100
{% elif value == 'closed' %}
0
{% endif %}
{% endraw %}
```
Configuration variables:
@ -46,3 +38,28 @@ Configuration variables:
- **command_state** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `command_state` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `command_state` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.
- **friendly_name** (*Optional*): The name used to display the cover in the frontend.
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title Full configuration %}
```yaml
# Example configuration.yaml entry
cover:
- platform: command_line
covers:
garage_door:
command_open: move_command up garage
command_close: move_command down garage
command_stop: move_command stop garage
command_state: state_command garage
value_template: {% raw %}>
{% if value == 'open' %}
100
{% elif value == 'closed' %}
0
{% endif %}
{% endraw %}
```

View File

@ -9,8 +9,8 @@ sharing: true
footer: true
---
Home Assistant can give you an interface to control covers such as
rollershutters and garage doors.
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
## {% linkable_title Services %}
### {% linkable_title Cover control services %}

View File

@ -30,15 +30,6 @@ cover:
name: "MQTT Cover"
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
payload_open: "PAYLOAD_OPEN"
payload_close: "PAYLOAD_CLOSE"
payload_stop: "PAYLOAD_STOP"
state_open: "STATE_OPEN"
state_closed: "STATE_CLOSED"
optimistic: false
qos: 0
retain: false
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
Configuration variables:
@ -56,8 +47,35 @@ Configuration variables:
- **retain** (*Optional*): If the published message should have the retain flag on or not. Default is `false`.
- **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:
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title Full configuration %}
The example below shows a full configuration for a cover.
```yaml
# Example configuration.yml entry
cover:
- platform: mqtt
state_topic: "home-assistant/cover"
command_topic: "home-assistant/cover/set"
name: "MQTT Cover"
qos: 0
retain: true
payload_open: "OPEN"
payload_close: "CLOSE"
payload_stop: "STOP"
state_open: "OPEN"
state_closed: "STATE"
optimistic: false
retain: false
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
For a check you can use the command line tools `mosquitto_pub` shipped with `mosquitto` to send MQTT messages. This allows you to operate your cover manually:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/cover/set -m "PAYLOAD_CLOSE"
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/cover/set -m "CLOSE"
```

View File

@ -0,0 +1,158 @@
---
layout: page
title: "MySensors Cover"
description: "Instructions how to integrate MySensors covers into Home Assistant."
date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Cover
ha_release: "0.30"
ha_iot_class: "Local Push"
---
Integrates MySensors covers 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_COVER | V_UP, V_DOWN, V_STOP, [V_DIMMER or V_LIGHT]
##### MySensors version 1.5 and higher
S_TYPE | V_TYPE
--------|-------------------------------------------------
S_COVER | V_UP, V_DOWN, V_STOP, [V_PERCENTAGE or V_STATUS]
All V_TYPES above are required. Use V_PERCENTAGE (or V_DIMMER) if you know the exact position of the cover in percent, use V_STATUS (or V_LIGHT) if you don't.
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*/
// Enable debug prints to serial monitor
#define MY_DEBUG
#define MY_RADIO_NRF24
#include <MySensors.h>
#define SN "Cover"
#define SV "1.1"
// Actuators for moving the cover up and down respectively.
#define COVER_UP_ACTUATOR_PIN 2
#define COVER_DOWN_ACTUATOR_PIN 3
// Sensors for finding out when the cover has reached its up/down position.
// These could be simple buttons or linear hall sensors.
#define COVER_UP_SENSOR_PIN 4
#define COVER_DOWN_SENSOR_PIN 5
#define CHILD_ID 0
// Internal representation of the cover state.
enum State {
IDLE,
UP, // Window covering. Up.
DOWN, // Window covering. Down.
};
static int state = IDLE;
static int status = 0; // 0=cover is down, 1=cover is up
static bool initial_state_sent = false;
MyMessage upMessage(CHILD_ID, V_UP);
MyMessage downMessage(CHILD_ID, V_DOWN);
MyMessage stopMessage(CHILD_ID, V_STOP);
MyMessage statusMessage(CHILD_ID, V_STATUS);
void sendState() {
// Send current state and status to gateway.
send(upMessage.set(state == UP));
send(downMessage.set(state == DOWN));
send(stopMessage.set(state == IDLE));
send(statusMessage.set(status));
}
void setup() {
pinMode(COVER_UP_SENSOR_PIN, INPUT);
pinMode(COVER_DOWN_SENSOR_PIN, INPUT);
}
void presentation() {
sendSketchInfo(SN, SV);
present(CHILD_ID, S_COVER);
}
void loop() {
if (!initial_state_sent) {
sendState();
initial_state_sent = true;
}
if (state == IDLE) {
digitalWrite(COVER_UP_ACTUATOR_PIN, LOW);
digitalWrite(COVER_DOWN_ACTUATOR_PIN, LOW);
}
if (state == UP && digitalRead(COVER_UP_SENSOR_PIN) == HIGH) {
Serial.println("Cover is up.");
// Update status and state; send it to the gateway.
status = 1;
state = IDLE;
sendState();
// Actuators will be disabled in next loop() iteration.
}
if (state == DOWN && digitalRead(COVER_DOWN_SENSOR_PIN) == HIGH) {
Serial.println("Cover is down.");
// Update status and state; send it to the gateway.
status = 0;
state = IDLE;
sendState();
// Actuators will be disabled in next loop() iteration.
}
}
void receive(const MyMessage &message) {
if (message.type == V_UP) {
// Set state to covering up and send it back to the gateway.
state = UP;
sendState();
Serial.println("Moving cover up.");
// Activate actuator until the sensor returns HIGH in loop().
digitalWrite(COVER_UP_ACTUATOR_PIN, HIGH);
}
if (message.type == V_DOWN) {
// Set state to covering up and send it back to the gateway.
state = DOWN;
sendState();
Serial.println("Moving cover down.");
// Activate actuator until the sensor returns HIGH in loop().
digitalWrite(COVER_DOWN_ACTUATOR_PIN, HIGH);
}
if (message.type == V_STOP) {
// Set state to idle and send it back to the gateway.
state = IDLE;
sendState();
Serial.println("Stopping cover.");
// Actuators will be switched off in loop().
}
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_20

View File

@ -18,7 +18,8 @@ First you have to set up your [rfxtrx hub](/components/rfxtrx/).
### {% linkable_title Configuration %}
##### Siemens/LightwaveRF
##### {% linkable_title Siemens/LightwaveRF %}
The easiest way to find your roller shutters is to add this to your `configuration.yaml`:
```yaml
@ -27,11 +28,9 @@ cover:
automatic_add: True
```
Launch your homeassistant and go the website (e.g http://localhost:8123).
Push your remote and your device should be added.
Launch your homeassistant and go the website (e.g http://localhost:8123). Push your remote and your device should be added.
Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify that it works from the frontend.
Then you should update your configuration to:
Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify that it works from the frontend. Then you should update your configuration to:
```yaml
cover:
@ -41,10 +40,12 @@ cover:
name: device_name
```
##### RFY
##### {% linkable_title RFY %}
The [RFXtrx433e](http://www.rfxcom.com/RFXtrx433E-USB-43392MHz-Transceiver/en) is required for RFY support, however it does not support receive for the RFY protocol - as such devices cannot be automatically added. Instead, configure the device in the [rfxmngr](http://www.rfxcom.com/downloads.htm) tool. Make a note of the assigned ID and Unit Code and then add a device to the configuration with the following id `071a0000[id][unit_code]`. Eg, if the id was `0a` `00` `01`, and the unit code was `01` then the fully qualified id would be `071a00000a000101`.
##### Common
##### {% linkable_title Common %}
Example configuration:
```yaml
@ -63,6 +64,6 @@ cover:
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 roller shutters (Siemens/LightwaveRF only).
- **automatic_add** (*Optional*): To enable the automatic addition of new covers (Siemens/LightwaveRF only).
- **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 roller shutter to try to send each signal repeatedly.
- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations.

View File

@ -19,7 +19,7 @@ It uses two pins on the Raspberry Pi.
- The `state_pin` will detect if the cover is closed, and
- the `relay_pin` will trigger the cover to open or close.
Although you do not need Andrews Hilliday's software controller when you run Home Assistant, he has written clear instructions on how to hook your garage door & sensors up to your Raspberry Pi, which can be found [here](https://github.com/andrewshilliday/garage-door-controller#hardware-setup).
Although you do not need Andrews Hilliday's software controller when you run Home Assistant, he has written clear instructions on how to hook your garage door and sensors up to your Raspberry Pi, which can be found [here](https://github.com/andrewshilliday/garage-door-controller#hardware-setup).
To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file:
@ -27,12 +27,9 @@ To enable Raspberry Pi Covers in your installation, add the following to your `c
# Example configuration.yaml entry
cover:
platform: rpi_gpio
state_pull_mode: DOWN
relay_time: 1
covers:
- relay_pin: 10
state_pin: 11
name: 'Left door'
- relay_pin: 12
state_pin: 13
name: 'Right door'

View File

@ -24,10 +24,6 @@ To enable this component, add the following lines to your `configuration.yaml` f
```yaml
# Example configuration.yaml entry
device_sun_light_trigger:
light_group: group.living_room
light_profile: relax
device_group: group.my_devices
disable_turn_off: 1
```
Configuration variables:
@ -37,3 +33,13 @@ Configuration variables:
- **device_group** (*Optional*): Specify which group of devices to track.
- **disable_turn_off** (*Optional*): Disable lights being turned off when everybody leaves the house.
A full configuration example could look like this:
```yaml
# Example configuration.yaml entry
device_sun_light_trigger:
light_group: group.living_room
light_profile: relax
device_group: group.my_devices
disable_turn_off: 1
```

View File

@ -27,16 +27,16 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: actiontec
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: actiontec
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*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

@ -28,17 +28,17 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: aruba
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: aruba
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** *Required*: The IP address of your router, e.g. 192.168.1.1.
- **username** *Required*: The username of an user with administrative privileges, usually *admin*.
- **password** *Required*: The password for your given admin account.
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -20,21 +20,18 @@ To use an ASUSWRT router in your installation, add the following to your `config
```yaml
# Example configuration.yaml entry
device_tracker:
platform: asuswrt
host: YOUR_ROUTER_IP
protocol: telnet
mode: router
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: asuswrt
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
```
Configuration variables:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1.
- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Optional*): The password for your given admin account (use this if no SSH key is given).
- **protocol** (*Optional*): The protocol (`ssh` or `telnet`) to use. Defaults to `ssh`.
- **mode** (*Optional*): The operating mode of the router (`router` or `ap`). Defaults to `router`.
- **username** (*Required*): The username of an user with administrative privileges, usually *admin*.
- **password** (*Optional*): The password for your admin account (use this if no SSH key is given).
- **ssh_key** (*Optional*): The path to your SSH private key file associated with your given admin account (instead of password).
<p class='note warning'>

View File

@ -20,22 +20,22 @@ To use an Automatic ODB reader in your installation, add the following to your `
```yaml
# Example configuration.yaml entry
device_tracker:
platform: automatic
client_id: 1234567
secret: 0987654321
username: your@email.com
password: your_password
devices:
- 2007 Honda Element
- 2004 Subaru Impreza
- platform: automatic
client_id: 1234567
secret: 0987654321
username: your@email.com
password: your_password
devices:
- 2007 Honda Element
- 2004 Subaru Impreza
```
Configuration variables:
- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/).
- **secret** (*Require*): The OAuth client secret (get from https://developer.automatic.com/).
- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/).
- **username** (*Required*): The username associated with your ODB reader.
- **password** (*Required*): The password for your given ODB reader account.
- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the cars to be tracked.

View File

@ -20,11 +20,16 @@ Devices discovered are stored with 'BLE_' as the prefix for device mac addresses
Requires PyBluez. If you are on Raspbian, make sure you first install `bluetooth` and `libbluetooth-dev` by running `sudo apt install bluetooth libbluetooth-dev`
</p>
<p class='note warning'>
Requires gattlib, which is not compatible with windows. This tracker won't work on windows!
</p>
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: bluetooth_le_tracker
- platform: bluetooth_le_tracker
```
As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
@ -35,8 +40,8 @@ BTLE tracking requires root privileges.
For running Home Assistant as non root user we can give python3 the missing capabilities to access the bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information).
```bash
sudo apt-get install libcap2-bin
sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
$ sudo apt-get install libcap2-bin
$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
```
A restart of Home Assistant is required.

View File

@ -9,20 +9,20 @@ sharing: true
footer: true
logo: bluetooth.png
ha_category: Presence Detection
ha_iot_class: "Local Poll"
ha_iot_class: "Local Polling"
ha_release: 0.18
---
This tracker discovers new devices on boot and tracks bluetooth devices periodically based on interval_seconds value. It is not required to pair the devices with each other!
Devices discovered are stored with 'bt_' as the prefix for device mac addresses in `known_devices.yaml`.
This tracker discovers new devices on boot and tracks bluetooth devices periodically based on interval_seconds value. It is not required to pair the devices with each other! Devices discovered are stored with 'bt_' as the prefix for device mac addresses in `known_devices.yaml`.
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: bluetooth_tracker
- platform: bluetooth_tracker
```
In some cases it can be that your device is not discovered. In that case let your phone scan for BT devices while you restart HA. Just hit Scan on your phone all the time until HA is fully restarted and the device should appear in `known_devices.yaml`.
In some cases it can be that your device is not discovered. In that case let your phone scan for BT devices while you restart Home Assistant. Just hit `Scan` on your phone all the time until Home Assisstant is fully restarted and the device should appear in `known_devices.yaml`.
For additional configuration variables check the [Device tracker page](/components/device_tracker/).

View File

@ -19,11 +19,8 @@ To use a BT Home Hub 5 router in your installation, add the following to your `c
```yaml
# Example configuration.yaml entry
device_tracker:
platform: bt_home_hub_5
host: 192.168.1.254
interval_seconds: 10
consider_home: 180
track_new_devices: yes
- platform: bt_home_hub_5
host: 192.168.1.254
```
Configuration variables:

View File

@ -19,16 +19,16 @@ To use a DD-WRT router in your installation, add the following to your `configur
```yaml
# Example configuration.yaml entry
device_tracker:
platform: ddwrt
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: ddwrt
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -24,16 +24,13 @@ To use an Fritz!Box router in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: fritz
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: fritz
```
Configuration variables:
- **host** (*Optional*): The IP address of your router, eg. 192.168.1.1. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
- **username** (*Optional*: The username of an user with administrative privileges, usually *admin*.
- **host** (*Optional*): The IP address of your router, eg. `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
- **username** (*Optional*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Optional*): The password for your given admin account.
<p class='note'>

View File

@ -22,9 +22,9 @@ To integrate iCloud in Home Assistant, add the following section to your `config
```yaml
# Example configuration.yaml entry
device_tracker:
platform: icloud
username: USERNAME
password: PASSWORD
- platform: icloud
username: USERNAME
password: PASSWORD
```
Configuration variables:

View File

@ -18,7 +18,7 @@ To integrate Locative in Home Assistant, add the following section to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: locative
- platform: locative
```
Install on your smartphone:

View File

@ -9,6 +9,7 @@ sharing: true
footer: true
logo: openwrt.png
ha_category: Presence Detection
ha_release: pre 0.7
---
_This is one of the two ways we support OpenWRT. If you encounter problems, try [ubus](/components/device_tracker.ubus/)._
@ -18,7 +19,7 @@ This is a presence detection scanner for OpenWRT using [luci](http://wiki.openwr
Before this scanner can be used you have to install the luci RPC package on OpenWRT:
```bash
opkg install luci-mod-rpc
# opkg install luci-mod-rpc
```
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
@ -26,16 +27,16 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: luci
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: luci
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1.
- **username** (*Required*): The username of an user with administrative privileges, usually *admin*.
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -20,10 +20,10 @@ To get started add the following lines to your `configuration.yaml` (example for
```yaml
# Example configuration.yaml entry for Netgear device
device_tracker:
platform: netgear
host: 192.168.1.1
username: admin
password: YOUR_PASSWORD
- platform: netgear
host: 192.168.1.1
username: admin
password: YOUR_PASSWORD
```
The following optional parameters can be used with any platform. However device tracker will only look for global settings under the configuration of the first configured platform:
@ -34,6 +34,19 @@ The following optional parameters can be used with any platform. However device
| `interval_seconds` | 12 | Seconds between each scan for new devices |
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. |
The extended example from above would look like the following sample:
```yaml
# Example configuration.yaml entry for Netgear device
device_tracker:
- platform: netgear
host: 192.168.1.1
username: admin
interval_seconds: 10
consider_home: 180
track_new_devices: yes
```
Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_tracker/). The state of the device will be determined by the source that reported last.
# {% linkable_title `known_devices.yaml` %}

View File

@ -19,11 +19,10 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: mqtt
qos: 1
devices:
paulus_oneplus: /location/paulus
annetherese_n4: /location/annetherese
- platform: mqtt
devices:
paulus_oneplus: /location/paulus
annetherese_n4: /location/annetherese
```
Configuration variables:

View File

@ -21,17 +21,16 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: netgear
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
port: YOUR_ROUTER_PORT
- platform: netgear
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
- **port** (*Optional*): The port your router communicates with (defaults to 5000, but 80 is also known to be used on some models)

View File

@ -15,25 +15,35 @@ featured: false
As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`).
If you're on Debian or Ubuntu, you might have to install the packages for `arp` and `nmap`. Do so by running `apt-get install net-tools nmap`. On a Fedora host run `sudo dnf -y install nmap`.
If you're on Debian or Ubuntu, you might have to install the packages for `arp` and `nmap`. Do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: nmap_tracker
hosts: 192.168.1.1/24
home_interval: 10
exclude:
- 192.168.1.12
- 192.168.1.13
- platform: nmap_tracker
hosts: 192.168.1.1/24
```
Configuration variables:
- **hosts** (*Required*): The network range to scan in CIDR notation, eg. 192.168.1.1/24
- **hosts** (*Required*): The network range to scan in CIDR notation, eg. `192.168.1.1/24`.
- **home_interval** (*Optional*): The number of minutes nmap will not scan this device, assuming it is home, in order to preserve the device battery.
- **exclude** (*Optional*): Hosts not to include in nmap scanning.
A full example for the `nmap` tracker could look like the following sample:
```yaml
# Example configuration.yaml entry for nmap
device_tracker:
- platform: nmap_tracker
hosts: 192.168.1.1/24
home_interval: 10
exclude:
- 192.168.1.12
- 192.168.1.13
```
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -23,12 +23,7 @@ To integrate Owntracks in Home Assistant, add the following section to your `con
```yaml
# Example configuration.yaml entry
device_tracker:
platform: owntracks
max_gps_accuracy: 200
waypoints: True
waypoint_whitelist:
- jon
- ram
- platform: owntracks
```
Configuration variables:
@ -37,6 +32,19 @@ Configuration variables:
- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`.
- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](https://home-assistant.io/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. Defaults to all users who are connected to Home Assistant via Owntracks.
A full sample configuration for the `owntracks` plaftfrom is shown below:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: owntracks
max_gps_accuracy: 200
waypoints: True
waypoint_whitelist:
- jon
- ram
```
### {% 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. The naming convention for known device list is `<username>_<device-id>` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/).

View File

@ -20,6 +20,7 @@ This device tracker needs SNMP to be enabled on the router.
</p>
OID examples:
- 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)
@ -33,10 +34,10 @@ To use the SNMP platform in your installation, add the following to your `config
```yaml
# Example configuration.yaml entry
device_tracker:
platform: snmp
host: 192.168.1.1
community: public
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
- platform: snmp
host: 192.168.1.1
community: public
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
Configuration variables:

View File

@ -21,10 +21,10 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: thomson
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: thomson
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:

View File

@ -9,21 +9,22 @@ sharing: true
footer: true
logo: tomato.png
ha_category: Presence Detection
ha_release: pre 0.7
---
Tomato requires an extra config variable called `http_id`. The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
The `tomato` platform requires an extra config variable called `http_id`. The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: tomato
host: YOUR_ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
http_id: YOUR_HTTP_ID
- platform: tomato
host: YOUR_ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
http_id: YOUR_HTTP_ID
```
Configuration variables:

View File

@ -13,7 +13,7 @@ ha_release: pre 0.7
---
This platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) device. This includes the ArcherC9 line.
The `tplink` platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) device. This includes the ArcherC9 line.
<p class='note'>
TP-Link devices typically only allow one login at a time to the admin console. This component will count torwards your one allowed login. Depending on how aggressively you configure device_tracker you may not be able to access the admin console of your TP-Link device without first stopping Home Assistant (and waiting a few minutes for the session to timeout) before you'll be able to login.
@ -23,10 +23,10 @@ TP-Link devices typically only allow one login at a time to the admin console.
```yaml
# Example configuration.yaml entry
device_tracker:
platform: tplink
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: tplink
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:

View File

@ -57,10 +57,10 @@ After this is done, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: ubus
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
- platform: ubus
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:

View File

@ -20,20 +20,17 @@ To use this device tracker in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
device_tracker:
platform: unifi
host: CONTROLLER
port: PORT
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
site_id: SITE_ID
- platform: unifi
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 admin account.
- **site_id** (*Optional*): Allows you to specify a site_id for device tracking. Defaults to "default". Found in the URL of the controller (i.e. https://CONTROLLER:PORT/manage/site/SITE_ID/dashboard)
- **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.
- **site_id** (*Optional*): Allows you to specify a `site_id` for device tracking. Defaults to `default`. Found in the URL of the controller (i.e. https://CONTROLLER:PORT/manage/site/SITE_ID/dashboard)
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Volvo On Call"
description: "Instructions for how to integrate Volvo On Call into Home Assistant."
date: 2016-10-02 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: volvo.png
ha_category: Presence Detection
ha_release: "0.30"
---
The `volvooncall` platform offers presence detection by retrieving your car's information from the [Volvo On Call](http://www.volvocars.com/intl/own/owner-info/volvo-on-call#) cloud service.
To use Volvo On Call in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: volvooncall
username: username
password: password
```
Configuration variables:
- **username** (*Required*): The username associated with your Volvo On Call account.
- **password** (*Required*): The password for your given Volvo On Call account.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the cars to be tracked.

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Digital Ocean"
description: "Instructions how to integrate the Digital Ocean within Home Assistant."
date: 2016-09-24 20:00
sidebar: true
comments: false
sharing: true
footer: true
featured: true
ha_category: Hub
ha_release: "0.30"
logo: digital_ocean.png
ha_iot_class: "Local Polling"
---
The `digital_ocean` component allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant.
Obtain your API key from your [Digital Ocean dashboard](https://cloud.digitalocean.com/settings/api/tokens).
To integrate your Digital Ocena droplets with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
digital_ocean:
access_token: YOUR_API_KEY
```
Configuration variables:
- **access_token** (*Required*): Your Digital Ocean API access token.

View File

@ -10,6 +10,8 @@ footer: true
logo: ecobee.png
ha_category: Hub
featured: true
ha_release: 0.9
ha_iot_class: "Cloud Push"
---
@ -48,7 +50,6 @@ To set it up, add the following information to your `configuration.yaml` file:
# Example configuration.yaml entry
ecobee:
api_key: asdfghjklqwertyuiopzxcvbnm
hold_temp: True
```
Configuration variables:

View File

@ -26,14 +26,6 @@ To enable the emulated Hue bridge, add the following to your `configuration.yaml
```yaml
# Example configuration.yaml entry
emulated_hue:
host_ip: 192.168.1.186
listen_port: 8300
off_maps_to_on_domains:
- script
- scene
expose_by_default: true
exposed_domains:
- light
```
Configuration variables:
@ -58,6 +50,21 @@ Configuration variables:
- `input_boolean`
- `media_player`
A full configuration sample looks like the one below.
```yaml
# Example configuration.yaml entry
emulated_hue:
host_ip: 192.168.1.186
listen_port: 8300
off_maps_to_on_domains:
- script
- scene
expose_by_default: true
exposed_domains:
- light
```
With additional customization you will be able to specify the behaviour of the existing entities.
```yaml

View File

@ -27,15 +27,7 @@ To enable MQTT fans in your installation, add the following to your `configurati
# Example configuration.yml entry
fan:
platform: mqtt
name: Living room
state_topic: "home/living-room/fan"
command_topic: "home/living-room/fan/set"
payload_on: "ON"
payload_off: "OFF"
optimistic: false
qos: 0
retain: true
value_template: '{% raw %}{{ value.x }}{% endraw %}'
```
Configuration variables:

View File

@ -21,8 +21,6 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
ffmpeg:
ffmpeg_bin: /usr/bin/ffmpeg
run_test: True
```
Configuration variables:

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: foursquare.png
featured: true
featured: false
ha_category: Social
ha_release: 0.26
ha_iot_class: "Cloud Polling and Cloud Push"

View File

@ -19,9 +19,6 @@ 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:

View File

@ -25,7 +25,6 @@ group:
entities:
- group.awesome_people
- group.climate
kitchen:
name: Kitchen
entities:
@ -55,7 +54,7 @@ Example of groups shown as views in the frontend.
If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once.
You can create views (tabs) that contain other groups.
You can create views (tabs) that contain other groups.
Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores).
```yaml
@ -68,9 +67,9 @@ Notice in the example below that in order to refer to the group "Living Room", y
Bedroom: light.light_bedroom, switch.sleeping
Rooms:
view: yes
view: yes
name: Rooms
entities:
- group.living_room
- group.bedroom
- group.living_room
- group.bedroom
```

View File

@ -34,9 +34,6 @@ To set up the component, add the following information to your `configuration.ya
```yaml
homematic:
local_ip: 127.0.0.1
local_port: 8943
remote_ip: 127.0.0.1
remote_port: 2001
```
Configuration variables:

View File

@ -21,15 +21,6 @@ It's HIGHLY recommended that you set the `api_password`, especially if you are p
# Example configuration.yaml entry
http:
api_password: YOUR_PASSWORD
server_port: 12345
ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem
ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
cors_allowed_origins:
- https://google.com
- https://home-assistant.io
approved_ips:
- 127.0.0.1
- 192.168.1.9
```
Configuration variables:
@ -43,6 +34,22 @@ Configuration variables:
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://home-assistant.io` will allow requests from `https://home-assistant.io` but __not__ `http://home-assistant.io`.
- **approved_ips** (*Optional*): A list of approved ips. Then it will be possible to login from given ips without providing a password.
The sample below shows a configuration entry with possible values:
```yaml
# Example configuration.yaml entry
http:
api_password: YOUR_PASSWORD
server_port: 12345
ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem
ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
cors_allowed_origins:
- https://google.com
- https://home-assistant.io
approved_ips:
- 127.0.0.1
- 192.168.1.9
```
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).

View File

@ -19,7 +19,31 @@ To use the `influxdb` component in your installation, add the following to your
```yaml
# Example configuration.yaml entry
influxdb:
host: DB_HOST_IP_ADDRESS
```
Configuration variables:
- **host** (*Optional*): IP address of your database host, eg. http://192.168.1.10. Defaults to `localhost`.
- **port** (*Optional*): Port to use. Defaults to 8086.
- **username** (*Optional*): The username of the database user.
- **password** (*Optional*): The password for the database user account.
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
- **blacklist** (*Optional*): List of entities not logged to InfluxDB.
- **whitelist** (*Optional*): List of the entities (only) that will be logged to InfluxDB. If not set, all entities will be logged. Values set by the **blacklist** option will prevail.
- **tags** (*Optional*): Tags to mark the data.
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this component.
### {% linkable_title Full configuration %}
```yaml
influxdb:
host: 192.168.1.190
port: 20000
database: DB_TO_STORE_EVENTS
username: MY_USERNAME
@ -36,17 +60,3 @@ influxdb:
instance: prod
source: hass
```
Configuration variables:
- **host** (*Optional*): IP address of your database host, eg. http://192.168.1.10. Defaults to localhost.
- **username** (*Required*): The username of the database user.
- **password** (*Required*): The password for the database user account.
- **port** (*Optional*): Port to use. Defaults to 8086.
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
- **blacklist** (*Optional*): List of entities not logged to InfluxDB.
- **whitelist** (*Optional*): List of the entities (only) that will be logged to InfluxDB. If not set, all entities will be logged. Values set by the **blacklist** option will prevail.
- **tags** (*Optional*): Tags to mark the data.

View File

@ -9,6 +9,7 @@ sharing: true
footer: true
logo: insteon.png
ha_category: Hub
ha_iot_class: "Cloud Polling"
---
The `insteon` component lets you use your [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant.

View File

@ -10,6 +10,7 @@ footer: true
logo: universal_devices.png
ha_category: Hub
ha_release: 0.28
ha_iot_class: "Local Push"
---
The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices.
@ -27,16 +28,12 @@ isy994:
host: ISY_ADDRESS
username: ISY_USERNAME
password: ISY_PASSWORD
sensor_string: SENSOR_STRING
hidden_string: HIDDEN_STRING
tls: TLS_VERSION
```
Configuration variables:
- **host** (*Required*): The host entry should be in full URL format, eg. http://192.168.10.100:80
- **username** (*Required*): The username that used to access the ISY interface.
- **password** (*Required*): The password that used to access the ISY interface.
- **sensor_string** (*Optional*): This is the string that is used to identify which devices are to be assumed to be sensors instead of lights of switches. By default, this string is 'sensor'. If this string is found in the device name or folder, Home Assistant will assume it is as a sensor or binary sensor (if the device has on/off or true/false states).
- **hidden_string** (*Optional*): The HIDDEN_STRING is a string that is used to identify which devices are to be hidden on Home Assistant's front page. This string will be stripped from the device's name before being used. By default, this value is '{HIDE ME}'.
- **tls** (*Optional*): This entry should refelct the version of TLS that the ISY controller is using for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not set, it is assumed to be version 1.1. This is the default for most users. ISY994 Pro users may likely be using 1.2. When using HTTPS in the host entry, it is best practice to set this value.

View File

@ -13,9 +13,9 @@ ha_release: "0.24"
---
The Join platform exposes services from [Join](http://joaoapps.com/join). In Home Assistant, the Join features are divided up in two locations, the Join component, and the Join notify platform. The notify platform allows us to send messages to Join devices, the the component allows us to access the other special features that Join offers.
The Join platform exposes services from [Join](http://joaoapps.com/join). In Home Assistant, the Join features are divided up in two locations, the Join component, and the Join notify platform. The notify platform allows us to send messages to Join devices, the the component allows us to access the other special features that Join offers.
In the configuartion.yaml you need to provide the device id of the target device. If you want to send to a group of devices, you need to provide an api key. You can find you device id and api key [here](https://joinjoaomgcd.appspot.com/).
In the `configuration.yaml` file you need to provide the device id of the target device. If you want to send to a group of devices, you need to provide an api key. You can find you device id and api key [here](https://joinjoaomgcd.appspot.com/).
To set it up, add the following information to your `configuration.yaml` file:
@ -32,7 +32,12 @@ joaoapps_join:
api_key: asd97823jb628a34fwsdfwefd5384345tf2d
```
The notify service has a few optional parameters such as icon and smallicon. You can use them like so:
Configuration variables:
- **device_id** (*Required*): The Id of your device.
- **api_key** (*Required*): The API key for Join.
The notify service has a few optional parameters such as icon and small icon. You can use them like so:
```json
{"message":"Hello!","title":"From Hass","data":{"icon":"https://goo.gl/KVqcYi","smallicon":"http://goo.gl/AU4Wf1"}}

View File

@ -15,12 +15,10 @@ ha_iot_class: "Local Push"
Receive signals from a keyboard and use it as a remote control.
This component allows to use a keyboard as remote control. It will
fire ´keyboard_remote_command_received´ events witch can then be used
in automation rules.
This component allows to use a keyboard as remote control. It will fire `keyboard_remote_command_received` events witch can then be used
in automation rules.
The `evdev` package is used to interface with the keyboard and thus this
is Linux only. It also means you can't use your normal keyboard for this,
The `evdev` package is used to interface with the keyboard and thus this is Linux only. It also means you can't use your normal keyboard for this,
because `evdev` will block it.
@ -28,10 +26,14 @@ because `evdev` will block it.
# Example configuration.yaml entry
keyboard_remote:
device_descriptor: '/dev/input/by-id/foo'
key_value: 'key_up' # optional alternaive 'key_down' and 'key_hold'
# be carefull, 'key_hold' fires a lot of events
key_value: 'key_up'
```
Configuration variables:
- **device_descriptor** (*Required*): List of URLS for your feeds.
- **key_value** (*Required*): Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events.
And an automation rule to bring breath live into it.
```yaml

View File

@ -27,8 +27,6 @@ A `knx` section must be present in the `configuration.yaml` file and contain the
```yaml
# Example configuration.yaml entry
knx:
host: IP_ADDRESS
port: PORT
```
- **host** (*Optional*): The IP address of the KNX/IP interface to use. It defaults to `0.0.0.0` which will start discovery for your KNX/IP gateway.

View File

@ -21,7 +21,6 @@ To use your EnOcean device, you first have to set up your [EnOcean hub](/compone
# Example configuration.yaml entry
light:
- platform: enocean
name: Living_room
id: [0x01,0x90,0x84,0x3C]
sender_id: [0xFF,0xC6,0xEA,0x04]
```

View File

@ -31,12 +31,6 @@ To enable those lights, add the following lines to your `configuration.yaml` fil
# Example configuration.yaml entry
light:
- platform: flux_led
automatic_add: BOOLEAN
devices:
IP_ADDR_1:
name: CUSTOM_NAME_1
IP_ADDR_2:
name: CUSTOM_NAME_2
```
Configuration variables:
@ -44,7 +38,8 @@ Configuration variables:
- **automatic_add** (*Optional*): To enable the automatic addition of lights on startup.
- **devices** (*Optional*): A list of devices with their ip address and a custom name to use in the frontend.
Example configuration:
### {% linkable_title Example configuration %}
Will automatically search and add all lights on start up:

View File

@ -26,8 +26,6 @@ If you want to enable the light component directly, add the following lines to y
light:
platform: hue
host: DEVICE_IP_ADDRESS
allow_unreachable: true
filename: my_hue_hub_token.conf
```
Configuration variables:

View File

@ -19,8 +19,10 @@ Hyperion is an opensource Ambilight implementation which runs on many platforms.
```yaml
# Example configuration.yaml entry
light:
platform: hyperion
host: 192.168.1.98
# Optional
port: 19444
- platform: hyperion
```
Configuration variables:
- **host** (*Optional*): To enable the automatic addition of lights on startup.
- **port** (*Optional*): A list of devices with their ip address and a custom name to use in the frontend.

View File

@ -18,9 +18,7 @@ The `lifx` platform allows you to integrate your [LIFX](http://www.lifx.com) int
```yaml
# Example configuration.yaml entry
light:
platform: lifx
server: 192.168.1.98
broadcast: 192.168.1.255
- platform: lifx
```
Configuration variables:

View File

@ -14,7 +14,7 @@ ha_iot_class: "Assumed State"
ha_release: pre 0.7
---
`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.
`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.
### {% linkable_title Setup %}
@ -28,22 +28,15 @@ light:
platform: limitlessled
bridges:
- host: 192.168.1.10
version: 5
port: 8899
groups:
- number: 1
type: rgbw
name: Bedroom
- number: 2
type: white
name: Craft Room
- number: 2
type: rgbw
name: Bathroom
- host: 192.168.1.11
groups:
- number: 1
type: rgbw
name: Living Room & Hall
```

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