Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2018-05-18 19:39:08 -04:00
commit a655f61286
27 changed files with 251 additions and 52 deletions

View File

@ -140,13 +140,13 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 69
current_patch_version: 0
date_released: 2018-05-11
current_patch_version: 1
date_released: 2018-05-12
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#"
patch_version_notes: "#release-0691---may-12"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -37,7 +37,7 @@ Configuration variables:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **move_long_address**: KNX group address for moving the cover full up or down.
- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down.
- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here.
- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position.
- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover.
- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle.

View File

@ -15,12 +15,14 @@ ha_iot_class: "Cloud Polling"
The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing).
## {% linkable_title Configuration %}
You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing).
This platform will create a file named `google_maps_location_sharing.conf` where it caches your login session.
This platform will create a file named `.google_maps_location_sharing.cookies` where it caches your login session.
<p class='note warning'>
Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this component.
Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this platform.
This issue can be fixed by logging in with your new account and approving your login on the [Device Activity](https://myaccount.google.com/device-activity) page.
</p>

View File

@ -12,7 +12,7 @@ ha_category: Presence Detection
ha_release: pre 0.7
---
_This is one of the two ways we support OpenWRT. If you encounter problems, try [ubus](/components/device_tracker.ubus/)._
_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/components/device_tracker.openwrt/)._
This is a presence detection scanner for OpenWRT using [luci](http://wiki.openwrt.org/doc/techref/luci).

View File

@ -0,0 +1,48 @@
---
layout: page
title: "OpenWRT"
description: "Instructions on how to integrate OpenWRT routers into Home Assistant."
date: 2018-03-09 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: openwrt.png
ha_category: Presence Detection
ha_release: pre 0.7
---
There are _multiple_ ways of integrating an OpenWRT router for presence detection. A broad distinction can be made between presence detection methods which actively scan for devices (by default every 12 seconds) and those that are notified by some external service on changes. It is essentially a problem of synchronizing states between two remote machines.
* __active scanning__
Scan for devices regularly.
* Advantages:
* robust on an unreliable set-up where the the router may not be reachable occasionally
* Disadvantages:
* average six-second delay between connecting and being registered as `home`
* lots of unnecessary network requests
* Examples:
* [ubus](/components/device_tracker.ubus/)
* [luci](/components/device_tracker.luci/)
* __passive/event-based__
External services which notify Home Assistant of devices via the [REST API endpoint](/developers/rest_api.markdown).
* Advantages:
* devices typically registered in under one second when they connect
* very few network requests
* Disadvantages:
* prone to missed events when connectivity between Home Assistant and the router is not guaranteed
* Examples:
* [openwrt_hass_devicetracker](https://github.com/mueslo/openwrt_hass_devicetracker)
* your own custom script
### {% linkable_title Event-based device tracker %}
This can be achieved by running a simple shell script on the OpenWRT router which calls the appropriate Home Assistant service. An OpenWRT package which does this is listed above. As this method directly calls the [service API](/developers/rest_api.markdown#post-apiservicesltdomainltservice), no special configuration is necessary on the Home Assistant side, except for ensuring the device_tracker API is running, which is achieved by adding the following to your `configuration.yaml` file:
```yaml
device_tracker:
```
To get the best of both worlds, you can combine the two approaches, running both a periodic device scanner and an event-based device tracker.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Tesla"
title: "Tesla Device Tracker"
description: "Instructions on for how to integrate Tesla into Home Assistant."
date: 2017-08-02 12:20
sidebar: true

View File

@ -12,7 +12,44 @@ ha_category: Presence Detection
ha_release: 0.7.6
---
_This is one of the two ways we support OpenWRT. If you encounter problems, try [luci](/components/device_tracker.luci/)._
_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/components/device_tracker.openwrt/)._
This is a presence detection scanner for OpenWRT using [luci](http://wiki.openwrt.org/doc/techref/luci).
<p class='note'>
This component requires a [workaround](https://github.com/home-assistant/home-assistant/issues/1258#issuecomment-252469880) when using luci with HTTPS and a self-signed certificate.
</p>
Before this scanner can be used you have to install the luci RPC package on OpenWRT:
```bash
# opkg install luci-mod-rpc
```
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: luci
host: ROUTER_IP_ADDRESS
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
<p class='note warning'>
Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail.
</p>
)._
This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router.

View File

@ -63,19 +63,20 @@ Automations can be triggered on filesystem event data using a `data_template`. T
{% raw %}
```yaml
- action:
- data_template:
message: 'Created {{ trigger.event.data.file }} in {{ trigger.event.data.folder }}'
title: New image captured!
data:
file: " {{ trigger.event.data.path }} "
service: notify.pushbullet
alias: New file alert
condition: []
id: '1520092824697'
#Send notification for new image (including the image itself)
automation:
 alias: New file alert
trigger:
- event_data: {"event_type":"created"}
event_type: folder_watcher
platform: event
  platform: event
  event_type: folder_watcher
  event_data:
     event_type: created
action:
  service: notify.notify
  data_template:
    title: New image captured!
    message: "Created {{ trigger.event.data.file }} in {{ trigger.event.data.folder }}"
    data:
      file: "{{ trigger.event.data.path }}"
```
{% endraw %}

View File

@ -23,6 +23,18 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
If you are upgrading Home Assistant from `0.65.x` and have used the HomeKit component, some accessories may not respond or may behave unusually. To fix these problems, you will need to remove the Home Assistant Bridge from your Home, stop Home Assistant and delete the `.homekit.state` file in your configuration folder and follow the Homekit [setup](#setup) steps again.
</p>
```yaml
# Example configuration.yaml entry configuring HomeKit
homekit:
filter:
include_domains:
- alarm_control_panel
- light
entity_config:
alarm_control_panel.home:
code: 1234
```
{% configuration %}
homekit:
description: HomeKit configuration.
@ -44,7 +56,7 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
required: false
type: string
filter:
description: Filter entities to available in the `Home` app. ([Configure Filter](#configure-filter))
description: Filters for entities to be included / excluded from HomeKit. ([Configure Filter](#configure-filter))
required: false
type: map
keys:
@ -69,8 +81,8 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
required: false
type: map
keys:
alarm_control_panel:
description: Additional options for `alarm_control_panel` entities.
'`<ENTITY_ID>`':
description: Additional options for specific entities.
required: false
type: map
keys:
@ -79,7 +91,7 @@ The `HomeKit` component allows you to forward entities from Home Assistant to Ap
required: false
type: string
code:
description: Code to arm or disarm the alarm in the frontend.
description: Code to arm or disarm the alarm in the frontend. Only applicable for `alarm_control_panel` entities.
required: false
type: string
default: ''

View File

@ -66,8 +66,6 @@ homematic:
resolvenames: json
username: Admin
password: secret
primary: true
variables: true
wired:
host: 127.0.0.1
port: 2000

View File

@ -21,7 +21,6 @@ To add a Blackbird device to your installation, add the following to your `confi
# Example configuration.yaml entry
media_player:
- platform: blackbird
type: serial
port: /dev/ttyUSB0
zones:
1:
@ -32,35 +31,31 @@ media_player:
```
{% configuration %}
type:
description: The type of device connection - serial or socket
required: true
type: string
port:
description: The serial port to which Blackbird matrix switch is connected. Either port or host must be defined.
required: optional
description: The serial port to which Blackbird matrix switch is connected. [`port`](#port) and [`host`](#host) cannot be specified concurrently.
required: exclusive
type: string
host:
description: The IP address of the Blackbird matrix switch. Either port or host must be defined.
required: optional
description: The IP address of the Blackbird matrix switch. [`port`](#port) and [`host`](#host) cannot be specified concurrently.
required: exclusive
type: string
zones:
description: This is the list of zones available. Valid zones are 1,2,3,4,5,6,7,8. Each zone must have a name assigned to it.
description: This is the list of zones available. Valid zones are 1, 2, 3, 4, 5, 6, 7, 8. Each zone must have a name assigned to it.
required: true
type: int
keys:
name:
description: The name of the zone.
sources:
description: The list of sources available. Valid source numbers are 1,2,3,4,5,6,7,8. Each source number corresponds to the input number on the Blackbird matrix switch. Similar to zones, each source must have a name assigned to it.
description: The list of sources available. Valid source numbers are 1, 2, 3, 4, 5, 6, 7, 8. Each source number corresponds to the input number on the Blackbird matrix switch. Similar to zones, each source must have a name assigned to it.
required: true
type: int
keys:
name:
description: The name of the source.
{% endconfiguration%}
{% endconfiguration %}
### {% linkable_title Service `BLACKBIRD_SETALLZONES` %}
### {% linkable_title Service `media_player.blackbird_set_all_zones` %}
Set all zones to the same input source. This service allows you to immediately synchronize all the TVs in your home. Regardless of `entity_id` provided, all zones will be updated.

View File

@ -87,4 +87,21 @@ To add a notification sound, icon, cycles, or priority override, it has to be do
icon: 'i51'
cycles: 0
priority: 'critical'
```
### {% linkable_title Only notify specific device %}
If you have more than one La Metric device, you can specify which will recieve the message by adding `target:` to the service data:
```yaml
action:
service: notify.lametric
data:
message: "Son has arrived at school!"
target: "Office LaMetric"
data:
sound: 'notification'
icon: 'i51'
```
If target is not specified, all LaMetric devices will be notified.

View File

@ -21,7 +21,7 @@ notify:
api_key: ABCDEFG
```
The **name** parameter is optional but needed if you want to use multiple platforms. The platform will be exposed as service `notify/<name>`. The name will default to `notify` if not supplied.
The **name** parameter is optional but needed if you want to use multiple platforms. The platform will be exposed as service `notify.<name>`. The name will default to `notify` if not supplied.
### {% linkable_title Service %}

View File

@ -14,7 +14,7 @@ ha_iot_class: depends
The MQTT notification support is different than the other [notification](/components/notify/) platforms. It is a service. This means that you don't have to create a configuration entry but you need to provide more details when calling the service.
**Call Service** section from the **Developer Tools** allows you to send MQTT messages. Choose *mqtt/publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
**Call Service** section from the <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Developer Tools** allows you to send MQTT messages. Choose *mqtt.publish* from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
```json
{"payload": "Test message from HA", "topic": "home/notification", "qos": 0, "retain": 0}
@ -24,7 +24,18 @@ The MQTT notification support is different than the other [notification](/compon
<img src='/images/screenshots/mqtt-notify.png' />
</p>
Using the [REST API](/developers/rest_api/#post-apiservicesltdomainltservice) to send a message to a given topic.
The same will work for automations.
<p class='img'>
<img src='/images/screenshots/mqtt-notify-action.png' />
</p>
## {% linkable_title Examples %}
### {% linkable_title REST API %}
Using the [REST API](https://developers.home-assistant.io/docs/en/external_api_rest.html) to send a message to a given topic.
```bash
$ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
@ -33,3 +44,31 @@ $ curl -X POST -H "x-ha-access: YOUR_PASSWORD" \
http://IP_ADDRESS:8123/api/services/mqtt/publish
```
### {% linkable_title Automations %}
Use as [`script`](/components/script/) in automations.
{% raw %}
```yaml
automation:
alias: Send me a message when I get home
trigger:
platform: state
entity_id: device_tracker.me
to: 'home'
action:
service: script.notify_mqtt
data:
target: "me"
message: "I'm home"
script:
notify_mqtt:
sequence:
- service: mqtt.publish
data_template:
payload: "{{ message }}"
topic: home/"{{ target }}"
retain: true
```
{% endraw %}

View File

@ -33,6 +33,8 @@ The commands can be dynamic, using templates to insert values for arguments. Whe
Any service data passed into the service call to activate the shell command will be available as a variable within the template.
`stdout` and `stderr` output from the command are both captured and will be logged by setting the [log level](/components/logger/) to debug.
```yaml
# Apply value of a GUI slider to the shell_command

View File

@ -27,6 +27,11 @@ max_entries:
required: false
type: int
default: 50
fire_event:
description: Whether events are fired (required when used for triggers).
required: false
type: string
default: false
{% endconfiguration %}
## {% linkable_title Services %}
@ -55,7 +60,7 @@ The message ("Unable to find service..."), source (`core.py`) and level (`WARNIN
## {% linkable_title Examples %}
Here are some examples using the events posted by `system_log`.
Here are some examples using the events posted by `system_log`. `fire_event` must be set to `true` for these to work.
### {% linkable_title Counting Number of Warnings %}

View File

@ -42,9 +42,9 @@ light.study_ceiling:
As a user, you can change the `entity_id` and add the `name` and `disabled_by`
value to each entry.
- Changing the _first line_ of each entry will change the `entity_id` of the entity throughout Home Assistant.
- The value of `name` will override the name of the entity as given by the
integration.
- The value of `name` will override the _friendly name_ of the entity as given by the integration.
_Added in Home Assistant 0.64._
- The key `disabled_by` can either be `hass` or `user`. This functionality

View File

@ -75,7 +75,7 @@ Home Assistant adds extensions to allow templates to access all of the current s
- `utcnow()` will be rendered as UTC time.
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
- `as_timestamp()` will convert datetime object or string to UNIX timestamp
- `distance()` will measure the distance in meters between home, entity, coordinates.
- `distance()` will measure the distance in kilometers between home, entity, coordinates.
- `closest()` will find the closest entity.
- `float` will format the output as float.
- `strptime(string, format)` will parse a string to a datetime based on a [format][strp-format].
@ -213,7 +213,7 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}{% endr
Since closest returns a state, we can combine it with distance too.
```text
{% raw %}{{ closest(states).name }} is {{ distance(closest(states)) }} meters away.{% endraw %}
{% raw %}{{ closest(states).name }} is {{ distance(closest(states)) }} kilometers away.{% endraw %}
```
## {% linkable_title Processing incoming data %}

View File

@ -26,8 +26,8 @@ To expand a notification on 3D Touch devices simply force touch any notification
message: "Something happened at home!""
data:
attachment:
url: https://67.media.tumblr.com/ab04c028a5244377a0ab96e73915e584/tumblr_nfn3ztLjxk1tq4of6o1_400.gif
content-type: gif
url: "https://github.com/home-assistant/home-assistant-assets/blob/master/logo-round-192x192.png?raw=true"
content-type: png
hide-thumbnail: false
```

View File

@ -20,6 +20,11 @@ First of all install the software collection repository as root. For example, on
```bash
$ yum install centos-release-scl
```
Install some dependencies you'll need later.
```bash
$ yum install gcc gcc-c++ systemd-devel
```
Then install the Python 3.6 package:

View File

@ -64,3 +64,23 @@ You may need to adjust the country code depending upon where you are. A list of
[etcher]: https://etcher.io/
[http://hassbian.local:8123]: http://hassbian.local:8123
[wifi-setup]: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
## {% linkable_title Updating %}
The [Hassbian Scripts](https://github.com/home-assistant/hassbian-scripts) are the easiest way of updating both the host operating system, and Home Assistant.
### {% linkable_title Updating Home Assistant %}
SSH to your system as the user `pi` and run:
```bash
$ sudo hassbian-config upgrade homeassistant
```
### {% linkable_title Updating the host operating system %}
SSH to your system as the user `pi` and run:
```bash
$ sudo hassbian-config upgrade hassbian
```

View File

@ -29,3 +29,13 @@ Check this [video](https://www.youtube.com/watch?v=X27eVvuqwnY) for the installa
<p class='note warning'>
The Microsoft Windows platform is not a primary target to install Home Assistant. Also, not all tools and third-party modules will work.
</p>
## {% linkable_title Updating %}
To update Home Assistant, stop it and then run:
```bash
C:\...\> pip3 install --upgrade homeassistant
```
Then start Home Assistant.

View File

@ -35,6 +35,7 @@ The `zwave` component exposes multiple services to help maintain the network. Al
| stop_network | Stops the Z-Wave network. |
| test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead." |
| test_node | Tells the controller to send no-op command(s) to a specific node. Requires `node_id` field. You can specify amount of test_messages to send by specifying it with `messages` field. In theory, this could bring back nodes marked as "presumed dead"
| update_config | Attempt to update OZW configuration files from git to support newer devices |
The `soft_reset` and `heal_network` commands can be used as part of an automation script to help keep a Z-Wave network running reliably as shown in the example below. By default, Home Assistant will run a `heal_network` at midnight. This is a configuration option for the `zwave` component. The option defaults to `true` but can be disabled by setting `autoheal` to false. If you're having issues with your Z-Wave network, try disabling this automation.

View File

@ -13,7 +13,7 @@ og_image: /images/blog/2018-05-0.69/components.png
<a href='/components/#version/0.69'><img src='/images/blog/2018-05-0.69/components.png' style='border: 0;box-shadow: none;'></a>
Not much time to write a great into this time as we're hanging out at PyCon! Some fixes for the Hue and Wink colors thanks to [@amelchio]. Initial foundation for users has landed, it's not anywhere near usable. We'll keep hacking on it. Google Assistant for Home Assistant Cloud now supports room hints. This will cause Google Assistant put the devices in the right groups when you link your account.
Not much time to write a great intro this time as we're hanging out at PyCon! Some fixes for the Hue and Wink colors thanks to [@amelchio]. Initial foundation for users has landed, it's not anywhere near usable. We'll keep hacking on it. Google Assistant for Home Assistant Cloud now supports room hints. This will cause Google Assistant put the devices in the right groups when you link your account.
## {% linkable_title New Platforms %}
@ -24,6 +24,10 @@ Not much time to write a great into this time as we're hanging out at PyCon! Som
- Issue/add template fans ([@giangvo] - [#12027]) ([fan.template docs]) (new-platform)
- Matrix Chatbot ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (new-platform)
## {% linkable_title Release 0.69.1 - May 12 %}
- Fix loading of Matrix chatbot ([@tinloaf] - [#14346]) ([matrix docs])
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
@ -303,6 +307,7 @@ rainmachine:
[#14331]: https://github.com/home-assistant/home-assistant/pull/14331
[#14347]: https://github.com/home-assistant/home-assistant/pull/14347
[#14381]: https://github.com/home-assistant/home-assistant/pull/14381
[#14108]: https://github.com/home-assistant/home-assistant/pull/14108
[@CM000n]: https://github.com/CM000n
[@Danielhiversen]: https://github.com/Danielhiversen
[@Hate-Usernames]: https://github.com/Hate-Usernames

View File

@ -53,7 +53,9 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
- [Home Assistant lets you automate your smart home without giving up privacy](https://www.the-ambient.com/features/home-assistant-automation-privacy-582) - May 2018
- [HackSpace magazine #6](https://s3-eu-west-1.amazonaws.com/rpi-magazines/issues/full_pdfs/000/000/013/original/HS_6_Digital_Optimised.pdf?1524495009) - May 2018
- [SmartThings vs Home Assistant](https://smarthome.university/smartthings-vs-home-assistant/) - April 2018
- [The winners of the Thomas-Krenn-Awards 2018](https://www.thomas-krenn.com/de/tkmag/allgemein/die-gewinner-des-thomas-krenn-awards-2018-stehen-fest/) - March 2018
- [Best of Open Source Smart Home: Home Assistant vs OpenHAB](https://smarthome.university/your-smart-home-platform-home-assistant-vs-openhab/) - February 2018
- [Hausautomations-Schaltzentrale Home Assistant auf Python-Basis](https://www.heise.de/ct/ausgabe/2017-26-Hausautomations-Schaltzentrale-Home-Assistant-3909532.html) - December 2017
- [Using Home Assistant the ARTIK Cloud](https://developer.artik.io/documentation/developer-guide/wireless-iot/hass.html) - September 2017
- [Control home automation hardware with Home Assistant](http://www.linux-magazine.com/Issues/2017/203/Home-Assistant) - August 2017

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 59 KiB