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

This commit is contained in:
Paulus Schoutsen 2018-12-06 09:38:07 +01:00
commit 3afaecada8
39 changed files with 873 additions and 1250 deletions

View File

@ -142,13 +142,13 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 83
current_patch_version: 0
date_released: 2018-11-29
current_patch_version: 3
date_released: 2018-12-03
# 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: ""
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -83,7 +83,7 @@ skip_first:
default: false
message:
description: >
A message to be sent after an alert transitions from `of` to `on`
A message to be sent after an alert transitions from `off` to `on`
with [template][template] support.
required: false
type: template
@ -205,7 +205,8 @@ sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes.
### {% linkable_title Message Templates %}
It may be desirable to have the alert notifications include information
about the state of the entity.
about the state of the entity. [Templates](/docs/configuration/templating/)
can be used in the message or name of the alert to make it more relevant.
The following will show for a plant how to include the problem `attribute`
of the entity.
@ -230,4 +231,27 @@ alert:
The resulting message could be `Plant Officeplant needs help (moisture low)`.
The next example uses a template for the alert name.
{% raw %}
```yaml
alert:
garage_door:
name: Garage has been open for {{ relative_time(states.binary_sensor.garage.last_changed) }}
done_message: Garage is closed
entity_id: binary_sensor.garage
state: 'on'
repeat:
- 30
- 60
- 120
can_acknowledge: True
skip_first: True
notifiers:
- ryans_phone
```
{% endraw %}
The resulting title of the alert could be `Garage has been open for 30 min`.
[template]: /docs/configuration/templating/

View File

@ -53,7 +53,7 @@ The default name of the location attributes is `lat` and `long` to avoid showing
### {% linkable_title Show position on map with camera platform %}
The [generic camera platform](/components/camera.mjpeg/) offers
the possibility to show the location of the ISS on Google Maps.
the possibility to show the location of the ISS on OpenStreetMap.
{% raw %}
```yaml

View File

@ -14,14 +14,13 @@ logo: home-assistant.png
ha_qa_scale: internal
---
The `template` platform supports sensors which break out the `state` and
`state_attributes` from other entities. The state of a Template Binary Sensor
can only be `on` or `off`.
The `template` platform supports binary sensors which get their values from
other entities. The state of a Template Binary Sensor can only be `on` or
`off`.
## {% linkable_title Configuration %}
To enable Template Binary Sensors in your installation, add the following to
your `configuration.yaml` file:
Here is an example of adding a Template Binary Sensor to the `configuration.yaml` file:
{% raw %}
```yaml
@ -84,6 +83,8 @@ sensors:
## {% linkable_title Considerations %}
### Startup
If you are using the state of a platform that takes extra time to load, the
Template Binary Sensor may get an `unknown` state during startup. This results
in error messages in your log file until that platform has completed loading.
@ -94,6 +95,14 @@ with this equivalent that returns `true`/`false` and never gives an unknown
result:
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
### Entity IDs
The template engine will attempt to work out what entities should trigger an
update of the sensor. This can fail, for example if your template loops over
the contents of a group. In this case you can use `entity_id` to provide a
list of entity IDs that will cause the sensor to update or you can run the
service `homeassistant.update_entity` to update the sensor at will.
## {% linkable_title Examples %}
In this section you find some real-life examples of how to use this sensor.

View File

@ -21,18 +21,18 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component
| Name | Zigbee entity | Model no. | States | Event | Event key | Event values |
| ---- | ------------- | --------- | ------ | ----- | --------- | ------------ |
| Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `motion` | | |
| Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `motion` | | |
| Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `xiaomi_aqara.motion` | | |
| Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `xiaomi_aqara.motion` | | |
| Door and Window Sensor (1st gen) | magnet | WSDCGQ01LM | on, off | | | |
| Door and Window Sensor (2nd gen) | sensor_magnet.aq2 | MCCGQ11LM | on, off | | | |
| Smoke Detector | smoke | JTYJ-GD-01LM/BW | on, off | | | |
| Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | |
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | |
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` |
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` |
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` |
| Cube | cube | MFKZQ01LM | off (always) | `cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) |
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double` |
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single` |
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `both` |
| Cube | cube | MFKZQ01LM | off (always) | `xiaomi_aqara.cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) |
| Vibration Sensor | vibration | DJT11LM | off (always) | `xiaomi_aqara.movement` | `movement_type` | `vibrate`, `tilt`, `free_fall` |
### {% linkable_title Automation examples %}

View File

@ -20,7 +20,7 @@ The Home Assistant Cloud allows you to quickly integrate your local Home Assista
cloud:
```
Once activated, go to the configuration panel in Home Assistant and create an account and log in. If you are not seeing the **Configuration** panel, make sure you have the following option enabled in your configuration.yaml` file.
Once activated, go to the configuration panel in Home Assistant and create an account and log in. If you are not seeing the **Configuration** panel, make sure you have the following option enabled in your `configuration.yaml` file.
```yaml
config:

View File

