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

@ -33,6 +33,49 @@
}
}
.material-card {
// display: inline-block;
background-color: #fefefe;
border-radius: 2px;
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);
h1 {
font-family: Roboto, Noto, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 24px;
font-weight: 400;
letter-spacing: -.012em;
line-height: 40px;
color: #212121;
padding: 20px 16px 12px;
text-transform: capitalize;
margin: 0;
}
&.text {
padding: 16px;
h1 {
padding: 4px 0px 12px;
}
}
}
.frontpage {
.current-version {
margin-bottom: 16px;
.release-date {
white-space: nowrap;
}
}
.blog-date {
white-space: nowrap;
}
}
.supported-brands {
text-align: center;
img {

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/

View File

@ -10,6 +10,7 @@
<li>{% active_link /getting-started/installation-raspberry-pi/ Raspberry Pi %}</li>
<li>{% active_link /getting-started/installation-raspberry-pi-all-in-one/ Raspberry Pi All-In-One Installer %}</li>
<li>{% active_link /getting-started/installation-docker/ Docker %}</li>
<li>{% active_link /getting-started/installation-vagrant/ Vagrant %}</li>
<li>{% active_link /getting-started/installation-synology/ Synology NAS %}</li>
<li>{% active_link /getting-started/installation-virtualenv/ Virtualenv Linux %}</li>
<li>{% active_link /getting-started/updating/ Updating %}</li>
@ -44,6 +45,14 @@
<li>{% active_link /getting-started/scripts-conditions/ Conditions %}</li>
</ul>
</li>
<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-settings/ Modifying Settings %}</li>
<li>{% active_link /getting-started/z-wave-device-specific/ Device Specific %}</li>
</ul>
</li>
<li>
{% active_link /getting-started/autostart/ Autostart %}
<ul>

View File

@ -0,0 +1,74 @@
---
layout: post
title: "0.21: Improved Web and support for EnOcean, LIRC and Osram Lightify"
description: "This new release of Home Assistant is lightning fast with the new web stack and progressive web application. On top of that a handful of new components and platforms for EnOcean, LIRC and Osram Lightify support."
date: 2016-06-08 01:06:00 +0000
date_formatted: "June 8, 2016"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
---
It's time for release 0.21 and it contains massive core improvements: replacement of our home grown HTTP stack with a standardized WSGI stack. This will improve performance, speed, security and make future development of advanced HTTP features a breeze.
This work was driven by the amazing Josh Wright. His knowledge, high standards and drive for security has helped improve Home Assistant a lot ever since he started helping out. Hip hip hurray for Josh!
Alright, time for the changes:
<img src='/images/supported_brands/enocean.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/osramlightify.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/lirc.gif' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' />
- New HTTP stack based on WSGI ([@JshWright], [@balloob])
- Frontend: lots of performance improvements ([@balloob])
- Initial support for EnOcean [lights][en-lights], [sensors][en-sensors] and [switches][en-switches] added ([@rubund])
- Light: [Osram Lightify] is now supported ([@olimpiurob])
- Light: [Insteon Hub] now supports brightness ([@wkonkel])
- Add support for adding HA as Windows 10 tile ([@fabaff])
- Condition: [time condition] can now cross midnight ([@jaharkes])
- Template based sensors should now throw less warnings ([@Bart274])
- New [LIRC component] allows receiving IR commands ([@partofthething])
- The [Feedreader] component will now persist data to disk to prevent duplicate events ([@shaftoe])
- Sun: azimuth attribute added ([@fabaff])
- New [Flux like switch platform] to change light intensity in the evening ([@nkgilley])
- We no longer crash if you live in a part of the world where the sun never sets ([@balloob])
- Rollershutter: [RFXTRX] now supported ([@jacobtomlinson])
- Switch: [Template switches] can now execute scripts ([@kellerza])
- Z-Wave: automatically heal the network at midnight ([@infamy])
- Sensor: [DTE Energy Bridge] now supported ([@kylehendricks])
- Media Player: [Kodi] now supports different turn off commands ([@armills])
### Breaking Changes
- Our work in the WSGI stack is not fully done yet. We still have a minor issues where retrieving the error log in the about screen can raise an encoding error
- The API used to incorrectly accept a JSON body with form-url-encoded headers. Our cURL examples on the website used to be wrong and have [been updated].
[@armills]: https://github.com/armills
[@balloob]: https://github.com/balloob
[@Bart274]: https://github.com/Bart274
[@fabaff]: https://github.com/fabaff
[@infamy]: https://github.com/infamy
[@jacobtomlinson]: https://github.com/jacobtomlinson
[@jaharkes]: https://github.com/jaharkes
[@JshWright]: https://github.com/JshWright
[@kellerza]: https://github.com/kellerza
[@kylehendricks]: https://github.com/kylehendricks
[@nkgilley]: https://github.com/nkgilley
[@olimpiurob]: https://github.com/olimpiurob
[@partofthething]: https://github.com/partofthething
[@rubund]: https://github.com/rubund
[@shaftoe]: https://github.com/shaftoe
[@wkonkel]: https://github.com/wkonkel
[DTE Energy Bridge]: /components/sensor.dte_energy_bridge/
[en-lights]: /components/light.enocean/
[en-sensors]: /components/sensor.enocean/
[en-switches]: /components/switch.enocean/
[Feedreader]: /components/feedreader/
[Flux like switch platform]: /components/switch.flux/
[Insteon Hub]: /components/insteon_hub/
[Kodi]: /components/media_player.kodi/
[LIRC component]: /components/lirc/
[Osram Lightify]: /components/light.osramlightify/
[RFXTRX]: /components/rfxtrx/
[Template switches]: /components/switch.template/
[time condition]: /getting-started/scripts-conditions/#time-condition
[been updated]: /developers/rest_api/

View File

@ -1,37 +0,0 @@
---
layout: page
title: "Z-Wave"
description: "Extended instructions how to setup Z-Wave."
date: 2016-03-24 08:49 -0700
sidebar: false
comments: false
sharing: true
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.
</p>
## {% linkable_title Supported Z-Wave Sticks %}
| Device | Works on Linux | Works on Windows | Works on OSX | Comments |
|-------------------------|----------------|------------------|--------------|-----------|
| Aeotec Z-Stick Series 2 | X | | | |
| Aeotec Z-Stick Series 5 | X | | | |
| Razberry GPIO Module | X | | | |
## {% linkable_title Stick Alternatives %}
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/)
## {% linkable_title Modifying Zwave Device Settings %}
You may wish to modify the zwave settings ozw*.xml file in your .homeassistant root folder, 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 Zwave 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 zwave 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 zwave devices.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -31,7 +31,7 @@
left: 0;
right: 0;
bottom: 0;
margin-bottom: 97px;
margin-bottom: 83px;
font-family: Roboto, sans-serif;
font-size: 0pt;
transition: font-size 2s;

