Merge branch 'master' into next
Conflicts: source/_cookbook/custom_panel_using_react.markdown
This commit is contained in:
commit
1957efefb8
74 changed files with 845 additions and 311 deletions
|
@ -29,8 +29,8 @@ Example of using condition:
|
|||
entity_id: sensor.mini_despacho
|
||||
to: 'ON'
|
||||
condition:
|
||||
condition: or
|
||||
conditions:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: template
|
||||
value_template: '{{ states.sun.sun.attributes.elevation < 4 }}'
|
||||
- condition: template
|
||||
|
|
|
@ -59,15 +59,15 @@ The following tables show the available trigger data per platform.
|
|||
| `trigger.entity_id` | Entity ID that we observe.
|
||||
| `trigger.below` | The below threshold, if any.
|
||||
| `trigger.above` | The above threshold, if any.
|
||||
| `trigger.from_state` | The previous state of the entity.
|
||||
| `trigger.to_state` | The new state that triggered trigger.
|
||||
| `trigger.from_state` | The previous [state object] of the entity.
|
||||
| `trigger.to_state` | The new [state object] that triggered trigger.
|
||||
|
||||
| Template variable | Data |
|
||||
| ---- | ---- |
|
||||
| `trigger.platform` | Hardcoded: `state`
|
||||
| `trigger.entity_id` | Entity ID that we observe.
|
||||
| `trigger.from_state` | The previous state of the entity.
|
||||
| `trigger.to_state` | The new state that triggered trigger.
|
||||
| `trigger.from_state` | The previous [state object] of the entity.
|
||||
| `trigger.to_state` | The new [state object] that triggered trigger.
|
||||
| `trigger.for` | Timedelta object how long state has been to state, if any.
|
||||
|
||||
| Template variable | Data |
|
||||
|
@ -80,8 +80,8 @@ The following tables show the available trigger data per platform.
|
|||
| ---- | ---- |
|
||||
| `trigger.platform` | Hardcoded: `template`
|
||||
| `trigger.entity_id` | Entity ID that caused change.
|
||||
| `trigger.from_state` | Previous state of entity that caused change.
|
||||
| `trigger.to_state` | New state of entity that caused template to change.
|
||||
| `trigger.from_state` | Previous [state object] of entity that caused change.
|
||||
| `trigger.to_state` | New [state object] of entity that caused template to change.
|
||||
|
||||
| Template variable | Data |
|
||||
| ---- | ---- |
|
||||
|
@ -92,7 +92,9 @@ The following tables show the available trigger data per platform.
|
|||
| ---- | ---- |
|
||||
| `trigger.platform` | Hardcoded: `zone`
|
||||
| `trigger.entity_id` | Entity ID that we are observing.
|
||||
| `trigger.from_state` | Previous state of the entity.
|
||||
| `trigger.to_state` | New state of the entity.
|
||||
| `trigger.from_state` | Previous [state object] of the entity.
|
||||
| `trigger.to_state` | New [state object] of the entity.
|
||||
| `trigger.zone` | State object of zone
|
||||
| `trigger.event` | Event that trigger observed: `enter` or `leave`.
|
||||
|
||||
[state object]: /topics/state_object/
|
||||
|
|
|
@ -15,7 +15,7 @@ To get Home Assistant installed as a background service, run:
|
|||
|
||||
|
||||
```bash
|
||||
$ hass --install-osx
|
||||
$ hass --script macos install
|
||||
|
||||
Home Assistant has been installed. Open it here: http://localhost:8123
|
||||
```
|
||||
|
@ -25,7 +25,7 @@ Home Assistant will log to `~/Library/Logs/homeassistant.log`
|
|||
To uninstall the service, run:
|
||||
|
||||
```bash
|
||||
$ hass --uninstall-osx
|
||||
$ hass --script macos uninstall
|
||||
|
||||
Home Assistant has been uninstalled.
|
||||
```
|
||||
|
|
|
@ -20,7 +20,7 @@ If the preceding command returns the string `systemd`, you are likely using `sys
|
|||
If you want Home Assistant to be launched automatically, an extra step is needed to setup `systemd`. You need a service file to control Home Assistant with `systemd`. If you are using a Raspberry Pi with Raspbian then replace the `[your user]` with `pi` otherwise use your user you want to run Home Assistant. `ExecStart` contains the path to `hass` and this may vary. Check with `whereis hass` for the location.
|
||||
|
||||
```bash
|
||||
$ su -c 'cat <<EOF >> /lib/systemd/system/home-assistant@[your user].service
|
||||
$ su -c 'cat <<EOF >> /etc/systemd/system/home-assistant@[your user].service
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target
|
||||
|
@ -38,7 +38,7 @@ EOF'
|
|||
There is also another [sample service file](https://raw.githubusercontent.com/home-assistant/home-assistant/master/script/home-assistant%40.service) available. To use this one, just download it.
|
||||
|
||||
```bash
|
||||
$ sudo wget https://raw.githubusercontent.com/home-assistant/home-assistant/master/script/home-assistant%40.service -O /lib/systemd/system/home-assistant@[your user].service
|
||||
$ sudo wget https://raw.githubusercontent.com/home-assistant/home-assistant/master/script/home-assistant%40.service -O /etc/systemd/system/home-assistant@[your user].service
|
||||
```
|
||||
|
||||
You need to reload `systemd` to make the daemon aware of the new configuration. Enable and launch Home Assistant after that.
|
||||
|
@ -54,7 +54,7 @@ If everything went well, `sudo systemctl start home-assistant@[your user]` shoul
|
|||
```bash
|
||||
$ sudo systemctl status home-assistant@[your user] -l
|
||||
● home-assistant@fab.service - Home Assistant for [your user]
|
||||
Loaded: loaded (/usr/lib/systemd/system/home-assistant@[your user].service; enabled; vendor preset: disabled)
|
||||
Loaded: loaded (/etc/systemd/system/home-assistant@[your user].service; enabled; vendor preset: disabled)
|
||||
Active: active (running) since Sat 2016-03-26 12:26:06 CET; 13min ago
|
||||
Main PID: 30422 (hass)
|
||||
CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@[your user].service
|
||||
|
@ -66,5 +66,10 @@ $ sudo systemctl status home-assistant@[your user] -l
|
|||
To get Home Assistant's logging output, simple use `journalctl`.
|
||||
|
||||
```bash
|
||||
$ sudo journalctl -f -u home-assistant@[your user]
|
||||
$ journalctl -f -u home-assistant@[your user]
|
||||
```
|
||||
|
||||
Because the log can scroll quite quickly, you might want to open a second terminal to view only the errors:
|
||||
```bash
|
||||
$ journalctl -f -u home-assistant@[your user] | grep -i 'error'
|
||||
```
|
||||
|
|
|
@ -21,6 +21,12 @@ This will launch Home Assistant and serve the web interface from port 8123 on yo
|
|||
When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace `-v /etc/localtime:/etc/localtime:ro` with `-e "TZ=America/Los_Angeles"` (replacing America/Los_Angeles with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones))
|
||||
</p>
|
||||
|
||||
If you change the config you have to restart the server.
|
||||
To do that you have 2 options.
|
||||
|
||||
1. You can go to the <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> service developer tools, select the service `homeassistant/restart` and click "Call Service".
|
||||
2. Or you can restart it from an terminal by running `docker restart home-assistant`
|
||||
|
||||
### {% 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.
|
||||
|
|
|
@ -9,7 +9,7 @@ footer: true
|
|||
|
||||
The [Raspberry Pi All-In-One Installer](https://github.com/home-assistant/fabric-home-assistant) deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel.
|
||||
|
||||
The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian Jessie/Jessie Lite](https://www.raspberrypi.org/downloads/raspbian/) connected to your network.
|
||||
The only requirement is that you have a Raspberry Pi with a fresh installation of [Raspbian Jessie](https://www.raspberrypi.org/downloads/raspbian/) connected to your network.
|
||||
|
||||
* Login to Raspberry Pi. For example with `ssh pi@your_raspberry_pi_ip`
|
||||
* Run the following command
|
||||
|
@ -73,6 +73,7 @@ After upgrading, you can restart Home Assistant a few different ways:
|
|||
|
||||
To launch the OZWCP web application:
|
||||
|
||||
* Make sure Home Assistant is not running! So stop that first
|
||||
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
|
||||
* Change to the ozwcp directory `cd /srv/hass/src/open-zwave-control-panel/`
|
||||
* Launch the control panel `sudo ./ozwcp -p 8888`
|
||||
|
|
|
@ -9,7 +9,7 @@ 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.
|
||||
A `Vagrantfile` is available 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.
|
||||
|
@ -21,21 +21,29 @@ You must have [Vagrant](https://www.vagrantup.com/downloads.html) and [Virtualbo
|
|||
|
||||
## {% linkable_title 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/)
|
||||
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
|
||||
$ 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
|
||||
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>
|
||||
|
||||
<p class='note'>
|
||||
When using Vagrant on Windows, change git's `auto.crlf` to input before cloning the Home Assistant repository. With input setting git won't automatically change line endings from Unix LF to Windows CRLF. Shell scripts executed during provision won't work with Windows line endings.
|
||||
</p>
|
||||
|
||||
```bash
|
||||
$ git config --global core.autocrlf input
|
||||
```
|
||||
|
||||
## {% linkable_title Create the Vagrant VM and start Home Assistant %}
|
||||
|
||||
```bash
|
||||
vagrant up
|
||||
$ vagrant up
|
||||
```
|
||||
|
||||
This will download and 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, the Home Assistant frontend will be accessible locally from your browser at [http://localhost:8123](http://localhost:8123)
|
||||
|
@ -45,7 +53,7 @@ This will download and start a virtual machine using Virtualbox, which will inte
|
|||
To shutdown the Vagrant host:
|
||||
|
||||
```bash
|
||||
vagrant halt
|
||||
$ vagrant halt
|
||||
```
|
||||
|
||||
To start it again, just run `vagrant up`
|
||||
|
@ -57,7 +65,7 @@ The root `home-assistant` directory on your workstation will be mirrored with `/
|
|||
Any changes made to the local directory on your workstation will be available from the Vagrant host, so to apply your changes to the Home Assistant process, just restart it:
|
||||
|
||||
```bash
|
||||
touch restart ; vagrant provision
|
||||
$ touch restart ; vagrant provision
|
||||
```
|
||||
|
||||
## {% linkable_title Run test suite (Tox) %}
|
||||
|
@ -65,7 +73,7 @@ touch restart ; vagrant provision
|
|||
To run tests against your changes:
|
||||
|
||||
```bash
|
||||
touch run_tests ; vagrant provision
|
||||
$ touch run_tests ; vagrant provision
|
||||
```
|
||||
|
||||
## {% linkable_title Cleanup %}
|
||||
|
@ -73,7 +81,7 @@ touch run_tests ; vagrant provision
|
|||
To completely remove the VM:
|
||||
|
||||
```bash
|
||||
rm setup_done ; vagrant destroy -f
|
||||
$ rm setup_done ; vagrant destroy -f
|
||||
```
|
||||
|
||||
You can now recreate a completely new Vagrant host with `vagrant up`
|
||||
|
|
|
@ -72,7 +72,7 @@ delay:
|
|||
```yaml
|
||||
# Waits however many minutes input_slider.minute_delay is set to
|
||||
# Valid formats include HH:MM and HH:MM:SS
|
||||
delay: {% raw %}'00:{{ input_slider.minute_delay }}:00'{% endraw %}
|
||||
delay: {% raw %}'00:{{ input_slider.minute_delay | int }}:00'{% endraw %}
|
||||
```
|
||||
|
||||
#### {% linkable_title Fire an Event %}
|
||||
|
|
|
@ -29,7 +29,7 @@ $ python3 get-pip.py
|
|||
```
|
||||
|
||||
#### {% linkable_title distutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both %}
|
||||
This is a known issue if you're on a Mac using Homebrew to install Python. Please follow [these instructions](https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Homebrew-and-Python.md#note-on-pip-install---user) to resolve it.
|
||||
This is a known issue if you're on a Mac using Homebrew to install Python. Please follow [these instructions](https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Homebrew-and-Python.md#note-on-pip-install---user) to resolve it.
|
||||
|
||||
#### {% linkable_title CentOS and Python 3 %}
|
||||
To run Python 3.x on [CentOS](https://www.centos.org/) or RHEL, [Software Collections](https://www.softwarecollections.org/en/scls/rhscl/rh-python34/) needs to be activated.
|
||||
|
|
|
@ -25,6 +25,8 @@ After updating, restart Home Assistant for the changes to take effect. This mean
|
|||
The upgrade needs to be run as the same user as the installation was done to avoid permission errors.
|
||||
</p>
|
||||
|
||||
[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant.
|
||||
|
||||
#### {% 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.
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@ The basics of YAML syntax are block collections and mappings containing key-valu
|
|||
|
||||
Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` component.
|
||||
Getting the right indentation can be tricky if you're not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation.
|
||||
You can use [YAMLLint](http://www.yamllint.com/) to check if your YAML-syntax is correct before loading it into Home Assistant which will save you some time.
|
||||
*Please pay attention on not putting in private data, as it is a 3rd-party website not maintained by Home Assistant.*
|
||||
|
||||
Lines that start with **#** are comments and are ignored by the system.
|
||||
|
||||
|
|
|
@ -9,76 +9,120 @@ sharing: true
|
|||
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
|
||||
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.
|
||||
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.
|
||||
|
||||
##### {% linkable_title Event basic_level for automation %}
|
||||
HomeAssistant 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.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
- alias: Minimote Button Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.node_event
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
basic_level: 255
|
||||
```
|
||||
|
||||
##### {% linkable_title Event scene_id for automation %}
|
||||
HomeAssistant will trigger a event when a scene is activated by a node in the zwave network.
|
||||
This can be a press of a button, so tests have to be made to determine what scene_id equals what.
|
||||
You can use this for automations.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
- alias: Minimote Button 1 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_id: aeon_labs_minimote_1
|
||||
scene_id: 1
|
||||
```
|
||||
|
||||
|
||||
##### {% 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 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 1 Held
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 2 Held
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 3 Held
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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 Pressed
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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
|
||||
- alias: Minimote Button 4 Held
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: zwave.scene_activated
|
||||
event_data:
|
||||
object_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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue