From 9a22adb119ca49801149f013fce5aaad3c8b98c9 Mon Sep 17 00:00:00 2001 From: Sytone Date: Sun, 4 Sep 2016 02:45:02 -0700 Subject: [PATCH 01/22] Update local serving ofr files (#850) Added a entry to explain how the www directory maps to the local directory. --- source/_components/http.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 3341d121ace..689e5e24261 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -49,3 +49,5 @@ The `http` platforms are not real platforms within the meaning of the terminolog To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived. All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**. + +If you want to host static files on your site this canbe done by making a www directory under the .htomassistant configuration path. Then static files in `.homeassistant/www/` can be accessed by using `http://your.domain:8123/local/` From ada8a1ed9dcd788c667fd017ce61977e0558c189 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 3 Sep 2016 21:13:05 +0200 Subject: [PATCH 02/22] Set language --- source/_components/switch.netio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.netio.markdown b/source/_components/switch.netio.markdown index b30efab2212..14b87570284 100644 --- a/source/_components/switch.netio.markdown +++ b/source/_components/switch.netio.markdown @@ -18,7 +18,7 @@ The `netio` switch platform allows you to control your [Netio](http://www.netio- To use Netio devices in your installation, add the following to your `configuration.yaml` file: -``` +```yaml # Example configuration.yaml entry switch: - platform: netio From 02fea9f42740e15cb95641a262b243212ba7f846 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 3 Sep 2016 21:13:36 +0200 Subject: [PATCH 03/22] Add link and other small updates --- .../switch.pulseaudio_loopback.markdown | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/source/_components/switch.pulseaudio_loopback.markdown b/source/_components/switch.pulseaudio_loopback.markdown index eb7c3aaea8a..33ff6c87927 100644 --- a/source/_components/switch.pulseaudio_loopback.markdown +++ b/source/_components/switch.pulseaudio_loopback.markdown @@ -14,25 +14,25 @@ ha_iot_class: "Local Polling" --- -The goal behind this switch is to allow a very flexible whole home audio system based upon PulseAudio. +The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/). -For example, for a system with a 7.1 surround sound card, and 3 instances of mpd running, it is possible to quickly route the output of any mpd instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is 'on', the loopback module is loaded. When the switch is 'off', the module is not loaded. +For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded. -The benefit of this approach is that this audio routing can occur without modifying the design-time configuration of mpd or PulseAudio. +The benefit of this approach is that this audio routing can occur without modifying the design-time configuration of MPD or PulseAudio. -This component uses a TCP connection to control a local or remote PulseAudio server- so there are no local dependencies. +This component uses a TCP connection to control a local or remote PulseAudio server. So there are no local dependencies. To enable this switch, add the following lines to your `configuration.yaml` file: ```yaml # 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 + - platform: pulseaudio_loopback + name: mpd1 -> bedroom + host: 127.0.0.1 + port: 4712 + source_name: mpd1.monitor + sink_name: bedroom ``` Configuration variables: @@ -46,7 +46,6 @@ Configuration variables: - **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds.

-This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with -this component, module-cli-protocol must be loaded on the PulseAudio server. +This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this component, `module-cli-protocol` must be loaded on the PulseAudio server.

From 1d93ae436d9a9a16edbff692bad08bf7be7929d3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 11:32:31 +0200 Subject: [PATCH 04/22] Add and update link to apcupsd component --- source/_components/binary_sensor.apcupsd.markdown | 2 +- source/_components/sensor.apcupsd.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/binary_sensor.apcupsd.markdown b/source/_components/binary_sensor.apcupsd.markdown index 663e63031b2..70f65504bfc 100644 --- a/source/_components/binary_sensor.apcupsd.markdown +++ b/source/_components/binary_sensor.apcupsd.markdown @@ -14,7 +14,7 @@ ha_release: 0.13 In addition to the [APCUPSd Sensor](/components/sensor.apcupsd/) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. -To enable this sensor, add the following lines to your `configuration.yaml` file: +To enable this sensor, , you first have to set up [apcupsd](/components/apcupsd/) add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.apcupsd.markdown b/source/_components/sensor.apcupsd.markdown index eec87c03dae..1dc7ea9932a 100644 --- a/source/_components/sensor.apcupsd.markdown +++ b/source/_components/sensor.apcupsd.markdown @@ -13,7 +13,7 @@ ha_category: Sensor The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command. -To use this sensor platform, you first have to set up [apcupsd](https://home-assistant.io/components/apcupsd/) and add the following to your `configuration.yaml` file: +To use this sensor platform, you first have to set up [apcupsd](/components/apcupsd/) and add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From 3a80758f3df22365fd75db29aafbe48b891726d0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 11:36:42 +0200 Subject: [PATCH 05/22] Fix mess --- source/_components/binary_sensor.apcupsd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.apcupsd.markdown b/source/_components/binary_sensor.apcupsd.markdown index 70f65504bfc..0c9a91d5402 100644 --- a/source/_components/binary_sensor.apcupsd.markdown +++ b/source/_components/binary_sensor.apcupsd.markdown @@ -14,7 +14,7 @@ ha_release: 0.13 In addition to the [APCUPSd Sensor](/components/sensor.apcupsd/) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. -To enable this sensor, , you first have to set up [apcupsd](/components/apcupsd/) add the following lines to your `configuration.yaml` file: +To enable this sensor, you first have to set up [apcupsd](/components/apcupsd/), and add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From a03ec097109606a22ccd408ffcaf79e807bd5fc4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 11:37:25 +0200 Subject: [PATCH 06/22] Add details about component --- source/_components/camera.netatmo.markdown | 2 +- source/_components/sensor.netatmo.markdown | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index 8e1952b55a7..662159d6a36 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -15,7 +15,7 @@ ha_release: 0.22 The `netatmo` camera platform is consuming the information provided by a [Netatmo Welcome](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera. -To enable the Netatmo camera, add the following lines to your `configuration.yaml`: +To enable the Netatmo camera, you first have to set up [netatmo](/components/netatmo/), and add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 8034f8a2d12..87ec4e8854b 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -14,7 +14,9 @@ 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, add the following lines to your `configuration.yaml`: + + +To enable the Netatmo sensor, you first have to set up [netatmo](/components/netatmo/), and add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -53,7 +55,7 @@ sensor: Configuration variables: -- **station** (*Optionnal*): The name of the weather station. Needed if several stations are associated with the account. +- **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. - **module_name** array (*Required*): Name of the module. - **temperature**: Current temperature. @@ -76,8 +78,7 @@ Configuration variables: ### {% linkable_title Find your modules name %} -You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters (See screenshot) -You have to provide these name in your Home Assistant configuration file. +You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters. You have to provide these name in your Home Assistant `configuration.yaml` file.

From 8b030b73e47b3a14fd4bbd653237ce17e57f40aa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 11:37:47 +0200 Subject: [PATCH 07/22] Minor fix --- source/_components/sensor.apcupsd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.apcupsd.markdown b/source/_components/sensor.apcupsd.markdown index 1dc7ea9932a..d7e6ae6ae36 100644 --- a/source/_components/sensor.apcupsd.markdown +++ b/source/_components/sensor.apcupsd.markdown @@ -13,7 +13,7 @@ ha_category: Sensor The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command. -To use this sensor platform, you first have to set up [apcupsd](/components/apcupsd/) and add the following to your `configuration.yaml` file: +To use this sensor platform, you first have to set up [apcupsd](/components/apcupsd/), and add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From 2b01663c950ff5f37ff779f1ea1d720a4ebc9aef Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 11:49:32 +0200 Subject: [PATCH 08/22] Fix typos and re-phrase it --- source/_components/http.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 689e5e24261..781600e7c42 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -50,4 +50,4 @@ To use those kind of [sensors](/components/sensor.http/) or [binary sensors](com All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**. -If you want to host static files on your site this canbe done by making a www directory under the .htomassistant configuration path. Then static files in `.homeassistant/www/` can be accessed by using `http://your.domain:8123/local/` +If you want to use Home Assistant to host or serve static files then create a directory called `www` under the `.homeassistant` configuration path. The static files in `.homeassistant/www/` can be accessed by the following URL `http://your.domain:8123/local/`. From e274c2c7b52a49d1619f2e91bcb0342e4d205ea7 Mon Sep 17 00:00:00 2001 From: Corban Mailloux Date: Sun, 4 Sep 2016 23:01:52 -0400 Subject: [PATCH 09/22] Tiny JSON structure fix. Missing comma in JSON example. --- source/_components/notify.html5.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index f081899c9f2..0f0a3f69ae5 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -71,7 +71,7 @@ Chrome supports notification actions, which are configurable buttons that arrive "actions": [ { "action": "open", - "icon": "/static/icons/favicon-192x192.png" + "icon": "/static/icons/favicon-192x192.png", "title": "Open Home Assistant" }, { From dbfd9013cd1f2847e50a8661475ef5cc93f9d997 Mon Sep 17 00:00:00 2001 From: Corban Mailloux Date: Mon, 5 Sep 2016 13:36:22 -0400 Subject: [PATCH 10/22] Remove a localhost link. (#900) --- source/_components/notify.html5.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 0f0a3f69ae5..b3af87aa698 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -85,7 +85,7 @@ Chrome supports notification actions, which are configurable buttons that arrive #### {% linkable_title Data %} -Any parameters that you pass in the notify payload that aren't valid for use in the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`) will be sent back to you in the [callback events](http://localhost:4000/components/notify.html5/#automating-notification-events). +Any parameters that you pass in the notify payload that aren't valid for use in the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`) will be sent back to you in the [callback events](#automating-notification-events). ```json { From 84b79c8a5a4ec123efb2f41a37536854505859ec Mon Sep 17 00:00:00 2001 From: kylerw Date: Mon, 5 Sep 2016 18:28:20 -0600 Subject: [PATCH 11/22] New tested device --- source/_components/media_player.panasonic_viera.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.panasonic_viera.markdown b/source/_components/media_player.panasonic_viera.markdown index 8eceb7a2660..4e1310357b3 100644 --- a/source/_components/media_player.panasonic_viera.markdown +++ b/source/_components/media_player.panasonic_viera.markdown @@ -18,6 +18,7 @@ The `panasonic_viera` platform allows you to control a Panasonic Viera TV. Currently known supported models: - TX-P42STW50 +- TC-P65VT30 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). @@ -37,4 +38,3 @@ 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` - **name** (*Optional*): The name you would like to give to the Panasonic Viera TV. - From b54321ec9b20194197e73f9521982d9dbcec4c1f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 6 Sep 2016 09:47:21 +0200 Subject: [PATCH 12/22] Update camera.ffmpeg.markdown --- source/_components/camera.ffmpeg.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index f6a41895cc6..71c14c789b5 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -55,5 +55,5 @@ $ ffmpeg -i INPUT -an -f null - Now you can see what going wrong. Following list could be help to solve your trouble: - `[rtsp @ ...] UDP timeout, retrying with TCP`: You need to set RTSP transport in the configuration with: `input: -rtsp_transport tcp -i INPUT` -- `[rtsp @ ...] Could not find codec parameters for stream 0 (Video: ..., none): unspecified size`: FFmpeg need more data or time for autodetect. You can set the `analyzeduration` and/or `probesize` option, play with this value. If you know the needed value you can set it with: `input: -analyzeduration xy -probesize xy tcp -i INPUT`. More information about that can be found on [FFmpeg](https://www.ffmpeg.org/ffmpeg-formats.html#Description). +- `[rtsp @ ...] Could not find codec parameters for stream 0 (Video: ..., none): unspecified size`: FFmpeg need more data or time for autodetect. You can set the `analyzeduration` and/or `probesize` option, play with this value. If you know the needed value you can set it with: `input: -analyzeduration xy -probesize xy -i INPUT`. More information about that can be found on [FFmpeg](https://www.ffmpeg.org/ffmpeg-formats.html#Description). From d2e7e65e908b4537351015fb3d5ad27d65a8f76b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 4 Sep 2016 13:02:37 +0200 Subject: [PATCH 13/22] Update configuration variables --- source/_components/sensor.torque.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.torque.markdown b/source/_components/sensor.torque.markdown index a86ea0bacc4..e1f96a42bda 100644 --- a/source/_components/sensor.torque.markdown +++ b/source/_components/sensor.torque.markdown @@ -47,5 +47,5 @@ sensor: Configuration variables: -- **name** (*Required*): Vehicle name (your choice). -- **email**: Email address configured in Torque application. +- **name** (*Optional*): Vehicle name (your choice). +- **email** (*Required*): Email address configured in Torque application. From 738dc5425900705a9a2a8d38012c860d37280029 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Sep 2016 16:31:35 +0200 Subject: [PATCH 14/22] Update ZigBee docs --- .../_components/binary_sensor.zigbee.markdown | 11 +++++----- source/_components/light.zigbee.markdown | 21 ++++++++++--------- source/_components/sensor.zigbee.markdown | 2 ++ source/_components/switch.zigbee.markdown | 21 ++++++++++--------- source/_components/zigbee.markdown | 1 + 5 files changed, 31 insertions(+), 25 deletions(-) diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown index e6fb6a1ddb2..48302659e51 100644 --- a/source/_components/binary_sensor.zigbee.markdown +++ b/source/_components/binary_sensor.zigbee.markdown @@ -9,11 +9,13 @@ sharing: true footer: true logo: zigbee.png ha_category: Binary Sensor +ha_release: 0.12 +ha_iot_class: "Local Polling" --- -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`. +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`. -To enable the ZigBee binary sensors in your installation, add the following lines to your `configuration.yaml`: +To enable a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -27,9 +29,8 @@ binary_sensor: Configuration variables: -- **name** (*Required*): The name you'd like to give the binary sensor in Home Assistant. -- **platform** (*Required*): Set to `zigbee`. +- **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'. +- **on_state**: 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/light.zigbee.markdown b/source/_components/light.zigbee.markdown index 25832fedbd1..a50568b0dd2 100644 --- a/source/_components/light.zigbee.markdown +++ b/source/_components/light.zigbee.markdown @@ -9,19 +9,13 @@ sharing: true footer: true logo: zigbee.png ha_category: Light +ha_release: 0.12 +ha_iot_class: "Local Polling" --- -A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered 'on' when the ZigBee device's digital output is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. +A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. -To configure a digital output pin as a light, use the following variables: - -- **name** (*Required*): The name you'd like to give the light in Home Assistant. -- **platform** (*Required*): Set to `zigbee`. -- **pin** (*Required*): The number identifying which pin to use. -- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. -- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the light is turned on. - -#### Example +To configure a digital output pin as light, add the following to your `configuration.yaml` file: ```yaml light: @@ -31,3 +25,10 @@ light: 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. diff --git a/source/_components/sensor.zigbee.markdown b/source/_components/sensor.zigbee.markdown index 58d436ccd27..96f66fc0d45 100644 --- a/source/_components/sensor.zigbee.markdown +++ b/source/_components/sensor.zigbee.markdown @@ -9,6 +9,8 @@ sharing: true footer: true logo: zigbee.png ha_category: Sensor +ha_release: 0.12 +ha_iot_class: "Local Polling" --- There are two types of [ZigBee](http://www.zigbee.org/) sensor available to Home Assistant: diff --git a/source/_components/switch.zigbee.markdown b/source/_components/switch.zigbee.markdown index 41097f32e68..58bb428b79e 100644 --- a/source/_components/switch.zigbee.markdown +++ b/source/_components/switch.zigbee.markdown @@ -9,19 +9,13 @@ sharing: true footer: true logo: zigbee.png ha_category: Switch +ha_release: 0.12 +ha_iot_class: "Local Polling" --- -A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered 'on' when the ZigBee device's digital output is held 'high' and considered 'off' when it is held 'low'. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. +A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behaviour can be inverted by setting the `on_state` configuration variable to `low`. -To configure a digital output pin as a switch, use the following variables: - -- **name** (*Required*): The name you'd like to give the switch in Home Assistant. -- **platform** (*Required*): Set to `zigbee`. -- **pin** (*Required*): The number identifying which pin to use. -- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. -- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the switch is turned on. - -#### Example +To configure a digital output pin as switch, add the following to your `configuration.yaml` file: ```yaml switch: @@ -31,3 +25,10 @@ switch: address: 0013A20040791FA2 on_state: low ``` + +Configuration variables: + +- **name** (*Required*): The name you would like to give the switch in Home Assistant. +- **pin** (*Required*): The number identifying which pin to use. +- **address**: The long 6 4bit address of the remote ZigBee device whose digital output pin you would 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 switch is turned on. diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown index 0d973649f90..8b29e11237a 100644 --- a/source/_components/zigbee.markdown +++ b/source/_components/zigbee.markdown @@ -10,6 +10,7 @@ footer: true logo: zigbee.png ha_category: DIY ha_release: 0.12 +ha_iot_class: "Local Polling" --- [ZigBee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilise modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local ZigBee device to be connected over a serial port. Through this it will send and receive commands to and from other devices on the ZigBee mesh network. From f32315b4bc1eeecfc287a175998384e30788c205 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Sep 2016 22:23:00 +0200 Subject: [PATCH 15/22] Fix link --- source/_components/notify.nma.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/notify.nma.markdown b/source/_components/notify.nma.markdown index 1108d3f2b87..1d42cd28b2f 100644 --- a/source/_components/notify.nma.markdown +++ b/source/_components/notify.nma.markdown @@ -30,8 +30,8 @@ notify: 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*): Enter the API key for NMA. +- **api_key** (*Required*): The API key for NMA. -Details for the (API)[https://www.notifymyandroid.com/api.jsp]. +Details for the [API](https://www.notifymyandroid.com/api.jsp). To use notifications, please see the [getting started with automation page](/getting-started/automation/). From 7278cd96dcc11e49e3ff101f2a3a3a1c16cdc5ad Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 7 Sep 2016 09:05:35 +0200 Subject: [PATCH 16/22] Add voluptuous --- .../platform_example_light.markdown | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/source/developers/platform_example_light.markdown b/source/developers/platform_example_light.markdown index 759e9a379c2..9e530f65221 100644 --- a/source/developers/platform_example_light.markdown +++ b/source/developers/platform_example_light.markdown @@ -11,7 +11,7 @@ footer: true This example is for adding support for the imaginary Awesome Lights. It shows the different best practices for developing a platform. -Similar to Example Sensor Platform, Copy the code below and create it as a file in `/custom_components/light/awesomelights.py`. +Similar to Example Sensor Platform, copy the code below, and create it as a file in `/custom_components/light/awesomelights.py`. Add the following to your configuration.yaml: @@ -28,34 +28,40 @@ Note the `platform` name matches the filename for the source code. ```python import logging +import voluptuous as vol + # Import the device class from the component that you want to support -from homeassistant.components.light import ATTR_BRIGHTNESS, Light +from homeassistant.components.light import ATTR_BRIGHTNESS, Light, PLATFORM_SCHEMA from homeassistant.const import CONF_HOST, CONF_USERNAME, CONF_PASSWORD +import homeassistant.helpers.config_validation as cv # Home Assistant depends on 3rd party packages for API specific code. REQUIREMENTS = ['awesome_lights==1.2.3'] _LOGGER = logging.getLogger(__name__) +# Validation of the user's configuration +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Required(CONF_HOST): cv.string, + vol.Optional(CONF_USERNAME, default='admin'): cv.string, + vol.Optional(CONF_PASSWORD): cv.string, +}) + def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the Awesome Light platform.""" import awesomelights - # Validate passed in config + # Assign configuration variables. The configuration check takes care they are + # present. host = config.get(CONF_HOST) username = config.get(CONF_USERNAME) password = config.get(CONF_PASSWORD) - if host is None or username is None or password is None: - _LOGGER.error('Invalid config. Expected %s, %s and %s', - CONF_HOST, CONF_USERNAME, CONF_PASSWORD) - return False - # Setup connection with devices/cloud hub = awesomelights.Hub(host, username, password) - # Verify that passed in config works + # Verify that passed in configuration works if not hub.is_valid_login(): _LOGGER.error('Could not connect to AwesomeLight hub') return False From e96e8883063f5664110b564b1bd2537fa27a3d64 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 7 Sep 2016 09:41:40 +0200 Subject: [PATCH 17/22] Move variable description --- source/_components/envisalink.markdown | 57 +++++++++++--------------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/source/_components/envisalink.markdown b/source/_components/envisalink.markdown index 037907a6e01..e24c333754c 100644 --- a/source/_components/envisalink.markdown +++ b/source/_components/envisalink.markdown @@ -10,10 +10,10 @@ footer: true logo: eyezon.png ha_category: Alarm ha_release: 0.23 +ha_iot_class: "Local Push" --- -This component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and it's sensors to provide Home Assistant with rich information about their homes. -Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this component is built. Currently, the Envisalink version 4 is the latest model. This component supports both the evl3 and the evl4. +The `envisalink` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and it's sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Eyez On, known as the Envisalink. The Envisalink evl3 and evl4 boards provide a TCP/IP interface to the alarm panel, where it emulates an alarm keypad. This board also exposes a raw TCP/IP based API, upon which this component is built. Currently, the Envisalink version 4 is the latest model. This component supports both the evl3 and the evl4. Please visit the [eyezon website](http://www.eyezon.com/) for further information about the evl3 and evl4 boards. @@ -23,54 +23,45 @@ There is currently support for the following device types within Home Assistant: - [Sensor](/components/sensor.envisalink/): Emulates an alpha-numeric keypad attached to the alarm panel - [Alarm Control Panel](/components/alarm_control_panel.envisalink/): Reports on partition status, and can be used to arm/disarm the system -This is a fully event-based component- any event sent by the Envisalink device will be immediately reflected within Home Assistant. - -## Configuration +This is a fully event-based component. Any event sent by the Envisalink device will be immediately reflected within Home Assistant. An `envisalink` section must be present in the `configuration.yaml` file and contain the following options as required: -### Required Parameters -- **host**: The IP address of the Envisalink device on your home network. -- **panel_type**: `HONEYWELL` or `DSC`, depending upon which alarm system you have. -- **user_name**: Which username to authenticate with when connecting to the device. On a Honeywell alarm panel, the username/password are the same. -- **password**: Which password to authenticate with when connecting to the device. -- **code**: Your alarm panel's code, for authenticating user input during arm/disarm. - -### Optional Parameters -- **port**: Which network port to connect with. Default: `4025` -- **evl_version**: 3 for evl3, or 4 for evl4. Default: `3` -- **keepalive_interval**: This is a periodic heartbeat signal (measured in seconds) sent to your Envisalink board to keep it from restarting. This is required for DSC and Honeywell systems. Default: `60` seconds -- **zonedump_interval**: This is an interval (measured in seconds) where the evl will dump out all zone statuses. This is required for Honeywell systems, which do not properly send zone closure events. DSC boards do not technically need this. Default: `30` -- **zones**: Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. *Note- if no zones are specified, Home Assistant will not load any binary_sensor components.* -- **partitions**: Again, Envisalink boards do not tell us what is in use, and what is not, so each partition must be configured with a partition name. If no partition parameter is specified, then no alarm_panel or sensor components are loaded. - -#### Example - ```yaml +# Example configuration.yaml entry envisalink: -#optional + host: + panel_type: HONEYWELL or DSC + user_name: YOUR_USERNAME + password: YOUR_PASSWORD + code: '1234' port: 4025 evl_version: 3 keepalive_interval: 60 zonedump_interval: 30 - -#required - host: - panel_type: HONEYWELL or DSC - user_name: - password: - code: '1234' - zones: 11: name: 'Back Door' type: 'opening' - 21: name: 'First Floor Motion' type: 'motion' - partitions: 1: name: 'Home Alarm' ``` + +Configuration variables: + +- **host** (*Required*): The IP address of the Envisalink device on your home network. +- **panel_type** (*Required*): `HONEYWELL` or `DSC`, depending upon which alarm system you have. +- **user_name** (*Required*): Which username to authenticate with when connecting to the device. On a Honeywell alarm panel, the username/password are the same. +- **password** (*Required*): Which password to authenticate with when connecting to the device. EVL3 only works with max. 6 characters. +- **code** (*Required*): Your alarm panel's code, for authenticating user input during arm/disarm. +- **port** (*Optional*): Which network port to connect with. Default: `4025` +- **evl_version** (*Optional*): 3 for evl3, or 4 for evl4. Default: `3` +- **keepalive_interval** (*Optional*): This is a periodic heartbeat signal (measured in seconds) sent to your Envisalink board to keep it from restarting. This is required for DSC and Honeywell systems. Defaults to `60` seconds. +- **zonedump_interval** (*Optional*): This is an interval (measured in seconds) where the evl will dump out all zone statuses. This is required for Honeywell systems, which do not properly send zone closure events. DSC boards do not technically need this. Default: `30` +- **zones** (*Optional*): Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. *Note: if no zones are specified, Home Assistant will not load any binary_sensor components.* +- **partitions** (*Optional*): Again, Envisalink boards do not tell us what is in use and what is not, so each partition must be configured with a partition name. If no partition parameter is specified, then no alarm_panel or sensor components are loaded. + From d95ed6156cdc9c618ba7e7a6e97793a3af92cd33 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 7 Sep 2016 21:07:55 +0200 Subject: [PATCH 18/22] Fix configuration sample --- source/_components/pilight.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index a3fdbf8e4ce..e2eeddc8fc7 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -24,14 +24,14 @@ To integrate pilight into Home Assistant, add the following section to your `con ```yaml # Example configuration.yaml entry pilight: - - host: 127.0.0.1 - port: 5000 - whitelist: # optional - protocol: - - daycom - - intertechno - id: - - 42 + host: 127.0.0.1 + port: 5000 + whitelist: # optional + protocol: + - daycom + - intertechno + id: + - 42 ``` Configuration variables: From 9769bd5f08965ebd55f8f66148dc648eca1eb2fc Mon Sep 17 00:00:00 2001 From: Johan Klintberg Date: Wed, 7 Sep 2016 21:09:56 +0200 Subject: [PATCH 19/22] Example of usage of square bracket notation (#908) Shows example how to extract values from a key that normally isn't allowed in dot notation. --- source/_topics/templating.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_topics/templating.markdown b/source/_topics/templating.markdown index 10f4ff6615a..ef26bc874c6 100644 --- a/source/_topics/templating.markdown +++ b/source/_topics/templating.markdown @@ -199,4 +199,7 @@ It depends per component or platform but it is common to be able to define a tem # Timestamps {% raw %}{{ value_json.tst | timestamp_local }}{% endraw %} {% raw %}{{ value_json.tst | timestamp_utc }}{% endraw %} + +# Square bracket notation +{% raw %}{{ value_json["001"] }}{% endraw %} ``` From a93b4e50445193e2aa405b81c28cf2a1b9f9720b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Sep 2016 10:12:01 +0200 Subject: [PATCH 20/22] Add note about rake generate (source #813) --- source/developers/website.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/developers/website.markdown b/source/developers/website.markdown index 857151af3b9..d06bf0e4ec2 100644 --- a/source/developers/website.markdown +++ b/source/developers/website.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The website you're reading now is the home of Home Assistant: [https://home-assistant.io](https://home-assistant.io). This is the place where we provide documentation and additional details about Home Assistant for end users and developers. +The website you are reading now is the home of Home Assistant: [https://home-assistant.io](https://home-assistant.io). This is the place where we provide documentation and additional details about Home Assistant for end users and developers. home-assistant.io is built using [Jekyll](http://github.com/mojombo/jekyll) and [those available dependencies](https://pages.github.com/versions/). The pages are written in [markdown](http://daringfireball.net/projects/markdown/); to add a page you don't need to know about HTML or the like. @@ -31,6 +31,9 @@ Then you can work on the documentation: - Create a Pull Request (PR) against the **next** branch of home-assistant.github.io if your documentation is for a new feature, platform, or component. - Create a Pull Request (PR) against the **current** branch of home-assistant.github.io if you fix stuff, create Cookbook entries, or expand existing documentation. +

+It could be necessary that you run `rake generate` prior to `rake preview` for the very first preview. +

### {% linkable_title Create a page %} From 3c2ae2a81e7aecb73de20c229f8bb90ab87e770b Mon Sep 17 00:00:00 2001 From: Sytone Date: Fri, 9 Sep 2016 01:18:20 -0700 Subject: [PATCH 21/22] Windows Development Notes (#914) Ensure developers know you need the Microsoft Visual C++ Build tools installed --- source/developers/development_environment.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/developers/development_environment.markdown b/source/developers/development_environment.markdown index 3dd791883ff..6c47ab031b2 100644 --- a/source/developers/development_environment.markdown +++ b/source/developers/development_environment.markdown @@ -24,3 +24,5 @@ On Windows you can use `python setup.py develop` instead of the setup script. After following these steps, running `hass` will invoke your local installation. +Note: If you are developing on the windows platform ensure you have the correct Microsoft Visual C++ Build tools installed. Please see [the Windows Compilers](https://wiki.python.org/moin/WindowsCompilers) section on the python site. Validation using Tox will fail if this is not done correctly. + From 6d8fad05cf6e629395e1ea3712c887a03b541f1e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Sep 2016 10:21:09 +0200 Subject: [PATCH 22/22] Add link and change wording --- source/developers/development_environment.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/development_environment.markdown b/source/developers/development_environment.markdown index 6c47ab031b2..eb567b48ffd 100644 --- a/source/developers/development_environment.markdown +++ b/source/developers/development_environment.markdown @@ -24,5 +24,5 @@ On Windows you can use `python setup.py develop` instead of the setup script. After following these steps, running `hass` will invoke your local installation. -Note: If you are developing on the windows platform ensure you have the correct Microsoft Visual C++ Build tools installed. Please see [the Windows Compilers](https://wiki.python.org/moin/WindowsCompilers) section on the python site. Validation using Tox will fail if this is not done correctly. +If you are using Windows as a development platform ensure you have the correct Microsoft Visual C++ build tools installed. Please check [the Windows Compilers](https://wiki.python.org/moin/WindowsCompilers) section on the [Python website](https://www.python.org/) for details. Validation using `tox` will fail if this is not done correctly.