View File

@ -7,8 +7,7 @@
{
"src": "\/static\/favicon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
"type": "image\/png"
}
]
}

View File

@ -32,7 +32,7 @@ automation 2:
topic: /notify/+
action:
service_template: >{% raw %}
notify.{{ trigger.topic.split('/')[-1] }}
notify.{{ trigger.topic.split('/')[-1] }}{% endraw %}
data_template:
message: {% raw %}{{ trigger.payload }}{% endraw %}
```

View File

@ -31,6 +31,10 @@ If you prefer to watch a video tutorial, [tktino](https://github.com/tktino) has
- [Mac OS X](https://www.youtube.com/watch?v=hej6ipN86ls)
- [Ubuntu 14.04](https://www.youtube.com/watch?v=SXaAG1lGNH0)
### {% linkable_title Updating %}
To update Home Assistant to the latest release check the [Updating section](/getting-started/updating/).
### {% linkable_title Troubleshooting %}
If you run into any issues, please see [the troubleshooting page](/getting-started/troubleshooting/). It contains solutions to many of the common encountered issues.

View File

@ -0,0 +1,92 @@
---
layout: page
title: "Installation on Vagrant"
description: "Instructions to run Home Assistant on a Vagrant VM."
date: 2016-05-28 10:00
sidebar: true
comments: false
sharing: true
footer: true
---
A `Vagrantfile` is avalable into `virtualization/vagrant` folder for quickly spinning up a Linux virtual machine running Home Assistant. This can be beneficial for those who want to experiment with Home Assistant and/or developers willing to easily test local changes and run test suite against them.
<p class='note'>
Vagrant is intended for testing/development only. It is NOT recommended for permanent installations.
</p>
## Install Vagrant
You must have [Vagrant](https://www.vagrantup.com/downloads.html) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) installed on your workstation.
## Get Home Assistant source code
Download the home-assistant source code by either downloading the .zip file from [GitHub releases page](https://github.com/home-assistant/home-assistant/releases), or by using [Git](https://git-scm.com/)
```bash
git clone https://github.com/home-assistant/home-assistant.git
cd home-assistant/virtualization/vagrant
```
<p class='note'>
The following instructions will assume you changed your working directory to be home-assistant/virtualization/vagrant. This is mandatory because Vagrant will look for informations about the running VM inside that folder and won't work otherwise
</p>
## Create the Vagrant VM and start Home Assistant
```bash
vagrant up
```
This will download + start a virtual machine using Virtualbox, which will internally setup the development environment necessary to start Home Assistant process and run test suite as well. After the VM has started succesfully, Home Assistant frontend will be accessible locally from your browser at [http://localhost:8123](http://localhost:8123)
## Stopping Vagrant
To shutdown the Vagrant host:
```bash
vagrant halt
```
To start it again, just run `vagrant up`
## Restarting Home Assistant process to test changes
The root `home-assistant` directory on your workstation will be mirrored with `/home-assistant` inside the VM. In `virtualization/vagrant` there's also a `config` folder that you can use to drop configuration files ([here](https://home-assistant.io/getting-started/configuration/) you can find more information on how to configure HASS).
Any changes made to the local directory on your workstation will be available from the Vagrant host, so to apply your changes to the HASS process, just restart it:
```bash
touch restart ; vagrant provision
```
## Run test suite (Tox)
To run tests against your changes:
```bash
touch run_tests ; vagrant provision
```
## Cleanup
To completely remove the VM:
```bash
rm setup_done ; vagrant destroy -f
```
You can now recreate a completely new Vagrant host with `vagrant up`
### {% linkable_title Troubleshooting %}
If you run into any issues, please see [the troubleshooting page](/getting-started/troubleshooting/). It contains solutions to many of the more commonly encountered issues.
In addition to this site, check out these sources for additional help:
- [Forum](https://community.home-assistant.io) for Home Assistant discussions and questions.
- [Gitter Chat Room](https://gitter.im/home-assistant/home-assistant) for real-time chat about Home Assistant.
- [GitHub Page](https://github.com/home-assistant/home-assistant/issues) for issue reporting.
### [Next step: Configuring Home Assistant &raquo;](/getting-started/configuration/)

View File

@ -54,6 +54,17 @@ service_template: >
entity_id: switch.ac
```
### {% linkable_title Using the Services Developer Tool %}
You can use the Services Developer Tool to test data to pass in a service call.
For example, you may test turning on or off a 'group' (See [groups] for more info)
To turn a group on or off, pass the following info:
Domain: `homeassistant`
Service: `turn_on`
Service Data: `{ "entity_id": "group.kitchen" }`
### {% linkable_title Use templates to determine the attributes %}
Templates can also be used for the data that you pass to the service call.

