Merge branch 'master' into next

Conflicts:
	source/_components/sensor.loop_energy.markdown
This commit is contained in:
Paulus Schoutsen 2016-04-19 22:56:48 -07:00
commit e7d7175aa1
261 changed files with 3088 additions and 2449 deletions

4
.gitmodules vendored
View File

@ -1,4 +1,4 @@
[submodule "_deploy"]
path = _deploy
url = https://github.com/balloob/home-assistant.git
branch = gh-pages
url = https://github.com/home-assistant/home-assistant.git
branch = gh-pages

View File

@ -15,6 +15,7 @@ group :development do
gem 'execjs'
gem 'therubyracer', :platforms => :ruby
gem 'coderay'
gem 'pry'
end
group :jekyll_plugins do

View File

@ -38,6 +38,7 @@ GEM
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
mercenary (0.3.5)
method_source (0.8.2)
octopress (3.0.11)
jekyll (>= 2.0)
mercenary (~> 0.3.2)
@ -63,6 +64,10 @@ GEM
octopress-tag-helpers (1.0.8)
jekyll (>= 2.0)
posix-spawn (0.3.11)
pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pygments.rb (0.6.3)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.2.0)
@ -87,6 +92,7 @@ GEM
rack (~> 1.4)
rack-protection (~> 1.4)
tilt (>= 1.3, < 3)
slop (3.6.0)
stringex (1.4.0)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
@ -111,6 +117,7 @@ DEPENDENCIES
octopress (~> 3.0)
octopress-filters
octopress-include-tag
pry
pygments.rb (~> 0.6.3)
rake (~> 10.0)
rb-fsevent (~> 0.9)

View File

