diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 00000000000..98b1d287d55
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -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#`
+
+Thanks for submitting!
+
+---
diff --git a/README.markdown b/README.markdown
index 892844c479d..4fb2a2aa347 100644
--- a/README.markdown
+++ b/README.markdown
@@ -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 -
diff --git a/source/_components/alarm_control_panel.alarmdotcom.markdown b/source/_components/alarm_control_panel.alarmdotcom.markdown
index 2e654225932..fefdcaecff1 100644
--- a/source/_components/alarm_control_panel.alarmdotcom.markdown
+++ b/source/_components/alarm_control_panel.alarmdotcom.markdown
@@ -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
```
diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown
index d173d3f11a7..26bb28b126d 100644
--- a/source/_components/alarm_control_panel.manual.markdown
+++ b/source/_components/alarm_control_panel.manual.markdown
@@ -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.
diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown
index 95967a021ed..d782f48fc3c 100644
--- a/source/_components/alarm_control_panel.mqtt.markdown
+++ b/source/_components/alarm_control_panel.mqtt.markdown
@@ -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:
diff --git a/source/_components/alarm_control_panel.nx584.markdown b/source/_components/alarm_control_panel.nx584.markdown
index 19981212ae4..88b808dee95 100644
--- a/source/_components/alarm_control_panel.nx584.markdown
+++ b/source/_components/alarm_control_panel.nx584.markdown
@@ -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:
diff --git a/source/_components/alarm_control_panel.simplisafe.markdown b/source/_components/alarm_control_panel.simplisafe.markdown
index a186d692dd7..af38f6ad372 100644
--- a/source/_components/alarm_control_panel.simplisafe.markdown
+++ b/source/_components/alarm_control_panel.simplisafe.markdown
@@ -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
```
diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown
index 54375c28df6..fd25d00d0d5 100644
--- a/source/_components/apcupsd.markdown
+++ b/source/_components/apcupsd.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.apcupsd.markdown b/source/_components/binary_sensor.apcupsd.markdown
index 0c9a91d5402..946c0112062 100644
--- a/source/_components/binary_sensor.apcupsd.markdown
+++ b/source/_components/binary_sensor.apcupsd.markdown
@@ -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.
diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown
index 5dc581c119f..86d3586a260 100644
--- a/source/_components/binary_sensor.arest.markdown
+++ b/source/_components/binary_sensor.arest.markdown
@@ -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
+```
+
This sensor is not suitable for fast state changes because there is a high possibility that the change took place between two update cycle.
diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown
index 26b613f4489..fe9dbdb82e5 100644
--- a/source/_components/binary_sensor.command_line.markdown
+++ b/source/_components/binary_sensor.command_line.markdown
@@ -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"
```
diff --git a/source/_components/binary_sensor.digital_ocean.markdown b/source/_components/binary_sensor.digital_ocean.markdown
new file mode 100644
index 00000000000..48e17b354d0
--- /dev/null
+++ b/source/_components/binary_sensor.digital_ocean.markdown
@@ -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.
+
diff --git a/source/_components/binary_sensor.ecobee.markdown b/source/_components/binary_sensor.ecobee.markdown
index d99ce246696..189c943bf97 100644
--- a/source/_components/binary_sensor.ecobee.markdown
+++ b/source/_components/binary_sensor.ecobee.markdown
@@ -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/).
diff --git a/source/_components/binary_sensor.enocean.markdown b/source/_components/binary_sensor.enocean.markdown
index 5e1253cde7b..85f5fec8d51 100644
--- a/source/_components/binary_sensor.enocean.markdown
+++ b/source/_components/binary_sensor.enocean.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.ffmpeg.markdown b/source/_components/binary_sensor.ffmpeg.markdown
index 7cac913adb4..5c7fac34e9a 100644
--- a/source/_components/binary_sensor.ffmpeg.markdown
+++ b/source/_components/binary_sensor.ffmpeg.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.isy994.markdown b/source/_components/binary_sensor.isy994.markdown
index 1e5eaf55a73..bd19efab493 100644
--- a/source/_components/binary_sensor.isy994.markdown
+++ b/source/_components/binary_sensor.isy994.markdown
@@ -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.
diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown
index 0464d81f912..4da25f56736 100644
--- a/source/_components/binary_sensor.markdown
+++ b/source/_components/binary_sensor.markdown
@@ -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)
diff --git a/source/_components/binary_sensor.modbus.markdown b/source/_components/binary_sensor.modbus.markdown
index 2c48b1f7523..491c4c2d040 100644
--- a/source/_components/binary_sensor.modbus.markdown
+++ b/source/_components/binary_sensor.modbus.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown
index a5cd4ab05f7..e701a556c4f 100644
--- a/source/_components/binary_sensor.mqtt.markdown
+++ b/source/_components/binary_sensor.mqtt.markdown
@@ -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 %}'
+```
+
diff --git a/source/_components/binary_sensor.mysensors.markdown b/source/_components/binary_sensor.mysensors.markdown
index 43b0610fd00..2d1c74226cf 100644
--- a/source/_components/binary_sensor.mysensors.markdown
+++ b/source/_components/binary_sensor.mysensors.markdown
@@ -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.
diff --git a/source/_components/binary_sensor.nest.markdown b/source/_components/binary_sensor.nest.markdown
index 893e5788b40..88aee1f9790 100644
--- a/source/_components/binary_sensor.nest.markdown
+++ b/source/_components/binary_sensor.nest.markdown
@@ -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.
diff --git a/source/_components/binary_sensor.nx584.markdown b/source/_components/binary_sensor.nx584.markdown
index a20e681a3ce..b0a7326c8b1 100644
--- a/source/_components/binary_sensor.nx584.markdown
+++ b/source/_components/binary_sensor.nx584.markdown
@@ -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
diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown
index 309685014d9..c4bf736c3b1 100644
--- a/source/_components/binary_sensor.octoprint.markdown
+++ b/source/_components/binary_sensor.octoprint.markdown
@@ -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'.
diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown
index 59b9c5e1591..dda929874c3 100644
--- a/source/_components/binary_sensor.rest.markdown
+++ b/source/_components/binary_sensor.rest.markdown
@@ -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.
+
+## {% 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 }}'
+```
+
diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown
index d5fe8ddb50c..8af41e2a9b1 100644
--- a/source/_components/binary_sensor.rpi_gpio.markdown
+++ b/source/_components/binary_sensor.rpi_gpio.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.tcp.markdown b/source/_components/binary_sensor.tcp.markdown
index 8186c09d7e2..ca63ebf8823 100644
--- a/source/_components/binary_sensor.tcp.markdown
+++ b/source/_components/binary_sensor.tcp.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.trend.markdown b/source/_components/binary_sensor.trend.markdown
index 404c6a949ef..553fa8e1865 100644
--- a/source/_components/binary_sensor.trend.markdown
+++ b/source/_components/binary_sensor.trend.markdown
@@ -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:
diff --git a/source/_components/binary_sensor.vera.markdown b/source/_components/binary_sensor.vera.markdown
index b8004fa74bb..f28c1978fae 100644
--- a/source/_components/binary_sensor.vera.markdown
+++ b/source/_components/binary_sensor.vera.markdown
@@ -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.
diff --git a/source/_components/binary_sensor.wink.markdown b/source/_components/binary_sensor.wink.markdown
index 262d9c48615..f50296e4d4e 100644
--- a/source/_components/binary_sensor.wink.markdown
+++ b/source/_components/binary_sensor.wink.markdown
@@ -10,6 +10,7 @@ footer: true
logo: wink.png
ha_category: Binary Sensor
ha_release: 0.14
+ha_iot_class: "Cloud Polling"
---
diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown
index 48302659e51..95f027fa708 100644
--- a/source/_components/binary_sensor.zigbee.markdown
+++ b/source/_components/binary_sensor.zigbee.markdown
@@ -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`.
diff --git a/source/_components/binary_sensor.zwave.markdown b/source/_components/binary_sensor.zwave.markdown
index 80b29acab8b..233411d4f2e 100644
--- a/source/_components/binary_sensor.zwave.markdown
+++ b/source/_components/binary_sensor.zwave.markdown
@@ -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/).
diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown
index cbfeda8018a..ce7c14dab0e 100644
--- a/source/_components/camera.ffmpeg.markdown
+++ b/source/_components/camera.ffmpeg.markdown
@@ -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:
diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown
index 40e8924069b..9d24f5e8441 100644
--- a/source/_components/camera.foscam.markdown
+++ b/source/_components/camera.foscam.markdown
@@ -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.
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown
index 14fcac68762..14b57b1428b 100644
--- a/source/_components/camera.generic.markdown
+++ b/source/_components/camera.generic.markdown
@@ -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:
-[template]: /topics/templating/
diff --git a/source/_components/camera.local_file.markdown b/source/_components/camera.local_file.markdown
index 4fc2cb7cdcb..6dade4b4c59 100644
--- a/source/_components/camera.local_file.markdown
+++ b/source/_components/camera.local_file.markdown
@@ -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
The given `file_path` must be an existing file because the camera platform setup make a readable check on it.
diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown
index e56503400c1..88840ff2112 100644
--- a/source/_components/camera.markdown
+++ b/source/_components/camera.markdown
@@ -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.
diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown
index da77c05a216..642d3278ae9 100644
--- a/source/_components/camera.mjpeg.markdown
+++ b/source/_components/camera.mjpeg.markdown
@@ -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:
diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown
index 662159d6a36..35edddaa25f 100644
--- a/source/_components/camera.netatmo.markdown
+++ b/source/_components/camera.netatmo.markdown
@@ -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
+```
diff --git a/source/_components/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown
index 56aacbc0775..7189dfd3d8a 100644
--- a/source/_components/camera.rpi_camera.markdown
+++ b/source/_components/camera.rpi_camera.markdown
@@ -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:
diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown
index d49d631f9b2..3001ccff930 100644
--- a/source/_components/camera.uvc.markdown
+++ b/source/_components/camera.uvc.markdown
@@ -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:
diff --git a/source/_components/climate.ecobee.markdown b/source/_components/climate.ecobee.markdown
index 5f54c6f9027..48c31005144 100644
--- a/source/_components/climate.ecobee.markdown
+++ b/source/_components/climate.ecobee.markdown
@@ -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/).
diff --git a/source/_components/climate.eq3btsmart.markdown b/source/_components/climate.eq3btsmart.markdown
index 6bb20c45227..127f32edb59 100644
--- a/source/_components/climate.eq3btsmart.markdown
+++ b/source/_components/climate.eq3btsmart.markdown
@@ -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.
+
diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown
index 0f4caf9ae5b..8d008a6329a 100644
--- a/source/_components/climate.generic_thermostat.markdown
+++ b/source/_components/climate.generic_thermostat.markdown
@@ -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
+```
diff --git a/source/_components/climate.honeywell.markdown b/source/_components/climate.honeywell.markdown
index 923f8a229ec..0e7b0566ff3 100644
--- a/source/_components/climate.honeywell.markdown
+++ b/source/_components/climate.honeywell.markdown
@@ -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:
diff --git a/source/_components/climate.knx.markdown b/source/_components/climate.knx.markdown
index 2f8db8ff022..6297448c231 100644
--- a/source/_components/climate.knx.markdown
+++ b/source/_components/climate.knx.markdown
@@ -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.
diff --git a/source/_components/climate.mysensors.markdown b/source/_components/climate.mysensors.markdown
index 4620a13a46f..1c1ce8cea03 100644
--- a/source/_components/climate.mysensors.markdown
+++ b/source/_components/climate.mysensors.markdown
@@ -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
-/* 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;
+ }
}
```
diff --git a/source/_components/climate.radiotherm.markdown b/source/_components/climate.radiotherm.markdown
index c9cd07e0bd4..9b86da36ac8 100644
--- a/source/_components/climate.radiotherm.markdown
+++ b/source/_components/climate.radiotherm.markdown
@@ -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
+```
diff --git a/source/_components/cover.command_line.markdown b/source/_components/cover.command_line.markdown
index b3bcd690d60..da3e186951e 100644
--- a/source/_components/cover.command_line.markdown
+++ b/source/_components/cover.command_line.markdown
@@ -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 %}
+```
diff --git a/source/_components/cover.markdown b/source/_components/cover.markdown
index 613a27d1a30..fec8d7b9222 100644
--- a/source/_components/cover.markdown
+++ b/source/_components/cover.markdown
@@ -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 %}
diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown
index ef2c9a51e05..62d55d7d8a3 100644
--- a/source/_components/cover.mqtt.markdown
+++ b/source/_components/cover.mqtt.markdown
@@ -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"
```
diff --git a/source/_components/cover.mysensors.markdown b/source/_components/cover.mysensors.markdown
new file mode 100644
index 00000000000..c94ec4f57fb
--- /dev/null
+++ b/source/_components/cover.mysensors.markdown
@@ -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
+#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
diff --git a/source/_components/cover.rfxtrx.markdown b/source/_components/cover.rfxtrx.markdown
index 0a8b3b8180b..afa9e70ca35 100644
--- a/source/_components/cover.rfxtrx.markdown
+++ b/source/_components/cover.rfxtrx.markdown
@@ -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.
diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown
index eafa1d6f97f..f152aad8b79 100644
--- a/source/_components/cover.rpi_gpio.markdown
+++ b/source/_components/cover.rpi_gpio.markdown
@@ -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'
diff --git a/source/_components/device_sun_light_trigger.markdown b/source/_components/device_sun_light_trigger.markdown
index dd2b298b2e1..e0a75a093c4 100644
--- a/source/_components/device_sun_light_trigger.markdown
+++ b/source/_components/device_sun_light_trigger.markdown
@@ -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
+```
diff --git a/source/_components/device_tracker.actiontec.markdown b/source/_components/device_tracker.actiontec.markdown
index 774b7ec2823..b2923535855 100644
--- a/source/_components/device_tracker.actiontec.markdown
+++ b/source/_components/device_tracker.actiontec.markdown
@@ -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.
diff --git a/source/_components/device_tracker.aruba.markdown b/source/_components/device_tracker.aruba.markdown
index 1834d591db4..0dd61025558 100644
--- a/source/_components/device_tracker.aruba.markdown
+++ b/source/_components/device_tracker.aruba.markdown
@@ -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.
diff --git a/source/_components/device_tracker.asuswrt.markdown b/source/_components/device_tracker.asuswrt.markdown
index 356795071f1..fa532e442cf 100644
--- a/source/_components/device_tracker.asuswrt.markdown
+++ b/source/_components/device_tracker.asuswrt.markdown
@@ -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).
diff --git a/source/_components/device_tracker.automatic.markdown b/source/_components/device_tracker.automatic.markdown
index 9d38582459d..6e1b998c26b 100644
--- a/source/_components/device_tracker.automatic.markdown
+++ b/source/_components/device_tracker.automatic.markdown
@@ -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.
diff --git a/source/_components/device_tracker.bluetooth_le_tracker.markdown b/source/_components/device_tracker.bluetooth_le_tracker.markdown
index 335a38bfb77..3d7d31e0f91 100644
--- a/source/_components/device_tracker.bluetooth_le_tracker.markdown
+++ b/source/_components/device_tracker.bluetooth_le_tracker.markdown
@@ -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`
+
+Requires gattlib, which is not compatible with windows. This tracker won't work on windows!
+
+
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.
diff --git a/source/_components/device_tracker.bluetooth_tracker.markdown b/source/_components/device_tracker.bluetooth_tracker.markdown
index ff4e0e67e6e..807e8e35fb7 100644
--- a/source/_components/device_tracker.bluetooth_tracker.markdown
+++ b/source/_components/device_tracker.bluetooth_tracker.markdown
@@ -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/).
diff --git a/source/_components/device_tracker.bt_home_hub_5.markdown b/source/_components/device_tracker.bt_home_hub_5.markdown
index 3318cdc65ee..9fd185eadd8 100644
--- a/source/_components/device_tracker.bt_home_hub_5.markdown
+++ b/source/_components/device_tracker.bt_home_hub_5.markdown
@@ -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:
diff --git a/source/_components/device_tracker.ddwrt.markdown b/source/_components/device_tracker.ddwrt.markdown
index 311324a6300..7cb07f3ba6b 100644
--- a/source/_components/device_tracker.ddwrt.markdown
+++ b/source/_components/device_tracker.ddwrt.markdown
@@ -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.
diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown
index 3d35a033274..fa7ae119426 100644
--- a/source/_components/device_tracker.fritz.markdown
+++ b/source/_components/device_tracker.fritz.markdown
@@ -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.
diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown
index 220eda5d01e..4c19a009cc4 100644
--- a/source/_components/device_tracker.icloud.markdown
+++ b/source/_components/device_tracker.icloud.markdown
@@ -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:
diff --git a/source/_components/device_tracker.locative.markdown b/source/_components/device_tracker.locative.markdown
index 9e4f6b7b0af..2379db6bfb9 100644
--- a/source/_components/device_tracker.locative.markdown
+++ b/source/_components/device_tracker.locative.markdown
@@ -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:
diff --git a/source/_components/device_tracker.luci.markdown b/source/_components/device_tracker.luci.markdown
index 81e60df206c..937193752e5 100644
--- a/source/_components/device_tracker.luci.markdown
+++ b/source/_components/device_tracker.luci.markdown
@@ -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.
diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown
index 451055dd222..7844c76506c 100644
--- a/source/_components/device_tracker.markdown
+++ b/source/_components/device_tracker.markdown
@@ -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` %}
diff --git a/source/_components/device_tracker.mqtt.markdown b/source/_components/device_tracker.mqtt.markdown
index 2019f1ef573..b8c4518e04a 100644
--- a/source/_components/device_tracker.mqtt.markdown
+++ b/source/_components/device_tracker.mqtt.markdown
@@ -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:
diff --git a/source/_components/device_tracker.netgear.markdown b/source/_components/device_tracker.netgear.markdown
index 005773f2186..780fc170d11 100644
--- a/source/_components/device_tracker.netgear.markdown
+++ b/source/_components/device_tracker.netgear.markdown
@@ -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)
diff --git a/source/_components/device_tracker.nmap_tracker.markdown b/source/_components/device_tracker.nmap_tracker.markdown
index 6334ab3a0b1..08c8114071d 100644
--- a/source/_components/device_tracker.nmap_tracker.markdown
+++ b/source/_components/device_tracker.nmap_tracker.markdown
@@ -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.
diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown
index b63c97d8dbf..78eb5a7d5c1 100644
--- a/source/_components/device_tracker.owntracks.markdown
+++ b/source/_components/device_tracker.owntracks.markdown
@@ -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 `_` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/).
diff --git a/source/_components/device_tracker.snmp.markdown b/source/_components/device_tracker.snmp.markdown
index 79528b9646e..e2bde595b32 100644
--- a/source/_components/device_tracker.snmp.markdown
+++ b/source/_components/device_tracker.snmp.markdown
@@ -20,6 +20,7 @@ This device tracker needs SNMP to be enabled on the router.
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:
diff --git a/source/_components/device_tracker.thomson.markdown b/source/_components/device_tracker.thomson.markdown
index 8a81c40ad9e..f9d39eb6d7f 100644
--- a/source/_components/device_tracker.thomson.markdown
+++ b/source/_components/device_tracker.thomson.markdown
@@ -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:
diff --git a/source/_components/device_tracker.tomato.markdown b/source/_components/device_tracker.tomato.markdown
index f073ecfa2bc..01b8336ac41 100644
--- a/source/_components/device_tracker.tomato.markdown
+++ b/source/_components/device_tracker.tomato.markdown
@@ -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:
diff --git a/source/_components/device_tracker.tplink.markdown b/source/_components/device_tracker.tplink.markdown
index 14a9ddac8ea..34b50d183b2 100644
--- a/source/_components/device_tracker.tplink.markdown
+++ b/source/_components/device_tracker.tplink.markdown
@@ -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.
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:
diff --git a/source/_components/device_tracker.ubus.markdown b/source/_components/device_tracker.ubus.markdown
index ffa6d159d98..3050558dda2 100644
--- a/source/_components/device_tracker.ubus.markdown
+++ b/source/_components/device_tracker.ubus.markdown
@@ -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:
diff --git a/source/_components/device_tracker.unifi.markdown b/source/_components/device_tracker.unifi.markdown
index cfb21234c37..f1586d50948 100644
--- a/source/_components/device_tracker.unifi.markdown
+++ b/source/_components/device_tracker.unifi.markdown
@@ -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.
diff --git a/source/_components/device_tracker.volvooncall.markdown b/source/_components/device_tracker.volvooncall.markdown
new file mode 100644
index 00000000000..d09efd871db
--- /dev/null
+++ b/source/_components/device_tracker.volvooncall.markdown
@@ -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.
diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown
new file mode 100644
index 00000000000..7e20f8dc5d2
--- /dev/null
+++ b/source/_components/digital_ocean.markdown
@@ -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.
diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown
index 5caa423d5f9..57ecdd0482a 100644
--- a/source/_components/ecobee.markdown
+++ b/source/_components/ecobee.markdown
@@ -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:
diff --git a/source/_components/emulated_hue.markdown b/source/_components/emulated_hue.markdown
index fa897ba28ff..c434c64aef2 100644
--- a/source/_components/emulated_hue.markdown
+++ b/source/_components/emulated_hue.markdown
@@ -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
diff --git a/source/_components/fan.mqtt.markdown b/source/_components/fan.mqtt.markdown
index b03d00bccbd..2ddbbfc5db2 100644
--- a/source/_components/fan.mqtt.markdown
+++ b/source/_components/fan.mqtt.markdown
@@ -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:
diff --git a/source/_components/ffmpeg.markdown b/source/_components/ffmpeg.markdown
index 4c4fc9ed495..601ea844e7f 100644
--- a/source/_components/ffmpeg.markdown
+++ b/source/_components/ffmpeg.markdown
@@ -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:
diff --git a/source/_components/foursquare.markdown b/source/_components/foursquare.markdown
index b2277da003d..582eae421df 100644
--- a/source/_components/foursquare.markdown
+++ b/source/_components/foursquare.markdown
@@ -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"
diff --git a/source/_components/graphite.markdown b/source/_components/graphite.markdown
index 2856ba34b71..4802e4a7586 100644
--- a/source/_components/graphite.markdown
+++ b/source/_components/graphite.markdown
@@ -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:
diff --git a/source/_components/group.markdown b/source/_components/group.markdown
index 86ee16d6693..6bd24c8572c 100644
--- a/source/_components/group.markdown
+++ b/source/_components/group.markdown
@@ -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
```
diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown
index 0809338a341..80df676b539 100644
--- a/source/_components/homematic.markdown
+++ b/source/_components/homematic.markdown
@@ -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:
diff --git a/source/_components/http.markdown b/source/_components/http.markdown
index 48046d17481..8f7f7308ec7 100644
--- a/source/_components/http.markdown
+++ b/source/_components/http.markdown
@@ -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/).
diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown
index 20c652125fc..266e783c1d4 100644
--- a/source/_components/influxdb.markdown
+++ b/source/_components/influxdb.markdown
@@ -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.
-
diff --git a/source/_components/insteon_hub.markdown b/source/_components/insteon_hub.markdown
index 7e6aa5f098b..9c620bf515f 100644
--- a/source/_components/insteon_hub.markdown
+++ b/source/_components/insteon_hub.markdown
@@ -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.
diff --git a/source/_components/isy994.markdown b/source/_components/isy994.markdown
index 7c655454c5c..4c00e3acb0a 100644
--- a/source/_components/isy994.markdown
+++ b/source/_components/isy994.markdown
@@ -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.
diff --git a/source/_components/joaoapps_join.markdown b/source/_components/joaoapps_join.markdown
index b3f19b0ed2c..44ac2587f7c 100644
--- a/source/_components/joaoapps_join.markdown
+++ b/source/_components/joaoapps_join.markdown
@@ -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"}}
diff --git a/source/_components/keyboard_remote.markdown b/source/_components/keyboard_remote.markdown
index f35289ae83d..21e41b58cb9 100644
--- a/source/_components/keyboard_remote.markdown
+++ b/source/_components/keyboard_remote.markdown
@@ -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
diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown
index 28b36941936..7ab0f340fb1 100644
--- a/source/_components/knx.markdown
+++ b/source/_components/knx.markdown
@@ -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.
diff --git a/source/_components/light.enocean.markdown b/source/_components/light.enocean.markdown
index 5265cbcdca2..30ecc16614f 100644
--- a/source/_components/light.enocean.markdown
+++ b/source/_components/light.enocean.markdown
@@ -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]
```
diff --git a/source/_components/light.flux_led.markdown b/source/_components/light.flux_led.markdown
index 7782d534c36..d9f5b2c8db0 100644
--- a/source/_components/light.flux_led.markdown
+++ b/source/_components/light.flux_led.markdown
@@ -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:
diff --git a/source/_components/light.hue.markdown b/source/_components/light.hue.markdown
index 2d58b3fd328..538ab564064 100644
--- a/source/_components/light.hue.markdown
+++ b/source/_components/light.hue.markdown
@@ -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:
diff --git a/source/_components/light.hyperion.markdown b/source/_components/light.hyperion.markdown
index a17cdbf7e02..2b875ccccbf 100644
--- a/source/_components/light.hyperion.markdown
+++ b/source/_components/light.hyperion.markdown
@@ -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.
diff --git a/source/_components/light.lifx.markdown b/source/_components/light.lifx.markdown
index bc61eef7fb8..be536f4f694 100644
--- a/source/_components/light.lifx.markdown
+++ b/source/_components/light.lifx.markdown
@@ -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:
diff --git a/source/_components/light.limitlessled.markdown b/source/_components/light.limitlessled.markdown
index 667425aa67e..c04d7ad3373 100644
--- a/source/_components/light.limitlessled.markdown
+++ b/source/_components/light.limitlessled.markdown
@@ -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
```
diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown
index b5bd2c50054..0754bd7ae95 100644
--- a/source/_components/light.mqtt.markdown
+++ b/source/_components/light.mqtt.markdown
@@ -20,28 +20,68 @@ When a state topic is not available, the light will work in optimistic mode. In
Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect light operation.
+```yaml
+# Example configuration.yml entry
+light:
+ - platform: mqtt
+ command_topic: "office/rgb1/light/switch"
+```
+
+Configuration variables:
+
+- **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state.
+- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'.
+- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
+- **brightness_state_topic** (*Optional*): The MQTT topic subscribed to receive brightness state updates.
+- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness.
+- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
+- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
+- **color_temp_state_topic** (*Optional*): The MQTT topic subscribed to receive color temperature state updates.
+- **color_temp_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's color temperature state.
+- **state_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the state value.
+- **brightness_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the brightness value.
+- **rgb_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the RGB value.
+- **color_temp_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the color temperature value.
+- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
+- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
+- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
+- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
+- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false.
+
+
+ Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
+
+
+## {% linkable_title Examples %}
+
+In this section you find some real life examples of how to use this sensor.
+
+### {% linkable_title Brightness and RGB support %}
+
To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
light:
- platform: mqtt
- name: "Office Light RGB"
- state_topic: "office/rgb1/light/status"
- command_topic: "office/rgb1/light/switch"
- brightness_state_topic: "office/rgb1/brightness/status"
- brightness_command_topic: "office/rgb1/brightness/set"
- rgb_state_topic: "office/rgb1/rgb/status"
- rgb_command_topic: "office/rgb1/rgb/set"
- state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}"
- brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}"
- rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
- qos: 0
- payload_on: "ON"
- payload_off: "OFF"
- optimistic: false
+ - platform: mqtt
+ name: "Office Light RGB"
+ state_topic: "office/rgb1/light/status"
+ command_topic: "office/rgb1/light/switch"
+ brightness_state_topic: "office/rgb1/brightness/status"
+ brightness_command_topic: "office/rgb1/brightness/set"
+ rgb_state_topic: "office/rgb1/rgb/status"
+ rgb_command_topic: "office/rgb1/rgb/set"
+ state_value_template: "{% raw %}{{ value_json.state }}{% endraw %}"
+ brightness_value_template: "{% raw %}{{ value_json.brightness }}{% endraw %}"
+ rgb_value_template: "{% raw %}{{ value_json.rgb | join(',') }}{% endraw %}"
+ qos: 0
+ payload_on: "ON"
+ payload_off: "OFF"
+ optimistic: false
```
+### {% linkable_title Brightness and no RGB support %}
+
To enable a light with brightness (no RGB version) in your installation, add the following to your `configuration.yaml` file:
```yaml
@@ -59,27 +99,6 @@ light:
optimistic: false
```
-Configuration variables:
-
-- **name** (*Optional*): The name of the switch. Default is 'MQTT Switch'.
-- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
-- **command_topic** (*Required*): The MQTT topic to publish commands to change the switch state.
-- **brightness_state_topic** (*Optional*): The MQTT topic subscribed to receive brightness state updates.
-- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness.
-- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
-- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
-- **state_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the state value.
-- **brightness_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the brightness value.
-- **rgb_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the RGB value.
-- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
-- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
-- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
-- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
-- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is true if no state topic defined, else false.
-
-
- Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
-
+### {% linkable_title Implementations %}
A basic example using a nodeMCU board (ESP8266) to control its built-in led (on/off) can be found [here](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light). [Here](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_rgb_light) is another example to control a RGB led (on/off, brightness and colors).
-
diff --git a/source/_components/light.mqtt_json.markdown b/source/_components/light.mqtt_json.markdown
index c749ed53a7a..3f722ff64bc 100644
--- a/source/_components/light.mqtt_json.markdown
+++ b/source/_components/light.mqtt_json.markdown
@@ -38,6 +38,35 @@ When a state topic is not available, the light will work in optimistic mode. In
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
+```yaml
+# Example configuration.yaml entry
+light:
+ - platform: mqtt_json
+ command_topic: "home/rgb1/set"
+```
+
+Configuration variables:
+
+- **command_topic** (*Required*): The MQTT topic to publish commands to change the light's state.
+- **name** (*Optional*): The name of the light. Default is "MQTT JSON Light."
+- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
+- **brightness** (*Optional*): Flag that defines if the light supports brightness. Default is false.
+- **rgb** (*Optional*): Flag that defines if the light supports RGB colors. Default is false.
+- **flash_time_short** (*Optional*): The duration, in seconds, of a "short" flash. Default is 2.
+- **flash_time_long** (*Optional*): The duration, in seconds, of a "long" flash. Default is 10.
+- **optimistic** (*Optional*): Flag that defines if the light works in optimistic mode. Default is true if no state topic defined, else false.
+- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
+
+
+ Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
+
+
+## {% linkable_title Examples %}
+
+In this section you find some real life examples of how to use this sensor.
+
+### {% linkable_title Brightness and RGB support %}
+
To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file:
```yaml
@@ -51,6 +80,8 @@ light:
rgb: true
```
+### {% linkable_title Brightness and no RGB support %}
+
To enable a light with brightness (but no color support) in your installation, add the following to your `configuration.yaml` file:
```yaml
@@ -63,20 +94,6 @@ light:
brightness: true
```
-Configuration variables:
-
-- **name** (*Optional*): The name of the light. Default is "MQTT JSON Light."
-- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
-- **command_topic** (*Required*): The MQTT topic to publish commands to change the light's state.
-- **brightness** (*Optional*): Flag that defines if the light supports brightness. Default is false.
-- **rgb** (*Optional*): Flag that defines if the light supports RGB colors. Default is false.
-- **flash_time_short** (*Optional*): The duration, in seconds, of a "short" flash. Default is 2.
-- **flash_time_long** (*Optional*): The duration, in seconds, of a "long" flash. Default is 10.
-- **optimistic** (*Optional*): Flag that defines if the light works in optimistic mode. Default is true if no state topic defined, else false.
-- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
-
-
- Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
-
+### {% linkable_title Implementations %}
A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing.
diff --git a/source/_components/light.mysensors.markdown b/source/_components/light.mysensors.markdown
index b66c1b93401..25abcbc9cfa 100644
--- a/source/_components/light.mysensors.markdown
+++ b/source/_components/light.mysensors.markdown
@@ -2,15 +2,15 @@
layout: page
title: "MySensors Light"
description: "Instructions how to integrate MySensors lights into Home Assistant."
-date: 2016-04-13 14:20 +0100
+date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Light
-featured: false
ha_release: 0.13
+ha_iot_class: "Local Push"
---
Integrates MySensors lights into Home Assistant. See the [main component] for configuration instructions.
diff --git a/source/_components/light.osramlightify.markdown b/source/_components/light.osramlightify.markdown
index a3d5364e107..75dc48fd55e 100644
--- a/source/_components/light.osramlightify.markdown
+++ b/source/_components/light.osramlightify.markdown
@@ -17,10 +17,10 @@ The `osramlightify` platform allows you to integrate your [Osram Lightify](http:
```yaml
# Example configuration.yaml entry
light:
- platform: osramlightify
- host: 192.168.0.50
+ - platform: osramlightify
+ host: 192.168.0.50
```
Configuration variables:
-- **host** (*Required*): IP address of the Osram Lightify bridge, eg. `192.168.1.50`
+- **host** (*Required*): IP address of the Osram Lightify bridge, eg. `192.168.1.50`.
diff --git a/source/_components/light.rfxtrx.markdown b/source/_components/light.rfxtrx.markdown
index 12bdc7cfd06..6f5b20f997f 100644
--- a/source/_components/light.rfxtrx.markdown
+++ b/source/_components/light.rfxtrx.markdown
@@ -15,23 +15,22 @@ ha_release: 0.7.5
The `rfxtrx` platform support lights that communicate in the frequency range of 433.92 MHz.
First you have to set up your [rfxtrx hub](/components/rfxtrx/).
+
The easiest way to find your lights is to add this to your `configuration.yaml`:
```yaml
light:
- platform: rfxtrx
- automatic_add: True
+ - platform: rfxtrx
+ automatic_add: True
```
-Launch your homeassistant and go the website.
-Push your remote and your device should be added:
+Launch your Home Assistant and go the website. Push your remote and your device should be added:
-Here the name is `0b11000102ef9f210010f70` and you can verify that it works from the frontend.
-Then you should update your configuration to:
+Here the name is `0b11000102ef9f210010f70` and you can verify that it works from the frontend. Then you should update your configuration to:
```yaml
light:
@@ -58,5 +57,5 @@ Configuration variables:
- **devices** (*Required*): A list of devices with their name to use in the frontend.
- **automatic_add** (*Optional*): To enable the automatic addition of new lights.
-- **signal_repetitions** (*Optional*): Because the rxftrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.
+- **signal_repetitions** (*Optional*): Because the RFXtrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.
- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations.
diff --git a/source/_components/light.x10.markdown b/source/_components/light.x10.markdown
index 11f1b6cff48..c8a8b8f5277 100644
--- a/source/_components/light.x10.markdown
+++ b/source/_components/light.x10.markdown
@@ -24,10 +24,9 @@ To enable those lights, add the following lines to your `configuration.yaml` fil
light:
- platform: x10
devices:
- - name: Living Room Lamp
- id: a2
- - name: Bedroom Lamp
- id: a3
+ - id: a2
+ - id: a3
+ name: Bedroom Lamp
```
Configuration variables:
diff --git a/source/_components/light.zigbee.markdown b/source/_components/light.zigbee.markdown
index a50568b0dd2..8ce3a9c4e33 100644
--- a/source/_components/light.zigbee.markdown
+++ b/source/_components/light.zigbee.markdown
@@ -22,13 +22,11 @@ light:
- name: Desk Lamp
platform: zigbee
pin: 0
- address: 0013A20040791FA2
- on_state: low
```
Configuration variables:
- **name** (*Required*): The name you' would like to give the light in Home Assistant.
- **pin** (*Required*): The number identifying which pin to use.
-- **address**: The long 64 bit address of the remote ZigBee device whose digital output pin you wouldd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins.
-- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled `high` or `low` when the light is turned on.
+- **address** (*Optional*): The long 64 bit address of the remote ZigBee device whose digital output pin you wouldd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins.
+- **on_state** (*Optional*): Either `high` (default) or `low`, depicting whether the digital output pin is pulled `high` or `low` when the light is turned on.
diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown
index 2df14a570cb..89f013b999d 100644
--- a/source/_components/lock.mqtt.markdown
+++ b/source/_components/lock.mqtt.markdown
@@ -17,7 +17,7 @@ The `mqtt` lock platform let you control your MQTT enabled locks.
In an ideal scenario, the MQTT device will have a `state_topic` to publish state changes. If these messages are published with `RETAIN` flag, the MQTT lock will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the lock will be false/unlocked.
-When a `state_topic` is not available, the lock will work in optimistic mode. In this mode, the lock will immediately change state after every command. Otherwise, the lock will wait for state confirmation from device (message from `state_topic`).
+When a `state_topic` is not available, the lock will work in optimistic mode. In this mode, the lock will immediately change state after every command. Otherwise, the lock will wait for state confirmation from the device (message from `state_topic`).
Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect lock operation.
@@ -26,26 +26,18 @@ To enable MQTT locks in your installation, add the following to your `configurat
```yaml
# Example configuration.yml entry
lock:
- platform: mqtt
- name: Frontdoor
- state_topic: "home/frontdoor/"
- command_topic: "home/frontdoor/set"
- payload_lock: "LOCK"
- payload_unlock: "UNLOCK"
- optimistic: false
- qos: 0
- retain: true
- value_template: '{% raw %}{{ value.x }}{% endraw %}'
+ - platform: mqtt
+ command_topic: "home/frontdoor/set"
```
Configuration variables:
+- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state.
- **name** (*Optional*): The name of the lock. Default is 'MQTT Lock'.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
-- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state.
- **payload_lock** (*Optional*): The payload that represents enabled/locked state. Default is "LOCK".
- **payload_unlock** (*Optional*): The payload that represents disabled/unlocked state. Default is "UNLOCK".
-- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is true if no state topic defined, else false.
+- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is `true` if no `state_topic` defined, else `false`.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
@@ -53,3 +45,35 @@ Configuration variables:
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.
+
+## {% linkable_title Examples %}
+
+In this section you find some real life examples of how to use this lock.
+
+### {% linkable_title Full configuration %}
+
+The example below shows a full configuration for a MQTT lock.
+
+```yaml
+# Example configuration.yml entry
+lock:
+ platform: mqtt
+ name: Frontdoor
+ state_topic: "home-assistant/frontdoor/"
+ command_topic: "home-assistant/frontdoor/set"
+ payload_lock: "LOCK"
+ payload_unlock: "UNLOCK"
+ optimistic: false
+ qos: 1
+ retain: true
+ value_template: '{% raw %}{{ value.x }}{% endraw %}'
+```
+
+Keep an eye on ratining messages to keep the state as you don't want to unlock your door by accident when you restart something.
+
+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/frontdoor/set -m "LOCK"
+```
+
diff --git a/source/_components/logbook.markdown b/source/_components/logbook.markdown
index 0f8537a1335..c8a48533908 100644
--- a/source/_components/logbook.markdown
+++ b/source/_components/logbook.markdown
@@ -19,9 +19,16 @@ To enable the logbook in your installation, add the following to your `configura
# Example configuration.yaml entry
logbook:
```
+
+Configuration variables:
+
+- **exclude** (*Optional*): Configure which components should **not** create logbook enties.
+- **entities** (*Optional*): The list of entity ids to be excluded from creating logbook entries.
+- **domains** (*Optional*): The list of domains to be excluded from creating logbook entries.
+
If you want to exclude messages of some entities or domains from the logbook just add the `exclude` parameter like:
+
```yaml
-# Example configuration.yaml entry
logbook:
exclude:
entities:
@@ -32,12 +39,6 @@ logbook:
- weblink
```
-Configuration variables:
-
-- **exclude** (*Optional*): Configure which components should **not** create logbook enties.
-- **entities** (*Optional*): The list of entity ids to be excluded from creating logbook entries.
-- **domains** (*Optional*): The list of domains to be excluded from creating logbook entries.
-
### {% linkable_title Exclude Events %}
Entities customized as hidden are excluded from the logbook by default, but sometimes you want to show the entity in the UI and not in the logbook. For instance you use the `sensor.date`to show the current date in the UI, but you do not want an logbook entry for that sensor every day.
diff --git a/source/_components/logentries.markdown b/source/_components/logentries.markdown
index 2f5660799b0..e14b908b871 100644
--- a/source/_components/logentries.markdown
+++ b/source/_components/logentries.markdown
@@ -18,9 +18,9 @@ To use the `logentries` component in your installation, add the following to you
```yaml
# Example configuration.yaml entry
logentries:
- token: your-log-token-here
+ token: TOKEN
```
Configuration variables:
-- **token** (*Required*): Your Logentries log token
+- **token** (*Required*): Your Logentries log token.
diff --git a/source/_components/media_player.braviatv.markdown b/source/_components/media_player.braviatv.markdown
index affcdff7b22..11ccf5247d0 100644
--- a/source/_components/media_player.braviatv.markdown
+++ b/source/_components/media_player.braviatv.markdown
@@ -10,6 +10,7 @@ footer: true
logo: bravia.png
ha_category: Media Player
ha_release: 0.23
+ha_iot_class: "Local Polling"
---
The `braviatv` platform allows you to control a [Sony Bravia TV](http://www.sony.com).
@@ -23,9 +24,8 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
media_player:
- platform: braviatv
- host: 192.168.0.10
- name: Living Room TV
+ - platform: braviatv
+ host: 192.168.0.10
```
Configuration variables:
diff --git a/source/_components/media_player.cast.markdown b/source/_components/media_player.cast.markdown
index 2ffa7180414..cf9c6ea4dc2 100644
--- a/source/_components/media_player.cast.markdown
+++ b/source/_components/media_player.cast.markdown
@@ -10,6 +10,8 @@ footer: true
logo: google_cast.png
ha_category: Media Player
featured: true
+ha_release: pre 0.7
+ha_iot_class: "Local Polling"
---
@@ -20,8 +22,7 @@ Chromecast platform can also be forced to load by adding the following lines to
```yaml
# Example configuration.yaml entry
media_player:
- platform: cast
- host: 192.168.1.9
+ - platform: cast
```
Configuration variables:
diff --git a/source/_components/media_player.cmus.markdown b/source/_components/media_player.cmus.markdown
index b26289e46c4..e798889686c 100644
--- a/source/_components/media_player.cmus.markdown
+++ b/source/_components/media_player.cmus.markdown
@@ -9,35 +9,33 @@ comments: false
sharing: true
footer: true
ha_category: Media Player
+ha_iot_class: "Local Polling"
---
The `cmus` platform allows you to control a [cmus](https://cmus.github.io/) music player on a remote or local machine from Home Assistant.
-To add cmus to your installation, add the following to your `configuration.yaml` file if cmus is running on a remote server:
+To add cmus to your installation, add the following to your `configuration.yaml` file if running locally it will look like:
```yaml
# Example configuration.yaml entry
media_player:
- platform: cmus
- host: IP_ADDRESS
- port: 3000
- password: PASSWORD
- name: Desktop Computer Music Player
+ - platform: cmus
```
-if running locally it will look like:
+if cmus is running on a remote server:
+
```yaml
# Example configuration.yaml entry
media_player:
- platform: cmus
- name: Local Music Player
+ - platform: cmus
+ host: IP_ADDRESS
+ password: PASSWORD
```
Configuration variables:
-- **host** Hostname or IP address of the machine running cmus. Note if a remote
-cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set.
+- **host** (*Optional*): Hostname or IP address of the machine running cmus. Note if a remote cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set.
- **password** (*Required if host is set*): Password for your cmus player.
- **port** (*Optional*): Port of the cmus socket, defaults to 3000.
- **name** (*Optional*): The name you'd like to give the cmus player in Home Assistant
diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown
index f6ab14cae35..59f65696d31 100644
--- a/source/_components/media_player.denon.markdown
+++ b/source/_components/media_player.denon.markdown
@@ -9,6 +9,7 @@ sharing: true
footer: true
logo: denon.png
ha_category: Media Player
+ha_iot_class: "Local Polling"
---
@@ -26,9 +27,8 @@ To add a Denon Network Receiver to your installation, add the following to your
```yaml
# Example configuration.yaml entry
media_player:
- platform: denon
- host: IP_ADDRESS
- name: Music station
+ - platform: denon
+ host: IP_ADDRESS
```
Configuration variables:
diff --git a/source/_components/media_player.directv.markdown b/source/_components/media_player.directv.markdown
index 68ceaf4329a..acfb4995368 100644
--- a/source/_components/media_player.directv.markdown
+++ b/source/_components/media_player.directv.markdown
@@ -20,10 +20,7 @@ The `directv` media player platform can also be forced to load by adding the fol
```yaml
# Example configuration.yaml entry
media_player:
- platform: directv
- host: 192.168.1.10
- port: 8080
- name: DirecTV Living Room
+ - platform: directv
```
Configuration variables:
diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown
index ca5b34b40c2..2730badb331 100644
--- a/source/_components/media_player.firetv.markdown
+++ b/source/_components/media_player.firetv.markdown
@@ -53,11 +53,7 @@ To add FireTV to your installation, Note your device name, and add the following
```yaml
# Example configuration.yaml entry
media_player:
- platform: firetv
- host: localhost
- port: 5556
- device: livingroom-firetv
- name: My Amazon Fire TV
+ - platform: firetv
```
Configuration variables:
diff --git a/source/_components/media_player.gpmdp.markdown b/source/_components/media_player.gpmdp.markdown
index 3f35c1d1442..7207e0e0924 100644
--- a/source/_components/media_player.gpmdp.markdown
+++ b/source/_components/media_player.gpmdp.markdown
@@ -11,9 +11,10 @@ logo: gpmdp.png
ha_category: Media Player
ha_iot_class: "Local Polling"
ha_release: "0.20"
-
+ha_iot_class: "Local Polling"
---
+
The `gpmdp` media player platform allows you to control a [GPMDP](http://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant.
You will have first have to check "Enable playback API" in GPMDP's settings and then add an inbound rule to the firewall to allow access to port 5672 on the computer running GPMDP.
@@ -23,13 +24,12 @@ Then just add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
- platform: gpmdp
- host: IP_ADDRESS
- name: NAME
+ - platform: gpmdp
+ host: IP_ADDRESS
```
Configuration variables:
-- **host** (*Required*): IP address of the computer running GPMDP
-- **name** (*Optional*): Name of the player
+- **host** (*Required*): IP address of the computer running GPMDP.
+- **name** (*Optional*): Name of the player.
diff --git a/source/_components/media_player.itunes.markdown b/source/_components/media_player.itunes.markdown
index 3b9b590d3e8..c046755ae2a 100644
--- a/source/_components/media_player.itunes.markdown
+++ b/source/_components/media_player.itunes.markdown
@@ -10,6 +10,7 @@ footer: true
logo: itunes.png
ha_category: Media Player
ha_release: 0.7.3
+ha_iot_class: "Local Polling"
---
@@ -22,10 +23,8 @@ To add iTunes to your installation, add the following to your `configuration.yam
```yaml
# Example configuration.yaml entry
media_player:
- platform: itunes
- name: iTunes
- host: http://192.168.1.50
- port: 8181
+ - platform: itunes
+ host: http://192.168.1.50
```
Configuration variables:
diff --git a/source/_components/media_player.kodi.markdown b/source/_components/media_player.kodi.markdown
index 9e129f99039..24a892aab43 100644
--- a/source/_components/media_player.kodi.markdown
+++ b/source/_components/media_player.kodi.markdown
@@ -11,6 +11,7 @@ logo: kodi.png
ha_category: Media Player
featured: true
ha_release: pre 0.7
+ha_iot_class: "Local Polling"
---
@@ -21,13 +22,8 @@ To add Kodi to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
media_player:
- platform: kodi
- host: http://192.168.0.123
- port: 8080
- name: Kodi
- username: USERNAME
- password: PASSWORD
- turn_off_action: shutdown
+ - platform: kodi
+ host: http://192.168.0.123
```
Configuration variables:
diff --git a/source/_components/media_player.lg_netcast.markdown b/source/_components/media_player.lg_netcast.markdown
index f60a6255ff9..138eaec8bde 100644
--- a/source/_components/media_player.lg_netcast.markdown
+++ b/source/_components/media_player.lg_netcast.markdown
@@ -11,6 +11,7 @@ logo: lg.png
ha_category: Media Player
ha_iot_class: "Local Poll"
ha_release: "0.20"
+ha_iot_class: "Local Polling"
---
The `lg_netcast` platform allows you to control a LG Smart TV running NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013). For the new LG WebOS TV's use the [webostv](/components/media_player.webostv) platform.
@@ -20,10 +21,8 @@ To add a LG TV to your installation, add the following to your `configuration.ya
```yaml
# Example configuration.yaml entry
media_player:
- platform: lg_netcast
- host: 192.168.0.20
- access_token: 889955
- name: Living Room TV
+ - platform: lg_netcast
+ host: 192.168.0.20
```
Configuration variables:
diff --git a/source/_components/media_player.mpchc.markdown b/source/_components/media_player.mpchc.markdown
index 5b761b2ac3f..4e4c187d0f4 100644
--- a/source/_components/media_player.mpchc.markdown
+++ b/source/_components/media_player.mpchc.markdown
@@ -11,6 +11,7 @@ logo: mpchc.png
ha_category: Media Player
featured: false
ha_release: 0.25
+ha_iot_class: "Local Polling"
---
@@ -33,10 +34,8 @@ To add MPC-HC to your installation, add the following to your `configuration.yam
```yaml
# Example configuration.yaml entry
media_player:
- platform: mpchc
- host: http://192.168.0.123
- port: 13579
- name: MPC-HC
+ - platform: mpchc
+ host: http://192.168.0.123
```
Configuration variables:
diff --git a/source/_components/media_player.mpd.markdown b/source/_components/media_player.mpd.markdown
index f8856aaeb66..5364462c309 100644
--- a/source/_components/media_player.mpd.markdown
+++ b/source/_components/media_player.mpd.markdown
@@ -10,6 +10,7 @@ footer: true
logo: mpd.png
ha_category: Media Player
ha_release: pre 0.7
+ha_iot_class: "Local Polling"
---
@@ -22,11 +23,8 @@ To add MPD to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
media_player:
- platform: mpd
- host: IP_ADDRESS
- port: 6600
- location: bedroom
- password: PASSWORD
+ - platform: mpd
+ host: IP_ADDRESS
```
Configuration variables:
diff --git a/source/_components/media_player.onkyo.markdown b/source/_components/media_player.onkyo.markdown
index 950c1031bb2..b8ba67fa4d7 100644
--- a/source/_components/media_player.onkyo.markdown
+++ b/source/_components/media_player.onkyo.markdown
@@ -10,6 +10,7 @@ footer: true
logo: onkyo.png
ha_category: Media Player
ha_release: 0.17
+ha_iot_class: "Local Polling"
---
@@ -20,21 +21,21 @@ To add an Onkyo receiver to your installation, add the following to your `config
```yaml
# Example configuration.yaml entry
media_player:
- platform: onkyo
- host: 192.168.1.2
- name: receiver
- sources:
- pc: 'HTPC'
- aux1: 'Chromecast'
- bd: 'Bluray'
- game: 'Wii U'
+ - platform: onkyo
+ host: 192.168.1.2
+ name: receiver
+ sources:
+ pc: 'HTPC'
```
+
Configuration variables:
-- **host** (*Optional*): IP address of the device. Example:`192.168.1.2` If not specified, the platform will load any discovered receivers.
-- **name** (*Required if host is specified*): Name of the device
+
+- **host** (*Optional*): IP address of the device. Example:`192.168.1.2`. If not specified, the platform will load any discovered receivers.
+- **name** (*Required if host is specified*): Name of the device.
- **sources** (*Optional*): A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
List of source names:
+
- video1
- video2
- video3
diff --git a/source/_components/media_player.panasonic_viera.markdown b/source/_components/media_player.panasonic_viera.markdown
index 4e1310357b3..861668192a0 100644
--- a/source/_components/media_player.panasonic_viera.markdown
+++ b/source/_components/media_player.panasonic_viera.markdown
@@ -11,6 +11,7 @@ logo: panasonic.png
ha_category: Media Player
featured: false
ha_release: 0.17
+ha_iot_class: "Local Polling"
---
The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
@@ -27,14 +28,12 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
media_player:
- platform: panasonic_viera
- host: 192.168.0.10
- port: 55000
- name: Living Room TV
+ - platform: panasonic_viera
+ host: 192.168.0.10
```
Configuration variables:
-- **host** (*Required*): The IP of the Panasonic Viera TV, e.g. `192.168.0.10`
-- **port** (*Optional*): The port of your Panasonic Viera TV. Defaults to `55000`
+- **host** (*Required*): The IP of the Panasonic Viera TV, e.g. `192.168.0.10`.
+- **port** (*Optional*): The port of your Panasonic Viera TV. Defaults to `55000`.
- **name** (*Optional*): The name you would like to give to the Panasonic Viera TV.
diff --git a/source/_components/media_player.pandora.markdown b/source/_components/media_player.pandora.markdown
index efa8c2bc614..bcddae6bde7 100644
--- a/source/_components/media_player.pandora.markdown
+++ b/source/_components/media_player.pandora.markdown
@@ -11,6 +11,7 @@ logo: pandora.png
ha_category: Media Player
featured: false
ha_release: 0.22
+ha_iot_class: "Local Polling"
---
If you have a Pandora account, you can control it from Home Assistant with this media player.
@@ -51,7 +52,7 @@ The Pandora player can be loaded by adding the following lines to your `configur
```yaml
# Example configuration.yaml entry
media_player:
- platform: pandora
+ - platform: pandora
```
That's it! Now you will find a media player. If you click it you will find all your stations listed as different sources. If you switch to one, the station will begin playing.
diff --git a/source/_components/media_player.pioneer.markdown b/source/_components/media_player.pioneer.markdown
index e0a20c48c57..8a810bcaf30 100644
--- a/source/_components/media_player.pioneer.markdown
+++ b/source/_components/media_player.pioneer.markdown
@@ -11,6 +11,7 @@ logo: pioneer.png
ha_category: Media Player
featured: false
ha_release: 0.19
+ha_iot_class: "Local Polling"
---
The `pioneer` platform allows you to control Pioneer Network Receivers.
@@ -20,9 +21,8 @@ To add a Pioneer receiver to your installation, add the following to your `confi
```yaml
# Example configuration.yaml entry
media_player:
- platform: pioneer
- host: 192.168.0.10
- name: Living receiver
+ - platform: pioneer
+ host: 192.168.0.10
```
Configuration variables:
diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown
index 0ca2d456134..f22c20ba4d4 100644
--- a/source/_components/media_player.plex.markdown
+++ b/source/_components/media_player.plex.markdown
@@ -11,6 +11,7 @@ logo: plex.png
ha_category: Media Player
featured: true
ha_release: 0.7.4
+ha_iot_class: "Local Polling"
---
@@ -33,7 +34,7 @@ If you want to enable the plex platform directly, add the following lines to you
```yaml
# Example configuration.yaml entry
media_player:
- platform: plex
+ - platform: plex
```
In case [discovery](/components/discovery/) does not work (GDM disabled or non-local plex server), you can create `~/.homeassistant/plex.conf` manually.
diff --git a/source/_components/media_player.roku.markdown b/source/_components/media_player.roku.markdown
index 4de5d21de9b..5c889727de3 100644
--- a/source/_components/media_player.roku.markdown
+++ b/source/_components/media_player.roku.markdown
@@ -10,6 +10,7 @@ footer: true
logo: roku.png
ha_category: Media Player
ha_release: "0.20"
+ha_iot_class: "Local Polling"
---
The [Roku](http://www.roku.com/) media players will be automatically discovered if you enable the [discovery component](/components/discovery/).
@@ -19,10 +20,9 @@ The `roku` media player platform can also be forced to load by adding the follow
```yaml
# Example configuration.yaml entry
media_player:
- platform: roku
- host: 192.168.1.10
+ - platform: roku
```
Configuration variables:
-- **host** *Optional*: Use only if you don't want to scan for devices.
+- **host** (*Optional*): Use only if you don't want to scan for devices.
diff --git a/source/_components/media_player.russound_rnet.markdown b/source/_components/media_player.russound_rnet.markdown
index b64060b33f9..9dd90d45d79 100644
--- a/source/_components/media_player.russound_rnet.markdown
+++ b/source/_components/media_player.russound_rnet.markdown
@@ -10,6 +10,7 @@ footer: true
logo: russound.png
ha_category: Media Player
ha_release: 0.25
+ha_iot_class: "Local Polling"
---
The `russound_rnet` platform allows you to control Russound devices that make use of the RNET protocol.
diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown
index bfcb7af4f11..ad4fecd560f 100644
--- a/source/_components/media_player.samsungtv.markdown
+++ b/source/_components/media_player.samsungtv.markdown
@@ -11,6 +11,7 @@ logo: samsung.png
ha_category: Media Player
featured: false
ha_release: 0.13
+ha_iot_class: "Local Polling"
---
The `samsungtv` platform allows you to control a [Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/).
@@ -22,16 +23,13 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
media_player:
- platform: samsungtv
- host: 192.168.0.10
- port: 55000
- name: Living Room TV
- timeout: 2
+ - platform: samsungtv
+ host: 192.168.0.10
```
Configuration variables:
-- **host** (*Required*): The IP of the Samsung Smart TV, eg. 192.168.0.10
+- **host** (*Required*): The IP of the Samsung Smart TV, eg. `192.168.0.10^.
- **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 55000.
- **name** (*Optional*): The name you would like to give to the Samsung Smart TV.
- **timeout** (*Optional*): The time-out for the communication with the TV. Defaults to 0.
@@ -48,13 +46,14 @@ Currently known supported models:
- F6500
- EH5600
- F6400AF
-
-If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io).
-The two letters at the beginning of the model number represent the region, UE is Europe, UN is North America and UA is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these before adding them to the list.
-
-There's currently a [known issue](https://github.com/home-assistant/home-assistant/issues/2098) with some TV's receiving a *Key press UP* that can interrupt certain applications.
Currently tested but not working models:
- KU6300 - Shows in GUI but unable to control.
-- UE75H6400 - Shows in GUI but unable to control.
+- H6400 - Shows in GUI but unable to control.
+
+If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.samsungtv.markdown).
+The first letter (U, P, L, H & K) represent the screen type, e.g. LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size.
+If you add your model remember to remove these before adding them to the list.
+
+There's currently a [known issue](https://github.com/home-assistant/home-assistant/issues/2098) with some TV's receiving a *Key press UP* that can interrupt certain applications.
diff --git a/source/_components/media_player.snapcast.markdown b/source/_components/media_player.snapcast.markdown
index 576d639b04d..94f7db9b94c 100644
--- a/source/_components/media_player.snapcast.markdown
+++ b/source/_components/media_player.snapcast.markdown
@@ -11,6 +11,7 @@ logo: snapcast.png
ha_category: Media Player
featured: false
ha_release: 0.13
+ha_iot_class: "Local Polling"
---
The `snapcast` platform allows you to control [Snapcast](https://github.com/badaix/snapcast) from Home Assistant.
@@ -20,6 +21,10 @@ To add Snapcast to your installation, add the following to your `configuration.y
```yaml
# Example configuration.yaml entry
media_player:
- platform: snapcast
- host: xxx.xxx.xxx.xxx
+ - platform: snapcast
+ host: xxx.xxx.xxx.xxx
```
+
+Configuration variables:
+
+- **host** (*Required*): The IP of the device, eg. `192.168.0.10`.
diff --git a/source/_components/media_player.sonos.markdown b/source/_components/media_player.sonos.markdown
index 246e9a77ca6..1eeb796772a 100644
--- a/source/_components/media_player.sonos.markdown
+++ b/source/_components/media_player.sonos.markdown
@@ -11,6 +11,7 @@ logo: sonos.png
ha_category: Media Player
featured: true
ha_release: 0.7.3
+ha_iot_class: "Local Polling"
---
The `sonos` platform allows you to control your [Sonos](http://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. By default it supports auto-discovery provided by Home Assistant, and you don't need to add anything to your `configuration.yaml`. Alternatively, there are some manual configuration options, listed as follows:
@@ -20,7 +21,7 @@ To add your Sonos components to your installation, add the following to your `co
```yaml
# Example configuration.yaml entry using Sonos discovery
media_player:
- platform: sonos
+ - platform: sonos
```
If you have multiple network devices, you can provide the IP address of the device that should be used for Sonos auto-discovery.
@@ -28,8 +29,8 @@ If you have multiple network devices, you can provide the IP address of the devi
```yaml
# Example configuration.yaml entry using Sonos discovery on a specific interface
media_player:
- platform: sonos
- interface_addr: 192.0.2.1
+ - platform: sonos
+ interface_addr: 192.0.2.1
```
You can also specify one or more hosts to connect to if they cannot be found with Sonos auto-discovery.
@@ -37,8 +38,8 @@ You can also specify one or more hosts to connect to if they cannot be found wit
```yaml
# Example configuration.yaml entry with manually specified addresses
media_player:
- platform: sonos
- hosts: 192.0.2.25
+ - platform: sonos
+ hosts: 192.0.2.25
```
or, for multiple hosts:
@@ -46,11 +47,11 @@ or, for multiple hosts:
```yaml
# Example configuration.yaml entry with manually specified addresses
media_player:
- platform: sonos
- hosts:
- - 192.0.2.25
- - 192.0.2.26
- - 192.0.2.27
+ - platform: sonos
+ hosts:
+ - 192.0.2.25
+ - 192.0.2.26
+ - 192.0.2.27
```
### {% linkable_title Service `sonos_snapshot` %}
diff --git a/source/_components/media_player.squeezebox.markdown b/source/_components/media_player.squeezebox.markdown
index faa59f84265..0a4c1b0adc5 100644
--- a/source/_components/media_player.squeezebox.markdown
+++ b/source/_components/media_player.squeezebox.markdown
@@ -10,27 +10,24 @@ footer: true
logo: logitech.png
ha_category: Media Player
ha_release: pre 0.7
+ha_iot_class: "Local Polling"
---
-The Squeezebox platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant.
-This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](http://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released).
+The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](http://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released).
To add your Squeezebox player to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
- platform: squeezebox
- host: IP_ADDRESS
- port: 9090
- username: USERNAME
- password: PASSWORD
+ - platform: squeezebox
+ host: IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): The host name or address of the Logitech Media Server, eg. 192.168.1.21.
-- **port** (*Optional*): Telnet port to Logitech Media Server, default 9090.
+- **port** (*Optional*): Telnet port to Logitech Media Server. Defaults to 9090.
- **username** (*Optional*): The username, if password protection is enabled.
- **password** (*Optional*): The password, if password protection is enabled.
diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown
index 76be7fa7f51..12b25fbfbdc 100644
--- a/source/_components/media_player.webostv.markdown
+++ b/source/_components/media_player.webostv.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
logo: webos.png
ha_category: Media Player
-ha_iot_class: "Local Poll"
+ha_iot_class: "Local Polling"
ha_release: 0.18
---
@@ -24,12 +24,6 @@ To add a TV to your installation, add the following to your `configuration.yaml`
media_player:
- platform: webostv
host: 192.168.0.10
- name: Living Room TV
- customize:
- sources:
- - livetv
- - youtube
- - makotv
```
Configuration variables:
@@ -39,4 +33,19 @@ Configuration variables:
- **customize** array (*Optional*): List of options to customize.
- ***sources** array (*Optional*): List of hardware inputs.
-If you do not provide a host name, all LG WebOS Smart TV's within your network will be auto-discovered if your TV network name is set to `[LG] webOS TV`
+If you do not provide a host name, all LG WebOS Smart TV's within your network will be auto-discovered if your TV network name is set to `[LG] webOS TV`.
+
+A full configuration example will look like the sample below:
+
+```yaml
+# Example configuration.yaml entry
+media_player:
+ - platform: webostv
+ host: 192.168.0.10
+ name: Living Room TV
+ customize:
+ sources:
+ - livetv
+ - youtube
+ - makotv
+```
diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown
index 02d33c7c6e3..85e9cc2b508 100644
--- a/source/_components/media_player.yamaha.markdown
+++ b/source/_components/media_player.yamaha.markdown
@@ -28,9 +28,7 @@ To add a Yamaha Network Receiver to your installation, add the following to your
```yaml
# Example configuration.yaml entry
media_player:
- platform: yamaha
- host: 192.168.1.100
- name: 'Basement Receiver'
+ - platform: yamaha
```
Configuration variables:
diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown
index 9483df09728..1a224288bee 100644
--- a/source/_components/modbus.markdown
+++ b/source/_components/modbus.markdown
@@ -10,6 +10,7 @@ footer: true
logo: modbus.png
ha_category: Hub
ha_release: pre 0.7
+ha_iot_class: "Local Polling"
---
diff --git a/source/_components/mqtt.markdown b/source/_components/mqtt.markdown
index 65b4ffb79e3..288a9145bab 100644
--- a/source/_components/mqtt.markdown
+++ b/source/_components/mqtt.markdown
@@ -61,6 +61,11 @@ Home Assistant contains an embedded MQTT broker. If no broker configuration is g
| Password | Your API [password](/components/http/)
| Websocket port | 8080
+```yaml
+# Example configuration.yaml entry
+mqtt:
+```
+
This broker does not currently work with OwnTracks because of a protocol version issue.
diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown
index afd151a2305..8e0dad4a470 100644
--- a/source/_components/mysensors.markdown
+++ b/source/_components/mysensors.markdown
@@ -2,7 +2,7 @@
layout: page
title: "MySensors"
description: "Instructions how to integrate MySensors sensors into Home Assistant."
-date: 2016-08-26 23:00 +0200
+date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
@@ -10,6 +10,7 @@ footer: true
logo: mysensors.png
ha_category: Hub
featured: true
+ha_iot_class: "Local Push"
---
The [MySensors](https://www.mysensors.org) project combines Arduino boards with NRF24L01 radio boards to build sensor networks. The component will automatically add all available devices to Home Assistant, after [presentation](#presentation) is done.
diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown
index bd850a89e7c..4f87020fec6 100644
--- a/source/_components/nest.markdown
+++ b/source/_components/nest.markdown
@@ -12,7 +12,7 @@ ha_category: Hub
featured: true
---
-The Nest component is the main component to integrate all Nest related platforms. Besides this component you will have to setup your thermostat and any connected sensors separately.
+The Nest component is the main component to integrate all [Nest](https://nest.com/) related platforms. Besides this component you will have to setup your thermostat and any connected sensors separately.
```yaml
# Example configuration.yaml entry
diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown
index d65956ed73b..ff6ac53af1b 100644
--- a/source/_components/netatmo.markdown
+++ b/source/_components/netatmo.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
logo: netatmo.png
ha_category: Hub
-ha_release: "0.2x"
+ha_release: "0.20"
---
diff --git a/source/_components/notify.aws_lambda.markdown b/source/_components/notify.aws_lambda.markdown
index 64c9c229926..21ef850da95 100644
--- a/source/_components/notify.aws_lambda.markdown
+++ b/source/_components/notify.aws_lambda.markdown
@@ -21,14 +21,11 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- platform: aws_lambda
- name: NOTIFIER_NAME
- aws_access_key_id: AWS_ACCESS_KEY_ID
- aws_secret_access_key: AWS_SECRET_ACCESS_KEY
- profile_name: AWS_PROFILE
- region_name: 'us-east-1'
- context:
- ...
+ - name: NOTIFIER_NAME
+ platform: aws_lambda
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region_name: 'us-east-1'
```
Configuration variables:
diff --git a/source/_components/notify.aws_sns.markdown b/source/_components/notify.aws_sns.markdown
index 82ad8bc3a79..21a6b48cc55 100644
--- a/source/_components/notify.aws_sns.markdown
+++ b/source/_components/notify.aws_sns.markdown
@@ -19,12 +19,11 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- platform: aws_sns
- name: NOTIFIER_NAME
- aws_access_key_id: AWS_ACCESS_KEY_ID
- aws_secret_access_key: AWS_SECRET_ACCESS_KEY
- profile_name: AWS_PROFILE
- region_name: 'us-east-1'
+ - name: NOTIFIER_NAME
+ platform: aws_sns
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region_name: 'us-east-1'
```
Configuration variables:
diff --git a/source/_components/notify.aws_sqs.markdown b/source/_components/notify.aws_sqs.markdown
index d4a6c836eb0..e40e81050b1 100644
--- a/source/_components/notify.aws_sqs.markdown
+++ b/source/_components/notify.aws_sqs.markdown
@@ -19,12 +19,11 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- platform: aws_sqs
- name: NOTIFIER_NAME
- aws_access_key_id: AWS_ACCESS_KEY_ID
- aws_secret_access_key: AWS_SECRET_ACCESS_KEY
- profile_name: AWS_PROFILE
- region_name: 'us-east-1'
+ - name: NOTIFIER_NAME
+ platform: aws_sqs
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region_name: 'us-east-1'
```
Configuration variables:
diff --git a/source/_components/notify.command_line.markdown b/source/_components/notify.command_line.markdown
index b6f7a2ce9e1..a5d3b6a5942 100644
--- a/source/_components/notify.command_line.markdown
+++ b/source/_components/notify.command_line.markdown
@@ -19,9 +19,9 @@ To enable those notifications in your installation, add the following to your `c
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: command_line
- command: "espeak -vmb/mb-us1"
+ - name: NOTIFIER_NAME
+ platform: command_line
+ command: "espeak -vmb/mb-us1"
```
Configuration variables:
diff --git a/source/_components/notify.ecobee.markdown b/source/_components/notify.ecobee.markdown
index f079b783f80..18ba15b94b2 100644
--- a/source/_components/notify.ecobee.markdown
+++ b/source/_components/notify.ecobee.markdown
@@ -19,8 +19,8 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: ecobee
+ - name: NOTIFIER_NAME
+ platform: ecobee
```
Configuration variables:
diff --git a/source/_components/notify.file.markdown b/source/_components/notify.file.markdown
index 531d0fa4a1b..b2c3a07d051 100644
--- a/source/_components/notify.file.markdown
+++ b/source/_components/notify.file.markdown
@@ -20,16 +20,15 @@ To enable file notifications in your installation, add the following to your `co
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: file
- filename: FILENAME
- timestamp: true or false
+ - name: NOTIFIER_NAME
+ platform: file
+ filename: FILENAME
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **filename** (*Required*): Name of the file to use. The file will be created if it doesn't exist and saved in your `config/` folder.
-- **timestamp** (*Optional*): Setting `timestamp` to True adds a timestamp to every entry.
+- **timestamp** (*Optional*): Setting `timestamp` to `True` adds a timestamp to every entry.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_components/notify.free_mobile.markdown b/source/_components/notify.free_mobile.markdown
index ed79113add4..0123c7fec5d 100644
--- a/source/_components/notify.free_mobile.markdown
+++ b/source/_components/notify.free_mobile.markdown
@@ -31,9 +31,10 @@ To enable SMS notifications in your installation, add the following to your `con
```yaml
# Example configuration.yaml entry
notify:
- platform: free_mobile
- username: YOUR_ACCOUNT_ID
- access_token: TOKEN
+ - name: NOTIFIER_NAME
+ platform: free_mobile
+ username: YOUR_ACCOUNT_ID
+ access_token: TOKEN
```
Configuration variables:
diff --git a/source/_components/notify.gntp.markdown b/source/_components/notify.gntp.markdown
index bf84923a0ed..f319a5980c2 100644
--- a/source/_components/notify.gntp.markdown
+++ b/source/_components/notify.gntp.markdown
@@ -20,8 +20,8 @@ To use GNTP notifications, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFER_NAME
- platform: gntp
+ - name: NOTIFER_NAME
+ platform: gntp
```
GNTP will attempt to connect to a local server running on port 23053 if no `hostname` is provided.
diff --git a/source/_components/notify.group.markdown b/source/_components/notify.group.markdown
index 69c3ab8088d..01ef1d7dc8b 100644
--- a/source/_components/notify.group.markdown
+++ b/source/_components/notify.group.markdown
@@ -19,13 +19,13 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- name: MyDevices
- platform: group
- services:
- - service: html5
- data:
- target: "macbook"
- - service: html5_nexus
+ - name: NOTIFIER_NAME
+ platform: group
+ services:
+ - service: html5
+ data:
+ target: "macbook"
+ - service: html5_nexus
```
Configuration variables:
diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown
index 93c1b13ce90..3f35924e1e1 100644
--- a/source/_components/notify.html5.markdown
+++ b/source/_components/notify.html5.markdown
@@ -20,10 +20,10 @@ To enable this platform, add the following lines to your `configuration.yaml` fi
```yaml
# Example configuration.yaml entry
notify:
- name: HTML5
- platform: html5
- gcm_api_key: 'gcm-sender-key'
- gcm_sender_id: 'gcm-sender-id'
+ - name: NOTIFIER_NAME
+ platform: html5
+ gcm_api_key: 'gcm-sender-key'
+ gcm_sender_id: 'gcm-sender-id'
```
Configuration variables:
diff --git a/source/_components/notify.instapush.markdown b/source/_components/notify.instapush.markdown
index fb027e59e0a..427991e60dc 100644
--- a/source/_components/notify.instapush.markdown
+++ b/source/_components/notify.instapush.markdown
@@ -22,12 +22,12 @@ To add Instapush to your installation, add the following to your `configuration.
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: instapush
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- app_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
- event: ABCDEFGHJKLMNOPQRSTUVXYZ
- tracker: ABCDEFGHJKLMNOPQRSTUVXYZ
+ - name: NOTIFIER_NAME
+ platform: instapush
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ app_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
+ event: ABCDEFGHJKLMNOPQRSTUVXYZ
+ tracker: ABCDEFGHJKLMNOPQRSTUVXYZ
```
Configuration variables:
@@ -35,7 +35,7 @@ Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): Your API key for Instapush.
- **app_secret** (*Required*): The secret for your created application.
-- **event** (*Required*): The event
+- **event** (*Required*): The event to push to.
- **tracker** (*Required*): The name of tracker inside Instapush.
To retrieve the needed values for existing settings, log into your account at [https://instapush.im](https://instapush.im) and go to your **Dashboard**. Then click the **APPS** tab, choose an app, and check the **Basic Info** section. The *Application ID* is the `api_key` and `app_secret` is the *Application Secret*.
diff --git a/source/_components/notify.kodi.markdown b/source/_components/notify.kodi.markdown
index a803d35aa2c..a5ba6e0bacc 100644
--- a/source/_components/notify.kodi.markdown
+++ b/source/_components/notify.kodi.markdown
@@ -15,31 +15,25 @@ ha_release: 0.29
The `Kodi` platform allows you so send messages to your [Kodi](https://kodi.tv/) multimedia system from Home Assistant.
-To add Kodi to your installation, add the following to your configuration.yaml file:
+To add Kodi to your installation, add the following to your `configuration.yaml` file:
-### {% linkable_title Configuration %}
```yaml
# Example configuration.yaml entry
notify:
- platform: kodi
- name: NOTIFIER_NAME
- host: http://192.168.0.123
- port: 8080
- username: USERNAME
- password: PASSWORD
+ - name: NOTIFIER_NAME
+ platform: kodi
+ host: http://192.168.0.123
```
- **name** (*Optional*): Name displayed in the frontend. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **host** (*Required*): The host name or address of the device that is running Kodi.
-- **port** (*optional*): The port number, the default value is `8080`.
+- **port** (*Optional*): The port number, the default value is `8080`.
- **username** (*Optional*): The XBMC/Kodi HTTP username.
- **password** (*Optional*): The XBMC/Kodi HTTP password.
### {% linkable_title script.yaml example %}
+
```yaml
-################################################################
-## Script / Notify KODI
-################################################################
kodi_notification:
sequence:
- service: notify.NOTIFIER_NAME
@@ -50,7 +44,9 @@ kodi_notification:
displaytime: 20000
icon: "warning"
```
-#### message variables:
+
+#### {% linkable_title Message variables %}
+
- **title** (*Optional*): Title that is displayed on the message.
- **message** (*Required*): Message to be displayed.
- **data** (*Optional*)
diff --git a/source/_components/notify.llamalab_automate.markdown b/source/_components/notify.llamalab_automate.markdown
index d875142005f..3b5d5d2dd5a 100644
--- a/source/_components/notify.llamalab_automate.markdown
+++ b/source/_components/notify.llamalab_automate.markdown
@@ -22,10 +22,10 @@ To add Automate to your installation, add the following to your `configuration.y
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: llamalab_automate
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- to: example@gmail.com
+ - name: NOTIFIER_NAME
+ platform: llamalab_automate
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ to: example@gmail.com
```
Configuration variables:
diff --git a/source/_components/notify.markdown b/source/_components/notify.markdown
index 378e3e75945..6279291a69a 100644
--- a/source/_components/notify.markdown
+++ b/source/_components/notify.markdown
@@ -16,11 +16,9 @@ The `notify` component makes it possible to send notifications to a wide variety
```yaml
# Example configuration.yaml entry
notify:
- platform: pushbullet
- # Optional name for the notify service
- name: paulus
- # api_key is a required config key by the pushbullet platform
- api_key: ABCDEFG
+ - platform: pushbullet
+ name: paulus
+ api_key: ABCDEFG
```
The **name** parameter is optional but needed if you want to use multiple platforms. The platform will be exposed as service `notify/`. The name will default to `notify` if not supplied.
@@ -82,5 +80,3 @@ If the service support sending the location, the data from this sample can be us
}
```
-
-
diff --git a/source/_components/notify.message_bird.markdown b/source/_components/notify.message_bird.markdown
index 3a48b2d9f04..d8baf5fa0d7 100644
--- a/source/_components/notify.message_bird.markdown
+++ b/source/_components/notify.message_bird.markdown
@@ -19,10 +19,9 @@ To enable MessageBird notifications in your installation, add the following to y
```yaml
# Example configuration.yaml entry
notify:
- platform: message_bird
- api_key: YOUR_API_KEY
- name: NOTIFIER_NAME
- sender: SENDER_NAME
+ - name: NOTIFIER_NAME
+ platform: message_bird
+ api_key: YOUR_API_KEY
```
Configuration variables:
diff --git a/source/_components/notify.nma.markdown b/source/_components/notify.nma.markdown
index 1d42cd28b2f..c16a7ae04e4 100644
--- a/source/_components/notify.nma.markdown
+++ b/source/_components/notify.nma.markdown
@@ -22,9 +22,9 @@ To add NMA to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: nma
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ - name: NOTIFIER_NAME
+ platform: nma
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
```
Configuration variables:
diff --git a/source/_components/notify.pushbullet.markdown b/source/_components/notify.pushbullet.markdown
index 1d58f8bf193..0736697f323 100644
--- a/source/_components/notify.pushbullet.markdown
+++ b/source/_components/notify.pushbullet.markdown
@@ -19,9 +19,9 @@ To enable Pushbullet notifications in your installation, add the following to yo
```yaml
# Example configuration.yaml entry
notify:
- platform: pushbullet
- api_key: YOUR_API_KEY
- name: NOTIFIER_NAME
+ - name: NOTIFIER_NAME
+ platform: pushbullet
+ api_key: YOUR_API_KEY
```
Configuration variables:
diff --git a/source/_components/notify.pushetta.markdown b/source/_components/notify.pushetta.markdown
index cab9636e46a..f417fce68be 100644
--- a/source/_components/notify.pushetta.markdown
+++ b/source/_components/notify.pushetta.markdown
@@ -22,10 +22,10 @@ To enable Pushetta notifications in your installation, add the following to your
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: pushetta
- api_key: YOUR_API_KEY
- channel_name: YOUR_CHANNEL_NAME
+ - name: NOTIFIER_NAME
+ platform: pushetta
+ api_key: YOUR_API_KEY
+ channel_name: YOUR_CHANNEL_NAME
```
Configuration variables:
diff --git a/source/_components/notify.pushover.markdown b/source/_components/notify.pushover.markdown
index 20a7ca49131..4712c6acd7f 100644
--- a/source/_components/notify.pushover.markdown
+++ b/source/_components/notify.pushover.markdown
@@ -22,10 +22,10 @@ To use Pushover notifications, add the following to your `configuration.yaml` fi
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: pushover
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- user_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ - name: NOTIFIER_NAME
+ platform: pushover
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ user_key: ABCDEFGHJKLMNOPQRSTUVXYZ
```
Configuration variables:
diff --git a/source/_components/notify.rest.markdown b/source/_components/notify.rest.markdown
index e23663f1226..662ffa10e09 100644
--- a/source/_components/notify.rest.markdown
+++ b/source/_components/notify.rest.markdown
@@ -20,13 +20,9 @@ To enable the REST notification in your installation, add the following to your
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: rest
- resource: http://IP_ADDRESS/ENDPOINT
- method: GET
- message_param_name: MESSAGE_PARAMETER_NAME
- title_param_name: TITLE_PARAMETER_NAME
- target_param_name: TARGET_PARAMETER_NAME
+ - name: NOTIFIER_NAME
+ platform: rest
+ resource: http://IP_ADDRESS/ENDPOINT
```
Configuration variables:
diff --git a/source/_components/notify.sendgrid.markdown b/source/_components/notify.sendgrid.markdown
index 1ba53da012a..16bf7e992a1 100644
--- a/source/_components/notify.sendgrid.markdown
+++ b/source/_components/notify.sendgrid.markdown
@@ -18,11 +18,11 @@ To enable notification emails via SendGrid in your installation, add the followi
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: sendgrid
- api_key: API_KEY
- sender: SENDER_EMAIL_ADDRESS
- recipient: YOUR_RECIPIENT
+ - name: NOTIFIER_NAME
+ platform: sendgrid
+ api_key: API_KEY
+ sender: SENDER_EMAIL_ADDRESS
+ recipient: YOUR_RECIPIENT
```
Configuration variables:
diff --git a/source/_components/notify.slack.markdown b/source/_components/notify.slack.markdown
index ca7861883cf..040e070dcd9 100644
--- a/source/_components/notify.slack.markdown
+++ b/source/_components/notify.slack.markdown
@@ -26,12 +26,10 @@ To enable the slack notification in your installation, add the following to your
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: slack
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- default_channel: '#general'
- icon: ':robot_face:'
- username: 'Home-Assistant'
+ - name: NOTIFIER_NAME
+ platform: slack
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ default_channel: '#general'
```
Configuration variables:
diff --git a/source/_components/notify.smtp.markdown b/source/_components/notify.smtp.markdown
index d47604532ee..bd6d47cdb46 100644
--- a/source/_components/notify.smtp.markdown
+++ b/source/_components/notify.smtp.markdown
@@ -20,22 +20,17 @@ To enable notification by e-mail in your installation, add the following to your
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: smtp
- server: MAIL_SERVER
- port: YOUR_SMTP_PORT
- sender: SENDER_EMAIL_ADDRESS
- starttls: true or false
- username: YOUR_SMTP_USERNAME
- password: YOUR_SMTP_PASSWORD
- recipient: YOUR_RECIPIENT
+ - name: NOTIFIER_NAME
+ platform: smtp
+ server: MAIL_SERVER
+ recipient: YOUR_RECIPIENT
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
-- **server** (*Optional*): SMTP server which is used to end the notifications. For Google Mail, eg. smtp.gmail.com. Keep in mind that Google has some extra layers of protection which need special attention (Hint: 'Less secure apps'). Defaults to `localhost`.
-- **port** (*Optional*): The port that the SMTP server is using, eg. 587 for Google Mail and STARTTLS or 465/993 depending on your SMTP servers. Defaults to 25.
+- **server** (*Optional*): SMTP server which is used to end the notifications. Defaults to `localhost`.
+- **port** (*Optional*): The port that the SMTP server is using. Defaults to 25.
- **sender** (*Optional*): E-mail address of the sender.
- **username** (*Optional*): Username for the SMTP account.
- **password** (*Optional*): Password for the SMTP server that belongs to the given username. If the password contains a colon it need to be wrapped in apostrophes.
@@ -43,6 +38,24 @@ Configuration variables:
- **starttls** (*Optional*): Enables STARTTLS, eg. True or False. Defaults to False.
- **debug** (*Optional*): Enables Debug, eg. True or False. Defaults to False.
+A sample configuration entry for Google Mail.
+
+```yaml
+# Example configuration.yaml entry
+notify:
+ - name: NOTIFIER_NAME
+ platform: smtp
+ server: smtp.gmail.com
+ port: 587
+ sender: john@gmail.com
+ starttls: true
+ username: john@gmail.com
+ password: thePassword
+ recipient: james@gmail.com
+```
+
+Keep in mind that Google has some extra layers of protection which need special attention (Hint: 'Less secure apps').
+
To use the SMTP notification, refer to it in an automation or script like in this example:
```yaml
diff --git a/source/_components/notify.syslog.markdown b/source/_components/notify.syslog.markdown
index 89f7f3b2246..0869e16039b 100644
--- a/source/_components/notify.syslog.markdown
+++ b/source/_components/notify.syslog.markdown
@@ -19,11 +19,8 @@ To enable syslog notifications in your installation, add the following to your `
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: syslog
- facility: SYSLOG_FACILITY
- option: SYSLOG_LOG_OPTION
- priority: SYSLOG_PRIORITY
+ - name: NOTIFIER_NAME
+ platform: syslog
```
Configuration variables:
diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown
index bb906db264c..54124b855da 100644
--- a/source/_components/notify.telegram.markdown
+++ b/source/_components/notify.telegram.markdown
@@ -45,10 +45,10 @@ To enable Telegram notifications in your installation, add the following to your
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: telegram
- api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- chat_id: YOUR_CHAT_ID
+ - name: NOTIFIER_NAME
+ platform: telegram
+ api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ chat_id: YOUR_CHAT_ID
```
Configuration variables:
diff --git a/source/_components/notify.twilio_sms.markdown b/source/_components/notify.twilio_sms.markdown
index f8865443eea..6931d2507eb 100644
--- a/source/_components/notify.twilio_sms.markdown
+++ b/source/_components/notify.twilio_sms.markdown
@@ -19,11 +19,11 @@ To use this notification platform in your installation, add the following to you
```yaml
# Example configuration.yaml entry
notify:
- platform: twilio_sms
- name: NOTIFIER_NAME
- account_sid: ACCOUNT_SID_FROM_TWILIO
- auth_token: AUTH_TOKEN_FROM_TWILIO
- from_number: E164_PHONE_NUMBER
+ - name: NOTIFIER_NAME
+ platform: twilio_sms
+ account_sid: ACCOUNT_SID_FROM_TWILIO
+ auth_token: AUTH_TOKEN_FROM_TWILIO
+ from_number: E164_PHONE_NUMBER
```
Configuration variables:
diff --git a/source/_components/notify.twitter.markdown b/source/_components/notify.twitter.markdown
index c8f22d3ffc3..8948669bfab 100644
--- a/source/_components/notify.twitter.markdown
+++ b/source/_components/notify.twitter.markdown
@@ -22,12 +22,12 @@ To add Twitter to your installation, add the following to your `configuration.ya
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: twitter
- consumer_key: ABCDEFGHJKLMNOPQRSTUVXYZ
- consumer_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
- access_token: ABCDEFGHJKLMNOPQRSTUVXYZ
- access_token_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
+ - name: NOTIFIER_NAME
+ platform: twitter
+ consumer_key: ABCDEFGHJKLMNOPQRSTUVXYZ
+ consumer_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
+ access_token: ABCDEFGHJKLMNOPQRSTUVXYZ
+ access_token_secret: ABCDEFGHJKLMNOPQRSTUVXYZ
```
Configuration variables:
diff --git a/source/_components/notify.webostv.markdown b/source/_components/notify.webostv.markdown
index f69708da52e..3c7a6113d20 100644
--- a/source/_components/notify.webostv.markdown
+++ b/source/_components/notify.webostv.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
logo: webos.png
ha_category: Notifications
-ha_iot_class: "Local Poll"
+ha_iot_class: "Local Polling"
ha_release: 0.18
---
@@ -22,15 +22,15 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml
# Example configuration.yaml entry
notify:
- platform: webostv
- host: 192.168.0.112
- name: livingroom_tv
+ - platform: webostv
+ host: 192.168.0.112
+ name: livingroom_tv
```
Configuration variables:
-- **host** *Required*: The IP of the LG WebOS Smart TV, e.g. 192.168.0.10
-- **name** *Required*: The name you would like to give to the LG WebOS Smart TV.
+- **host** (*Required*): The IP of the LG WebOS Smart TV, e.g. 192.168.0.10
+- **name** (*Required*): The name you would like to give to the LG WebOS Smart TV.
A possible automation could be:
diff --git a/source/_components/notify.xmpp.markdown b/source/_components/notify.xmpp.markdown
index 8d09f3e4b0f..6ebdc4383bd 100644
--- a/source/_components/notify.xmpp.markdown
+++ b/source/_components/notify.xmpp.markdown
@@ -18,12 +18,11 @@ The `xmpp` platform allows you to deliver notifications from Home Assistant to a
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
- platform: xmpp
- sender: YOUR_JID
- password: YOUR_JABBER_ACCOUNT_PASSWORD
- recipient: YOUR_RECIPIENT
- tls: False
+ - name: NOTIFIER_NAME
+ platform: xmpp
+ sender: YOUR_JID
+ password: YOUR_JABBER_ACCOUNT_PASSWORD
+ recipient: YOUR_RECIPIENT
```
Configuration variables:
@@ -32,9 +31,8 @@ Configuration variables:
- **sender** (*Required*): The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, eg. your_name@jabber.org.
- **password** (*Required*): The password for your given Jabber account.
- **recipient** (*Required*): The Jabber ID (JID) that will receive the messages.
-- **tls** (*Optional*): Allow to disable TLS. Defaults to true.
+- **tls** (*Optional*): Allow to disable TLS. Defaults to `true`.
All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender.
-
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_components/nuimo_controller.markdown b/source/_components/nuimo_controller.markdown
index 72c6aac2c21..e2ed36fba8b 100644
--- a/source/_components/nuimo_controller.markdown
+++ b/source/_components/nuimo_controller.markdown
@@ -10,7 +10,7 @@ footer: true
logo: nuimo.png
ha_category: Hub
ha_release: 0.29
-ha_iot_class: "Local Poll"
+ha_iot_class: "Local Polling"
---
The `nuimo_controller` component allows you to connect to a [Nuimo](http://www.senic.com/) device for receiving input events and displaying on the LED matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python).
@@ -18,9 +18,8 @@ The `nuimo_controller` component allows you to connect to a [Nuimo](http://www.s
To connect to a Nuimo device add the following section to your `configuration.yaml` file:
```yaml
-nuimo_controller:
- mac: 'CE:B5:12:25:21:89'
- name:
+# Example configuration.yaml entry
+nuimo_controller:
```
Configuration variables:
diff --git a/source/_components/octoprint.markdown b/source/_components/octoprint.markdown
index ed7f6724c5a..17b9f1a5935 100644
--- a/source/_components/octoprint.markdown
+++ b/source/_components/octoprint.markdown
@@ -11,6 +11,7 @@ logo: octoprint.png
ha_category: Hub
featured: false
ha_release: 0.19
+ha_iot_class: "Local Polling"
---
[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main component to integrate OctoPrint sensors, you will have to setup sensors and binary sensors separately.
diff --git a/source/_components/panel_custom.markdown b/source/_components/panel_custom.markdown
index ffe04c7e2ab..1ed44576e58 100644
--- a/source/_components/panel_custom.markdown
+++ b/source/_components/panel_custom.markdown
@@ -1,7 +1,7 @@
---
layout: page
title: "Panel Custom"
-description: "Instructions how to add customied panels to the frontend of Home Assistant."
+description: "Instructions how to add customized panels to the frontend of Home Assistant."
date: 2015-08-08 11:00
sidebar: true
comments: false
diff --git a/source/_components/panel_iframe.markdown b/source/_components/panel_iframe.markdown
index b3ca0e8f9f4..5b170a310b1 100644
--- a/source/_components/panel_iframe.markdown
+++ b/source/_components/panel_iframe.markdown
@@ -24,11 +24,9 @@ To enable Panel iFrames in your installation, add the following to your `configu
panel_iframe:
router:
title: 'Router'
- icon: 'mdi:router-wireless'
url: 'http://192.168.1.1'
fridge:
title: 'Fridge'
- icon: 'mdi:fridge'
url: 'http://192.168.1.5'
```
diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown
index e2eeddc8fc7..f0ce7f33c6c 100644
--- a/source/_components/pilight.markdown
+++ b/source/_components/pilight.markdown
@@ -10,7 +10,7 @@ footer: true
logo: pilight.png
ha_category: Hub
ha_release: 0.26
-ha_iot_class: Local Push
+ha_iot_class: "Local Push"
---
[Pilight](https://www.pilight.org/) is a modular and open source solution to communicate with 433 MHz devices and runs on various small form factor computers. A lot of common [protocols](https://wiki.pilight.org/doku.php/protocols) are already available.
@@ -26,12 +26,6 @@ To integrate pilight into Home Assistant, add the following section to your `con
pilight:
host: 127.0.0.1
port: 5000
- whitelist: # optional
- protocol:
- - daycom
- - intertechno
- id:
- - 42
```
Configuration variables:
@@ -42,6 +36,21 @@ Configuration variables:
In this example only received RF codes using a daycom or intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight [API](https://www.pilight.org/development/api/).
+A full configuration sample could look like the sample below:
+
+```yaml
+# Example configuration.yaml entry
+pilight:
+ host: 127.0.0.1
+ port: 5000
+ whitelist: # optional
+ protocol:
+ - daycom
+ - intertechno
+ id:
+ - 42
+```
+
## {% linkable_title Troubleshooting %}
- A list of tested RF transceiver hardware is available [here](https://wiki.pilight.org/doku.php/electronics). This might be usefull before buying.
diff --git a/source/_components/qwikswitch.markdown b/source/_components/qwikswitch.markdown
index 098bc7c1db2..b7958abeda3 100644
--- a/source/_components/qwikswitch.markdown
+++ b/source/_components/qwikswitch.markdown
@@ -25,7 +25,7 @@ Example configuration:
```yaml
# Example configuration.yaml entry
qwikswitch:
- url: 'http://127.0.0.1:2020'
+ url: http://127.0.0.1:2020
```
Configuration variables:
diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown
index 259e957d8d1..b0dfd2e16d2 100644
--- a/source/_components/recorder.markdown
+++ b/source/_components/recorder.markdown
@@ -23,7 +23,6 @@ To setup the `recorder` component in your installation, add the following to you
```yaml
# Example configuration.yaml entry
recorder:
- purge_days: 14
```
Configuration variables:
@@ -31,6 +30,14 @@ Configuration variables:
- **purge_days** (*Optional*): Delete events and states older than x days.
- **db_url** (*Optional*): The URL which point to your database.
+
+```yaml
+# Example configuration.yaml entry
+recorder:
+ purge_days: 5
+ db_url: sqlite:///home/user/.homeassistant/test
+```
+
| Database engine | `db_url` |
| :---------------|:---------------------------------------------------------|
| SQLite | `sqlite:///PATH/TO/DB_NAME` |
diff --git a/source/_components/rfxtrx.markdown b/source/_components/rfxtrx.markdown
index 1c7b4df46c9..3cecbf5fe65 100644
--- a/source/_components/rfxtrx.markdown
+++ b/source/_components/rfxtrx.markdown
@@ -20,8 +20,6 @@ To enable RFXtrx in your installation, add the following to your `configuration.
# Example configuration.yaml entry
rfxtrx:
device: PATH_TO_DEVICE
- debug: True
- dummy: False
```
Configuration variables:
diff --git a/source/_components/scene.markdown b/source/_components/scene.markdown
index 296275b6fc4..a433c38ad83 100644
--- a/source/_components/scene.markdown
+++ b/source/_components/scene.markdown
@@ -23,7 +23,6 @@ scene:
state: on
xy_color: [0.33, 0.66]
brightness: 200
-
- name: Movies
entities:
light.tv_back_light:
@@ -32,6 +31,11 @@ scene:
light.ceiling: off
```
+Configuration variables:
+
+- **name** (*Required*): Friendly name of scene.
+- **entities** (*Required*): Entities to control.
+
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).
```yaml
diff --git a/source/_components/scsgate.markdown b/source/_components/scsgate.markdown
index 43841dc0cd9..413aefd5f34 100644
--- a/source/_components/scsgate.markdown
+++ b/source/_components/scsgate.markdown
@@ -26,7 +26,7 @@ Configuration variables:
- **device** (*Required*): The path to your device, e.g. `/dev/ttyACM0`
-### How to find the scs_id for your devices
+### {% linkable_title How to find the scs_id for your devices %}
The SCSGate component relies on the [scsgate](https://github.com/flavio/scsgate) python module.
diff --git a/source/_components/sensor.bitcoin.markdown b/source/_components/sensor.bitcoin.markdown
index 610f8b3ecae..23aba6ca31f 100644
--- a/source/_components/sensor.bitcoin.markdown
+++ b/source/_components/sensor.bitcoin.markdown
@@ -22,7 +22,6 @@ To add the Bitcoin sensor to your installation, add a selection of the available
# Example configuration.yaml entry
sensor:
platform: bitcoin
- currency: YOUR CURRENCY
display_options:
- exchangerate
- trade_volume_btc
diff --git a/source/_components/sensor.bom.markdown b/source/_components/sensor.bom.markdown
index d538a2f2584..5c24034aeb5 100644
--- a/source/_components/sensor.bom.markdown
+++ b/source/_components/sensor.bom.markdown
@@ -1,6 +1,6 @@
---
layout: page
-title: "Weather data by the Bureau of Meteorology Australia"
+title: "Bureau of Meteorology (BOM) Australia"
description: "Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant."
date: 2016-09-13 18:00
sidebar: true
@@ -38,7 +38,6 @@ To add the BOM weather observation to your installation, add the following to yo
# Example configuration.yaml entry
sensor:
- platform: bom
- name: "optional name"
zone_id: IDS60801
wmo_id: 94675
monitored_conditions:
diff --git a/source/_components/sensor.coinmarketcap.markdown b/source/_components/sensor.coinmarketcap.markdown
index 4edd66c1122..0fdcbc86486 100644
--- a/source/_components/sensor.coinmarketcap.markdown
+++ b/source/_components/sensor.coinmarketcap.markdown
@@ -22,7 +22,6 @@ To add the CoinMarketCap sensor to your installation, add the following lines to
# Example configuration.yaml entry
sensor:
- platform: coinmarketcap
- currency: bitcoin
```
Configuration variables:
diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown
index 814ab0461c9..6c7f6a42b48 100644
--- a/source/_components/sensor.command_line.markdown
+++ b/source/_components/sensor.command_line.markdown
@@ -21,11 +21,8 @@ To enable it, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: command_line
- command: SENSOR_COMMAND
- name: Command sensor
- unit_of_measurement: "°C"
- value_template: '{% raw %}{{ value.x }}{% endraw %}'
+ - platform: command_line
+ command: SENSOR_COMMAND
```
Configuration variables:
diff --git a/source/_components/sensor.cpuspeed.markdown b/source/_components/sensor.cpuspeed.markdown
index 13e1c72f79b..c997ae5a2f4 100644
--- a/source/_components/sensor.cpuspeed.markdown
+++ b/source/_components/sensor.cpuspeed.markdown
@@ -21,8 +21,7 @@ To add this platform to your installation, add the following to your `configurat
```yaml
# Example configuration.yaml entry
sensor:
- platform: cpuspeed
- name: CPU
+ - platform: cpuspeed
```
Configuration variables:
diff --git a/source/_components/sensor.darksky.markdown b/source/_components/sensor.darksky.markdown
new file mode 100644
index 00000000000..bfd2d19811b
--- /dev/null
+++ b/source/_components/sensor.darksky.markdown
@@ -0,0 +1,88 @@
+---
+layout: page
+title: "Dark Sky"
+description: "How to integrate Dark Sky within Home Assistant."
+date: 2016-09-26 08:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: dark_sky.png
+ha_category: Weather
+featured: true
+ha_release: 0.30
+---
+
+The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
+
+You need an API key which is free but requires [registration](hhttps://darksky.net/dev/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
+
+
+[Dark Sky](https://darksky.net/) will charge you $0.0001 per API call if you enter your credit card details and create more than 1000 calls per day.
+
+
+To add Dark Sky to your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ platform: darksky
+ api_key: YOUR_APP_KEY
+ monitored_conditions:
+ - summary
+ - icon
+ - nearest_storm_distance
+ - nearest_storm_bearing
+ - precip_type
+ - precip_intensity
+ - precip_probability
+ - temperature
+ - apparent_temperature
+ - dew_point
+ - wind_speed
+ - wind_bearing
+ - cloud_cover
+ - humidity
+ - pressure
+ - visibility
+ - ozone
+ - minutely_summary
+ - hourly_summary
+ - daily_summary
+ - temperature_max
+ - temperature_min
+ - apparent_temperature_max
+ - apparent_temperature_min
+ - precip_intensity_max
+```
+
+Configuration variables:
+
+- **api_key** (*Required*): Your API key.
+- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
+ - **summary**: A human-readable text summary of the current conditions.
+ - **precip_type**: The type of precipitation occurring.
+ - **precip_intensity**: The average expected intensity of precipitation occurring.
+ - **precip_probability**: A value between 0 and 1 which is representing the probability of precipitation.
+ - **temperature**: The current temperature.
+ - **apparent_temperature**: A numerical value representing the apparent (or "feels like") temperature.
+ - **dew_point**: The dew point.
+ - **wind_speed**: The wind speed.
+ - **wind_bearing**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
+ - **cloud_cover**: The percentage of sky occluded by clouds.
+ - **humidity**: The relative humidity.
+ - **pressure**: The sea-level air pressure in millibars.
+ - **visibility**: The average visibility.
+ - **ozone**: The columnar density of total atmospheric ozone in Dobson.
+ - **minutely_summary**: A human-readable text summary for the next hour.
+ - **hourly_summary**: A human-readable text summary for the next 24 hours.
+ - **daily_summary**: A human-readable text summary for the next 7 days.
+ - **temperature_max**: Today's expected high temperature.
+ - **temperature_min**: Today's expected low temperature.
+ - **apparent_temperature_max**: Today's expected apparent high temperature.
+ - **apparent_temperature_min**: Today's expected apparent low temperature.
+ - **precip_intensity_max**: Today's expected maximum intensity of precipitation.
+- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`.
+`auto` will let forecast.io decide the unit system based on location.
+
+Details about the API are available in the [Dark Sky documentation](https://darksky.net/dev/docs).
diff --git a/source/_components/sensor.deutsche_bahn.markdown b/source/_components/sensor.deutsche_bahn.markdown
index 00942189ce1..2d10cdcc97b 100644
--- a/source/_components/sensor.deutsche_bahn.markdown
+++ b/source/_components/sensor.deutsche_bahn.markdown
@@ -21,9 +21,9 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
sensor:
- platform: deutsche_bahn
- from: NAME_OF_START_STATION
- to: NAME_OF_FINAL_STATION
+ - platform: deutsche_bahn
+ from: NAME_OF_START_STATION
+ to: NAME_OF_FINAL_STATION
```
Configuration variables:
diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown
index 1a5424b30d4..b807d14d6ea 100644
--- a/source/_components/sensor.dht.markdown
+++ b/source/_components/sensor.dht.markdown
@@ -24,7 +24,6 @@ sensor:
platform: dht
sensor: DHT22
pin: 23
- name: Living Room
monitored_conditions:
- temperature
- humidity
@@ -35,11 +34,7 @@ Configuration variables:
- **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302
- **pin** (*Required*): The pin the sensor is connected to.
- **name** (*Optional*): The name of the sensor
-- **monitored_conditions** array: Conditions to monitor.
- - **temperature**:
- - **humidity**:
-
-Available conditions are only *temperature* and *humidity*.
+- **monitored_conditions** array (*Required*): Conditions to monitor. Available conditions are only *temperature* and *humidity*.
The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi.
diff --git a/source/_components/sensor.dte_energy_bridge.markdown b/source/_components/sensor.dte_energy_bridge.markdown
index 7597c31a749..d3f1a4db978 100644
--- a/source/_components/sensor.dte_energy_bridge.markdown
+++ b/source/_components/sensor.dte_energy_bridge.markdown
@@ -7,6 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
+logo: dte_energy.png
ha_category: Energy
ha_release: 0.21
ha_iot_class: "Local Polling"
@@ -21,7 +22,6 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
sensor:
- platform: dte_energy_bridge
ip: 192.168.1.11
- name: DTE Energy
```
Configuration variables:
diff --git a/source/_components/sensor.efergy.markdown b/source/_components/sensor.efergy.markdown
index 29bd54204f8..3669b17f51c 100644
--- a/source/_components/sensor.efergy.markdown
+++ b/source/_components/sensor.efergy.markdown
@@ -10,6 +10,7 @@ footer: true
logo: efergy.png
ha_category: Energy
ha_release: pre 0.7
+ha_iot_class: "Cloud Polling"
---
@@ -18,15 +19,15 @@ Integrate your [Efergy](https://efergy.com) meter information into Home Assistan
```yaml
# Example configuration.yaml entry
sensor:
- platform: efergy
- app_token: APP_TOKEN
- utc_offset: UTC_OFFSET
- monitored_variables:
- - type: instant_readings
- - type: budget
- - type: cost
- period: day
- currency: $
+ - platform: efergy
+ app_token: APP_TOKEN
+ utc_offset: UTC_OFFSET
+ monitored_variables:
+ - type: instant_readings
+ - type: budget
+ - type: cost
+ period: day
+ currency: $
```
Configuration variables:
diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown
index c7023015f9e..36fb8621c99 100644
--- a/source/_components/sensor.eliqonline.markdown
+++ b/source/_components/sensor.eliqonline.markdown
@@ -10,6 +10,7 @@ footer: true
logo: eliq.png
ha_category: Energy
ha_release: "0.10"
+ha_iot_class: "Cloud Polling"
---
@@ -20,10 +21,8 @@ To enable this sensor in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: eliqonline
- access_token: ACCESS_TOKEN
- name: Power consumption
- channel_id: CHANNEL_ID
+ - platform: eliqonline
+ access_token: ACCESS_TOKEN
```
Configuration variables:
diff --git a/source/_components/sensor.enocean.markdown b/source/_components/sensor.enocean.markdown
index 654c054a923..347d5430067 100644
--- a/source/_components/sensor.enocean.markdown
+++ b/source/_components/sensor.enocean.markdown
@@ -17,7 +17,6 @@ The `enocean` sensor platform currently only allows reading out the power measur
To use your EnOcean device, you first have to set up your [EnOcean hub](../enocean) and then add the following to your `configuration.yaml` file:
-
```yaml
# Example configuration.yaml entry
sensor:
diff --git a/source/_components/sensor.fastdotcom.markdown b/source/_components/sensor.fastdotcom.markdown
index 689dbe6c7bb..40bffe188cb 100644
--- a/source/_components/sensor.fastdotcom.markdown
+++ b/source/_components/sensor.fastdotcom.markdown
@@ -27,7 +27,7 @@ Once per hour, on the hour (default):
```yaml
sensor:
- platform: fastdotcom
+ - platform: fastdotcom
```
More examples:
@@ -36,10 +36,10 @@ Every half hour of every day:
```yaml
sensor:
- platform: fastdotcom
- minute:
- - 0
- - 30
+ - platform: fastdotcom
+ minute:
+ - 0
+ - 30
```
Configuration variables:
diff --git a/source/_components/sensor.fixer.markdown b/source/_components/sensor.fixer.markdown
index 7cedf440926..ce9071e4bcd 100644
--- a/source/_components/sensor.fixer.markdown
+++ b/source/_components/sensor.fixer.markdown
@@ -23,15 +23,13 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
sensor:
- platform: fixer
- name: EUR
- base: EUR
- target: CHF
+ - platform: fixer
+ target: CHF
```
Configuration variables:
+- **target** (*Required*): The symbol of the target currency.
- **name** (*Optional*): Name to use in the frontend.
- **base** (*Optional*): The symbol of the base currency. Default to USD
-- **target** (*Required*): The symbol of the target currency.
diff --git a/source/_components/sensor.forecast.markdown b/source/_components/sensor.forecast.markdown
index 5f32c56d364..7f15e40c405 100644
--- a/source/_components/sensor.forecast.markdown
+++ b/source/_components/sensor.forecast.markdown
@@ -8,11 +8,15 @@ comments: false
sharing: true
footer: true
logo: forecast.png
-ha_category: Weather
-featured: true
+ha_category: Deprecated
+featured: False
ha_release: pre 0.7
---
+
+**This platform has been deprecated in favor of the "[darksky](/components/sensor.darksky/)" platform and will be removed in the future. Please use the "darksky" platform.**
+
+
The `forecast` platform uses the [Forecast.io](https://forecast.io/) web service as a source of meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by forecast.io, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
You need an API key which is free but requires [registration](https://developer.forecast.io/register). You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.
@@ -26,34 +30,34 @@ To add Forecast.io to your installation, add the following to your `configuratio
```yaml
# Example configuration.yaml entry
sensor:
- platform: forecast
- api_key: YOUR_APP_KEY
- monitored_conditions:
- - summary
- - icon
- - nearest_storm_distance
- - nearest_storm_bearing
- - precip_type
- - precip_intensity
- - precip_probability
- - temperature
- - apparent_temperature
- - dew_point
- - wind_speed
- - wind_bearing
- - cloud_cover
- - humidity
- - pressure
- - visibility
- - ozone
- - minutely_summary
- - hourly_summary
- - daily_summary
- - temperature_max
- - temperature_min
- - apparent_temperature_max
- - apparent_temperature_min
- - precip_intensity_max
+ - platform: forecast
+ api_key: YOUR_APP_KEY
+ monitored_conditions:
+ - summary
+ - icon
+ - nearest_storm_distance
+ - nearest_storm_bearing
+ - precip_type
+ - precip_intensity
+ - precip_probability
+ - temperature
+ - apparent_temperature
+ - dew_point
+ - wind_speed
+ - wind_bearing
+ - cloud_cover
+ - humidity
+ - pressure
+ - visibility
+ - ozone
+ - minutely_summary
+ - hourly_summary
+ - daily_summary
+ - temperature_max
+ - temperature_min
+ - apparent_temperature_max
+ - apparent_temperature_min
+ - precip_intensity_max
```
Configuration variables:
@@ -84,5 +88,17 @@ Configuration variables:
- **precip_intensity_max**: Today's expected maximum intensity of precipitation.
- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, and `uk2`.
`auto` will let forecast.io decide the unit system based on location.
+- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats:
+ - `update_interval: 'HH:MM:SS'`
+ - `update_interval: 'HH:MM'`
+ - Time period dictionary, e.g.:
+ update_interval:
+ # At least one of these must be specified:
+ days: 0
+ hours: 0
+ minutes: 3
+ seconds: 30
+ milliseconds: 0
+
Details about the API are available in the [Forecast.io documentation](https://developer.forecast.io/docs/v2).
diff --git a/source/_components/sensor.fritzbox_callmonitor.markdown b/source/_components/sensor.fritzbox_callmonitor.markdown
index 290b9bc5051..f792d0a3291 100644
--- a/source/_components/sensor.fritzbox_callmonitor.markdown
+++ b/source/_components/sensor.fritzbox_callmonitor.markdown
@@ -24,7 +24,7 @@ To use the Fritz!Box call monitor in your installation, add the following to you
```yaml
# Example configuration.yaml entry
sensor:
- platform: fritzbox_callmonitor
+ - platform: fritzbox_callmonitor
```
Configuration variables:
diff --git a/source/_components/sensor.glances.markdown b/source/_components/sensor.glances.markdown
index cd981caa080..90ca9574419 100644
--- a/source/_components/sensor.glances.markdown
+++ b/source/_components/sensor.glances.markdown
@@ -37,31 +37,29 @@ To enable the Glances sensor, add the following lines to your `configuration.yam
```yaml
# Example configuration.yaml entry
sensor:
- platform: glances
- name: Glances sensor
- host: IP_ADDRESS
- port: 61208
- resources:
- - 'disk_use_percent'
- - 'disk_use'
- - 'disk_free'
- - 'memory_use_percent'
- - 'memory_use'
- - 'memory_free'
- - 'swap_use_percent'
- - 'swap_use'
- - 'swap_free'
- - 'processor_load'
- - 'process_running'
- - 'process_total'
- - 'process_thread'
- - 'process_sleeping'
+ - platform: glances
+ host: IP_ADDRESS
+ resources:
+ - 'disk_use_percent'
+ - 'disk_use'
+ - 'disk_free'
+ - 'memory_use_percent'
+ - 'memory_use'
+ - 'memory_free'
+ - 'swap_use_percent'
+ - 'swap_use'
+ - 'swap_free'
+ - 'processor_load'
+ - 'process_running'
+ - 'process_total'
+ - 'process_thread'
+ - 'process_sleeping'
```
Configuration variables:
-- **host** (*Required*): The IP address of your host, eg. 192.168.1.32.
-- **port** (*Option*): The network port to connect to. Default is 61208.
+- **host** (*Required*): The IP address of your host, eg. `192.168.1.32`.
+- **port** (*Option*): The network port to connect to. Default is `61208`.
- **name** (*Optional*): Name of the Glances sensor.
- **resources** (*Required*): Entries to monitor.
- **disk_use_percent**: Used disk space in percent
diff --git a/source/_components/sensor.google_travel_time.markdown b/source/_components/sensor.google_travel_time.markdown
index 98d0b6086cc..7c904d9d540 100644
--- a/source/_components/sensor.google_travel_time.markdown
+++ b/source/_components/sensor.google_travel_time.markdown
@@ -22,13 +22,10 @@ A free API Key allows 2500 requests per day. The sensor will update the travel t
```yaml
# Example entry for configuration.yaml
sensor:
- platform: google_travel_time
- name: Google Travel Time
+ - platform: google_travel_time
api_key: XXXX_XXXXX_XXXXX
origin: Trondheim, Norway
destination: Paris, France
- options:
- ...
```
Configuration variables:
diff --git a/source/_components/sensor.gpsd.markdown b/source/_components/sensor.gpsd.markdown
index 0b955d6b678..1209bd6fee5 100644
--- a/source/_components/sensor.gpsd.markdown
+++ b/source/_components/sensor.gpsd.markdown
@@ -47,13 +47,10 @@ To setup a GPSD sensor in your installation, add the following to your `configur
# Example configuration.yaml entry
senosr:
- platform: gpsd
- host: 127.0.0.1
- port: 2947
- name: GPS USB
```
Configuration variables:
- **host** (*Optional*): The host where GPSD is running. Defaults to `localhost`.
-- **port** (*Optional*): The port which GPSD is using. Defaults to 2947.
+- **port** (*Optional*): The port which GPSD is using. Defaults to `2947`.
- **name** (*Optional*): Friendly name to use for the frontend. Default to GPS.
diff --git a/source/_components/sensor.gtfs.markdown b/source/_components/sensor.gtfs.markdown
index d474d12b0f2..e2d60b80936 100644
--- a/source/_components/sensor.gtfs.markdown
+++ b/source/_components/sensor.gtfs.markdown
@@ -41,10 +41,10 @@ Your mileage may vary depending on the transit agency used. Most agencies respec
```yaml
# Example configuration.yaml entry
sensor:
- platform: gtfs
- origin: STOP_ID
- destination: STOP_ID
- data: DATA_SOURCE
+ - platform: gtfs
+ origin: STOP_ID
+ destination: STOP_ID
+ data: DATA_SOURCE
```
Configuration variables:
diff --git a/source/_components/sensor.hp_ilo.markdown b/source/_components/sensor.hp_ilo.markdown
index e57ebe9c83c..69a5f170a45 100644
--- a/source/_components/sensor.hp_ilo.markdown
+++ b/source/_components/sensor.hp_ilo.markdown
@@ -31,40 +31,39 @@ To use this component in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: hp_ilo
- host: IP_ADDRESS or HOSTNAME
- port: PORT
- username: USERNAME
- password: PASSWORD
- monitored_variables:
- - server_name
- - server_fqdn
- - server_host_data
- - server_oa_info
- - server_power_status
- - server_power_readings
- - server_power_on_time
- - server_asset_tag
- - server_uid_status
- - server_health
- - network_settings
+ - platform: hp_ilo
+ host: IP_ADDRESS or HOSTNAME
+ username: USERNAME
+ password: PASSWORD
+ monitored_variables:
+ - server_name
+ - server_fqdn
+ - server_host_data
+ - server_oa_info
+ - server_power_status
+ - server_power_readings
+ - server_power_on_time
+ - server_asset_tag
+ - server_uid_status
+ - server_health
+ - network_settings
```
Configuration variables:
-- **host** (*Required*): The hostname or IP address on which the ILO can be reached
-- **port** (*Optional*): The port on which the ILO can be reached, defaults to port 443
-- **username** (*Required*): The username used to connect to the ILO
-- **password** (*Required*): The password used to connect to the ILO
-- **monitored_variables** array (*Optional*): Information to be collected from the ILO, defaults to `server_name`
- - **server_name**: Get the name of the server this iLO is managing
- - **server_fqdn**: Get the fqdn of the server this iLO is managing
- - **server_host_data**: Get SMBIOS records that describe the host
- - **server_oa_info**: Get information about the Onboard Administrator of the enclosing chassis
- - **server_power_status**: Whether the server is powered on or not
- - **server_power_readings**: Get current, min, max and average power readings
- - **server_power_on_time**: How many minutes ago has the server been powered on
- - **server_asset_tag**: Gets the server asset tag
- - **server_uid_status**: Get the status of the UID light
- - **server_health**: Get server health information
- - **network_settings**: Get the iLO network settings
+- **host** (*Required*): The hostname or IP address on which the ILO can be reached.
+- **port** (*Optional*): The port on which the ILO can be reached, defaults to port `443`.
+- **username** (*Required*): The username used to connect to the ILO.
+- **password** (*Required*): The password used to connect to the ILO.
+- **monitored_variables** array (*Optional*): Information to be collected from the ILO, defaults to `server_name`.
+ - **server_name**: Get the name of the server this iLO is managing.
+ - **server_fqdn**: Get the fqdn of the server this iLO is managing.
+ - **server_host_data**: Get SMBIOS records that describe the host.
+ - **server_oa_info**: Get information about the Onboard Administrator of the enclosing chassis.
+ - **server_power_status**: Whether the server is powered on or not.
+ - **server_power_readings**: Get current, min, max and average power readings.
+ - **server_power_on_time**: How many minutes ago has the server been powered on.
+ - **server_asset_tag**: Gets the server asset tag.
+ - **server_uid_status**: Get the status of the UID light.
+ - **server_health**: Get server health information.
+ - **network_settings**: Get the iLO network settings.
diff --git a/source/_components/sensor.imap.markdown b/source/_components/sensor.imap.markdown
index 2fcb5ad8596..d6ce85c67af 100644
--- a/source/_components/sensor.imap.markdown
+++ b/source/_components/sensor.imap.markdown
@@ -24,7 +24,6 @@ sensor:
- platform: imap
server: imap.gmail.com
port: 993
- name: Emails
username: USERNAME
password: PASSWORD
```
diff --git a/source/_components/sensor.imap_email_content.markdown b/source/_components/sensor.imap_email_content.markdown
index dd94c1e1665..5bea107ae22 100644
--- a/source/_components/sensor.imap_email_content.markdown
+++ b/source/_components/sensor.imap_email_content.markdown
@@ -24,12 +24,10 @@ sensor:
- platform: imap_email_content
server: imap.gmail.com
port: 993
- name: Emails
username: USERNAME
password: PASSWORD
senders:
- example@gmail.com
- value_template: TEMPLATE
```
Configuration variables:
diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown
index 46a33f47bce..aa1ee560262 100644
--- a/source/_components/sensor.knx.markdown
+++ b/source/_components/sensor.knx.markdown
@@ -30,17 +30,16 @@ To use your KNX sensor in your installation, add the following to your `configur
# Example configuration.yaml entry
sensor:
- platform: knx
- name: knxweather_temp
type: temperature
address: 1/0/3
- platform: knx
- name: knxweather_wind
+ name: Wind speed
type: speed_ms
address: 1/0/0
- platform: knx
- name: knxweather_lux
+ name: Lux
type: illuminance
address: 1/0/1
```
diff --git a/source/_components/sensor.lastfm.markdown b/source/_components/sensor.lastfm.markdown
index 9fdfaabbeac..218e2f2a8e1 100644
--- a/source/_components/sensor.lastfm.markdown
+++ b/source/_components/sensor.lastfm.markdown
@@ -23,11 +23,11 @@ To use Last.fm with your installation, add the following to your `configuration.
```yaml
# Example configuration.yaml entry
sensor:
- platform: lastfm
- api_key: YOUR_API_KEY
- users:
- - user1
- - user2
+ - platform: lastfm
+ api_key: YOUR_API_KEY
+ users:
+ - user1
+ - user2
```
Configuration variables:
diff --git a/source/_components/sensor.linux_battery.markdown b/source/_components/sensor.linux_battery.markdown
index 57f13e0904d..08c9fca5864 100644
--- a/source/_components/sensor.linux_battery.markdown
+++ b/source/_components/sensor.linux_battery.markdown
@@ -21,8 +21,6 @@ To setup a battery sensor to your installation, add the following to your `confi
# Example configuration.yaml entry
sensor:
- platform: linux_battery
- name: Laptop
- battery: 1
```
Configuration variables:
diff --git a/source/_components/sensor.loop_energy.markdown b/source/_components/sensor.loop_energy.markdown
index d7ef5fb3421..544a09e862b 100644
--- a/source/_components/sensor.loop_energy.markdown
+++ b/source/_components/sensor.loop_energy.markdown
@@ -10,12 +10,11 @@ footer: true
logo: loop.png
ha_category: Energy
ha_release: 0.17
+ha_iot_class: "Local Polling"
---
-Integrate your [Loop Energy](https://www.your-loop.com/) meter information into Home Assistant.
-
-To use this sensor you need the the client serial number and secret keys for your devices.
+Integrate your [Loop Energy](https://www.your-loop.com/) meter information into Home Assistant. To use this sensor you need the the client serial number and secret keys for your devices.
The library used to get the data isn't officially supported and the only way to get the keys is to log into loop energy's website and type a command into your browser console.
@@ -51,8 +50,6 @@ sensor:
gas:
gas_serial: 'GAS_SERIAL'
gas_secret: 'GAS_SECRET'
- gas_type: imperial
- gas_calorific: 38.2
```
Configuration variables:
diff --git a/source/_components/sensor.mhz19.markdown b/source/_components/sensor.mhz19.markdown
index 9a04f50d689..1d3d8491fe1 100644
--- a/source/_components/sensor.mhz19.markdown
+++ b/source/_components/sensor.mhz19.markdown
@@ -22,7 +22,6 @@ To use this sensor in your installation, add the following to your `configuratio
sensor:
- platform: mhz19
serial_device: /dev/tty.SLAB_USBtoUART
- name: CO2
```
- **serial_device** (*Required*): The serial port to use. On *nix systems, it can often be identified by `$ ls /dev/tty*`
diff --git a/source/_components/sensor.moldindicator.markdown b/source/_components/sensor.moldindicator.markdown
index e892e01e7c3..4fffa502843 100644
--- a/source/_components/sensor.moldindicator.markdown
+++ b/source/_components/sensor.moldindicator.markdown
@@ -19,12 +19,20 @@ The sensor data may be used e.g. to signal bad air quality (too high air humidit
```yaml
# Example configuration.yaml entry
sensor:
- platform: mold_indicator
- indoor_temp_sensor: sensor.temp
- indoor_humidity_sensor: sensor.humidity
- outdoor_temp_sensor: sensor.weather_temperature
- calibration_factor: 2.0 # Needs to be calibrated to the critical point in the room
+ - platform: mold_indicator
+ indoor_temp_sensor: sensor.temp
+ indoor_humidity_sensor: sensor.humidity
+ outdoor_temp_sensor: sensor.weather_temperature
+ calibration_factor: 2.0
```
+
+Configuration variables:
+
+- **indoor_temp_sensor** (*Required*): The enditiy ID of the indoor temperature sensor.
+- **indoor_humidity_sensor** (*Required*): The enditiy ID of the indoor humidity sensor.
+- **outdoor_temp_sensor** (*Required*): The enditiy ID of the outdoor temperature sensor.
+- **calibration_factor** (*Required*): Needs to be calibrated to the critical point in the room.
+
In this case, the weather forecast temperature sensor is used for the outside temperature.
## {% linkable_title Calibration %}
diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown
index 29510c858a5..8c8ffe7d804 100644
--- a/source/_components/sensor.mqtt.markdown
+++ b/source/_components/sensor.mqtt.markdown
@@ -21,12 +21,8 @@ To use your MQTT sensor in your installation, add the following to your `configu
```yaml
# Example configuration.yml entry
sensor:
- platform: mqtt
- state_topic: "home/bedroom/temperature"
- name: "MQTT Sensor"
- qos: 0
- unit_of_measurement: "°C"
- value_template: '{% raw %}{{ value.x }}{% endraw %}'
+ - platform: mqtt
+ state_topic: "home/bedroom/temperature"
```
Configuration variables:
diff --git a/source/_components/sensor.mysensors.markdown b/source/_components/sensor.mysensors.markdown
index 1420e037279..0db855d0f47 100644
--- a/source/_components/sensor.mysensors.markdown
+++ b/source/_components/sensor.mysensors.markdown
@@ -2,7 +2,7 @@
layout: page
title: "MySensors Sensor"
description: "Instructions how to integrate MySensors sensors into Home Assistant."
-date: 2016-06-12 15:00 +0200
+date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
@@ -10,6 +10,7 @@ footer: true
logo: mysensors.png
ha_category: Sensor
featured: false
+ha_iot_class: "Local Push"
---
Integrates MySensors sensors into Home Assistant. See the [main component] for configuration instructions.
@@ -50,6 +51,15 @@ S_LIGHT_LEVEL | V_LEVEL
S_AIR_QUALITY | V_LEVEL (replaces V_DUST_LEVEL)
S_DUST | V_LEVEL (replaces V_DUST_LEVEL)
+##### MySensors version 2.0 and higher
+
+S_TYPE | V_TYPE
+----------------|--------------------------
+S_INFO | V_TEXT
+S_GAS | V_FLOW, V_VOLUME
+S_GPS | V_POSITION
+S_WATER_QUALITY | V_TEMP, V_PH, V_ORP, V_EC
+
### {% linkable_title Custom unit of measurement %}
Some sensor value types are not specific for a certain sensor type. These do not have a default unit of measurement in Home Assistant. For example, the V_LEVEL type can be used for different sensor types, dust, sound, vibration etc.
diff --git a/source/_components/sensor.nest.markdown b/source/_components/sensor.nest.markdown
index 045cd4b2113..83ed2eececf 100644
--- a/source/_components/sensor.nest.markdown
+++ b/source/_components/sensor.nest.markdown
@@ -22,6 +22,7 @@ You must have the [Nest component](/components/nest/) configured to use those se
To set it up, add the following information to your `configuration.yaml` file:
```yaml
+# Example configuration.yaml entry
sensor:
platform: nest
monitored_conditions:
diff --git a/source/_components/sensor.nest_weather.markdown b/source/_components/sensor.nest_weather.markdown
index 7d70c588926..3f00c3b081d 100644
--- a/source/_components/sensor.nest_weather.markdown
+++ b/source/_components/sensor.nest_weather.markdown
@@ -23,13 +23,13 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
sensor:
- platform: nest
- monitored_conditions:
- - 'weather_temperature'
- - 'weather_humidity'
- - 'weather_condition'
- - 'wind_speed'
- - 'wind_direction'
+ - platform: nest
+ monitored_conditions:
+ - 'weather_temperature'
+ - 'weather_humidity'
+ - 'weather_condition'
+ - 'wind_speed'
+ - 'wind_direction'
```
Configuration variables:
diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown
index 87ec4e8854b..213d89452d4 100644
--- a/source/_components/sensor.netatmo.markdown
+++ b/source/_components/sensor.netatmo.markdown
@@ -14,8 +14,6 @@ ha_category: Weather
The `netatmo` sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) device.
-
-
To enable the Netatmo sensor, you first have to set up [netatmo](/components/netatmo/), and add the following lines to your `configuration.yaml`:
```yaml
@@ -26,37 +24,15 @@ sensor:
modules:
module_name1:
- temperature
- - humidity
- - noise
- - pressure
- - co2
- - rain
- - sum_rain_1
- - sum_rain_24
- - wifi_status
module_name2:
- temperature
- battery_vp
- - min_temp
- - max_temp
- rainmeter_name3:
- - rain
- - sum_rain_1
- - sum_rain_24
- - battery_vp
- - rf_status
- windmodule_name4:
- - WindAngle
- - WindStrength
- - GustAngle
- - GustStrength
- - rf_status
```
Configuration variables:
- **station** (*Optional*): The name of the weather station. Needed if several stations are associated with the account.
-- **modules** (*Required*): Modules to use. Multiple entries allowed.
+- **modules** (*Required*): Modules to use. Multiple entries allowed. Please checkthe next section about how to retrieve the module names.
- **module_name** array (*Required*): Name of the module.
- **temperature**: Current temperature.
- **co2**: CO2 concentration in ppm.
diff --git a/source/_components/sensor.neurio_energy.markdown b/source/_components/sensor.neurio_energy.markdown
index 6ef192d7459..5fea433c7e6 100644
--- a/source/_components/sensor.neurio_energy.markdown
+++ b/source/_components/sensor.neurio_energy.markdown
@@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: neurio.png
-ha_category: Sensor
+ha_category: Energy
ha_iot_class: "Cloud Polling"
ha_release: 0.14
---
@@ -24,7 +24,6 @@ sensor:
platform: neurio_energy
api_key: API_KEY
api_secret: API_SECRET
- sensor_id: "SENSOR_ID"
```
Configuration variables:
diff --git a/source/_components/sensor.nzbget.markdown b/source/_components/sensor.nzbget.markdown
index f1836295ce4..c23df5fde41 100644
--- a/source/_components/sensor.nzbget.markdown
+++ b/source/_components/sensor.nzbget.markdown
@@ -22,9 +22,6 @@ To use NZBGet with your installation, add the following to your `configuration.y
sensor:
platform: nzbget
host: YOUR_NZBGET_HOST
- port: 6789
- username: apiuser
- password: apipass
monitored_variables:
- article_cache
- download_rate
diff --git a/source/_components/sensor.octoprint.markdown b/source/_components/sensor.octoprint.markdown
index 0cdc090fd68..db6bfda7966 100644
--- a/source/_components/sensor.octoprint.markdown
+++ b/source/_components/sensor.octoprint.markdown
@@ -23,12 +23,12 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
sensor:
- platform: octoprint
- name: OctoPrint
- monitored_conditions:
- - Current State
- - Temperatures
- - Job Percentage
+ - platform: octoprint
+ name: OctoPrint
+ monitored_conditions:
+ - Current State
+ - Temperatures
+ - Job Percentage
```
Configuration variables:
diff --git a/source/_components/sensor.ohmconnect.markdown b/source/_components/sensor.ohmconnect.markdown
index 9cc10a56258..7f564a76d3c 100644
--- a/source/_components/sensor.ohmconnect.markdown
+++ b/source/_components/sensor.ohmconnect.markdown
@@ -24,8 +24,8 @@ You can find your OhmConnect ID under "Open Source Projects" on the [settings pa
```yaml
# Example configuration.yaml entry
sensor:
- platform: ohmconnect
- id: AbCd1e
+ - platform: ohmconnect
+ id: AbCd1e
```
Configuration variables:
diff --git a/source/_components/sensor.onewire.markdown b/source/_components/sensor.onewire.markdown
index 82db29fc55a..b69a7051494 100644
--- a/source/_components/sensor.onewire.markdown
+++ b/source/_components/sensor.onewire.markdown
@@ -29,10 +29,9 @@ To enable One wire sensors in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
sensor:
- platform: onewire
- names:
- some_id: your name
- mount_dir: "/mnt/1wire"
+ - platform: onewire
+ names:
+ some_id: your name
```
Configuration variables:
diff --git a/source/_components/sensor.openexchangerates.markdown b/source/_components/sensor.openexchangerates.markdown
index ad86aa02ddb..63e94b74a85 100644
--- a/source/_components/sensor.openexchangerates.markdown
+++ b/source/_components/sensor.openexchangerates.markdown
@@ -25,14 +25,12 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
sensor:
- platform: openexchangerates
api_key: YOUR_API_KEY
- base: USD
quote: EUR
- name: USDEUR
```
Configuration variables:
- **api_key** (*Required*): API Key for [Open Exchange Rates](https://openexchangerates.org).
-- **name** (*Optional*): Name to use in the frontend.
-- **base** (*Optional*): The symbol of the base currency. Defaults to USD
- **quote** (*Required*): The symbol of the quote or target currency.
+- **name** (*Optional*): Name to use in the frontend.
+- **base** (*Optional*): The symbol of the base currency. Defaults to USD.
diff --git a/source/_components/sensor.openweathermap.markdown b/source/_components/sensor.openweathermap.markdown
index 0207c3cc732..32bf1871d84 100644
--- a/source/_components/sensor.openweathermap.markdown
+++ b/source/_components/sensor.openweathermap.markdown
@@ -22,18 +22,17 @@ To add OpenWeatherMap to your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: openweathermap
- api_key: YOUR_API_KEY
- forecast: 0 or 1
- monitored_conditions:
- - weather
- - temperature
- - wind_speed
- - humidity
- - pressure
- - clouds
- - rain
- - snow
+ - platform: openweathermap
+ api_key: YOUR_API_KEY
+ monitored_conditions:
+ - weather
+ - temperature
+ - wind_speed
+ - humidity
+ - pressure
+ - clouds
+ - rain
+ - snow
```
Configuration variables:
diff --git a/source/_components/sensor.pi_hole.markdown b/source/_components/sensor.pi_hole.markdown
index f4c6c117a17..f5393c3c1dd 100644
--- a/source/_components/sensor.pi_hole.markdown
+++ b/source/_components/sensor.pi_hole.markdown
@@ -22,9 +22,6 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
# Example configuration.yaml entry
sensor:
- platform: pi_hole
- host: 192.168.1.2
- ssl: True
- verify_ssl: False
```
Configuration variables:
diff --git a/source/_components/sensor.rest.markdown b/source/_components/sensor.rest.markdown
index a6cfb60e526..9893ba89461 100644
--- a/source/_components/sensor.rest.markdown
+++ b/source/_components/sensor.rest.markdown
@@ -20,12 +20,8 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
sensor:
- platform: rest
- resource: http://IP_ADDRESS/ENDPOINT
- value_template: '{% raw %}{{ value_json.thermostat }}{% endraw %}'
- method: GET
- name: REST GET sensor
- unit_of_measurement: "°C"
+ - platform: rest
+ resource: http://IP_ADDRESS/ENDPOINT
```
or for a POST request:
@@ -33,25 +29,25 @@ or for a POST request:
```yaml
# Example configuration.yaml entry
sensor:
- platform: rest
- resource: http://IP_ADDRESS/ENDPOINT
- method: POST
- value_template: '{% raw %}{{ value_json.thermostat }}{% endraw %}'
- payload: '{ "device" : "heater" }'
- name: REST POST sensor
- unit_of_measurement: "°C"
- verify_ssl: False
+ - platform: rest
+ resource: http://IP_ADDRESS/ENDPOINT
+ method: POST
+ payload: '{ "device" : "heater" }'
```
Configuration variables:
- **resource** (*Required*): The resource or endpoint that contains the value.
-- **method** (*Optional*): The method of the request. Default is GET.
+- **method** (*Optional*): The method of the request. Default is `GET`.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value.
- **payload** (*Optional*): The payload to send with a POST request. Depends on the service, but usually formed as JSON.
- **name** (*Optional*): Name of the REST sensor.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
-- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to True.
+- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `True`.
+- **authentication** (*Optional*): Type of the HTTP authentication. `basic` or `digest`.
+- **username** (*Optional*): The username for accessing the REST endpoint.
+- **password** (*Optional*): The password for accessing the REST endpoint.
+- **headers** (*Optional*): The headers for the requests.
Make sure that the URL matches exactly your endpoint or resource.
@@ -75,6 +71,7 @@ You can find your external IP address using the service [JSON Test](http://www.j
To display the IP address, the entry for a sensor in the `configuration.yaml` file will look like this.
```yaml
+sensor:
- platform: rest
resource: http://ip.jsontest.com
name: External IP
@@ -88,6 +85,7 @@ The [glances](/components/sensor.glances/) sensor is doing the exact same thing
Add something similar to the entry below to your `configuration.yaml` file:
```yaml
+sensor:
- platform: rest
resource: http://IP_ADRRESS:61208/api/2/mem/used
name: Used mem
@@ -99,12 +97,56 @@ Add something similar to the entry below to your `configuration.yaml` file:
The Home Assistant [API](/developers/rest_api/) exposes the data from your attached sensors. If you are running multiple Home Assistant instances which are not [connected](/developers/architecture/#multiple-connected-instances) you can still get information from them.
-
```yaml
+sensor:
- platform: rest
resource: http://IP_ADDRESS:8123/api/states/sensor.weather_temperature
name: Temperature
value_template: {% raw %}'{{ value_json.state }}'{% endraw %}
unit_of_measurement: "°C"
```
+### {% linkable_title Accessing a HTTP authentication protected endpoint %}
+
+The REST sensor supports HTTP authentication and customized headers.
+
+```yaml
+sensor:
+ - platform: rest
+ resource: http://IP_ADDRESS:5000/sensor
+ username: ha1
+ password: test1
+ authentication: basic
+ headers:
+ User-agent: Home Assistant
+ Content-Type: application/json
+```
+
+The header will contains all relevant details. This will give you the flexibility to access also endpoints wich are protected by Tokens.
+
+```bash
+Content-Length:
+Host: IP_ADDRESS1:5000
+Authorization: Basic aGExOnRlc3Qx
+Accept-Encoding: identity
+Content-Type: application/json
+User-Agent: Home Assistant
+```
+
+### {% linkable_title Use GitHub to get the latest release of Home Assistant %}
+
+This sample is very similar to the [`updater`](/components/updater/) component but the information are recieved from GitHub.
+
+```yaml
+sensor:
+ - platform: rest
+ resource: https://api.github.com/repos/home-assistant/home-assistant/releases/latest
+ username: YOUR_GITHUB_USERNAME
+ password: YOUR_GITHUB_ACCESS_TOKEN
+ authentication: basic
+ value_template: '{% raw %}{{ value_json.tag_name }}{% endraw %}'
+ headers:
+ Accept: application/vnd.github.v3+json
+ Content-Type: application/json
+ User-Agent: Home Assistant REST sensor
+```
diff --git a/source/_components/sensor.rfxtrx.markdown b/source/_components/sensor.rfxtrx.markdown
index 62d36e88c32..dabffea8e95 100644
--- a/source/_components/sensor.rfxtrx.markdown
+++ b/source/_components/sensor.rfxtrx.markdown
@@ -17,6 +17,7 @@ First you have to set up your [rfxtrx hub](/components/rfxtrx/).
The easiest way to find your sensors is to add this to your `configuration.yaml`:
```yaml
+# Example configuration.yaml entry
sensor:
platform: rfxtrx
automatic_add: True
@@ -32,6 +33,7 @@ Here the name is `0a52080000301004d240259` and you can verify that it works from
Then you should update your configuration to:
```yaml
+# Example configuration.yaml entry
sensor:
platform: rfxtrx
devices:
@@ -42,6 +44,7 @@ sensor:
If you want to display several data types from one sensor:
```yaml
+# Example configuration.yaml entry
sensor:
platform: rfxtrx
devices:
diff --git a/source/_components/sensor.sabnzbd.markdown b/source/_components/sensor.sabnzbd.markdown
index 1a8c9fe258d..81f506d62db 100644
--- a/source/_components/sensor.sabnzbd.markdown
+++ b/source/_components/sensor.sabnzbd.markdown
@@ -22,11 +22,8 @@ To use SABnzbd with your installation, add the following to your `configuration.
# Example configuration.yaml entry
sensor:
platform: sabnzbd
- name: SAB
- api_key: YOUR_API_KEY
host: YOUR_SABNZBD_HOST
- port: 8080
- ssl: True
+ api_key: YOUR_API_KEY
monitored_variables:
- 'current_status'
- 'speed'
diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown
index dad233bf380..d73d049fdb9 100644
--- a/source/_components/sensor.snmp.markdown
+++ b/source/_components/sensor.snmp.markdown
@@ -21,19 +21,15 @@ To enable this sensor in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: snmp
- name: Load
- host: 192.168.1.32
- port: 161
- community: public
- baseoid: 1.3.6.1.4.1.2021.10.1.3.1
- unit_of_measurement: "%"
+ - platform: snmp
+ host: 192.168.1.32
+ baseoid: 1.3.6.1.4.1.2021.10.1.3.1
```
Configuration variables:
-- **host** (*Required*): The IP address of your host, eg. 192.168.1.32.
-- **port** (*Option*): The SNMP port of your host. Defaults to 161.
+- **host** (*Required*): The IP address of your host, eg. `192.168.1.32`.
+- **port** (*Option*): The SNMP port of your host. Defaults to `161`.
- **name** (*Optional*): Name of the SNMP sensor.
- **community** (*Optional*): The SNMP community which is set for the device. Most devices have a default community set to to `public` with read-only permission (which is sufficient).
- **baseoid** (*Required*): The OID where the information is located. It's advised to use the numerical notation.
diff --git a/source/_components/sensor.speedtest.markdown b/source/_components/sensor.speedtest.markdown
index d7257c9a12f..10d9d02cb2a 100644
--- a/source/_components/sensor.speedtest.markdown
+++ b/source/_components/sensor.speedtest.markdown
@@ -22,42 +22,9 @@ To add a Speedtest.net sensor to your installation, add the following to your `c
Once per hour, on the hour (default):
```yaml
+# Example configuration.yaml entry
sensor:
platform: speedtest
- server_id: 1234
- monitored_conditions:
- - ping
- - download
- - upload
-```
-
-More examples:
-
-Every half hour of every day:
-
-```yaml
-sensor:
- platform: speedtest
- minute:
- - 0
- - 30
- monitored_conditions:
- - ping
- - download
- - upload
-```
-
-Everyday at 12:30AM, 6:30AM, 12:30PM, 6:30PM:
-
-```yaml
-sensor:
- platform: speedtest
- minute: 30
- hour:
- - 0
- - 6
- - 12
- - 18
monitored_conditions:
- ping
- download
@@ -78,3 +45,44 @@ Configuration variables:
This component uses [speedtest-cli](https://github.com/sivel/speedtest-cli) to gather network performance data from Speedtest.net. Please be aware of the potential [inconsistencies](https://github.com/sivel/speedtest-cli#inconsistency) that this component may display.
When Home Assistant first starts up, the values of the speedtest will show as `Unknown`. You can use the service `sensor.update_speedtest` to run a manual speedtest and populate the data or just wait for the next regularly scheduled test.
+
+## {% linkable_title Examples %}
+
+In this section you find some real life examples of how to use this sensor.
+
+### {% linkable_title Run periodically %}
+
+Every half hour of every day:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: speedtest
+ minute:
+ - 0
+ - 30
+ monitored_conditions:
+ - ping
+ - download
+ - upload
+```
+
+### {% linkable_title Run at a specific time %}
+
+Everyday at 12:30AM, 6:30AM, 12:30PM, 6:30PM:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ platform: speedtest
+ minute: 30
+ hour:
+ - 0
+ - 6
+ - 12
+ - 18
+ monitored_conditions:
+ - ping
+ - download
+ - upload
+```
diff --git a/source/_components/sensor.statistics.markdown b/source/_components/sensor.statistics.markdown
new file mode 100644
index 00000000000..d2cc7e2a206
--- /dev/null
+++ b/source/_components/sensor.statistics.markdown
@@ -0,0 +1,35 @@
+---
+layout: page
+title: "Statistics Sensor"
+description: "Instructions how to integrate statistical sensors into Home Assistant."
+date: 2016-09-28 12:10
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: home-assistant.png
+ha_category: Sensor
+ha_iot_class: "Local Polling"
+ha_release: "0.30"
+---
+
+
+The `statistics` sensor platform is consuming the state from other sensors. Beside the maximal and the minimal value also the total, the mean, the median, the variance, and the standard deviation are as attributes available. If it's a binary sensor then only the state changes are counted.
+
+To enable the statistics sensor, add the following lines to your `configuration.yaml`:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: statistics
+ entity_id: sensor.cpu
+ - platform: statistics
+ entity_id: binary_sensor.movement
+```
+
+Configuration variables:
+
+- **entity_id** (*Required*): The entity to monitor.
+- **name** (*Optional*): Name of the sensor to use in the frontend.
+- **sampling_size** (*Optional*): Size of the sampling. If the limit is reached then the values are rotated. Defaults to `20`.
+
diff --git a/source/_components/sensor.steam_online.markdown b/source/_components/sensor.steam_online.markdown
index 646b3fb8162..6cf46388770 100644
--- a/source/_components/sensor.steam_online.markdown
+++ b/source/_components/sensor.steam_online.markdown
@@ -25,11 +25,11 @@ To use Steam in your installation, add the following to your `configuration.yaml
```yaml
# Example configuration.yaml entry
sensor:
- platform: steam_online
- api_key: YOUR_API_KEY
- accounts:
- - account1
- - account2
+ - platform: steam_online
+ api_key: YOUR_API_KEY
+ accounts:
+ - account1
+ - account2
```
Configuration variables:
@@ -49,4 +49,4 @@ group:
entities:
- sensor.steam_account1
- sensor.steam_account2
-```
\ No newline at end of file
+```
diff --git a/source/_components/sensor.supervisord.markdown b/source/_components/sensor.supervisord.markdown
index 1ef5cce27e6..43930743252 100644
--- a/source/_components/sensor.supervisord.markdown
+++ b/source/_components/sensor.supervisord.markdown
@@ -19,8 +19,7 @@ To use this sensor in your installation, add the following to your `configuratio
```yaml
# Example configuration.yaml entry
sensor:
- platform: supervisord
- url: http://192.168.1.1:9001/RPC2
+ - platform: supervisord
```
Configuration variables:
diff --git a/source/_components/sensor.swiss_hydrological_data.markdown b/source/_components/sensor.swiss_hydrological_data.markdown
index 973fa36d4bb..5c499b9d2da 100644
--- a/source/_components/sensor.swiss_hydrological_data.markdown
+++ b/source/_components/sensor.swiss_hydrological_data.markdown
@@ -23,7 +23,6 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
# Example configuration.yaml entry
sensor:
platform: swiss_hydrological_data
- name: Aare
station: STATION_ID
```
diff --git a/source/_components/sensor.swiss_public_transport.markdown b/source/_components/sensor.swiss_public_transport.markdown
index 37ff0ac0afc..d352afc0006 100644
--- a/source/_components/sensor.swiss_public_transport.markdown
+++ b/source/_components/sensor.swiss_public_transport.markdown
@@ -25,9 +25,9 @@ If the score is 100 ("score":"100" in the response), it is a perfect match. Then
```yaml
# Example configuration.yaml entry
sensor:
- platform: swiss_public_transport
- from: STATION_ID
- to: STATION_ID
+ - platform: swiss_public_transport
+ from: STATION_ID
+ to: STATION_ID
```
Configuration variables:
diff --git a/source/_components/sensor.tcp.markdown b/source/_components/sensor.tcp.markdown
index 5a573d8b657..e08692e3b41 100644
--- a/source/_components/sensor.tcp.markdown
+++ b/source/_components/sensor.tcp.markdown
@@ -17,16 +17,12 @@ The TCP component allows the integration of some services for which a specific H
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
-sensor:
# Example configuration.yaml entry
- platform: tcp
- name: Central Heating Pressure
- host: IP_ADDRESS
- port: PORT
- timeout: 5
- payload: PAYLOAD
- value_template: "{% raw %}{{ value.split(';')[0] }}{% endraw %}"
- unit: UNIT_OF_MEASUREMENT
+sensor:
+ - platform: tcp
+ host: IP_ADDRESS
+ port: PORT
+ payload: PAYLOAD
```
Configuration options for the a TCP Sensor:
diff --git a/source/_components/sensor.ted5000.markdown b/source/_components/sensor.ted5000.markdown
new file mode 100644
index 00000000000..6281208e0c4
--- /dev/null
+++ b/source/_components/sensor.ted5000.markdown
@@ -0,0 +1,41 @@
+---
+layout: page
+title: "TED5000 electricity monitoring"
+description: "How to add a TED5000 to Home Assistant."
+date: 2016-09-27 11:19
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: ted.png
+ha_category: Sensor
+ha_release: 0.30
+
+The `ted 5000` monitors electricity consumption/production by connecting to the
+[TED](http://www.theenergydetective.com/home) gateway, itself connected to one
+or several Measuring Transmitting Units (MTU).
+The platform creates up to two sensors per MTU, one for Wattage the other for
+Voltage. If you want to enable the ted5000 sensor, add the following lines to
+your `configuration.yaml`:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ platform: ted5000
+ name: main
+ host: 192.168.1.100
+ port: 80
+```
+
+Configuration variables:
+
+- **host** (*Required*): The IP address of your ted gateway.
+- **port** (*Optional*): The port of your ted gateway. Defaults to 80.
+- **name** (*Optional*): Name of the ted gateway. Defaults to ted.
+
+For each plugged MTU, using an index starting at 1, the platorm creates 2 sensors:
+```yaml
+sensor._mtu_power
+sensor._mtu_voltage
+```
+
diff --git a/source/_components/sensor.tellduslive.markdown b/source/_components/sensor.tellduslive.markdown
index 43fffd40249..b4b47c5d0ba 100644
--- a/source/_components/sensor.tellduslive.markdown
+++ b/source/_components/sensor.tellduslive.markdown
@@ -12,6 +12,5 @@ ha_category: Sensor
featured: false
---
-Integrates Telldus Live sensors into Home Assistant. See the [main component] for configuration instructions.
+Integrates Telldus Live sensors into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions.
-[main component]: /components/tellduslive/
diff --git a/source/_components/sensor.tellstick.markdown b/source/_components/sensor.tellstick.markdown
index d4bbbdb841d..431217096fe 100644
--- a/source/_components/sensor.tellstick.markdown
+++ b/source/_components/sensor.tellstick.markdown
@@ -20,18 +20,28 @@ To use your TellStick device, you first have to set up your [Tellstick hub](http
```yaml
# Example configuration.yaml entry
sensor:
- platform: tellstick
- 135: Outside
- 21: Inside
- only_named: True
- temperature_scale: "°C"
- datatype_mask: 1
+ - platform: tellstick
```
Configuration variables:
-- **ID: Name** *Optional*: Entry for a sensor with the name for it and its ID.
-- **only_named** *Optional*: Only show the named sensors. Set to `True` to hide sensors.
-- **temperature_scale** *Optional*: The scale of the temperature value.
-- **datatype_mask** *Optional*: Mask to determine which sensor values to show based on. Please check the [TellCore tellcore.constants documentation](https://tellcore-py.readthedocs.org/en/v1.1.2/constants.html#module-tellcore.constants) for details.
+- **ID: Name** (*Optional*): Entry for a sensor with the name for it and its ID.
+- **only_named** (*Optional*): Only show the named sensors. Set to `True` to hide sensors.
+- **temperature_scale** (*Optional*): The scale of the temperature value.
+- **datatype_mask** (*Optional*): Mask to determine which sensor values to show based on. Please check the [TellCore tellcore.constants documentation](https://tellcore-py.readthedocs.org/en/v1.1.2/constants.html#module-tellcore.constants) for details.
+## {% 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
+sensor:
+ - platform: tellstick
+ 135: Outside
+ 21: Inside
+ only_named: True
+ temperature_scale: "°C"
+ datatype_mask: 1
diff --git a/source/_components/sensor.temper.markdown b/source/_components/sensor.temper.markdown
index 2c03ee62102..2f6eddfb7e9 100644
--- a/source/_components/sensor.temper.markdown
+++ b/source/_components/sensor.temper.markdown
@@ -17,12 +17,16 @@ To use your TEMPer sensor in your installation, add the following to your `confi
```yaml
# Example configuration.yaml entry
sensor:
- platform: temper
- name: 'My TEMPer'
- scale: 1
- offset: 0
+ - platform: temper
```
+
+Configuration options for the a TCP Sensor:
+
+- **name** (*Optional*): The name you would like to give the sensor in Home Assistant.
+- **scale** (*Optional*): The scale for the sensor.
+- **offset** (*Optional*): The offset to fix reported vales.
+
Since some of these sensors consistently show higher temperatures the scale and offset values can be used to fine-tune your sensor.
The calculation follows the formula `scale * sensor value + offset`.
diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown
index 188feb040a5..06a28e344cd 100644
--- a/source/_components/sensor.template.markdown
+++ b/source/_components/sensor.template.markdown
@@ -35,7 +35,7 @@ Configuration variables:
- **sensors** array (*Required*): List of your sensors.
- **friendly_name** (*Optional*): Name to use in the Frontend.
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
- - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
+ - **value_template** (*Required*): Defines a [template](/topics/templating/) to extract a value from the event bus.
- **entity_id** (*Optional*): Add a list of entity IDs so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update it's state.
diff --git a/source/_components/sensor.thinkingcleaner.markdown b/source/_components/sensor.thinkingcleaner.markdown
index 5d427ed6610..6c75256a721 100644
--- a/source/_components/sensor.thinkingcleaner.markdown
+++ b/source/_components/sensor.thinkingcleaner.markdown
@@ -20,7 +20,7 @@ To enable this sensor in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: thinkingcleaner
+ - platform: thinkingcleaner
```
This will automatically add sensors for each Thinking Cleaner in your network.
diff --git a/source/_components/sensor.time_date.markdown b/source/_components/sensor.time_date.markdown
index a35b70f4c08..a37980565e5 100644
--- a/source/_components/sensor.time_date.markdown
+++ b/source/_components/sensor.time_date.markdown
@@ -14,24 +14,24 @@ ha_release: pre 0.7
---
-The time and date (`time_date`) platform simple displays the time in various formats, the date, or both.
+The time and date (`time_date`) sensor platform simple displays the time in various formats, the date, or both.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: time_date
- display_options:
- - 'time'
- - 'date'
- - 'date_time'
- - 'time_date'
- - 'time_utc'
- - 'beat'
+ - platform: time_date
+ display_options:
+ - 'time'
+ - 'date'
+ - 'date_time'
+ - 'time_date'
+ - 'time_utc'
+ - 'beat'
```
-The types *date_time* and *time_date* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](http://www.swatch.com/en_us/internet-time).
+- **display_options** array (*Required*): The option to display. The types *date_time* and *time_date* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](http://www.swatch.com/en_us/internet-time).
diff --git a/source/_components/sensor.torque.markdown b/source/_components/sensor.torque.markdown
index e1f96a42bda..7fdc1a475ad 100644
--- a/source/_components/sensor.torque.markdown
+++ b/source/_components/sensor.torque.markdown
@@ -40,9 +40,8 @@ Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: torque
- name: Your Vehicle Name
- email: your_configured@email.com
+ - platform: torque
+ email: your_configured@email.com
```
Configuration variables:
diff --git a/source/_components/sensor.transmission.markdown b/source/_components/sensor.transmission.markdown
index 21d9c0d08bf..af93b96ec1e 100644
--- a/source/_components/sensor.transmission.markdown
+++ b/source/_components/sensor.transmission.markdown
@@ -23,10 +23,6 @@ To enable this sensor, add the following lines to your `configuration.yaml`:
sensor:
platform: transmission
host: IP_ADDRESS
- port: 9091
- name: Transmission
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
monitored_variables:
- 'current_status'
- 'download_speed'
@@ -40,7 +36,7 @@ Configuration variables:
- **name** (*Optional*): The name to use when displaying this Transmission instance.
- **username** (*Optional*): Your Transmission username, if you use authentication.
- **password** (*Optional*): Your Transmission password, if you use authentication.
-- **monitored_variables** array: Conditions to display in the frontend.
+- **monitored_variables** array (*Required*): Conditions to display in the frontend.
- **current_status**: The status of your Transmission daemon.
- **download_speed**: The current download speed.
- **upload_speed**: The current upload speed.
diff --git a/source/_components/sensor.uber.markdown b/source/_components/sensor.uber.markdown
index 3ea359e735f..b742b849358 100644
--- a/source/_components/sensor.uber.markdown
+++ b/source/_components/sensor.uber.markdown
@@ -24,21 +24,32 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
sensor:
- platform: uber
- start_latitude: 37.8116380
- start_longitude: -122.2648050
- end_latitude: 37.7768520
- end_longitude: -122.4155500
- server_token: 'BeAPPTDsWZSHLf7fd9OWjZkIezweRw18Q8NltY27'
- product_ids:
- - '04a497f5-380d-47f2-bf1b-ad4cfdcb51f2'
+ - platform: uber
+ server_token: 'BeAPPTDsWZSHLf7fd9OWjZkIezweRw18Q8NltY27'
+ start_latitude: 37.8116380
+ start_longitude: -122.2648050
```
Configuration variables:
+- **server_token** (*Required*): A server token obtained from [developer.uber.com](https://developer.uber.com) after [creating an app](https://developer.uber.com/dashboard/create).
- **start_latitude** (*Required*): The starting latitude for a trip.
- **start_longitude** (*Required*): The starting longitude for a trip.
- **end_latitude** (*Optional*): The ending latitude for a trip. While `end_latitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates.
- **end_longitude** (*Optional*): The ending longitude for a trip. While `end_longitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates.
-- **server_token** (*Required*): A server token obtained from [developer.uber.com](https://developer.uber.com) after [creating an app](https://developer.uber.com/dashboard/create).
- **product_ids** (*Options*): A list of Uber product UUIDs. If provided, sensors will only be created for the given product IDs. Please note that product IDs are region and some times even more specific geographies based. The easiest way to find a UUID is to click on a sensor in the Home Assistant frontend and look for "Product ID" in the attributes.
+
+A full configuration entry could look like the sample below:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: uber
+ start_latitude: 37.8116380
+ start_longitude: -122.2648050
+ end_latitude: 37.7768520
+ end_longitude: -122.4155500
+ server_token: 'BeAPPTDsWZSHLf7fd9OWjZkIezweRw18Q8NltY27'
+ product_ids:
+ - '04a497f5-380d-47f2-bf1b-ad4cfdcb51f2'
+```
diff --git a/source/_components/sensor.vasttrafik.markdown b/source/_components/sensor.vasttrafik.markdown
new file mode 100644
index 00000000000..7fd7246f476
--- /dev/null
+++ b/source/_components/sensor.vasttrafik.markdown
@@ -0,0 +1,46 @@
+---
+layout: page
+title: "Västtrafik Public Transport"
+description: "Instructions how to integrate timetable data for travelling in Sweden within Home Assistant."
+date: 2016-10-05 08:45
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: vasttrafik.png
+ha_category: Transport
+ha_iot_class: "Cloud Polling"
+ha_release: "0.30"
+---
+
+
+The `vasttrafik` sensor will provide you travelling details for the larger Göteborg area in Sweden from the [Västtrafik](https://vasttrafik.se/) public transportation service.
+
+You must create an application [here](https://developer.vasttrafik.se/portal/#/applications) to obtain a `key` and a `secret`.
+
+Add the data to your `configuration.yaml` file as shown in the example:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: vasttrafik
+ key: XXXXXXXXXXXXXXXXXXX
+ secret: YYYYYYYYYYYYYYYYY
+ departures:
+ - name: Mot järntorget
+ from: Musikvägen
+ heading: Järntorget
+ delay: 10
+```
+
+Configuration variables:
+
+- **key** (*Required*): The API key to access your Västtrafik account.
+- **secret** (*Required*): The API secret to access your Västtrafik account.
+- **departures** array (*Required*): List of travelling routes.
+ - **name** (*Optional*): Name of the route.
+ - **from** (*Optional*): The start station.
+ - **heading** (*Optional*): Direction of the travelling.
+ - **delay** (*Optional*): Delay in minutes.
+
+The data are coming from [Västtrafik](https://vasttrafik.se/).
diff --git a/source/_components/sensor.verisure.markdown b/source/_components/sensor.verisure.markdown
index 7087133f0be..4435630d5ba 100644
--- a/source/_components/sensor.verisure.markdown
+++ b/source/_components/sensor.verisure.markdown
@@ -12,13 +12,11 @@ ha_category: Sensor
featured: false
---
-Integrates Verisure sensors into Home Assistant. See the [main component] for configuration instructions.
+Integrates Verisure sensors into Home Assistant. See the [main component](/components/verisure/) for configuration instructions.
The following sensor types are supported:
* Thermometers
* Hygrometers
* Mouse detectors
-
-
-[main component]: /components/verisure/
+
diff --git a/source/_components/sensor.worldclock.markdown b/source/_components/sensor.worldclock.markdown
index d6f37031f3e..c195fe37ce9 100644
--- a/source/_components/sensor.worldclock.markdown
+++ b/source/_components/sensor.worldclock.markdown
@@ -21,15 +21,14 @@ To enable this sensor in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
sensor:
- platform: worldclock
- time_zone: America/New_York
- name: New York
+ - platform: worldclock
+ time_zone: America/New_York
```
Configuration variables:
- **time_zone** (*Required*): The resource or endpoint that contains the value.
-- **name** (*Optional*): The name of the sensor, eg. the city.
+- **name** (*Optional*): The name of the sensor, eg. the city. Defaults to 'Worldclock Sensor'.
For valid time zones check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module.
diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown
index 00780d77a46..9370a983dd2 100644
--- a/source/_components/sensor.wunderground.markdown
+++ b/source/_components/sensor.wunderground.markdown
@@ -25,9 +25,8 @@ To add Wunderground to your installation, add the following to your `configurati
```yaml
# Example configuration.yaml entry
sensor:
- platform: wunderground
+ - platform: wunderground
api_key: your_api_key
- pws_id: enter_pws_id
monitored_conditions:
- weather
- temp_f
@@ -60,8 +59,8 @@ sensor:
```
Configuration variables:
-- **api_key** (Required): See above
-- **pws_id** (Optional): You can enter a Personal Weather Station id. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
+- **api_key** (Required): See above.
+- **pws_id** (Optional): You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored.
- **weather**: A human-readable text summary with picture from Wunderground.
- **temp_f**: Current temperature in Fahrenheit
diff --git a/source/_components/sensor.xbox_live.markdown b/source/_components/sensor.xbox_live.markdown
index 8884e4e41be..ca0aa227891 100644
--- a/source/_components/sensor.xbox_live.markdown
+++ b/source/_components/sensor.xbox_live.markdown
@@ -15,22 +15,20 @@ ha_release: 0.28
The Xbox Live component is able to track [Xbox](http://xbox.com/) profiles.
-To use this sensor you need a free API key from [XboxAPI.com](http://xboxapi.com).
-Please also make sure to connect your Xbox account on that site.
+To use this sensor you need a free API key from [XboxAPI.com](http://xboxapi.com). Please also make sure to connect your Xbox account on that site.
-The configuration requires you to specify XUIDs which are the unique identifiers for profiles.
-These can be determined on [XboxAPI.com](http://xboxapi.com) by either looking at your own profile page or using their interactive documentation to search for gamertags.
+The configuration requires you to specify XUIDs which are the unique identifiers for profiles. These can be determined on [XboxAPI.com](http://xboxapi.com) by either looking at your own profile page or using their interactive documentation to search for gamertags.
To use the Xbox Live sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: xbox_live
- api_key: YOUR_API_KEY
- xuid:
- - account1
- - account2
+ - platform: xbox_live
+ api_key: YOUR_API_KEY
+ xuid:
+ - account1
+ - account2
```
Configuration variables:
diff --git a/source/_components/sensor.yahoo_finance.markdown b/source/_components/sensor.yahoo_finance.markdown
index 99411c3ff41..022be8804cd 100644
--- a/source/_components/sensor.yahoo_finance.markdown
+++ b/source/_components/sensor.yahoo_finance.markdown
@@ -22,8 +22,6 @@ To enable the `yahoo_finance` platform, add the following lines to your `configu
# Example configuration.yaml entry
sensor:
- platform: yahoo_finance
- name: Red Hat Inc.
- symbol: RHT
```
Configuration variables:
@@ -31,16 +29,25 @@ Configuration variables:
- **name** (*Optional*): The name of the sensor. If not specified, it defaults to *Yahoo Stock*.
- **symbol** (*Optional*): The stock market symbol for a given company. If not specified, it defaults to *Yahoo (YHOO)*.
-Example configuration:
+## {% linkable_title Examples %}
+
+In this section you find some real life examples of how to use this sensor.
+
+### {% linkable_title Red Hat %}
```yaml
-# Example configuration.yaml entry
sensor:
- platform: yahoo_finance
name: Red Hat Inc.
symbol: RHT
+```
+### {% linkable_title Google %}
+
+```yaml
+sensor:
- platform: yahoo_finance
name: Google
symbol: GOOGL
```
+
diff --git a/source/_components/sensor.yr.markdown b/source/_components/sensor.yr.markdown
index 0cbeb4f7f0d..262b476d971 100644
--- a/source/_components/sensor.yr.markdown
+++ b/source/_components/sensor.yr.markdown
@@ -19,34 +19,9 @@ weather forecast is delivered by the Norwegian Meteorological Institute and the
To add YR to your installation, add the following to your `configuration.yaml` file:
```yaml
-# Will show a symbol for the current weather as default:
+# Example configuration.yaml entry
sensor:
- platform: yr
-
-# Will show temperatue and wind direction:
-sensor:
- platform: yr
- monitored_conditions:
- - temperature
- - windDirection
-
-# Will show all available sensors:
-sensor:
- platform: yr
- monitored_conditions:
- - temperature
- - symbol
- - precipitation
- - windSpeed
- - pressure
- - windDirection
- - humidity
- - fog
- - cloudiness
- - lowClouds
- - mediumClouds
- - highClouds
- - dewpointTemperature
+ - platform: yr
```
Configuration variables:
@@ -66,3 +41,24 @@ Configuration variables:
- **mediumClouds**: Medium cloud level.
- **highClouds**: High cloud level.
+A full configuration example can be found below:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: yr
+ monitored_conditions:
+ - temperature
+ - symbol
+ - precipitation
+ - windSpeed
+ - pressure
+ - windDirection
+ - humidity
+ - fog
+ - cloudiness
+ - lowClouds
+ - mediumClouds
+ - highClouds
+ - dewpointTemperature
+```
diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown
index 91d9b34d7a0..c78ac5d06f3 100644
--- a/source/_components/sensor.yweather.markdown
+++ b/source/_components/sensor.yweather.markdown
@@ -26,30 +26,17 @@ To add Yahoo Weather to your installation, add the following to your `configurat
```yaml
# Example configuration.yaml entry
sensor:
- platform: yweather
- woeid: YOUR_WOEID
- forecast: 0 until 5
- monitored_conditions:
- - weather
- - weather_current
- - temp_min
- - temp_max
- - wind_speed
- - pressure
- - visibility
- - humidity
- - temperature
-
-# Example configuration.yaml entry with forecast
-sensor:
- platform: yweather
- woeid: YOUR_WOEID
- forecast: 3
- name: OPTIONAL_NAME
- monitored_conditions:
- - weather
- - temp_min
- - temp_max
+ - platform: yweather
+ monitored_conditions:
+ - weather
+ - weather_current
+ - temp_min
+ - temp_max
+ - wind_speed
+ - pressure
+ - visibility
+ - humidity
+ - temperature
```
Configuration variables:
diff --git a/source/_components/splunk.markdown b/source/_components/splunk.markdown
index 92f588561e6..34158b300c7 100644
--- a/source/_components/splunk.markdown
+++ b/source/_components/splunk.markdown
@@ -19,15 +19,12 @@ To use the `splunk` component in your installation, add the following to your `c
```yaml
# Example configuration.yaml entry
splunk:
- host: SPLUNK_HOST_IP_ADDRESS_OR_HOST_NAME
- port: 8088
token: B4415DFF-683C-5C6C-3994-4F6D4A5DB03A
- ssl: True
```
Configuration variables:
+- **token** (*Required*): The HTTP Event Collector Token already created in your Splunk instance.
- **host** (*Optional*): IP address or host name of your Splunk host, eg. http://192.168.1.10. Will default to `localhost` if not supplied.
- **port** (*Optional*): Port to use. Defaults to 8088.
-- **token** (*Required*): The HTTP Event Collector Token already created in your Splunk instance.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to False.
diff --git a/source/_components/statsd.markdown b/source/_components/statsd.markdown
index 21df09f7c40..e9bed98ef1d 100644
--- a/source/_components/statsd.markdown
+++ b/source/_components/statsd.markdown
@@ -19,11 +19,6 @@ To use the `statsd` component in your installation, add the following to your `c
```yaml
# Example configuration.yaml entry
statsd:
- host: DB_HOST_IP_ADDRESS
- port: 20000
- prefix: DB_TO_STORE_EVENTS
- rate: 1
- log_attributes: true
```
Configuration variables:
diff --git a/source/_components/sun.markdown b/source/_components/sun.markdown
index 8a9ecdc6e0e..8d1283989d7 100644
--- a/source/_components/sun.markdown
+++ b/source/_components/sun.markdown
@@ -17,12 +17,7 @@ The sun component will use your current location to track if the sun is above or
```yaml
# Example configuration.yaml entry
-homeassistant:
- latitude: 32.87336
- longitude: -117.22743
-
sun:
- elevation: 102
```
Configuration variables:
diff --git a/source/_components/switch.acer_projector.markdown b/source/_components/switch.acer_projector.markdown
index fac3494da63..a918b6d9a69 100644
--- a/source/_components/switch.acer_projector.markdown
+++ b/source/_components/switch.acer_projector.markdown
@@ -21,11 +21,8 @@ To use your Acer Projector in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
switch:
- platform: acer_projector
- filename: /dev/ttyUSB0
- name: Projector
- timeout: 1
- write_timeout: 1
+ - platform: acer_projector
+ filename: /dev/ttyUSB0
```
Configuration variables:
diff --git a/source/_components/switch.anel_pwrctrl.markdown b/source/_components/switch.anel_pwrctrl.markdown
new file mode 100644
index 00000000000..de4c47d7f6f
--- /dev/null
+++ b/source/_components/switch.anel_pwrctrl.markdown
@@ -0,0 +1,43 @@
+---
+layout: page
+title: "ANEL PwrCtrl Switch"
+description: "Instructions how to integrate ANEL PwrCtrl switches within Home Assistant."
+date: 2016-10-02 19:04
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: anel.png
+ha_category: Switch
+ha_iot_class: "Local Polling"
+ha_release: 0.30
+---
+
+The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](http://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
+
+Supported devices (tested):
+
+- PwrCtrl HUT
+
+To add this platform to your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+switch:
+ platform: anel_pwrctrl
+ host: IP_ADDRESS
+ port_recv: PORT
+ port_send: PORT
+ username: USERNAME
+ password: PASSWORD
+```
+
+Configuration variables:
+
+- **host** (*Optional*): The IP address or hostname of your PwrCtrl device.
+- **port_recv** (*Required*): The port to receive data from the device.
+- **port_send** (*Required*): The port to send data to the device.
+- **username** (*Required*): The username for your device.
+- **password** (*Required*): The password for your device.
+
+
If no **host** is given the platform will try to autodiscover all devices on the network, that are listening on the given **port_recv**.
diff --git a/source/_components/switch.arduino.markdown b/source/_components/switch.arduino.markdown
index e6426f688e3..5d6a882c379 100644
--- a/source/_components/switch.arduino.markdown
+++ b/source/_components/switch.arduino.markdown
@@ -25,11 +25,11 @@ switch:
11:
name: Fan Office
type: digital
- default: on
- negate: true
12:
name: Light Desk
type: digital
+ default: on
+ negate: true
```
Configuration variables:
diff --git a/source/_components/switch.arest.markdown b/source/_components/switch.arest.markdown
index 9307e029539..7960e1ff54a 100644
--- a/source/_components/switch.arest.markdown
+++ b/source/_components/switch.arest.markdown
@@ -20,14 +20,13 @@ To use your aREST enabled device with pins in your installation, add the followi
```yaml
# Example configuration.yaml entry
switch:
- platform: arest
- resource: http://IP_ADDRESS
- name: Office
- pins:
- 11:
- name: Fan
- 12:
- name: Light Desk
+ - platform: arest
+ resource: http://IP_ADDRESS
+ pins:
+ 11:
+ name: Fan
+ 12:
+ name: Light Desk
```
If you want to use custom functions, then add the following to your `configuration.yaml` file:
@@ -35,14 +34,14 @@ If you want to use custom functions, then add the following to your `configurati
```yaml
# Example configuration.yaml entry
switch:
- platform: arest
- resource: http://IP_ADDRESS
- name: Office
- functions:
- function1:
- name:
- function2:
- name: Light Desk
+ - platform: arest
+ resource: http://IP_ADDRESS
+ name: Office
+ functions:
+ function1:
+ name:
+ function2:
+ name: Light Desk
```
Configuration variables:
diff --git a/source/_components/switch.command_line.markdown b/source/_components/switch.command_line.markdown
index 83a5c70dbe8..85460779b7c 100644
--- a/source/_components/switch.command_line.markdown
+++ b/source/_components/switch.command_line.markdown
@@ -26,9 +26,6 @@ switch:
kitchen_light:
command_on: switch_command on kitchen
command_off: switch_command off kitchen
- command_state: query_command kitchen
- value_template: '{% raw %}{{ value == "online" }}{% endraw %}'
- friendly_name: Kitchen switch
```
Configuration variables:
@@ -57,6 +54,9 @@ switch:
arest_pin4:
command_on: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/1"
command_off: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/0"
+ command_state: "/usr/bin/curl -X GET http://192.168.1.10/digital/4"
+ value_template: '{% raw %}{{ return_value == "1" }}{% endraw %}'
+ friendly_name: aREST Pin 4
```
### {% linkable_title Shutdown your local host %}
diff --git a/source/_components/switch.digital_ocean.markdown b/source/_components/switch.digital_ocean.markdown
new file mode 100644
index 00000000000..a7a77af1f54
--- /dev/null
+++ b/source/_components/switch.digital_ocean.markdown
@@ -0,0 +1,32 @@
+---
+layout: page
+title: "Digital Ocean Switch"
+description: "Instructions on how to set up Digital Ocean switches within Home Assistant."
+date: 2016-09-24 08:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: digital_ocean.png
+ha_category: System Monitor
+ha_release: "0.30"
+ha_iot_class: "Local Polling"
+---
+
+The `digital_ocean` switch platform allows you to control (start/stop) 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
+switch:
+ - platform: digital_ocean
+ droplets:
+ - 'fedora-512mb-nyc3-01'
+ - 'coreos-512mb-nyc3-01'
+```
+
+Configuration variables:
+
+- **droplets** (*Required*): List of droplets you want to control.
+
diff --git a/source/_components/switch.dlink.markdown b/source/_components/switch.dlink.markdown
index a0b8424f234..8e52b91a2a0 100644
--- a/source/_components/switch.dlink.markdown
+++ b/source/_components/switch.dlink.markdown
@@ -28,10 +28,8 @@ To use your D-Link smart plugs in your installation, add the following to your `
switch:
platform: dlink
host: IP_ADRRESS
- name: D-Link plug
username: YOUR_USERNAME
password: YOUR_PASSWORD
- use_legacy_protocol: False
```
Configuration variables:
diff --git a/source/_components/switch.edimax.markdown b/source/_components/switch.edimax.markdown
index b3e51d1c33e..028b64d61a2 100644
--- a/source/_components/switch.edimax.markdown
+++ b/source/_components/switch.edimax.markdown
@@ -20,17 +20,14 @@ To use your Edimax switch in your installation, add the following to your `confi
```yaml
# Example configuration.yaml entry
switch:
- platform: edimax
- host: 192.168.1.32
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
- name: Edimax Smart Plug
+ - platform: edimax
+ host: 192.168.1.32
```
Configuration variables:
-- **host** (*Required*): The IP address of your Edimax switch, eg. 192.168.1.32
-- **username** (*Optional*): Your username for the Edimax switch. Defaults to "admin".
-- **password** (*Optional*): Your password for the Edimax switch. Defaults to "1234".
+- **host** (*Required*): The IP address of your Edimax switch, eg. `192.168.1.32`.
+- **username** (*Optional*): Your username for the Edimax switch. Defaults to `admin`.
+- **password** (*Optional*): Your password for the Edimax switch. Defaults to `1234`.
- **name** (*Optional*): The name to use when displaying this switch.
diff --git a/source/_components/switch.enocean.markdown b/source/_components/switch.enocean.markdown
index df6f6f47871..880e5ec03ac 100644
--- a/source/_components/switch.enocean.markdown
+++ b/source/_components/switch.enocean.markdown
@@ -21,7 +21,6 @@ To use your EnOcean device, you first have to set up your [EnOcean hub](/compone
# Example configuration.yaml entry
switch:
- platform: enocean
- name: Front door
id: [0x01,0x90,0x84,0x3C]
```
diff --git a/source/_components/switch.hikvision.markdown b/source/_components/switch.hikvision.markdown
index 6fa0aedba40..19342fed4d0 100644
--- a/source/_components/switch.hikvision.markdown
+++ b/source/_components/switch.hikvision.markdown
@@ -24,18 +24,14 @@ To use your Hikvision cam in your installation, add the following to your `confi
```yaml
# Example configuration.yaml entry
switch:
- platform: hikvisioncam
+ - platform: hikvisioncam
host: 192.168.1.32
- port: 80
- name: Hikvision Cam 1 Motion Detection
- username: USERNAME
- password: PASSWORD
```
Configuration variables:
-- **host** (*Required*): The IP address of your Hikvision camera, eg. 192.168.1.32
-- **port** (*Optional*): The port to connec to your Hikvision camera. Defaults to 80.
+- **host** (*Required*): The IP address of your Hikvision camera, eg. `192.168.1.32`.
+- **port** (*Optional*): The port to connec to your Hikvision camera. Defaults to `80`.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
-- **username** (*Optional*): The username for accessing your Hikvision camera. Defaults to "admin".
-- **password** (*Optional*): The password to access your Hikvision camera. Defaults to "12345".
+- **username** (*Optional*): The username for accessing your Hikvision camera. Defaults to `admin`.
+- **password** (*Optional*): The password to access your Hikvision camera. Defaults to `12345`.
diff --git a/source/_components/switch.knx.markdown b/source/_components/switch.knx.markdown
index 2591f5d0af1..4452028d5e1 100644
--- a/source/_components/switch.knx.markdown
+++ b/source/_components/switch.knx.markdown
@@ -24,7 +24,6 @@ switch:
- platform: knx
name: KNX Switch
address: 0/0/1
- state_address: 0/0/3
```
- **name** (*Optional*): A name for this devices used within Home assistant
diff --git a/source/_components/switch.mfi.markdown b/source/_components/switch.mfi.markdown
index 5e7f850a7f3..4ff90c19871 100644
--- a/source/_components/switch.mfi.markdown
+++ b/source/_components/switch.mfi.markdown
@@ -19,13 +19,10 @@ To add this platform to your installation, add the following to your `configurat
```yaml
# Example configuration.yaml entry
sensor:
- platform: mfi
- host: IP_ADDRESS
- port: PORT
- username: USERNAME
- password: PASSWORD
- ssl: true
- verify_ssl: true
+ - platform: mfi
+ host: IP_ADDRESS
+ username: USERNAME
+ password: PASSWORD
```
Configuration variables:
diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown
index 2b5c4860985..5354acff992 100644
--- a/source/_components/switch.mqtt.markdown
+++ b/source/_components/switch.mqtt.markdown
@@ -26,16 +26,8 @@ To enable this switch in your installation, add the following to your `configura
```yaml
# Example configuration.yml entry
switch:
- platform: mqtt
- name: "Bedroom Switch"
- state_topic: "home/bedroom/switch1"
- command_topic: "home/bedroom/switch1/set"
- payload_on: "ON"
- payload_off: "OFF"
- optimistic: false
- qos: 0
- retain: true
- value_template: '{% raw %}{{ value.x }}{% endraw %}'
+ - platform: mqtt
+ command_topic: "home/bedroom/switch1/set"
```
Configuration variables:
@@ -53,3 +45,31 @@ Configuration variables:
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.
+
+## {% 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 switch.
+
+```yaml
+# Example configuration.yml entry
+switch:
+ - platform: mqtt
+ name: "Bedroom Switch"
+ state_topic: "home/bedroom/switch1"
+ command_topic: "home/bedroom/switch1/set"
+ payload_on: "ON"
+ payload_off: "OFF"
+ optimistic: false
+ qos: 0
+ retain: true
+```
+
+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/bedroom/switch1set -m "ON"
+```
diff --git a/source/_components/switch.mysensors.markdown b/source/_components/switch.mysensors.markdown
index 1e9b9a11dd0..ead64bdcbe3 100644
--- a/source/_components/switch.mysensors.markdown
+++ b/source/_components/switch.mysensors.markdown
@@ -2,7 +2,7 @@
layout: page
title: "MySensors Switch"
description: "Instructions how to integrate MySensors switches into Home Assistant."
-date: 2016-06-12 15:00 +0200
+date: 2016-10-01 15:00 +0200
sidebar: true
comments: false
sharing: true
@@ -10,6 +10,7 @@ footer: true
logo: mysensors.png
ha_category: Switch
featured: false
+ha_iot_class: "Local Push"
---
Integrates MySensors switches into Home Assistant. See the [main component] for configuration instructions.
@@ -19,7 +20,7 @@ The following actuator types are supported:
##### MySensors version 1.4 and higher
S_TYPE | V_TYPE
----------|--------------
+---------|-------------------
S_DOOR | V_ARMED
S_MOTION | V_ARMED
S_SMOKE | V_ARMED
@@ -30,7 +31,7 @@ S_IR | V_IR_SEND, V_LIGHT
##### MySensors version 1.5 and higher
S_TYPE | V_TYPE
--------------|------------------
+-------------|----------------------
S_LIGHT | V_STATUS
S_BINARY | [V_STATUS or V_LIGHT]
S_SPRINKLER | V_STATUS
@@ -39,6 +40,12 @@ S_SOUND | V_ARMED
S_VIBRATION | V_ARMED
S_MOISTURE | V_ARMED
+##### MySensors version 2.0 and higher
+
+S_TYPE | V_TYPE
+----------------|---------
+S_WATER_QUALITY | V_STATUS
+
All V_TYPES for each S_TYPE above are required to activate the actuator for the platform. Use either V_LIGHT or V_STATUS depending on library version for cases where that V_TYPE is required.
For more information, visit the [serial api] of MySensors.
diff --git a/source/_components/switch.mystrom.markdown b/source/_components/switch.mystrom.markdown
index ce1652662b6..9c9c01e493b 100644
--- a/source/_components/switch.mystrom.markdown
+++ b/source/_components/switch.mystrom.markdown
@@ -19,14 +19,13 @@ To use your myStrom switch in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
switch:
- platform: mystrom
- host: IP_ADRRESS
- name: MyStrom Switch
+ - platform: mystrom
+ host: IP_ADRRESS
```
Configuration variables:
-- **host** (*Required*): The IP address of your myStrom switch, eg. http://192.168.1.32
+- **host** (*Required*): The IP address of your myStrom switch, eg. `http://192.168.1.32`.
- **name** (*Optional*): The name to use when displaying this switch.
Check if you are able to access the device located at `http://IP_ADRRESS`. The details about your switch is provided as a JSON response.
diff --git a/source/_components/switch.netio.markdown b/source/_components/switch.netio.markdown
index 14b87570284..380001bc2de 100644
--- a/source/_components/switch.netio.markdown
+++ b/source/_components/switch.netio.markdown
@@ -23,9 +23,8 @@ To use Netio devices in your installation, add the following to your `configurat
switch:
- platform: netio
host: 192.168.1.43
- port: 1234
- username: user
- password: pwd
+ username: YOUR_USERNAME
+ password: YOUR_PASSWORD
outlets:
1: Free
2: TV
@@ -34,17 +33,14 @@ switch:
Configuration variables:
-- **host** (*Required*): The IP address of your Netio plug, eg. http://192.168.1.32
+- **host** (*Required*): The IP address of your Netio plug, eg. `http://192.168.1.32`.
- **port** (*Optional*): The port to communicate with the switch. Defaults to `1234`.
- **username** (*Required*): The username for your plug.
- **password** (*Required*): The password for your plug.
- **outlets** (*Required*) array: List of all outlets.
- **[No.]: [Name]** (*Required*): Identification of an outlet.
-
-
-To get pushed updates from the Netio devices, one can add this Lua code in the device interface as an action triggered on "Netio" "System variables updated"
-with an 'Always' schedule:
+To get pushed updates from the Netio devices, one can add this Lua code in the device interface as an action triggered on "Netio" "System variables updated" with an 'Always' schedule:
```lua
@@ -69,44 +65,3 @@ local url = string.format('http://%s%s?%s', address, path, qs)
devices.system.CustomCGI{url=url}
```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](http://us.dlink.com/product-category/home-solutions/connected-home/smart-plugs/).
-
-Supported devices (tested):
-
-- DSP-W215
-- DSP-W110
-
-To use your D-Link smart plugs in your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-switch:
- platform: dlink
- host: IP_ADRRESS
- name: D-Link plug
- username: YOUR_USERNAME
- password: YOUR_PASSWORD
-```
-
-
-
diff --git a/source/_components/switch.orvibo.markdown b/source/_components/switch.orvibo.markdown
index 5f8efc3892d..30516626dfc 100644
--- a/source/_components/switch.orvibo.markdown
+++ b/source/_components/switch.orvibo.markdown
@@ -16,27 +16,29 @@ The `orvibo` switch platform allows you to toggle your Orvibo S20 Wifi Smart Soc
To automatically discover Orvibo sockets on your network:
```yaml
+# Example configuration.yaml entry
switch:
- platform: orvibo
+ - platform: orvibo
```
To specify Orvibo sockets and skip discovery:
```yaml
+# Example configuration.yaml entry
switch:
- platform: orvibo
- discovery: false
- switches:
- - host: IP_ADDRESS
- mac: MA:CA:DD:RE:SS:00
- name: "My Socket"
+ - platform: orvibo
+ discovery: false
+ switches:
+ - host: IP_ADDRESS
+ mac: MA:CA:DD:RE:SS:00
+ name: "My Socket"
```
Configuration variables:
-- **discovery** (*Optional*): Whether to discover sockets (default true).
+- **discovery** (*Optional*): Whether to discover sockets. Defaults to `true`.
- **switches** (*Optional*):
- - **host** (*Required*): IP address of your socket, eg. 192.168.1.10.
- - **mac** (*Optional*): MAC address of the socket, eg "AA:BB:CC:DD:EE:FF". This is required if the socket is connected to a different subnet to the machine running Home Assistant
+ - **host** (*Required*): IP address of your socket, eg. `192.168.1.10`.
+ - **mac** (*Optional*): MAC address of the socket, eg "AA:BB:CC:DD:EE:FF". This is required if the socket is connected to a different subnet to the machine running Home Assistant.
- **name** (*Optional*): Your name for the socket.
diff --git a/source/_components/switch.pulseaudio_loopback.markdown b/source/_components/switch.pulseaudio_loopback.markdown
index 33ff6c87927..116c5d4fbd0 100644
--- a/source/_components/switch.pulseaudio_loopback.markdown
+++ b/source/_components/switch.pulseaudio_loopback.markdown
@@ -28,11 +28,6 @@ To enable this switch, add the following lines to your `configuration.yaml` file
# Example configuration.yaml entry
switch:
- platform: pulseaudio_loopback
- name: mpd1 -> bedroom
- host: 127.0.0.1
- port: 4712
- source_name: mpd1.monitor
- sink_name: bedroom
```
Configuration variables:
diff --git a/source/_components/switch.rest.markdown b/source/_components/switch.rest.markdown
index 126c211acf5..43e30200b6e 100644
--- a/source/_components/switch.rest.markdown
+++ b/source/_components/switch.rest.markdown
@@ -20,11 +20,8 @@ To enable this switch, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
switch:
- platform: rest
- resource: http://IP_ADDRESS/ENDPOINT
- name: "Bedroom Switch"
- body_on: "ON"
- body_off: "OFF"
+ - platform: rest
+ resource: http://IP_ADDRESS/ENDPOINT
```
Configuration variables:
diff --git a/source/_components/switch.rfxtrx.markdown b/source/_components/switch.rfxtrx.markdown
index b5cfb786b6d..372aaa76f2a 100644
--- a/source/_components/switch.rfxtrx.markdown
+++ b/source/_components/switch.rfxtrx.markdown
@@ -18,6 +18,7 @@ First you have to set up your [rfxtrx hub](/components/rfxtrx/).
The easiest way to find your switches is to add this to your `configuration.yaml`:
```yaml
+# Example configuration.yaml entry
switch:
platform: rfxtrx
automatic_add: True
@@ -34,6 +35,7 @@ Here the name is `0b11000102ef9f210010f70` and you can verify that it works from
Then you should update your configuration to:
```yaml
+# Example configuration.yaml entry
switch:
platform: rfxtrx
devices:
diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown
index 2cff44f0ed0..691a1bd61d2 100644
--- a/source/_components/switch.rpi_gpio.markdown
+++ b/source/_components/switch.rpi_gpio.markdown
@@ -20,11 +20,10 @@ To use your Raspberry Pi's GPIO in your installation, add the following to your
```yaml
# Example configuration.yaml entry
switch:
- platform: rpi_gpio
- ports:
- 11: Fan Office
- 12: Light Desk
- invert_logic: false
+ - platform: rpi_gpio
+ ports:
+ 11: Fan Office
+ 12: Light Desk
```
Configuration variables:
diff --git a/source/_components/switch.scsgate.markdown b/source/_components/switch.scsgate.markdown
index d09b50de07c..5067dc0f0f1 100644
--- a/source/_components/switch.scsgate.markdown
+++ b/source/_components/switch.scsgate.markdown
@@ -19,11 +19,10 @@ To enable SCSGate switches in your installation, add the following to your `conf
```yaml
# Example configuration.yaml entry
switch:
- platform: scsgate
- devices:
- living_room:
- name: Living Room
- scs_id: XXXXX
+ - platform: scsgate
+ devices:
+ living_room:
+ scs_id: XXXXX
```
Configuration variables:
diff --git a/source/_components/switch.tellduslive.markdown b/source/_components/switch.tellduslive.markdown
index eb2002814ab..4477289a876 100644
--- a/source/_components/switch.tellduslive.markdown
+++ b/source/_components/switch.tellduslive.markdown
@@ -12,6 +12,5 @@ ha_category: Switch
featured: false
---
-Integrates Telldus Live switches into Home Assistant. See the [main component] for configuration instructions.
+Integrates Telldus Live switches into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions.
-[main component]: /components/tellduslive/
diff --git a/source/_components/switch.tellstick.markdown b/source/_components/switch.tellstick.markdown
index cb00059fc53..9c1ed88d73d 100644
--- a/source/_components/switch.tellstick.markdown
+++ b/source/_components/switch.tellstick.markdown
@@ -20,5 +20,5 @@ To use your TellStick device, you first have to set up your [Tellstick hub](http
```yaml
# Example configuration.yaml entry
switch:
- platform: tellstick
+ - platform: tellstick
```
diff --git a/source/_components/switch.template.markdown b/source/_components/switch.template.markdown
index 971b0824d40..25a05f6a4e4 100644
--- a/source/_components/switch.template.markdown
+++ b/source/_components/switch.template.markdown
@@ -27,7 +27,6 @@ switch:
- platform: template
switches:
skylight:
- friendly_name: 'Skylight'
value_template: {% raw %}'{{ is_state('sensor.skylight', 'on') }}'{% endraw %}
turn_on:
service: switch.turn_on
diff --git a/source/_components/switch.thinkingcleaner.markdown b/source/_components/switch.thinkingcleaner.markdown
index a9d41bbffb0..19304fb0b4c 100644
--- a/source/_components/switch.thinkingcleaner.markdown
+++ b/source/_components/switch.thinkingcleaner.markdown
@@ -20,7 +20,7 @@ To enable this switch in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
switch:
- platform: thinkingcleaner
+ - platform: thinkingcleaner
```
This will automatically add switches for each Thinking Cleaner in your network.
diff --git a/source/_components/switch.tplink.markdown b/source/_components/switch.tplink.markdown
index 3ae81fb44f8..750c0cc8689 100644
--- a/source/_components/switch.tplink.markdown
+++ b/source/_components/switch.tplink.markdown
@@ -24,14 +24,13 @@ To use your TPLink switch in your installation, add the following to your `confi
```yaml
# Example configuration.yaml entry
switch:
- platform: tplink
- host: IP_ADRRESS
- name: TP-Link Switch
+ - platform: tplink
+ host: IP_ADRRESS
```
Configuration variables:
-- **host** (*Required*): The IP address of your myStrom switch, eg. http://192.168.1.32
+- **host** (*Required*): The IP address of your myStrom switch, eg. `http://192.168.1.32`.
- **name** (*Optional*): The name to use when displaying this switch.
diff --git a/source/_components/switch.transmission.markdown b/source/_components/switch.transmission.markdown
index 7310b72320b..3c9ef39bfa6 100644
--- a/source/_components/switch.transmission.markdown
+++ b/source/_components/switch.transmission.markdown
@@ -23,10 +23,6 @@ To add Transmission to your installation, add the following to your `configurati
switch:
platform: transmission
host: IP_ADDRESS
- port: 9091
- name: Transmission
- username: USERNAME
- password: PASSWORD
```
Configuration variables:
diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown
index c9d33443592..87ac2410ba7 100644
--- a/source/_components/switch.wake_on_lan.markdown
+++ b/source/_components/switch.wake_on_lan.markdown
@@ -23,10 +23,8 @@ To enable this switch in your installation, add the following to your `configura
```yaml
# Example configuration.yml entry
switch:
- platform: wake_on_lan
- mac_address: "00-01-02-03-04-05"
- name: "WOL"
- host: "192.168.1.1"
+ - platform: wake_on_lan
+ mac_address: "00-01-02-03-04-05"
```
Configuration variables:
diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown
index 82ea76ee185..a7968cccb00 100644
--- a/source/_components/tellstick.markdown
+++ b/source/_components/tellstick.markdown
@@ -12,17 +12,16 @@ ha_category: Hub
---
-The `tellstick` component integrates [TellStick](http://www.telldus.se/products/tellstick) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 Mhz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [compatibility list](http://telldus.se/products/compability).
+The `tellstick` component integrates [TellStick](http://www.telldus.se/products/tellstick) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 Mhz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf).
To get started, add the devices to your `configuration.yaml` file.
```yaml
# Example configuration.yaml entry
tellstick:
- signal_repetitions: X
```
Configuration variables:
-- **signal_repetitions** *Optional*: Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly.
+- **signal_repetitions** (*Optional*): Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly.
diff --git a/source/_components/updater.markdown b/source/_components/updater.markdown
index 980653e0cd9..9d9edc19ef7 100644
--- a/source/_components/updater.markdown
+++ b/source/_components/updater.markdown
@@ -11,7 +11,14 @@ logo: home-assistant.png
ha_category: Other
---
-The updater component will check for new releases at startup and everyday at noon and midnight. It will show a badge in the frontend if a new version has been detected.
+The `updater` component will check for new releases at startup and everyday at noon and midnight. It will show a badge in the frontend if a new version has been detected.
+
+To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+updater:
+```
For an added bonus, an automation component can be created to send a message with a notifier when that state of this component's entity changes.
diff --git a/source/_components/upnp.markdown b/source/_components/upnp.markdown
index fdeb0fa9611..facf006f9c6 100644
--- a/source/_components/upnp.markdown
+++ b/source/_components/upnp.markdown
@@ -14,7 +14,6 @@ ha_release: 0.18
The `upnp` component automatically creates port forwarding mappings on your router for Home Assistant. UPnP or NAT-PMP needs to be enabled on your router for this component to work.
-# Installation
You need to install [miniupnpc](https://github.com/miniupnp/miniupnp/tree/master/miniupnpc) before using the UPnP component:
```bash
@@ -25,7 +24,7 @@ $ make pythonmodule3
$ sudo make installpythonmodule3
```
-# Configuration
+To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown
index 3f673082fdb..6a89c56b384 100644
--- a/source/_components/vera.markdown
+++ b/source/_components/vera.markdown
@@ -22,15 +22,19 @@ vera:
vera_controller_url: http://192.168.1.161:3480/
```
+Configuration variables:
+
+- **vera_controller_url** (*Required*): The URL for your Vera device.
+
It is recommended to assign a static IP address to your Vera Controller. This ensures that it won't change IP addresses, so you won't have to change the `vera_controller_url` if it reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Vera, check the label on the bottom.
-By default your switches will be added to HA as switches, however if some of them are light switches, you can tell HA this using the optional ```lights``` parameter as shown below.
+By default your switches will be added to Home Assistant as switches, however if some of them are light switches, you can tell Home Assistant this using the optional `lights` parameter as shown below.
-Vera imports detailed zwave devices into HA - this can include system devices and other devices that you don't use, you can tell HA not to load these devices using the ```exclude:``` parameter as shown below.
+Vera imports detailed zwave devices into Home Assistant. This can include system devices and other devices that you don't use, you can tell Home Assistant not to load these devices using the `exclude:` parameter as shown below.
-You can find the vera device id either by looking at your vera controller - or by checking the ```Vera Device Id``` attribute on each device imported into HA.
+You can find the vera device id either by looking at your vera controller or by checking the `Vera Device Id` attribute on each device imported into Home Assistant.
```yaml
vera:
diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown
index 37a0948a919..5314204e59f 100644
--- a/source/_components/verisure.markdown
+++ b/source/_components/verisure.markdown
@@ -29,13 +29,6 @@ To integrate Verisure with Home Assistant, add the following section to your `co
verisure:
username: USERNAME
password: PASSWORD
- alarm: 1
- hygrometers: 0
- smartplugs: 1
- thermometers: 0
- locks: 0
- mouse: 1
- code_digits: 4
```
Configuration variables:
diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown
index 56c64a90c6b..9e5833a8639 100644
--- a/source/_components/weblink.markdown
+++ b/source/_components/weblink.markdown
@@ -21,7 +21,6 @@ weblink:
entities:
- name: Router
url: http://192.168.1.1/
- icon: mdi:router-wireless
- name: Home Assistant
url: https://home-assistant.io
```
diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown
index 4cd2283687b..e8e43b30bfb 100644
--- a/source/_components/wink.markdown
+++ b/source/_components/wink.markdown
@@ -32,12 +32,36 @@ wink:
access_token: YOUR_ACCESS_TOKEN
```
+You can also request API access via Wink's [contact us](http://www.wink.com/help/contact/) page.
+
+You will be provided with a client ID and a client secret via email. These can then be used in your configuration in place of the access_token this will prevent you from having to manually refresh your access token.
+
+```yaml
+wink:
+ email: YOUR_WINK_EMAIL_ADDRESS
+ password: YOUR_WINK_PASSWORD
+ client_id: YOUR_WINK_CLIENT_ID
+ client_secret: YOUR_WINK_CLIENT_SECRET
+```
+
+The following can also be provied to allow access to the Wink Relay sensors. This value could change at any time.
+
+```yaml
+wink:
+ user_agent: Manufacturer/Home-Assistant WinkAndroid/4
+```
+
Configuration variables:
-- **access_token** (*Required*): The retrieved access token.
+- **access_token** (*Required if the below aren't present.*): The retrieved access token.
+- **email** (*Required if access token isn't provied*): Your Wink login email.
+- **password** (*Required if access token isn't provied*): Your Wink loging password.
+- **client_id** (*Required if access token isn't provied*): Your provided Wink client_id.
+- **client_secret** (*Required if access token isn't provied*): Your provided Wink client_secret.
+- **user_agent** (*Optional*): The user-agent passed in the API calls to Wink.
This will connect to the Wink hub and automatically set up any lights, switches and sensors that it finds.
-The Wink hub can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling devices (~3s) and getting an updated device state (~15s).
+The Wink hub can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s).
diff --git a/source/_components/zeroconf.markdown b/source/_components/zeroconf.markdown
index 345914f4f9d..822d53f4d94 100644
--- a/source/_components/zeroconf.markdown
+++ b/source/_components/zeroconf.markdown
@@ -14,6 +14,8 @@ ha_release: 0.18
The `zeroconf` component exposes your Home Assistant to the local network using [Zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking). Zeroconf is also sometimes known as Bonjour, Rendezvous and Avahi.
+To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
+
```yaml
# Example configuration.yaml entry
zeroconf:
diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown
index db1de8acfe7..066f45b4f8a 100644
--- a/source/_components/zone.markdown
+++ b/source/_components/zone.markdown
@@ -45,7 +45,7 @@ Configuration variables:
- **longitude** (*Required*): Longitude of the center point of the zone.
- **radius** (*Optional*): Optional radius in meters. Defaults to 100 meters.
- **icon** (*Optional*): Optional icon to show instead of name.
-- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
+- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
#### {% linkable_title Home zone %}
diff --git a/source/_cookbook/notify_if__new_ha_release.markdown b/source/_cookbook/notify_if__new_ha_release.markdown
index 1c760a8b3f4..62e92ac57af 100644
--- a/source/_cookbook/notify_if__new_ha_release.markdown
+++ b/source/_cookbook/notify_if__new_ha_release.markdown
@@ -30,3 +30,25 @@ automation:
data:
message: 'There is a new Home Assistant release available.'
```
+
+You can use [templates](/topics/templating/) to include the release number of Home Assistant if you prefer. The following example sends a notification via [Pushbullet](/components/notify.pushbullet/) with the Home Assistant version in the message.
+
+```yaml
+notify:
+ platform: pushbullet
+ api_key: 'YOUR_KEY_HERE'
+ name: pushbullet
+
+automation:
+ - alias: Update notifications
+ trigger:
+ - platform: state
+ entity_id: updater.updater
+ action:
+ service: notify.pushbullet
+ data:
+ title: 'New Home Assistant Release'
+ target: 'YOUR_TARGET_HERE' #See Pushbullet component for usage
+ message: "Home Assistant {{ states.updater.updater.state }} is now available."
+```
+
diff --git a/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
new file mode 100644
index 00000000000..fafabbf4401
--- /dev/null
+++ b/source/_posts/2016-10-08-hassbian-rest-digital-ocean.markdown
@@ -0,0 +1,163 @@
+---
+layout: post
+title: "0.30: More Async, HASSbian, Digital Ocean, statistics, REST"
+description: "More asynchronous, HASSbian image, Support for Digital Ocean, statistics, Västtrafik public transport, and Hacktoberfest."
+date: 2016-10-08 03:04:05 +0000
+date_formatted: "October 08, 2016"
+author: Fabian Affolter
+author_twitter: fabaff
+comments: true
+categories: Release-Notes
+---
+
+Yes, after only nine days comes 0.30. Don't worry, we will try to keep our usual release cycle and not start to release every day.
+
+We guess that you already know: The [Raspberry Pi image][pi-image] is available now. For Hassbian, [@Landrash] has combined the most essential parts for a Home Assistant setup in an easy-to-use image for the Raspberry Pi device family. Hassbian is quite young, thus we are looking forward to recieve [feedback][hassbian-forum], [issue report][hassbian-forum], and [suggestions][hassbian-forum] to improve it.
+
+A large amount of resources of the development are still focusing on the effort to move Home Assistant further to asynchronous programming. It's a labor-intensive task, comes with segmentation faults, and unstable instances when certain combinations of sensors are used. The benefit will be more speed in the near future.
+
+To reduce the run-time of your tests, [@balloob] did a lot of tweaking. For now the RFXtrx tests are excluded which cut the needed time for running on your Pull Request in half.
+
+### {% linkable_title Documentation %}
+
+All configuration sample entries are now minimized. This should help to avoid problem for starters and newbies as they only get what's needed and not a full sample with all optional entries. If there is an issue with an entry in your `configuration.yaml` file the error message will provide you an URL that point to the documentation.
+
+
+
+
+
+As soon as the [Hacktoberfest] started there were a lot of incoming Pull Requests for the documentation. A huge "Thank you" to all participants. Especially, we would like to give a cookie to [@hillaryfraley]. She created around a dozen Pull Requests so far and didn't only fix typos but complete sections. The [Hacktoberfest] is still on-going and we are looking forward to get more Pull Requests.
+
+### {% linkable_title Statistics %}
+
+With the [statistics sensor][stats-sensor] we would like to introduce a new sensor that is similar to the [template sensor][template-sensor] or the [trend sensor][trend-sensor]. This sensor is consuming values from another sensor and is doing some statistical analysis of the data. Over a group of samples is the average/mean, the min/max, the total, the standard deviation, and the variance calculated which can be used in your automation rules. If the source is a binary sensor then the state changes are counted.
+
+
+
+
+
+As the results are processed on-the-fly you still need to use the data from your database for a in-depth analysis of your stored information. Check the latest [notebook] for doing statistics with your Home Assistant database.
+
+### {% linkable_title REST! We don't... %}
+
+There was a lot of work done on our implementation which are working with RESTful APIs. [@w1ll1am23] extended the [aREST] platforms to display if an aREST unit is available or not. The aREST is now covered by the configuration check as well. Please check the Breaking changes section for more details.
+
+The [REST sensor][rest-sensor] supports now HTTP authentication (basic and digest) and custom header. This will allow you to access resources which are protected. This sample sensor will access GitHub and retrieve the latest release number while by-passing the rate limit for non-authenticated requests.
+
+```yaml
+sensor
+ - platform: rest
+ resource: https://api.github.com/repos/home-assistant/home-assistant/releases/latest
+ username: YOUR_GITHUB_USERNAME
+ password: YOUR_GITHUB_ACCESS_TOKEN
+ authentication: basic
+ value_template: '{% raw %}{{ value_json.tag_name }}{% endraw %}'
+ headers:
+ Accept: application/vnd.github.v3+json
+ Content-Type: application/json
+ User-Agent: Home Assistant REST sensor
+```
+
+### {% linkable_title Misc %}
+
+- GitHub released with a recent update a review feature. This will give you more control over your comments while you review an open Pull Request.
+- Thanks to [@robbiet480] we are now running [mention-bot]. It will help you when you create a new Pull Request to identify potential reviewers.
+- The [Home Assistant Community Forum][forum] has now an additional section called "Installation".
+
+### {% linkable_title All changes %}
+
+


+
+- Core: A lot of stuff is now async ([@balloob])
+- Nest: Support for operation modes ([@jawilson])
+- Z-Wave: Massive update for command classes and device classes ([@turbokongen])
+- Digital Ocean: New [switch][do-switch] to control and [binary sensor][do-bin-sensor] to monitor droplets ([@fabaff])
+- Cover: Support for [MySensors cover][mysensors-cover] ([@OttoWinter])
+- Wink: Support for oAuth2 and relay sensors ([@w1ll1am23])
+- Sensor: [Forecast][darksky] update interval is now configurable ([@KlaasH])
+- Core: Failed login attempts are reported as persistent notifications ([@fabaff])
+- Climate: Temperature convert now available in the Climate object ([@pvizeli])
+- Notify: Update to accept a list ([@robbiet480])
+- Device tracker: Support for tracking of your [Volvo] ([@molobrakos])
+- Switch: Flux improvements ([@jawilson])
+- InfluxDB: Time-out for connections ([@simonszu])
+- Sensor: New MySensors types available ([@MartinHjelmare])
+- Switch: [ANEL PwrCtrl][pwrctrl-switch] devices are now supported ([@mweinelt])
+- Frontend: Path of the configuration file now visible on the frontend ([@justweb1])
+- Homematic: Extended device support (RF, IP and wired devices) ([@pvizeli], [@danielperna84])
+- Sensor: New sensor for [statistical analysis][stats-sensor] ([@fabaff])
+- Sensor: Support for headers and HTTP authentication for [REST sensors][rest-sensor] ([@fabaff])
+- Device tracker: Support for encrypted Owntracks payload ([@molobrakos])
+- Tests: Improvement of the HTML5 notify tests ([@capellini])
+- Wink: Support for Wink Smoke and CO detectors ([@w1ll1am23])
+- Sensor: [TED5000][ted5000] sensor was included ([@gwendalg])
+- Sensor: Support for [Västtrafik][vasttrafik] public transport ([@persandstrom])
+- Notify: [Pushetta][pushetta] no longer sends message on start up ([@Danielhiversen])
+- Sensor: [Forecast.io][forecast] sensor was replaced by [Dark Sky][darksky] ([@fabaff])
+- Device Tracker: The `known_device.yaml` file is now validated ([@kellerza])
+- Minor features and bug fixes by [@tchellomello], [@pavoni], [@fabaff], [@pvizeli], [@lwis], [@turbokongen], [@Danielhiversen], [@persandstrom], [@balloob], [@robbiet480], [@sam-io], [@bbangert], and you if you are missing here.
+
+### {% linkable_title Breaking changes %}
+
+- All deprecated condition options from `automation` have been removed (deprecated since May and have printed warnings to your console):
+ - `use_trigger_values` is gone. You have to copy your triggers to conditions and adjust for the correct config.
+ - `condition_type` is gone. Use `condition: or` instead.
+ - To specify the type of a condition, use `condition:` instead of `platform:`.
+- The [Forecast.io][forecast] was renamed to [Dark Sky][darksky]. Replace your `- platform: forecast` with `- platform: darksky`.
+- The [aREST][arest] configuration between the [sensor][arest-sensor] and the [switch][arest-switch] platform was aligned.
+
+### {% linkable_title If you need help... %}
+...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you the former communication channels. Thanks.
+
+[@balloob]: https://github.com/balloob
+[@bbangert]: https://github.com/bbangert
+[@capellini]: https://github.com/capellini
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@danielperna84]: https://github.com/danielperna84
+[@fabaff]: https://github.com/fabaff
+[@gwendalg]: https://github.com/gwendalg
+[@hillaryfraley]: https://github.com/hillaryfraley
+[@jawilson]: https://github.com/jawilson
+[@justweb1]: https://github.com/justweb1
+[@kellerza]: https://github.com/kellerza
+[@KlaasH]: https://github.com/KlaasH
+[@Landrash]: https://github.com/Landrash
+[@lwis]: https://github.com/lwis
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@molobrakos]: https://github.com/molobrakos
+[@mweinelt]: https://github.com/mweinelt
+[@OttoWinter]: https://github.com/OttoWinter
+[@pavoni]: https://github.com/pavoni
+[@persandstrom]: https://github.com/persandstrom
+[@pvizeli]: https://github.com/pvizeli
+[@robbiet480]: https://github.com/robbiet480
+[@sam-io]: https://github.com/sam-io
+[@simonszu]: https://github.com/simonszu
+[@tchellomello]: https://github.com/tchellomello
+[@turbokongen]: https://github.com/turbokongen
+[@w1ll1am23]: https://github.com/w1ll1am23
+
+[arest]: https://arest.io/
+[arest-sensor]: /components/sensor.arest/
+[arest-switch]: /components/switch.arest/
+[darksky]: /components/sensor.darksky/
+[do-bin-sensor]: /components/binary_sensor.digital_ocean/
+[do-switch]: /components/switch.digital_ocean/
+[forecast]: /components/sensor.forecast/
+[forum]: https://community.home-assistant.io/
+[Hacktoberfest]: /blog/2016/10/02/hacktoberfest/
+[hassbian-forum]: https://community.home-assistant.io/c/installation/hassbian
+[mention-bot]: https://github.com/mention-bot
+[mysensors-cover]: /components/cover.mysensors/
+[notebook]: http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/database-statistics.ipynb
+[pi-image]: /blog/2016/10/01/we-have-raspberry-image-now/
+[pushetta]: /components/notify.pushetta/
+[pwrctrl-switch]: /components/switch.anel_pwrctrl/
+[rest-sensor]: /components/sensor.rest/
+[stats-sensor]: /components/sensor.statistics/
+[ted5000]: /components/sensor.ted5000/
+[template-sensor]: /components/sensor.template/
+[trend-sensor]: /components/binary_sensor.trend/
+[vasttrafik]: /components/sensor.vasttrafik/
+[Volvo]: /components/device_tracker.volvooncall/
+
diff --git a/source/_topics/templating.markdown b/source/_topics/templating.markdown
index efd7660c255..5a84181d89f 100644
--- a/source/_topics/templating.markdown
+++ b/source/_topics/templating.markdown
@@ -70,8 +70,8 @@ Home Assistant adds extensions to allow templates to access all of the current s
- `states('device_tracker.paulus')` will return the state string (not the object) of the given entity or `unknown` if it doesn't exist.
- `is_state('device_tracker.paulus', 'home')` will test if the given entity is specified state.
- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity is specified state.
-- `now` will be rendered as current time in your time zone.
-- `utcnow` will be rendered as UTC time.
+- `now()` will be rendered as current time in your time zone.
+- `utcnow()` will be rendered as UTC time.
- `as_timestamp` will convert datetime object or string to UNIX timestamp
- `distance()` will measure the distance in meters between home, entity, coordinates.
- `closest()` will find the closest entity.
diff --git a/source/developers/component_discovery.markdown b/source/developers/component_discovery.markdown
index dd1d82d6d49..7bcd052fe2e 100644
--- a/source/developers/component_discovery.markdown
+++ b/source/developers/component_discovery.markdown
@@ -10,10 +10,10 @@ footer: true
---
-This option is only available to built-in components.
+This option is only available for built-in components.
-Home Assistant has a discovery service running in the background to discover new devices. Whenever a new device is discovered, an `SERVICE_DISCOVERED` event will be fired with the found service and the information. The `discovery` component has some knowledge about which components handle which type of services and will ensure those are loaded and listening before firing the `SERVICE_DISCOVERED` event.
+Home Assistant has a discovery service running in the background to discover new devices. Whenever a new device is discovered, a `SERVICE_DISCOVERED` event will be fired with the found service and the information. The `discovery` component has some knowledge about which components handle which type of services and will ensure those are loaded and listening before firing the `SERVICE_DISCOVERED` event.
### {% linkable_title Add discovery instructions %}
@@ -23,7 +23,7 @@ To have your device be discovered, you will have to extend the NetDisco library
### {% linkable_title Listening to `SERVICE_DISCOVERED` events %}
-From your component, you will have to set up the listening for specific services. Below an example how one would listen for discovered Chromecasts:
+From your component, you will have to set up the listening for specific services. Given below is an example how one would listen for discovered Chromecasts:
```python
from homeassistant.loader import get_component
diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown
index e050fbed3c7..e7c3e7df652 100644
--- a/source/developers/credits.markdown
+++ b/source/developers/credits.markdown
@@ -92,12 +92,14 @@ This page contains a list of people who have contributed in one way or another t
- [Guillem Barba](https://github.com/gbarba)
- [Gustav Ahlberg](https://github.com/Gyran)
- [gwendalg](https://github.com/gwendalg)
+- [gwendalg](https://github.com/gwendalg)
- [happyleavesaoc](https://github.com/happyleavesaoc)
- [Harald Nagel](https://github.com/haraldnagel)
- [HBDK](https://github.com/HBDK)
- [Heathbar](https://github.com/heathbar)
- [Heiko Rothe](https://github.com/mKeRix)
- [Hernán](https://github.com/hmronline)
+- [hexa-](https://github.com/mweinelt)
- [Hugo Dupras](https://github.com/jabesq)
- [Hydreliox](https://github.com/HydrelioxGitHub)
- [Ian Copp](https://github.com/icopp)
@@ -129,6 +131,7 @@ This page contains a list of people who have contributed in one way or another t
- [Juggels](https://github.com/Juggels)
- [Julien Danjou](https://github.com/jd)
- [Justin Moy](https://github.com/justincmoy)
+- [Justin Weberg](https://github.com/justweb1)
- [Justyn Shull](https://github.com/justyns/)
- [Karen Goode](https://github.com/kfgoode)
- [kaustubhphatak](https://github.com/kaustubhphatak)
@@ -137,6 +140,7 @@ This page contains a list of people who have contributed in one way or another t
- [Kevin Gottsman](https://github.com/gottsman)
- [kireyeu](https://github.com/kireyeu)
- [kixam](https://github.com/kixam)
+- [Klaas Hoekema](https://github.com/KlaasH)
- [Kyle Hendricks](https://github.com/kylehendricks)
- [Lewis Juggins](https://github.com/lwis/)
- [Luca Soldi](https://github.com/LucaSoldi)
@@ -170,6 +174,7 @@ This page contains a list of people who have contributed in one way or another t
- [Nuno Sousa](https://github.com/nunofgs)
- [Oliver van Porten](https://github.com/mcdeck)
- [open-homeautomation](https://github.com/open-homeautomation)
+- [Otto Winter](https://github.com/OttoWinter)
- [Øystein Hansen](https://github.com/oeysteinhansen)
- [Pascal Bach](https://github.com/bachp)
- [Pascal Vizeli](https://github.com/pvizeli)
@@ -182,6 +187,7 @@ This page contains a list of people who have contributed in one way or another t
- [Richard Cox](https://github.com/khabi)
- [rkabadi](https://github.com/rkabadi)
- [Robbie Trencheny](https://github.com/robbiet480)
+- [Rob Capellini](https://github.com/capellini)
- [Rob Johnson](https://github.com/robjohnson189)
- [Rob Olimpiu](https://github.com/olimpiurob)
- [Roi Dayan](https://github.com/roidayan)
diff --git a/source/developers/rest_api.markdown b/source/developers/rest_api.markdown
index 13b01bfad5c..f6947f38f37 100644
--- a/source/developers/rest_api.markdown
+++ b/source/developers/rest_api.markdown
@@ -91,6 +91,7 @@ Returns the current configuration as JSON.
"longitude": 5.5678,
"unit_system": "metric",
"time_zone": "Europe/Zurich",
+ "config_dir": "/home/hass/.homeassistant",
"version": "0.8.0.dev0"
}
```
diff --git a/source/getting-started/installation-vagrant.markdown b/source/getting-started/installation-vagrant.markdown
index f6fec2de2b9..e17b06efe72 100644
--- a/source/getting-started/installation-vagrant.markdown
+++ b/source/getting-started/installation-vagrant.markdown
@@ -46,7 +46,7 @@ $ git config --global core.autocrlf input
$ vagrant up
```
-This will download and start a virtual machine using Virtualbox, which will internally setup the development environment necessary to start Home Assistant process and run test suite as well. After the VM has started succesfully, the Home Assistant frontend will be accessible locally from your browser at [http://localhost:8123](http://localhost:8123)
+This will download and start a virtual machine using Virtualbox, which will internally setup the development environment necessary to start Home Assistant process and run test suite as well. After the VM has started successfully, the Home Assistant frontend will be accessible locally from your browser at [http://localhost:8123](http://localhost:8123)
## {% linkable_title Stopping Vagrant %}
diff --git a/source/getting-started/z-wave-device-specific.markdown b/source/getting-started/z-wave-device-specific.markdown
index c96d2e853ca..6c1b10ef605 100644
--- a/source/getting-started/z-wave-device-specific.markdown
+++ b/source/getting-started/z-wave-device-specific.markdown
@@ -11,15 +11,32 @@ footer: true
##### {% linkable_title Motion or alarm sensors %}
-In order for Home Assistant to recognize well the sensor, you will need to change its configuration from `Basic Set (default)` to `Binary Sensor report` or `Alarm report`. Currently there's no way to do this in Home Assistant but you can use ozwcp (OpenZWave control panel), Domoticz or similar to do it.
+In order for Home Assistant to recognize well the sensor, you will need to change its configuration from `Basic Set (default)` to `Binary Sensor report` or `Alarm report`.
These devices will either show as a binary sensor or a sensor called `Alarm xxxx` and will report a numeric value. Test to see what value is what. Sometimes this is noted in the device manual.
+As of version 0.30 you can set the settings of a Z-Wave device through the dev_service page of Home Assistant with the service: `zwave/set_config_parameter`.
+
+The following parameters can be entered:
+- **entity_id** (*Required*): The entity_id of the device that you are going to set a parameter to. Any entity_id of the node can be used.
+- **parameter** (*Required*): The index number of the parameter to be set. Refer to device manual or zwcfg_[home_id].xml
+- **value** (*Required*): The value to set the parameter to. Refer to device manual or zwcfg_[home_id].xml
+- **size** (*Optional*): The size of the value. It is normally not needed to specify this parameter, but in some cases it's needed. Check OZW.log for details on this.
+You should check OZW.log to see if setting has been set
+Example entry in dev-service, setting binary report for Aeotec multisensor 6:
+```yaml
+# Example entry in dev-service
+{"entity_id": "sensor.aetoec_multisensor_6_luminance_5",
+"parameter": "5",
+"value": "2"
+}
+```
##### {% linkable_title Locks and other secure devices %}
These devices require a network key to be set for the Z-Wave network before they are paired. This key is set in OpenZwave's `options.xml` which is located in OpenZWave's directory. This should also be the same directory as `config_path:` in your `configuration.yaml`. If it's not, make sure you have the same values in all the files you are using.
The option is commented out by default in `options.xml` and is a default key. Make your own unique key. The key is in Hexadecimals.
-It is best to pair these devices in OpenZWave Control Panel or other Z-wave tool that can show you logs while pairing. Test the device before you save the configuration.
+It is best to pair these devices in OpenZWave Control Panel or other Z-wave tool that can show you logs while pairing. Home Assistant show logs from zwave too and it is `OZW.log` in the Home Assistant config directory.
+You should see communication from the node with lines starting with `info: NONCES` in `OZW.log` when the device is paired secure successfully. If you use Open Zwave Control Panel to pair, test the device before you save the configuration.
Make sure you copy the newly saved `zwcfg_[home_id].xml`into your Home Assistant configuration directory.
diff --git a/source/getting-started/z-wave.markdown b/source/getting-started/z-wave.markdown
index 55fdcd4b58f..a02dd34e850 100644
--- a/source/getting-started/z-wave.markdown
+++ b/source/getting-started/z-wave.markdown
@@ -30,7 +30,9 @@ $ sudo pip3 install --upgrade cython
```
Then get the OpenZWave files and switch to the `python3` branch:
+
Do not use root to build python-openzwave as it will surely fail.
+
```bash
$ git clone https://github.com/OpenZWave/python-openzwave.git
$ cd python-openzwave
@@ -38,6 +40,7 @@ $ git checkout python3
$ PYTHON_EXEC=$(which python3) make build
$ sudo PYTHON_EXEC=$(which python3) make install
```
+
Instead of `make install`, you can alternatively build your own python-openzwave package which can be easily uninstalled:
@@ -63,17 +66,12 @@ If you followed along with setting up a virtual environment, your path will be:
# Example configuration.yaml entry
zwave:
usb_path: /dev/ttyUSB0
- config_path: /usr/local/share/python-openzwave/config
- polling_interval: 60000
- customize:
- sensor.greenwave_powernode_6_port_energy_10:
- polling_intensity: 1
```
Configuration variables:
-- **usb_path** (*Required*): The port where your device is connected to your Home Assistant host.
-- **config_path** (*Optional*): The path to the Python OpenZWave configuration files.
+- **usb_path** (*Optional*): The port where your device is connected to your Home Assistant host.
+- **config_path** (*Optional*): The path to the Python OpenZWave configuration files. Defaults to the folder `config` in your Python OpenZWave install directory.
- **autoheal** (*Optional*): Allows disabling auto Z-Wave heal at midnight. Defaults to True.
- **polling_interval** (*Optional*): The time period in milliseconds between polls of a nodes value. Be careful about using polling values below 30000 (30 seconds) as polling can flood the zwave network and cause problems.
- **customize** (*Optional*): This attribute contains node-specific override values:
@@ -131,6 +129,7 @@ cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0
### {% linkable_title Events %}
#### {% linkable_title zwave.network_complete %}
+
Home Assistant will trigger a event when the Z-Wave network is complete. Meaning all of the nodes on the network have been queried. This can take quite som time, depending on wakeup intervals on the battery powered devices on the network.
```yaml
@@ -141,6 +140,7 @@ Home Assistant will trigger a event when the Z-Wave network is complete. Meaning
```
#### {% linkable_title zwave.network_ready %}
+
Home Assistant will trigger a event when the Z-Wave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` Home Assistant will feel sluggish when trying to send commands to Z-Wave nodes. This is because the controller is requesting information from all of the nodes on the network. When this is triggered all awake nodes have been queried and sleeping nodes will be queried when they awake.
```yaml
@@ -151,6 +151,7 @@ Home Assistant will trigger a event when the Z-Wave network is ready for use. Be
```
#### {% linkable_title zwave.network_start %}
+
Home Assistant will trigger a event when the Z-Wave network is set up to be started.
```yaml
@@ -161,6 +162,7 @@ Home Assistant will trigger a event when the Z-Wave network is set up to be star
```
#### {% linkable_title zwave.network_stop %}
+
Home Assistant will trigger a event when the Z-Wave network stopping.
```yaml
@@ -190,6 +192,7 @@ Example:
The *object_id* and *basic_level* of all triggered events can be seen in the console output.
#### {% linkable_title zwave.scene_activated %}
+
Some devices can also trigger scene activation events, which can be used in automation scripts (for example the press of a button on a wall switch):
```yaml
@@ -217,6 +220,7 @@ The `zwave` component exposes ten services to help maintain the network.
| cancel_command | Cancels a running Z-Wave command. If you have started a add_node or remove_node command, and decides you are not going to do it, then this must be used to stop the inclusion/exclusion command. |
| heal_network | Tells the controller to "heal" the Z-Wave network. Bascially asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. |
| remove_node | Put the Z-Wave controller in exclusion mode. Allows one to remove a device from the Z-Wave network.|
+| set_config_parameter | Let's the user set a config parameter to a node.
| soft_reset | Tells the controller to do a "soft reset". This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command.|
| start_network | Starts the Z-Wave network.|
| stop_network | Stops the Z-Wave network.|
diff --git a/source/images/screenshots/config-validation-url.png b/source/images/screenshots/config-validation-url.png
new file mode 100644
index 00000000000..578114abb48
Binary files /dev/null and b/source/images/screenshots/config-validation-url.png differ
diff --git a/source/images/screenshots/stats-sensor.png b/source/images/screenshots/stats-sensor.png
new file mode 100644
index 00000000000..7832bcbbd45
Binary files /dev/null and b/source/images/screenshots/stats-sensor.png differ
diff --git a/source/images/supported_brands/anel.png b/source/images/supported_brands/anel.png
new file mode 100644
index 00000000000..c2001fd0052
Binary files /dev/null and b/source/images/supported_brands/anel.png differ
diff --git a/source/images/supported_brands/dark_sky.png b/source/images/supported_brands/dark_sky.png
new file mode 100644
index 00000000000..b9854dff518
Binary files /dev/null and b/source/images/supported_brands/dark_sky.png differ
diff --git a/source/images/supported_brands/digital_ocean.png b/source/images/supported_brands/digital_ocean.png
new file mode 100644
index 00000000000..a1f83c95351
Binary files /dev/null and b/source/images/supported_brands/digital_ocean.png differ
diff --git a/source/images/supported_brands/dte_energy.png b/source/images/supported_brands/dte_energy.png
new file mode 100644
index 00000000000..cb1a263a5f5
Binary files /dev/null and b/source/images/supported_brands/dte_energy.png differ
diff --git a/source/images/supported_brands/ted.png b/source/images/supported_brands/ted.png
new file mode 100644
index 00000000000..fe196f3dacd
Binary files /dev/null and b/source/images/supported_brands/ted.png differ
diff --git a/source/images/supported_brands/vasttrafik.png b/source/images/supported_brands/vasttrafik.png
new file mode 100644
index 00000000000..c59c0364f03
Binary files /dev/null and b/source/images/supported_brands/vasttrafik.png differ
diff --git a/source/images/supported_brands/volvo.png b/source/images/supported_brands/volvo.png
new file mode 100644
index 00000000000..f29c360921a
Binary files /dev/null and b/source/images/supported_brands/volvo.png differ
diff --git a/source/index.html b/source/index.html
index a192ff36f92..52bd20bdb7d 100644
--- a/source/index.html
+++ b/source/index.html
@@ -15,11 +15,11 @@ hide_github_edit: true
-
Current Version: 0.29.7
- Released:
October 5, 2016
+
Current Version: 0.30
+ Released:
October 8, 2016