View File

@ -69,11 +69,4 @@ Android Chrome
chrome -> settings -> site settings -> storage -> search for your URL for home assistant-> "clear & reset"
#### {% linkable_title Run the development version %}
If you want to stay on top of the development of Home Assistant then you can upgrade to the `dev` branch. This can result in an unstable system, loss of data, etc. etc.
```bash
$ pip3 install --upgrade git+git://github.com/balloob/home-assistant.git@dev
```
### [&laquo; Back to Getting Started](/getting-started/)

View File

@ -18,3 +18,18 @@ $ pip3 install --upgrade homeassistant
After updating, restart Home Assistant for the changes to take effect. This means that you have to restart `hass` itself or the [autostarting](/getting-started/autostart/) daemon if you use any.
<p class='note note'>
The upgrade needs to be run as the same user as the installation was done to avoid permission errors.
</p>
#### {% linkable_title Run the development version %}
If you want to stay on top of the development of Home Assistant then you can upgrade to the `dev` branch.
<p class='note warning'>
This can result in an unstable system, loss of data, etc. etc.
</p>
```bash
$ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
```

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Z-Wave USB Controllers"
description: "Extended instructions how to setup Z-Wave."
date: 2016-03-24 08:49 -0700
sidebar: true
comments: false
sharing: true
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.
</p>
## {% linkable_title Supported Z-Wave Sticks %}
| Device | Works on Linux | Works on Windows | Works on OSX |
|-------------------------|----------------|------------------|--------------|
| Aeotec Z-Stick Series 2 | &#10003; | | |
| Aeotec Z-Stick Series 5 | &#10003; | | |
| Razberry GPIO Module | &#10003; | | |
## {% linkable_title Stick Alternatives %}
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/)

View File

@ -0,0 +1,84 @@
---
layout: page
title: "Z-Wave Device Specific Settings"
description: "Extended instructions how to setup Z-Wave."
date: 2016-03-24 08:49 -0700
sidebar: true
comments: false
sharing: true
footer: true
---
##### {% 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

View File

@ -0,0 +1,14 @@
---
layout: page
title: "Z-Wave Settings"
description: "Extended instructions how to setup Z-Wave."
date: 2016-03-24 08:49 -0700
sidebar: true
comments: false
sharing: true
footer: true
---
You may wish to modify the zwave settings ozw*.xml file in your .homeassistant root folder, 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 Zwave 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 zwave 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 zwave devices.

View File

@ -0,0 +1,142 @@
---
layout: page
title: "Z-Wave"
description: "Instructions how to integrate your existing Z-Wave within Home Assistant."
date: 2016-02-27 19:59
sidebar: true
comments: false
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.
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
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -12,6 +12,28 @@ hide_github_edit: true
---
<div class="grid-wrapper frontpage">
<div class="grid">
<div class="grid__item one-third lap-one-third palm-one-whole">
<div class='current-version material-card text'>
<h1>Current: 0.21.1</h1>
Released: <span class='release-date'>June 12, 2016</span><br>
<a href='/blog/2016/06/08/super-fast-web-enocean-lirc/'>Release notes</a>
</div>
</div>
<div class="grid__item two-thirds lap-two-thirds palm-one-whole">
<div class='material-card text'>
<h1>Latest blog items</h1>
{% for post in site.posts limit: 3 %}
<li class="post">
<a href="{{ root_url }}{{ post.url }}">{{ post.title }}</a>
<small class='blog-date'>{{ post.date_formatted }}</small>
</li>
{% endfor %}
</div>
</div>
</div>
<div class="grid">
<div class="grid__item one-third lap-one-whole palm-one-whole usp">
<div class="grid">