Merge pull request #557 from arsaboo/patch-4

Added information about voltage sensor
This commit is contained in:
Paulus Schoutsen 2016-06-12 17:43:01 -07:00 committed by GitHub
commit 05907b83a5
32 changed files with 697 additions and 494 deletions

View file

@ -19,8 +19,8 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: apcupsd
name: UPS Online
platform: apcupsd
name: UPS Online
```
Configuration variables:

View file

@ -31,6 +31,7 @@ Configuration variables:
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
- **warnings** (*Optional*): Turn off warnings (useful if the sensor is loaded before devices it depends on).
- **entity_id** (*Optional*): Add a list of entity_ids so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update it's state.
## {% linkable_title Examples %}

View file

@ -32,7 +32,7 @@ Configuration variables:
- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
### {% linkable_title Using Owntracks with other device trackers %}
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last.
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last. The naming convention for known device list is `<username>_<device-id>` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/).
### {% linkable_title Using Owntracks regions %}
Owntracks can track regions, and send region entry and exit information to Home Assistant(HA). You set up a region in the Owntracks app which you should name the same as your HA Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/)

View file

@ -0,0 +1,99 @@
---
layout: page
title: "LIRC"
description: "Instructions how to integrate IR remotes with LIRC into Home Assistant."
date: 2016-05-22 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: lirc.gif
ha_category: Automation
featured: false
ha_release: 0.21
ha_iot_class: "Local Push"
---
[LIRC](http://www.lirc.org/) integration for Home Assistant allows you to receive signals from an infrared remote control and control actions based on the buttons you press. You can use them to set scenes or trigger any other [automation](https://home-assistant.io/components/automation/).
Sending IR commands is not supported in this component (yet), but can be accomplished using the [shell_command component](https://home-assistant.io/components/shell_command/) in conjunction with the `irsend` command.
### {% linkable_title Installation %}
To allow Home Assistant to talk to your IR receiver, you need to first make sure you have the correct dependencies installed:
```bash
$ sudo apt-get install lirc
```
<p class='note'>
If you are configuring on a Raspberry Pi, there are excellent instructions with GPIO schematics and driver configurations [here](http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/). Consider following these.
</p>
### {% linkable_title Configuring LIRC %}
Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g. for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes.
Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
```bash
begin
remote = SONY
button = KEY_1
prog = home-assistant
config = KEY_1
end
begin
remote = SONY
button = KEY_2
prog = home-assistant
config = KEY_2
end
begin
remote = SONY
button = KEY_3
prog = home-assistant
config = KEY_3
end
```
Test your LIRC installation before proceeding by running:
```bash
$ irexec -n home-assistant
```
and pressing some buttons on the remote.
### {% linkable_title Configuration Home Assistant %}
```yaml
# Example configuration.yaml entry
lirc:
```
<p class='note'>
If you are on a Debian based system (like Raspberry Pi) and are having issues loading the component due to it being unable to install python-lirc, install it manually using `apt-get install python3-lirc`.
</p>
#### {% linkable_title Events %}
The LIRC component fires `ir_command_received` events on the bus. You can capture the events and respond to them in automation scripts like this:
```yaml
# Example configuration.yaml automation entry
automation:
- alias: Off on Remote
trigger:
platform: event
event_type: ir_command_received
event_data:
button_name: KEY_0
action:
service: homeassistant.turn_off
entity_id: group.a_lights
```
The `button_name` data values (e.g. `KEY_0`) are set by you in the `.lircrc` file.

View file

@ -28,6 +28,7 @@ sensor:
- UVIndex
- Luminance
- Night
- Voltage
```
Configuration variables:
@ -40,3 +41,4 @@ Configuration variables:
- Rain
- Temperature
- UVIndex
- Voltage

View file

