Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2016-09-11 00:04:13 +02:00
commit 484562dc50
No known key found for this signature in database
GPG Key ID: DDF3D6F44AAB1336
23 changed files with 121 additions and 108 deletions

View File

@ -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. 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/), and add the following lines to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry

View File

@ -9,11 +9,13 @@ sharing: true
footer: true footer: true
logo: zigbee.png logo: zigbee.png
ha_category: Binary Sensor 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -27,9 +29,8 @@ binary_sensor:
Configuration variables: Configuration variables:
- **name** (*Required*): The name you'd like to give the binary sensor in Home Assistant. - **name** (*Required*): The name you wouldd like to give the binary sensor in Home Assistant.
- **platform** (*Required*): Set to `zigbee`.
- **pin** (*Required*): The number identifying which pin to use. - **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. - **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`.

View File

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

View File

@ -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. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry

View File

@ -10,10 +10,10 @@ footer: true
logo: eyezon.png logo: eyezon.png
ha_category: Alarm ha_category: Alarm
ha_release: 0.23 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. 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.
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. 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 - [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 - [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. This is a fully event-based component. Any event sent by the Envisalink device will be immediately reflected within Home Assistant.
## Configuration
An `envisalink` section must be present in the `configuration.yaml` file and contain the following options as required: 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 ```yaml
# Example configuration.yaml entry
envisalink: envisalink:
#optional host: <envisalink IP address>
panel_type: HONEYWELL or DSC
user_name: YOUR_USERNAME
password: YOUR_PASSWORD
code: '1234'
port: 4025 port: 4025
evl_version: 3 evl_version: 3
keepalive_interval: 60 keepalive_interval: 60
zonedump_interval: 30 zonedump_interval: 30
#required
host: <envisalink IP address>
panel_type: HONEYWELL or DSC
user_name: <pass>
password: <pass>
code: '1234'
zones: zones:
11: 11:
name: 'Back Door' name: 'Back Door'
type: 'opening' type: 'opening'
21: 21:
name: 'First Floor Motion' name: 'First Floor Motion'
type: 'motion' type: 'motion'
partitions: partitions:
1: 1:
name: 'Home Alarm' 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.

View File

