Merge pull request #969 from home-assistant/next

0.29
This commit is contained in:
Paulus Schoutsen 2016-09-28 21:25:54 -07:00 committed by GitHub
commit 383fa3ed9f
77 changed files with 1657 additions and 199 deletions

0
font/fontawesome-webfont.eot Executable file → Normal file
View File

0
font/fontawesome-webfont.svg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 193 KiB

0
font/fontawesome-webfont.ttf Executable file → Normal file
View File

0
font/fontawesome-webfont.woff Executable file → Normal file
View File

View File

@ -16,10 +16,6 @@ ha_iot_class: "Local Polling"
The `ffmpeg` platform allows you to use every video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**. If the `ffmpeg` process is broken, the sensor will be unavailable. To restart the instance, use the service *binary_sensor.ffmpeg_restart*.
<p class='note'>
You need the `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need to build it from source. Windows binary are avilable on [FFmpeg](http://www.ffmpeg.org/) homepage.
</p>
### {% linkable_title Noise %}
To enable your FFmpeg with noise detection in your installation, add the following to your `configuration.yaml` file:
@ -31,7 +27,6 @@ binary_sensor:
tool: noise
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Noise
ffmpeg_bin: /usr/bin/ffmpeg
peak: -30
duration: 1
reset: 20
@ -42,7 +37,6 @@ Configuration variables:
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
- **tool** (*Required*): Is fix set to `noise`.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`.
- **peak** (*Optional*): Default -30. A peak of dB to detect it as noise. 0 is very loud and -100 is low.
- **duration** (*Optional*): Default 1 seconds. How long need the noise over the peak to trigger the state.
- **reset** (*Optional*): Defaults to 20 seconds. The time to reset the state after none new noise is over the peak.
@ -68,13 +62,12 @@ binary_sensor:
tool: motion
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg Motion
ffmpeg_bin: /usr/bin/ffmpeg
changes: 10
reset: 20
# group feature / default not in use
repeat: 0
repeat_time: 0
```
Configuration variables:
@ -82,7 +75,6 @@ Configuration variables:
- **input** (*Required*): A ffmpeg compatible input file, stream, or feed.
- **tool** (*Required*): Is fix set to `motion`.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`.
- **changes** (*Optional*): Default 10 percent. A lower value is more sensitive. I use 4 / 3.5 on my cameras. It describes how much needs to change between two frames to detect it as motion. See on descripton.
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new motion is detected.
- **repeat** (*Optional*): Default 0 repeats (deactivate). How many events need to be detected in *repeat_time* in order to trigger a motion.
@ -95,4 +87,4 @@ For playing with values (changes/100 is the scene value on ffmpeg):
$ ffmpeg -i YOUR_INPUT -an -filter:v select=gt(scene\,0.1) -f framemd5 -
```
If you are running into trouble with this sensor, please refer to this [Troubleshooting section](/components/camera.ffmpeg/#troubleshooting).
If you are running into trouble with this sensor, please refer to this [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Binary Sensor"
description: "Instructions how to integrate ISY994 binary sensors into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Binary Sensor
ha_iot_class: "Local Push"
---
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.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,37 @@
---
layout: page
title: "Modbus Binary Sensor"
description: "Instructions on how to set up Modbus binary sensors within Home Assistant."
date: 2016-09-13 12:02
sidebar: true
comments: false
sharing: true
footer: true
logo: modbus.png
ha_category: Binary Sensor
ha_release: 0.28
---
The `modbus` binary sensor allows you to gather data from [Modbus](http://www.modbus.org/) coils.
To use your Modbus binary sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
binary_sensor:
platform: modbus
coils:
- name: Sensor1
slave: 1
coil: 100
- name: Sensor2
slave: 1
coil: 110
```
Configuration variables:
- **coils** array (*Required*): The array contains a list of coils to read from.
- **name** (*Required*): Name of the sensor.
- **slave** (*Required*): The number of the slave (Optional for tcp and upd Modbus).
- **coil** (*Required*): Coil number.

View File