@ -27,8 +27,8 @@ device_tracker:
username: admin
password: YOUR_PASSWORD
new_device_defaults:
track_new_devices: True
hide_if_away: False
track_new_devices: true
hide_if_away: false
```
The following optional parameters can be used with any platform. However device tracker will only look for global settings under the configuration of the first configured platform:
@ -37,10 +37,10 @@ The following optional parameters can be used with any platform. However device
|----------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `interval_seconds` | 12 | Seconds between each scan for new devices |
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `True`), `hide_if_away` (default: `False`) |
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `true`), `hide_if_away` (default: `false`) |
<p class='note'>
Note that setting `track_new_devices: False` will still result in new devices being recorded in `known_devices.yaml`, but they won't be tracked (`track: no`).
Note that setting `track_new_devices:false` will still result in new devices being recorded in `known_devices.yaml`, but they won't be tracked (`track: no`).
</p>
The extended example from above would look like the following sample:
@ -85,7 +85,7 @@ devicename:
| `icon` | mdi:account | An icon for this device (use as an alternative to `picture`). |
| `gravatar` | None | An email address for the device's owner. If provided, it will override `picture`. |
| `track` | [uses platform setting] | 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. |
| `hide_if_away` | false | If `yes`/`on`/`true` then the device will be hidden if it is not at home. |
| `consider_home` | [uses platform setting] | Seconds to wait till marking someone as not home after not being seen. Allows you to override the global `consider_home` setting from the platform configuration on a per device level. |
## {% linkable_title Using GPS device trackers with local network device trackers %}

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Tado"
description: "Instructions on how to integrate Tado into Home Assistant."
title: "Tado Device Tracker"
description: "Instructions on how to integrate Tado device tracker into Home Assistant."
date: 2017-01-17 12:00
sidebar: true
comments: false

View File

@ -43,15 +43,14 @@ eufy:
```bash
$ curl -H "Content-Type: application/json" \
-d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' \
https://home-api.eufylife.com/v1/user/email/login \
| jq
https://home-api.eufylife.com/v1/user/email/login
```
replacing USERNAME and PASSWORD with the Eufy username and password. This will give an `access_token`. Then run:
```bash
$ curl -H token:TOKEN -H category:Home \
https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq
https://home-api.eufylife.com/v1/device/list/devices-and-groups
```
replacing TOKEN with the `access_token` from the previous command. This will provide the local_code for each device.

View File

@ -12,7 +12,7 @@ ha_category: Hub
ha_release: 0.77
---
This component allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered.
This component allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. Home Assistant will impersonate a Smartisan YQ603 phone which will then show up in your Google devices.
## {% linkable_title Setup the component via the frontend %}

View File

@ -14,6 +14,10 @@ ha_release: 0.9
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
<p class='note'>
The `influxdb` database component runs parallel to the Home Assistant database. It does not replace it.
</p>
## {% linkable_title Configuration %}
The default InfluxDB configuration doesn't enforce authentication. If you have installed InfluxDB on the same host where Home Assistant is running and haven't made any configuration changes, add the following to your `configuration.yaml` file:

View File

@ -12,7 +12,7 @@ footer: true
Keeps track which locks are in your environment, their state and allows you to control them.
* Maintains a state per lock and a combined state `all_locks`.
* Registers services `lock.lock` and `lock.unlock` to control locks.
* Registers services `lock.lock`, `lock.unlock` and `lock.open` (unlatch) to control locks.
### {% linkable_title Services %}
@ -54,7 +54,7 @@ action:
### {% linkable_title Use the services %}
Go to the **Developer Tools**, then to **Call Service** in the frontend, and choose `lock.lock` or `lock.unlock` from the list of available services (**Services:** on the left). Enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
Go to the **Developer Tools**, then to **Call Service** in the frontend, and choose `lock.lock`, `lock.unlock` or `lock.open` from the list of available services (**Services:** on the left). Enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
```json
{"entity_id":"lock.front_door"}

View File

@ -92,7 +92,7 @@ If you get a "Device authentication required, no keys available" error when tryi
Once you've successfully connected to your Fire TV via the command `adb connect <ipaddress>`, the files `adbkey` and `adbkey.pub` will be created on your computer. The default locations for these files are (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)):
* Linux and Mac: `$HOME/.android.`
* Windows: `%USERPOFILE%\.android.`
* Windows: `%userprofile%\.android.`
Copy the `adbkey` and `adbkey.pub` files to your Home Assistant folder and add the path to the `adbkey` file to your configuration.

View File

@ -109,8 +109,6 @@ Assuming the previous test completed successfully and your browser was registere
The `html5` platform accepts a standard notify payload. However, there are also
some special features built in which you can control in the payload.
Any JSON examples below can be [converted to YAML](https://www.json2yaml.com/)
for automations.
#### {% linkable_title Actions %}
@ -118,23 +116,15 @@ Chrome supports notification actions,
which are configurable buttons that arrive with the notification and can cause
actions on Home Assistant to happen when pressed. You can send up to 2 actions.
```json
{
"message": "Anne has arrived home",
"data": {
"actions": [
{
"action": "open",
"icon": "/static/icons/favicon-192x192.png",
"title": "Open Home Assistant"
},
{
"action": "open_door",
"title": "Open door"
}
]
}
}
```yaml
message: Anne has arrived home
data:
actions:
- action: open
icon: "/static/icons/favicon-192x192.png"
title: Open Home Assistant
- action: open_door
title: Open door
```
#### {% linkable_title Data %}
@ -144,14 +134,11 @@ the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `image`,
`lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`) will be
sent back to you in the [callback events](#automating-notification-events).
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"my-custom-parameter": "front-door-open"
}
}
```yaml
title: Front door
message: The front door is open
data:
my-custom-parameter: front-door-open
```
#### {% linkable_title Tag %}
@ -162,14 +149,12 @@ a specific target. If you pass your own tag in the notify payload you can
replace the notification by sending another notification with the same tag.
You can provide a `tag` like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"tag": "front-door-notification"
}
}
```yaml
title: Front door
message: The front door is open
data:
tag: front-door-notification
```
Example of adding a tag to your notification. This won't create new notification
@ -195,22 +180,20 @@ If you do not provide a `target` parameter in the notify payload a notification
will be sent to all registered targets as listed in
`html5_push_registrations.conf`. You can provide a `target` parameter like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"target": "unnamed device"
}
```yaml
title: Front door
message: The front door is open
target: unnamed device
```
`target` can also be a string array of targets like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"target": ["unnamed device", "unnamed device 2"]
}
```yaml
title: Front door
message: The front door is open
target:
- unnamed device
- unnamed device 2
```
#### {% linkable_title Overrides %}
@ -226,14 +209,11 @@ maximum icon size for an action button is 128px by 128px.
You can provide a URL to open when the notification is clicked by putting `url`
in the data dictionary like so:
```json
{
"title": "Front door",
"message": "The front door is open",
"data": {
"url": "https://google.com"
}
}
```yaml
title: Front door
message: The front door is open
data:
url: https://google.com
```
If no URL or actions are provided, interacting with a notification will open

View File

@ -12,8 +12,8 @@ ha_category: Presence Detection
featured: false
ha_release: 0.7.4
redirect_from:
- components/device_tracker.owntracks
- components/device_tracker.owntracks_http
- /components/device_tracker.owntracks/
- /components/device_tracker.owntracks_http/
---
OwnTracks is a free and open source application for iOS and Android that allow you to track your location and send it directly to Home Assistant. It can be set up via the integrations panel in the configuration screen.

View File

@ -90,10 +90,12 @@ proximity:
tolerance: 50
unit_of_measurement: mi
home3:
zone: home3
devices:
- device_tracker.iphone1
tolerance: 50
work:
zone: work
devices:
- device_tracker.iphone2
tolerance: 10

View File

@ -50,7 +50,7 @@ As you can see, there are two ways to define the states of each `entity_id`:
- Define the `state` directly with the entity.
- Define a complex state with its attributes.
The mapping from states to services is done with the [state helper](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/state.py#L74). So, please have a look there for available states for your scenes.
The mapping from states to services is done with the [state helper](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/state.py#L82). So, please have a look there for available states for your scenes.
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).

View File

@ -13,7 +13,7 @@ ha_iot_class: "Cloud Polling"
ha_release: "0.83"
---
The `launch_library` sensor will provide you with information about the next planed space launch.
The `launch_library` sensor will provide you with information about the next planned space launch.
## {% linkable_title Configuration %}
@ -32,6 +32,6 @@ name:
type: string
{% endconfiguration %}
The data this platform are presenting are coming from [launchlibrary.net][launchlibrary].
The data this platform presents comes from [launchlibrary.net][launchlibrary].
[launchlibrary]: http://launchlibrary.net/

View File

@ -53,7 +53,7 @@ routes:
description: Name of the route.
required: true
type: string
frome:
from:
description: The start station.
required: true
type: string

View File

@ -26,8 +26,8 @@ file:
```yaml
sensor:
- platform: seventeentrack
username: <EMAIL ADDRESS>
password: <PASSWORD>
username: EMAIL_ADDRESS
password: YOUR_PASSWORD
```
{% configuration %}

View File

@ -36,8 +36,8 @@ If you want to enable this sensor, add the following lines to your `configuratio
# Example configuration.yaml entry
sensor:
- platform: tautulli
api_key: 24b6eac0a858748664878d146bf63623b4
host: 192.168.1.14
api_key: TAUTULLI_API_KEY
host: TAUTULLI_HOST
```
{% configuration %}

View File

@ -14,15 +14,11 @@ logo: home-assistant.png
ha_qa_scale: internal
---
The `template` platform supports sensors which break out `state_attributes` from other entities.
<p class='note'>
If you do not supply an `entity_id` in the configuration you will need to run the service `homeassistant.update_entity` to update the sensor.
</p>
The `template` platform supports sensors which get their values from other entities.
## {% linkable_title Configuration %}
To enable Template Sensors in your installation, add the following to your `configuration.yaml` file:
The configuration of Template Sensors depends on what you want them to be. Adding the following to your `configuration.yaml` file will create two sensors, one for the current sun angle and one for the time of the next sunrise:
{% raw %}
```yaml
@ -55,7 +51,7 @@ sensor:
required: false
type: template
entity_id:
description: The template engine will attempt to work out what entities should trigger an update of the sensor. If this fails to get the correct list (for example if your template loops over the contents of a group) then you can provide a list of entity IDs that will cause the sensor to update.
description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: string, list
unit_of_measurement:
@ -84,9 +80,15 @@ sensor:
## {% linkable_title Considerations %}
### Startup
If you are using the state of a platform that takes extra time to load, the Template Sensor may get an `unknown` state during startup. To avoid this (and the resulting error messages in your log file), you can use `is_state()` function in your template. For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result:
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
### Entity IDs
The template engine will attempt to work out what entities should trigger an update of the sensor. This can fail, for example if your template loops over the contents of a group. In this case you can use `entity_id` to provide a list of entity IDs that will cause the sensor to update or you can run the service `homeassistant.update_entity` to update the sensor at will.
## {% linkable_title Examples %}
In this section you find some real-life examples of how to use this sensor.
@ -128,26 +130,6 @@ sensor:
```
{% endraw %}
Processes monitored by the [System Monitor sensor](/components/sensor.systemmonitor/) show `on` or `off` if they are running or not. This example shows how the output of a monitored `glances` process can be renamed.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
glances:
friendly_name: "Glances"
value_template: >-
{% if is_state('sensor.process_glances', 'on') %}
running
{% else %}
not running
{% endif %}
```
{% endraw %}
The [Template Binary Sensor](/components/binary_sensor.template/) is the one in similar cases if you prefer to see an icon instead of text.
### {% linkable_title Multiline Example With an `if` Test %}
This example shows a multiple line template with an `if` test. It looks at a sensing switch and shows `on`/`off` in the frontend.
@ -169,9 +151,6 @@ sensor:
{% else %}
failed
{% endif %}
next_sensor:
...
```
{% endraw %}
@ -250,27 +229,6 @@ sensor:
### {% linkable_title Change the Friendly Name Used in the Frontend %}
This example shows how to change the `friendly_name` based on a date.
Explanation: We add a multiple of 86400 seconds (= 1 day) to the current unix timestamp to get a future date.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
forecast_1_day_ahead:
friendly_name_template: >-
{%- set date = as_timestamp(now()) + (1 * 86400 ) -%}
{{ date|timestamp_custom("Tomorrow (%-m/%-d)") }}
value_template: "{{ sensor.darksky_weather_forecast_1 }}"
forecast_2_days_ahead:
friendly_name_template: >-
{%- set date = as_timestamp(now()) + (2 * 86400 ) -%}
{{ date|timestamp_custom("%A (%-m/%-d)") }}
value_template: "{{ sensor.darksky_weather_forecast_2 }}"
```
{% endraw %}
This example shows how to change the `friendly_name` based on a state.
{% raw %}
@ -290,9 +248,11 @@ sensor:
```
{% endraw %}
### {% linkable_title Working with dates %}
### {% linkable_title Working without entities %}
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions). This template contains no entities that will trigger an update, so either we need to use `homeassistant.update_entity` or add an `entity_id:` line for an entity that will force an update - here we're using `sensor.date`.
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions).
This template contains no entities that will trigger an update, so we add an `entity_id:` line with an entity that will force an update - here we're using a [date sensor](/components/sensor.time_date/) to get a daily update:
{% raw %}
```yaml
@ -309,17 +269,25 @@ sensor:
Useful entities to choose might be `sensor.date` which update once per day, or `sensor.time` which updates once per minute.
Note: [Time & Date Sensors](https://www.home-assistant.io/components/sensor.time_date/) used as an update trigger, must be configured. If a template uses more than one sensor they can be listed.
The alternative to this is to create an `Automation`using the new (81.0) service `homeassistant.update_entity` and list all entity's requiring updates and setting the interval based on time.
An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates. This modified example updates every 5 minutes:
{% raw %}
```yaml
sensor:
- platform: template
sensors:
nonsmoker:
value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
entity_id: []
friendly_name: 'Not smoking'
unit_of_measurement: "Days"
automation:
- alias: 'nonsmoker_update'
trigger:
- platform: time
minutes: '/1'
minutes: '/5'
seconds: 0
action:
- service: homeassistant.update_entity
entity_id: sensor.nonsmoker

