Merge remote-tracking branch 'balloob/master'
@ -1 +0,0 @@
|
||||
Subproject commit 0844f3dd9e1747f1bd6b7b803c04dc3733c36d78
|
2
Gemfile
@ -15,6 +15,8 @@ group :development do
|
||||
gem 'rb-fsevent', '~> 0.9'
|
||||
gem 'stringex', '~> 1.4.0'
|
||||
gem 'jekyll-time-to-read'
|
||||
gem 'execjs'
|
||||
gem 'therubyracer', :platforms => :ruby
|
||||
end
|
||||
|
||||
gem 'sinatra', '~> 1.4.2'
|
||||
|
@ -1,46 +1,44 @@
|
||||
To test changes to home-assistant.io locally, run `rake preview` and navigate to [http://127.0.0.1:4000](http://127.0.0.1:4000).
|
||||
# Home Assistant website
|
||||
|
||||
Deploying is done using `rake deploy`.
|
||||
This is the source for the [Home Assistant](https://github.com/balloob/home-assistant) website available at [Home-Assistant.io](https://home-assistant.io).
|
||||
|
||||
## Jekyll project to generate and deploy
|
||||
|
||||
| Command | Action |
|
||||
|---|---|
|
||||
| `rake preview` | Preview site on [http://127.0.0.1:4000](http://127.0.0.1:4000)
|
||||
| `rake generate` | Generate new version of the site
|
||||
| `rake deploy` | Deploy a new version of the site
|
||||
|
||||
## Setup local environment
|
||||
|
||||
_You need to have Ruby installed._
|
||||
|
||||
```bash
|
||||
git clone --recursive https://github.com/balloob/home-assistant.io.git
|
||||
cd home-assistant.io
|
||||
bundle
|
||||
rake preview
|
||||
```
|
||||
|
||||
|
||||
## What is Octopress?
|
||||
### Preparation on CentOS
|
||||
On CentOS (here 7.1.1503) Ruby is not available by default. Please take the notes here as a little guide for the Ruby installation process.
|
||||
|
||||
Octopress is [Jekyll](https://github.com/mojombo/jekyll) blogging at its finest.
|
||||
```bash
|
||||
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
|
||||
curl -L get.rvm.io | bash -s stable
|
||||
source ~/.profile
|
||||
rvm requirements
|
||||
rvm install ruby-2.2.2
|
||||
rvm use ruby-2.2.2 --default
|
||||
ruby -v
|
||||
```
|
||||
|
||||
1. **Octopress sports a clean responsive theme** written in semantic HTML5, focused on readability and friendliness toward mobile devices.
|
||||
2. **Code blogging is easy and beautiful.** Embed code (with [Solarized](http://ethanschoonover.com/solarized) styling) in your posts from gists, jsFiddle or from your filesystem.
|
||||
3. **Third party integration is simple** with built-in support for Pinboard, Delicious, GitHub Repositories, Disqus Comments and Google Analytics.
|
||||
4. **It's easy to use.** A collection of rake tasks simplifies development and makes deploying a cinch.
|
||||
5. **Ships with great plug-ins** some original and others from the Jekyll community — tested and improved.
|
||||
The last command will give you something like this `ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]`. Then install `bundler`.
|
||||
|
||||
**Note**: Octopress requires a minimum Ruby version of `1.9.3-p0`.
|
||||
```bash
|
||||
gem install bundler
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
Check out [Octopress.org](http://octopress.org/docs) for guides and documentation.
|
||||
It should all apply to our current stable version (found in the `master`
|
||||
branch). If this is not the case, [please submit a
|
||||
fix to our docs repo](https://github.com/octopress/docs).
|
||||
|
||||
## Contributing
|
||||
|
||||
[](https://travis-ci.org/imathis/octopress)
|
||||
|
||||
We love to see people contributing to Octopress, whether it's a bug report, feature suggestion or a pull request. At the moment, we try to keep the core slick and lean, focusing on basic blogging needs, so some of your suggestions might not find their way into Octopress. For those ideas, we started a [list of 3rd party plug-ins](https://github.com/imathis/octopress/wiki/3rd-party-plugins), where you can link your own Octopress plug-in repositories. For the future, we're thinking about ways to easier add them into our main releases.
|
||||
|
||||
|
||||
## License
|
||||
(The MIT License)
|
||||
|
||||
Copyright © 2009-2013 Brandon Mathis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
#### If you want to be awesome.
|
||||
- Proudly display the 'Powered by Octopress' credit in the footer.
|
||||
- Add your site to the Wiki so we can watch the community grow.
|
||||
Now please follow the instruction above.
|
||||
|
2
_deploy
@ -1 +1 @@
|
||||
Subproject commit 853a81fe69bcc1acff5492e200a6ab9944b86af2
|
||||
Subproject commit 1e8bb05106a8f8e67f1d5d2f58f589b2cf0fd6cc
|
@ -189,5 +189,78 @@ p.note {
|
||||
}
|
||||
}
|
||||
|
||||
.prep-instructions-container {
|
||||
#generic-prep, #fedora-prep, #centos-prep, .prep-instructions {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label.menu-selector {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
white-space: nowrap;
|
||||
border-bottom: 2px solid $grayLight;
|
||||
transition: border-bottom-color .5s;
|
||||
}
|
||||
|
||||
label.menu-selector + label.menu-selector {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#generic-prep:checked ~ .menu-selector.generic,
|
||||
#fedora-prep:checked ~ .menu-selector.fedora,
|
||||
#centos-prep:checked ~ .menu-selector.centos
|
||||
{
|
||||
border-bottom-color: $blue;
|
||||
}
|
||||
|
||||
#generic-prep:checked ~ .prep-instructions.generic,
|
||||
#fedora-prep:checked ~ .prep-instructions.fedora,
|
||||
#centos-prep:checked ~ .prep-instructions.centos
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.prep-instructions {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.post-instructions-container {
|
||||
#generic-post, #fedora-post, #debian-post, .post-instructions {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label.menu-selector {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
white-space: nowrap;
|
||||
border-bottom: 2px solid $grayLight;
|
||||
transition: border-bottom-color .5s;
|
||||
}
|
||||
|
||||
label.menu-selector + label.menu-selector {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#generic-post:checked ~ .menu-selector.generic-post,
|
||||
#fedora-post:checked ~ .menu-selector.fedora-post,
|
||||
#debian-post:checked ~ .menu-selector.debian-post
|
||||
{
|
||||
border-bottom-color: $blue;
|
||||
}
|
||||
|
||||
#generic-post:checked ~ .post-instructions.generic-post,
|
||||
#fedora-post:checked ~ .post-instructions.fedora-post,
|
||||
#debian-post:checked ~ .post-instructions.debian-post
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post-instructions {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -4,19 +4,17 @@
|
||||
<div class='supported-brands clearfix'>
|
||||
<img src='/images/supported_brands/z-wave.png' />
|
||||
<img src='/images/supported_brands/vera.png' />
|
||||
<img src='/images/supported_brands/wink.png' />
|
||||
<img src='/images/supported_brands/mqtt.png' />
|
||||
<img src='/images/supported_brands/philips_hue.png' />
|
||||
<img src='/images/supported_brands/belkin_wemo.png' />
|
||||
<img src='/images/supported_brands/nest_thermostat.png' />
|
||||
<img src='/images/supported_brands/pushbullet.png' />
|
||||
<img src='/images/supported_brands/wink.png' />
|
||||
<img src='/images/supported_brands/pushover.png' />
|
||||
|
||||
<img src='/images/supported_brands/google_cast.png' />
|
||||
<img src='/images/supported_brands/telldus_tellstick.png' />
|
||||
<img src='/images/supported_brands/sabnzbd.png' />
|
||||
<img src='/images/supported_brands/netgear.png' />
|
||||
<img src='/images/supported_brands/openwrt.png' />
|
||||
|
||||
</div>
|
||||
|
||||
<p class='pull-right'><a href='/components/'>Browse all »</a></p>
|
||||
|
@ -24,5 +24,5 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="{{ root_url }}/blog/">Blog</a></li>
|
||||
<li><a href="{{ root_url }}/help/help.html">Need help?</a></li>
|
||||
<li><a href="{{ root_url }}/help/">Need help?</a></li>
|
||||
</ul>
|
||||
|
@ -0,0 +1,129 @@
|
||||
---
|
||||
layout: post
|
||||
title: "IP Cameras, Arduinos, Kodi and Efergy Energy Monitors now supported"
|
||||
description: "New support for IP Cameras, Arduinos, Kodi and Efergy monitors"
|
||||
date: 2015-07-11 01:37 -0700
|
||||
date_formatted: "July 11, 2015"
|
||||
comments: true
|
||||
categories: release-notes
|
||||
---
|
||||
|
||||
Another month has passed and some great new features have landed in Home Assistant. This month release has been made possible by [balloob](https://github.com/balloob), [ettisan](https://github.com/ettisan), [fabaff](https://github.com/fabaff), [gyran](https://github.com/gyran), [jamespcole](https://github.com/jamespcole), [michaelarnauts](https://github.com/michaelarnauts), [miniconfig](https://github.com/miniconfig) and [rmkraus](https://github.com/rmkraus).
|
||||
|
||||
This release includes some architectural changes by me. The first is that the frontend is now based on a [NuclearJS](http://optimizely.github.io/nuclear-js/) JavaScript backend. This has greatly helped to organize and optimize the frontend code. Another change is that Home Assistant will now install dependencies on-demand instead of installing dependencies for all supported devices.
|
||||
|
||||
__IP Camera Support__<br>
|
||||
James has worked very hard to add support for IP cameras to Home Assistant which is included in this release. The initial release focusses on providing generic IP camera support. This means that any webcam that can exposes a JPEG image via a url can be integrated.
|
||||
|
||||
Home Assistant will route the requests to your camera via the server allowing you to expose IP camera's inside your network via the Home Assistant app.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: generic
|
||||
name: my sample camera
|
||||
username: MY_USERNAME
|
||||
password: MY_PASSWORD
|
||||
still_image_url: http://194.218.96.92/jpg/image.jpg
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href='https://github.com/balloob/home-assistant/issues'>GitHub</a>.
|
||||
</p>
|
||||
|
||||
<!--more-->
|
||||
|
||||
__Arduino__<br>
|
||||
<img src='/images/supported_brands/arduino.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
Fabian has contributed support for interfacing with Arduinos. This makes it possible to connect your Arduino via USB and expose pins as sensor data and write to pins via switches. Have a look at [the docs](/components/arduino.html) for an extensive guide to get started.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: arduino
|
||||
pins:
|
||||
11:
|
||||
name: Fan Office
|
||||
type: digital
|
||||
12:
|
||||
name: Light Desk
|
||||
type: digital
|
||||
|
||||
sensor:
|
||||
platform: arduino
|
||||
pins:
|
||||
1:
|
||||
name: Door switch
|
||||
type: analog
|
||||
0:
|
||||
name: Brightness
|
||||
type: analog
|
||||
```
|
||||
|
||||
__Kodi (XBMC)__<br>
|
||||
<img src='/images/supported_brands/kodi.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
Ettisan has contributed a Kodi (XBMC) platform for the media player component. This allows you to track all the media that you are playing and allow you to control it.
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
platform: kodi
|
||||
name: Kodi
|
||||
url: http://192.168.0.123/jsonrpc
|
||||
user: kodi
|
||||
password: my_secure_password
|
||||
```
|
||||
|
||||
__TP-Link__<br>
|
||||
<img src='/images/supported_brands/tp-link.png' style='border:none; box-shadow: none; float: right;' width='150' />
|
||||
Michael has added TP-Link support to the device tracker. This allows you to now detect presence if you have a TP-Link router.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: tplink
|
||||
host: YOUR_ROUTER_IP
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
__Efergy energy monitor__<br>
|
||||
<img src='/images/supported_brands/efergy.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
Miniconfig has contributed support for the [Efergy energy meters](https://efergy.com). To get an app token, log in to your efergy account, go to the Settings page, click on App tokens, and click "Add token".
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: efergy
|
||||
app_token: APP_TOKEN
|
||||
utc_offset: UTC_OFFSET
|
||||
monitored_variables:
|
||||
- type: instant_readings
|
||||
- type: budget
|
||||
- type: cost
|
||||
period: day
|
||||
currency: $
|
||||
```
|
||||
|
||||
__Forecast.io__<br>
|
||||
Fabian has added support for [Forecast.io](https://forecast.io/) to get weather forecasts for Home Assistant. You need an API key which is free but requires a [registration](https://developer.forecast.io/register). To add Forecast.io to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: forecast
|
||||
api_key: YOUR_APP_KEY
|
||||
monitored_conditions:
|
||||
- summary
|
||||
- precip_type
|
||||
- precip_intensity
|
||||
- temperature
|
||||
- dew_point
|
||||
- wind_speed
|
||||
- wind_bearing
|
||||
- cloud_cover
|
||||
- humidity
|
||||
- pressure
|
||||
- visibility
|
||||
- ozone
|
||||
```
|
@ -0,0 +1,120 @@
|
||||
---
|
||||
layout: post
|
||||
title: "MQTT, Rasperry PI, Logitech Squeezebox and ASUSWRT routers now supported"
|
||||
description: "New support for MQTT, Rasperry PI GPIO, Logitech Squeezebox and ASUSWRT routers"
|
||||
date: 2015-08-09 18:01 -0700
|
||||
date_formatted: "August 9, 2015"
|
||||
comments: true
|
||||
categories: release-notes
|
||||
---
|
||||
|
||||
It's time for the August release and there is some serious good stuff this time. The core of Home Assistant has gone some serious clean up and a bump in test coverage thanks to [@balloob](https://github.com/balloob). If you're a developer, make sure you read up on [the deprecation notices](https://github.com/balloob/home-assistant/pull/251). [@fabaff](https://github.com/fabaff) did another great round of documentating all the various components.
|
||||
|
||||
__MQTT Support__<br>
|
||||
<img src='/images/supported_brands/mqtt.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
The big new addition in this release is the support for the MQTT protocol by [@fabaff](https://github.com/fabaff) with some help from [@balloob](https://github.com/balloob). It will now be possible to integrate any IoT device that talks via MQTT. For the initial release we support connecting Home Assistant to a broker (no TLS yet). Components can now subscribe and publish to MQTT topics ([see the example][mqtt-example]) and also support for the automation component [has been added][mqtt-automation]. For more information, see [the MQTT component page][mqtt-component].
|
||||
|
||||
[mqtt-example]: https://github.com/balloob/home-assistant/blob/dev/config/custom_components/mqtt_example.py
|
||||
[mqtt-automation]: /components/automation.html#mqtt-based-automation
|
||||
[mqtt-component]: /components/mqtt.html
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
broker: IP_ADDRESS_BROKER
|
||||
# All the other options are optional:
|
||||
port: 1883
|
||||
keepalive: 60
|
||||
qos: 0
|
||||
username: your_username
|
||||
password: your_secret_password
|
||||
```
|
||||
|
||||
<!--more-->
|
||||
|
||||
__Raspberry PI GPIO Support__<br>
|
||||
<img src='/images/supported_brands/raspberry-pi.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
[@gbarba](https://github.com/gbarba) has contributed support to use the general purpose input and output pins on a Raspberry PI as switches inside Home Assistant.
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: rpi_gpio
|
||||
ports:
|
||||
11: Fan Office
|
||||
12: Light Desk
|
||||
```
|
||||
|
||||
__ASUSWRT based routers__<br>
|
||||
<img src='/images/supported_brands/asus.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
[@persandstrom](https://github.com/persandstrom) has contributed support to do prescence detection using ASUSWRT based routers.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: asuswrt
|
||||
host: YOUR_ROUTER_IP
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
__Logitech Squeezebox media player support__<br>
|
||||
<img src='/images/supported_brands/logitech.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
[@persandstrom](https://github.com/persandstrom) also contributed support for the Logitech Squeezebox media player. This allows you to control your Logitech Squeezebox from Home Assistant.
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
platform: squeezebox
|
||||
host: 192.168.1.21
|
||||
port: 9090
|
||||
username: user
|
||||
password: password
|
||||
```
|
||||
|
||||
__Slack notification support__<br>
|
||||
<img src='/images/supported_brands/slack.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
[@jamespcole](https://github.com/jamespcole) has contributed a Slack platform for the notification platform. This allows you to deliver messages to any channel.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
platform: slack
|
||||
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
default_channel: '#general'
|
||||
```
|
||||
|
||||
__Edimax Smart Switches support__<br>
|
||||
<img src='/images/supported_brands/edimax.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
[@rkabadi](https://github.com/rkabadi) has contributed support for integrating Edimax Smart Switches into Home Assistant.
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: edimax
|
||||
host: 192.168.1.32
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
name: Edimax Smart Plug
|
||||
```
|
||||
|
||||
__RFXtrx sensor support__<br>
|
||||
[@danielhiversen](https://github.com/danielhiversen) has contributed support for RFXtrx sensors. It supports sensors that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: rfxtrx
|
||||
device: PATH_TO_DEVICE
|
||||
```
|
||||
|
||||
The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0`
|
||||
|
||||
__TEMPer temperature sensor support__<br>
|
||||
Support for Temper temperature sensors has been contributed by [@rkabadi](https://github.com/rkabadi).
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: temper
|
||||
```
|
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Verisure devices and modern TP-Link routers now supported"
|
||||
description: "New support for Verisure switches, sensors and hygrometers and modern TP-Link routers"
|
||||
date: 2015-08-17 20:00 -0700
|
||||
date_formatted: "August 17, 2015"
|
||||
comments: true
|
||||
categories: release-notes
|
||||
---
|
||||
|
||||
A minor bug fix release to fix some issues that have come up since the last release. Please upgrade as soon as possible by running `git pull` from the Home Assistant directory.
|
||||
|
||||
This release is a major milestone in our test coverage as we've crossed into the 80s! It has to be noted that this covers mainly the core and automation components. Platforms that communicate with IoT devices have been excluded.
|
||||
|
||||
As we didn't want to just push out bug fixes, this release includes a few additions:
|
||||
|
||||
- Support for modern TP-Link routers like the ArcherC9 line has been contributed by [@chrisvis](https://github.com/chrisvis).
|
||||
- Improved support for MQTT topic subscriptions has been contributed by [@qrtn](https://github.com/qrtn)
|
||||
|
||||
__Verisure Support__<br>
|
||||
<img src='/images/supported_brands/verisure.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
||||
Home Assistant support to integrate your [Verisure](https://www.verisure.com/) alarms, hygrometers, sensors and thermometers has been contributed by [@persandstrom](https://github.com/persandstrom).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
verisure:
|
||||
username: user@example.com
|
||||
password: password
|
||||
alarm: 1
|
||||
hygrometers: 0
|
||||
smartplugs: 1
|
||||
thermometers: 0
|
||||
```
|
@ -29,10 +29,10 @@ automation:
|
||||
service_data: {"message":"The sun has set"}
|
||||
```
|
||||
|
||||
## Setting up triggers
|
||||
## {% linkable_title Setting up triggers %}
|
||||
|
||||
#### Time-based automation
|
||||
This allows you to trigger actions whenever the time matches your filter. You can setup filters to match on hours, minutes and seconds. Any filter that you omit will match all values.
|
||||
#### {% linkable_title Time-based automation %}
|
||||
This allows you to trigger actions whenever the time matches your filter. You can setup filters to match on hours, minutes and seconds. Any filter that you omit will match all values.
|
||||
|
||||
Here are some example values:
|
||||
|
||||
@ -49,7 +49,7 @@ Here are some example values:
|
||||
time_seconds: 0
|
||||
```
|
||||
|
||||
#### State-based automation
|
||||
#### {% linkable_title State-based automation %}
|
||||
This allows you to trigger actions based on state changes of any entity within Home Assistant. You can omit the `state_from` and `state_to` to match all.
|
||||
|
||||
```
|
||||
@ -76,7 +76,21 @@ This allows you to trigger actions based on state changes of any entity within H
|
||||
Use quotes around your values for <code>state_from</code> and <code>state_to</code> to avoid the YAML parser interpreting some values as booleans.
|
||||
</p>
|
||||
|
||||
## Setting up the action
|
||||
#### {% linkable_title MQTT-based automation %}
|
||||
This allows you to trigger actions based on messages on an MQTT topic. You can specify an optional payload to match as well.
|
||||
|
||||
```
|
||||
# Match any changes to bathroom light
|
||||
platform: mqtt
|
||||
mqtt_topic: home/bathroom/light
|
||||
|
||||
# Match only if bathroom light is turned on
|
||||
platform: mqtt
|
||||
mqtt_topic: home/bathroom/light
|
||||
mqtt_payload: 'on'
|
||||
```
|
||||
|
||||
## {% linkable_title Setting up the action %}
|
||||
|
||||
Currently the only supported action is calling a service. Services are what devices expose to be controlled, so this will allow us to control anything that Home Assistant can control.
|
||||
|
||||
@ -95,7 +109,7 @@ Currently the only supported action is calling a service. Services are what devi
|
||||
service_data: {"message":"YAY"}
|
||||
```
|
||||
|
||||
## Putting it all together
|
||||
## {% linkable_title Putting it all together %}
|
||||
For every combination of a trigger and an action we will have to combine the configuration lines and add it to an `automation` component entry in `configuration.yaml`. You can add an optional `alias` key to the configuration to make the logs more understandable. To setup multiple entries, append 2, 3 etc to the section name. An example of a `configuration.yaml` file:
|
||||
|
||||
```
|
||||
|
25
source/components/camera.generic.markdown
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Generic IP Camera"
|
||||
description: "Instructions how to integrate IP cameras within Home Assistant."
|
||||
date: 2015-07-11 0:36
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
<img src='/images/supported_brands/camera-web.png' class='brand pull-right' />
|
||||
|
||||
This component allows you to integrate any IP camera into Home Assistant. It supports fetching images from a url with optional HTTP authentication.
|
||||
|
||||
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: generic
|
||||
name: my sample camera
|
||||
username: MY_USERNAME
|
||||
password: MY_PASSWORD
|
||||
still_image_url: http://194.218.96.92/jpg/image.jpg
|
||||
```
|
28
source/components/device_tracker.asuswrt.markdown
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ASUSWRT support"
|
||||
description: "Instructions how to integrate ASUSWRT based routers into Home Assistant."
|
||||
date: 2015-08-06 19:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/asus.png' class='brand pull-right' />
|
||||
This platform offers presence detection by looking at connected devices to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
|
||||
|
||||
To use an ASUSWRT router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
platform: asuswrt
|
||||
host: YOUR_ROUTER_IP
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
This device tracker needs telnet to be enabled on the router.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker.html) for instructions how to configure the people to be tracked.
|
@ -12,6 +12,8 @@ footer: true
|
||||
<img src='/images/supported_brands/ddwrt.png' class='brand pull-right' />
|
||||
This platform offers presence detection by looking at connected devices to a [DD-WRT](http://www.dd-wrt.com/site/index) based router.
|
||||
|
||||
To use a DD-WRRT router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
|
@ -10,7 +10,7 @@ footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/tp-link.png' class='brand pull-right' />
|
||||
This platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) device.
|
||||
This platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) device. This includes the ArcherC9 line.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -64,6 +64,18 @@ Entities are things that you want to observe within Home Assistant. Support for
|
||||
<td>Integrate MySensors sensors.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><a href='/components/sensor.temper.html'>TEMPer sensors</a></td>
|
||||
<td>Integrate TEMPer sensors to get the current temperature.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/device_tracker.asuswrt.html'><img src='/images/supported_brands/asus.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/device_tracker.asuswrt.html'>ASUSWRT routers</a></td>
|
||||
<td>Offers presence detection by looking at connected devices.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/device_tracker.ddwrt.html'><img src='/images/supported_brands/ddwrt.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/device_tracker.ddwrt.html'>DD-WRT routers</a></td>
|
||||
@ -127,6 +139,12 @@ Entities are things that you want to observe within Home Assistant. Support for
|
||||
<td>Track what is being played and control playback.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/media_player.squeezebox.html'><img src='/images/supported_brands/logitech.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/media_player.squeezebox.html'>Squeezebox</a></td>
|
||||
<td>Track what is being played and control playback.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/switch.command_switch.html'><img src='/images/supported_brands/utilities-terminal.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/switch.command_switch.html'>Command line Switch</a></td>
|
||||
@ -145,6 +163,18 @@ Entities are things that you want to observe within Home Assistant. Support for
|
||||
<td>Control the motion detection setting on your Hikvision camera.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/switch.edimax.html'><img src='/images/supported_brands/edimax.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/switch.edimax.html'>Edimax switches</a></td>
|
||||
<td>Control the state of your Edimax switches.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/switch.rpi_gpio.html'><img src='/images/supported_brands/raspberry-pi.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/switch.rpi_gpio.html'>Raspberry PI GPIO</a></td>
|
||||
<td>Control the GPIO of a Raspberry Pi.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/isy994.html'><img src='/images/supported_brands/insteon.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/isy994.html'>Insteon Devices</a></td>
|
||||
@ -163,6 +193,24 @@ Entities are things that you want to observe within Home Assistant. Support for
|
||||
<td>Controls your Arduino's digital pins and read from the analog pins.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/sensor.efergy.html'><img src='/images/supported_brands/efergy.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/sensor.efergy.html'>Efergy Engage hubs</a></td>
|
||||
<td>Monitors home energy use as measured by an Efergy engage hub.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><a href='/components/sensor.rfxtrx.html'>RFXtrx sensors</a></td>
|
||||
<td>Monitors values from RFXtrx sensors.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/camera.generic.html'><img src='/images/supported_brands/camera-web.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/camera.generic.html'>Generic IP cameras</a></td>
|
||||
<td>Integrate any IP camera or image url into a camera feed.</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<p class='note'>
|
||||
@ -180,13 +228,15 @@ the manufacturers of these devices.
|
||||
|
||||
Home Assistant integrates with a variety of third party Home Automation hubs and networks. It allows you to control the connected switches, lights and sensors via Home Assistant. Click on the following logos for setup instructions:
|
||||
|
||||
[<img src='/images/supported_brands/z-wave.png' class='brand' />](/components/zwave.html)
|
||||
[<img src='/images/supported_brands/telldus_tellstick.png' class='brand' />](/components/tellstick.html)
|
||||
[<img src='/images/supported_brands/vera.png' class='brand' />](/components/vera.html)
|
||||
[<img src='/images/supported_brands/wink.png' class='brand' />](/components/wink.html)
|
||||
[<img src='/images/supported_brands/universal_devices.png' class='brand' />](/components/isy994.html)
|
||||
[<img src='/images/supported_brands/modbus.png' class='brand' />](/components/modbus.html)
|
||||
[<img src='/images/supported_brands/arduino.png' class='brand' />](/components/arduino.html)
|
||||
[<img src='/images/supported_brands/z-wave.png' class='brand' alt="Zwave" />](/components/zwave.html)
|
||||
[<img src='/images/supported_brands/telldus_tellstick.png' class='brand' alt="Tellstick" />](/components/tellstick.html)
|
||||
[<img src='/images/supported_brands/vera.png' class='brand' alt="Vera" />](/components/vera.html)
|
||||
[<img src='/images/supported_brands/wink.png' class='brand' alt="Wink" />](/components/wink.html)
|
||||
[<img src='/images/supported_brands/universal_devices.png' class='brand' alt="ISY994" />](/components/isy994.html)
|
||||
|
||||
[<img src='/images/supported_brands/modbus.png' class='brand' alt="Modbus" />](/components/modbus.html)
|
||||
[<img src='/images/supported_brands/arduino.png' class='brand' alt="Arduino" />](/components/arduino.html)
|
||||
[<img src='/images/supported_brands/verisure.png' class='brand' alt="Verisure" />](/components/verisure.html)
|
||||
|
||||
<p class='note'>
|
||||
Support for these devices is provided by the Home Assistant community and not
|
||||
@ -250,6 +300,12 @@ the manufacturers of these devices.
|
||||
<td>Allow sending messages using PushOver.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/notify.slack.html'><img src='/images/supported_brands/slack.png' class='brand' /></a></td>
|
||||
<td><a href='/components/notify.slack.html'>Slack</a></td>
|
||||
<td>Allow sending messages over Slack.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/notify.smtp.html'><img src='/images/supported_brands/smtp.png' class='brand' /></a></td>
|
||||
<td><a href='/components/notify.smtp.html'>E-Mail</a></td>
|
||||
@ -315,6 +371,12 @@ the manufacturers of these devices.
|
||||
<td><a href='/components/sensor.time_date.html'>Time & Date</a></td>
|
||||
<td>Displays the time and the date.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href='/components/mqtt.html'><img src='/images/supported_brands/mqtt.png' class='brand overview' /></a></td>
|
||||
<td><a href='/components/mqtt.html'>MQTT</a></td>
|
||||
<td>Allow sending and recieving MQTT messages.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p class='note'>
|
||||
|
26
source/components/media_player.squeezebox.markdown
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Logitech Squeezebox support"
|
||||
description: "Instructions how to integrate a Logitech Squeezebox into Home Assistant."
|
||||
date: 2015-08-09 11:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/logitech.png' class='brand pull-right' />
|
||||
The squeezebox platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) multimedia system from Home Assistant.
|
||||
|
||||
To add your Squeezebox to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
platform: squeezebox
|
||||
host: 192.168.1.21
|
||||
port: 9090
|
||||
username: user
|
||||
password: password
|
||||
```
|
||||
|
@ -38,6 +38,9 @@ sensor:
|
||||
name: My boolean sensor
|
||||
2:
|
||||
name: My other boolean sensor
|
||||
coils:
|
||||
0:
|
||||
name: My coil switch
|
||||
|
||||
switch:
|
||||
platform: modbus
|
||||
|
65
source/components/mqtt.markdown
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT"
|
||||
description: "Instructions how to setup MQTT within Home Assistant."
|
||||
date: 2015-08-07 18:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
<img src='/images/supported_brands/mqtt.png' class='brand pull-right' />
|
||||
MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport.
|
||||
|
||||
The MQTT component needs an MQTT broker like [Mosquitto](http://mosquitto.org/) or [Mosca](http://www.mosca.io/). The Eclipse Foundation is running a public MQTT broker at [iot.eclipse.org](iot.eclipse.org) or the Mosquitto Project under [test.mosquitto.org](http://test.mosquitto.org). If you prefer to use a public, keep in mind to adjust the topic and that your messages may be publicly accessible.
|
||||
|
||||
To integrate MQTT into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
mqtt:
|
||||
broker: IP_ADDRESS_BROKER
|
||||
# All the other options are optional:
|
||||
port: 1883
|
||||
keepalive: 60
|
||||
qos: 0
|
||||
username: your_username
|
||||
password: your_secret_password
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
The MQTT component has no TLS support at the moment. This means that only plain-text communication is possible.
|
||||
</p>
|
||||
|
||||
## Building on top of MQTT
|
||||
|
||||
There are two ways to integrate MQTT into your process. One is by using the [MQTT-automation rule](/components/automation.html#mqtt-based-automation). The other one is by integrating it into a component. See the [MQTT example component](https://github.com/balloob/home-assistant/blob/dev/config/custom_components/mqtt_example.py) how to do this.
|
||||
|
||||
## Testing
|
||||
|
||||
For debugging purposes `mosquitto` is shipping commandline tools to send and recieve MQTT messages. For sending test messages to a broker running on localhost:
|
||||
|
||||
```bash
|
||||
mosquitto_pub -h 127.0.0.1 -t home-assistant/switch/1/on -m "Switch is ON"
|
||||
```
|
||||
|
||||
Another way to send MQTT messages by hand is to use the "Developer Tools" in the Frontend. Choose "Call Service" and then `mqtt/mqtt_send` under "Available Services". Enter something similar to the example below into the "Service Data" field.
|
||||
|
||||
```json
|
||||
{
|
||||
"topic":"home-assistant/switch/1/on",
|
||||
"payload":"Switch is ON"
|
||||
}
|
||||
```
|
||||
|
||||
The message should appear on the bus:
|
||||
|
||||
```bash
|
||||
... [homeassistant] Bus:Handling <Event MQTT_MESSAGE_RECEIVED[L]: topic=home-assistant/switch/1/on, qos=0, payload=Switch is ON>
|
||||
```
|
||||
|
||||
For reading all messages sent on the topic `home-assistant` to a broker running on localhost:
|
||||
|
||||
```bash
|
||||
mosquitto_sub -h 127.0.0.1 -v -t "home-assistant/#"
|
||||
```
|
26
source/components/notify.slack.markdown
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Slack notification support"
|
||||
description: "Instructions how to add Slack notifications to Home Assistant."
|
||||
date: 2015-08-06 18:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/slack.png' class='brand pull-right' />
|
||||
The slack platform allows you to deliver notifications from Home Assistant to [Slack](https://slack.com/).
|
||||
|
||||
You need to obtain the [Slack API token](https://api.slack.com/web?sudo=1) to be able to send notifications.
|
||||
|
||||
To enable the slack notification in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
platform: slack
|
||||
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||
default_channel: '#general'
|
||||
```
|
||||
|
27
source/components/sensor.efergy.markdown
Normal file
@ -0,0 +1,27 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Efergy support"
|
||||
description: "Instructions how to integrate Efergy devices within Home Assistant."
|
||||
date: 2015-07-11 0:15
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/efergy.png' class='brand pull-right' />
|
||||
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant. To get an app token, log in to your efergy account, go to the Settings page, click on App tokens, and click "Add token".
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: efergy
|
||||
app_token: APP_TOKEN
|
||||
utc_offset: UTC_OFFSET
|
||||
monitored_variables:
|
||||
- type: instant_readings
|
||||
- type: budget
|
||||
- type: cost
|
||||
period: day
|
||||
currency: $
|
||||
```
|
23
source/components/sensor.rfxtrx.markdown
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
layout: page
|
||||
title: "RFXtrx sensors support"
|
||||
description: "Instructions how to integrate RFXtrx sensors into Home Assistant."
|
||||
date: 2015-08-06 17:15
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
The rfxtrx platform support sensors that communicate in the frequency range of 433.92 MHz.
|
||||
|
||||
To enable the RFXtrx sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: rfxtrx
|
||||
device: PATH_TO_DEVICE
|
||||
```
|
||||
|
||||
The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0`
|
||||
|
20
source/components/sensor.temper.markdown
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "TEMPer sensors support"
|
||||
description: "Instructions how to integrate TEMPer sensors into Home Assistant."
|
||||
date: 2015-08-06 19:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
This temper sensor platform allows you to get the current temperature from a TEMPer device.
|
||||
|
||||
To use your TEMPer sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: temper
|
||||
```
|
@ -19,7 +19,7 @@ To enable it, add the following lines to your `configuration.yaml`:
|
||||
switch:
|
||||
platform: command_switch
|
||||
switches:
|
||||
- kitchen_light:
|
||||
oncmd: switch_command on kitchen
|
||||
offcmd: switch_command off kitchen
|
||||
kitchen_light:
|
||||
oncmd: switch_command on kitchen
|
||||
offcmd: switch_command off kitchen
|
||||
```
|
||||
|
25
source/components/switch.edimax.markdown
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Edimax switches support"
|
||||
description: "Instructions how to integrate Edimax switches into Home Assistant."
|
||||
date: 2015-06-10 22:54
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/edimax.png' class='brand pull-right' />
|
||||
This edimax switch platform allows you to control the state of your [Edimax](http://www.edimax.com/edimax/merchandise/merchandise_list/data/edimax/global/home_automation_smart_plug/) switches.
|
||||
|
||||
To use your Edimax switch in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: edimax
|
||||
host: 192.168.1.32
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
name: Edimax Smart Plug
|
||||
```
|
26
source/components/switch.rpi_gpio.markdown
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Raspberry PI GPIO support"
|
||||
description: "Instructions how to integrate the GPIO of a Raspberry PI into Home Assistant."
|
||||
date: 2015-08-07 14:00
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/raspberry-pi.png' class='brand pull-right' />
|
||||
The rpi_gpio switch platform allows you to control the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/).
|
||||
|
||||
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: rpi_gpio
|
||||
ports:
|
||||
11: Fan Office
|
||||
12: Light Desk
|
||||
```
|
||||
|
||||
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
|
@ -10,11 +10,12 @@ footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/belkin_wemo.png' class='brand' />
|
||||
The wemo platform allows you to control your [Belkin WeMo](http://www.belkin.com/us/p/P-F7C027/) switches from within Home Assistant.
|
||||
The wemo platform allows you to control your [Belkin WeMo](http://www.belkin.com/us/p/P-F7C027/) switches from within Home Assistant.
|
||||
|
||||
To add Wemo switches to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: wemo
|
||||
- platform: wemo
|
||||
```
|
||||
|
33
source/components/verisure.markdown
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Verisure"
|
||||
description: "Instructions how to setup Verisure devices within Home Assistant."
|
||||
date: 2015-08-17 20:28
|
||||
sidebar: false
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<img src='/images/supported_brands/verisure.png' class='brand pull-right' />
|
||||
|
||||
Home Assistant has support to integrate your [Verisure](https://www.verisure.com/) devices.
|
||||
|
||||
We support:
|
||||
|
||||
* Smartplugs
|
||||
* Reading from thermometers and hygrometers integrated in various devices
|
||||
* Reading alarm status
|
||||
|
||||
Username and password are required. Other variables are optional and allow you to disable certain devices.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
verisure:
|
||||
username: user@example.com
|
||||
password: password
|
||||
alarm: 1
|
||||
hygrometers: 0
|
||||
smartplugs: 1
|
||||
thermometers: 0
|
||||
```
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Home Assistant",
|
||||
"short_name": "Assistant",
|
||||
"start_url": "/",
|
||||
"start_url": "/demo/",
|
||||
"display": "standalone",
|
||||
"icons": [
|
||||
{
|
||||
|
6
source/demo/webcomponents-lite.min.js
vendored
@ -56,9 +56,9 @@ The Home Assistant object contains three objects to help you interact with the s
|
||||
|
||||
| Object | Description |
|
||||
| ------ | ----------- |
|
||||
| <code>hass.states</code> | This is the StateMachine. It allows you to set states and track when they are changed. [See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L473). |
|
||||
| <code>hass.events</code> | This is the EventBus. It allows you to trigger and listen for events.<br>[See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L308). |
|
||||
| <code>hass.services</code> | This is the ServiceRegistry. It allows you to register services.<br>[See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L589). |
|
||||
| <code>hass.states</code> | This is the StateMachine. It allows you to set states and track when they are changed. [See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L589). |
|
||||
| <code>hass.bus</code> | This is the EventBus. It allows you to trigger and listen for events.<br>[See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L387). |
|
||||
| <code>hass.services</code> | This is the ServiceRegistry. It allows you to register services.<br>[See available methods](https://github.com/balloob/home-assistant/blob/master/homeassistant/__init__.py#L738). |
|
||||
|
||||
### {% linkable_title Example on using the configuration parameter %}
|
||||
If your configuration file contains the following lines:
|
||||
|
@ -22,15 +22,19 @@ This page contains a list of people who have contributed in one way or another t
|
||||
- [andythigpen](https://github.com/andythigpen)
|
||||
- [Austin](https://github.com/trainman419)
|
||||
- [Azelphur](https://github.com/Azelphur)
|
||||
- [Chris Mulder](https://github.com/chrisvis)
|
||||
- [Daniel Iversen](https://github.com/danielhiversen)
|
||||
- [Edwin Smulders](https://github.com/Dutchy-)
|
||||
- [ettisan](https://github.com/ettisan)
|
||||
- [Fabian Affolter](https://github.com/fabaff)
|
||||
- [Finbarr Brady](https://github.com/fbradyirl)
|
||||
- [Geoff Norton](https://github.com/kangaroo)
|
||||
- [gottsman](https://github.com/gottsman)
|
||||
- [Guillem Barba](https://github.com/gbarba)
|
||||
- [Gustav Ahlberg](https://github.com/Gyran)
|
||||
- [Issac Kelly](https://github.com/issackelly)
|
||||
- [James Cole](https://github.com/jamespcole)
|
||||
- [Jeffrey Tang](https://github.com/Qrtn)
|
||||
- [John McLaughlin](https://github.com/loghound)
|
||||
- [John Williams](https://github.com/Jaidan)
|
||||
- [Joseph Piron](https://github.com/eagleamon)
|
||||
@ -38,10 +42,13 @@ This page contains a list of people who have contributed in one way or another t
|
||||
- [kixam](https://github.com/kixam)
|
||||
- [Markus Stenberg](https://github.com/fingon)
|
||||
- [Michael Arnauts](https://github.com/michaelarnauts)
|
||||
- [miniconfig](https://github.com/miniconfig)
|
||||
- [Piratonym](https://github.com/Piratonym)
|
||||
- [Rev Michael Greb](https://github.com/mikegrb)
|
||||
- [rkabadi](https://github.com/rkabadi)
|
||||
- [Ryan Kraus](https://github.com/rmkraus)
|
||||
- [Theodor Lindquist](https://github.com/theolind)
|
||||
- [vitorespindola](https://github.com/vitorespindola)
|
||||
- [wind-rider](https://github.com/wind-rider)
|
||||
|
||||
This page is irregularly updated. As a base we use the Github [contributors overview](https://github.com/balloob/home-assistant/graphs/contributors) of the Home Assistant git repository and the [overview](https://github.com/balloob/home-assistant.io/graphs/contributors) for [home-assistant.io](https://home-assistant.io). If you think that you are missing, please let us know or add yourself.
|
||||
|
@ -9,58 +9,92 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Home Assistant uses [Polymer](https://www.polymer-project.org/) for the frontend. Polymer allows building encapsulated and interoperable custom elements that extend HTML itself.
|
||||
Home Assistant uses [Polymer](https://www.polymer-project.org/) for the UI and [NuclearJS](http://optimizely.github.io/nuclear-js/) for all data management.
|
||||
|
||||
* Polymer allows building encapsulated custom HTML elements.
|
||||
[Home-Assistant-Polymer source code on GitHub.](https://github.com/balloob/home-assistant-polymer)
|
||||
* NuclearJS is a reactive flux built with ImmutableJS data structures.
|
||||
[Home-Assistant-JS source code on GitHub.](https://github.com/balloob/home-assistant-js)
|
||||
|
||||
<p class='note warning'>
|
||||
Do not use development mode in production. Home Assistant uses aggressive caching to improve the mobile experience. This is disabled during development so that you do not have to restart the server in between changes.
|
||||
</p>
|
||||
|
||||
# {% linkable_title Turning on development mode %}
|
||||
Home Assistant will by default serve the compiled version of the frontend. To change it so that the components are served separately, update your `configuration.yaml` to have these lines:
|
||||
Home Assistant will by default serve the compiled version of the frontend. To change it so that each component and JavaScript are served separately, update your `configuration.yaml` to have these lines:
|
||||
|
||||
```
|
||||
http:
|
||||
development: 1
|
||||
```
|
||||
|
||||
After turning on development mode, you will have to install the web components that the frontend depends on. You can do this by running the `build_frontend` script.
|
||||
After turning on development mode, you will have to install the web components that the frontend depends on. Firing off a build of the frontend by running `scripts/build_frontend` will ensure all dependencies are installed.
|
||||
|
||||
<p class='note warning'>
|
||||
Do not use development mode in production. Home Assistant uses aggressive caching to improve the mobile experience. This is disabled during development so that you do not have to restart the server in between changes.
|
||||
</p>
|
||||
Once this is done, you can start editting the webcomponents in the folder `homeassistant/components/frontend/www_static/home-assistant-polymer/src`. To see the changes you've made, simply refresh your browser.
|
||||
|
||||
# {% linkable_title Building the frontend %}
|
||||
## {% linkable_title Enabling JavaScript backend development %}
|
||||
|
||||
To build the frontend you need to install node and the npm packages bower and vulcanize.
|
||||
Polymer is only providing a UI toolkit for Home Assistant. All data management and interaction with the server is done by `home-assistant-js` leveraging NuclearJS. To enable JavaScript development:
|
||||
|
||||
```bash
|
||||
npm install -g bower vulcanize
|
||||
cd homeassistant/components/frontend/www_static/home-assistant-polymer/
|
||||
npm run setup_js_dev
|
||||
npm run js_dev
|
||||
```
|
||||
|
||||
After that you can run [`./build_frontend`](https://github.com/balloob/home-assistant/blob/master/build_frontend) from the project directory. This will take all the used web components and 'vulcanize' it into a single file to be served by Home Assistant. The script also updates [`homeassistant/components/http/frontend.py`](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/frontend.py) with an MD5 hash of the frontend.
|
||||
`npm run js_dev` will start the process that will ensure that your latest changes to the JavaScript files will be loaded when you refresh the page. This command has to be always running while working on home-assistant-js.
|
||||
|
||||
After your changes have been accepted into the `home-assistant-js` repository, we'll have to update Home Assistant Polymer to use the latest version. This can be done by updating `package.json`. Look for the line that contains `home-assistant-js` and update the SHA to the SHA of your commit.
|
||||
|
||||
# {% linkable_title Building the Polymer frontend %}
|
||||
|
||||
Building a new version of the frontend is as simple as running `scripts/build_frontend`. This fires off the following commands:
|
||||
|
||||
* **home-assistant-polymer**: Install NPM dependencies.
|
||||
* **home-assistant-polymer**: start frontend build.
|
||||
* Compile all used JavaScript to `_app_compiled.js`.
|
||||
* Install Bower dependencies.
|
||||
* Vulcanize all Webcomponents to `frontend.vulcan.html`.
|
||||
* Minify `frontend.vulcan.html` and save it as `frontend.html`.
|
||||
* Copy the webcomponents polyfill `webcomponents-lite.min.js` from **home-assistant-polymer** to `components/frontend/www_static/webcomponents-lite.min.js`.
|
||||
* Copy the final frontend build `frontend.html` from **home-assistant-polymer** to `components/frontend/www_static/frontend.html`.
|
||||
* Generate MD5 hash of `frontend.html` to signal caches to redownload the UI.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/frontend/polymer-build-architecture.png' alt='Polymer build architecture diagram' />
|
||||
</p>
|
||||
|
||||
# {% linkable_title Adding state cards %}
|
||||
|
||||
The main interface of Home Assistant is a list of current states in the State Machine. It will filter out the group states and offers options to filter by groups on the top.
|
||||
The main interface of Home Assistant is a list of the current entities and their states. For each entity in the system, a state card will be rendered. State cards will show a state badge, the name of the entity, when the state has last changed and the current state or a control to interact with it.
|
||||
|
||||
Currently there are two supported card types:
|
||||
<img src='/images/frontend/frontend-cards.png' />
|
||||
|
||||
* Display: shows the state on the card
|
||||
* Toggle: allows the user to toggle a device on/off from the card
|
||||
Some domains will be filtered out of the main view and are available through separate menu options. Examples are `group`, `script`, `scene`.
|
||||
|
||||
To add your own card type, follow the following steps:
|
||||
The different card types can be found [here](https://github.com/balloob/home-assistant-polymer/tree/master/src/cards).
|
||||
|
||||
1. Adjust the cardType property of the State class in [home-assistant-api.html](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/home-assistant-api.html) to return your new card type when appropriate.
|
||||
2. Create a new component following the naming convention state-card-CARDTYPE.html in [/cards/](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/cards/).
|
||||
3. Import your new component in [/cards/state-card-content.html](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/cards/state-card-content.html).
|
||||
Adding a custom card type can be done with a few simple steps. For this example we will add a new state card for the domain `camera`:
|
||||
_(All files in this example link to their source-code)_
|
||||
|
||||
1. Add `'camera'` to the array `DOMAINS_WITH_CARD` in the file [`/util/state-card-type.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/util/state-card-type.js#L3-L4).
|
||||
2. Create the files `state-card-camera.html` and `state-card-camera.js` in the folder [`/cards/`](https://github.com/balloob/home-assistant-polymer/tree/master/src/cards).
|
||||
3. Add `require('./state-card-camera')` to [`state-card-content.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/cards/state-card-content.js).
|
||||
4. Add `<link rel="import" href="state-card-camera.html">` to [`state-card-content.html`](https://github.com/balloob/home-assistant-polymer/blob/master/src/cards/state-card-content.html).
|
||||
|
||||
# {% linkable_title More info screens for custom types %}
|
||||
|
||||
When you click on a card, the more info dialog will open for that card. This will allow you to see more information and more options to control that entity.
|
||||
Whenever the user taps or clicks on one of the cards, a more info dialog will show. The header of this dialog will be the state card, followed by the history of this entity for the last 24 hours. Below this the more info component is rendered for that entity. The more info component can show more information or allow more ways of control.
|
||||
|
||||
<p class='img' style='max-width: 300px; margin-left: auto; margin-right: auto;'>
|
||||
<img src='/images/screenshots/more-info-dialog-light.png'>
|
||||
The more info dialog for a light allows us to control the color and the brightness.
|
||||
<p class='img' style='max-width: 400px; margin-left: auto; margin-right: auto;'>
|
||||
<img src='/images/frontend/frontend-more-info-light.png'>
|
||||
The more info dialog for a light allows the user to control the color and the brightness.
|
||||
</p>
|
||||
|
||||
To add your own more info dialog, follow the following steps:
|
||||
The instructions to add a more info dialog are very similar to adding a new card type. This example will add a new more info component for the domain `camera`:
|
||||
_(All files in this example link to their source-code)_
|
||||
|
||||
1. Adjust the moreInfoType property of the State class in [home-assistant-api.html](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/home-assistant-api.html) to return your new more info type when appropriate.
|
||||
2. Create a new component following the naming convention more-info-CARDTYPE.html in [/more-infos/](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/more-infos/).
|
||||
3. Import your new component in [/more-infos/more-info-content.html](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/http/www_static/polymer/more-infos/more-info-content.html).
|
||||
1. Add `'camera'` to the array `DOMAINS_WITH_MORE_INFO` in the file [`util/state-more-info-type.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/util/state-more-info-type.js#L1).
|
||||
2. Create the files `more-info-camera.html` and `more-info-camera.js` in the folder [`/more-infos`](https://github.com/balloob/home-assistant-polymer/tree/master/src/more-infos).
|
||||
3. Add `require('./more-info-camera')` to [`more-info-content.js`](https://github.com/balloob/home-assistant-polymer/blob/master/src/more-infos/more-info-content.js)
|
||||
4. Add `<link rel="import" href="more-info-camera.html">` to [`more-info-content.html`](https://github.com/balloob/home-assistant-polymer/blob/master/src/more-infos/more-info-content.html)
|
||||
|
@ -21,4 +21,4 @@ Home Assistant is not available on the Play Store. Instead, Home Assistant lever
|
||||
<img src='/images/screenshots/android-homescreen-guide.gif' />
|
||||
</p>
|
||||
|
||||
Some internet service providers will only offer dynamic IPs. This can cause you to be unable to access Home Assistant while being remote. You can solve this by using a free Dynamic DNS service like [No-IP](http://www.noip.com/).
|
||||
Some internet service providers will only offer dynamic IPs. This can cause you to be unable to access Home Assistant while being remote. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/).
|
||||
|
@ -18,14 +18,79 @@ footer: true
|
||||
<label class='menu-selector docker' for='docker-install'>Install using Docker</label>
|
||||
<div class='install-instructions normal'>
|
||||
|
||||
<h3>Preparation</h3>
|
||||
<!-- ###### Preparation START ######################## -->
|
||||
<div class='prep-instructions-container'>
|
||||
<input name='prep-instructions' type='radio' id='generic-prep' checked>
|
||||
<input name='prep-instructions' type='radio' id='fedora-prep'>
|
||||
<input name='prep-instructions' type='radio' id='centos-prep'>
|
||||
<label class='menu-selector generic' for='generic-prep'>Generic</label>
|
||||
<label class='menu-selector fedora' for='fedora-prep'>Fedora</label>
|
||||
<label class='menu-selector centos' for='centos-prep'>CentOS</label>
|
||||
|
||||
<!-- ###### Preparation instructions Generic ######################## -->
|
||||
<div class='prep-instructions generic'>
|
||||
Installing and running Home Assistant on your local machine is easy. Make sure you have <a href='https://www.python.org/downloads/'>Python 3.4</a> and <a href='http://git-scm.com/downloads'>git</a> installed and execute the following code in a console:
|
||||
|
||||
|
||||
</div>
|
||||
<!-- ###### Preparation instructions Fedora ######################## -->
|
||||
<div class='prep-instructions fedora'>
|
||||
<p>The preparation of a <a href='https://fedoraproject.org'>Fedora</a> 22 host will only take a couple of minutes. First install Python 3.4, <code>git</code> and the other needed packages out of the <a href='https://admin.fedoraproject.org/pkgdb'>Fedora Package Collection</a>. This ensure that you receive updates in the future.</p>
|
||||
|
||||
<p class='note'>
|
||||
It's assumed that your user has an entry in the sudoers file. Otherwise, run the commands which needs more privileges as root.
|
||||
</p>
|
||||
|
||||
```bash
|
||||
sudo dnf -y install python3 python3-devel git gcc
|
||||
```
|
||||
|
||||
</div>
|
||||
<!-- ##### Preparation instructions Centos ######################### -->
|
||||
<div class='prep-instructions centos'>
|
||||
|
||||
<p><a href='https://www.centos.org/'>CentOS</a> is providing longtime support and often not shipping the latest release of a software component. To run, Python 3.x on CentOS <a href='https://www.softwarecollections.org/en/scls/rhscl/rh-python34/'>Software Collections</a> needs to be activated.</p>
|
||||
|
||||
<h5>Step 1. Install the tools for the Software Collection</h5>
|
||||
|
||||
```bash
|
||||
sudo yum -y install scl-utils
|
||||
```
|
||||
|
||||
<h5>Step 2. Make the repository available.</h5>
|
||||
|
||||
```bash
|
||||
sudo yum -y install https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm
|
||||
```
|
||||
|
||||
<h5>Step 3. Install Python 3.x</h5>
|
||||
|
||||
```bash
|
||||
sudo yum -y install rh-python34
|
||||
```
|
||||
|
||||
<h5>Step 4. Start using software collections:</h5>
|
||||
|
||||
```bash
|
||||
scl enable rh-python34 bash
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<!-- ###### Preparation END ######################## -->
|
||||
|
||||
<h3>Installation</h3>
|
||||
|
||||
<p>
|
||||
```bash
|
||||
git clone --recursive https://github.com/balloob/home-assistant.git
|
||||
python3 -m venv home-assistant
|
||||
cd home-assistant
|
||||
python3 -m pip install -r requirements.txt
|
||||
source bin/activate
|
||||
python3 -m homeassistant --open-ui
|
||||
```
|
||||
</p>
|
||||
@ -34,10 +99,25 @@ python3 -m homeassistant --open-ui
|
||||
<li>Download Home Assistant</li>
|
||||
<li>Setup an isolated environment</li>
|
||||
<li>Navigate to downloaded files</li>
|
||||
<li>Install the dependencies</li>
|
||||
<li>Activate the isolated environment (on Windows, run <code>Scripts/activate.bat</code>)</li>
|
||||
<li>Launch Home Assistant and serve web interface on <a href='http://localhost:8123'>http://localhost:8123</a></li>
|
||||
</ol>
|
||||
<p>If you run into any issues, please see the <a href='{{site_root}}/getting-started/troubleshooting.html'>troubleshooting page</a>.</p>
|
||||
<br />
|
||||
|
||||
<!-- ###### Post-Installation START ######################## -->
|
||||
<h3>Post-Installation</h3>
|
||||
|
||||
<div class='post-instructions-container'>
|
||||
<input name='post-instructions' type='radio' id='generic-post' checked>
|
||||
<input name='post-instructions' type='radio' id='fedora-post'>
|
||||
<input name='post-instructions' type='radio' id='debian-post'>
|
||||
<label class='menu-selector generic-post' for='generic-post'>Generic</label>
|
||||
<label class='menu-selector fedora-post' for='fedora-post'>Fedora/CentOS</label>
|
||||
<label class='menu-selector debian-post' for='debian-post'>Debian</label>
|
||||
|
||||
<!-- ###### Post-installation instructions Generic ######################## -->
|
||||
<div class='post-instructions generic-post'>
|
||||
<p>There is nothing else to do. If you run into any issues, please see the <a href='{{site_root}}/getting-started/troubleshooting.html'>troubleshooting page</a>.</p>
|
||||
|
||||
<p class='note'>
|
||||
You can run Home Assistant in demo mode by appending <code>--demo-mode</code> to line 5.
|
||||
@ -47,8 +127,92 @@ python3 -m homeassistant --open-ui
|
||||
If you want to update to the latest version in the future, run: <code>scripts/update</code>.
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- ###### Post-installation instructions Fedora/CentOS ######################## -->
|
||||
<div class='post-instructions fedora-post'>
|
||||
<p>By default, the access to port 8123 is not allowed. If you want to allow other hosts in your local network access, open port 8123.</p>
|
||||
|
||||
```bash
|
||||
sudo firewall-cmd --permanent --add-port=8123/tcp
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
<p>Home Assistant will serve its web interface on <a href='http://[IP address of the host]:8123'>http://[IP address of the host]:8123</a>.</p>
|
||||
|
||||
<p>If you want that Home Assistant is lauched automatically, an extra step is needed to setup <code>systemd</code>. You need a service file to control Home Assistant with <code>systemd</code>. The <code>WorkingDirectory</code> and the <code>PYTHONPATH</code> must point to your clone git repository.</p>
|
||||
|
||||
```bash
|
||||
su -c 'cat <<EOF >> /lib/systemd/system/home-assistant.service
|
||||
[Unit]
|
||||
Description=Home Assistant
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/home/fab/home-assistant/
|
||||
Environment="PYTHONPATH=/home/fab/home-assistant/"
|
||||
ExecStart=/usr/bin/python3.4 -m homeassistant
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF'
|
||||
```
|
||||
|
||||
<p>You need to reload <code>systemd</code> to make the daemon aware of the new configuration. Enable and launch Home Assistant after that.</p>
|
||||
|
||||
```bash
|
||||
sudo systemctl --system daemon-reload
|
||||
sudo systemctl enable home-assistant
|
||||
sudo systemctl start home-assistant
|
||||
```
|
||||
|
||||
<p>If everything went well, <code>sudo systemctl start home-assistant</code> should give you a positive feedback.</p>
|
||||
|
||||
```bash
|
||||
$ sudo systemctl status home-assistant -l
|
||||
● home-assistant.service - Home Assistant
|
||||
Loaded: loaded (/usr/lib/systemd/system/home-assistant.service; disabled; vendor preset: disabled)
|
||||
Active: active (running) since Thu 2015-06-25 23:38:37 CEST; 3min 13s ago
|
||||
Main PID: 8557 (python3.4)
|
||||
CGroup: /system.slice/home-assistant.service
|
||||
└─8557 /usr/bin/python3.4 -m homeassistant
|
||||
[...]
|
||||
```
|
||||
|
||||
<p>To get Home Assistant's logging output, simple use <code>journalctl</code>.</p>
|
||||
|
||||
```bash
|
||||
sudo journalctl -f -u home-assistant
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
If you want to update to the latest version in the future, run: <code>scripts/update</code> and restart Home Assistant.
|
||||
</p>
|
||||
|
||||
|
||||
<p class='note'>
|
||||
Those instructions were written for Fedora 22 Server and Workstation. They may work for Cloud flavor as well but this was not tested.
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- ##### Post-installation instructions Debian ######################### -->
|
||||
<div class='post-instructions debian-post'>
|
||||
|
||||
<p>Coming soon...</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<!-- ###### Post-installation END ######################## -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ###### Docker START ######################## -->
|
||||
<div class='install-instructions docker'>
|
||||
<p>Installation with Docker is straightforward. Adjust the following command so that <code>/path/to/your/config/</code> points at the folder where you want to store your config and run it:</p>
|
||||
|
||||
@ -64,6 +228,7 @@ When using boot2docker on OS X you are unable to map the local time to your Dock
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ###### Paspberry Pi START ######################## -->
|
||||
<div class='install-instructions raspberry'>
|
||||
|
||||
<p>Home Assistant uses Python 3.4. This makes installation on a Raspberry Pi a bit more difficult as it is not available in the package repository. Please follow the following instructions to get it up and running.</p>
|
||||
@ -79,7 +244,7 @@ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-
|
||||
```bash
|
||||
nano ~/.bashrc
|
||||
```
|
||||
|
||||
|
||||
<p>Then add these lines to the end of the file and save:</p>
|
||||
```
|
||||
export PATH="$HOME/.pyenv/bin:$PATH"
|
||||
@ -87,7 +252,7 @@ eval "$(pyenv init -)"
|
||||
eval "$(pyenv virtualenv-init -)"
|
||||
```
|
||||
|
||||
<p><b>Step 2. Install requirements</b></p>
|
||||
<h5>Step 2. Install requirements</h5>
|
||||
|
||||
```bash
|
||||
sudo apt-get install python3-dev
|
||||
@ -122,11 +287,6 @@ cd home-assistant
|
||||
pyenv local homeassistant
|
||||
```
|
||||
|
||||
<p><b>Step 6. Finish the install</b></p>
|
||||
```bash
|
||||
python3 -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
<p><b>Step 7. Start it up</b></p>
|
||||
```bash
|
||||
python3 -m homeassistant
|
||||
@ -143,3 +303,4 @@ python3 -m homeassistant
|
||||
</div>
|
||||
|
||||
###[Next step: configuring Home Assistant »](/getting-started/configuration.html)
|
||||
|
||||
|
@ -11,25 +11,25 @@ footer: true
|
||||
|
||||
It can happen that you run into trouble while installing Home Assistant. This page is here to help you figure out the most common problems.
|
||||
|
||||
python3: command not found
|
||||
==========================
|
||||
**python3: command not found**<br>
|
||||
Check if Python 3.4 is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/).
|
||||
|
||||
No module named pip
|
||||
===================
|
||||
Pip should come bundled with the latest Python 3 but is ommitted by some distributions. If you are unable to run `python3 -m pip --version` you can install pip by [downloading the installer](https://bootstrap.pypa.io/get-pip.py) and run it with Python 3: `python3 get-pip.py`.
|
||||
**No module named pip**<br>
|
||||
[Pip](https://pip.pypa.io/en/stable/) should come bundled with the latest Python 3 but is ommitted by some distributions. If you are unable to run `python3 -m pip --version` you can install `pip` by [downloading the installer](https://bootstrap.pypa.io/get-pip.py) and run it with Python 3: `python3 get-pip.py`.
|
||||
|
||||
git: command not found
|
||||
======================
|
||||
**git: command not found**<br>
|
||||
Check if Git is installed by running `git --version`. If you are unable to run this command you can install it by following [these instructions](http://git-scm.com/downloads).
|
||||
|
||||
Home Assistant Failing to Launch
|
||||
================================
|
||||
When you are on Linux, it can happen that the requirements fail to install. If this is the case you can fix this by installing the Python 3 development package. For Debian/Ubuntu this can be done by running `apt-get install python3-dev`.
|
||||
**No module named 'pytz'**<br>
|
||||
There is a problem with installing dependencies on the fly. Install the dependencies manually in advance.
|
||||
|
||||
Ubuntu 14.04: ... returned non-zero exit status
|
||||
===============================================
|
||||
There is a known issue with installing on Ubuntu 14.04 and possibly many other newer Debian based distributions. The venv Python 3.4 package that has been bundled in the apt-get repository are known to be broken. This has been documented [in this bug report](https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847). If you are encountering an error that looks like the following while creating the virtual environment, you are experiencing this bug.
|
||||
```bash
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install --upgrade -r requirements.txt
|
||||
```
|
||||
|
||||
**Ubuntu 14.04: ... returned non-zero exit status**<br>
|
||||
There is a known issue with installing on Ubuntu 14.04 and possibly many other newer Debian based distributions. The `venv` Python 3.4 package that has been bundled in the apt-get repository are known to be broken. This has been documented [in this bug report](https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847). If you are encountering an error that looks like the following while creating the virtual environment, you are experiencing this bug.
|
||||
|
||||
```bash
|
||||
Error: Command '['home-assistant/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status
|
||||
@ -44,4 +44,8 @@ sudo python3 install_ensurepip.py
|
||||
rm install_ensurepip.py
|
||||
```
|
||||
|
||||
After these commands have been successfully executed, the venv package will be fixed system-wide.
|
||||
After these commands have been successfully executed, the `venv` package will be fixed system-wide.
|
||||
|
||||
**No access to the frontend**<br>
|
||||
In newer Linux distributions (at least Fedora 22/CentOS 7) the access to a host are very limited. This means that you can't access the Home Assistant Frontend that is running on a host in your network. Check the Post-installation section on the [Getting started]({{site_root}}/getting-started/index.html) page and follow the instruction that match your distribution to allow access to port 8123.
|
||||
|
||||
|
BIN
source/images/frontend/frontend-cards.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
source/images/frontend/frontend-more-info-light.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
source/images/frontend/polymer-build-architecture.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
source/images/supported_brands/asus.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
source/images/supported_brands/camera-web.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
source/images/supported_brands/edimax.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
source/images/supported_brands/efergy.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 30 KiB |
BIN
source/images/supported_brands/logitech.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
source/images/supported_brands/mqtt.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 105 KiB |
BIN
source/images/supported_brands/preferences-system-sharing.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
source/images/supported_brands/raspberry-pi.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
source/images/supported_brands/slack.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 65 KiB |
BIN
source/images/supported_brands/verisure.png
Normal file
After Width: | Height: | Size: 33 KiB |