@ -1,10 +1,10 @@
# Home Assistant website
This is the source for the [Home-Assistant.io website](https://home-assistant.io) for the [Home Assistant project](https://github.com/balloob/home-assistant)
This is the source for the [Home-Assistant.io website](https://home-assistant.io) for the [Home Assistant project](https://github.com/home-assistant/home-assistant)
## Setup
Setting up to contribute to documentation and the process for submitting pull requests is [explained here](https://home-assistant.io/developers/website/).
Setting up to contribute to documentation and the process for submitting pull requests is [explained here](https://home-assistant.io/developers/website/).
## Create a new blog post

19
plugins/active_link.rb Normal file
View File

@ -0,0 +1,19 @@
module Jekyll
class ActiveLinkTag < Liquid::Tag
def initialize(tag_name, text, token)
super
parts = text.split(' ', 2)
@href = parts[0]
@title = parts[1]
end
def render(context)
href = Liquid::Template.parse(@href).render context
title = Liquid::Template.parse(@title).render context
cls = @href == context.registers[:page]["url"] ? "class='active'" : ''
"<a #{cls} href='#{href}'>#{title}</a>"
end
end
end
Liquid::Template.register_tag('active_link', Jekyll::ActiveLinkTag)

View File

@ -6,7 +6,7 @@ module Jekyll
end
def render(context)
title = Liquid::Template.parse(@markup).render context
title = Liquid::Template.parse(@title).render context
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
"<a class='title-link' name='#{slug}' href='\##{slug}'></a> #{title}"
end

View File

@ -150,6 +150,14 @@ article.post, article.page, article.listing {
margin-bottom: 0;
}
}
a {
text-decoration: underline;
&.btn {
text-decoration: none;
}
}
}
p.note {
@ -204,85 +212,6 @@ p.note {
}
}
.install-instructions-container {
#normal-install, #raspberry-install, #docker-install, #synology-install, .install-instructions {
display: none;
}
label.menu-selector {
display: inline-block;
text-align: center;
padding: 20px;
white-space: nowrap;
border-bottom: 5px solid $grayLight;
transition: border-bottom-color .5s;
}
label.menu-selector + label.menu-selector {
margin-left: 10px;
}
#normal-install:checked ~ .menu-selector.normal,
#raspberry-install:checked ~ .menu-selector.raspberry,
#docker-install:checked ~ .menu-selector.docker,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#normal-install:checked ~ .install-instructions.normal,
#raspberry-install:checked ~ .install-instructions.raspberry,
#docker-install:checked ~ .install-instructions.docker,
#synology-install:checked ~ .install-instructions.synology
{
display: block;
}
.install-instructions {
margin-top: 30px;
}
}
.advanced-installs-container {
#upstart-install, #systemd-install, #osx-install, #synology-install, .advanced-installs {
display: none;
}
label.menu-selector {
display: inline-block;
text-align: center;
padding: 20px;
white-space: nowrap;
border-bottom: 5px solid $grayLight;
transition: border-bottom-color .5s;
}
label.menu-selector + label.menu-selector {
margin-left: 10px;
}
#upstart-install:checked ~ .menu-selector.upstart,
#systemd-install:checked ~ .menu-selector.systemd,
#osx-install:checked ~ .menu-selector.osx,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#upstart-install:checked ~ .advanced-installs.upstart,
#systemd-install:checked ~ .advanced-installs.systemd,
#osx-install:checked ~ .advanced-installs.osx,
#synology-install:checked ~ .advanced-installs.synology
{
display: block;
}
.advanced-installs {
margin-top: 30px;
}
}
#components-page {
.isotope-item {
z-index: 2;
@ -411,3 +340,18 @@ p.note {
margin-bottom: 8px;
font-size: .8em;
}
ul.sidebar-menu {
a.active {
color: #000;
font-weight: bold;
}
ul {
margin-left: 30px;
}
}
a code {
color: #049cdb;
}

View File

@ -2,7 +2,7 @@
layout: page
title: "MySensors Binary Sensor"
description: "Instructions how to integrate MySensors binary sensors into Home Assistant."
date: 2016-02-28 01:20 +0100
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
@ -36,5 +36,53 @@ S_MOISTURE | V_TRIPPED
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/**
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/binary
*/
#include <MySensor.h>
#include <SPI.h>
#include <Bounce2.h>
#define SN "BinarySensor"
#define SV "1.0"
#define CHILD_ID 1
#define BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch.
MySensor gw;
Bounce debouncer = Bounce();
MyMessage msg(CHILD_ID, V_TRIPPED);
void setup()
{
gw.begin();
gw.sendSketchInfo(SN, SV);
// Setup the button.
pinMode(BUTTON_PIN, INPUT_PULLUP);
// After setting up the button, setup debouncer.
debouncer.attach(BUTTON_PIN);
debouncer.interval(5);
gw.present(CHILD_ID, S_DOOR);
gw.send(msg.set(0));
}
void loop()
{
if (debouncer.update()) {
// Get the update value.
int value = debouncer.read();
// Send in the new value.
gw.send(msg.set(value == LOW ? 1 : 0));
}
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -18,7 +18,7 @@ The `rpi` platform allows you to integrate the Raspberry Pi camera into Home Ass
```yaml
# Example configuration.yaml entry
camera:
platform: raspberry_camera
platform: rpi_camera
name: Raspberry Pi Camera
image_width: 640
image_height: 480
@ -34,10 +34,12 @@ Configuration variables:
- **name** (optional): name of the camera
- **image_width** (optional): set the image width (default: 640)
- **image_height** (optional): set the image width (default: 480)
- **image_height** (optional): set the image height (default: 480)
- **image_quality** (optional): set the image quality (from 0 to 100, default: 7)
- **image_rotation** (optional): Set image rotation (0-359, default: 0)
- **horizontal_flip** (optional): Set horizontal flip (0 to disable, 1 to enable, default: 0)
- **vertical_flip** (optional): Set vertical flip (0 to disable, 1 to enable, default: 0)
- **timelapse** (optional): Takes a picture every <t>ms (default: 1000)
- **file_path** (optional): Save the picture in a custom file path (default: camera components folder)
The given **file_path** must be an existing file because the camera platform setup make a writeable check on it.

View File

@ -21,6 +21,6 @@ The configurator component allows components to request information from the use
- Input fields can be defined with a description, and optional type
- It will trigger a callback when the button is pressed
The Hue component in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo component](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/demo.py#L132) for a simple example.
The Hue component in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo component](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/demo.py#L132) for a simple example.
See [the source](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/configurator.py#L39) for more details on how to use the configurator component.
See [the source](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/configurator.py#L39) for more details on how to use the configurator component.

View File

@ -37,9 +37,13 @@ If running home-assistant in a docker container use switch `--net=host` to put i
If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform/#discovery).
<p class='note warning'>
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this platform on a 64-bit version of Python.
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this platform on a 64-bit version of Python and Windows.
</p>
<p class='note'>
If you are on Windows and you're using Python 3.5, download the Netifaces dependency <a href='http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces'>here</a>.
</p>
<p class='note'>
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of home-assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
</p>

View File

@ -11,8 +11,15 @@ logo: wink.png
ha_category: Garage Door
---
Wink garage door functionality is currently limited to view only. Wink garage doors will still show the current state of the door, but control has been disabled for third parties. If you have a Chamberlain garage door, and would like to control it via Home Assistant, please contact Chamberlain and request that they re-enabled third-party control.
The Wink garage door platform allows you to control your [Wink](http://www.wink.com/) enabled garage door.
The following quote is from Wink.
<blockquote>
As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions.
</blockquote>
~~The Wink garage door platform allows you to control your [Wink](http://www.wink.com/) enabled garage door.~~
The requirement is that you have setup your [Wink hub](/components/wink/).

View File

@ -31,10 +31,12 @@ Configuration variables:
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available.
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/) available.
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.
To use those kind of sensors in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived.
All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**.

View File

@ -11,7 +11,7 @@ logo: home-assistant.png
ha_category: Automation
---
The `input_select` component allows the user to define a list of values that can be selected via the frontend and can be used within conditions of automation.
The `input_select` component allows the user to define a list of values that can be selected via the frontend and can be used within conditions of automation. When a user selectes a new item, a state transition event is generated. This state event can be used in an `automation` trigger.
To enable this platform, add the following lines to your `configuration.yaml`:

View File

@ -11,7 +11,7 @@ logo: home-assistant.png
ha_category: Automation
---
The `input_slider` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation.
The `input_slider` component allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the slider generate state events. These state events can be utilized as `automation` triggers as well.
```yaml
# Example configuration.yaml entry
@ -21,6 +21,7 @@ input_slider:
initial: 30
min: -20
max: 35
step: 1
```
Configuration variables:
@ -30,4 +31,5 @@ Configuration variables:
- **initial** (*Optional*): Initial value when Home Assistant starts.
- **min** (*Optional*): Minimum value for the slider.
- **max** (*Optional*): Maximum value for the slider.
- **step** (*Optional*): Step value for the slider.

View File

@ -11,7 +11,7 @@ footer: true
This component allows you to track and control various light bulbs.
It has [4 built-in light profiles](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) which you're able to extend by putting a `light_profiles.csv` file in your config dir.
It has [4 built-in light profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) which you're able to extend by putting a `light_profiles.csv` file in your config dir.
Preferred way to setup the Philips Hue platform is through the [the discovery component]({{site_root}}/components/discovery/). For the Wink light platform enable [the wink component]({{site_root}}/components/wink/).

View File

@ -2,7 +2,7 @@
layout: page
title: "MySensors Light"
description: "Instructions how to integrate MySensors lights into Home Assistant."
date: 2016-03-02 18:20 +0100
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
@ -33,5 +33,80 @@ V_TYPES with a star (\*) denotes required V_TYPES. Use either V_LIGHT or V_STATU
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/dimmer
*/
#include <MySensor.h>
#include <SPI.h>
#define SN "DimmableRGBLED"
#define SV "1.0"
#define CHILD_ID 1
#define LED_PIN 5
MySensor gw;
char rgb[7] = "ffffff"; // RGB value.
int currentLevel = 0; // Current dimmer level.
MyMessage dimmerMsg(CHILD_ID, V_PERCENTAGE);
MyMessage lightMsg(CHILD_ID, V_STATUS);
MyMessage rgbMsg(CHILD_ID, V_RGB);
void setup()
{
gw.begin(incomingMessage);
gw.sendSketchInfo(SN, SV);
gw.present(CHILD_ID, S_RGB_LIGHT);
// Send initial values.
gw.send(lightMsg.set(currentLevel > 0 ? 1 : 0));
gw.send(dimmerMsg.set(currentLevel));
gw.send(rgbMsg.set(rgb));
}
void loop()
{
gw.process();
}
void incomingMessage(const MyMessage &message) {
if (message.type == V_RGB) {
// Retrieve the RGB value from the incoming message.
// RGB LED not implemented, just a dummy print.
String hexstring = message.getString();
hexstring.toCharArray(rgb, sizeof(rgb));
Serial.print("Changing color to ");
Serial.println(rgb);
gw.send(rgbMsg.set(rgb));
}
if (message.type == V_STATUS || message.type == V_PERCENTAGE) {
// Retrieve the light status or dimmer level from the incoming message.
int requestedLevel = atoi(message.data);
// Adjust incoming level if this is a V_LIGHT update [0 == off, 1 == on].
requestedLevel *= (message.type == V_STATUS ? 100 : 1);
// Clip incoming level to valid range of 0 to 100
requestedLevel = requestedLevel > 100 ? 100 : requestedLevel;
requestedLevel = requestedLevel < 0 ? 0 : requestedLevel;
// Change level value of LED pin.
analogWrite(LED_PIN, (int)(requestedLevel / 100. * 255));
currentLevel = requestedLevel;
// Update the gateway with the current V_STATUS and V_PERCENTAGE.
gw.send(lightMsg.set(currentLevel > 0 ? 1 : 0));
gw.send(dimmerMsg.set(currentLevel));
}
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -21,10 +21,4 @@ To use your TellStick device in your installation, add the following to your `co
# Example configuration.yaml entry
light:
platform: tellstick
signal_repetitions: 3
```
Configuration variables:
- **signal_repetitions** *Optional*: Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.

View File

@ -18,6 +18,7 @@ Supported devices:
- Denon DRA-N5
- Denon RCD-N8 (untested)
- Denon RCD-N9 (partial support)
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file:

View File

@ -80,13 +80,13 @@ automation:
input_select:
receiver_source:
name: Source
options:
- HTPC
- Chromecast
- Wii U
- Bluray
- Raspberry Pi
initial: None
name: Source
options:
- HTPC
- Chromecast
- Wii U
- Bluray
- Raspberry Pi
initial: None
```

View File

@ -18,7 +18,7 @@ Currently known supported models:
- TX-P42STW50
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/balloob/home-assistant.io).
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io).
To add a TV to your installation, add the following to your `configuration.yaml` file:

View File

@ -38,6 +38,7 @@ Currently known supported models:
- D8000
- ES5500
- ES6800
- F6500
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/balloob/home-assistant.io).
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io).
The two letters at the beginning of the model number represent the region, UE is Europe, UN is North America and UA is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these before adding them to the list.

View File

@ -11,10 +11,6 @@ logo: yamaha.png
ha_category: Media Player
---
<p class='note warning'>
Some users are experiencing errors loading the frontend while using this platform.
</p>
The `yamaha` platform allows you to control [Yamaha Network Receivers](http://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant.
Supported devices:

View File

@ -2,7 +2,7 @@
layout: page
title: "MySensors"
description: "Instructions how to integrate MySensors sensors into Home Assistant."
date: 2016-02-18 20:13 +0100
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
@ -31,7 +31,7 @@ mysensors:
debug: true
persistence: true
version: '1.5'
optimistic: 'true'
optimistic: false
```
Configuration variables:

View File

@ -35,9 +35,17 @@ Once loaded, the `notify` platform will expose a service that can be called to s
| `title` | yes | Title of the notification. Default is `Home Assistant`.
| `target` | yes | Some platforms will allow specifying a recipient that will receive the notification. See your platform page if it is supported.
The notification component supports specifying [templates] for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications.
The notification component supports specifying [templates](/topics/templating/) for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications.
[templates]: /topics/templating/
In an [action](https://home-assistant.io/components/automation/#actions) of your [automation setup](/components/automation/) it could look like this with a customized subject.
```yaml
action:
service: notify.notify
data:
message: "Your message goes here"
title: "Custom subject"
```
### {% linkable_title Test if it works %}

View File

@ -22,6 +22,7 @@ notify:
sender: YOUR_JID
password: YOUR_JABBER_ACCOUNT_PASSWORD
recipient: YOUR_RECIPIENT
tls: False
```
Configuration variables:
@ -29,7 +30,8 @@ Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **sender** (*Required*): The Jabber ID (JID) that will act as origin of the messages. Add your JID including the domain, eg. your_name@jabber.org.
- **password** (*Required*): The password for your given Jabber account.
- **priority** (*Required*): The Jabber ID (JID) that will receive the messages.
- **recipient** (*Required*): The Jabber ID (JID) that will receive the messages.
- **tls** (*Optional*): Allow to disable TLS. Defaults to true.
All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender.

View File

@ -21,7 +21,7 @@ sensor:
platform: dweet
name: Dweet.io Temperature
device: THING_NAME
value_template: '{{ value_json.VARIABLE }}'
value_template: '{% raw %}{{ value_json.VARIABLE }}{% endraw %}'
unit_of_measurement: "°C"
```

View File

@ -26,7 +26,7 @@ You can then open your browser's console window, how you do this varies by brows
This should show something like
```javascript
```yaml
client_ip: "127.0.0.1"
gas_secret: "GAS_SECRET"
gas_serial: "GAS_SERIAL"
@ -44,8 +44,8 @@ Now you have the keys, add the following lines to your `configuration.yaml`, rep
# Example configuration.yaml entry
sensor:
platform: loopenergy
electricity_serial: ELECRITCAL_SERIAL
electricity_secret: ELECTRICAL_OFFSET
electricity_serial: ELECTRICAL_SERIAL
electricity_secret: ELECTRICAL_SECRET
gas_serial: GAS_SERIAL
gas_secret: GAS_SECRET
gas_type: metric
@ -63,3 +63,4 @@ Configuration variables:
The electricity readings are updated every 10 seconds and the gas readings every 15 minutes.
The gas readings are experimental and not all gas meters are properly supported - so if the data you see doesn't agree with the readings you see via loop energy please report an issue.

View File

@ -2,7 +2,7 @@
layout: page
title: "MySensors Sensor"
description: "Instructions how to integrate MySensors sensors into Home Assistant."
date: 2016-02-28 01:20 +0100
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
@ -58,5 +58,53 @@ By using V_UNIT_PREFIX, it's possible to set a custom unit for any sensor. The s
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/**
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/light
*/
#include <SPI.h>
#include <MySensor.h>
#include <BH1750.h>
#include <Wire.h>
#define SN "LightLuxSensor"
#define SV "1.0"
#define CHILD_ID 1
unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)
BH1750 lightSensor;
MySensor gw;
MyMessage msg(CHILD_ID, V_LEVEL);
MyMessage msgPrefix(CHILD_ID, V_UNIT_PREFIX); // Custom unit message.
uint16_t lastlux = 0;
void setup()
{
gw.begin();
gw.sendSketchInfo(SN, SV);
gw.present(CHILD_ID, S_LIGHT_LEVEL);
lightSensor.begin();
gw.send(msg.set(lastlux));
gw.send(msgPrefix.set("lux")); // Set custom unit.
}
void loop()
{
uint16_t lux = lightSensor.readLightLevel(); // Get Lux value
if (lux != lastlux) {
gw.send(msg.set(lux));
lastlux = lux;
}
gw.sleep(SLEEP_TIME);
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -103,3 +103,4 @@ switch:
offcmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=admin&pwd=password"'
statecmd: 'curl -k --silent "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=admin&pwd=password" | grep -oP "(?<=isEnable>).*?(?=</isEnable>)"'
value_template: '{{ value == "1" }}'
```

View File

@ -2,7 +2,7 @@
layout: page
title: "MySensors Switch"
description: "Instructions how to integrate MySensors switches into Home Assistant."
date: 2016-03-02 18:20 +0100
date: 2016-04-13 14:20 +0100
sidebar: true
comments: false
sharing: true
@ -40,5 +40,50 @@ S_MOISTURE | V_ARMED
For more information, visit the [serial api] of MySensors.
### {% linkable_title Example sketch %}
```cpp
/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* http://www.mysensors.org/build/relay
*/
#include <MySensor.h>
#include <SPI.h>
#define SN "Relay"
#define SV "1.0"
#define CHILD_ID 1
#define RELAY_PIN 3
MySensor gw;
MyMessage msgRelay(CHILD_ID, V_STATUS);
void setup()
{
gw.begin(incomingMessage);
gw.sendSketchInfo(SN, SV);
// Initialize the digital pin as an output.
pinMode(RELAY_PIN, OUTPUT);
gw.present(CHILD_ID, S_BINARY);
gw.send(msgRelay.set(0));
}
void loop()
{
gw.process();
}
void incomingMessage(const MyMessage &message)
{
if (message.type == V_STATUS) {
// Change relay state.
digitalWrite(RELAY_PIN, message.getBool() ? 1 : 0);
}
}
```
[main component]: /components/mysensors/
[serial api]: https://www.mysensors.org/download/serial_api_15

View File

@ -21,10 +21,4 @@ To use your TellStick device in your installation, add the following to your `co
# Example configuration.yaml entry
switch:
platform: tellstick
signal_repetitions: 3
```
Configuration variables:
- **signal_repetitions** *Optional*: Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly.

View File

@ -21,3 +21,8 @@ To get started, add the devices to your `configuration.yaml` file.
tellstick:
signal_repetitions: X
```
Configuration variables:
- **signal_repetitions** *Optional*: Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly.

View File

@ -11,7 +11,7 @@ logo: vera.png
ha_category: Hub
---
The [Vera](http://getvera.com) hub is a controller ainly connecting to Z-Wave devices.
The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave devices.
Switches, Lights (inc Dimmers), Sensors and Binary sensors are supported - and will be automaticaly added when HA connects to your Vera controller.

View File

@ -45,7 +45,7 @@ Configuration variables:
- **longitude** (*Required*): Longitude of the center point of the zone.
- **radius** (*Optional*): Optional radius in meters. Defaults to 100 meters.
- **icon** (*Optional*): Optional icon to show instead of name.
- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
#### {% linkable_title Home zone %}

View File

@ -0,0 +1,53 @@
<section class="aside-module grid__item one-whole lap-one-half">
{% include edit_github.html %}
<div class='section'>
<h1 class="title delta">Development Guide</h1>
<ul class='divided sidebar-menu'>
<li>
{% active_link /developers/ Introduction %}
<ul>
<li>{% active_link /developers/architecture/ Architecture %}</li>
<li>{% active_link /developers/architecture_components/ Components %}</li>
<li>{% active_link /developers/development_environment/ Setup Dev Environment %}</li>
</ul>
</li>
<li>
{% active_link /developers/add_new_platform/ Support a new device (as a platform) %}
<ul>
<li>{% active_link /developers/platform_example_sensor/ Example sensor platform %}</li>
<li>{% active_link /developers/platform_example_light/ Example light platform %}</li>
</ul>
</li>
<li>
{% active_link /developers/creating_components/ Adding a new component %}
<ul>
<li>{% active_link /developers/component_loading/ Loading components %}</li>
<li>{% active_link /developers/component_deps_and_reqs/ Requirements & Dependencies %}</li>
<li>{% active_link /developers/component_initialization/ Initialization %}</li>
<li>{% active_link /developers/component_events/ Handling events %}</li>
<li>{% active_link /developers/component_discovery/ Component Discovery %}</li>
</ul>
</li>
<li>
Frontend Development
<ul>
<li>{% active_link /developers/frontend/ Setup Frontend Environment %}</li>
<li>{% active_link /developers/frontend_add_card/ Add State Card %}</li>
<li>{% active_link /developers/frontend_add_more_info/ Add More Info Dialog %}</li>
</ul>
</li>
<li>
API
<ul>
<li>{% active_link /developers/rest_api/ RESTful API %}</li>
<li>{% active_link /developers/python_api/ Python API %}</li>
<li>{% active_link /developers/server_sent_events/ Server-sent events %}</li>
</ul>
</li>
<li>{% active_link /developers/multiple_instances/ Multiple Instances %}</li>
<li>{% active_link /developers/website/ Home-Assistant.io %}</li>
<li>{% active_link /developers/credits/ Credits %}</li>
</ul>
</div>
</section>

View File

@ -0,0 +1,40 @@
<section class="aside-module grid__item one-whole lap-one-half">
{% include edit_github.html %}
<div class='section'>
<h1 class="title delta">Getting Started Guide</h1>
<ul class='divided sidebar-menu'>
<li>
{% active_link /getting-started/ Installation %}
<ul>
<li>{% active_link /getting-started/installation-raspberry-pi/ Raspberry Pi %}</li>
<li>{% active_link /getting-started/installation-docker/ Docker %}</li>
<li>{% active_link /getting-started/installation-synology/ Synology NAS %}</li>
<li>{% active_link /getting-started/installation-virtualenv/ VirtualEnv Linux Instructions %}</li>
<li>{% active_link /getting-started/troubleshooting/ Troubleshooting %}</li>
</ul>
</li>
<li>
Configuration
<ul>
<li>{% active_link /getting-started/configuration/ Configuration.yaml %}</li>
<li>{% active_link /getting-started/devices/ Setting up devices %}</li>
<li>{% active_link /getting-started/presence-detection/ Presence Detection %}</li>
<li>{% active_link /getting-started/automation/ Automation %}</li>
<li>{% active_link /getting-started/troubleshooting-configuration/ Troubleshooting configuration.yaml %}</li>
</ul>
</li>
<li>
{% active_link /getting-started/autostart/ Auto-start Home Assistant %}
<ul>
<li>{% active_link /getting-started/autostart-systemd/ Linux - SystemD %}</li>
<li>{% active_link /getting-started/autostart-upstart/ Linux - Upstart %}</li>
<li>{% active_link /getting-started/autostart-macos/ macOS %}</li>
<li>{% active_link /getting-started/autostart-synology/ Synology NAS %}</li>
</ul>
</li>
<li><a href='/topics/'>Advanced Topics</a></li>
<li>{% active_link /getting-started/android/ Add to Android Homescreen %}</li>
</ul>
</div>
</section>

View File

@ -1,6 +1,6 @@
<div class="copyright">
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
<a rel="me" href='https://github.com/balloob/home-assistant'><i class="icon-github"></i></a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
<div class="credit">
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />

View File

@ -1,33 +1,18 @@
<ul class="menu pull-right">
<li>
<a>Getting started <i class="icon icon-caret-down"></i></a>
<ul>
<li><a href='/getting-started/'>Installing Home Assistant</a></li>
<li><a href='/getting-started/configuration/'>Configuration Basics</a></li>
<li><a href='/getting-started/devices/'>Adding devices</a></li>
<li><a href='/getting-started/presence-detection/'>Presence Detection</a></li>
<li><a href='/getting-started/automation/'>Automation</a></li>
<li><a href='/topics/'>Advanced Topics</a></li>
</ul>
</li>
{% comment %}
Example dropdown menu
<li>
<a>Getting started <i class="icon icon-caret-down"></i></a>
<ul>
<li><a href='/getting-started/'>Installing Home Assistant</a></li>
<li><a href='/getting-started/configuration/'>Configuration Basics</a></li>
</ul>
</li>
{% endcomment %}
<li><a href='/getting-started/'>Getting started</a></li>
<li><a href='/components/'>Components</a></li>
<li><a href='/cookbook'>Examples</a></li>
<li>
<a>Developers <i class="icon icon-caret-down"></i></a>
<ul>
<li><a href="/developers/">Setup Development</a></li>
<li><a href="/developers/architecture/">Architecture</a></li>
<li><a href="/developers/frontend/">Frontend Development</a></li>
<li><a href="/developers/creating_components/">
Creating Components
</a></li>
<li><a href="/developers/add_new_platform/">
Adding Platform Support
</a></li>
<li><a href="/developers/api/">API and SSE</a></li>
<li><a href="/developers/credits/">Credits</a></li>
</ul>
</li>
<li><a href='/cookbook/'>Examples</a></li>
<li><a href="/developers/">Developers</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/help/">Need help?</a></li>
</ul>

View File

@ -9,5 +9,5 @@ Home Assistant is an open-source home automation platform running on Python 3. T
<p class='hero-buttons'>
<a href='{{ root_url }}/getting-started/'>Get started</a>
<a href='{{ root_url }}/demo/' target='_blank'>View demo</a>
<a rel="me" href='https://www.github.com/balloob/home-assistant'>Browse code on GitHub</a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'>Browse code on GitHub</a>
</p>

View File

@ -1,3 +1,4 @@
{% assign url_parts = page.url | split: '/' %}
{% if page.hide_github_edit != true %}
<div class='edit-github'><a href='https://github.com/balloob/home-assistant.io/tree/master/source/{{ page.path }}'>Edit this page on GitHub</a></div>
{% endif %}
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/{{ page.path }}'>Edit this page on GitHub</a></div>
{% endif %}

View File

@ -4,6 +4,10 @@
{% include asides/component_navigation.html | compact_newlines %}
{% elsif url_parts[1] == 'cookbook' %}
{% include asides/cookbook_navigation.html | compact_newlines %}
{% elsif url_parts[1] == 'developers' %}
{% include asides/developers_navigation.html | compact_newlines %}
{% elsif url_parts[1] == 'getting-started' %}
{% include asides/getting_started_navigation.html | compact_newlines %}
{% else %}
{% include asides/about.html %}

View File

@ -36,11 +36,6 @@
{% include site/footer.html %}
</footer>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
{% include javascripts/scripts.html %}
</body>
</html>

View File

@ -4,7 +4,10 @@ layout: default
<article class="page">
{% assign url_parts = page.url | split: '/' %}
{% if url_parts[1] != 'components' and url_parts[1] != 'cookbook' %}
{% if url_parts[1] != 'components' and
url_parts[1] != 'cookbook' and
url_parts[1] != 'developers' and
url_parts[1] != 'getting-started' %}
{% include edit_github.html %}
{% endif %}

View File

@ -7,7 +7,7 @@ date_formatted: "December 18, 2014"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Branding
categories: Website
---
I finally took the time to setup a simple website to help people getting started with Home Assistant. The process was super smooth thanks to the great tools [Jekyll](http://jekyllrb.com) and [Octopress](http://octopress.org) and the great services [GitHub Pages](https://pages.github.com) and [CloudFlare](https://cloudflare.com).

View File

@ -18,7 +18,7 @@ A new toggle has been added ot the sidebar to turn streaming updates on and off.
<!--more-->
Streaming updates has been implemented using the HTML5 `EventSource` tag. Implementation is pretty straight forward as all the reconnection logic will be handled by the event source tag. The [server-side code](https://github.com/balloob/home-assistant/blob/master/homeassistant/components/api.py#L90) is 50 lines and the [client-side code](https://github.com/balloob/home-assistant-js/blob/master/src/actions/stream.js) is 80 lines of code.
Streaming updates has been implemented using the HTML5 `EventSource` tag. Implementation is pretty straight forward as all the reconnection logic will be handled by the event source tag. The [server-side code](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/api.py#L90) is 50 lines and the [client-side code](https://github.com/home-assistant/home-assistant-js/blob/master/src/actions/stream.js) is 80 lines of code.
All events that happen on the server will now also be sent to the browser. This turns any browser running the UI into a fully functioning [slave instance](https://home-assistant.io/developers/architecture/#multiple-connected-instances) of Home Assistant. This opens up new possibilities for Home Assistant components that live completely client-side.

View File

@ -13,6 +13,6 @@ Home Assistant is now using [YAML](http://yaml.org/) for it's configuration file
The new file is named configuration.yaml and if it can't be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf.
The home-assistant.conf.example has been replaced with an updated [configuration.yaml.example](https://github.com/balloob/home-assistant/blob/dev/config/configuration.yaml.example).
The home-assistant.conf.example has been replaced with an updated [configuration.yaml.example](https://github.com/home-assistant/home-assistant/blob/dev/config/configuration.yaml.example).
Users of Home Assistant should migrate as the old configuration format is deprecated.

View File

@ -7,7 +7,7 @@ date_formatted: March 8, 2015
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Branding
categories: Organisation
---
It is well known that you are either a good programmer or a good designer. It's rare you'll meet someone that is both. That's why it wasn't surprising to anyone that the logo that I made was mediocre &mdash; at best. Luckily, [Jeremy Geltman](http://jeremygeltman.com/) has come to the rescue and contributed a brand new logo for Home Assistant.

View File

@ -12,7 +12,7 @@ categories: Release-Notes
I have recently merged code to refactor Home Assistant to use only UTC times internally. A much needed refactor. I've added some extra test coverage to time sensitive parts to ensure stability. The code has been live in the dev branch for the last 9 days and will be soon released to the master branch.
From now on all internal communication will be done in UTC: time changed events, datetime attributes of states, etc. To get the current time in UTC you can call `homeassistant.util.dt.utcnow()`. This is a timezone aware UTC datetime object. [`homeassistant.util.dt`](https://github.com/balloob/home-assistant/blob/dev/homeassistant/util/dt.py) is a new util package with date helpers.
From now on all internal communication will be done in UTC: time changed events, datetime attributes of states, etc. To get the current time in UTC you can call `homeassistant.util.dt.utcnow()`. This is a timezone aware UTC datetime object. [`homeassistant.util.dt`](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/util/dt.py) is a new util package with date helpers.
There is also such a thing as local time. Local time is based on the time zone that you have setup in your `configuration.yaml`. Local times should only be used for user facing information: logs, frontend and automation settings in `configuration.yaml`.

View File

@ -17,7 +17,7 @@ This release includes a significant startup boost for the frontend and a fix for
I would like to give a big shout out to our newest contributor [fabaff](https://github.com/fabaff) for taking the time to improve the documentation.
<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>.
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href='https://github.com/home-assistant/home-assistant/issues'>GitHub</a>.
</p>
<!--more-->

View File

@ -21,7 +21,7 @@ A big improvement has been brought this release by wind-rider. He took the time
</p>
<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>.
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href='https://github.com/home-assistant/home-assistant/issues'>GitHub</a>.
</p>
<!--more-->

View File

@ -30,7 +30,7 @@ camera:
```
<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>.
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href='https://github.com/home-assistant/home-assistant/issues'>GitHub</a>.
</p>
<!--more-->

View File

@ -10,12 +10,12 @@ 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.
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/home-assistant/home-assistant/pull/251). [@fabaff](https://github.com/fabaff) did another great round of documentating all the various components.
__MQTT Support__
<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-example]: https://github.com/home-assistant/home-assistant/blob/dev/config/custom_components/mqtt_example.py
[mqtt-automation]: /components/automation/#mqtt-based-automation
[mqtt-component]: /components/mqtt/