View File

@ -15,7 +15,7 @@ ha_iot_class: "Cloud Polling"
---
The `tibber` component provides a sensor with the current electricity price if you are a [Tibber](https://tibber.com/) customer.
If you have a Tibber Pulse it will also show the electricity consumption in real time.
If you have a [Tibber Pulse](https://norge.tibber.com/products/pulse/) it will also show the electricity consumption in real time.
It also provides a notification service.

View File

@ -83,6 +83,8 @@ The Google cast devices (Google Home, Chromecast, etc.) present the following pr
* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). Setting a `base_url` that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname.
* An alternative way to force Google cast devices to use internal DNS is to block them from accessing Google DNS at the firewall/router level. This would be useful in the case, for example, where your internal IP of HASS is a private IP and you have your internal DNS server (quite often a split-brain DNS scenario). This method works on both Google Home Mini and Google Chromecasts.
## {% linkable_title Service say %}
The `say` service support `language` and on some platforms also `options` for set, i.e., *voice, motion, speed, etc*. The text for speech is set with `message`.

View File

@ -89,29 +89,29 @@ $ sudo systemctl --system daemon-reload
To have Home Assistant start automatically at boot, enable the service.
```bash
$ sudo systemctl enable home-assistant@[your user]
$ sudo systemctl enable home-assistant@YOUR_USER
```
To disable the automatic start, use this command.
```bash
$ sudo systemctl disable home-assistant@[your user]
$ sudo systemctl disable home-assistant@YOUR_USER
```
To start Home Assistant now, use this command.
```bash
$ sudo systemctl start home-assistant@[your user]
$ sudo systemctl start home-assistant@YOUR_USER
```
You can also substitute the `start` above with `stop` to stop Home Assistant, `restart` to restart Home Assistant, and 'status' to see a brief status report as seen below.
```bash
$ sudo systemctl status home-assistant@[your user]
● home-assistant@fab.service - Home Assistant for [your user]
Loaded: loaded (/etc/systemd/system/home-assistant@[your user].service; enabled; vendor preset: disabled)
$ sudo systemctl status home-assistant@YOUR_USER
● home-assistant@fab.service - Home Assistant for YOUR_USER
Loaded: loaded (/etc/systemd/system/home-assistant@YOUR_USER.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2016-03-26 12:26:06 CET; 13min ago
Main PID: 30422 (hass)
CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@[your user].service
CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@YOUR_USER.service
├─30422 /usr/bin/python3 /usr/bin/hass
└─30426 /usr/bin/python3 /usr/bin/hass
[...]
@ -120,17 +120,17 @@ $ sudo systemctl status home-assistant@[your user]
To get Home Assistant's logging output, simple use `journalctl`.
```bash
$ sudo journalctl -f -u home-assistant@[your user]
$ sudo journalctl -f -u home-assistant@YOUR_USER
```
Because the log can scroll quite quickly, you can select to view only the error lines:
```bash
$ sudo journalctl -f -u home-assistant@[your user] | grep -i 'error'
$ sudo journalctl -f -u home-assistant@YOUR_USER | grep -i 'error'
```
When working on Home Assistant, you can easily restart the system and then watch the log output by combining the above commands using `&&`
```bash
$ sudo systemctl restart home-assistant@[your user] && sudo journalctl -f -u home-assistant@[your user]
$ sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-assistant@YOUR_USER
```

View File

@ -10,70 +10,6 @@ footer: true
redirect_from: /ecosystem/appdaemon/configuration/
---
When you have appdaemon installed by either method, copy the `conf/appdaemon.cfg.example` file to `conf/appdaemon.cfg`, then edit the `[AppDaemon]` section to reflect your environment:
the documentation for configuring Appdaemon can be found in its own documentation.
```
[AppDaemon]
ha_url = <some_url>
ha_key = <some key>
logfile = STDOUT
errorfile = STDERR
app_dir = <Path to appdaemon dir>/conf/apps
threads = 10
latitude = <latitude>
longitude = <longitude>
elevation = <elevation
timezone = <timezone>
cert_path = <path/to/root/CA/cert>
# Apps
[hello_world]
module = hello
class = HelloWorld
```
- `ha_url` is a reference to your Home Assistant installation and must include the correct port number and scheme (`http://` or `https://` as appropriate)
- `ha_key` should be set to your key if you have one, otherwise it can be removed.
- `logfile` (optional) is the path to where you want `AppDaemon` to keep its main log. When run from the command line this is not used - log messages come out on the terminal. When running as a daemon this is where the log information will go. In the example above I created a directory specifically for AppDaemon to run from, although there is no reason you can't keep it in the `appdaemon` directory of the cloned repository. If `logfile = STDOUT`, output will be sent to stdout instead of stderr when running in the foreground, if not specified, output will be sent to STDOUT.
- `errorfile` (optional) is the name of the logfile for errors - this will usually be errors during compilation and execution of the apps. If `errorfile = STDERR` errors will be sent to stderr instead of a file, if not specified, output will be sent to STDERR.
- `app_dir` (optional) is the directory the apps are placed in. If not specified, AppDaemon will look first in `~/.homeassistant` then `/etc/appdaemon` for a subdirectory named `apps`
- `threads` - the number of dedicated worker threads to create for running the apps. Note, this will bear no resemblance to the number of apps you have, the threads are re-used and only active for as long as required to tun a particular callback or initialization, leave this set to 10 unless you experience thread starvation
- `latitude`, `longitude`, `elevation`, `timezone` - should all be copied from your Home Assistant configuration file
- `cert_path` (optional) - path to root CA cert directory - use only if you are using self signed certs.
The `#Apps` section is the configuration for the Hello World program and should be left in place for initial testing but can be removed later if desired, as other Apps are added, App configuration is described in the [API doc](API.md).
## {% linkable_title Docker %}
For Docker Configuration you need to take a couple of extra things into consideration.
Our Docker image is designed to load your configuration and apps from a volume at `/conf` so that you can manage them in your own git repository, or place them anywhere else on the system and map them using the Docker command line.
For example, if you have a local repository in `/Users/foo/ha-config` containing the following files:
```bash
$ git ls-files
configuration.yaml
customize.yaml
known_devices.yaml
appdaemon.cfg
apps
apps/magic.py
```
You will need to modify the `appdaemon.cfg` file to point to these apps in `/conf/apps`:
```
[AppDaemon]
ha_url = <some_url>
ha_key = <some key>
logfile = STDOUT
errorfile = STDERR
app_dir = /conf/apps
threads = 10
latitude = <latitude>
longitude = <longitude>
elevation = <elevation
timezone = <timezone>
```
You can run Docker and point the conf volume to that directory.
https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html

View File

@ -38,6 +38,10 @@ Alternatively, `docker-compose` works with any recent release of `docker-ce` on
### {% linkable_title Windows %}
```powershell
$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -e "TZ=America/Los_Angeles" --net=host homeassistant/home-assistant
```
When running Home Assistant in Docker on Windows, you may have some difficulty getting ports to map for routing (since the `--net=host` switch actually applies to the hypervisor's network interface). To get around this, you will need to add port proxy ipv4 rules to your local Windows machine, like so (Replacing '192.168.1.10' with whatever your Windows IP is, and '10.0.50.2' with whatever your Docker container's IP is):
```
netsh interface portproxy add v4tov4 listenaddress=192.168.1.10 listenport=8123 connectaddress=10.0.50.2 connectport=8123

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
As Home Assistant is like every other service or daemon that is running on a computer system that allows access over a network connection, certain measurement were taken to increase the overall security while still staying operational.
As Home Assistant is like every other service or daemon that is running on a computer system that allows access over a network connection, certain measures were taken to increase the overall security while still staying operational.
[Secure your installation](/docs/configuration/securing/) once you've finished with the installation process regardless of your use case.
@ -27,7 +27,7 @@ See the [open ports](/docs/security/porosity/) of a Hass.io instance with variou
## {% linkable_title HTTP SSL/TLS %}
Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. To allow the users to access Home Assistant with most devices the target is **Intermediate compatibility**.
Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibilty**, this is configurable in the [`http` component](/components/http/).
## {% linkable_title SSH %}

View File

@ -33,6 +33,7 @@ The alternative to a stick is a hub that supports Z-Wave. Home Assistant support
- [Vera](/components/vera/)
- [Wink](/components/wink/)
- [Fibaro](/components/fibaro/)
## {% linkable_title Controller Notes %}

View File

@ -30,6 +30,10 @@ show_header_toggle:
description: Button to turn on/off all entities.
type: boolean
default: true
theme:
required: false
description: Set to any theme within `themes.yaml`.
type: string
{% endconfiguration %}
## {% linkable_title Options For Entities %}

View File

@ -36,7 +36,7 @@ name:
description: Name of Gauge Entity
type: string
default: Entity Name
unit_of_measurement:
unit:
required: false
description: Unit of Measurement given to data
type: string

View File

@ -11,6 +11,7 @@ footer: true
---
The Light card allows you to change the brightness of the light.
Note: Long-press on the bulb to bring up the `more-info` dialog.
<p class='img'>
<img src='/images/lovelace/lovelace_light_card.png' alt='Screenshot of the Light card'>

View File

@ -26,11 +26,6 @@ entities:
required: true
description: List of entity IDs.
type: list
keys:
entity:
required: true
description: "An `entity_id` to use."
type: string
title:
required: false
description: The card title.

View File

@ -26,13 +26,18 @@ entity:
required: true
description: "The `entity_id` of the `weather` platform to use."
type: string
name:
required: false
description: Overwrites the friendly name.
type: string
default: Entity Name
{% endconfiguration %}
{% linkable_title Example %}
```yaml
- type: weather-forecast
entity: weather.demo_weather_north
entity: weather.dark_sky
```
<p class="note">

View File

@ -57,6 +57,98 @@ Note, this release includes a migration to add an index to speed up the logbook
- Add cloud pref for Google unlock ([@balloob] - [#18600]) ([cloud docs]) (new-platform)
- Add support for Panasonic Blu-Ray players ([@u1f35c] - [#18541]) ([media_player.panasonic_bluray docs]) (new-platform)
## {% linkable_title Release 0.83.1 - November 29 %}
- Add websocket call for adding item to shopping-list ([@iantrich] - [#18623]) ([shopping_list docs])
- Convert shopping-list update to WebSockets ([@iantrich] - [#18713]) ([shopping_list docs])
- Legacy api fix ([@balloob] - [#18733]) ([http docs])
- Fix logbook domain filter - alexa, homekit ([@cdce8p] - [#18790]) ([logbook docs])
- Make auth backwards compat again ([@balloob] - [#18792])
- Render the secret ([@balloob] - [#18793]) ([owntracks docs])
- Fix race condition in group.set ([@balloob] - [#18796]) ([group docs])
- BUGFIX: handle extra fan speeds. ([@marchingphoenix] - [#18799]) ([google_assistant docs])
- Bumped py17track to 2.1.0 ([@bachya] - [#18804]) ([sensor.seventeentrack docs])
- Remove self from update function in rainmachine ([@Danielhiversen] - [#18807]) ([binary_sensor.rainmachine docs])
- Remove additional self from update function in RainMachine ([@bachya] - [#18810]) ([sensor.rainmachine docs])
- Hotfix for crash with virtual devices ([@pbalogh77] - [#18808]) ([fibaro docs])
- Use proper signals ([@balloob] - [#18613]) ([emulated_hue docs]) ([http docs])
[#18613]: https://github.com/home-assistant/home-assistant/pull/18613
[#18623]: https://github.com/home-assistant/home-assistant/pull/18623
[#18713]: https://github.com/home-assistant/home-assistant/pull/18713
[#18733]: https://github.com/home-assistant/home-assistant/pull/18733
[#18790]: https://github.com/home-assistant/home-assistant/pull/18790
[#18792]: https://github.com/home-assistant/home-assistant/pull/18792
[#18793]: https://github.com/home-assistant/home-assistant/pull/18793
[#18796]: https://github.com/home-assistant/home-assistant/pull/18796
[#18799]: https://github.com/home-assistant/home-assistant/pull/18799
[#18804]: https://github.com/home-assistant/home-assistant/pull/18804
[#18807]: https://github.com/home-assistant/home-assistant/pull/18807
[#18808]: https://github.com/home-assistant/home-assistant/pull/18808
[#18810]: https://github.com/home-assistant/home-assistant/pull/18810
[@Danielhiversen]: https://github.com/Danielhiversen
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@cdce8p]: https://github.com/cdce8p
[@iantrich]: https://github.com/iantrich
[@marchingphoenix]: https://github.com/marchingphoenix
[@pbalogh77]: https://github.com/pbalogh77
[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
[emulated_hue docs]: /components/emulated_hue/
[fibaro docs]: /components/fibaro/
[google_assistant docs]: /components/google_assistant/
[group docs]: /components/group/
[http docs]: /components/http/
[logbook docs]: /components/logbook/
[owntracks docs]: /components/owntracks/
[sensor.rainmachine docs]: /components/sensor.rainmachine/
[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
[shopping_list docs]: /components/shopping_list/
## {% linkable_title Release 0.83.2 - November 30 %}
- Revert change to MQTT discovery_hash introduced in #18169 ([@emontnemery] - [#18763]) ([mqtt docs])
- bump gtts-token to 1.1.3 ([@stonith] - [#18824]) ([tts docs])
- Always set hass_user ([@balloob] - [#18844]) ([http docs])
- Hotfix for Fibaro wall plug ([@pbalogh77] - [#18845]) ([light.fibaro docs])
[#18763]: https://github.com/home-assistant/home-assistant/pull/18763
[#18824]: https://github.com/home-assistant/home-assistant/pull/18824
[#18844]: https://github.com/home-assistant/home-assistant/pull/18844
[#18845]: https://github.com/home-assistant/home-assistant/pull/18845
[@balloob]: https://github.com/balloob
[@emontnemery]: https://github.com/emontnemery
[@pbalogh77]: https://github.com/pbalogh77
[@stonith]: https://github.com/stonith
[http docs]: /components/http/
[light.fibaro docs]: /components/light.fibaro/
[mqtt docs]: /components/mqtt/
[tts docs]: /components/tts/
## {% linkable_title Release 0.83.3 - December 3 %}
We had an issue where users that are still using the legacy auth for API access but not for UI access could end up with a legacy auth user without any permissions. If you run into this issue, we suggest to upgrade your scripts to use long lived access tokens, which offer the exact same functionality. Alternative is that you manually upgrade the legacy API user to be part of the admin group using [these instructions](https://github.com/home-assistant/home-assistant/pull/18922).
- bugfix: ensure the `google_assistant` component respects `allow_unlock` ([@ahayworth] - [#18874]) ([google_assistant docs])
- Use capability of sensor if present to fix multisensor Wink devices ([@w1ll1am23] - [#18907]) ([wink docs])
- Add users added via credentials to admin group too ([@balloob] - [#18922])
- fix aioasuswrt sometimes return empty lists ([@kennedyshead] - [#18742]) ([sensor.asuswrt docs])
- bump aioasuswrt version ([@kennedyshead] - [#18955]) ([asuswrt docs])
[#18742]: https://github.com/home-assistant/home-assistant/pull/18742
[#18874]: https://github.com/home-assistant/home-assistant/pull/18874
[#18907]: https://github.com/home-assistant/home-assistant/pull/18907
[#18922]: https://github.com/home-assistant/home-assistant/pull/18922
[#18955]: https://github.com/home-assistant/home-assistant/pull/18955
[@ahayworth]: https://github.com/ahayworth
[@balloob]: https://github.com/balloob
[@kennedyshead]: https://github.com/kennedyshead
[@w1ll1am23]: https://github.com/w1ll1am23
[asuswrt docs]: /components/asuswrt/
[google_assistant docs]: /components/google_assistant/
[sensor.asuswrt docs]: /components/sensor.asuswrt/
[wink docs]: /components/wink/
## {% 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.

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,9 @@ comments: false
sharing: true
footer: true
---
## {% linkable_title Changes in 0.83.0 %}
- 📣 New card type: `shopping-list` ❤️
## {% linkable_title Changes in 0.82.0 %}
- 📣 New card type: `light` ❤️
- 📣 Alpha release of UI Editor
@ -36,7 +39,7 @@ footer: true
## {% linkable_title Changes in 0.75.0 %}
### Breaking changes
### Breaking changes
- 📣 [glance card]: `turn-on` replaced with `call-service`
### All changes
@ -157,7 +160,7 @@ footer: true
- [picture elements card] combined `service.domain` and `service.server` into `service`
- 📣 [entities card] allow custom title just like `glance`
- 📣 [entity filter card] allow auto-hide if empty using `show_empty: false`
- 🔧 Fix card size calculation `horizontal-stack`/`vertical-stack`
- 🔧 Fix card size calculation `horizontal-stack`/`vertical-stack`
## {% linkable_title Changes in 0.73.0b0 %}

View File

@ -84,7 +84,7 @@ excluded_entities:
views:
# View tab title.
- title: Example
# Unique id for direct access /lovelace/${id}. If you don't specify one, it is added automatically.
# Unique id for direct access /lovelace/${id} and editing it from the UI.
id: example
# Optional background (overwrites the global background).
background: radial-gradient(crimson, skyblue)
@ -93,7 +93,7 @@ views:
# The cards to show on this view.
cards:
# The filter card will filter entities for their state
- id: peoplehome # Every card needs an ID, if you don't specify one, it is added automatically.
- id: peoplehome # Every card needs an ID, for it to be edited from the UI.
type: entity-filter
entities:
- device_tracker.paulus
@ -137,7 +137,10 @@ views:
Now restart Home Assistant, navigate to `<YOUR HASS URL>/lovelace`. When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button at the top of the UI.
## {% linkable_title IDs for cards and views %}
Every card and view needs an ID, this is used to edit your config from the UI. If you don't specify an ID, Home Assistant will add one. If you don't want Home Assistant to write to your `ui-lovelace.yaml` file, make sure every view and card have an ID.
If you want to edit your views and cards from the UI, every card and view needs an ID. This ID is used to save your config from the UI.
## {% linkable_title Configuration splitting %}
`ui-lovelace.yaml` only supports basic configuration splitting. Only `!include` and `!secret` are supported, be aware that content that is included with `!include` and `!secret` can not be edited from the UI.
## {% linkable_title Setting Lovelace as the Default UI %}
Once you are ready to start using Lovelace UI as your main user interface, click on info, the "i" icon under 'Developer Tools" in the Home Assistant side-bar. Next, locate >>Set Lovelace as default page on this device<< under the Home Assistant version information and click it.
@ -174,3 +177,7 @@ frontend:
Given examples refer to `/local/example_image.jpg`. That means you should have `www` directory next to your HA `configuration.yaml`. An image kept in `HA_configuration_dir/www/example_image.jpg` will be shown after refreshing Lovelace page.
Restart Home Assistant after creating the `www` directory. Otherwise, HA will not know that you created this directory.
### {% linkable_title My `ui-lovelace.yaml` file suddenly has ID's added to all cards and views! %}
In version 0.81.0 we started preparing for the ability to edit you Lovelace UI from the UI itself. To be able to do this every view and card should have a unique ID. If your cards or views didn't had an ID, Home Assistant would add a random one. This behaviour was changed in 0.81.1, Home Assistant will no longer change your configuration without asking first. You can edit the generated ID, the only restriction is that it is unique. You could even delete the IDs if you don't want to use the UI edit functionality.

View File

@ -36,9 +36,11 @@ you with the ability to split your Lovelace configuration into multiple files.
The [Lovelace Jinja2 Script][lovelace-jinja] by [@skalavala] is a simple Jinja2 script that you run in the template editor to generate lovelace configuration based on the entities that are already setup.
<p class='note'>
Split configuration is no longer possible in Lovelace since version 0.81, due to the fact that Home Assistant
Lovelace only has limited file splitting functionality, due to the fact that Home Assistant
will be writing directly to the `ui-lovelace.yaml` file.
Only `!include` and `!secret` are supported at the moment.
If you want to split your configuration you can use one of the tools listed above, but edits done with the UI will
be overwritten by those tools, so you should not use both.
</p>