Merge pull request #916 from home-assistant/next

0.28
This commit is contained in:
Robbie Trencheny 2016-09-10 18:25:34 -07:00 committed by GitHub
commit f108046075
64 changed files with 834 additions and 160 deletions

View File

@ -14,17 +14,18 @@ ha_release: 0.13
The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work.
To enable this, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
alarm_control_panel:
platform: nx584
host: ADDRESS
host: IP_ADDRESS
port: 5007
```
Configuration variables:
- **host** (*Optional*): This is the host connection string (host:port) for the nx584 server process. If unset, it is assumed to be `localhost:5007`, which will work if the server process is running on the same system as home-assistant.
- **host** (*Optional*): The host where the nx584 server process is running. Defaults to localhost.
- **port** (*Optional*): The port where the Alarm panel ist listening. Defaults to 5007.

View File

@ -16,17 +16,19 @@ Knowing that there are only two states allows Home Assistant to represent the se
Most binary sensors support the `SENSOR_CLASSES` which let you specify the type of your sensor. The following types are supported:
- **None**: Generic on/off
- **opening**: Door, window, etc
- **motion**: Motion sensor
- **cold**: On means cold (or too cold)
- **connectivity**: On means connection present, Off means no connection
- **gas**: CO, CO2, etc
- **smoke**: Smoke detector
- **moisture**: Specifically a wetness sensor
- **heat**: On means hot (or too hot)
- **light**: Lightness threshold
- **moisture**: Specifically a wetness sensor
- **motion**: Motion sensor
- **moving**: On means moving, Off means stopped
- **occupancy**: On means occupied, Off means not occupied
- **opening**: Door, window, etc
- **power**: Power, over-current, etc
- **safety**: On means unsafe, Off means safe
- **heat**: On means hot (or too hot)
- **cold**: On means cold (or too cold)
- **moving**: On means moving, Off means stopped
- **smoke**: Smoke detector
- **sound**: On means sound detected, Off means no sound
- **vibration**: On means vibration detected, Off means no vibration

View File

@ -13,13 +13,18 @@ ha_release: 0.19
---
The `OctoPrint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
<p class='note'>
You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.
</p>
To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
platform: octoprint
name: OctoPrint
monitored_conditions:
- Printing
- Printing Error
@ -27,8 +32,8 @@ binary_sensor:
Configuration variables:
- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'.
- **monitored_conditions** array (*Required*): States to monitor.
- Printing
- Printing Error
- **Printing**: State of the printer.
- **Printing Error**: Error while printing.
<p class='note'>You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.</p>

View File

@ -37,6 +37,7 @@ binary_sensor:
name: REST GET binary sensor
sensor_class: opening
value_template: '{% raw %}{{ value_json.state }}{% endraw %}'
verify_ssl: False
```
or for a POST request:
@ -61,6 +62,7 @@ Configuration variables:
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value.
- **payload** (*Optional*): The payload to send with a POST request. Usualy formed as a dictionary.
- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to True.
<p class='note warning'>
Make sure that the URL matches exactly your endpoint or resource.

View File

@ -12,7 +12,6 @@ ha_category: Binary Sensor
ha_release: pre 0.7
---
The `rpi_gpio` binary sensor platform allows you to read sensor values of 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:
@ -39,10 +38,3 @@ Configuration variables:
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
<p class='note warning'>
If you are not running Raspbian Jessie, you will need to run Home Assistant as root.
</p>
<p class='note warning'>
To avoid having to run Home Assistant as root when using this component, run a Raspbian version released at or after September 29, 2015.
</p>

View File

@ -0,0 +1,70 @@
---
layout: page
title: "Trend Binary Sensor"
description: "Instructions how to integrate Trend binary sensors into Home Assistant."
date: 2016-09-05 10:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Binary Sensor
logo: home-assistant.png
ha_release: 0.28
ha_iot_class: "Local Push"
---
The `trend` platform allows you to create sensors which show the trend of numeric `state` or`state_attributes` from other entities. This sensor requires two updates of the underlying sensor to establish a trend - so it can take some time to show an accurate state. It can be useful as part of automations, where you want to base an action on a trend.
To enable Trend binary sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: trend
sensors:
solar_angle:
friendly_name: 'Sun rising'
entity_id: sun.sun
sensor_class: light
attribute: elevation
```
Configuration variables:
- **sensors** array (*Required*): List of your sensors.
- **friendly_name** (*Optional*): Name to use in the Frontend.
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **entity_id** (*Required*): The entity that this sensor tracks.
- **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified - the sensor will track the state.
- **invert** (*Optional*): Invert the result (so `true` means decending rather than ascending)
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title Temperature trend %}
This example indicates true if the temperture is rising:
```yaml
binary_sensor:
- platform: trend
sensors:
temperature_up:
friendly_name: 'Temp increasing'
entity_id: sensor.skylight_temperature
sensor_class: heat
```
And this one indicates true if the temperture is falling:
```yaml
binary_sensor:
- platform: trend
sensors:
temperature_down:
friendly_name: 'Temp decreasing'
entity_id: sensor.skylight_temperature
sensor_class: cold
invert: Yes
```

View File

@ -14,7 +14,7 @@ ha_release: 0.17
---
The `rpi` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
To enable this camera in your installation, add the following to your `configuration.yaml` file:
@ -47,9 +47,3 @@ Configuration variables:
The given **file_path** must be an existing file because the camera platform setup make a writeable check on it.
Ensure that the user who is running Home Assistant is in the video group. Eg. for the user `hass`:
```bash
$ sudo usermod -a -G video hass
```

View File