View File

@ -11,7 +11,7 @@ og_image: /images/supported_brands/glances.png
---
<img src='/images/supported_brands/glances.png' style='border:none; box-shadow: none; float: right;' height='80' />
Inspried by a [feature requests](https://github.com/balloob/home-assistant/issues/310) I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the [systemmonitor](/components/sensor.systemmonitor/) sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
Inspried by a [feature requests](https://github.com/home-assistant/home-assistant/issues/310) I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the [systemmonitor](/components/sensor.systemmonitor/) sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
<!--more-->
@ -75,4 +75,4 @@ If there are no error in the log file then you should see your new sensors.
The Glances sensors
</p>
[Glances](https://github.com/nicolargo/glances) has a couple of optional dependencies which are extenting the range of provided information. This means that it would be possible to get details about the RAID system, HDD temperature, IP addresses, sensors, etc., please create a [Pull request](https://github.com/balloob/home-assistant/pulls) with your additions or a [Feature request](https://github.com/balloob/home-assistant/issues/new) if you want see more details in your Home Assistant frontend.
[Glances](https://github.com/nicolargo/glances) has a couple of optional dependencies which are extenting the range of provided information. This means that it would be possible to get details about the RAID system, HDD temperature, IP addresses, sensors, etc., please create a [Pull request](https://github.com/home-assistant/home-assistant/pulls) with your additions or a [Feature request](https://github.com/home-assistant/home-assistant/issues/new) if you want see more details in your Home Assistant frontend.

View File

@ -12,7 +12,7 @@ categories: Release-Notes
It's like someone opened a can of rock solid developers and emptied it above our [chat channel](https://gitter.im/balloob/home-assistant) because it exploded with great conversations and solid contributions. Featured in release 0.7.3: Sonos, iTunes, Alarm component and Automation upgrade.
See [GitHub](https://github.com/balloob/home-assistant/releases/tag/0.7.3) for more detailed release notes.
See [GitHub](https://github.com/home-assistant/home-assistant/releases/tag/0.7.3) for more detailed release notes.
_Migration note: the `scheduler` component has been removed in favor of the `automation` component._

View File

@ -12,8 +12,8 @@ categories: Release-Notes
First release of 2016 and we are on 🔥! The [main repository][github-ha] has passed 2500 ⭐ on GitHub (2596 ⭐ as of now). This release also has a [record number][release-pr] of 20 contributors all working on improving and extending Home Assistant. With the continued growth, I am very excited to see what 2016 will bring us 🤘.
[github-ha]: https://github.com/balloob/home-assistant/
[release-pr]: https://github.com/balloob/home-assistant/pull/883#partial-users-participants
[github-ha]: https://github.com/home-assistant/home-assistant/
[release-pr]: https://github.com/home-assistant/home-assistant/pull/883#partial-users-participants
<img src='/images/supported_brands/mysensors.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/raspberry-pi.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='50' /><img src='/images/supported_brands/yr.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/telldus.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/free_mobile.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/netatmo.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/alarmdotcom.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' /><img src='/images/supported_brands/proliphix.png' style='clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='150' />

View File

@ -21,7 +21,7 @@ But there is more you can do! You can not only host images for customization the
<!--more-->
In the past the buzz word "Smart mirror" was used a couple of times in our [chatroom](https://gitter.im/balloob/home-assistant) and even made it into the [issue tracker](https://github.com/balloob/home-assistant/issues/1392). The existing solutions ([Smart mirror](http://docs.smart-mirror.io/), [MagicMirror](http://michaelteeuw.nl/tagged/magicmirror), and [HomeMirror](https://github.com/HannahMitt/HomeMirror)) seems to be overkill if you already have Home Assistant running somewhere in your house or apartment. Why not simple display a web page served by Home Assistant on the tablet? No app and no Raspberry Pi running in the background.
In the past the buzz word "Smart mirror" was used a couple of times in our [chatroom](https://gitter.im/balloob/home-assistant) and even made it into the [issue tracker](https://github.com/home-assistant/home-assistant/issues/1392). The existing solutions ([Smart mirror](http://docs.smart-mirror.io/), [MagicMirror](http://michaelteeuw.nl/tagged/magicmirror), and [HomeMirror](https://github.com/HannahMitt/HomeMirror)) seems to be overkill if you already have Home Assistant running somewhere in your house or apartment. Why not simple display a web page served by Home Assistant on the tablet? No app and no Raspberry Pi running in the background.
There are plenty of ways to achieve this...[RESTful API](/developers/rest_api/), [Python API](/developers/python_api/), or one of the [history components](/components/#history). If it is to be a web page I'm using the [MQTT Eventstream component](/components/mqtt_eventstream/) and [mqttws31.js](http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/tree/src).

View File

@ -10,7 +10,7 @@ comments: true
categories: Release-Notes
---
Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to @jaharkes for his hard work on this. Config validation is still in it's early stages. More common platforms and components have been added but we didn't do everything yet.
Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to [@jaharkes] for his hard work on this. Config validation is still in it's early stages. More common platforms and components have been added but we didn't do everything yet.
When we encounter an invalid config we will now write a warning to your logs. You can see those in the frontend by clicking on the last developer tool. We're looking into options to make it more clear - it is a work in progress.

View File

@ -0,0 +1,26 @@
---
layout: post
title: "Updated documentation"
description: "We have reorganised our documentation which should make it easier to get started and develop for Home Assistant."
date: 2016-04-16 23:09:00 -0700
date_formatted: "April 17, 2016"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Website
---
One of the main complaints that we receive is something along the lines "I read that X is possible yet I am unable to find it on the website.". This post is to announce that we have taken the first steps to improve it by revamping the [getting started] and [developers] sections. It's still a work in progress but we now have a solid foundation to build on for the future 👍.
Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and [called it a website]. Back then we had a whopping [11 components](https://github.com/home-assistant/home-assistant.io/blob/86bb2df430ce267ab2123d51592d3f068ae509b5/source/components/index.markdown).
As Home Assistant grew, so did our documentation. [Fabian Affolter](https://github.com/fabaff) does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that's quite a feat given our [frequent releases](https://home-assistant.io/blog/categories/release-notes/)! But despite all the efforts, the documentation outgrew our existing documentation organisation.
Today it has been almost 1.5 years since we started the website. We now have [264 components and platforms] under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves.
[getting started]: /getting-started/
[developers]: /developers/
[called it a website]: /blog/2014/12/18/website-launched/
[264 components and platforms]: /components/
Finally, if you see some content that could use more clarifcation or is outdated, don't hesitate to use the 'Edit in GitHub' link that is present on each page.

View File

@ -0,0 +1,41 @@
---
layout: post
title: "To Infinity and Beyond 🚀"
description: "The state of Home Assistant: past, present, future."
date: 2016-04-18 22:44:00 -0700
date_formatted: "April 19, 2016"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Organisation
---
After 2.5 years I think we can proudly say: Home Assistant is a success. I write _we_ because Home Assistant is no longer a one-person side project. It has become the side project of many people who spend countless hours on making Home Assistant the best home automation software out there. To acknowledge this we migrated the repositories from being under my name to be under our own [organisation on GitHub][gh-ha].
On our journey we've reached many noteworthy milestones:
- #1 on HackerNews
- Featured on ProductHunt
- Trending repository on GitHub
- 3000 stars on GitHub
- 1.5 million page views on our website
- Speaker at OpenIoT Summit 2016
All these accomplishments are a nice pat on the back but our journey is far from over. There are a lot of challenges ahead if we want to become the go to solution for home automation _for everyone_.
Until now the focus has been on making a platform that developers love to use. A platform that is simple but customizable. A platform that is both powerful and reliable. But most important: a platform that is local and open. Home Assistant does a great job at all these things.
There will be some major challenges ahead of us to target groups other than developers. Easy installation and easy configuration being the #1. I'm sure that we'll be able to eventually achieve these goals. I can't say yet how or when. As with everything Home Assistant, we'll take tiny steps, gathering feedback along the way to make sure we're solving the right problems.
I am confident that we will get there because we are set up for success: we have a robust architecture, high test coverage and an active community of world class developers and users. On top of that, we use Python which allows us to move fast and tackle complex problems in elegant ways. It is so easy to learn that it allows any programmer, experienced or not, to contribute support for devices and services. It's as simple as [filling in the blanks].
I would like to put out a big thank you to all our contributors who make Home Assistant what it is today. It doesn't matter if it is form of code, documentation or giving support in our [chat room] or [forums]. You. all. rock.
Cheers to the future!
Paulus
[gh-ha]: https://github.com/home-assistant/
[filling in the blanks]: /developers/platform_example_sensor/#code
[chat room]: https://gitter.im/home-assistant/home-assistant
[forums]: https://community.home-assistant.io/

View File

@ -1 +0,0 @@
<script>document.location = '/components/alarm_control_panel/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/alarm_control_panel.manual/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/alarm_control_panel.mqtt/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/arduino/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/automation/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/browser/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/camera.foscam/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/camera.generic/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/configurator/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/conversation/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_sun_light_trigger/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.actiontec/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.aruba/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.asuswrt/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.ddwrt/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.locative/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.luci/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.mqtt/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.netgear/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.nmap_scanner/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.owntracks/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.snmp/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.thomson/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.tomato/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.tplink/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/device_tracker.ubus/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/discovery/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/downloader/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/ecobee/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/group/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/history/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/ifttt/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/ifttt.manything/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/introduction/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/isy994/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/keyboard/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/light.blinksticklight/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/light/';</script>

View File

@ -1 +0,0 @@
<script>document.location = '/components/light.hue/';</script>

Some files were not shown because too many files have changed in this diff Show More