Merge remote-tracking branch 'origin/current' into next

This commit is contained in:
Paulus Schoutsen 2016-11-04 23:24:11 -07:00
commit c1148f8ec4
89 changed files with 1460 additions and 186 deletions

View file

@ -337,19 +337,24 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
### {% linkable_title Configuring your Flash Briefing skill %}
- Log in to [Amazon developer console][amazon-dev-console]
- Click the Alexa button at the top of the console
- Click the Alexa navigation tab at the top of the console
- Click on the "Get Started >" button under "Alexa Skills Kit"
- Click the yellow "Add a new skill" button in the top right
- Skill Information
- For Skill Type select Flash Briefing Skill API
- For Skill Type select "Flash Briefing Skill API"
- You can enter whatever name you want
- Hit next
- Hit "Next"
- Interaction Model
- Nothing to do here
- Configuration
- Add new feed
- For URL, enter `https://YOUR_HOST/api/alexa/flash_briefings/BRIEFING_ID?api_password=YOUR_API_PASSWORD` where `BRIEFING_ID` is the key you entered in your configuration (such as `whoishome` in the above example)
- For URL, enter `https://YOUR_HOST/api/alexa/flash_briefings/BRIEFING_ID?api_password=YOUR_API_PASSWORD` where `BRIEFING_ID` is the key you entered in your configuration (such as `whoishome` in the above example). **NOTE:** Do not use a non-standard http or https port, AWS will not connect to it.
- You can use this [specially sized Home Assistant logo][large-icon] as the Feed Icon
- All other settings are up to you
- Hit "Next"
- Test
- Having passed all validations to reach this screen you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service.
- To invoke your flash briefing, open the Alexa app on your phone or go to [Alexa|http://alexa.amazon.com/], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing".
[amazon-dev-console]: https://developer.amazon.com
[flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing

View file

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: interlogix.png
ha_category: Binary sensor
ha_category: Binary Sensor
ha_release: 0.31
---

View file

@ -56,9 +56,13 @@ Configuration variables:
- **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.
- **authentication** (*Optional*): Type of the HTTP authentication. `basic` or `digest`.
- **username** (*Optional*): The username for accessing the REST endpoint.
- **password** (*Optional*): The password for accessing the REST endpoint.
- **headers** (*Optional*): The headers for the requests.
<p class='note warning'>
Make sure that the URL matches exactly your endpoint or resource.
Make sure that the URL exactly matches your endpoint or resource.
</p>
@ -68,7 +72,7 @@ In this section you find some real life examples of how to use this sensor.
### {% linkable_title aREST sensor %}
Instead of using an [aREST](/components/binary_sensor.arest/) binary sensor could the value of a device supporting aREST directly retrieved with a REST binary sensor.
Instead of using an [aREST](/components/binary_sensor.arest/) binary sensor, you could retrieve the value of a device supporting aREST directly with a REST binary sensor.
```yaml
binary_sensor:
@ -77,6 +81,31 @@ binary_sensor:
method: GET
name: Light
sensor_class: light
value_template: '{{ value_json.return_value }}'
value_template: {% raw %}'{{ value_json.return_value }}'{% endraw %}
```
### {% linkable_title Accessing an HTTP authentication protected endpoint %}
The REST sensor supports HTTP authentication and customized headers.
```yaml
binary_sensor:
- platform: rest
resource: http://IP_ADDRESS:5000/binary_sensor
username: ha1
password: test1
authentication: basic
headers:
User-Agent: Home Assistant
Content-Type: application/json
```
The headers will contain all relevant details. This will also give you the ability to access endpoints that are protected by tokens.
```bash
Content-Length: 1024
Host: IP_ADDRESS1:5000
Authorization: Basic aGExOnRlc3Qx
Accept-Encoding: identity
Content-Type: application/json
User-Agent: Home Assistant

View file

@ -25,12 +25,14 @@ device_tracker:
- platform: icloud
username: USERNAME
password: PASSWORD
account_name: accountname
```
Configuration variables:
- **username** (*Required*): The username for the iCloud account.
- **password** (*Required*): The password for your given username.
- **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address).
<p class='note warning'>
This may cause battery drainage as it wakes up your device to get the current location.
@ -40,7 +42,12 @@ This may cause battery drainage as it wakes up your device to get the current lo
You may receive an email from Apple stating that someone has logged into your account.
</p>
<p class='note warning'>
If you have two-factor authentication enabled on your iCloud account you will not be able to use this presence detection in HA, even with an app-specific password.
</p>
To disable the drainage of the battery, a dynamic interval is being used for each individual device instead of a fixed interval for all devices linked to one account. The dynamic interval is based on the current zone of a device, the distance towards home and the battery level of the device.
2 Factor Authentication is enabled for iCloud. The component will ask which device you want to use as Trusted Device and then you can enter the code that has been sent to that device. The duration of this authentication is determined by Apple, but is now at 2 months, so you will only need to verify your account each two months, even after restarting Home Assistant.
4 services are available for this component:
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to it's default dynamic interval based on it's current zone, it's distance towards home and it's battery level.
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional.

View file

@ -73,7 +73,7 @@ devicename:
| `name` | Host name or "Unnamed Device" | The friendly name of the device |
| `mac` | None | The MAC address of the device. Add this if you are using a network device tracker like Nmap or SNMP |
| `icon` | None | A name of an MDI Icon. |
| `picture` | None | A picture that you can use to easily identify the person or device, if provided, will override 'icon' |
| `picture` | None | A picture that you can use to easily identify the person or device. You can also save the image file in a folder "www" in the same location (can be obtained from developer tools) where you have your configuration.yaml file and just use `picture: /local/favicon-192x192.png`. |
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture` |
| `track` | False | If `yes`/`on`/`true` then the device will be tracked. Otherwise its location and state will not update |
| `hide_if_away` | False | If `yes`/`on`/`true` then the device will be hidden if it is not at home |

View file

@ -15,6 +15,8 @@ ha_release: pre 0.7
The `tomato` platform requires an extra config variable called `http_id`. The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
Because of a limitation in Tomato's API, this platform will only track wireless devices. If tracking wired devices like a Philips Hue Hub is necessary, it is possible to use another platform like [NMAP](/components/device_tracker.nmap_tracker/).
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml

View file

@ -18,7 +18,13 @@ Home Assistant can discover and automatically configure zeroconf/mDNS and uPnP d
* Belkin WeMo switches
* Philips Hue
* Netgear routers
* Plex Media Server
* Plex media server
* Panasonic Viera
* Roku media player
* Sono Speaker
* Yamaha media player
* Logitech media server (Squeezebox)
* DirecTV
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
@ -30,8 +36,8 @@ discovery:
```
<p class='note'>
The home-assistant server must be on the same network as the devices for uPnP discovery to work.
If running home-assistant in a docker container use switch `--net=host` to put it on the host's network.
Home Assistant must be on the same network as the devices for uPnP discovery to work.
If running Home Assistant in a Docker container use switch `--net=host` to put it on the host's network.
</p>
If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform/#discovery).

View file

@ -84,6 +84,13 @@ The following are attributes that can be applied in the `customize` section:
- **emulated_hue** (*Optional*): Whether or not the entity should be exposed by the emulated Hue bridge. The default value for this attribute is controlled by the `expose_by_default` option.
- **emulated_hue_name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name.
### {% linkable_title Troubleshooting %}
You can verify that the `emulated_hue` component has been loaded and is responding by pointing a local browser to the following URL:
http://`<HA IP Address>`:8300/description.xml - This URL should return a descriptor file in the form of an XML file.
http://`<HA IP Address>`:8300/api/pi/lights - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
### {% linkable_title License %}
Much of this code is based on work done by Bruce Locke on his [ha-local-echo](https://github.com/blocke/ha-local-echo) project, originally released under the MIT License. The license is located [here](https://github.com/blocke/ha-local-echo/blob/b9bf5dcaae6d8e305e2283179ffba64bde9ed29e/LICENSE).

View file

@ -32,15 +32,27 @@ fan:
Configuration variables:
- **name** (*Optional*): The name of the lock. Default is 'MQTT Lock'.
- **command_topic** (*Required*): The MQTT topic to publish commands to change the fan state.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
- **command_topic** (*Required*): The MQTT topic to publish commands to change the lock state.
- **name** (*Optional*): The name of the fan. Default is 'MQTT Fan'.
- **payload_on** (*Optional*): The payload that represents the running state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents the stop state. Default is "OFF".
- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is `true` if no state topic defined, else `false`.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
- **state_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the state.
- **speed_state_topic** (*Optional*): The MQTT topic subscribed to receive speed updates.
- **speed_command_topic** (*Optional*): The MQTT topic to publish commands to change the fan speed.
- **speed_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the speed.
- **oscillation_state_topic** (*Optional*): The MQTT topic subscribed to receive oscillation updates.
- **oscillation_command_topic** (*Optional*): The MQTT topic to publish commands to change the fan oscillation.
- **oscillation_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the oscillation.
- **payload_oscillation_on** (*Optional*): The payload that represents the oscillation state. Default is "ON".
- **payload_oscillation_off** (*Optional*): The payload that represents the oscillation state. Default is "OFF".
- **payload_low_speed** (*Optional*): The payload that represents the low speed state. Default is "low".
- **payload_medium_speed** (*Optional*): The payload that represents the low speed state. Default is "med".
- **payload_high_speed** (*Optional*): The payload that represents the low speed state. Default is "high".
- **speeds** array (*Optional*): Valid entries for the list are `off`, `low`, `med`, and `high`.
<p class='note warning'>
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.

View file

@ -71,7 +71,11 @@ automation:
To be able to receive events from IFTTT, your Home Assistant instance needs to be accessible from the web. This can be achieved by forwarding port 8123 from your router to the device running Home Assistant. If your ISP is giving you a new IP address from time to time, consider using [DuckDNS][duck-dns].
In the URL field, you can then put an [API URL][rest-api]. You probably want to use a POST action, so select `POST` as method. After your request line, you need to add your Home Assistant password, which you defined in the [http section of your config][http-configuration], in the form off `?api_password=<your_password>`. For the message body, refer to the API page linked above.
[duck-dns]: https://duckdns.org
[rest-api]: https://home-assistant.io/developers/rest_api/
[http-configuration]: https://home-assistant.io/getting-started/basic/#password-protecting-the-web-interface
<p class='img'>
<img src='/images/components/ifttt/IFTTT_to_HA.png' />

View file

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: influxdb.png
ha_category: "History"
ha_category: History
ha_release: 0.9
---

View file

@ -23,7 +23,6 @@ To add a TV to your installation, add the following to your `configuration.yaml`
# Example configuration.yaml entry
media_player:
- platform: webostv
host: 192.168.0.10
```
Configuration variables:

View file

@ -43,7 +43,7 @@ A few notes:
- For receivers that support more than one zone, Home Assistant will add one media player per zone supported by the player, named "$name Zone 2" and "$name Zone 3".
- In some cases, autodiscovery fails due to a known bug in the receiver's firmware. It is possible to manually specify the reveiver's IP address or via it's hostname (if it is discoverably by your DNS) then.
- Please note: If adding the IP address or hostname manually, you **must** enable network standby on your receiver, or else startup of Home Assistant will hang if you have your receiver switched off.
- Currently, this component supports powering on/off, mute, volume control and source selection.
- Currently, this component supports powering on/off, mute, volume control and source selection. Playback controls, for instance play and stop are available for sources that supports it.
A full configuration example will look like the sample below:
```yaml

View file

@ -15,6 +15,8 @@ ha_release: pre 0.7
The `xmpp` platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](http://xmpp.org) account.
To enable Jabber notifications in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:

View file

@ -27,3 +27,7 @@ Configuration variables:
- **device** (*Required*): The path to your device, e.g. `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0`
- **debug** (*Optional*): If you want to receive debug output.
- **dummy** (*Optional*): Then you have need a connected drive to test your settings. Can be usefull for debugging and testing.
Supported protocols
Not all protocols as advertised are enabled on inital setup of your transceiver. Enabling all protocols is not recommmended either. Your 433.92 product not showing in the logs? Visit the RFXtrx website to [download RFXmgmr](http://www.rfxcom.com/epages/78165469.sf/nl_NL/?ObjectPath=/Shops/78165469/Categories/Downloads) and enable the required protocol.

View file

@ -14,7 +14,15 @@ ha_iot_class: "Cloud Polling"
---
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant. To get an app token, log in to your efergy account, go to the Settings page, click on App tokens, and click "Add token".
Integrate your [Efergy](https://efergy.com) meter information into Home Assistant. To get an app token:
1. Log in to your efergy account
2. Go to the Settings page
3. Click on App tokens
4. Click "Add token"
```yaml
# Example configuration.yaml entry

View file

@ -16,7 +16,7 @@ ha_release: 0.23
The `fixer` sensor will show you the current exchange rate from [Fixer.io](http://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu).
To get an owerview about the available [currencies](http://api.fixer.io/latest).
To get an overview about the available [currencies](http://api.fixer.io/latest).
To enable this sensor, add the following lines to your `configuration.yaml` file:

View file

@ -21,20 +21,14 @@ If you want to enable the plex sensor, add the following lines to your `configur
```yaml
# Example configuration.yaml entry
sensor:
platform: plex
name: Plex Spy
host: 192.168.1.100
port: 32400
username: plexuser
password: plexpw
server: MyPlexServer
- platform: plex
```
Configuration variables:
- **host** (*Optional*): The IP address of your Plex server. Defaults to `localhost`.
- **port** (*Optional*): The port of your Plex Server. Defaults to 32400.
- **name** (*Optional*): Name of the Plex server. Defaults to Plex.
- **port** (*Optional*): The port of your Plex Server. Defaults to `32400`.
- **name** (*Optional*): Name of the Plex server. Defaults to "Plex".
- **username** (*Optional*): The username for the remote Plex server.
- **password** (*Optional*): The password for your given account on the remote Plex server.
- **server** (*Optional*): The name of your remote Plex server.

View file

@ -50,10 +50,10 @@ Configuration variables:
- **headers** (*Optional*): The headers for the requests.
<p class='note warning'>
Make sure that the URL matches exactly your endpoint or resource.
Make sure that the URL exactly matches your endpoint or resource.
</p>
`curl` could help you with the identification of the variable you want to display in your Home Assistant frontend. The example below show the JSON response of a device that is running with [aREST](http://arest.io/).
`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](http://arest.io/).
```bash
$ curl -X GET http://192.168.1.31/temperature/
@ -97,6 +97,8 @@ sensor:
The Home Assistant [API](/developers/rest_api/) exposes the data from your attached sensors. If you are running multiple Home Assistant instances which are not [connected](/developers/architecture/#multiple-connected-instances) you can still get information from them.
If the Home Assistant instance in the resource variable is protected by an API password, you can append `?api_password=YOUR_PASSWORD` to the resource URL to authenticate or use `headers:`.
```yaml
sensor:
- platform: rest
@ -105,6 +107,7 @@ sensor:
value_template: {% raw %}'{{ value_json.state }}'{% endraw %}
unit_of_measurement: "°C"
```
### {% linkable_title Accessing a HTTP authentication protected endpoint %}
The REST sensor supports HTTP authentication and customized headers.
@ -117,14 +120,14 @@ sensor:
password: test1
authentication: basic
headers:
User-agent: Home Assistant
User-Agent: Home Assistant
Content-Type: application/json
```
The header will contains all relevant details. This will give you the flexibility to access also endpoints wich are protected by Tokens.
The headers will contain all relevant details. This will also give you the ability to access endpoints that are protected by tokens.
```bash
Content-Length:
Content-Length: 1024
Host: IP_ADDRESS1:5000
Authorization: Basic aGExOnRlc3Qx
Accept-Encoding: identity
@ -134,7 +137,7 @@ User-Agent: Home Assistant
### {% linkable_title Use GitHub to get the latest release of Home Assistant %}
This sample is very similar to the [`updater`](/components/updater/) component but the information are recieved from GitHub.
This sample is very similar to the [`updater`](/components/updater/) component but the information is recieved from GitHub.
```yaml
sensor:

View file

@ -13,7 +13,7 @@ ha_release: pre 0.7
ha_iot_class: "Local Push"
---
The `systemmonitor` sensor platform to allow you to monitor disk usage, memory usage, CPU usage, and running processes. This platform has superseded the process component which is now considered deprecated.
The `systemmonitor` sensor platform allows you to monitor disk usage, memory usage, CPU usage, and running processes. This platform has superseded the process component which is now considered deprecated.
To add this platform to your installation, add the following to your `configuration.yaml` file:

View file

@ -27,7 +27,6 @@ switch:
name: Fan Office
12:
name: Light Desk
type: digital
initial: true
negate: true
```

View file

@ -43,7 +43,30 @@ switch:
name: device_name
```
Example configuration:
Configuration variables:
- **devices** (*Required*): A list of devices with their name to use in the frontend.
- **automatic_add** (*Optional*): To enable the automatic addition of new switches.
- **signal_repetitions** (*Optional*): Because the rxftrx device 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.
- **fire_event** (*Optional*): Fires an event even if the state is the same as before, for example a doorbell switch. Can also be used for automations.
Generate codes:
If you need to generate codes for switches you can use a template (usefull for example COCO switches).
- Go to home-assistant-IP:8123/dev-template
- Use this code to generate a code:
```yaml
0b11000{{ range(0,700) | random | int }}bc0cfe0{{ range(0,10) | random | int }}010f70
```
- Use this code to add a new switch in your configuration.yaml
- Launch your homeassistant and go the website.
- Enable learning mode on your switch (i.e. push learn button or plug it in a wall socket)
- Toggle your new switch in the homeassisant interface
## {% linkable_title Examples %}
Basic configuration with 3 devices:
```yaml
# Example configuration.yaml entry
@ -61,9 +84,68 @@ switch:
fire_event: True
```
Configuration variables:
Doorbell configuration:
- **devices** (*Required*): A list of devices with their name to use in the frontend.
- **automatic_add** (*Optional*): To enable the automatic addition of new switches.
- **signal_repetitions** (*Optional*): Because the rxftrx device 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.
- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations.
```yaml
# Example configuration.yaml entry
switch:
platform: rfxtrx
automatic_add: False
devices:
0710014c440f0160:
name: Hall
0710010244080780:
name: Door
fire_event: true
automation:
- alias: Switch light on when door bell rings if sun is below horizon and light was off
trigger:
platform: event
event_type: button_pressed
event_data: {"entity_id": "switch.door"}
condition:
condition: and
conditions:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: state
entity_id: switch.hall
state: 'off'
action:
- service: switch.turn_on
entity_id: switch.hall
```
Use remote to enable scene:
```yaml
# Example configuration.yaml entry
switch:
platform: rfxtrx
automatic_add: False
devices:
0b1100ce3213c7f210010f70:
name: Light1
0b11000a02ef2gf210010f50:
name: Light2
0b1111e003af16aa10000060:
name: Keychain remote
fire_event: true
scene:
name: Livingroom
entities:
switch.light1: on
switch.light2: on
automation:
- alias: Use remote to enable scene
trigger:
platform: event
event_type: button_pressed
event_data: {"state": "on", "entity_id": "switch.keychain_remote"}
action:
service: scene.turn_on
entity_id: scene.livingroom
```