@ -17,31 +17,14 @@ The `nx584` platform provides integration with GE, Caddx, Interlogix (and other
Enabling this sensor platform exposes all of your zones as binary sensors, which provides visibility through the UI as well as the ability to trigger automation actions instantly when something happens like a door opening, or a motion sensor trigger.
To enable this, add the following lines to your `configuration.yaml`:
To enable this feature, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
binary_sensor:
platform: nx584
host: ADDRESS
exclude_zones:
- ZONE ...
zone_types:
ZONE: TYPE
```
Configuration variables:
- **host** (*Optional*): This is the host connection string (host:port) for the nx584 server process. If unset, it is assumed to be `localhost:5007`, which will work if the server process is running on the same system as home-assistant.
- **exclude_zones** (*Optional*): This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc.
- **zone_types** (*Optional*): This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. The list of available zone types relevant to alarm zones are: `opening`, `motion`, `gas`, `smoke`, `moisture`, `safety`.
Example configuration:
```yaml
binary_sensor:
platform: nx584
host: 192.168.1.10:5007
host: 192.168.1.10
pport: 5007
exclude_zones:
- 3
- 5
@ -51,3 +34,11 @@ binary_sensor:
4: motion
6: moisture
```
Configuration variables:
- **host** (*Optional*): This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant.
- **port** (*Optional*): The port where the server process is running. Defaults to `5007`.
- **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`.

View File

@ -0,0 +1,16 @@
---
layout: page
title: "SleepIQ Binary Sensor"
description: "Instructions for how to integrate SleepIQ sensors within Home Assistant."
date: 2016-08-28 8:56
sidebar: true
comments: false
sharing: true
footer: true
logo: sleepiq
ha_category: Binary Sensor
ha_release: 0.29
ha_iot_class: "Local Polling"
---
To get your SleepIQ binary sensors working with Home Assistant, follow the instructions for the general [SleepIQ component](/components/sleepiq/).

View File

@ -15,10 +15,6 @@ ha_release: 0.26
The `ffmpeg` platform allows you to use every video feed with [FFmpeg](http://www.ffmpeg.org/) as camera in Home Assistant. The input for ffmpeg need to support that could have multiple connection to source (input) in same time. For every user in UI and all 10 seconds (snapshot image) it make a new connection/reading to source. Normally that should never be a trouble only in strange selfmade constructs can be make mistakes.
<p class='note'>
You need a `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need tobuild from source by yourself. Windows binary are avilable on the [FFmpeg](http://www.ffmpeg.org/) website.
</p>
To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -27,7 +23,6 @@ camera:
- platform: ffmpeg
input: FFMPEG_SUPPORTED_INPUT
name: FFmpeg
ffmpeg_bin: /usr/bin/ffmpeg
extra_arguments: -q:v 2
```
@ -35,25 +30,11 @@ Configuration variables:
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **ffmpeg_bin** (*Optional*): Default 'ffmpeg'.
- **extra_arguments** (*Optional*): Extra option they will pass to `ffmpeg`. i.e. image quality or video filter options.
### {% linkable_title Image quality %}
You can control the `image quality` with [`extra_arguments`](https://www.ffmpeg.org/ffmpeg-codecs.html#jpeg2000) `-q:v 2-32` or with lossless option `-pred 1`.
### {% linkable_title Troubleshooting %}
In most of case, `ffmpeg` autodetect all needed options to read a video/audio stream or file. But it is possible in rare cases that's needed to set a option to help `ffmpeg`. Per default `ffmpeg` use 5 seconds to detect all options or abort.
First check, if your stream playable by `ffmpeg` with (use option `-an` or `-vn` to disable video or audio stream):
```
$ 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 -i INPUT`. More information about that can be found on [FFmpeg](https://www.ffmpeg.org/ffmpeg-formats.html#Description).
If you are running into trouble with this sensor, please refer to this [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View File

@ -0,0 +1,112 @@
---
layout: page
title: "MySensors HVAC"
description: "Instructions how to integrate MySensors climate into Home Assistant."
date: 2016-09-14 18:20 +0100
sidebar: true
comments: false
sharing: true
footer: true
logo: mysensors.png
ha_category: Climate
featured: false
ha_release: 0.29
---
Integrates MySensors HVAC into Home Assistant. See the [main component] for configuration instructions.
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
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
Currently humidity, away_mode, aux_heat, swing_mode is not supported. This will be included in later versions as feasible.
Set the target temperature using V_HVAC_SETPOINT_HEAT in Heat mode, and V_HVAC_SETPOINT_COOL in Cool Mode. In case of any Auto Change Over mode you can use V_HVAC_SETPOINT_HEAT as well as V_HVAC_SETPOINT_COOL to set the both the low bound and the high bound temperature of the device.
You can use V_HVAC_SPEED to control the Speed setting of the Fan in the HVAC.
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
*
*/
#include <MySensor.h>
/* 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)*/
void setup()
{
// 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");
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;
}
}
void loop() {
// Process incoming messages (like config from server)
gw.process();
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -15,6 +15,7 @@ ha_category: Climate
The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/).
The underlaying library supports:
- CT50 V1.09
- CT50 V1.88
- CT50 V1.94 (also known as Filtrete 3M50)
@ -33,8 +34,8 @@ climate:
Configuration variables:
- **host** (*Required*): List of your Radiotherm thermostats
- **hold_temp** (*Required*): Boolean to control if Home Assistant temperature adjustments hold (`True`) or are temporary (`False`).
- **host** (*Optional*): List of your Radiotherm thermostats. If not provided the thermostats will be auto-detected.
- **hold_temp** (*Optional*): Boolean to control if Home Assistant temperature adjustments hold (`True`) or are temporary (`False`). Defaults to `False`.
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.

View File

@ -0,0 +1,19 @@
---
layout: page
title: "Vera Thermostat"
description: "Instructions how to integrate Vera thermostats into Home Assistant."
date: 2016-09-19 21:00
sidebar: true
comments: false
sharing: true
footer: true
logo: vera.png
ha_category: Climate
ha_iot_class: "Local Push"
---
The `vera` climate platform allows you to control your [Vera](http://getvera.com/) thermostats from within Home Assistant.
They will be automatically discovered if the vera component is loaded.
For more configuration information see the [Vera component](/components/vera/) documentation.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Cover"
description: "Instructions how to integrate ISY994 covers into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Cover
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) cover from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -11,3 +11,57 @@ footer: true
Home Assistant can give you an interface to control covers such as
rollershutters and garage doors.
## {% linkable_title Services %}
### {% linkable_title Cover control services %}
Available services: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`, `cover.open_cover_tilt`, `cover.close_cover_tilt`, `cover.stop_cover_tilt`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Else targets all.
### {% linkable_title Service `cover.set_cover_position` %}
Set cover position of one or multiple covers.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Else targets all.
| `position` | no | Integer between 0 and 100.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
after: "07:15:00"
action:
- service: cover.set_cover_position
data:
entity_id: cover.demo
position: 50
```
### {% linkable_title Service `cover.set_cover_tilt_position` %}
Set cover tilt position of one or multiple covers.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Else targets all.
| `position` | no | Integer between 0 and 100.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
after: "07:15:00"
action:
- service: cover.set_cover_tilt_position
data:
entity_id: cover.demo
position: 50
```

View File

@ -0,0 +1,19 @@
---
layout: page
title: "Vera Cover"
description: "Instructions how to integrate Vera covers into Home Assistant."
date: 2016-09-19 21:00
sidebar: true
comments: false
sharing: true
footer: true
logo: vera.png
ha_category: Cover
ha_iot_class: "Local Push"
---
The `vera` cover platform allows you to control your [Vera](http://getvera.com/) covers from within Home Assistant.
They will be automatically discovered if the Vera component is loaded.
For more configuration information see the [Vera component](/components/vera/) documentation.

0
source/_components/emulated_hue.markdown Executable file → Normal file
View File

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Fan"
description: "Instructions how to integrate ISY994 fans into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Fan
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) fan from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,29 @@
---
layout: page
title: "Nest Fan"
description: "Instructions how to integrate Nest fans within Home Assistant."
date: 2015-03-23 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: nest_thermostat.png
ha_category: Fan
ha_release: 0.29
ha_iot_class: "Local Polling"
---
The `nest` fan platform let you control a fan from [Nest](https://nest.com).
<p class='note'>
You must have the [Nest component](/components/nest/) configured to use those thermostats.
</p>
To set it up, add the following information to your `configuration.yaml` file:
```yaml
fan:
platform: nest
```

View File

@ -0,0 +1,46 @@
---
layout: page
title: "FFmpeg"
description: "Instructions for how to integrate FFmpeg within Home Assistant."
date: 2016-09-14 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ffmpeg.png
ha_category: Hub
---
It allow other Home-Assistant components to process video/audio streams. It need a ffmpeg binary in your system path. It support all ffmpeg version since 3.0.0. If you have a older version, please update.
<p class='note'>
You need a `ffmpeg` binary in your system path. On Debain 8 or Raspbian (Jessie) you can install it from backports. If you want Hardware support on a Raspberry Pi you need to build from source by yourself. Windows binary are avilable on the [FFmpeg](http://www.ffmpeg.org/) website.
</p>
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:
- **ffmpeg_bin** (*Optional*): Default 'ffmpeg'. Set the ffmpeg binary.
- **run_test** (*Optional*): Default True. Check if `input` is usable by ffmpeg.
### {% linkable_title Troubleshooting %}
In most of case, `ffmpeg` autodetect all needed options to read a video/audio stream or file. But it is possible in rare cases that's needed to set a option to help `ffmpeg`. Per default `ffmpeg` use 5 seconds to detect all options or abort.
First check, if your stream playable by `ffmpeg` with (use option `-an` or `-vn` to disable video or audio stream):
```
$ 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 -i INPUT`. More information about that can be found on [FFmpeg](https://www.ffmpeg.org/ffmpeg-formats.html#Description).

View File

@ -27,6 +27,9 @@ http:
cors_allowed_origins:
- https://google.com
- https://home-assistant.io
approved_ips:
- 127.0.0.1
- 192.168.1.9
```
Configuration variables:
@ -38,6 +41,7 @@ Configuration variables:
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
- **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 [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).

View File

@ -9,15 +9,15 @@ sharing: true
footer: true
logo: universal_devices.png
ha_category: Hub
ha_release: pre 0.7
ha_release: 0.28
---
The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. The controller is also capable of controlling Z-Wave devices but that functionality has not yet been confirmed with Home Assistant.
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.
The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/).
### {% linkable_title Basic Configuration %}
Home Assistant is capable of communicating with any switch, sensor, and light that is configured on the controller. Using the programs on the controller, custom switches and sensors can also be created.
Home Assistant is capable of communicating with any binary sensor, cover, fan, light, lock, sensor and switch that is configured on the controller. Using the programs on the controller, custom binary sensors, cover, fan, lock, and switches can also be created.
To integrate your ISY994 controller with Home Assistant, add the following section to your `configuration.yaml` file:
@ -37,52 +37,85 @@ Configuration variables:
- **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, Home Assistant will assume it is as a sensor.
- **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.
Once the ISY controller is configured, it will automatically import any lights, switches, and sensors it can locate.
Once the ISY controller is configured, it will automatically import any binary sensors, covers, fans, lights, locks, sensors and switches it can locate.
### {% linkable_title Creating Custom Switches %}
### {% linkable_title Creating Custom Devices %}
Using the Programs tab in the controller's Administrative Console, custom switches can be created that will appear natively inside of Home Assistant. Home Assistant will scan two different directories for switch configurations on the controller. These directories must exist at the root level. The two directories used to make switches are *HA.doors* and *HA.switches*. Currently, the two receive identical treatment in Home Assistant.
Using the Programs tab in the controller's Administrative Console, custom devices can be created that will appear natively inside of Home Assistant. Home Assistant will scan the following folders and build the device to the associated domains:
A switch is created by creating a directory under either of these root dirctories with the name you would like to call the switch. Two programs are then required in this directory: *status* and *actions*. The image below shows a sample configuration. This sample includes an extra program called *auto on*. This is ignored by Home Assistant.
```
My Programs
├── HA.binary_sensor
| ├── Movement In House
| | └── status
| └── Garage Open
| | └── status
├── HA.cover
| ├── Left Garage Door
| | ├── actions
| | └── status
| ├── Living Room Blinds
| | ├── actions
| | └── status
├── HA.fan
| ├── Desk Fan
| | ├── actions
| | └── status
| ├── Living Room Fan
| | ├── actions
| | └── status
├── HA.lock
| ├── Front Door
| | ├── actions
| | └── status
| ├── Back Door
| | ├── actions
| | └── status
├── HA.switch
| ├── Dining Lights
| | ├── actions
| | └── status
| ├── Sleep Mode
| | ├── actions
| | └── status
```
A device is created by creating a directory, with the name for the device, under any of the following root directories:
* *HA.binary_sensor* will create a binary sensor (see [Customizing Devices](https://home-assistant.io/getting-started/customizing-devices/) to set the sensor class)
* *HA.cover* will create a cover
* *HA.fan* will create a fan
* *HA.lock* will create a lock
* *HA.switch* will create a switch
A program, named *status*, is required under the program device directory. A program, named *actions*, is required for all program devices except for binary_sensor. Any other programs in these device directories will be ignored.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchExample.png' />
<img src='{{site_root}}/images/isy994/isy994_CoverhExample.png' />
</p>
The *status* program in this directory is what indicates if the switch is on or off. Only the IF clause is evaluated. If the clause returns True, the switch will be on. False will indicate the switch is off.
The *status* program in this directory is what indicates the state of the device:
* *binary_sensor* on if the clause returns true, otherwise off
* *cover* closed if the clause returns true, otherwise open
* *fan* on if the clause returns true, otherwise off
* *lock* locked if the clause returns true, otherwise unlocked
* *switch* on if the clause returns true, otherwise off
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchStatusExample.png' />
</p>
The *actions* program indicates what should be performed to turn the switch on or off. The THEN clause gives instructions for turning the switch on while the ELSE clause gives instructions for turning the switch off. Below is an example.
The *actions* program indicates what should be performed for the following device services:
* *cover* the THEN clause is evaluated for the open_cover service, the ELSE clause is evaluated for the close_cover service
* *fan* the THEN clause is evaluated for the turn_on service, the ELSE clause is evaluated for the turn_off service
* *lock* the THEN clause is evaluated for the lock service, the ELSE clause is evaluated for the unlock service
* *switch* the THEN clause is evaluated for the turn_on srevice, the ELSE clause is evaluated for the turn_off service
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SwitchActionsExample.png' />
</p>
The example program above shows how to control a legacy X10 device from Home Assistant using an ISY controller.
### {% linkable_title Creating Custom Sensors %}
Custom sensors can also be created using the Programs tab in the ISY controller's Administrative Console. For programs, three different root level folders are evaluated that are all handled a little differently inside of Home Assistant.
* *HA.sensors* will have states of Open or Closed
* *HA.states* will have states of On or Off
* *HA.locations* will have states of Home or Away
To create a custom sensor, create a program under any of the three root directories. The name of the program will be the name of the sensor. An example below shows a location indicator setup.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SensorExample.png' />
</p>
The program created only needs an IF clause. It will be evaluated to either Open/On/Home when it returns True and Closed/Off/Away when it returns False. An example is below.
<p class='img'>
<img src='{{site_root}}/images/isy994/isy994_SensorStatusExample.png' />
</p>

View File

@ -0,0 +1,48 @@
---
layout: page
title: "Keyboard"
description: "Instructions how to use a keyboard to remote control Home Assistant."
date: 2016-09-28 14:39
sidebar: true
comments: false
sharing: true
footer: true
logo: keyboard.png
ha_category: Other
ha_release: 0.29
ha_iot_class: "Local Push"
---
Recieve 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.
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.
```yaml
# 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
```
And an automation rule to bring breath live into it.
```yaml
automation:
alias: Keyboard All light on
trigger:
platform: event
event_type: keyboard_remote_command_received
event_data:
key_code: 107 # inspect log to obtain desired keycode
action:
service: light.turn_on
entity_id: light.all
```

View File

@ -17,7 +17,8 @@ ha_iot_class: "Local Polling"
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.knx)
- [Binary Sensor](/components/binary_sensor.knx)
- [Sensor](/components/sensor.knx)
- [Switch](/components/switch.knx)
- [Thermostat](/components/thermostat.knx)
@ -30,5 +31,5 @@ knx:
port: PORT
```
- **host** (*Required*): The IP address of the KNX/IP interface to use. You can use "0.0.0.0" if your KNX/IP gateway supports discovery.
- **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.
- **port** (*Optional*): The UDP port number. Defaults to `3671`.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Light"
description: "Instructions how to integrate ISY994 lights into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Light
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) light from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

0
source/_components/light.mqtt_json.markdown Executable file → Normal file
View File

View File

@ -23,7 +23,7 @@ To enable those lights, add the following lines to your `configuration.yaml` fil
# Example configuration.yaml entry
light:
- platform: x10
lights:
devices:
- name: Living Room Lamp
id: a2
- name: Bedroom Lamp
@ -32,5 +32,5 @@ light:
Configuration variables:
- **id** (*Required*): Device identifier. Composed of house code + unit id.
- **id** (*Required*): Device identifier. Composed of house code und unit id.
- **name** (*Optional*): A friendly name for the device. By default *id* from the device is used.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Lock"
description: "Instructions how to integrate ISY994 locks into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Lock
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) lock from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -19,6 +19,33 @@ To enable the logbook in your installation, add the following to your `configura
# Example configuration.yaml entry
logbook:
```
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:
- sensor.last_boot
- sensor.date
domains:
- sun
- 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.
To exclude these entities just add them to the `exclude` > `entities` list in the configuration of the logbook.
To exclude all events from a whole domain add it to the `exclude` > `domain` list. For instance you use the `sun` domain only to trigger automations on the `azimuth attribute, then you possible are not interested in the logbook entries for sun rise and sun set.
### {% linkable_title Custom Entries %}
It is possible to add custom entries to the logbook by using the script component to fire an event.

View File

@ -29,14 +29,18 @@ To add a Yamaha Network Receiver to your installation, add the following to your
# Example configuration.yaml entry
media_player:
platform: yamaha
host: 192.168.1.100
name: 'Basement Receiver'
```
Configuration variables:
- **name** (*Optional*): Name of the device
- **host** (*Optional*): IP address or hostname of the device
A few notes:
- This will automatically search your network for Yamaha receivers. It will add a media player device for each one.
- Not specifying the host variable will result in automatically searching your network for Yamaha Receivers. It will add a media player device for each one.
- In some cases, autodiscovery fails due to a known bug in the receiver's firmware. It is possible to manually specify the reveiver's IP address or via it's hostname (if it is discoverably by your DNS) then.
- Please note: If adding the IP address or hostname manually, you **must** enable network standby on your receiver, or else startup of Home Assistant will hang if you have your receiver switched off.
- Currently the only controls that are available is Power On/Off, Mute, and Volume control. Other functions such as source select are in progress of being developed.

View File

@ -67,6 +67,6 @@ Configuration variables:
## {% linkable_title Building on top of Modbus %}
- [Modbus Binary Sensor](/components/binary_sensor.modbus/)
- [Modbus Sensor](/components/sensor.modbus/)
- [Modbus Switch](/components/switch.modbus/)

View File

@ -33,13 +33,13 @@ mqtt:
Configuration variables:
- **broker** (*Required*): The IP address of your MQTT broker, e.g. 192.168.1.32.
- **broker** (*Required*): The IP address or hostname of your MQTT broker, e.g. 192.168.1.32.
- **port** (*Optional*): The network port to connect to. Default is 1883.
- **client_id** (*Optional*): Client ID that Home Assistant will use. Has to be unique on the server. Default is a random generated one.
- **keepalive** (*Optional*): The keep alive in seconds for this client. Default is 60.
- **client_id** (*Optional*): The client ID that Home Assistant will use. Has to be unique on the server. Default is a randomly generated one.
- **keepalive** (*Optional*): The time in seconds between sending keep alive messages for this client. Default is 60.
- **username** (*Optional*): The username to use with your MQTT broker.
- **password** (*Optional*): The corresponding password for the username to use with your MQTT broker.
- **certificate** (*Optional*): Certificate to use to encrypt communication with the broker.
- **certificate** (*Optional*): The certificate authority certificate file that is to be treated as trusted by this client. This file should contain the root certificate of the certificate authority that signed your broker's certificate, but may contain multiple certificates. Example: `/home/user/identrust-root.pem`
- **client_key** (*Optional*): Client key (example: `/home/user/owntracks/cookie.key`)
- **client_cert** (*Optional*): Client certificate (example: `/home/user/owntracks/cookie.crt`)
- **protocol** (*Optional*): Protocol to use: 3.1 or 3.1.1. By default it connects with 3.1.1 and falls back to 3.1 if server does not support 3.1.
@ -50,7 +50,7 @@ The MQTT component needs you to run an MQTT broker for Home Assistant to connect
### {% linkable_title Embedded broker %}
Home Assistant contains an embedded MQTT broker. If no broker configuration is given, the [HBMQTT broker](https://pypi.python.org/pypi/hbmqtt) is started and Home Asssistant connects to it. Embedded broker default configuration:
Home Assistant contains an embedded MQTT broker. If no broker configuration is given, the [HBMQTT broker](https://pypi.python.org/pypi/hbmqtt) is started and Home Assistant connects to it. Embedded broker default configuration:
| Setting | Value |
| ------- | ----- |
@ -77,7 +77,7 @@ mqtt:
### {% linkable_title Run your own %}
Most private option but requires a bit more work. There are two free and open-source brokers to pick from: [Mosquitto](http://mosquitto.org/) and [Mosca](http://www.mosca.io/).
This is the most private option but requires a bit more work. There are two free and open-source brokers to pick from: [Mosquitto](http://mosquitto.org/) and [Mosca](http://www.mosca.io/).
```yaml
# Example configuration.yaml entry
@ -96,7 +96,7 @@ There is an issue with the Mosquitto package included in Ubuntu 14.04 LTS. Speci
### {% linkable_title Public broker %}
The Mosquitto project runs a [public broker](http://test.mosquitto.org). Easiest to setup but there is 0 privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices.
The Mosquitto project runs a [public broker](http://test.mosquitto.org). This is the easiest to set up, but there is no privacy as all messages are public. Use this only for testing purposes and not for real tracking of your devices.
```yaml
mqtt:
@ -112,7 +112,7 @@ mqtt:
### {% linkable_title CloudMQTT %}
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free up to 10 connected devices. This is enough to get started with for example [OwnTracks](/components/device_tracker.owntracks/) and give you a taste of what is possible.
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/components/device_tracker.owntracks/) and give you a taste of what is possible.
<p class='note'>
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
@ -124,8 +124,8 @@ Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
3. From the control panel, click on the _Details_ button.
4. Create unique users for Home Assistant and each phone to connect<br>(CloudMQTT does not allow two
connections from the same user)
a. Under manage users, fill in username, password and click add
b. Under ACLs, select user, topic `#`, check 'read access' and 'write access'
1. Under manage users, fill in username, password and click add
2. Under ACLs, select user, topic `#`, check 'read access' and 'write access'
5. Copy the instance info to your configuration.yaml:
```yaml
@ -186,19 +186,19 @@ logger:
## {% linkable_title Testing your setup %}
The `mosquitto` broker package is shipping commandline tools to send and recieve MQTT messages. As an alternative have a look at [hbmqtt_pub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provied by HBMQTT. For sending test messages to a broker running on localhost check the example below:
The `mosquitto` broker package ships commandline tools to send and recieve MQTT messages. As an alternative have a look at [hbmqtt_pub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_pub.html) and [hbmqtt_sub](http://hbmqtt.readthedocs.org/en/latest/references/hbmqtt_sub.html) which are provied by HBMQTT. For sending test messages to a broker running on localhost check the example below:
```bash
$ mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON"
```
If you are using the embeeded MQTT broker, the command looks a little different because you need to add the MQTT protocol version.
If you are using the embedded MQTT broker, the command looks a little different because you need to add the MQTT protocol version.
```bash
$ mosquitto_pub -V mqttv311 -t "hello" -m world
```
or if you are using a API password.
or if you are using a API password:
```bash
$ mosquitto_pub -V mqttv311 -u homeassistant -P <your api password> -t "hello" -m world
@ -225,7 +225,7 @@ For reading all messages sent on the topic `home-assistant` to a broker running
$ mosquitto_sub -h 127.0.0.1 -v -t "home-assistant/#"
```
For the embeeded MQTT broker the command looks like the sample below.
For the embedded MQTT broker the command looks like:
```bash
$ mosquitto_sub -v -V mqttv311 -t "#"
@ -235,7 +235,7 @@ Add the username `homeassistant` and your API password if needed.
## {% linkable_title Processing JSON %}
The MQTT switch and sensor platforms support processing JSON over MQTT messages and parse them using JSONPath. JSONPath allows you to specify where in the JSON the value resides that you want to use. The following examples will always return the value `100`.
The MQTT switch and sensor platforms support processing JSON over MQTT messages and parsing them using JSONPath. JSONPath allows you to specify where in the JSON the value resides that you want to use. The following examples will always return the value `100`.
| JSONPath query | JSON |
| -------------- | ---- |

View File

@ -20,7 +20,7 @@ nest:
username: USERNAME
password: PASSWORD
thermostat:
climate:
platform: nest
```
@ -31,7 +31,7 @@ nest:
password: PASSWORD
structure: Vacation
thermostat:
climate:
platform: nest
```
@ -44,7 +44,7 @@ nest:
- Vacation
- Primary
thermostat:
climate:
platform: nest
```
@ -52,4 +52,4 @@ Configuration variables:
- **username** (*Required*): Your Nest username.
- **password** (*Required*): Your Nest password.
- **structure** (*Optional*): The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account.
- **structure** (*Optional*): The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account.

View File

@ -0,0 +1,60 @@
---
layout: page
title: "Kodi"
description: "Instructions how to add Kodi notifications to Home Assistant."
date: 2016-09-12 16:00
sidebar: true
comments: false
sharing: true
footer: true
logo: kodi.png
ha_category: Notifications
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:
### {% 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** (*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`.
- **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
data:
title: "Home Assistant"
message: "Message to KODI from Home Assistant!"
data:
displaytime: 20000
icon: "warning"
```
#### message variables:
- **title** (*Optional*): Title that is displayed on the message.
- **message** (*Required*): Message to be displayed.
- **data** (*Optional*)
- **icon** (*Optional*): Kodi comes with 3 default icons: `info`, `warning` and `error`, an URL to an image is also valid. *Defaults to `info`*
- **displaytime** (*Optional*): Length in milliseconds the message stays on screen. *Defaults to `10000` ms*
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -0,0 +1,38 @@
---
layout: page
title: "Simplepush"
description: "Instructions how to add Simplepush notifications to Home Assistant."
date: 2016-09-11 18:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Notifications
ha_release: 0.29
---
The `simplepush` platform uses [Simplepush](https://simplepush.io/) to delivery notifications from Home Assistant to your Android device.
To add Simplepush to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: simplepush
device_key: ABCDE
```
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`.
- **device_key** (*Required*): The device key of your device.
To test if the service works, just send a message with `curl` from the command-line.
```bash
$ curl 'https://api.simplepush.io/send/device_key/title/message'
```
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -30,6 +30,8 @@ notify:
platform: slack
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
default_channel: '#general'
icon: ':robot_face:'
username: 'Home-Assistant'
```
Configuration variables:
@ -37,6 +39,8 @@ 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*): The slack API token to use for sending slack messages.
- **default_channel** (*Required*): The default channel to post to if no channel is explicitly specified when sending the notification message.
- **username** (*Optional*): Setting username will allow homeassistant to post to slack using the username specified. By default not setting this will post to slack using the user account or botname that you generated the api_key as.
- **icon** (*Optional*): Use one of the slack emoji's as an Icon for the supplied username. Slack uses the standard emoji sets used [here](http://www.webpagefx.com/tools/emoji-cheat-sheet/).
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -0,0 +1,68 @@
---
layout: page
title: "Nuimo controller"
description: "Instructions how to setup and use a Nuimo device in Home Assistant."
date: 2016-08-30 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: nuimo.png
ha_category: Hub
ha_release: 0.29
ha_iot_class: "Local Poll"
---
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).
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:
```
Configuration variables:
- **mac** (*Optional*): Skip discovery and connect to this device address.
- **name** (*Optional*): To handle more than one device by names, add the name of the device.
Example for testing rotation value and sending to the LED matrix:
```yaml
automation Nuimo_rotate_right:
trigger:
platform: event
event_type: nuimo_input
event_data:
type: ROTATE
condition:
condition: template
value_template: {% raw %}'{{ trigger.event.data.value > 100 }}'{% endraw %}
action:
service: nuimo_controller.led_matrix
data:
matrix:
'........
0000000.
.000000.
..00000.
.0.0000.
.00.000.
.000000.
.000000.
........ '
interval: 0.5
```
Troubleshooting:
- use `hcitool lescan` to see the mac address of your device
- allow non-root user access to Bluetooth LE with `sudo setcap cap_net_raw+eip $(eval readlink -f $(which python))`
- install the newest version of [pygattlib](https://bitbucket.org/OscarAcena/pygattlib) from the repository, either because there is no binary package for your system or the pip version contains errors, with `pip install hg+https://bitbucket.org/OscarAcena/pygattlib --target $HOME/.homeassistant/deps`.
(Dependencies of pygattlib: `sudo apt-get install pkg-config libboost-python-dev libboost-thread-dev libbluetooth-dev libglib2.0-dev python-dev`)
Then invoke home-assistant with `hass --skip-pip`.

View File

@ -0,0 +1,119 @@
---
layout: page
title: "OpenAlpr"
description: "Instructions how to integrate licences plates with OpenAlpr into Home Assistant."
date: 2016-09-22 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: openalpr.png
ha_category: Automation
featured: false
ha_release: 0.29
ha_iot_class: "Local Push"
---
[OpenAlpr](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/).
<p class='note'>
If you want use a video stream. You need setup the [ffmpeg](/components/ffmpeg) component. See also there for troubleshooting local ffmpeg installation.
</p>
### {% linkable_title Local installation %}
If you want process all data local you need the command line tool `alpr` in version > 2.3.1
If you don't found binarys for you distribution you can compile from source. A documention how to build a openalpr is found [here](https://github.com/openalpr/openalpr/wiki).
On a debian system you can use this cmake command to build only the command line tool:
```bash
cmake -DWITH_TEST=FALSE -DWITH_BINDING_JAVA=FALSE --DWITH_BINDING_PYTHON=FALSE --DWITH_BINDING_GO=FALSE -DWITH_DAEMON=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/usr
```
### {% linkable_title Configuration Home Assistant %}
```yaml
# Example configuration.yaml entry
openalpr:
engine: local
region: eu
confidence: 80.0
entities:
- name: Camera garage 1
interval: 5
render: ffmpeg
input: INPUT_STREAM
extra_arguments: SOME OTHER FFMPEG STUFF
- name: Camera garage 2
interval: 5
render: image
input: https://camera_ip/still_image.jpg
username: admin
password: bla
```
Configuration variables:
- **engine** (*Required*): `local` or `cloud` for processing
- **region** (*Required*): Country or region. List of Supported [value](https://github.com/openalpr/openalpr/tree/master/runtime_data/config).
- **confidence** (*Optional*): Default 80. The minimum of confidence in percent to process with Home-Assistant.
- **entities** (*Required*): A list of device to add in Home-Assistant.
- **name** (*Optional*): This parameter allows you to override the name of your openalpr entitie.
- **interval** (*Optional*): Default 2. Time in seconds to poll a picture. If the interval is 0 It don't poll and it only process data with `openalpr.scan` service.
- **render** (*Optional*): default is with ffmpeg. How is Home-Assistant to get a picture from. It support `ffmpeg` for video streams and `image` for a still image.
- **input** (*Required*): The source from getting pictures. With ffmpeg it could by all supported input. Image only support a url.
- **extra_arguments** (*Optional*): Only available with ffmpeg.
- **username** (*Optional*): Only available with image for http authentification.
- **password** (*Optional*): Only available with image for http authentification.
### {% linkable_title Configuration Home Assistant local processing %}
```yaml
# Example configuration.yaml entry
openalpr:
engine: local
region: eu
alpr_binary: /usr/bin/alpr
entities:
...
```
Configuration variables:
- **alpr_binary** (*Optional*): Default `alpr`. The command line tool alpr from OpenAlpr software for local processing.
### {% linkable_title Configuration Home Assistant cloud processing %}
```yaml
# Example configuration.yaml entry
openalpr:
engine: local
region: eu
api_key: SK_AAABBBBCCCEEEE
entities:
...
```
Configuration variables:
- **api_key** (*Required*): You need a api key from [OpenAlpr Cloud](https://cloud.openalpr.com/).
#### {% linkable_title Service %}
- `openalpr.scan`: Scan immediately a picture from input.
- `openalpr.restart`: Restart a ffmpeg process
#### {% linkable_title Events %}
```yaml
# Example configuration.yaml automation entry
automation:
- alias: Open garage door
trigger:
platform: event
Event_type: openalpr.found
Event_data:
entity_id: openalpr.camera_garage_1
plate: BE2183423
...
```
This event is trigger after openalpr found a new licence plate.

View File

@ -0,0 +1,74 @@
---
layout: page
title: "Weather data by the Bureau of Meteorology Australia"
description: "Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant."
date: 2016-09-13 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: bom.png
ha_category: Weather
ha_release: 0.29
---
The `bom` platform allows you to get the current weather conditions from the [Bureau of Meteorology (BOM)](http://www.bom.gov.au/) Australia.
- Each sensor will be given the `device_id` of "bom [optionalname] friendlyname units"
- Get the station ID for your local BOM station from the BOM website: State -> Observations -> Latest Observations -> Choose the station
- The URL will look like http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml. This is for Adelaide. The URL is read as: http://www.bom.gov.au/products/[zone_id]/[zone_id].[wmo_id].shtml
- A name is optional but if multiple BOM weather stations are used a name will be required.
- The sensor will update every minute 35 minutes after last data timestamp. This allows for the 30 minute observation cycle and the approximate 5 minute update delay in publishing the data.
To add the BOM weather observation to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: bom
name: "optional name"
zone_id: IDS60801
wmo_id: 94675
monitored_conditions:
- wmo
- name
- history_product
- local_date_time
- local_date_time_full
- aifstime_utc
- lat
- lon
- apparent_t
- cloud
- cloud_base_m
- cloud_oktas
- cloud_type_id
- cloud_type
- delta_t
- gust_kmh
- gust_kt
- air_temp
- dewpt
- press
- press_qnh
- press_msl
- press_tend
- rain_trace
- rel_hum
- sea_state
- swell_dir_worded
- swell_height
- swell_period
- vis_km
- weather
- wind_dir
- wind_spd_kmh
- wind_spd_kt
```
Configuration variables:
- **zone_id** (*Required*): The zone_id as identified from the BOM website.
- **wmo_id** (*Required*): The wmo as identified from the BOM website.
- **name** (*Optional*): The name you would like to give to the weather station.
- **monitored_conditions** (*Required*): A list of the conditions to monitor.

View File

@ -0,0 +1,149 @@
---
layout: page
title: "Emoncms Sensor"
description: "Instructions on how to integrate emoncms feeds as sensors into Home Assistant."
date: 2016-09-08 00:15
logo: emoncms.png
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_release: 0.29
ha_iot_class: "Local Polling"
---
The `emoncms` sensor platform creates sensors for the feeds available in your local or cloud based version of [emoncms](https://emoncms.org).
To enable this sensor, add the following lines to your `configuration.yaml`, it will list all feeds as a sensor:
```yaml
# Example configuration.yaml entry using cloud based emoncms
sensor:
platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
id: 1
```
## {% linkable_title Configuration variables %}
- **api_key** (*Required*): The read api key for your emoncms user.
- **url** (*Required*): The base url of emoncms, use "https://emoncms.org" for the cloud based version.
- **id** (*Required*): Positive Integer identifier for the sensor. Must be unique if you specify multiple emoncms sensors.
- **include_only_feed_id** (*optional*): Positive integer list of emoncms feed id's. Only the feeds with feed id's specified here will be displayed. Can not be specified if `exclude_feed_id` is specified.
- **exclude_feed_id** (*optional*): Positive integer list of emoncms feed id's. All the feeds will be displayed as sensors except the ones listed here. Can not be specified if `include_only_feed_id` is specified.
- **sensor_names** (*optional*): Dictionary of names for the sensors created that are created based on feedid. The dictionary consists of feedid:name pairs. Sensors for feeds with their feedid mentioned here will get the chosen name instead of the default name
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to alter the feed value.
- **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of for all the sensors. default is "W".
## {% linkable_title Default naming scheme %}
The names of the sensors created by this component, will be a combination of static text, `id` from the config and `feedid` from the emoncms feed, unless `sensor_names` is used.
An example name would be "emoncms1_feedid_10"
## {% linkable_title Examples %}
In this section you find some more examples of how this sensor can be used.
```yaml
# Display only feeds with their feed id's specified in "include_only_feed_id"
sensor:
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
id: 1
unit_of_measurement: "W"
include_only_feed_id:
- 107
- 106
- 105
```
```yaml
# Display all feeds except feeds with their feed id specified in "exclude_feed_id"
sensor:
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
id: 1
unit_of_measurement: "KWH"
exclude_feed_id:
- 107
- 106
- 105
```
```yaml
# Display only feeds with their feed id's specified in "include_only_feed_id" and give the feed sensors a name using "sensor_names". You don't have to specify all feeds names in "sensor_names", the remaining sensor names will be chosen based on "id" and the emoncms feedid
sensor:
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
id: 1
unit_of_measurement: "KW"
include_only_feed_id:
- 5
- 18
- 29
- 48
- 61
- 110
- 116
- 120
sensor_names:
5: "feed 1"
18: "feed 2"
29: "feed 3"
48: "kwh feed"
61: "amp feed"
110: "watt feed"
```
```yaml
# Use a "value_template" to add 1500 to the feed value for all specified feed id's in "include_feed_id"
sensor:
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
scan_interval: 15
id: 1
value_template: {% raw %}"{{ value | float + 1500 }}"{% endraw %}
include_only_feed_id:
- 107
- 106
- 105
- 61
```
```yaml
# Display feeds from the same emoncms instance with 2 groups of feeds, diffrent scan_interval and a diffrent unit_of_measurement
sensor:
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
scan_interval: 30
id: 1
unit_of_measurement: "W"
include_only_feed_id:
- 107
- 106
- 105
- platform: emoncms
api_key: put your emoncms read api key here
url: https://emoncms.org
id: 2
scan_interval: 60
unit_of_measurement: "A"
include_only_feed_id:
- 108
- 109
- 110
- 61
```

View File

@ -9,6 +9,7 @@ sharing: true
footer: true
ha_category: Sensor
ha_release: 0.25
ha_iot_class: "Local Polling"
---

View File

@ -0,0 +1,47 @@
---
layout: page
title: "IMAP Email Content"
description: "Instructions how to integrate IMAP email content sensor into Home Assistant."
date: 2016-09-09 12:30
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_release: 0.25
---
The `imap_email_content` sensor platform will read emails from an IMAP email server and report them as a state change within Home Assistant. This is useful if you have a device that only reports its state via email.
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
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:
- **server** (*Required*): The IP address or hostname of the IMAP server.
- **port** (*Required*): The port where the server is accessible.
- **name** (*Optional*): Name of the IMAP sensor to use in the frontend.
- **username** (*Required*): Username for the IMAP server.
- **password** (*Required*): Password for the IMAP server.
- **senders** (*Required*): A list of sender email addresses that are allowed to report state via email. Only emails recieved from these addresses will be processed.
- **value_template** (*Optional*): If specified this template will be used to render the state of sensor. If a template is not supplied the raw message body will be used for the sensor value. The following attributes will be supplied to the template:
* **from**: The from address of the email
* **body**: The body of the email
* **subject**: The subject of the email
* **date**: The date and time the email was sent

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Sensor"
description: "Instructions how to integrate ISY994 sensors into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Sensor
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) sensor from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -0,0 +1,55 @@
---
layout: page
title: "KNX Sensor"
description: "Instructions on how to use the KNX Sensor with Home Assistant."
date: 2016-08-20 22:24
sidebar: true
comments: false
sharing: true
footer: true
logo: knx.png
ha_category: DIY
ha_release: 0.29
---
The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors.
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
There is currently support for the following KNX data point types:
| Condition | KNX Datapoint Type | Unit of measurement | Data type |
| :-------------------|:--------------------|:--------------------|:-------------|
| Temperature | 9.001 | °C | 2 Byte Float |
| Speed (Wind speed) | 9.005 | m/s | 2 Byte Float |
| Illuminance (Lux) | 9.004 | Lux | 2 Byte Float |
To use your KNX sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: knx
name: knxweather_temp
type: temperature
address: 1/0/3
- platform: knx
name: knxweather_wind
type: speed_ms
address: 1/0/0
- platform: knx
name: knxweather_lux
type: illuminance
address: 1/0/1
```
Configuration variables:
- **type** (*Required*): The type of the sensor. See table above for available options.
- **address** (*Required*): The address of the sensor on the bus.
- **name** (*Optional*): The name to use in the frontend.
- **minimum** (*Optional*): Minimum sensor value who gets processed. Defaults to a hardcoded default values.
- **maxmimum** (*Optional*): Maxmimum sensor value who gets processed. Defaults to a hardcoded default.

View File

@ -0,0 +1,44 @@
---
layout: page
title: "Mi Flora plant sensor"
description: "Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant."
date: 2016-09-19 12:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: DIY
ha_release: 0.29
ha_iot_class: "Local Polling"
---
The [Mi Flora plant sensor](https://www.open-homeautomation.com/2016/08/23/reverse-engineering-the-mi-plant-sensor/) is a small Bluetooth Low Energy device that monitors not only the moisture, but also light, temperature and
conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor
platform: miflora
mac: xx:xx:xx:xx:xx:xx
name: Flower 1
force_update: false
median: 3
monitored_conditions:
- moisture
- light
- temperature
- conductivity
```
- **mac** (*Required*): The MAC address of your sensor. You can find this be running `hcitool lescan` from command line.
- **name** (*Optional*): The name displayed in the frontend.
- **force_update** (*Optional*): Sends update events even if the value hasn't changed.
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last
3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes.
If you never have problems with spikes, median=1 will work fine.
- **monitored_conditions** (*Required*): The paramaters that should be monitored.
Note that by default the sensor is only polled once every 15 minutes. This means with the median=3 setting, it will take as least 30 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
Reducing polling intervals will have a negative effect on the battery life.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Modbus Sensor"
title: Modbus Sensor
description: "Instructions how to integrate Modbus sensors into Home Assistant."
date: 2015-08-30 23:38
sidebar: true
@ -13,7 +13,7 @@ ha_release: pre 0.7
---
The `modbus` sensor platform allows you to gather data from your [Modbus](http://www.modbus.org/) sensors.
The `modbus` sensor allows you to gather data from [Modbus](http://www.modbus.org/) registers.
To use your Modbus sensors in your installation, add the following to your `configuration.yaml` file:
@ -21,35 +21,33 @@ To use your Modbus sensors in your installation, add the following to your `conf
# Example configuration.yml entry
sensor:
platform: modbus
slave: 1
registers:
16:
name: My integer sensor
unit: C
24:
bits:
0:
name: My boolean sensor
2:
name: My other boolean sensor
coils:
0:
name: My coil switch
- name: Sensor1
unit_of_measurement: °C
slave: 1
register: 100
- name: Sensor2
unit_of_measurement: mg
slave: 1
register: 110
count: 2
- name: Sensor3
unit_of_measurement: °C
slave: 1
register: 120
scale: 0.01
offset: -273.16
precision: 2
```
Configuration variables:
- **slave** (*Required*): The number of the slave (ignored and can be omitted if not serial Modbus).
- **registers** array (*Required*): The array contains a list of relevant registers to read from.
- **number of register** (*Required*): Listing relevant bits. It must contain a `bits` section.
- **bits** array (*Required*): Listing relevant bits. It must contain a `bits` section.
- **name** (*Required*): Name of the sensor.
- **unit** (*Required*): Unit to attach to value (optional, ignored for boolean sensors).
- **coils** (*Optional*): A list of relevant coils to read from/write to
- **number of coil** array (*Required*):
- **name** (*Required*): Name of the coil.
<p class='note warning'>
Each named register will create an integer sensor and each named bit will create a boolean sensor.
</p>
- **name** (*Required*): Name of the sensor.
- **slave** (*Required*): The number of the slave (Optional for tcp and upd Modbus).
- **register** (*Required*): Register number.
- **unit_of_measurement** (*Optional*): Unit to attach to value.
- **count** (*Optional*): Number of registers to read.
- **scale** (*Optional*): Scale factor (output = scale * value + offset), default 1
- **offset** (*Optional*): Final offset (output = scale * value + offset), default 0
- **precision** (*Optional*): Number of valid decimals, default 0

View File

@ -26,6 +26,7 @@ sensor:
name: 'Cool device'
state_topic: 'room_presence'
timeout: 5
away_timeout: 60
```
Configuration variables:
@ -34,6 +35,7 @@ Configuration variables:
- **name** (*Optional*): The name of the sensor.
- **state_topic** (*Optional*): The topic that contains all subtopics for the rooms.
- **timeout** (*Optional*): The time in seconds after which a room presence state is considered old. An example: device1 is reported at scanner1 with a distance of 1. No further updates are sent from scanner1. After 5 secoonds scanner2 reports device with a distance of 2. The old location info is discarded in favor of the new scanner2 information as the timeout has passed.
- **away_timeout** (*Optional*): The time in seconds after which the state should be set to `away` if there were no updates. `0` disables the check and is the default.
Example JSON that should be published to the room topics:

View File

@ -0,0 +1,16 @@
---
layout: page
title: "SleepIQ Sensor"
description: "Instructions for how to integrate SleepIQ sensors within Home Assistant."
date: 2016-08-28 8:56
sidebar: true
comments: false
sharing: true
footer: true
logo: sleepiq
ha_category: Sensor
ha_release: 0.29
ha_iot_class: "Local Polling"
---
To get your SleepIQ sensors working with Home Assistant, follow the instructions for the general [SleepIQ component](/components/sleepiq/).

View File

@ -0,0 +1,46 @@
---
layout: page
title: "Yahoo Finance"
description: "Instructions how to setup Yahoo Finance within Home Assistant."
date: 2016-09-18 21:00
sidebar: true
comments: false
sharing: true
footer: true
logo: yahoo_finance.png
ha_category: Finance
ha_iot_class: "Cloud Polling"
featured: false
ha_release: 0.29
---
The `yahoo_finance` platform uses [Yahoo Finance](https://finance.yahoo.com/) to monitor the stock market.
To enable the `yahoo_finance` platform, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: yahoo_finance
name: Red Hat Inc.
symbol: RHT
```
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:
```yaml
# Example configuration.yaml entry
sensor:
- platform: yahoo_finance
name: Red Hat Inc.
symbol: RHT
- platform: yahoo_finance
name: Google
symbol: GOOGL
```

View File

@ -0,0 +1,32 @@
---
layout: page
title: "SleepIQ"
description: "Instructions for how to integrate SleepIQ beds within Home Assistant."
date: 2016-08-28 8:56
sidebar: true
comments: false
sharing: true
footer: true
logo: sleepiq
ha_category: Hub
ha_release: 0.29
ha_iot_class: "Local Polling"
---
The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](http://www.sleepnumber.com/sn/en/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed.
You will need an account on [SleepIQ](https://sleepiq.sleepnumber.com/) to use this component.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sleepiq:
username: you@example.com
password: omgsecure
```
Configuration variables:
- **username** (*Required*): Your SleepIQ username (usually an email address).
- **password** (*Required*): Your SleepIQ password.

View File

@ -0,0 +1,17 @@
---
layout: page
title: "ISY994 Switch"
description: "Instructions how to integrate ISY994 switch into Home Assistant."
date: 2016-09-03 23:00
sidebar: true
comments: false
sharing: true
footer: true
logo: universal_devices.png
ha_category: Switch
ha_iot_class: "Local Push"
---
The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) switch from within Home Assistant.
They will be automatically discovered if the isy994 component is loaded.

View File

@ -13,7 +13,7 @@ ha_release: pre 0.7
---
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) switches.
The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils.
To use your Modbus switches in your installation, add the following to your `configuration.yaml` file:
@ -22,30 +22,18 @@ To use your Modbus switches in your installation, add the following to your `con
switch:
platform: modbus
slave: 1
registers:
24:
bits:
0:
name: My switch
2:
name: My other switch
coils:
0:
name: My coil switch
- name: Switch1
slave: 1
coil: 13
- name: Switch2
slave: 2
coil: 14
```
Configuration variables:
- **slave** (*Required*): The number of the slave (ignored and can be omitted if not serial Modbus).
- **registers** array (*Required*): The array contains a list of relevant registers to read from.
- **number of register** (*Required*): Listing relevant bits. It must contain a `bits` section.
- **bits** array (*Required*): Listing relevant bits. It must contain a `bits` section.
- **name** (*Required*): Name of the switch.
- **coils** (*Optional*): A list of relevant coils to read from/write to
- **number of coil** array (*Required*):
- **name** (*Required*): Name of the coil.
<p class='note warning'>
Each named bit will create a switch.
</p>
- **slave** (*Required*): The number of the slave (can be omitted for tcp and udp Modbus).
- **name** (*Required*): Name of the sensor
- **coil** (*Required*): Coil number

View File

@ -48,7 +48,7 @@
<li>
{% active_link /getting-started/z-wave/ Z-Wave %}
<ul>
<li>{% active_link /getting-started/z-wave-controllers/ USB Controllers %}</li>
<li>{% active_link /getting-started/z-wave-controllers/ Controllers %}</li>
<li>{% active_link /getting-started/z-wave-settings/ Modifying Settings %}</li>
<li>{% active_link /getting-started/z-wave-device-specific/ Device Specific %}</li>
</ul>

0
source/_posts/2016-08-16-we-have-apps-now.markdown Executable file → Normal file
View File

View File

@ -0,0 +1,149 @@
---
layout: post
title: "0.29: 🎈 Async, SleepIQ, OpenALPR, EmonCMS, stocks, and plants"
description: "Move to asynchronous, Support for SleepIQ, OpenALPR, and EmonCMS, and other goodies."
date: 2016-09-29 03:04:05 +0000
date_formatted: "September 24, 2016"
author: Paulus Schoutsen & Fabian Affolter
author_twitter: balloob
comments: true
categories: Release-Notes
---
Two weeks ago, September 17 marked our 3 year anniversary. In this time Home Assistant managed to grow from a simple script that turned on my lights when the sun set to a kick ass open source project with the best community an open-source project could wish for. This release contains features, bug fixes and performance tweaks by a total of **50** different people! We have also managed to cross the 1000 forks on GitHub. Talking about momentum!
This is a big release as we've completely overhauled the internals of Home Assistant. When I initially wrote Home Assistant, still figuring out the ins and outs of Python, I went for an approach that I was familiar with for an application with many moving parts: threads and locks. This approach has served us well over the years but it was slower than it needed to be, especially on limited hardware.
This all changed when [@bbangert] came around and took on the tough job to migrate the core over to use asynchronous programming. He did an amazing job and I am happy to say that the initial port has been done and is included in this release! On top of that, we have been able to keep our simple and straightforward API at the same time. We are still in the process of migrating more and more components over to the asynchronous API, so expect more speedups and awesome features in the upcoming releases.
### {% linkable_title SleepIQ and OpenALPR %}
There now is support for two new super cool things: Beds and license plates. [@technicalpickles] created a [SleepIQ] component that let you monitor the sensor data of your bed. [@pvizeli] has added license plate recognition based on [OpenALPR]! This means that you can now be notified about which car is parked on your driveway or in your garage. I also would like to use this opportunity to give a big shoutout to [@pvizeli] for being such an awesome member of our community. He joined us at the end of June and has helped crush bugs and add awesome features ever since (65 pull requests already!).
### {% linkable_title Configuration validation %}
On the voluptuous front we have also made great progress. We were able to fully remove the legacy config helpers and have migrated 323 of the 346 components and platforms that needed migrating! This does mean that for some components the configuration has slightly changed, make sure to check out the breaking changes section at the bottom for more info. Thanks everybody for reviewing the Pull requests, testing the changes, and reporting issues.
### {% linkable_title Delayed Release %}
As you might have noticed, this release has been delayed by 5 days. This was due to a rare, difficult to reproduce problem with the Python interpreter. A huuuuge thanks to all the people that have helped countless hours in researching, debugging and fixing this issue: [@bbangert], [@turbokongen], [@lwis], [@kellerza], [@technicalpickles], [@pvizeli], [@persandstrom] and [@joyrider3774]. I am grateful to have all of you as part of the Home Assistant community.
### {% linkable_title All changes %}
<img src='/images/supported_brands/emoncms.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/sleepiq.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/openalpr.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' />
- Convert core from thread-based to be async-based ([@bbangert], [@balloob])
- New [SleepIQ] support ([@technicalpickles])
- Cover: [Vera] is now supported ([@pavoni])
- Climate: Vera [climate] devices are now supported ([@robjohnson189])
- Climate: [MySensors] is now supported ([@kaustubhphatak])
- Control Home Assistant with [keyboard shortcuts][keyboard_remote] ([@deisi])
- More voluptuous config validations ([@fabaff], [@kellerza], [@balloob])
- New [Nuimo] controller support added ([@gross1989])
- Sensor: [BOM] Weather component ([@tinglis1])
- Automation: Option added to hide entity ([@milaq])
- Sensor: [Emoncms] feeds now supported ([@joyrider])
- Sensor: Mi Flora [plant] sensor now supported ([@open-homeautomation])
- Logbook: Allow [filtering] entities and hide hidden entities ([@wokar])
- Notify: [Kodi] support added ([@chrom3])
- Notify: Support for [Simplepush] added ([@fabaff])
- Sensor: [KNX] sensors now supported ([@daBONDi])
- [Wink] improvements ([@w1ll1am23])
- [ISY] improvements ([@Teagan42])
- Link to relevant docs in config validation error messages ([@fabaff])
- Greatly improve the performance of templates ([@balloob], [@pvizeli])
- Notify - [Slack]: Support for username/icon ([@Khabi])
- MQTT room detection: Away [timeout] now supported ([@mKeRix])
- Climate: [Nest] can now control the fan ([@jawilson])
- Modbus: Major cleanup for [Modbus] switches and sensors ([@persandstrom])
- HTTP: Allow [passwordless] logins from whitelisted IP addresses ([@Danielhiversen])
- Sensor: Yahoo! Finance [stocks] now supported ([@tchellomello])
- Sensor: Set value based on incoming [email] ([@sam-io])
- Light: White value now supported ([@mxtra], [@MartinHjelmare])
- [InfluxDB] now allows attaching extra data ([@lwis])
- [OpenALPR] support ([@pvizeli])
- Minor features and bug fixes by [@fabaff], [@w1ll1am23], [@turbokongen], [@clach04], [@mKeRix], [@pvizeli], [@DavidLP], [@nvella], [@Teagan42], [@ericwclymer], [@wokar], [@kellerza], [@nkgilley], [@jawilson], [@Danielhiversen], [@ej81], [@danieljkemp], [@balloob], [@philhawthorne], [@LinuxChristian], [@milas], [@simonszu], [@Cinntax], [@irvingwa], [@sytone], [@kk7ds], [@robbiet480].
### {% linkable_title Breaking changes %}
- `yahooweather` default name is now `yweather`. Also min and max temperature are now correctly called `Temperature Min` and `Temperature Max`.
- `ffmpeg` is now a component for manage some things central. All `ffmpeg_bin` options have moved to this compoment from platforms.
- Config has changed for [X10] lights.
### {% 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.
[@joyrider3774]: https://github.com/joyrider3774
[@balloob]: https://github.com/balloob
[@bbangert]: https://github.com/bbangert
[@chrom3]: https://github.com/chrom3
[@Cinntax]: https://github.com/Cinntax
[@clach04]: https://github.com/clach04
[@daBONDi]: https://github.com/daBONDi
[@Danielhiversen]: https://github.com/Danielhiversen
[@danieljkemp]: https://github.com/danieljkemp
[@DavidLP]: https://github.com/DavidLP
[@deisi]: https://github.com/deisi
[@ej81]: https://github.com/ej81
[@ericwclymer]: https://github.com/ericwclymer
[@fabaff]: https://github.com/fabaff
[@gross1989]: https://github.com/gross1989
[@irvingwa]: https://github.com/irvingwa
[@jawilson]: https://github.com/jawilson
[@joyrider]: https://github.com/joyrider
[@kaustubhphatak]: https://github.com/kaustubhphatak
[@kellerza]: https://github.com/kellerza
[@Khabi]: https://github.com/Khabi
[@kk7ds]: https://github.com/kk7ds
[@LinuxChristian]: https://github.com/LinuxChristian
[@lwis]: https://github.com/lwis
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@milaq]: https://github.com/milaq
[@milas]: https://github.com/milas
[@mKerix]: https://github.com/mKerix
[@mxtra]: https://github.com/mxtra
[@nkgilley]: https://github.com/nkgilley
[@nvella]: https://github.com/nvella
[@open-homeautomation]: https://github.com/open-homeautomation
[@pavoni]: https://github.com/pavoni
[@persandstrom]: https://github.com/persandstrom
[@philhawthorne]: https://github.com/philhawthorne
[@pvizeli]: https://github.com/pvizeli
[@robbiet480]: https://github.com/robbiet480
[@robjohnson189]: https://github.com/robjohnson189
[@sam-io]: https://github.com/sam-io
[@simonszu]: https://github.com/simonszu
[@sytone]: https://github.com/sytone
[@tchellomello]: https://github.com/tchellomello
[@Teagan42]: https://github.com/Teagan42
[@technicalpickles]: https://github.com/technicalpickles
[@tinglis1]: https://github.com/tinglis1
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
[@wokar]: https://github.com/wokar
[BOM]: /components/sensor.bom/
[climate]: /components/climate.vera/
[email]: /components/sensor.imap_email_content/
[Emoncms]: /components/sensor.emoncms/
[filtering]: /components/logbook/
[InfluxDB]: /components/influxdb/
[ISY]: /components/isy994/
[KNX]: /components/sensor.knx/
[Kodi]: /components/notify.kodi/
[Modbus]: /components/modbus/
[Nest]: /components/fan.nest/
[Nuimo]: /components/nuimo_controller/
[OpenALPR]: /components/openalpr/
[passwordless]: /components/http/
[Simplepush]: /components/notify.simplepush/
[Slack]: /components/notify.slack/
[SleepIQ]: /components/sleepiq/
[stocks]: /components/sensor.yahoo_finance/
[timeout]: /components/sensor.mqtt_room/
[Vera]: /components/cover.vera/
[Wink]: /components/wink/
[plant]: /components/sensor.miflora/
[MySensors]: /components/climate.mysensors/
[keyboard_remote]: /components/keyboard_remote
[X10]: /components/light.x10/

View File

@ -50,6 +50,7 @@ This page contains a list of people who have contributed in one way or another t
- [Charles Spirakis](https://github.com/srcLurker)
- [Chris Mulder](https://github.com/chrisvis)
- [Christian Braedstrup](https://github.com/LinuxChristian)
- [chrom3](https://github.com/chrom3)
- [Corban Mailloux](https://github.com/corbanmailloux)
- [coteyr](https://github.com/coteyr/)
- [Dale Higgs](https://github.com/dale3h)
@ -87,6 +88,7 @@ This page contains a list of people who have contributed in one way or another t
- [Geoff Norton](https://github.com/kangaroo)
- [goir](https://github.com/goir)
- [Greg Dowling](https://github.com/pavoni)
- [gross1989](https://github.com/gross1989)
- [Guillem Barba](https://github.com/gbarba)
- [Gustav Ahlberg](https://github.com/Gyran)
- [gwendalg](https://github.com/gwendalg)
@ -123,11 +125,13 @@ This page contains a list of people who have contributed in one way or another t
- [Joseph Piron](https://github.com/eagleamon)
- [Josh Nichols](https://github.com/technicalpickles)
- [Josh Wright](https://github.com/JshWright/)
- [joyrider](https://github.com/joyrider)
- [Juggels](https://github.com/Juggels)
- [Julien Danjou](https://github.com/jd)
- [Justin Moy](https://github.com/justincmoy)
- [Justyn Shull](https://github.com/justyns/)
- [Karen Goode](https://github.com/kfgoode)
- [kaustubhphatak](https://github.com/kaustubhphatak)
- [Keaton Taylor](https://github.com/keatontaylor)
- [kennedyshead](https://github.com/kennedyshead)
- [Kevin Gottsman](https://github.com/gottsman)
@ -142,6 +146,7 @@ This page contains a list of people who have contributed in one way or another t
- [Malte Deiseroth](https://github.com/deisi)
- [Manoj](https://github.com/vmulpuru)
- [Marcelo Moreira de Mello](https://github.com/tchellomello)
- [Marc Pabst](https://github.com/mxtra)
- [Markus Peter](https://github.com/bimbar)
- [Markus Stenberg](https://github.com/fingon)
- [Martin Hjelmare](https://github.com/MartinHjelmare)
@ -177,12 +182,14 @@ 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 Johnson](https://github.com/robjohnson189)
- [Rob Olimpiu](https://github.com/olimpiurob)
- [Roi Dayan](https://github.com/roidayan)
- [Rowan Hine](https://github.com/GreenTurtwig)
- [rubund](https://github.com/rubund)
- [Ryan Kraus](https://github.com/rmkraus)
- [Ryan Turner](https://github.com/ryanturner)
- [sam-io](https://github.com/sam-io)
- [sander76](https://github.com/sander76)
- [schneefux](https://github.com/schneefux)
- [Scott O'Neil](https://github.com/americanwookie)
@ -198,6 +205,7 @@ This page contains a list of people who have contributed in one way or another t
- [Theodor Lindquist](https://github.com/theolind)
- [tilutza](https://github.com/tilutza)
- [Tim Harton](https://github.com/timharton)
- [Tim](https://github.com/tinglis1)
- [Tobie Booth](https://github.com/tobiebooth)
- [toddeye](https://github.com/toddeye)
- [Tom Duijf](https://github.com/tomduijf)

0
source/font/fontawesome-webfont.eot Executable file → Normal file
View File

0
source/font/fontawesome-webfont.svg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 193 KiB

0
source/font/fontawesome-webfont.ttf Executable file → Normal file
View File

0
source/font/fontawesome-webfont.woff Executable file → Normal file
View File

View File

@ -41,9 +41,27 @@ homeassistant:
| --------- | ----------- |
| friendly_name | Name of the entity
| hidden | Set to `true` to hide the entity.
| entity_picture | url to use as picture for entity
| entity_picture | Url to use as picture for entity
| icon | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com). Prefix name with `mdi:`, ie `mdi:home`.
| assumed_state | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon.
| sensor_class | Sets the class of the sensor, changing the device state and icon that is displayed on the UI (see below).
| sensor_class | Description |
| ------------ | ----------- |
| cold | On means cold (or too cold) |
| connectivity | On meanse connection present, Off means no connection
| gas | CO, CO2, etc. |
| heat | On means hot (or too hot) |
| light | Lightness threshold |
| moisture | Specifically a wetness sensor |
| motion | Motion sensor |
| moving | On means moving, Off means stopped |
| opening | Door, window, etc. |
| power | Power, over-current, etc. |
| safety | On meanse unsafe, Off means safe |
| smoke | Smoke detector |
| sound | On means sound detected, Off meanse no sound |
| vibration | On means vibration detected, Off meanse no vibration |
### {% linkable_title Reloading customize %}

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Z-Wave USB Controllers"
title: "Z-Wave Controllers"
description: "Extended instructions how to setup Z-Wave."
date: 2016-03-24 08:49 -0700
sidebar: true
@ -12,15 +12,16 @@ footer: true
Z-Wave is a popular home automation protocol that is not always straightforward to setup. This page will try to help you make sense of it all.
<p class='note'>
Upon first run, the z-wave component will take time to initialize entities and entities may appear with incomplete names. Running a network heal may expidite this proccess.
Upon first run, the `zwave` component will take time to initialize entities and entities may appear with incomplete names. Running a network heal may expidite this proccess.
</p>
## {% linkable_title Supported Z-Wave Sticks %}
## {% linkable_title Supported Z-Wave USB Sticks & Hardware Modules %}
| Device | Works on Linux | Works on Windows | Works on OSX |
|-------------------------|----------------|------------------|--------------|
| Aeotec Z-Stick Series 2 | &#10003; | | |
| Aeotec Z-Stick Series 5 | &#10003; | | |
| Pine64 Z-Wave Module | &#10003; | | |
| Razberry GPIO Module | &#10003; | | |
| ZWave.me UZB1 | &#10003; | | |
@ -29,3 +30,4 @@ Upon first run, the z-wave component will take time to initialize entities and e
The alternative to a stick is a hub that supports Z-Wave. Home Assistant supports the following hubs with Z-Wave support:
- [Vera](/components/vera/)
- [Wink](/components/wink/)

View File

@ -11,16 +11,16 @@ 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`. 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.
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.
##### {% linkable_title Locks and other secure devices %}
These devices require a network key to be set for the zwave network before they are paired. This key is set in OpenZwave's `options.xml` which is located in Open Zwave'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.
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 Open Zwave Control Panel or other Zwave tool that can show you logs while pairing. Test the device before you save the configuration.
Make sure you copy the newly saved `zwcfg_[home_id].xml`into your HomeAssistant config directory.
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.
Make sure you copy the newly saved `zwcfg_[home_id].xml`into your Home Assistant configuration directory.
##### {% linkable_title Aeon Minimote %}

View File

@ -9,13 +9,13 @@ sharing: true
footer: true
---
You may wish to modify the Z-Wave settings in your `ozw*.xml` file stored in the `.homeassistant` directory, or certain situations/devices may require it (i.e. Aeon Multisensor 6). To do this, utilize [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel). Alternatively, use [Domoticz](https://www.domoticz.com/), which incorporates the Open-Zwave Control Panel project into an easy to use Raspberry Pi image.
You may wish to modify the Z-Wave settings in your `ozw*.xml` file stored in the `.homeassistant` configuration directory, or certain situations/devices may require it (i.e. Aeon Multisensor 6). To do this, utilize [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel). Alternatively, use [Domoticz](https://www.domoticz.com/), which incorporates the Open-Zwave Control Panel project into an easy to use Raspberry Pi image.
The reasoning for using these tools is that your Z-Wave controller stores the values and data that are used to control the network. The XML file in the `.homeassistant` folder acts as a settings/values cache for the Z-Wave network, so modifying it directly won't change the network values. The Open-Zwave Control Panel writes values directly to the network and will provide you with an updated `.xml` file to overwrite in your `.homeassistant` folder. This is the most foolproof way to make modifications to your Z-Wave devices.
The reasoning for using these tools is that your Z-Wave controller stores the values and data that are used to control the network. The XML file in the `.homeassistant` configuration directory acts as a settings/values cache for the Z-Wave network, so modifying it directly won't change the network values. The [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel) writes values directly to the network and will provide you with an updated `.xml` file to overwrite in your `.homeassistant` configuration directory. This is the most foolproof way to make modifications to your Z-Wave devices.
Although totally normal for your Z-Wave stick (Aeon Aeotec Z-Stick Gen5 for example) to cycle through its LEDs (Yellow, Blue and Red) while plugged into your system. If you don like this behaviour then you could turn it off.
Use the following commands from a terminal session to your Pi where your Z-Wave stick is connected as an example.
Use the following commands from a terminal session on your Pi where your Z-Wave stick is connected as an example.
Turn off "Disco lights":

View File

@ -9,9 +9,9 @@ sharing: true
footer: true
---
[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) to be plugged into the host.
[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) to be plugged into the host.
There is currently support for switches, lights and sensors. All will be picked up automatically after configuring this platform.
There is currently support for climate, covers, lights, locks, sensors, switches and thermostats. All will be picked up automatically after configuring this platform.
### {% linkable_title Installation %}
@ -68,13 +68,13 @@ zwave:
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 Open Z-Wave configuration files.
- **autoheal** (*Optional*): Allows disabling auto ZWave heal at midnight. Defaults to True.
- **config_path** (*Optional*): The path to the Python OpenZWave configuration files.
- **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:
- **polling_intensity** (*Optional*): Enables polling of a value and sets the frequency of polling (0=none, 1=every time through the list, 2-every other time, etc). If not specified then your device will not be polled.
To find the path of your Z-Wave stick, run:
To find the path of your Z-Wave USB stick or module, run:
```bash
$ ls /dev/ttyUSB*
@ -86,6 +86,12 @@ Or, on some other systems (such as Raspberry Pi), use:
$ ls /dev/ttyACM*
```
Or, on some other systems (such as Pine 64), use:
```bash
$ ls /dev/ttyS*
```
Or, on macOS, use:
```bash
@ -98,9 +104,9 @@ Depending on what's plugged into your USB ports, the name found above may change
### {% linkable_title Adding Security Devices %}
Security Z-Wave devices require a network key before being added to the network using the zwave.add_node_secure service. You must edit the options.xml file, located in your python-openzwave config_path to use a network key before adding these devices.
Security Z-Wave devices require a network key before being added to the network using the `zwave.add_node_secure` service. You must edit the `options.xml` file, located in your `python-openzwave config_path` to use a network key before adding these devices.
Edit your options.xml file:
Edit your `options.xml` file:
```bash
<!-- <Option name="NetworkKey" value="0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 0x10" /> -->
@ -110,52 +116,52 @@ Uncomment the line:
<Option name="NetworkKey" value="0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10" />
```
You can replace these values with your own 16 byte network key. For more information on this process see the [Open-Zwave](https://github.com/OpenZWave/open-zwave) wiki article [Adding Security Devices to OZW](https://github.com/OpenZWave/open-zwave/wiki/Adding-Security-Devices-to-OZW)
You can replace these values with your own 16 byte network key. For more information on this process see the [OpenZwave](https://github.com/OpenZWave/open-zwave) wiki article [Adding Security Devices to OZW](https://github.com/OpenZWave/open-zwave/wiki/Adding-Security-Devices-to-OZW)
### {% linkable_title Events %}
#### {% linkable_title zwave.network_complete %}
HomeAssistant will trigger a event when the zwave 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.
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
- alias: ZWave network is complete
- alias: Z-Wave network is complete
trigger:
platform: event
event_type: zwave.network_complete
```
#### {% linkable_title zwave.network_ready %}
HomeAssistant will trigger a event when the zwave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` HomeAssistant will feel sluggish when trying to send commands to zwave 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.
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
- alias: ZWave network is ready
- alias: Z-Wave network is ready
trigger:
platform: event
event_type: zwave.network_ready
```
#### {% linkable_title zwave.network_start %}
HomeAssistant will trigger a event when the zwave network is set up to be started.
Home Assistant will trigger a event when the Z-Wave network is set up to be started.
```yaml
- alias: ZWave network is starting
- alias: Z-Wave network is starting
trigger:
platform: event
event_type: zwave.network_start
```
#### {% linkable_title zwave.network_stop %}
HomeAssistant will trigger a event when the zwave network stopping.
Home Assistant will trigger a event when the Z-Wave network stopping.
```yaml
- alias: ZWave network is stopping
- alias: Z-Wave network is stopping
trigger:
platform: event
event_type: zwave.network_stop
```
#### {% linkable_title zwave.node_event %}
HomeAssistant will trigger a event when command_class_basic changes value on a node.
Home Assistant will trigger a event when command_class_basic changes value on a node.
This can be virtually anything, so tests have to be made to determine what value equals what.
You can use this for automations.
@ -173,7 +179,7 @@ Example:
The *object_id* and *basic_level* of all triggered events can be seen in the console output.
**zwave.scene_activated**
#### {% 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
@ -192,21 +198,22 @@ The *object_id* and *scene_id* of all triggered events can be seen in the consol
### {% linkable_title Services %}
The Z-Wave component exposes seven services to help maintain the network.
The `zwave` component exposes ten services to help maintain the network.
| Service | Description |
| ------- | ----------- |
| add_node | Put the zwave controller in inclusion mode. Allows one to add a new device to the zwave network.|
| add_node_secure | Put the zwave controller in secure inclusion mode. Allows one to add a new device with secure communications to the zwave network. |
| cancel_command | Cancels a running zwave 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 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 zwave controller in exclusion mode. Allows one to remove a device from the zwave network.|
| add_node | Put the Z-Wave controller in inclusion mode. Allows one to add a new device to the Z-Wave network.|
| add_node_secure | Put the Z-Wave controller in secure inclusion mode. Allows one to add a new device with secure communications to the Z-Wave 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.|
| 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.|
| test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead".|
| rename_node | Sets a node's name. Requires an `entity_id` and `name` field. |
The soft_reset and heal_network commands can be used as part of an automation script
to help keep a zwave network running relliably. For example:
The `soft_reset` and `heal_network` commands can be used as part of an automation script to help keep a Z-Wave network running reliably as shown in the example below. By default, Home Assistant will run a `heal_network` at midnight. This is a configuration option for the `zwave` component, the option defaults to `true` but can be disabled by setting `auto_heal` to false. Using the `soft_reset` function with some Z-Wave controllers can cause the Z-Wave network to hang. If you're having issues with your Z-Wave network try disabling this automation.
```yaml
# Example configuration.yaml automation entry

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

0
source/images/supported_brands/aws_lambda.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

0
source/images/supported_brands/aws_sns.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
source/images/supported_brands/aws_sqs.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

0
source/images/supported_brands/uber.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -15,11 +15,11 @@ hide_github_edit: true
<div class="grid">
<div class="grid__item one-third lap-one-third palm-one-whole">
<div class='current-version material-card text'>
<h1>Current Version: 0.28.2</h1>
Released: <span class='release-date'>September 13, 2016</span>
<h1>Current Version: 0.29</h1>
Released: <span class='release-date'>September 29, 2016</span>
<div class='links'>
<a href='/blog/2016/09/10/notify-group-reload-api-pihole/'>Release notes</a>
<a href='/blog/2016/09/28/async-sleepiq-emoncms-stocks'>Release notes</a>
</div>
</div>
<div class='join-community material-card text'>