@ -14,6 +14,6 @@ ha_iot_class: "Local Push"
---
The `homematic` cliamte platform lets you control [Homematic](http://www.homematic.com/) thermostats through Home Assistant.
The `homematic` climate platform lets you control [Homematic](http://www.homematic.com/) thermostats through Home Assistant.
Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic.

View File

@ -12,7 +12,7 @@ ha_category: Climate
---
The `honeywell` cliamte platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.
The `honeywell` climate platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.
To set it up, add the following information to your `configuration.yaml` file:

View File

@ -22,11 +22,11 @@ To enable a command line cover in your installation, add the following to your `
cover:
- platform: command_line
covers:
Garage door:
opencmd: move_command up kitchen
closecmd: move_command down kitchen
stopcmd: move_command stop kitchen
statecmd: state_command kitchen
garage_door:
command_open: move_command up garage
command_close: move_command down garage
command_stop: move_command stop garage
command_state: state_command garage
value_template: {% raw %}>
{% if value == 'open' %}
100
@ -39,9 +39,10 @@ cover:
Configuration variables:
- **covers** (*Required*): The array that contains all command line covers.
- **entry** (*Required*): Name of the command line cover. Multiple entries are possible.
- **opencmd** (*Required*): The command to open the cover.
- **closecmd** (*Required*): The action to close the cover.
- **stopcmd** (*Required*): The action to stop the cover.
- **statecmd** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `statecmd` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `statecmd` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.
- **identifier** (*Required*): Name of the command line cover as slug. Multiple entries are possible.
- **command_open** (*Required*): The command to open the cover.
- **command_close** (*Required*): The action to close the cover.
- **command_stop** (*Required*): The action to stop the cover.
- **command_state** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `command_state` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `command_state` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.
- **friendly_name** (*Optional*): The name used to display the cover in the frontend.

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Automatic"
description: "Instructions for how to integrate Automatic ODB readers into Home Assistant."
date: 2015-08-28 19:00
sidebar: true
comments: false
sharing: true
footer: true
logo: automatic.png
ha_category: Presence Detection
ha_release: 0.28
---
The `automatic` platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service.
To use an Automatic ODB reader in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
platform: automatic
client_id: 1234567
secret: 0987654321
username: your@email.com
password: your_password
devices:
- 2007 Honda Element
- 2004 Subaru Impreza
```
Configuration variables:
- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/).
- **secret** (*Require*): The OAuth client secret (get from https://developer.automatic.com/).
- **username** (*Required*): The username associated with your ODB reader.
- **password** (*Required*): The password for your given ODB reader account.
- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -16,10 +16,6 @@ ha_release: 0.18
This tracker discovers new devices on boot and tracks bluetooth devices periodically based on interval_seconds value. It is not required to pair the devices with each other!
Devices discovered are stored with 'bt_' as the prefix for device mac addresses in `known_devices.yaml`.
<p class='note'>
Requires PyBluez. If you are on Raspbian, make sure you first install `bluetooth` and `libbluetooth-dev` by running `sudo apt install bluetooth libbluetooth-dev`
</p>
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml

View File

@ -25,11 +25,17 @@ To integrate Owntracks in Home Assistant, add the following section to your `con
device_tracker:
platform: owntracks
max_gps_accuracy: 200
waypoints: True
waypoint_whitelist:
- jon
- ram
```
Configuration variables:
- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`.
- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](https://home-assistant.io/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. Defaults to all users who are connected to Home Assistant via Owntracks.
### {% linkable_title Using Owntracks with other device trackers %}
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_scanner/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last. The naming convention for known device list is `<username>_<device-id>` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/).
@ -64,3 +70,8 @@ This allows you to write zone automations for devices that can't track themselve
### {% linkable_title Using mobile and fixed iBeacons together %}
You can use iBeacons of both types together, so if you have a Zone `drive` with an iBeacon region called `-drive` and you arrive home with a mobile iBeacon called `-car`, then `device_tracker.beacon_car` will be set to a state of `drive`.
### {% linkable_title Importing Owntracks waypoints as zones %}
By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the `Export - Export to Endpoint` menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `<user>-<device> - <waypoint name>`. This functionality can be controlled in 2 ways:
1. The configuration variable `waypoints` can be set to `False` which will disable importing waypoints for all users.
2. The configuration variable `waypoint_whitelist` can contain a list of users who are allowed to import waypoints.

View File

@ -27,6 +27,7 @@ However, only a few devices have been confirmed to work. These are:
- Eltako FUD61 dimmer
- Eltako FT55 battery-less wall switch
- Jung ENOA590WW battery-less wall switch
- Permundo PSC234 (switch and power monitor)
Other devices will most likely need some changes in the Home Assistant code in order to work. Support for teaching of devices is also missing at this time.
@ -42,4 +43,3 @@ enocean:
Configuration variables:
- **device** (*Required*): The port where your device is connected to your Home Assistant host.

View File

@ -54,7 +54,7 @@ light:
automatic_add: True
```
Will add two lights with given name:
Will add two lights with given name and create an automation rule to randomly set color each 45 seconds:
```yaml
light:
@ -65,5 +65,15 @@ light:
name: flux_lamppost
192.168.0.109:
name: flux_living_room_lamp
```
automation:
random_flux_living_room_lamp:
trigger:
platform: time
seconds: '/45'
action:
service: light.turn_on
data:
entity_id: light.flux_living_room_lamp
effect: random
```

View File

@ -9,7 +9,8 @@ sharing: true
footer: true
logo: directv.png
ha_category: Media Player
ha_release: "0.25"
ha_release: 0.25
ha_iot_class: "Local Polling"
---
The [DirecTV](http://www.directv.com/) receivers will be automatically discovered if you enable the [discovery component](/components/discovery/).
@ -21,10 +22,13 @@ The `directv` media player platform can also be forced to load by adding the fol
media_player:
platform: directv
host: 192.168.1.10
port: 8080
name: DirecTV Living Room
```
Configuration variables:
- **host** *Optional*: Use only if you don't want to scan for devices.
- **name** *Optional*: Use to give a specific name to the device.
- **host** (*Optional*): Use only if you don't want to scan for devices.
- **port** (*Optional*): The port your receiver is using. Defaults to `8080`.
- **name** (*Optional*): Use to give a specific name to the device.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "FireTV"
description: "Instructions how to integrate Music Player Daemon into Home Assistant."
description: "Instructions how to integrate FIre-TV into Home Assistant."
date: 2015-10-23 18:00
sidebar: true
comments: false
@ -10,6 +10,7 @@ footer: true
logo: firetv.png
ha_category: Media Player
ha_release: 0.7.6
ha_iot_class: "Local Polling"
---
@ -38,19 +39,21 @@ To add FireTV to your installation, add the following to your `configuration.yam
# Example configuration.yaml entry
media_player:
platform: firetv
host: localhost:5556
host: localhost
port: 5556
device: livingroom-firetv
name: My Amazon Fire TV
```
Configuration variables:
- **host** (*Optional*): Where `firetv-server` is running. Default is *localhost:5556*.
- **device** (*Optional*): The device ID, default is *default*.
- **host** (*Optional*): The host where `firetv-server` is running. Default is localhost.
- **port** (*Optional*): The port where `firetv-server` is running. Default is 5556.
- **device** (*Optional*): The device ID. Defaults to `default`.
- **name** (*Optional*): The friendly name of the device, default is 'Amazon Fire TV'.
<p class='note warning'>
Note that python-firetv has support for multiple Amazon Fire TV devices. If you have more than one configured, be sure to specify the device id used. Run `firetv-server -h` and/or view the source for complete capabilities.
Note that python-firetv has support for multiple Amazon Fire TV devices. If you have more than one configured, be sure to specify the device ID in `device`. Run `firetv-server -h` and/or view the source for complete capabilities.
</p>

View File

@ -33,7 +33,7 @@ media_player:
Configuration variables:
- **host** (*Required*): The host name or address of the device that is running XBMC/Kodi
- **port** (*Required*): The port number, default 8080
- **port** (*Optional*): The port number. Defaults to 8080.
- **name** (*Optional*): The name of the device used in the frontend.
- **username** (*Optional*): The XBMC/Kodi HTTP username.
- **password** (*Optional*): The XBMC/Kodi HTTP password.

View File

@ -10,7 +10,7 @@ footer: true
logo: mpchc.png
ha_category: Media Player
featured: false
ha_release: 0.25.0
ha_release: 0.25
---
@ -41,6 +41,6 @@ media_player:
Configuration variables:
- **host** (*Required*): The host name or address of the device that is running MPC-HC
- **port** (*Required*): The port number, default 13579
- **host** (*Required*): The host name or address of the device that is running MPC-HC.
- **port** (*Optional*): The port number. Defaults to 13579.
- **name** (*Optional*): The name of the device used in the frontend.

View File

@ -21,7 +21,7 @@ To add MPD to your installation, add the following to your `configuration.yaml`
# Example configuration.yaml entry
media_player:
platform: mpd
server: IP_ADDRESS
host: IP_ADDRESS
port: 6600
location: bedroom
password: PASSWORD
@ -29,9 +29,9 @@ media_player:
Configuration variables:
- **server** (*Required*): IP address of the Music Player Daemon, eg. 192.168.1.32
- **port** (*Optional*): Port of the Music Player Daemon, defaults to 6600.
- **location** (*Optional*): Location of your Music Player Daemon.
- **host** (*Required*): IP address of the Host where Music Player Daemon is running.
- **port** (*Optional*): Port of the Music Player Daemon. Defaults to 6600.
- **location** (*Optional*): Location of your Music Player Daemon. Defaults to "MPD".
- **password** (*Optional*): Password for your Music Player Daemon.
This platform works with [Music Player Daemon](http://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](http://www.pimusicbox.com/).

View File

@ -60,5 +60,3 @@ That's it! Now you will find a media player. If you click it you will find all y
<img src='/images/screenshots/pandora_player.png' />
</p>
<p class='note warning'>This is a new component and it has some issues. </p>

View File

@ -24,13 +24,17 @@ To add a TV to your installation, add the following to your `configuration.yaml`
media_player:
platform: samsungtv
host: 192.168.0.10
port: 55000
name: Living Room TV
timeout: 2
```
Configuration variables:
- **host** (*Required*): The IP of the Samsung Smart TV, eg. 192.168.0.10
- **port** (*Optional*): The port of the Samsung Smart TV. Defaults to 55000.
- **name** (*Optional*): The name you would like to give to the Samsung Smart TV.
- **timeout** (*Optional*): The time-out for the communication with the TV. Defaults to 0.
Currently known supported models:

View File

@ -57,6 +57,14 @@ Configuration variables:
- **bytesize** (*Required*): The bytesize for the serial connection.
- **parity** (*Required*): The parity for the serial connection.
### {% linkable_title Services %}
| Service | Description |
| ------- | ----------- |
| write_register | Write register. Requires `unit`, `address` and `value` fields. `value` can be either single value or an array |
## {% linkable_title Building on top of Modbus %}
- [Modbus Sensor](/components/sensor.modbus/)

View File

@ -23,13 +23,13 @@ notify:
name: NOTIFIER_NAME
platform: file
filename: FILENAME
timestamp: 1 or 0
timestamp: true or false
```
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`.
- **filename** (*Required*): Name of the file to use. The file will be created if it doesn't exist and saved in your `config/` folder.
- **timestamp** (*Optional*): Setting `timestamp` to 1 adds a timestamp to every entry.
- **timestamp** (*Optional*): Setting `timestamp` to True adds a timestamp to every entry.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -36,7 +36,7 @@ Once loaded, the `notify` platform will expose a service that can be called to s
| `target` | yes | Some platforms will allow specifying a recipient that will receive the notification. See your platform page if it is supported.
| `data` | yes | On platforms who have extended functionality. See your platform page if it is supported.
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.
The notification component supports specifying [templates](/topics/templating/) with `data_template`. This will allow you to use the current state of Home Assistant in your notifications.
In an [action](https://home-assistant.io/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.

View File

@ -25,7 +25,7 @@ notify:
server: MAIL_SERVER
port: YOUR_SMTP_PORT
sender: SENDER_EMAIL_ADDRESS
starttls: 1 or 0
starttls: true or false
username: YOUR_SMTP_USERNAME
password: YOUR_SMTP_PASSWORD
recipient: YOUR_RECIPIENT
@ -40,7 +40,8 @@ Configuration variables:
- **username** (*Optional*): Username for the SMTP account.
- **password** (*Optional*): Password for the SMTP server that belongs to the given username. If the password contains a colon it need to be wrapped in apostrophes.
- **recipient** (*Required*): Recipient of the notification.
- **starttls** (*Optional*): Enables STARTTLS, eg. 1 or 0. Defaults to 0.
- **starttls** (*Optional*): Enables STARTTLS, eg. True or False. Defaults to False.
- **debug** (*Optional*): Enables Debug, eg. True or False. Defaults to False.
To use the SMTP notification, refer to it in an automation or script like in this example:

View File

@ -15,18 +15,19 @@ ha_release: 0.19
[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main component to integrate OctoPrint sensors, you will have to setup sensors and binary sensors separately.
To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your configuration.yaml.
To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`.
```yaml
octoprint:
host: http://YOUR_OCTOPRINT_HOST
host: YOUR_OCTOPRINT_HOST
api_key: YOUR_API_KEY
```
Configuration variables:
- **api_key** (*Required*): The retrieved api key.
- **host** (*Required*): The octoprint host.
- **api_key** (*Required*): The retrieved api key.
**NOTE** If your 3D printer isn't connected to the OctoPrint server during the startup of Home Assistant this component will fail to load.

View File

@ -0,0 +1,30 @@
---
layout: page
title: "CoinMarketCap"
description: "Instructions how to integrate CoinMarketCap data within Home Assistant."
date: 2016-08-31 08:15
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Finance
ha_release: 0.28
ha_iot_class: "Cloud Polling"
---
The `coinmarketcap` sensor platform displays various details about a crypto currency provided by [CoinMarketCap](http://coinmarketcap.com/).
To add the CoinMarketCap sensor to your installation, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: coinmarketcap
currency: bitcoin
```
Configuration variables:
- **currency** (*Optional*): The currency to display, eg. `bitcoin`, `litecoin`, `steem`, etc. Default is `bitcoin`.

View File

@ -52,3 +52,5 @@ Configuration variables:
- **origin** (*Required*): The stop ID of your origin station.
- **destination** (*Required*): The stop ID of your destination station.
- **data** (*Required*): The name of the ZIP file or folder containing the GTFS data. It must be located inside the `gtfs` folder of your configuration directory.
- **name** (*Optional*): Name to use in the frontend.

View File

@ -23,7 +23,7 @@ sensor:
server: imap.gmail.com
port: 993
name: Emails
user: USERNAME
username: USERNAME
password: PASSWORD
```
@ -32,6 +32,6 @@ Configuration variables:
- **server** (*Required*): The IP address or hostname of the IMAP server.
- **port** (*Required*): The port where the server is accessible.
- **name** (*Optional*): Name of the IMAP sensor.
- **user** (*Required*): Username for the IMAP server.
- **username** (*Required*): Username for the IMAP server.
- **password** (*Required*): Password for the IMAP server.

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Linux Battery"
description: "Instructions how to integrate Linux Battery information into Home Assistant."
date: 2016-09-06 07:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
ha_release: 0.28
ha_iot_class: "Local Polling"
---
The `linux_battery` sensor platform is using the information stored in `/sys/class/power_supply/` on your local Linux system to display details about the current state of your battery.
To setup a battery sensor to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: linux_battery
name: Laptop
battery: 1
```
Configuration variables:
- **name** (*Optional*): Friendly name to use for the frontend. Default to "Battery".
- **battery** (*Optional*): Number of the battery. Default to `1`.

View File

@ -24,8 +24,8 @@ sensor:
port: PORT
username: USERNAME
password: PASSWORD
use_tls: true
verify_tls: true
ssl: true
verify_ssl: true
```
Configuration variables:
@ -34,6 +34,6 @@ Configuration variables:
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443 for TLS, otherwise 6080.
- **username** (*Required*): The mFi admin username.
- **password** (*Required*): The mFi admin user's password.
- **use_tls** (*Optional*): If true, use TLS to contact the mFi controller. Defaults to true.
- **verify_tls** (*Optional*): Set this to false if your mFi controller has a self-signed certificate. Defaults to true.
- **ssl** (*Optional*): If `True`, use SSL/TLS to contact the mFi controller. Defaults to `True`.
- **verify_ssl** (*Optional*): Set this to `False` if your mFi controller has a self-signed certificate. Defaults to `True`.

View File

@ -13,13 +13,18 @@ ha_release: 0.19
---
The `OctoPrint` sensor platform let you monitor various states of your 3D printer and its print jobs.
The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.
<p class='note'>
You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.
</p>
To set it up, add the following information to your `configuration.yaml` file:
```yaml
sensor:
platform: octoprint
name: OctoPrint
monitored_conditions:
- Current State
- Temperatures
@ -28,9 +33,9 @@ sensor:
Configuration variables:
- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'.
- **monitored_conditions** array (*Required*): States to monitor.
- Current State (Text of current state)
- Temperatures (Temperatures of all available tools)(print head, print bed, ...) These will be displayed as tool0, tool1, ... please refer to your OctoPrint frontend to associate tool number with actual device.
- Job Percentage
- **Current State**: Text of current state)
- **Temperatures**: Temperatures of all available tools, eg. `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device.
- **Job Percentage**:
<p class='note'>You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.</p>

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Pi-Hole Sensor"
description: "Instructions how to integrate REST sensors into Home Assistant."
date: 2016-09-03 16:30
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
ha_iot_class: "Local Polling"
logo: pi_hole.png
ha_release: 0.28
---
The `pi_hole` sensor platform is displaying the statistical summary of a [Pi-Hole](https://pi-hole.net/) system.
To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request:
```yaml
# Example configuration.yaml entry
sensor:
- platform: pi_hole
host: 192.168.1.2
```
Configuration variables:
- **host** (*Optional*): The IP address of the Pi-Hole system. Defaults to `localhost`.

View File

@ -39,6 +39,7 @@ sensor:
payload: '{ "device" : "heater" }'
name: REST POST sensor
unit_of_measurement: "°C"
verify_ssl: False
```
Configuration variables:
@ -49,6 +50,7 @@ Configuration variables:
- **payload** (*Optional*): The payload to send with a POST request. Depends on the service, but usually formed as JSON.
- **name** (*Optional*): Name of the REST sensor.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to True.
<p class='note warning'>
Make sure that the URL matches exactly your endpoint or resource.

View File

@ -26,6 +26,7 @@ sensor:
api_key: YOUR_API_KEY
host: YOUR_SABNZBD_HOST
port: 8080
ssl: True
monitored_variables:
- 'current_status'
- 'speed'
@ -41,6 +42,7 @@ Configuration variables:
- **port** (*Optional*): The port to use whith SABnzbd instance. Defaults to `8080`.
- **api_key** (*Required*): Name that will be used in the frontend for the pin.
- **name** (*Optional*): The name to use when displaying this SABnzbd instance.
- **ssl** (*Optional*): Use `https` instead of `http` to connect. Defaults to False.
- **monitored_variables** array (*Required*): List of the monitored variables.
- **current_status**: current status of the SABnzbd instance
- **speed**: Current speed

View File

@ -15,7 +15,7 @@ ha_release: 0.13
The `speedtest` sensor component uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance.
By default, it will run every hour. The user can change the update frequency in the config by defining the minute, hour, and day for a speedtest to run.
By default, it will run every hour. The user can change the update frequency in the configuration by defining the minute, hour, and day for a speedtest to run. For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php).
To add a Speedtest.net sensor to your installation, add the following to your `configuration.yaml` file:
@ -24,6 +24,7 @@ Once per hour, on the hour (default):
```yaml
sensor:
platform: speedtest
server_id: 1234
monitored_conditions:
- ping
- download
@ -69,6 +70,7 @@ Configuration variables:
- **ping**: Reaction time in ms of your connection, (how fast you get a response after you've sent out a request).
- **download**: Download speed in Mbps.
- **upload**: Upload speed in Mbps.
- **server_id** (*Optional*): Specify the speedtest server to perform test against.
- **minute** (*Optional*): Specify the minute(s) of the hour to schedule the speedtest. Use a list for multiple entries. Default is 0.
- **hour** (*Optional*): Specify the hour(s) of the day to schedule the speedtest. Use a list for multiple entries. Default is None.
- **day** (*Optional*): Specify the day(s) of the month to schedule the speedtest. Use a list for multiple entries. Default is None.

View File

@ -18,4 +18,18 @@ To use your TEMPer sensor in your installation, add the following to your `confi
# Example configuration.yaml entry
sensor:
platform: temper
name: 'My TEMPer'
scale: 1
offset: 0
```
Since some of these sensors consistently show higher temperatures the scale and offset values can be used to fine-tune your sensor.
The calculation follows the formula `scale * sensor value + offset`.
The TEMPer sensors can only be accessed as root by default. To fix the USB permissions on your system create the file `/etc/udev/rules.d/99-tempsensor.rules` and add the following line to it:
```
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="7401", MODE="666"
```
After that re-plug the device and restart Home Assistant.

View File

@ -14,10 +14,10 @@ ha_iot_class: "Cloud Polling"
---
The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as an source for current weather information.
The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.
<p class='note warning'>
Obtain WUnderground API [here](https://www.wunderground.com/weather/api). Free account allows 500 requests per day or 10 per minute.
Obtain a WUnderground API key [here](https://www.wunderground.com/weather/api). A free account allows 500 requests per day or 10 per minute.
</p>
To add Wunderground to your installation, add the following to your `configuration.yaml` file:
@ -61,20 +61,20 @@ sensor:
Configuration variables:
- **api_key** (Required): See above
- **pws_id** (Optional): You can enter your PWS id. Current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter the PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
- **pws_id** (Optional): You can enter a Personal Weather Station id. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored.
- **weather**: A human-readable text summary with picture from Wunderground.
- **temp_f**: Current temperature in Fahrenheit
- **temp_c**: Current temperature in Celsius
- **station_id**: Your personal weather station (PWS) ID
- **feelslike_c**: Feels like (or apparent) temperature in celsius
- **feelslike_c**: Feels like (or apparent) temperature in Celsius
- **feelslike_f**: Feels like (or apparent) temperature in Fahrenheit
- **feelslike_string**: Text summary of how the current teperature feels like
- **feelslike_string**: Text summary of how the current temperature feels like
- **heat_index_c**: Heat index (combined effects of the temperature and humidity of the air) in Celsius
- **heat_index_f**: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit
- **heat_index_string**: Text summary of current heat index
- **dewpoint_c**: Temperature in celsius below which water droplets begin to condense and dew can form
- **dewpoint_f**: Temperature in fahrenheit below which water droplets begin to condense and dew can form
- **dewpoint_c**: Temperature in Celsius below which water droplets begin to condense and dew can form
- **dewpoint_f**: Temperature in Fahrenheit below which water droplets begin to condense and dew can form
- **dewpoint_string**: Text summary of dew point
- **wind_kph**: Current wind speed in kph
- **wind_mph**: Current wind speed in mph
@ -83,7 +83,7 @@ Configuration variables:
- **pressure_mb**: Atmospheric air pressure in millibars
- **wind_dir**: Wind direction
- **wind_string**: Text summary of current wind conditions
- **relative_humidity**: Reltive humidity
- **relative_humidity**: Relative humidity
- **visibility_mi**: Average visibility in miles
- **visibility_km**: Average visibility in km
- **precip_today_in**: Total precipitation in inches

View File

@ -0,0 +1,39 @@
---
layout: page
title: "Xbox Live"
description: "Instructions on how to set up Xbox Live sensors in Home Assistant."
date: 2016-08-28 02:45
sidebar: true
comments: false
sharing: true
footer: true
logo: xbox-live.png
ha_category: Social
ha_iot_class: "Cloud Polling"
ha_release: 0.28
---
The Xbox Live component is able to track [Xbox](http://xbox.com/) profiles.
To use this sensor you need a free API key from [XboxAPI.com](http://xboxapi.com).
Please also make sure to connect your Xbox account on that site.
The configuration requires you to specify XUIDs which are the unique identifiers for profiles.
These can be determined on [XboxAPI.com](http://xboxapi.com) by either looking at your own profile page or using their interactive documentation to search for gamertags.
To use the Xbox Live sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: xbox_live
api_key: YOUR_API_KEY
xuid:
- account1
- account2
```
Configuration variables:
- **api_key** (*Required*): Your API key from [XboxAPI.com](http://xboxapi.com).
- **xuid** (*Required*): Array of profile XUIDs to be tracked.

View File

@ -24,20 +24,22 @@ switch:
platform: command_line
switches:
kitchen_light:
oncmd: switch_command on kitchen
offcmd: switch_command off kitchen
statecmd: query_command kitchen
command_on: switch_command on kitchen
command_off: switch_command off kitchen
command_state: query_command kitchen
value_template: '{% raw %}{{ value == "online" }}{% endraw %}'
friendly_name: Kitchen switch
```
Configuration variables:
- **switches** (*Required*): The array that contains all command switches.
- **entry** (*Required*): Name of the command switch. Multiple entries are possible.
- **oncmd** (*Required*): The action to take for on.
- **offcmd** (*Required*): The action to take for off.
- **statecmd** (*Optional*): If given, this command will be run. Returning a result code `0` will indicate that the switch is on.
- **value_template** (*Optional*): If specified, statecmd will ignore the result code of the command but the template evaluating to `true` will indicate the switch is on.
- **identifier** (*Required*): Name of the command switch as slug. Multiple entries are possible.
- **command_on** (*Required*): The action to take for on.
- **command_off** (*Required*): The action to take for off.
- **command_state** (*Optional*): If given, this command will be run. Returning a result code `0` will indicate that the switch is on.
- **value_template** (*Optional*): If specified, `command_state` will ignore the result code of the command but the template evaluating to `true` will indicate the switch is on.
- **friendly_name** (*Optional*): The name used to display the switch in the frontend.
## {% linkable_title Examples %}
@ -53,8 +55,8 @@ switch:
platform: command_line
switches:
arest_pin4:
oncmd: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/1"
offcmd: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/0"
command_on: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/1"
command_off: "/usr/bin/curl -X GET http://192.168.1.10/digital/4/0"
```
### {% linkable_title Shutdown your local host %}
@ -72,7 +74,7 @@ switch:
platform: command_line
switches:
Home Assistant system shutdown:
offcmd: "/usr/sbin/poweroff"
command_off: "/usr/sbin/poweroff"
```
### {% linkable_title Control your VLC player %}
@ -86,8 +88,8 @@ switch:
platform: command_line
switches:
VLC:
oncmd: "cvlc 1.mp3 vlc://quit &"
offcmd: "pkill vlc"
command_on: "cvlc 1.mp3 vlc://quit &"
command_off: "pkill vlc"
```
### {% linkable_title Control Foscam Motion Sensor %}
@ -100,9 +102,9 @@ switch:
platform: command_line
switches:
foscam_motion:
oncmd: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&usr=admin&pwd=password"'
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>)"'
command_on: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&usr=admin&pwd=password"'
command_off: 'curl -k "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&usr=admin&pwd=password"'
command_state: 'curl -k --silent "https://ipaddress:443/cgi-bin/CGIProxy.fcgi?cmd=getMotionDetectConfig&usr=admin&pwd=password" | grep -oP "(?<=isEnable>).*?(?=</isEnable>)"'
value_template: {% raw %}'{{ value == "1" }}'{% endraw %}
```

View File

@ -31,6 +31,7 @@ switch:
name: D-Link plug
username: YOUR_USERNAME
password: YOUR_PASSWORD
use_legacy_protocol: False
```
Configuration variables:
@ -39,4 +40,5 @@ Configuration variables:
- **name** (*Optional*): The name to use when displaying this switch.
- **username** (*Required*): The username for your plug. Defaults to `admin`.
- **password** (*Required*): The password for your plug. Default password is the `PIN` inlcuded on the configuration card.
- **use_legacy_protocol** (*Optional*): Enable limited support for legacy firmware protocols (Tested with v1.24).

View File

@ -30,7 +30,7 @@ switch:
Configuration variables:
- **host** (*Required*): The IP address of your Edimax switch, eg. 192.168.1.32
- **username** (*Required*): Your username for the Edimax switch.
- **password** (*Required*): Your password for the Edimax switch.
- **username** (*Optional*): Your username for the Edimax switch. Defaults to "admin".
- **password** (*Optional*): Your password for the Edimax switch. Defaults to "1234".
- **name** (*Optional*): The name to use when displaying this switch.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Hikvision Camera Switch"
description: "Instructions how to integrate Hikvision camera's into Home Assistant."
description: "Instructions how to integrate Hikvision camera switches into Home Assistant."
date: 2015-06-10 22:54
sidebar: true
comments: false
@ -34,8 +34,8 @@ switch:
Configuration variables:
- **host** *Required*: The IP address of your Hikvision camera, eg. 192.168.1.32
- **port** *Optional*: The port to connec to your Hikvision camera (default is 80).
- **name** *Optional*: This parameter allows you to override the name of your camera.
- **username** *Required*: The username for accessing your Hikvision camera.
- **password** *Required*: The password to access your Hikvision camera.
- **host** (*Required*): The IP address of your Hikvision camera, eg. 192.168.1.32
- **port** (*Optional*): The port to connec to your Hikvision camera. Defaults to 80.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Optional*): The username for accessing your Hikvision camera. Defaults to "admin".
- **password** (*Optional*): The password to access your Hikvision camera. Defaults to "12345".

View File

@ -24,8 +24,8 @@ sensor:
port: PORT
username: USERNAME
password: PASSWORD
use_tls: true
verify_tls: true
ssl: true
verify_ssl: true
```
Configuration variables:
@ -34,5 +34,5 @@ Configuration variables:
- **port** (*Optional*): The port of your mFi controller. Defaults to 6443.
- **username** (*Required*): The mFi admin username.
- **password** (*Required*): The mFi admin user's password.
- **use_tls** (*Optional*): If true, use TLS to contact the mFi controller. Defaults to true.
- **verify_tls** (*Optional*): Set this to false if your mFi controller has a self-signed certificate. Defaults to true.
- **ssl** (*Optional*): If `True`, use SSL/TLS to contact the mFi controller. Defaults to `True`.
- **verify_ssl** (*Optional*): Set this to `False` if your mFi controller has a self-signed certificate. Defaults to `True`.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Orvibo Switch"
description: "Instructions how to integrate Orvibo switches within Home Assistant."
description: "Instructions how to integrate Orvibo sockets within Home Assistant."
date: 2015-11-15 18:15
sidebar: true
comments: false
@ -11,20 +11,32 @@ logo: orvibo.png
ha_category: Switch
---
The `orvibo` switch platform allows you to toggle your Orvibo S20 Wifi Smart Switch.
The `orvibo` switch platform allows you to toggle your Orvibo S20 Wifi Smart Sockets.
To use your Orvibo switch in your installation, add the following to your `configuration.yaml` file:
To automatically discover Orvibo sockets on your network:
```yaml
# Example configuration.yaml entry
switch:
platform: orvibo
host: IP_ADDRESS
```
To specify Orvibo sockets and skip discovery:
```yaml
switch:
platform: orvibo
discovery: false
switches:
- host: IP_ADDRESS
mac: MA:CA:DD:RE:SS:00
name: "My Socket"
```
Configuration variables:
- **host** (*Required*): IP address of your switch, eg. 192.168.1.10.
- **mac** (*Optional*): MAC address of the switch, eg "AA:BB:CC:DD:EE:FF". This is required if the switch is connected to a different subnet to the machine running Home Assistant
- **discovery** (*Optional*): Whether to discover sockets (default true).
- **switches** (*Optional*):
- **host** (*Required*): IP address of your socket, eg. 192.168.1.10.
- **mac** (*Optional*): MAC address of the socket, eg "AA:BB:CC:DD:EE:FF". This is required if the socket is connected to a different subnet to the machine running Home Assistant
- **name** (*Optional*): Your name for the socket.

View File

@ -35,6 +35,3 @@ Configuration variables:
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
<p class='note warning'>
If you are not running Raspbian Jessie, you will need to run Home Assistant as root.
</p>

View File

@ -0,0 +1,54 @@
---
layout: page
title: "Switch Philips Hue with enocean"
description: "Automation to switch a Philips Hue lamp with an enocean switch."
date: 2016-09-02 22:35 +0800
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Automation Examples
---
Assume that you have an enocean wall switch and some Philips Hue lamps. The enocean wall swtich will fire the event button_pressed and pass along several parameters which is used to turn on/off the lamps.
event_data:
* which
* pushed
* onoff
* id
* devname
```yaml
enocean:
device: /dev/ttyUSB0
binary_sensor:
- platform: enocean
id: [0x00,0x01,0x02,0x03]
name: living_room_switch
automation:
- alias: Turn on living room light
trigger:
platform: event
event_type: button_pressed
event_data:
onoff: 1
devname: living_room_switch
action:
service: light.turn_on
entity_id: light.hue_color_lamp_3
- alias: Turn off living room light
trigger:
platform: event
event_type: button_pressed
event_data:
onoff: 0
devname: living_room_switch
action:
service: light.turn_off
entity_id: light.hue_color_lamp_3
```

View File

@ -0,0 +1,12 @@
---
layout: page
title: "Configuration.yaml by InstaGraeme"
description: ""
date: 2016-09-08 21:30
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/Instagraeme/Home-Assistant-Configuration
---

View File

@ -27,7 +27,7 @@ automation:
above: 2
action:
service: notify.mypushbullet
data:
data_template:
title: "Furnace fan is running"
message: "Fan running because current is {% raw %}{{ states.sensor.furnace.state }}{% endraw %} amps"
```
@ -42,7 +42,7 @@ If you also want a notification when it drops back down below that limit, you co
below: 2
action:
service: notify.mypushbullet
data:
data_template:
title: "Furnace fan is stopped"
message: "Fan stopped because current is {% raw %}{{ states.sensor.furnace.state }}{% endraw %} amps"
```

View File

@ -54,6 +54,7 @@
<li>
API
<ul>
<li>{% active_link https://dev-docs.home-assistant.io/en/dev/ Home Assistant API %}</li>
<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>

View File

@ -0,0 +1,157 @@
---
layout: post
title: "0.28: Reload automation and groups, API documentation, car tracking, Pi-Hole stats"
description: "No Home Assistant restart for reloading automations and groups, Automatic car tracking, Pi-Hole and battery details, and bugfixes for climate and cover"
date: 2016-09-10 08:00:00 +0200
date_formatted: "September 10, 2016"
author: Fabian Affolter
author_twitter: fabaff
comments: true
categories: Release-Notes
---
It's already time for 0.28 thanks to our super short release cycles. Now, it' official...we hit 4000 stars on Github. That's amazing. Sorry, not as amazing as all the stuff that was going on for 0.27 but still pretty awesome.
### {% linkable_title Reload automation rules %}
This release brings you a huge improvement of the [automation] and [group] handling. Both can be reloaded without a Home Assistant restart. The automations can be controlled directly from the frontend.
<p class='img'>
<img src='{{site_root}}/images/screenshots/automation-switches.png' />
</p>
### {% linkable_title Raspberry Pi installation guide %}
Singleboard computers are very popular to run Home Assistant. To support this fact, the [installation documentation][rpi] for the Raspberry Pi devices was re-written to get users started as quickly as possible. [@Landrash] took the lead with on this tasks with help from [@kellerza] and [@MartinHjelmare].
### {% linkable_title Climate and cover %}
There are countless bugfixes included in this release which will make your experience with the `climate` and the `cover` platforms better. Two week ago was the biggest merger of implementations released that ever happened in the history of Home Assistant. Thanks to [@turbokongen], [@pvizeli], [@djbanks], [@danielperna84], and others the improvements on the code and the frontend side is continuing...
### {% linkable_title API documentation %}
The [Home Assistant API Documentation](https://dev-docs.home-assistant.io/en/dev/) is a great addition to the already exisiting user documentation. The focus is not end-users but developers who whant to get details about the code without actually browsing the code on Github.
### {% linkable_title Configuration validation %}
The validation of the configuration is still on-going. Approximatly 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to [@kellerza], [@fabaff], [@Teagan42], and [@pvizeli] for your effort!
### {% linkable_title Templating %}
`data_template` needs to be present in all notify templates for the future.
```yaml
action:
service: notify.telegram
data_template:
message: "Test from your Home"
data:
location:
latitude: "{{ state.device_tracker.phone.attributes.latitude }}"
longitude: "{{ state.device_tracker.phone.attributes.longitude }}"
```
Stay tuned for more details.
### {% linkable_title All changes %}
<img src='/images/supported_brands/xbox-live.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/automatic.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' /><img src='/images/supported_brands/pi_hole.png' style='clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;' width='100' />
- Light: Added bitfield to Flux LED since we are supporting effects ([@tchellomello])
- Device tracker: [Owntracks] waypoint import ([@pavoni])
- Climate: A lot of bugfix ([@turbokongen], [@pvizeli], [@djbanks])
- Notify: Improvement of the title handling ([@lwis])
- RFXtrx: Sensor cleanup ([@turbokongen])
- Device tracker: Fix for BLE device tracker ([@open-homeautomation])
- Device tracker: Allow 'None' MAC addresses to be loaded from `known_devices` file ([@kellerza])
- Cover: Bugfixes ([@turbokongen], [@danielperna84])
- Sensor: Support for displaying details about [crypto currencies][Coinmarketcap] ([@fabaff])
- Device tracker: Support for [automatic] to track your vehicles ([@Teagan42])
- Devie tracker: Add exclude option to [Nmap] device tracker ([@danieljkemp])
- Device tracker: Improved login errors for Asus device tracker ([@kellerza])
- Sensor: Support for displaying the status of [Xbox] Live accounts ([@mKerix])
- Notify: Adding `link_names` for sending Slack message ([@salt-lick])
- Binary sensor: Add the occupancy sensor class ([@robbiet480])
- Fan: Add supoort for [MQTT fans][mqtt-fan] ([@robbiet480])
- Docs: Add Sphinx API doc generation ([@bbangert])
- Core: Allow reloading automation without restart ([@balloob])
- Sensor: Added scale and offset to the [Temper] sensor ([@mKerix])
- Sensor: New support for [Trend] sensor ([@pavoni])
- Device tracker: Keep looking for new BLE devices ([@Bart274])
- Switch: Added device state attributes and support for legacy firmware for D-Link switches ([@LinuxChristian])
- Sensor: Improve 1-Wire device family detection ([@Ardetus])
- Modbus: Update to be thread safe ([@persandstrom])
- Camera: FFMpeg is abale to get the images ([@pvizeli])
- Core: Reload groups without restart ([@balloob])
- Core: Fix remove listener ([@balloob])
- Sensor: Support for monitoring your [battery] on a Linux host ([@fabaff])
- Core: Add support for complex template structures to `data_template` ([@pvizeli])
- `check_config`: Improve yaml fault tolerance and handle border cases ([@kellerza])
- Core: Add additional [template] for custom date formats ([@lwis])
- Sensor: Support for getting stats from Pi-Hole systems ([@fabaff])
- Modbus: New `write_registers` [Modbus] service ([@persandstrom])
- Device tracker: Fix TP-Link Archer C7 long passwords ([@snikch])
### {% linkable_title Breaking changes %}
- [OpenweatherMap] entity IDs are now like `sensor.owm_temperature`. Previously they were like `sensor.weather_temperature`. Apologies for this change, but we needed to make OpenWeatherMap more generic now that we have many weather platforms.
- Updates of configuration variables due to configuration check or alignment with other platforms. Please update your configuration entries according to the documentation:
- [OctoPrint] component
- mFi platform ([switch][mfi-switch] and [sensor][mfi-sensor])
- NX584 Alarm Control Panel
- Mediaplayer platforms [FireTV] and [MPD]
- [switch][command-line-switch] and the [cover][command-line-cover] `command_line` platforms
- Custom components extending `BaseNotificationService` need to be aware that `kwargs.get(ATTR_TITLE)` will now return `None` if a title has not been set, and will need to specify `kwargs.get(ATTR_TITLE, ATTR_TITLE_DEFAULT)` if they always require a title.
### {% linkable_title If you need help... %}
...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant).
[@Ardetus]: https://github.com/Ardetus
[@arsaboo]: https://github.com/arsaboo
[@auchter]: https://github.com/auchter
[@balloob]: https://github.com/balloob
[@Bart274]: https://github.com/Bart274
[@bbangert]: https://github.com/bbangert
[@danieljkemp]: https://github.com/danieljkemp
[@danielperna84]: https://github.com/danielperna84
[@djbanks]: https://github.com/djbanks
[@fabaff]: https://github.com/fabaff
[@infamy]: https://github.com/infamy
[@jnewland]: https://github.com/jnewland
[@kellerza]: https://github.com/kellerza
[@Landrash]: https://github.com/Landrash
[@LinuxChristian]: https://github.com/LinuxChristian
[@lwis]: https://github.com/lwis
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@mKerix]: https://github.com/mKerix
[@nkgilley]: https://github.com/nkgilley
[@open-homeautomation]: https://github.com/open-homeautomation
[@pavoni]: https://github.com/pavoni
[@persandstrom]: https://github.com/persandstrom
[@pvizeli]: https://github.com/pvizeli
[@robbiet480]: https://github.com/robbiet480
[@salt-lick]: https://github.com/salt-lick
[@tchellomello]: https://github.com/tchellomello
[@Teagan42]: https://github.com/Teagan42
[@technicalpickles]: https://github.com/technicalpickles
[@turbokongen]: https://github.com/turbokongen
[@w1ll1am23]: https://github.com/w1ll1am23
[@snikch]: https://github.com/snikch
[modbus]: /components/modbus/
[rpi]: /getting-started/installation-raspberry-pi/
[MPD]: /components/media_player.mpd/
[Coinmarketcap]: /components/sensor.coinmarketcap
[template]: /topics/templating/
[battery]: /components/sensor.linux_battery
[group]: /components/group/
[automation]: /components/automation/
[Temper]: /components/sensor.temper/
[mqtt-fan]: /components/fan.mqtt/
[Xbox]: /components/sensor.xbox_live/
[Nmap]: /components/device_tracker.nmap_scanner/
[automatic]: /components/device_tracker.automatic/
[Owntracks]: /components/device_tracker.owntracks/
[OpenweatherMap]: /components/sensor.openweathermap/
[OctoPrint]: /components/octoprint/
[mfi-switch]: /components/switch.mfi/
[mfi-sensor]: /components/sensor.mfi/
[FireTV]: /components/media_player.firetv/
[command-line-switch]: /components/switch.command_line/
[command-line-cover]: /components/cover.command_line/

View File

@ -44,7 +44,7 @@ script:
msg_who_is_home:
sequence:
- service: notify.notify
data:
data_template:
message: >
{% raw %}{% if is_state('device_tracker.paulus', 'home') %}
Ha, Paulus is home!
@ -80,6 +80,7 @@ Home Assistant adds extensions to allow templates to access all of the current s
- Filter `round(x)` will convert the input to a number and round it to `x` decimals.
- Filter `timestamp_local` will convert an UNIX timestamp to local time/data.
- Filter `timestamp_utc` will convert an UNIX timestamp to UTC time/data.
- Filter `timestamp_custom(format_string, local_boolean)` will convert an UNIX timestamp to a custom format, the use of a local timestamp is default, supporting [Python format options](https://docs.python.org/3/library/time.html#time.strftime).
## {% linkable_title Examples %}
@ -199,6 +200,7 @@ It depends per component or platform but it is common to be able to define a tem
# Timestamps
{% raw %}{{ value_json.tst | timestamp_local }}{% endraw %}
{% raw %}{{ value_json.tst | timestamp_utc }}{% endraw %}
{% raw %}{{ value_json.tst | timestamp_custom('%Y' True) }}{% endraw %}
# Square bracket notation
{% raw %}{{ value_json["001"] }}{% endraw %}

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
Components that interact with devices are called "Entity Components". They are structured in core- and platform logic. This allows the same logic to handle a light to be used by different brands.
Components that interact with devices are called "[Entity Components](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity_component.py)". They are structured in core- and platform logic. This allows the same logic to handle a light to be used by different brands.
For example, the built-in `switch` component consists of various platforms in [`homeassistant/components/switch/`](https://github.com/home-assistant/home-assistant/tree/master/homeassistant/components/switch). The file `__init__.py` contains the core logic of all platform and the `vendor_name.py` files only the relevant platform code.
@ -22,11 +22,11 @@ If you are planning to add support for a new type of device to an existing compo
One of the rules for Home Assistant is that platform logic should never interface directly with devices but use a third-party Python 3 library to do so. This way Home Assistant is able to share code with the Python community and we can keep the project maintainable.
To integrate the third-party library you create an Entity class for your device. Entities are Home Assistant's representation of lights, switches, sensors, etc. and are derived from the [Entity Abstract Class](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/entity.py). This abstract class contains logic for integrating most standard features into your entities, such as visibility, entity IDs, updates, and much more.
To integrate the third-party library you create an [Entity class](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity.py) for your device. Entities are Home Assistant's representation of lights, switches, sensors, etc. and are derived from the [Entity Abstract Class](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/entity.py). This abstract class contains logic for integrating most standard features into your entities, such as visibility, entity IDs, updates, and much more.
### {% linkable_title Requirements and dependencies %}
Platforms can specify dependencies and requirements the same way as a component does.
Platforms can specify dependencies and requirements [the same way as a component does](/developers/component_deps_and_reqs):
```python
REQUIREMENTS = ['some-package==2.0.0', 'some-other-package==2.5.0']

View File

@ -22,7 +22,7 @@ We can differentiate between two different types of components within Home Assis
These components will track devices within a specific domain and consist of a core part and platform-specific logic. These components make their information available via the State Machine and the Event Bus. The component will also register services in the Service Registry to expose control of the devices.
For example, one of the built-in components is the `switch` component. This component is responsible for interaction with different types of switches.
For example, one of the built-in components is the [`switch` component](/components/switch/). This component is responsible for interaction with different types of switches.
A platform provides support for a particular kind/brand of device. For example, a switch could use a WeMo or Orvibo platform, and a light component might interact with the Hue or LiFX platform.

View File

@ -39,6 +39,7 @@ This page contains a list of people who have contributed in one way or another t
- [Austin](https://github.com/trainman419)
- [Azelphur](https://github.com/Azelphur)
- [Bart274](https://github.com/Bart274)
- [Ben Bangert](https://github.com/bbangert)
- [blackdog70](https://github.com/blackdog70)
- [Brad Buran](https://github.com/bburan)
- [Brad Johnson](https://github.com/bradsk88)
@ -62,6 +63,7 @@ This page contains a list of people who have contributed in one way or another t
- [Dan Smith](https://github.com/kk7ds)
- [Dan Sullivan](https://github.com/dansullivan86/)
- [Daren Lord](https://github.com/Xorso)
- [Dave Banks](https://github.com/djbanks)
- [David-Leon Pohl](https://github.com/DavidLP)
- [David Straub](https://github.com/DavidMStraub)
- [Dean Camera](https://github.com/abcminiuser)
@ -136,6 +138,7 @@ This page contains a list of people who have contributed in one way or another t
- [Luca Soldi](https://github.com/LucaSoldi)
- [Lukas Hetzenecker](https://github.com/lukas-hetzenecker)
- [Magnus Knutas](https://github.com/MagnusKnutas)
- [Mal Curtis](https://github.com/snikch)
- [Malte Deiseroth](https://github.com/deisi)
- [Manoj](https://github.com/vmulpuru)
- [Marcelo Moreira de Mello](https://github.com/tchellomello)
@ -186,6 +189,7 @@ This page contains a list of people who have contributed in one way or another t
- [Sean Dague](https://github.com/sdague)
- [sfam](https://github.com/sfam)
- [Stefan Jonasson](https://github.com/stefan-jonasson)
- [Steven Barnes](https://github.com/salt-lick)
- [St. John Johnson](https://github.com/stjohnjohnson)
- [TangoAlpha](https://github.com/TangoAlpha)
- [Teagan Glenn](https://github.com/Teagan42)

View File

@ -26,7 +26,7 @@ This page describes the steps for publishing a new Home Assistant release.
2. Create missing documentation as stumbs in `next`.
3. Update the link on the frontpage (`source/index.html`) to link to the new release blog post and version number.
4. Create a pull request from `next` to `current` with the upcoming release number as title.
5. Merge `current` into `next` (`$ git checkout next && git merge master`) to make the PR mergable.
5. Merge `current` into `next` (`$ git checkout next && git merge current`) to make the PR mergable.
6. Merge pull request (blog post, updated frontpage, and all new documentation) to `current`.
### {% linkable_title Python Package Index %}

View File

@ -1,29 +1,152 @@
---
layout: page
title: "Installation on a Raspberry Pi"
description: "Instructions to install Home Assistant on a Raspberry Pi."
date: 2016-04-16 11:36
title: "Raspbian Lite on a Raspberry Pi"
description: "Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite."
date: 2016-09-05 16:00
sidebar: true
comments: false
sharing: true
footer: true
---
Home Assistant requires the Raspberry Pi to run [Raspbian Jessie](https://www.raspberrypi.org/downloads/raspbian/). This version was released on September 24, 2015 and comes by default with Python 3.4 which is required for Home Assistant.
### {% linkable_title Installation %}
Execute the following code in a console:
This installation of Home Assistant requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/).
The installation will be installed in a [Virtual Environment](/getting-started/installation-virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.
Connect to the Raspberry Pi over ssh. Default password is `raspberry`.
```bash
$ sudo pip3 install homeassistant
$ hass
$ ssh pi@ipadress
```
Running these commands will:
Changing the default password is encouraged.
```bash
$ passwd
```
- Install Home Assistant
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
Update the system.
```bash
$ sudo apt-get update
$ sudo apt-get upgrade -y
```
There is also a [video tutorial](https://www.youtube.com/watch?v=GjzOXkPb7XE) created by [brusc](https://github.com/brusc).
Install the dependencies.
```bash
$ sudo apt-get install python3 python3-venv python3-pip
```
Add an account for Home Assistant called `homeassistant`.
Since this account is only for running Home Assistant the extra arguments of `-rm` is added to create a system account and create a home directory.
```bash
$ sudo useradd -rm homeassistant
```
Next we will create a directory for the installation of Home Assistant and change the owner to the `homeassistant` account.
```bash
$ cd /srv
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistant homeassistant
```
Next up is to create and change to a virtual environment for Home Assistant. This will be done as the `homeassistant` account.
```bash
$ sudo su -s /bin/bash homeassistant
$ cd /srv/homeassistant
$ python3 -m venv homeassistant_venv
$ source /srv/homeassistant/homeassistant_venv/bin/activate
```
Once you have activated the virtual environment you will notice the prompt change and then you can install Home Assistant.
```bash
(homeassistant_venv) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant
```
Start Home Assistant for the first time. This will complete the installation, create the `.homeasssistant` configuration directory in the `/home/homeassistant` directory and install any basic dependencies.
```bash
(homeassistant_venv) $ hass
```
You can now reach your installation on your raspberry pi over the web interface on [http://ipaddress:8123](http://ipaddress:8123).
For instruction on how to configure Home Assistant continue on with [Configuring Home Assistant](/getting-started/configuration/).
### {% linkable_title Raspberry Pi Hardware Specific Components %}
Some components that are specific for the Raspberry Pi can require some further configuration outside of Home Assistant. All commands below are assumed to be executed with the `pi` account. For full documentation of these components refer to the [components](/components) page.
### {% linkable_title Bluetooth Tracker %}
The Bluetooth tracker will work on a Raspberry Pi 3 with the built-in Bluetooth module or with a USB Bluetooth device on any of the other Raspberry Pi's.
Install the following external dependencies.
```bash
$ sudo apt-get install bluetooth libbluetooth-dev
```
After this follow the [Bluetooth Tracker component](/components/device_tracker.bluetooth_tracker/) and [Device Tracker page](/components/device_tracker/) pages.
### {% linkable_title Raspberry Pi Camera %}
The Raspberry Pi Camera is a specific camera for the Raspberry Pi boards. For more information about the camera I suggest reading the [documentation](https://www.raspberrypi.org/documentation/usage/camera/) from the Raspberry Pi foundation.
To use the camera it needs to be enabled with the `raspi-config` utility.
```bash
$ sudo raspi-config
```
Select `Enable camera` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
After reboot add your `homeassistant` account to the `video` group.
```bash
$ sudo adduser homeassistant video
```
After this follow the [Raspberry Pi Camera component](/components/camera.rpi_camera/) page.
### {% linkable_title Raspberry Pi GPIO %}
Each of the following devices are connected to the GPIO pins on the Raspberry Pi.
For more details about the GPIO layout, visit the [documentation](https://www.raspberrypi.org/documentation/usage/gpio/) from the Raspberry
Pi foundation.
Since these are not normally used some extra permission will need to be added.
In general the permission that is needed is granted by adding the `homeassistant` account to the `gpio` group.
#### {% linkable_title Raspberry Pi Cover %}
Add your `homeassistant` account to the `gpio` group
```bash
$ sudo adduser homeassistant gpio
```
After this follow the [Raspberry Pi Cover component](/components/cover.rpi_gpio/) page.
#### {% linkable_title DHT Sensor %}
Add your `homeassistant` account to the `gpio` group
```bash
$ sudo adduser homeassistant gpio
```
After this follow the [DHT Sensor component](/components/sensor.dht/) page.
#### {% linkable_title Raspberry PI GPIO Binary Sensor %}
Add your `homeassistant` account to the `gpio` group
```bash
$ sudo adduser homeassistant gpio
```
After this follow the [Raspberry PI GPIO Binary Sensor component](/components/binary_sensor.rpi_gpio/) page.
#### {% linkable_title Raspberry PI GPIO Switch %}
Add your `homeassistant` account to the `gpio` group.
```bash
$ sudo adduser homeassistant gpio
```
After this follow the [Raspberry PI GPIO Switch component](/components/switch.rpi_gpio/) page.
#### {% linkable_title Raspberry Pi RF Switch %}
Add your `homeassistant` account to the `gpio` group
```bash
$ sudo adduser homeassistant gpio
```
After this follow the [Raspberry Pi RF Switch component](/components/switch.rpi_rf/) page.
#### {% linkable_title One wire Sensor %}
The One wire sensor requires that support for it is enabled on the Raspberry Pi and that the One Wire device is connected to GPIO pin 4.
To enable One Wire support add the following line to the end of `/boot/config.txt`
```yaml
dtoverlay=w1-gpio
```
After this follow the [One Wire Sensor component](/components/sensor.onewire/) page.
### {% linkable_title Troubleshooting %}

View File

@ -86,6 +86,12 @@ Or, on some other systems (such as Raspberry Pi), use:
$ ls /dev/ttyACM*
```
Or, on macOS, use:
```bash
$ ls /dev/cu.usbmodem*
```
<p class='note'>
Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/zwave`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/).
</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -15,11 +15,11 @@ hide_github_edit: true
<div class="grid">
<div class="grid__item one-third lap-one-third palm-one-whole">
<div class='current-version material-card text'>
<h1>Current Version: 0.27.2</h1>
Released: <span class='release-date'>September 3, 2016</span>
<h1>Current Version: 0.28</h1>
Released: <span class='release-date'>September 10, 2016</span>
<div class='links'>
<a href='/blog/2016/08/28/notifications-hue-fake-unification/'>Release notes</a>
<a href='/blog/2016/09/10/notify-group-reload-api-pihole/'>Release notes</a>
</div>
</div>
<div class='join-community material-card text'>