@ -0,0 +1,29 @@
---
layout: page
title: "DTE Energy Bridge"
description: "Instructions how to setup DTE Energy Bridge with Home Assistant."
date: 2016-06-07 08:10
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_release: 0.21
ha_iot_class: "Local Polling"
---
A sensor platform for the [DTE](https://www.dteenergy.com/) Energy Bridge.
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: dte_energy_bridge
ip: 192.168.1.11
```
Configuration variables:
- **ip** (*Required*): The IP address of your bridge.

View file

@ -40,7 +40,7 @@ Configuration variables:
- **api_key** (*Required*): Your API key for http://openweathermap.org/.
- **forecast** (*Optional*): Enables the forecast. The default is to display the current conditions.
- **display_conditions** array (*Required*): Conditions to display in the frontend.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
- **weather**: A human-readable text summary.
- **temperature**: The current temperature.
- **wind_speed**: The wind speed.

View file

@ -35,6 +35,7 @@ Configuration variables:
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
- **warnings** (*Optional*): Turn off warnings (useful if the sensor is loaded before devices it depends on).
- **entity_id** (*Optional*): Add a list of entity_ids so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update it's state.
## {% linkable_title Examples %}

View file

@ -29,14 +29,14 @@ If you don't wish to have flux update on 30 second intervals, you can leave the
switch turned off and use automation rules that call the service `switch.flux_update`
whenever you want the lights updated.
Example `configuration.yaml`:
```yaml
# Example configuration.yaml entry
switch:
platform: flux
lights:
- light.desk
- light.lamp
name: Fluxer # optional, default Flux
name: Fluxer # optional, default Flux
start_time: 7:00 # optional, default sunrise
stop_time: 23:00 # optional, default 22:00
start_colortemp: 4000 # optional, default 4000

View file

@ -42,6 +42,7 @@ Configuration variables:
- **value_template** (*Required*): Defines a [template](/topics/templating/) to set the state of the switch.
- **turn_on** (*Required*): Defines an [action](/getting-started/automation/) to run when the switch is turned on.
- **turn_off** (*Required*): Defines an [action](/getting-started/automation/) to run when the switch is turned off.
- **entity_id** (*Optional*): Add a list of entity_ids so the sensor only reacts to state changes of these entities. This will reduce the number of times the sensor will try to update it's state.
## {% linkable_title Examples %}

View file

@ -15,7 +15,7 @@ ha_release: 0.17
To get your Z-Wave thermostat working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
<p class='note'>
If your thermostat support fan modes or different operating modes, it should be considered a [HVAC component](components/hvac/), and will also be detected as one. Thermostat component does not support setting fan or operation mode. This is controlled via the HVAC component.
If your thermostat support fan modes or different operating modes, it should be considered a [HVAC component](/components/hvac.zwave/), and will also be detected as one. Thermostat component does not support setting fan or operation mode. This is controlled via the HVAC component.
If the thermostat support different operationg modes, you will get one thermostat entity for each mode. These can be hidden with settings using the customize setting in the `configuration.yaml` file.
</p>

View file

@ -12,210 +12,6 @@ ha_category: Hub
featured: 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.
Please see the [getting started section] for in-depth documentation on how to use the Z-Wave component.
There is currently support for switches, lights and sensors. All will be picked up automatically after configuring this platform.
### {% linkable_title Installation %}
To allow Home Assistant to talk to your Z-Wave USB stick you will have to compile the OpenZWave library and install the related [python-OpenZWave package](https://github.com/OpenZWave/python-openzwave). This can be done as follows. _(Note: The Home Assistant docker image has support for Z-Wave built-in)_
Make sure you have the correct dependencies installed before running the script:
```bash
$ sudo apt-get install cython3 libudev-dev python3-sphinx python3-setuptools
```
Make sure you have at least version 0.23 of cython.
```bash
$ sudo pip3 install --upgrade cython
```
Then get the OpenZWave files and switch to the `python3` branch:
<p class='note warning'>Do not use root to build python-openzwave as it will surely fail.</p>
```bash
$ git clone https://github.com/OpenZWave/python-openzwave.git
$ cd python-openzwave
$ git checkout python3
$ PYTHON_EXEC=$(which python3) make build
$ sudo PYTHON_EXEC=$(which python3) make install
```
<p class='note'>
Instead of `make install`, you can alternatively build your own python-openzwave package which can be easily uninstalled:
```$ sudo PYTHON_EXEC=$(which python3) checkinstall --pkgname python-openzwave --pkgversion 1.0 --provides python-openzwave```
</p>
With this installation, your `config_path` needed below will resemble:
```bash
/usr/local/lib/python3.4/dist-packages/libopenzwave-0.3.0b8-py3.4-linux-x86_64.egg/config
```
### {% linkable_title Configuration %}
```yaml
# Example configuration.yaml entry
zwave:
usb_path: /dev/ttyUSB0
config_path: /usr/local/share/python-openzwave/config
polling_interval: 60000
customize:
sensor.greenwave_powernode_6_port_energy_10:
polling_intensity: 1
```
Configuration variables:
- **usb_path** (*Required*): The port where your device is connected to your Home Assistant host.
- **config_path** (*Optional*): The path to the Python Open Z-Wave configuration files.
- **autoheal** (*Optional*): Allows disabling auto ZWave 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:
```bash
$ ls /dev/ttyUSB*
```
Or, on some other systems (such as Raspberry Pi), use:
```bash
$ ls /dev/ttyACM*
```
<p class='note'>
Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/zwave`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/).
</p>
#### {% linkable_title Events %}
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
# Example configuration.yaml automation entry
automation:
- alias: Turn on Desk light
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: zwaveme_zme_wallcs_secure_wall_controller_8
scene_id: 11
```
The *entity_id* and *scene_id* of all triggered events can be seen in the console output.
#### {% linkable_title Services %}
The Z-Wave component exposes four 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.|
| remove_node | Put the zwave controller in exclusion mode. Allows one to remove a device from the zwave network.|
| 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. |
| 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.|
| 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".|
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:
```yaml
# Example configuration.yaml automation entry
automation:
- alias: soft reset at 2:30am
trigger:
platform: time
after: '2:30:00'
action:
service: zwave.soft_reset
- alias: heal at 2:31am
trigger:
platform: time
after: '2:31:00'
action:
service: zwave.heal_network
```
#### {% linkable_title Device Specific Notes & Configuration %}
##### {% linkable_title Aeon Minimote %}
Here's a handy configuration for the Aeon Labs Minimote that defines all possible button presses. Put it into `automation.yaml`.
```yaml
- alias: Minimote Button 1 Pressed
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 1
- alias: Minimote Button 1 Held
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 2
- alias: Minimote Button 2 Pressed
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 3
- alias: Minimote Button 2 Held
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 4
- alias: Minimote Button 3 Pressed
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 5
- alias: Minimote Button 3 Held
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 6
- alias: Minimote Button 4 Pressed
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 7
- alias: Minimote Button 4 Held
trigger:
platform: event
event_type: zwave.scene_activated
event_data:
entity_id: aeon_labs_minimote_1
scene_id: 8
```
##### {% linkable_title Aeotec MultiSensor 6 %}
In order for Home Assistant to recognize well the motion sensor, you will need to change its configuration from `Basic Set (default)` to `Binary Sensor 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
[getting started section]: /getting-started/z-wave/