@ -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. 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**. 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 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/`.

View File

@ -9,19 +9,13 @@ sharing: true
footer: true footer: true
logo: zigbee.png logo: zigbee.png
ha_category: Light 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: To configure a digital output pin as light, add the following to your `configuration.yaml` file:
- **name** (*Required*): The name you'd like to give the light in Home Assistant.
- **platform** (*Required*): Set to `zigbee`.
- **pin** (*Required*): The number identifying which pin to use.
- **address**: The long 64bit address of the remote ZigBee device whose digital output pin you'd like to switch. Do not include this variable if you want to switch the local ZigBee device's pins.
- **on_state**: Either `high` (default) or `low`, depicting whether the digital output pin is pulled high or low when the light is turned on.
#### Example
```yaml ```yaml
light: light:
@ -31,3 +25,10 @@ light:
address: 0013A20040791FA2 address: 0013A20040791FA2
on_state: low 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.

View File

@ -18,6 +18,7 @@ The `panasonic_viera` platform allows you to control a Panasonic Viera TV.
Currently known supported models: Currently known supported models:
- TX-P42STW50 - 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). 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` - **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` - **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. - **name** (*Optional*): The name you would like to give to the Panasonic Viera TV.

View File

@ -71,7 +71,7 @@ Chrome supports notification actions, which are configurable buttons that arrive
"actions": [ "actions": [
{ {
"action": "open", "action": "open",
"icon": "/static/icons/favicon-192x192.png" "icon": "/static/icons/favicon-192x192.png",
"title": "Open Home Assistant" "title": "Open Home Assistant"
}, },
{ {
@ -85,7 +85,7 @@ Chrome supports notification actions, which are configurable buttons that arrive
#### {% linkable_title Data %} #### {% 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 ```json
{ {

View File

@ -30,8 +30,8 @@ notify:
Configuration variables: 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`. - **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/). To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -24,7 +24,7 @@ To integrate pilight into Home Assistant, add the following section to your `con
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
pilight: pilight:
- host: 127.0.0.1 host: 127.0.0.1
port: 5000 port: 5000
whitelist: # optional whitelist: # optional
protocol: protocol:

View File

@ -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. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry

View File

@ -14,7 +14,9 @@ ha_category: Weather
The `netatmo` sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) device. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -53,7 +55,7 @@ sensor:
Configuration variables: 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. - **modules** (*Required*): Modules to use. Multiple entries allowed.
- **module_name** array (*Required*): Name of the module. - **module_name** array (*Required*): Name of the module.
- **temperature**: Current temperature. - **temperature**: Current temperature.
@ -76,8 +78,7 @@ Configuration variables:
### {% linkable_title Find your modules name %} ### {% 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 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.
You have to provide these name in your Home Assistant configuration file.
<p class='img'> <p class='img'>
<img src='/images/screenshots/netatmo_module.png' /> <img src='/images/screenshots/netatmo_module.png' />

View File

@ -47,5 +47,5 @@ sensor:
Configuration variables: Configuration variables:
- **name** (*Required*): Vehicle name (your choice). - **name** (*Optional*): Vehicle name (your choice).
- **email**: Email address configured in Torque application. - **email** (*Required*): Email address configured in Torque application.

View File

@ -9,6 +9,8 @@ sharing: true
footer: true footer: true
logo: zigbee.png logo: zigbee.png
ha_category: Sensor 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: There are two types of [ZigBee](http://www.zigbee.org/) sensor available to Home Assistant:

View File

@ -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: To use Netio devices in your installation, add the following to your `configuration.yaml` file:
``` ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
switch: switch:
- platform: netio - platform: netio

View File

@ -14,20 +14,20 @@ 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: To enable this switch, add the following lines to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
switch: switch:
platform: pulseaudio_loopback - platform: pulseaudio_loopback
name: mpd1 -> bedroom name: mpd1 -> bedroom
host: 127.0.0.1 host: 127.0.0.1
port: 4712 port: 4712
@ -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. - **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds.
<p class='note warning'> <p class='note warning'>
This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with 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, module-cli-protocol must be loaded on the PulseAudio server.
</p> </p>

View File

@ -9,19 +9,13 @@ sharing: true
footer: true footer: true
logo: zigbee.png logo: zigbee.png
ha_category: Switch 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: To configure a digital output pin as switch, add the following to your `configuration.yaml` file:
- **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
```yaml ```yaml
switch: switch:
@ -31,3 +25,10 @@ switch:
address: 0013A20040791FA2 address: 0013A20040791FA2
on_state: low 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.

View File

@ -10,6 +10,7 @@ footer: true
logo: zigbee.png logo: zigbee.png
ha_category: DIY ha_category: DIY
ha_release: 0.12 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. [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.

View File

@ -11,8 +11,8 @@ footer: true
This is an advanced feature of Home Assistant. You'll need a basic understanding of the following things: This is an advanced feature of Home Assistant. You'll need a basic understanding of the following things:
- [Home Assistant architecture], especially states. - [Home Assistant architecture], especially states.
- [State object] - [State object]
[Home Assistant architecture]: /developers/architecture/ [Home Assistant architecture]: /developers/architecture/
@ -20,8 +20,8 @@ This is an advanced feature of Home Assistant. You'll need a basic understanding
Templating is a powerful feature in Home Assistant that allows the user control over information that is going into and out of the system. It is used for: Templating is a powerful feature in Home Assistant that allows the user control over information that is going into and out of the system. It is used for:
- Formatting outgoing messages in, for example, the [notify] and [alexa] components. - Formatting outgoing messages in, for example, the [notify] and [alexa] components.
- Process incoming data from sources that provide raw data, like [MQTT], [REST sensor], or the [command line sensor]. - Process incoming data from sources that provide raw data, like [MQTT], [REST sensor], or the [command line sensor].
[notify]: /components/notify/ [notify]: /components/notify/
[alexa]: /components/alexa/ [alexa]: /components/alexa/
@ -201,4 +201,7 @@ It depends per component or platform but it is common to be able to define a tem
{% raw %}{{ value_json.tst | timestamp_local }}{% endraw %} {% raw %}{{ value_json.tst | timestamp_local }}{% endraw %}
{% raw %}{{ value_json.tst | timestamp_utc }}{% endraw %} {% raw %}{{ value_json.tst | timestamp_utc }}{% endraw %}
{% raw %}{{ value_json.tst | timestamp_custom('%Y' True) }}{% endraw %} {% raw %}{{ value_json.tst | timestamp_custom('%Y' True) }}{% endraw %}
# Square bracket notation
{% raw %}{{ value_json["001"] }}{% endraw %}
``` ```

View File

@ -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. After following these steps, running `hass` will invoke your local installation.
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.

View File

@ -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. 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 `<config_dir>/custom_components/light/awesomelights.py`. Similar to Example Sensor Platform, copy the code below, and create it as a file in `<config_dir>/custom_components/light/awesomelights.py`.
Add the following to your configuration.yaml: Add the following to your configuration.yaml:
@ -28,34 +28,40 @@ Note the `platform` name matches the filename for the source code.
```python ```python
import logging import logging
import voluptuous as vol
# Import the device class from the component that you want to support # 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 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. # Home Assistant depends on 3rd party packages for API specific code.
REQUIREMENTS = ['awesome_lights==1.2.3'] REQUIREMENTS = ['awesome_lights==1.2.3']
_LOGGER = logging.getLogger(__name__) _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): def setup_platform(hass, config, add_devices, discovery_info=None):
"""Setup the Awesome Light platform.""" """Setup the Awesome Light platform."""
import awesomelights import awesomelights
# Validate passed in config # Assign configuration variables. The configuration check takes care they are
# present.
host = config.get(CONF_HOST) host = config.get(CONF_HOST)
username = config.get(CONF_USERNAME) username = config.get(CONF_USERNAME)
password = config.get(CONF_PASSWORD) 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 # Setup connection with devices/cloud
hub = awesomelights.Hub(host, username, password) hub = awesomelights.Hub(host, username, password)
# Verify that passed in config works # Verify that passed in configuration works
if not hub.is_valid_login(): if not hub.is_valid_login():
_LOGGER.error('Could not connect to AwesomeLight hub') _LOGGER.error('Could not connect to AwesomeLight hub')
return False return False

View File

@ -9,7 +9,7 @@ sharing: true
footer: 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. 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 **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. - 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.
<p class='note'>
It could be necessary that you run `rake generate` prior to `rake preview` for the very first preview.
</p>
### {% linkable_title Create a page %} ### {% linkable_title Create a page %}