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

This commit is contained in:
Paulus Schoutsen 2019-06-19 16:29:24 -07:00
commit b5dd360691
139 changed files with 1511 additions and 515 deletions

5
.github/stale.yml vendored
View File

@ -3,9 +3,8 @@ daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
#exemptLabels:
# - pinned
# - security
exemptLabels:
- has-parent
# Label to use when marking an issue as stale
staleLabel: Stale
# Comment to post when marking an issue as stale. Set to `false` to disable

View File

@ -138,9 +138,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 93
current_patch_version: 2
date_released: 2019-05-22
current_minor_version: 94
current_patch_version: 3
date_released: 2019-06-13
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -0,0 +1,76 @@
MIIQ3QYJKoZIhvcNAQcCoIIQzjCCEMoCAQExCzAJBgUrDgMCGgUAMHMGCSqGSIb3DQEHAaBmBGR7
InRlYW1JZCI6IlVUUUZDQlBRUkYiLCJkb21haW4iOiJob21lLWFzc2lzdGFudC5pbyIsImRhdGVD
cmVhdGVkIjoiMjAxOS0wNi0xMiwwODoxMToxOCIsInZlcnNpb24iOjF9oIINsTCCA_MwggLboAMC
AQICARcwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4x
JjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBS
b290IENBMB4XDTA3MDQxMjE3NDMyOFoXDTIyMDQxMjE3NDMyOFoweTELMAkGA1UEBhMCVVMxEzAR
BgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
MS0wKwYDVQQDEyRBcHBsZSBpUGhvbmUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjHr7wR8C0nhBbRqS4IbhPhiFwKEVgXBzDyApkY4j7_Gnu
-FT86Vu3Bk4EL8NrM69ETOpLgAm0h_ZbtP1k3bNy4BOz_RfZvOeo7cKMYcIq-ezOpV7WaetkC40I
j7igUEYJ3Bnk5bCUbbv3mZjE6JtBTtTxZeMbUnrc6APZbh3aEFWGpClYSQzqR9cVNDP2wKBESnC-
LLUqMDeMLhXr0eRslzhVVrE1K1jqRKMmhe7IZkrkz4nwPWOtKd6tulqz3KWjmqcJToAWNWWkhQ1j
ez5jitp9SkbsozkYNLnGKGUYvBNgnH9XrBTJie2htodoUraETrjIg-z5nhmrs8ELhsefAgMBAAGj
gZwwgZkwDgYDVR0PAQH_BAQDAgGGMA8GA1UdEwEB_wQFMAMBAf8wHQYDVR0OBBYEFOc0Ki4i3jlg
a7SUzneDYS8xoHw1MB8GA1UdIwQYMBaAFCvQaUeUdgn-9GuNLkCm90dNfwheMDYGA1UdHwQvMC0w
K6ApoCeGJWh0dHA6Ly93d3cuYXBwbGUuY29tL2FwcGxlY2Evcm9vdC5jcmwwDQYJKoZIhvcNAQEF
BQADggEBAB3R1XvddE7XF_yCLQyZm15CcvJp3NVrXg0Ma0s-exQl3rOU6KD6D4CJ8hc9AAKikZG-
dFfcr5qfoQp9ML4AKswhWev9SaxudRnomnoD0Yb25_awDktJ-qO3QbrX0eNWoX2Dq5eu-FFKJsGF
QhMmjQNUZhBeYIQFEjEra1TAoMhBvFQe51StEwDSSse7wYqvgQiO8EYKvyemvtzPOTqAcBkjMqNr
Zl2eTahHSbJ7RbVRM6d0ZwlOtmxvSPcsuTMFRGtFvnRLb7KGkbQ-JSglnrPCUYb8T-WvO6q7RCwB
SeJ0szT6RO8UwhHyLRkaUYnTCEpBbFhW3ps64QVX5WLP0g8wggP4MIIC4KADAgECAgg9ciDjz4zy
JTANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQG
A1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLTArBgNVBAMTJEFwcGxlIGlQaG9u
ZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNDA3MTEwMTM1MjVaFw0yMjA0MTIxNzQzMjha
MFkxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMTUwMwYDVQQDDCxBcHBsZSBpUGhv
bmUgT1MgUHJvdmlzaW9uaW5nIFByb2ZpbGUgU2lnbmluZzCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAOfZmsMXo8npB9XHmaS0dSFMEQNoHzAsB5x3iDFIyEQEjYHNesb40_ZHHG1O7rrm
FIVxxO95s0t12miFpnNVosaHUXvXHIG1AWrjjJHueir8z5Ve-XGgKH75q9Thzg5PlfPK7beVCjL_
JZk29pidJItkV7b1_b5FIfmuRHa36rA7aZ9tf37XEZuy6kOi5f0mR87MxAfi53XG2_x-FrWkk8Z8
rz293cAvgHh2Ok582GRPKiVRh0F2Dm7gk6Qhqj5dyl-niwtApS-zs2pKx8ZTtR9cLIqI7uSQL5_d
Uj4WQcY4HmgkjzEt22lxz6DzQhooEUp0nKbWeElYDcS8HFvxPXsCAwEAAaOBozCBoDAdBgNVHQ4E
FgQUpF5rO_x6R3KRcAnBJL0vO8l7oL4wDAYDVR0TAQH_BAIwADAfBgNVHSMEGDAWgBTnNCouIt45
YGu0lM53g2EvMaB8NTAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vY3JsLmFwcGxlLmNvbS9pcGhv
bmUuY3JsMAsGA1UdDwQEAwIHgDARBgsqhkiG92NkBgICAQQCBQAwDQYJKoZIhvcNAQEFBQADggEB
AIq2Vk5B0rHzIUOdC9nH_7SYWJntQacw8e_b2oBtIbazXNy-h_E5IbzEodom0u2m8e3AEZUZrEe4
Kg5pmNTm5s5r6iLBK6cBbkFMLB3jI4yGJ6OMF5zMG-7YZDMPRA6LO0hiE2JU03FNki2BOv-my45c
Q3FsiDMiPCA_HXi5_xoqIehzac-boaHhPekMF7ypc9fpUrrCth-hIoU-uFwaspp7n8zLUDr-lsf8
SEf0JKKtPkz7SttnnANxFSc_g1L7svQZFqk-qewU7F7CCqfzTdEwqtStuDKhUC9NVchCJ6wcznJk
8CzgCeRMuQsgNTec1QuRxDEd0CviXIK9fdD-CJkwggW6MIIEoqADAgECAgEBMA0GCSqGSIb3DQEB
BQUAMIGGMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUQXBwbGUgQ29tcHV0ZXIsIEluYy4xLTArBgNV
BAsTJEFwcGxlIENvbXB1dGVyIENlcnRpZmljYXRlIEF1dGhvcml0eTEpMCcGA1UEAxMgQXBwbGUg
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDUwMjEwMDAxODE0WhcNMjUwMjEwMDAxODE0
WjCBhjELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEFwcGxlIENvbXB1dGVyLCBJbmMuMS0wKwYDVQQL
EyRBcHBsZSBDb21wdXRlciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKTAnBgNVBAMTIEFwcGxlIFJv
b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
5JGpCR-R2x5HUOsF7V55hC3rNqJXTFXsixmJ3vlLbPUHqyIwAugYPvhQCdN_QaiY-dHKZpwkaxHQ
o7vkGyrDH5WeegykR4tb1BY3M8vED03OFGnRyRly9V0O1X9fm_IlA7pVj01dDfFkNSMVSxVZHbOU
9_acns9QusFYUGePCLQg98usLCBvcLY_ATCMt0PPD5098ytJKBrI_s61uQ7ZXhzWyz21Oq30Dw4A
kguxIRYudNU8DdtiFqujcZJHU1XBry9Bs_j743DN5qNMRX4fTGtQlkGJxHRiCxCDQYczioGxMFjs
WgQyjGizjx3eZXP_Z15lvEnYdp8zFGWhd5TJLQIDAQABo4ICLzCCAiswDgYDVR0PAQH_BAQDAgEG
MA8GA1UdEwEB_wQFMAMBAf8wHQYDVR0OBBYEFCvQaUeUdgn-9GuNLkCm90dNfwheMB8GA1UdIwQY
MBaAFCvQaUeUdgn-9GuNLkCm90dNfwheMIIBKQYDVR0gBIIBIDCCARwwggEYBgkqhkiG92NkBQEw
ggEJMEEGCCsGAQUFBwIBFjVodHRwczovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3Jp
dHkvdGVybXMuaHRtbDCBwwYIKwYBBQUHAgIwgbYagbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmlj
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGlj
eSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjBEBgNVHR8EPTA7MDmgN6A1
hjNodHRwczovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvcm9vdC5jcmwwVQYI
KwYBBQUHAQEESTBHMEUGCCsGAQUFBzAChjlodHRwczovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNh
dGVhdXRob3JpdHkvY2FzaWduZXJzLmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAJ3aLShYL312BLkE
0z7Ot2ZjTo8v1P5LrXK9oznGUk0FmFL1iVEBJHm-GjL35USLS0QHOYLWWsq0IF7ZrhVdHYwdMr84
MWJIXcfhkLH4JED4X1ibUV1XncHl_zzMciFuxOnpoXfXLBcmwz_rmugLA7rps0py6zMJW63mYjFq
6K8v1a8eV3aPfzctLgJc3WPJ8nG4JkDfFY11RD95veYdmeFDLD6tb765pP4ONRlRY7HD3rWSPlF4
AXOKpCPKpIjxHlwfQRYtfpUKqumJQZgbGt3LIL9HXgwmxVU1TcYwi5lnFMcJH7pHx9oBCYckQpW9
E2AZCu_qfw5uzcFEQzpK1eMxggKMMIICiAIBATCBhTB5MQswCQYDVQQGEwJVUzETMBEGA1UEChMK
QXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLTArBgNV
BAMTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQIIPXIg48-M8iUwCQYFKw4D
AhoFAKCB3DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xOTA2MTIw
ODExMThaMCMGCSqGSIb3DQEJBDEWBBTcNAQ84q3p1JpA4YADPkvxYG9QnjApBgkqhkiG9w0BCTQx
HDAaMAkGBSsOAwIaBQChDQYJKoZIhvcNAQEBBQAwUgYJKoZIhvcNAQkPMUUwQzAKBggqhkiG9w0D
BzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgw
DQYJKoZIhvcNAQEBBQAEggEAPdMEunJrRbCBu0BHComwqNhFZwpBumcnD1IOq_9FfwN1XK2WJFxt
Oad41ZZdFe4ku1ARAven-h_EdKaaaTeBddaUj6hl3fj6IVxMYKg0owRRR2HIjNjseLBSxFYl8j6u
Mo1qXfzwEeAiUPxAme5q_EXLye3by0CxdSbx3WTXHzi47r8t8a7fb-SqQtgLYiehQO8ROO1OgTrO
rqnOFRAsbwZy_m_Dmx5nqqzN1vLYKbo6sc4YWt8E_YmEqv-nXQDn8y7bI_24vOTz5FWZCOUDVsJc
fOUtmLOmsw78uqdqbO3LjqQlIIcqecYPyBH5zxaA5iC_aLNYPxnxyljawyMzJQ

View File

@ -17,7 +17,7 @@ The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so
Home Assistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki).
The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that integration is enabled.
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:

View File

@ -102,7 +102,7 @@ name:
required: false
type: string
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
{% endconfiguration %}
@ -250,6 +250,6 @@ name:
type: string
device_class:
required: false
description: Sets the class of the device, changing the device state and icon that is displayed on the UI (awning, blind, curtain, damper, door, garage, shade, shutter, window)
description: Sets the [class of the device](/components/cover/), changing the device state and icon that is displayed on the frontend.
type: device_class
{% endconfiguration %}

View File

@ -7,12 +7,11 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Alarm
ha_qa_scale: internal
ha_release: 0.7.3
---
Home Assistant can give you an interface with is similar to a classic alarm system. There are several panels supported:
- [Alarm.com](/components/alarm_control_panel.alarmdotcom/)
- [Manual](/components/alarm_control_panel.manual/)
- [MQTT](/components/alarm_control_panel.mqtt/)
- [Verisure](/components/verisure/)
Home Assistant can give you an interface with is similar to a classic alarm system.

View File

@ -237,29 +237,6 @@ 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`.
### {% linkable_title Additional parameters for notifiers %}
Some notifiers support more parameters (e.g., to set text color or action

View File

@ -26,6 +26,12 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
## {% linkable_title Hass.io Installation %}
Install this [unofficial add-on](https://github.com/korylprince/hassio-apcupsd/) to use this integration with Hass.io. Keep in mind that we can't give you support for this add-on.
After installation, follow the instructions on the Github page to configure the plugin. Then continue to follow the integration configurations below.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
@ -127,13 +133,33 @@ OUTPUTV : 218.4 Volts
[...]
```
Use the (case insensitive) values from the left hand column:
Use the values from the left hand column (lower case required).
Full Example Configuration:
```yaml
sensor:
- platform: apcupsd
resources:
- apc
- date
- hostname
- version
- upsname
- cable
- driver
- upsmode
- starttime
- model
- status
- linev
- loadpct
- bcharge
- timeleft
- mbattchg
- mintimel
- maxtime
- maxlinev
- minlinev
- outputv
```

View File

@ -26,6 +26,7 @@ Starting with 0.28 your automation rules can be controlled with the frontend.
This allows one to reload the automation without restarting Home Assistant
itself. If you don't want to see the automation rule in your frontend use
`hide_entity: true` to hide it.
You can also use `initial_state: 'false'` so that the automation
is not automatically turned on after a Home Assistant reboot.
@ -33,7 +34,7 @@ is not automatically turned on after a Home Assistant reboot.
automation:
- alias: Door alarm
hide_entity: true
initial_state: 'true'
initial_state: true
trigger:
- platform: state
...

View File

@ -37,7 +37,7 @@ name:
required: false
type: string
device_class:
description: HASS device class e.g., "motion".
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
significant_bit:

View File

@ -7,10 +7,14 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Binary Sensor
ha_qa_scale: internal
ha_release: 0.9
---
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
Binary sensors gather information about the state of devices which have a "digital" return value (either 1 or 0). These can be switches, contacts, pins, etc. These sensors only have two states: **0/off/low/closed/false** and **1/on/high/open/true**. Knowing that there are only two states allows Home Assistant to represent these sensors in a better way in the frontend according to their functionality.
### {% linkable_title Device Class %}

View File

@ -87,7 +87,7 @@ unique_id:
required: false
type: string
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
value_template:

View File

@ -73,9 +73,7 @@ name:
type: string
default: REST Binary Sensor
device_class:
description: >
The [type/class](/components/binary_sensor/) of
the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
value_template:

View File

@ -55,7 +55,7 @@ devices:
required: false
type: list
device_class:
description: The [type or class of the sensor](/components/binary_sensor/#device-class) to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
off_delay:

View File

@ -63,7 +63,7 @@ devices:
required: false
type: string
device_class:
description: "The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend."
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: device_class
fire_event:

View File

@ -56,7 +56,7 @@ sensors:
required: false
type: string, list
device_class:
description: The type/class of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: device_class
default: None

View File

@ -7,10 +7,26 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Camera
ha_qa_scale: internal
ha_release: 0.7
---
The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use [USB cameras](/blog/2016/06/23/usb-webcams-and-home-assistant/) as well.
The camera component allows you to use IP cameras with Home Assistant.
### {% linkable_title Streaming Video %}
If your camera supports it, and the [`stream`](/components/stream) component is setup, you will be able to stream your cameras in the frontend and on supported media players.
This option will keep the stream alive, and preload the feed on Home Assistant startup. This will result in reduced latency when opening the stream in the frontend, as well as when using the `play_stream` service or Google Assistant integration. It does, however, utilize more resources on your machine, so it is recommended to check CPU usage if you plan to use this feature.
<p class='img'>
<img src='/images/components/camera/preload-stream.png' alt='Screenshot showing Preload Stream option in Home Assistant front end.'>
Example showing the Preload Stream option in the camera dialog.
</p>
### {% linkable_title Services %}
@ -18,6 +34,26 @@ Once loaded, the `camera` platform will expose services that can be called to pe
Available services: `turn_on`, `turn_off`, `enable_motion_detection`, `disable_motion_detection`, `snapshot`, and `play_stream`.
#### {% linkable_title Service `play_stream` %}
Play a live stream from a camera to selected media player(s). Requires [`stream`](/components/stream) component to be set up.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of entity to fetch stream from, e.g., `camera.living_room_camera`. |
| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. |
| `format` | yes | Stream format supported by `stream` component and selected `media_player`. Default: `hls` |
For example, the following action in an automation would send an `hls` live stream to your chromecast.
```yaml
action:
service: camera.play_stream
data:
entity_id: camera.yourcamera
media_player: media_player.chromecast
```
#### {% linkable_title Service `turn_on` %}
Turn on camera. Not all camera models support this service, please consult individual camera page.
@ -100,26 +136,6 @@ action:
```
{% endraw %}
#### {% linkable_title Service `play_stream` %}
Play a live stream from a camera to selected media player(s). Requires [`stream`](/components/stream) component to be set up.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of entity to fetch stream from, e.g., `camera.living_room_camera`. |
| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. |
| `format` | yes | Stream format supported by `stream` component and selected `media_player`. Default: `hls` |
For example, the following action in an automation would send an `hls` live stream to your chromecast.
```yaml
action:
service: camera.play_stream
data:
entity_id: camera.yourcamera
media_player: media_player.chromecast
```
### {% linkable_title Test if it works %}
A simple way to test if you have set up your `camera` platform correctly, is to use <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Services** from the **Developer Tools**. Choose your service from the dropdown menu **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
@ -128,13 +144,4 @@ A simple way to test if you have set up your `camera` platform correctly, is to
{
"entity_id": "camera.living_room_camera"
}
```
### {% linkable_title Preload Stream %}
If your camera supports it, and the [`stream`](/components/stream) component is setup, You will notice a "Preload Stream" option in the top right of the dialog when clicking to view the camera stream. This option will keep the stream alive, and preload the feed on Home Assistant startup. This will result in reduced latency when opening the stream in the frontend, as well as when using the `play_stream` service or Google Assistant integration. It does, however, utilize more resources on your machine, so it is recommended to check CPU usage if you plan to use this feature.
<p class='img'>
<img src='/images/components/camera/preload-stream.png' alt='Screenshot showing Preload Stream option in Home Assistant front end.'>
Example showing the Preload Stream option in the camera dialog.
</p>
```

View File

@ -7,19 +7,14 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Climate
ha_qa_scale: internal
ha_release: 0.19
---
The `climate` component is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices.
To enable this component, pick one of the platforms, and add it to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
climate:
platform: demo
```
## {% linkable_title Services %}
@ -238,13 +233,3 @@ Turn climate device off
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
#### {% linkable_title Customization %}
The step for the setpoint can be adjusted (default to 0,5 increments) by adding the following line into configuration
```yaml
customize:
- entity_id
target_temp_step: 1
```

View File

@ -31,6 +31,7 @@ binary_sensor:
<p class='note'>
It's highly recommended to enclose the command in single quotes `'` as it ensures all characters can be used in the command and reduces the risk of unintentional escaping. To include a single quote in a command enclosed in single quotes, double it: `''`.
</p>
{% configuration %}
command:
description: The action to take to get the value.
@ -42,7 +43,7 @@ name:
type: string
default: "*name* from the device"
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
payload_on:

View File

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

View File

@ -7,19 +7,16 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Cover
ha_qa_scale: internal
ha_release: 0.27
---
Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors.
The display style of each entity can be modified in the [customize section](/getting-started/customizing-devices/). Besides the basic ones like `friendly_name` or `hidden`, the following attributes are supported for covers:
| Attribute | Default | Description |
| --------- | ------- | ----------- |
| `device_class` | | see below
| `assumed_state` | `false` | If set to `true`, cover buttons will always be enabled
### {% linkable_title Device Class %}
## {% linkable_title Device Class %}
The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for covers:
@ -74,7 +71,7 @@ Set cover tilt position of one or multiple covers.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Else targets all.
| `position` | no | Integer between 0 and 100.
| `tilt_position` | no | Integer between 0 and 100.
#### {% linkable_title Automation example %}
@ -87,5 +84,5 @@ automation:
- service: cover.set_cover_tilt_position
data:
entity_id: cover.demo
position: 50
tilt_position: 50
```

View File

@ -179,7 +179,7 @@ tilt_invert_state:
type: boolean
default: false
device_class:
description: The [type/class](/components/cover/#device-class) of the cover to set the icon in the frontend.
description: Sets the [class of the device](/components/cover/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
json_attributes_topic:

View File

@ -69,7 +69,7 @@ cover:
required: false
type: template
device_class:
description: The [type/class](/components/cover/#device-class) of the cover to set the icon in the frontend.
description: Sets the [class of the device](/components/cover/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
open_cover:

View File

@ -99,6 +99,7 @@ A few notes:
- An additional option for the control of Denon AVR receivers with a built-in web server is using the HTTP interface with `denonavr` platform.
- The `denonavr` platform supports some additional functionalities like album covers, custom input source names and auto discovery.
- Marantz receivers seem to a have quite a similar interface. Thus if you own one, give it a try.
- To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings.
- Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel.
[Denon]: /components/media_player.denon/

View File

@ -7,14 +7,14 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Presence Detection
ha_qa_scale: internal
ha_release: 0.7
---
Home Assistant can get information from your wireless router or third party services like iCloud or OwnTracks to track which devices are connected and considered "in home". Please check the sidebar for a list of brands of supported wireless routers and services.
There are also trackers available which use different technologies like [MQTT](/components/mqtt/) or [Nmap](/components/nmap_tracker/) to scan the network for devices.
An [event](/getting-started/automation-trigger/#event-trigger) (`device_tracker_new_device`) will be fired when a device is discovered for the first time.
The device tracker allows you to track devices in Home Assistant. This can happen by querying your wireless router or by having applications push location info.
## {% linkable_title Configuring a `device_tracker` platform %}
@ -24,8 +24,8 @@ To get started add the following lines to your `configuration.yaml` (example for
# Example configuration.yaml entry for Netgear device
device_tracker:
- platform: netgear
host: 192.168.1.1
username: admin
host: IP_ADDRESS
username: YOUR_USERNAME
password: YOUR_PASSWORD
new_device_defaults:
track_new_devices: true
@ -54,8 +54,8 @@ The extended example from above would look like the following sample:
# Example configuration.yaml entry for Netgear device
device_tracker:
- platform: netgear
host: 192.168.1.1
username: admin
host: IP_ADDRESS
username: YOUR_USERNAME
interval_seconds: 10
consider_home: 180
new_device_defaults:
@ -66,6 +66,10 @@ Multiple device trackers can be used in parallel, such as [Owntracks](/component
## {% linkable_title `known_devices.yaml` %}
<p class='note warning'>
As of 0.94 `known_devices.yaml` is being phased out, and no longer used by all trackers. Depending on the component you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, and Locative.
</p>
Once `device_tracker` is enabled, a file will be created in your config dir named `known_devices.yaml`. Edit this file to adjust which devices to be tracked.
Here's an example configuration for a single device:
@ -94,24 +98,6 @@ devicename:
| `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 %}
GPS based device trackers (like [OwnTracks](/components/owntracks/), [GPSLogger](/components/gpslogger) and others) can also be used with local network device trackers, such as [Nmap](/components/nmap_tracker/) or [Netgear](/components/netgear/). To do this, fill in the `mac` field to the entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by *the source that reported last*. The naming convention for known device list is `<username>_<device-id>` and could be set in the app configuration.
An example showing the inclusion of the `mac` field for multiple platform tracking. The `mac` field was added to the GPS based device tracker entry and will enable tracking by all platforms that track via the `mac` address.
```yaml
USERNAME_DEVICE_ID:
name: Friendly Name
mac: EA:AA:55:E7:C6:94
picture: https://www.home-assistant.io/images/favicon-192x192.png
gravatar: test@example.com
track: true
hide_if_away: false
```
If you want to track whether either your GPS based tracker or your local network tracker, identify you as being at home, use [a group](/components/group/) instead.
## {% linkable_title Device states %}
The state of your tracked device will be `'home'` if it is in the [home zone](/components/zone#home-zone), detected by your network or Bluetooth based presence detection. If you're using a presence detection method that includes coordinates then when it's in a zone the state will be the name of the zone (case sensitive). When a device isn't at home and isn't in any zone, the state will be `'not_home'`.

View File

@ -112,7 +112,7 @@ Events can be defined for each configured DoorBird device independently. These e
See [Schedules](#schedules) section below for details on how to configure schedules.
Event names will be prefixed by `doorbird_`. For example, the example event `somebody_pressed_the_button` will be seen in Home Assistant as `doorbird_somebody_pressed_the_button`. This is to prevent conflicts with other events.
Event names will be prefixed by `doorbird_devicename`. For example, the example event `somebody_pressed_the_button` for the device 'Driveway Gate' will be seen in Home Assistant as `doorbird_driveway_gate_somebody_pressed_the_button`. This is to prevent conflicts with other events.
See [Automation Example](#automation_example) section below for details on how to use the event names in an automation.
@ -167,7 +167,7 @@ Remember to complete the schedule assignment steps above for each event type tha
- alias: Doorbird Ring
trigger:
platform: event
event_type: doorbird_somebody_pressed_the_button
event_type: doorbird_driveway_gate_somebody_pressed_the_button
action:
service: light.turn_on
entity_id: light.side_entry_porch

View File

@ -320,7 +320,7 @@ are not implemented for this thermostat.
### {% linkable_title Service `set_away_mode` %}
Turns the away mode on or off for the thermostat.
Turns Away Mode on or off, ignoring the next scheduled activity. This setting will override the thermostat Hold Duration setting, even if you set the hold duration to "Until the next scheduled activity" within thermostat preferences.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
@ -330,12 +330,12 @@ Turns the away mode on or off for the thermostat.
### {% linkable_title Service `set_hold_mode` %}
Puts the thermostat into the given hold mode. For 'home', 'away', 'sleep',
and any other hold based on a reference climate, the
target temperature is taken from the reference climate.
and any other hold based on a comfort setting, the
target temperature is set to whatever is programmed in the comfort setting.
For 'temp', the current temperature is taken as the target temperature.
When None is provided as parameter, the hold_mode is turned off.
It is not possible to set a vacation hold; such hold has to be
defined on the thermostat directly. However, a vacation hold can be
If the thermostat Hold Duration is set to "Until the next scheduled activity" within thermostat preferences, then the next scheduled activity will change this hold mode.
Note that it is not possible to set a vacation hold; this must be defined on the thermostat directly. However, a vacation hold can be
canceled.
| Service data attribute | Optional | Description |

View File

@ -32,7 +32,7 @@ It is recommended to assign a static IP address to the computer running Home Ass
</p>
<p class='note'>
Both Google Home and Alexa use the device they were initially set up with for communication with emulated_hue. In other words: if you remove/replace this device you will also break emulated_hue.
Both Google Home and Alexa use the device they were initially set up with for communication with `emulated_hue`. In other words: if you remove/replace this device you will also break `emulated_hue`. To recover your `emulated_hue` functionality, backup your `config/emulated_hue_ids.json` file, delete the original one and reboot your Home Assistant instance.
</p>
### {% linkable_title Configuration %}

View File

@ -102,7 +102,7 @@ name:
type: string
default: EnOcean binary sensor
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: device_class
{% endconfiguration %}
@ -193,7 +193,7 @@ name:
type: string
default: EnOcean sensor
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: device_class
default: powersensor

View File

@ -7,17 +7,11 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Fan
ha_qa_scale: internal
ha_release: 0.27
---
The `fan` component is built for the controlling of fan devices. It can be called the little brother of the [climate](/components/climate/) component.
To enable this component, pick one of the platforms, and add it to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
climate:
platform: fan
```
The `fan` component is built for the controlling of fan devices.

View File

@ -16,15 +16,13 @@ redirect_from:
- /components/device_tracker.geofency/
---
This component sets up integration with [Geofency](http://www.geofency.com/). Geofency is a [paid app](https://itunes.apple.com/app/id615538630) for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location.
Enabling this component will automatically enable the Geofency Device Tracker.
This component sets up integration with [Geofency](http://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location.
## {% linkable_title Configuration %}
To configure Geofency, you must set it up via the integrations panel in the configuration screen. You must then configure the iOS app (via the Webhook feature) to send a POST request to your Home Assistant server at the webhook URL provided by the integration during setup. Use the default POST format. Make sure to enable the 'Update Geo-Position' functionality for mobile beacons.
Geofency will automatically generate the device tracker name used for geofences, and you will find it in `known_devices.yaml` after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
Geofency will automatically generate the device tracker name used for geofences, and you will find it in the integrations section after the first request. For beacons, the device name will be `beacon_<name from Geofency>`, e.g., `device_tracker.beacon_car`.
When using mobile beacons (optional) an entry in `configuration.yaml` is still needed as this can't be added via the integrations panel.
@ -49,4 +47,4 @@ geofency:
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to `not home`. For mobile beacons, the location name will be `not_home` whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone.
To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.
To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.

View File

@ -193,6 +193,7 @@ Currently, the following domains are available to be used with Google Assistant,
- media_player (on/off/set volume (via set brightness)/source (via set input source))
- climate (temperature setting, operation_mode)
- vacuum (dock/start/stop/pause)
- sensor (temperature setting, only for temperature sensor)
<p class='note warning'>
The domain groups contains groups containing all items, by example group.all_automations. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations

View File

@ -16,9 +16,7 @@ redirect_from:
- /components/device_tracker.gpslogger/
---
This component sets up integration with [GPSLogger](http://code.mendhak.com/gpslogger/). GPSLogger is an open source app for [Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) that allows users to set up a `POST` request to update GPS coordinates. This can be configured with Home Assistant to update your location.
Enabling this component will automatically enable the GPSLogger Device Tracker.
This component sets up integration with [GPSLogger](https://gpslogger.app/). GPSLogger is an open source app for Android that allows users to update your location in Home Assistant.
## {% linkable_title Configuration %}
@ -77,4 +75,4 @@ If your battery drains too fast then you can tune the performance of GPSLogger u
Performance
</p>
A request can be forced from the app to test if everything is working fine. A successful request will update the `known_devices.yaml` file with the device's serial number.
A request can be forced from the app to test if everything is working fine.

View File

@ -14,10 +14,80 @@ ha_qa_scale: internal
ha_release: pre 0.7
---
Groups allow the user to combine multiple entities into one. A group can be promoted to a **view** by setting `view: true` under the group definition. This will make the group available as a new tab in the frontend.
Groups allow the user to combine multiple entities into one.
Check the **Set State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
```yaml
# Example configuration.yaml entry
group:
kitchen:
name: Kitchen
entities:
- switch.kitchen_pin_3
climate:
name: Climate
entities:
- sensor.bedroom_temp
- sensor.porch_temp
awesome_people:
name: Awesome People
entities:
- device_tracker.dad_smith
- device_tracker.mom_smith
```
{% configuration %}
name:
description: Name of the group.
required: false
type: string
entities:
description: Array or comma delimited string, list of entities to group.
required: true
type: list
all:
description: Set this to `true` if the group state should only turn *on* if **all** grouped entities are *on*.
required: false
type: boolean
icon:
description: The icon that shows in the front end. **The rest of this only applies to the deprecated UI `/states`**. If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text.
required: false
type: string
view:
description: "**Only applies to the deprecated UI `/states`**. If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: true` cannot be used as entities in other views. *Does not apply to Lovelace.*"
required: false
type: boolean
control:
description: "**Only applies to the deprecated UI `/states`**. Set value to `hidden`. If hidden then the group switch will be hidden. *Does not apply to Lovelace.*"
required: false
type: string
{% endconfiguration %}
## {% linkable_title Default groups %}
Some components automatically create special groups containing component entities. These groups are named like `group.all_...`, for example:
- `group.all_switches`
- `group.all_lights`
- `group.all_devices`
- `group.all_scripts`
- `group.all_automations`
You can see list of these groups in **State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
## {% linkable_title Group behavior %}
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
---
## {% linkable_title Old user interface %}
This section only applies if you've not moved off the deprecated `/states` user interface.
A group can be promoted to a **view** by setting `view: true` under the group definition. This will make the group available as a new tab in the frontend.
By default, every group appears in the HOME tab. If you create a group `default_view` it will REPLACE the contents of the HOME tab so you can customize the HOME tab as you wish.
```yaml
@ -57,33 +127,6 @@ group:
- device_tracker.mom_smith
```
{% configuration %}
name:
description: Name of the group.
required: false
type: string
view:
description: "If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: true` cannot be used as entities in other views."
required: false
type: boolean
icon:
description: If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text. If it's not a view, then the icon shows when this group is used in another group.
required: false
type: string
control:
description: Set value to `hidden`. If hidden then the group switch will be hidden.
required: false
type: string
entities:
description: Array or comma delimited string, list of entities to group.
required: true
type: list
all:
description: Set this to `true` if the group state should only turn *on* if **all** grouped entities are *on*.
required: false
type: boolean
{% endconfiguration %}
<p class='img'>
<img src='/images/blog/2016-01-release-12/views.png'>
Example of groups shown as views in the frontend.
@ -110,18 +153,6 @@ Notice in the example below that in order to refer to the group "Living Room", y
- group.bedroom
```
## {% linkable_title Default groups %}
Some components automatically create special groups containing component entities. These groups are named like `group.all_...`, for example:
- `group.all_switches`
- `group.all_lights`
- `group.all_devices`
- `group.all_scripts`
- `group.all_automations`
You can see list of these groups in **State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
Default groups appear in the HOME tab, if not overridden by user views and groups. Default groups are hidden by default, so you must [customize](/docs/configuration/customizing-devices/) them to be visible in your custom groups and views.
```yaml
@ -140,10 +171,6 @@ group:
- group.all_scripts
```
## {% linkable_title Group behavior %}
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
## {% linkable_title Customize group order %}
You can also order your groups using [customize](/docs/configuration/customizing-devices/) with `order: ` if they don't show up in the order you want them in.

View File

@ -354,6 +354,20 @@ action:
value: 23.0
```
Manually set the active profile on thermostat:
```yaml
...
action:
service: homematic.set_device_value
data:
address: LEQ1234567
channel: 1
param: ACTIVE_PROFILE
value: 1
value_type: int
```
Set the week program of a wall thermostat:
```yaml

View File

@ -116,7 +116,6 @@ authtoken:
* Temperature and humidity Sensor with display (*HmIP-STHD*)
* homematicip_cloud.cover
* Blind actuator for brand switches (*HmIP-BBL*)
* Shutter actuator brand-mount (*HmIP-BROLL*)
* Shutter actuator flush-mount (*HmIP-FROLL*)

View File

@ -119,8 +119,7 @@ http:
- https://www.home-assistant.io
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- ::1
- 10.0.0.200
ip_ban_enabled: true
login_attempts_threshold: 5
```

View File

@ -44,7 +44,7 @@ light:
required: false
type: string
priority:
description: The priority of the Hyperion instance.
description: The priority of the Hyperion instance make sure this is higher then the system prio in hyperion itself.
required: false
type: int
default: 128
@ -65,7 +65,7 @@ light:
default: "['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs', 'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single', 'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random', 'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue', 'Strobe Raspbmc', 'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']"
{% endconfiguration %}
## {% linkable_title Example %}
## {% linkable_title Examples %}
To start Hyperion with an effect, use the following automation:
@ -83,3 +83,39 @@ automation:
entity_id: light.hyperion
effect: "Full color mood blobs"
```
To have the lights playing a effect when pausing, idle or turn off a media player like plex you can use this example:
```
- alias: Set hyperion effect after playback
trigger:
- platform: state
entity_id: media_player.plex
to: 'off'
- platform: state
entity_id: media_player.plex.plex
to: 'paused'
- platform: state
entity_id: media_player.plex.plex
to: 'idle'
action:
- service: light.turn_on
data:
entity_id: light.hyperion
effect: "Full color mood blobs"
```
To capture the screen when playing something of a media_player you can use this example:
```
- alias: Set hyperion when playback starts
trigger:
- platform: state
entity_id: media_player.plex
to: 'playing'
action:
- service: light.turn_on
data:
entity_id: light.hyperion
effect: HDMI
```

View File

@ -18,7 +18,7 @@ redirect_from:
- /components/sensor.integration/
---
The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used.
The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. The integration sensors is updated upon changes of the the **source**. Fast sampling source sensors provide better results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used.
## {% linkable_title Configuration %}

View File

@ -7,14 +7,14 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Light
ha_qa_scale: internal
ha_release: pre 0.7
---
This component allows you to track and control various light bulbs. Read the platform documentation for your particular light hardware to learn how to enable it.
<p class='note'>
The light component supports multiple entries in <code>configuration.yaml</code> by appending a sequential number to the section: <code>light 2:</code>, <code>light 3:</code> etc.
</p>
This component allows you to track and control various light bulbs. Read the integration documentation for your particular light hardware to learn how to enable it.
### {% linkable_title Default turn-on values %}
@ -26,7 +26,7 @@ The `.default` suffix should be added to the entity identifier of each light to
Turns one light on or multiple lights on using [groups]({{site_root}}/components/group/).
Most lights do not support all attributes. You can check the platform documentation of your particular light for hints, but in general, you will have to try things out and see what works.
Most lights do not support all attributes. You can check the integration documentation of your particular light for hints, but in general, you will have to try things out and see what works.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |

View File

@ -17,7 +17,7 @@ redirect_from:
---
<p class='note'>
Locative is no longer under active development. <a href="https://blog.locative.io/bye-everyone-df01871fe949">Read more here</a>
Locative is no longer under active development.
</p>
This platform allows you to detect presence using [Locative](https://my.locative.io/). Locative is an open source app for [iOS](https://github.com/LocativeHQ/ios-app) and [Android](https://github.com/LocativeHQ/Locative-Android) that allows users to set up a `GET` or `POST` request when a geofence is entered or exited. This can be configured with Home Assistant to update your location.
@ -27,12 +27,10 @@ Install on your smartphone:
- [Android](https://play.google.com/store/apps/details?id=io.locative.app)
- [iOS](https://itunes.apple.com/us/app/geofancy/id725198453)
To configure Locative, you must set it up via the integrations panel in the configuration screen. You must set up the app to send a POST request to your Home Assistant server at the webhook URL provided by the integration during setup. When you enter or exit a geofence, Locative will send the appropriate request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your known_devices.yaml file for a new device that Locative will have created on it's first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated.
To configure Locative, you must set it up via the integrations panel in the configuration screen. You must set up the app to send a POST request to your Home Assistant server at the webhook URL provided by the integration during setup. When you enter or exit a geofence, Locative will send the appropriate request to that URL, updating Home Assistant. You are not able to specify a device name in Locative. Instead, you will need to look in your `dev-state` menu for a new device that Locative will have created on it's first `GET`. If you had been or are using Owntracks as well, you will need to update the device name used in the Owntracks setup with the name that Locative generated.
<p class='img'>
<img src='{{site_root}}/images/screenshots/locative.png'/>
</p>
When you enter a geofence, your location name in Home Assistant will be set to the name of the geofence in Locative. When you exit a geofence, your location name in Home Assistant will be set to "not home".
To use Locative in combination with another device tracker, such as [Nmap](/components/device_tracker.nmap_tracker/) or [Netgear](/components/device_tracker.netgear/), fill in the `mac` field to the Locative entry in `known_devices.yaml` with the MAC address of the device you want to track. The state of the device will be determined by the source that reported last.

View File

@ -7,6 +7,10 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Lock
ha_qa_scale: internal
ha_release: 0.9
---

View File

@ -33,8 +33,7 @@ components:
logger:
default: info
logs:
homeassistant.components.device_tracker: critical
homeassistant.components.camera: critical
homeassistant.components.yamaha: critical
custom_components.my_integration: critical
```
@ -46,11 +45,20 @@ components:
logger:
default: critical
logs:
homeassistant.components: info
homeassistant.components.rfxtrx: debug
homeassistant.components.device_tracker: critical
homeassistant.components.camera: critical
# log level for HA core
homeassistant.core: fatal
# log level for MQTT integration
homeassistant.components.mqtt: warning
# log level for SmartThings lights
homeassistant.components.smartthings.light: info
# log level for a custom component
custom_components.my_integration: debug
# log level for the `aiohttp` Python package
aiohttp: error
```
{% configuration %}
@ -107,9 +115,11 @@ An example call might look like this:
```yaml
service: logger.set_level
data:
homeassistant.components: warning
homeassistant.components.media_player.yamaha: debug
homeassistant.core: fatal
homeassistant.components.mqtt: warning
homeassistant.components.smartthings.light: info
custom_components.my_integration: debug
aiohttp: error
```
The log information are stored in the

View File

@ -15,7 +15,7 @@ redirect_from:
- /components/notify.mastodon/
---
The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to delivery notifications from Home Assistant.
The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to deliver notifications from Home Assistant.
### {% linkable_title Setup %}

View File

@ -7,10 +7,14 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Media Player
ha_qa_scale: internal
ha_release: 0.7
---
Interacts with media players on your network. Please check the right sidebar for a full list of supported devices.
Interacts with media players on your network.
## {% linkable_title Services %}

View File

@ -99,7 +99,7 @@ automation:
action:
- service: notify.notify
data_template:
title: '{{state_attr('binary_sensor.meteoalarm', 'headline')}}'
title: "{{state_attr('binary_sensor.meteoalarm', 'headline')}}"
message: "{{state_attr('binary_sensor.meteoalarm', 'description')}} is effective on {{state_attr('binary_sensor.meteoalarm', 'effective')}}"
```
{% endraw %}

View File

@ -128,12 +128,12 @@ modbus:
- type: tcp
host: IP_ADDRESS_1
port: 2020
hub: hub1
name: hub1
- type: tcp
host: IP_ADDRESS_2
port: 501
hub: hub2
name: hub2
```
### {% linkable_title Services %}
@ -147,7 +147,7 @@ modbus:
| Attribute | Description |
| --------- | ----------- |
| hub | Hub name (defaults to 'default' when omitted) |
| name | Hub name (defaults to 'default' when omitted) |
| unit | Slave address (set to 255 you talk to Modbus via TCP) |
| address | Address of the Register (e.g., 138) |
| value | A single value or an array of 16-bit values. Single value will call modbus function code 6. Array will call modbus function code 16. Array might need reverse ordering. E.g., to set 0x0004 you might need to set `[4,0]` |

View File

@ -43,21 +43,45 @@ $ curl -X GET "http://[Netdata_Instance]:19999/api/v1/data?chart=[data_group]&po
- `dimension_names`: Names shown in the frontend.
- `dimension_ids`: Names to use for `element`.
Alternatively you can browse to the built in Netdata API in your browser `http://[Netdata_Instance]:19999/api/v1/allmetrics?format=json` and search for the `data_group` identified in the Netdata frontend. In the example JSON below the data group is "system.load".
```json
"system.load": {
"name":"system.load",
"context":"system.load",
"units":"load",
"last_updated": 1558446920,
"dimensions": {
"load1": {
"name": "load1",
"value": 0.1250000
},
"load5": {
"name": "load5",
"value": 0.1290000
},
"load15": {
"name": "load15",
"value": 0.1430000
}
}
},
```
Once the `data_group` "system.load" and the `element` "load15" have been identified from the JSON it can be configured in your configuration.yaml like the example below.
## {% linkable_title Configuration %}
To add this platform to your installation, add the following to your `configuration.yaml` file:
Add the following to your `configuration.yaml`.
```yaml
# Example configuration.yaml entry
sensor:
- platform: netdata
resources:
resources:
load:
data_group: system.load
element: load15
cpu:
data_group: system.cpu
element: system
```
{% configuration %}
@ -105,3 +129,22 @@ resources:
type: boolean
default: false
{% endconfiguration %}
### {% linkable_title Full Example %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: netdata
host: '192.168.1.2'
port: '19999'
name: SomeHostName
resources:
system_load:
data_group: system.load
element: load15
core0_freq:
data_group: 'cpu.cpufreq'
element: 'cpu0'
icon: mdi:chip
```

View File

@ -92,7 +92,7 @@ An example of how the Nmap scanner can be customized:
### {% linkable_title Linux capabilities %}
On Linux systems you can extend the functionality of Nmap, without having to run it as root, by using *Linux capabilities*. Be sure to specify the full path to wherever you installed Nmap:
On Linux systems (such as Hass.io) you can extend the functionality of Nmap, without having to run it as root, by using *Linux capabilities*. Be sure to specify the full path to wherever you installed Nmap:
```bash
$ sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nmap

View File

@ -7,6 +7,10 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Notifications
ha_qa_scale: internal
ha_release: 0.7
---
@ -14,19 +18,7 @@ The `notify` component makes it possible to send notifications to a wide variety
If you want to send notifications to the Home Assistant Web Interface you may use the [Persistent Notification Component](/components/persistent_notification/).
## {% linkable_title Configuration %}
```yaml
# Example configuration.yaml entry
notify:
- platform: pushbullet
name: NOTIFY_NAME
api_key: YOUR_API_KEY
```
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 %}
## {% linkable_title Service %}
Once loaded, the `notify` platform will expose a service that can be called to send notifications.

View File

@ -24,17 +24,9 @@ By default the integration will listen for incoming messages from OwnTracks via
<iframe width="560" height="315" src="https://www.youtube.com/embed/UieAQ8sC6GY" frameborder="0" allowfullscreen></iframe>
</div>
### {% linkable_title Configuring the component %}
## {% linkable_title Configuration %}
1. Open the Home Assistant frontend
1. Open Settings -> integrations
1. If you see an Owntracks component under 'Configured', delete it.
- Click on it.
- Click on the trashcan icon in the upper right corner.
1. Now, look for Owntracks in 'Setup new integration' and click on CONFIGURE.
1. The login credentials and configuration for owntracks will be presented to you.
in a popup window. You will need these in the configuration for the app as mentioned below.
1. Save these credentials somewhere, as there is no way to get it back at a later point in time if it is lost, besides repeating step 1-5
To configure OwnTracks, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration (below).
### {% linkable_title Configuring the app - Android %}
@ -43,7 +35,7 @@ By default the integration will listen for incoming messages from OwnTracks via
In the OwnTracks app, open sidebar and click on preferences, then on connection. Change the following settings:
- Mode: Private HTTP
- Host: `<URL given to you when setting up the integration above>`
- Host: `<URL given to you when setting up the integration>`
- Identification:
- Username: `<Username>`
- Password: Can be left blank.
@ -167,19 +159,3 @@ By default, any Owntracks user connected to Home Assistant can export their wayp
1. The configuration variable `waypoints` can be set to `false` which will disable importing waypoints for all users.
2. The configuration variable `waypoint_whitelist` can contain a list of users who are allowed to import waypoints.
## {% linkable_title Using Owntracks with other device trackers %}
Owntracks can also be used with other device trackers, such as [Nmap](/components/device_tracker.nmap_tracker/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the Owntracks entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by the source that reported last. The naming convention for known device list is `<username>_<device-id>` and could be set in app configuration. More details about this config can found in [device tracker](/components/device_tracker/).
An example showing the inclusion of the `mac` field for multiple component tracking. The `mac` field will need to be added to the `owntracks` device and will enable tracking by all components that track via the `mac` address.
```yaml
USERNAME_DEVICE_ID:
name: Friendly Name
mac: EA:AA:55:E7:C6:94
picture: https://www.home-assistant.io/images/favicon-192x192.png
gravatar: test@example.com
track: true
hide_if_away: false
```

View File

@ -52,6 +52,10 @@ If the home assistant server is behind your firewall with only the http(s) port
Another way of securing the port is to set `host` to localhost and have a secured SSH TCP tunnel with a client certificate for access from the outside internet.
### {% linkable_title Memory Use %}
There have been reports of continually increasing memory use while the debugger is running, although this doesn't seem to appear on all systems. Only configure the debugger on a persistent server when it's actually required.
### {% linkable_title Waiting at startup %}
If you want to debug something in the boot-up sequence, configure the component to wait for a connection first:

View File

@ -23,6 +23,10 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Notifications](#notifications)
<p class='note'>
The free tier is [limited](https://docs.pushbullet.com/#push-limit) to 500 pushes per month.
</p>
### {% linkable_title Sensor %}
The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror.
@ -83,7 +87,7 @@ All properties will be displayed as attributes. The properties array are just fo
## {% linkable_title Notifications %}
The `pushbullet` notification platform sends messages to [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends.
The `pushbullet` notification platform sends messages to [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. The free tier is [limited](https://docs.pushbullet.com/#push-limit) to 500 pushes per month.
To enable Pushbullet notifications in your installation, add the following to your `configuration.yaml` file:
@ -191,4 +195,4 @@ action:
<p class='note'>
Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
</p>
</p>

View File

@ -106,11 +106,11 @@ friendly_name:
required: false
type: string
trigger_time:
description: The default duration to sprinkle the zone.
description: The default duration to sprinkle the zone in minutes.
required: true
type: integer
scan_interval:
description: How fast to refresh the switch.
description: How fast to refresh the switch in minutes.
required: false
type: integer
{% endconfiguration %}

View File

@ -78,7 +78,7 @@ i2c_hats:
default: false
type: boolean
device_class:
description: See device classes in [binary_sensor component](/components/binary_sensor/).
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
default: "None"
type: string

View File

@ -16,7 +16,7 @@ ha_release: 0.94
ha_iot_class: Local Push
---
The `rpi_gpio` component is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages.
The `rpi_gpio` component is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding sections.
## {% linkable_title Binary Sensor %}
@ -28,21 +28,15 @@ To use your Remote Raspberry Pi's GPIO in your installation, add the following t
# Example configuration.yaml entry
binary_sensor:
- platform: remote_rpi_gpio
address: <address of remote pi>
host: IP_ADDRESS_OF_REMOTE_PI
ports:
11: PIR Office
12: PIR Bedroom
switch:
- platform: remote_rpi_gpio
address: <address of remote pi>
ports:
4: Garage Relay
```
{% configuration %}
address:
description: IP Address of remote Raspberry Pi
host:
description: IP Address of remote Raspberry Pi.
required: true
type: string
ports:
@ -81,15 +75,15 @@ To use your Remote Raspberry Pi's GPIO in your installation, add the following t
# Example configuration.yaml entry
switch:
- platform: remote_rpi_gpio
address: 192.168.0.123
host: IP_ADDRESS_OF_REMOTE_PI
ports:
11: Fan Office
12: Light Desk
```
{% configuration %}
address:
description: IP Address of remote Raspberry Pi
host:
description: IP Address of remote Raspberry Pi.
required: true
type: string
ports:
@ -114,14 +108,14 @@ For more details about the GPIO layout, visit the Wikipedia [article](https://en
Note that a pin managed by HASS is expected to be exclusive to HASS.
</p>
A common question is what does Port refer to, this number is the actual GPIO #, not the pin #.
A common question is what does port refer to, this number is the actual GPIO #, not the pin #.
For example, if you have a relay connected to pin 11 its GPIO # is 17.
```yaml
# Example configuration.yaml entry
switch:
- platform: remote_rpi_gpio
address: 192.168.0.123
host: 192.168.0.123
ports:
17: Speaker Relay
```

View File

@ -55,9 +55,7 @@ name:
type: string
default: REST Sensor
device_class:
description: >
The [type/class](/components/sensor/) of
the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
value_template:

View File

@ -7,12 +7,16 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Sensor
ha_qa_scale: internal
ha_release: 0.7
---
Sensors are gathering information about states and conditions.
Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home Assistant directly, are gathered from web services, and, of course, physical devices. Please check the sidebar for a full list of supported sensor platforms.
Home Assistant currently supports a wide range of sensors. They are able to display information which are provides by Home Assistant directly, are gathered from web services, and, of course, physical devices.
## {% linkable_title Device Class %}

View File

@ -35,7 +35,7 @@ The queue is not snapshotted and must be left untouched until the restore. Using
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | The speakers to snapshot.
| `with_group` | yes | Should we also snapshot the group layout and the state of other speakers in the group.
| `with_group` | yes | Should we also snapshot the group layout and the state of other speakers in the group, defaults to true.
### {% linkable_title Service `sonos.restore` %}
@ -53,7 +53,7 @@ A cloud queue cannot be restarted. This includes queues started from within Spot
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of `entity_id`s that should have their snapshot restored.
| `with_group` | yes | Should we also restore the group layout and the state of other speakers in the group.
| `with_group` | yes | Should we also restore the group layout and the state of other speakers in the group, defaults to true.
### {% linkable_title Service `sonos.join` %}

View File

@ -0,0 +1,33 @@
---
layout: page
title: "SSDP - Simple Service Discovery Protocol"
description: "Discover integrations on the network using the SSDP protocol."
date: 2019-06-02 18:50
sidebar: true
comments: false
sharing: true
footer: true
ha_category:
- Network
ha_release: 0.94
---
The `ssdp` "Simple Service Discovery Protocol" integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the config panel.
Integrations can opt-in to be found by adding [an SSDP section](https://developers.home-assistant.io/docs/en/next/creating_integration_manifest.html#ssdp) to their manifest.json.
## {% linkable_title Configuration %}
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
ssdp:
```
## {% linkable_title Discovered Integrations %}
The following integrations are automatically discovered by the SSDP integration:
- Deconz
- Philips Hue

View File

@ -7,6 +7,10 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Switch
ha_qa_scale: internal
ha_release: 0.7
---

View File

@ -54,9 +54,7 @@ sensors:
required: false
type: string
device_class:
description: >
The [type/class](/components/binary_sensor/#device-class) of
the sensor to set the icon in the frontend.
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: string
friendly_name:

View File

@ -184,3 +184,23 @@ utility_meter:
source: sensor.gas_consumption
cycle: monthly
```
Additionally, you can add template sensors to compute daily and monthly total usage.
{% raw %}
```yaml
sensor:
- platform: template
sensors:
daily_power:
friendly_name: Daily Power
icon: mdi:counter
unit_of_measurement: kWh
value_template: {{ states('sensor.daily_power_offpeak')|float + states('sensor.daily_power_peak')|float }}
monthly_power:
friendly_name: Monthly Power
icon: mdi:counter
unit_of_measurement: kWh
value_template: {{ states('sensor.monthly_power_offpeak')|float + states('sensor.monthly_power_peak')|float }}
```
{% endraw %}

View File

@ -250,7 +250,7 @@ The information output is:
To fetch the token follow these instructions depending on your mobile phone platform.
1. Configure the robot with the Mi-Home app.
1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/).
2. Download and extract the [MiToolKit.zip](https://github.com/ultrara1n/MiToolkit/releases).
3. Enable developer mode and USB debugging on the Android phone and plug it into the computer.
4. Change the MiToolKit language to English if you need to.
@ -278,7 +278,7 @@ source /srv/homeassistant/bin/activate
To fetch the token follow these instructions depending on your mobile phone platform.
1. Configure the robot with the Mi-Home app.
1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/).
2. Enable developer mode, USB debugging and plug the Android phone into the computer.
3. Get ADB by running `apt-get install android-tools-adb` or `apt-get install adb`.
4. `adb devices` should list your device. Consult the ADB manual if necessary.
@ -313,7 +313,7 @@ source /srv/homeassistant/bin/activate
To fetch the token follow these instructions depending on your mobile phone platform.
1. Configure the robot with the Mi-Home app.
1. Configure the robot with [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/).
2. Enable developer mode, USB debugging and root permission only for ADB on the Android phone and plug it into the computer.
3. Get ADB (e.g, using `apt-get install android-tools-adb`).
4. The command `adb devices` should list your device.
@ -326,7 +326,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
### {% linkable_title iOS %}
1. Configure the robot with the Mi-Home app.
1. Configure the robot with the Mi Home app.
2. Using iTunes, create an unencrypted backup of your iPhone.
3. Install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/), open it, and open your backup.
4. Open the "Raw Data" module.
@ -351,7 +351,7 @@ To fetch the token follow these instructions depending on your mobile phone plat
1. Configure the robot with the Mi-Home app.
2. Install [BlueStacks](https://www.bluestacks.com).
3. Set up the Mi-Home app in BlueStacks and login to synchronize devices.
3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices.
4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
### {% linkable_title Selecting token manually (Windows and Android) %}
@ -361,10 +361,10 @@ The following instruction explained an alternative method, in case the MiToolKit
Software Required:
- Android ADB is contained in [Android SDK](https://developer.android.com/studio/releases/platform-tools)
- [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/)
- [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/)
- [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)
- [SQLite Browser](https://sqlitebrowser.org/)
1. Install an old Version of MiHome (e.g. Mi-Home version 5.0.30) on your Android-Device
1. Install an old Version of MiHome (e.g. Mi Home version 5.0.30) on your Android-Device
2. Open MiHome, log-in and add your devices
3. Enable USB-Debugging on your Android
4. Create a backup from your MiHome App, by using adb

View File

@ -68,7 +68,7 @@ devices:
required: false
type: string
device_class:
description: "The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend."
description: Sets the [class of the device](/components/binary_sensor/), changing the device state and icon that is displayed on the frontend.
required: false
type: device_class
off_delay:

View File

@ -14,7 +14,7 @@ ha_release: 0.94
---
The `watson_tts` text-to-speech platform that works with [IBM Watson Cloud](https://www.ibm.com/watson/services/text-to-speech/) to create the spoken output.
Polly is a paid service via IBM Cloud but there is a decent [free tier](https://www.ibm.com/cloud/watson-text-to-speech/pricing) which offers 10000 free characters every month.
Watson is a paid service via IBM Cloud but there is a decent [free tier](https://www.ibm.com/cloud/watson-text-to-speech/pricing) which offers 10000 free characters every month.
## {% linkable_title Setup %}

View File

@ -7,53 +7,21 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: avahi.png
ha_category:
- Network
ha_qa_scale: internal
ha_release: 0.18
---
The `zeroconf` integration exposes your Home Assistant to the local network using [Zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking). It can also discover and automatically configure devices on your network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi.
The `zeroconf` integration will scan the network for supported devices and services. Discovered integrations will show up in the discovered section on the integrations page in the config panel. It will also make Home Assistant discoverable for other services in the network. Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi.
Integrations can opt-in to be found by adding either [a Zeroconf section](https://developers.home-assistant.io/docs/en/next/creating_integration_manifest.html#zeroconf) or [a HomeKit section](https://developers.home-assistant.io/docs/en/next/creating_integration_manifest.html#homekit) to their manifest.json.
## {% linkable_title Configuration %}
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
To have Home Assistant scan for integrations using zeroconf and HomeKit, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
zeroconf:
```
### {% linkable_title Discoverable services %}
Currently the `zeroconf` integration can detect:
* [Axis Communications security devices](/components/axis/)
* [ESPHome](/components/esphome/)
* [HomeKit](/components/homekit_controller/)
* [IKEA Trådfri (Tradfri)](/components/tradfri/)
### {% linkable_title Discovering Home Assistant %}
The registration will include meta-data about the Home Assistant instance, including a base URL that can be used to access Home Assistant, the currently running Home Assistant version, and whether an API password is needed to access the instance. The examples below show two ways to retrieve the details for testing.
```bash
$ avahi-browse -alr
+ eth0 IPv4 Home _home-assistant._tcp local
= eth0 IPv4 Home _home-assistant._tcp local
hostname = [Home._home-assistant._tcp.local]
address = [192.168.0.70]
port = [8123]
txt = ["base_url=http://192.168.0.70:8123" "requires_api_password=true" "version=0.41.0"]
```
```bash
$ avahi-discover
Browsing domain 'local' on -1.-1 ...
Browsing for services of type '_home-assistant._tcp' in domain 'local' on 4.0 ...
Found service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0.
Service data for service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0:
Host Home._home-assistant._tcp.local (192.168.0.70), port 8123, TXT data:
['requires_api_password=true', 'base_url=http://192.168.0.70:8123', 'version=0.41.0']
```

View File

@ -104,3 +104,15 @@ enable_quirks:
To add new devices to the network, call the `permit` service on the `zha` domain. Do this by clicking the Service icon in Developer tools and typing `zha.permit` in the **Service** dropdown box. Next, follow the device instructions for adding, scanning or factory reset.
In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/)
## {% linkable_title Troubleshooting %}
### {% linkable_title ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts %}
On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
To remove modemmanager from an Debian/Ubuntu host run this command:
```bash
sudo apt-get purge modemmanager
```

View File

@ -15,10 +15,10 @@ This is a [React](https://facebook.github.io/react/) implementation of [TodoMVC]
- It uses React to render the data.
- It hooks into Home Assistant JS which means updates pushed from the server are instantly rendered.
- It accesses properties made available from Polymer.
- It uses the user configuration for the component in the `configuration.yaml` file for rendering.
- It uses the user configuration for the integration in the `configuration.yaml` file for rendering.
- It allows toggling the sidebar.
Download the source [here](https://github.com/home-assistant/example-custom-config/blob/master/panels/react.html). Copy the file to `<config dir>/panels/` (you might have to create the directory if it doesn't exist).
[Download the source for React Starter Kit here](https://github.com/home-assistant/custom-panel-starter-kit-react). Copy the file to `<config dir>/panels/` (you might have to create the directory if it doesn't exist).
Create an entry for the panel in your `configuration.yaml` file to enable it.

View File

@ -48,7 +48,7 @@ automation:
service: notify.pushbullet
data_template:
title: 'New Home Assistant Release'
target: 'YOUR_TARGET_HERE' #See Pushbullet component for usage
target: 'YOUR_TARGET_HERE' #See Pushbullet integration for usage
message: "Home Assistant {% raw %} {{ states.updater.updater.state }} {% endraw %} is now available."
```

View File

@ -10,7 +10,7 @@ footer: true
ha_category: Automation in Python Examples
---
Example component to target an `entity_id` to:
Example integration to target an `entity_id` to:
- turn it on at 7AM in the morning
- turn it on if anyone comes home and it is off
@ -57,7 +57,7 @@ from homeassistant.helpers.event import (async_track_state_change,
# The domain of your component. Should be equal to the name of your component.
DOMAIN = "example"
# List of component names (string) your component depends upon.
# List of integration names (string) your integration depends upon.
# We depend on group because group will be loaded after all the components that
# initialize devices have been setup.
DEPENDENCIES = ['group', 'device_tracker', 'light']

View File

@ -24,7 +24,7 @@ import homeassistant.loader as loader
# The domain of your component. Should be equal to the name of your component.
DOMAIN = 'hello_mqtt'
# List of component names (string) your component depends upon.
# List of integration names (string) your integration depends upon.
DEPENDENCIES = ['mqtt']
@ -63,7 +63,7 @@ def setup(hass, config):
return True
```
Load the component by adding the following to your `configuration.yaml`. When your component is loaded, a new entity should popup and there should be a new service available to call.
Load the integration by adding the following to your `configuration.yaml`. When your integration is loaded, a new entity should popup and there should be a new service available to call.
```yaml
# configuration.yaml entry

View File

@ -10,9 +10,9 @@ footer: true
ha_category: Automation in Python Examples
---
This example component will detect intruders. It does so by checking if lights are being turned on while there is no one at home. When this happens it will turn the lights red, flash them for 30 seconds and send a message via [the notify component](/components/notify/). It will also flash a specific light when a known person comes home.
This example integration will detect intruders. It does so by checking if lights are being turned on while there is no one at home. When this happens it will turn the lights red, flash them for 30 seconds and send a message via [the notify component](/components/notify/). It will also flash a specific light when a known person comes home.
This component depends on the components [device_tracker](/components/device_tracker/) and [light](/components/light/) being setup.
This integration depends on the integrations [device_tracker](/components/device_tracker/) and [light](/components/light/) being setup.
To set it up, add the following lines to your `configuration.yaml` file:

View File

@ -12,7 +12,7 @@ ha_category: Automation Examples
### {% linkable_title iOS Devices %}
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) component is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) integration is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level.
{% raw %}
```yaml

View File

@ -73,7 +73,7 @@ If you see this, you need to add an [`api_password`](/components/http/#api_passw
### {% linkable_title Bearer token informational messages %}
If you see the following, then this is a message for component developers, to tell them they need to update how they authenticate to Home Assistant. As an end user you don't need to do anything:
If you see the following, then this is a message for integration developers, to tell them they need to update how they authenticate to Home Assistant. As an end user you don't need to do anything:
```txt
INFO (MainThread) [homeassistant.components.http.auth] You need to use a bearer token to access /blah/blah from 192.0.2.4

View File

@ -75,15 +75,17 @@ Add Notify MFA to your `configuration.yaml` file like this:
homeassistant:
auth_mfa_modules:
- type: notify
include:
- notify_entity
```
{% configuration %}
exclude:
description: The list of notifying services you want to exclude.
description: The list of notifying service entities you want to exclude.
required: false
type: list
include:
description: The list of notifying services you want to include.
description: The list of notifying service entities you want to include.
required: false
type: list
message:

View File

@ -49,14 +49,14 @@ Actions are all about calling services. To explore the available services open t
### {% linkable_title Automation initial state %}
When you create a new automation, it will be disabled (and therefore won't trigger) unless you explicitly add `initial_state: true` to it or turn it on manually via UI/another automation/developer tools.
When you create a new automation, it will be enabled unless you explicitly add `initial_state: false` to it or turn it off manually via UI/another automation/developer tools. In case automations need to be always enabled or disabled when Home Assistant starts, then you can set the `initial_state` in your automations. Otherwise, the previous state will be restored.
In case automations need to be enabled or disabled upon Home Assistant restart, then you have to set the `initial_state` in your automations. Otherwise, the previous state will be restored. Please note that if for some reason Home Assistant cannot restore the previous state, e.g., because of an interrupted or failed startup, it will result in the automation being disabled on the next Home Assistant startup.
Please note that if for some reason Home Assistant cannot restore the previous state, it will result in the automation being enabled.
```text
automation:
- alias: Automation Name
initial_state: true
initial_state: false
trigger:
...
```

View File

@ -52,7 +52,7 @@ config:
The automation editor reads and writes to the file `automations.yaml` in the root of your [configuration](/docs/configuration/) folder.
Currently, both the name of this file and its location are fixed.
Make sure that you have set up the automation component to read from it:
Make sure that you have set up the automation integration to read from it:
```yaml
# Configuration.yaml example
@ -103,6 +103,6 @@ For example, the below automation will be triggered when the sun goes from below
```
<p class='note'>
Any comments in the YAML file will be lost when you update an automation via the editor.
Any comments in the YAML file will be lost and templates will be reformatted when you update an automation via the editor.
</p>

View File

@ -16,7 +16,7 @@ Triggers are what starts the processing of an automation rule. It is possible to
Triggers when an event is being processed. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.
Events can be fired by components or via the API. There is no limitation to the types. A list of built-in events can be found [here](/docs/configuration/events/).
Events can be fired by integrations or via the API. There is no limitation to the types. A list of built-in events can be found [here](/docs/configuration/events/).
```yaml
automation:
@ -130,9 +130,17 @@ automation:
### {% linkable_title Sun trigger %}
Triggers when the sun is setting or rising. An optional time offset can be given to have it trigger a set time before or after the sun event (i.e. 45 minutes before sunset, when dusk is setting in).
#### {% linkable_title Sunset / Sunrise trigger %}
Sunrise as a trigger may need special attention as explained in time triggers below. This is due to the date changing at midnight and sunrise is at an earlier time on the following day.
Triggers when the sun is setting or rising, i.e. when the sun elevation reaches 0°.
An optional time offset can be given to have it trigger a set time before or after the sun event (e.g. 45 minutes before sunset).
<p class='note'>
Since the duration of twilight is different throughout the year, it is recommended to use [sun elevation triggers][sun_elevation_trigger] instead of `sunset` or `sunrise` with a time offset to trigger automations during dusk or dawn.
</p>
[sun_elevation_trigger]: /docs/automation/trigger/#sun-elevation-trigger
```yaml
automation:
@ -140,11 +148,13 @@ automation:
platform: sun
# Possible values: sunset, sunrise
event: sunset
# Optional time offset. This example is 45 minutes.
# Optional time offset. This example will trigger 45 minutes before sunrise.
offset: '-00:45:00'
```
Sometimes you may want more granular control over an automation based on the elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. For most things, a general number like -4 degrees is suitable and is used in this example:
#### {% linkable_title Sun elevation trigger %}
Sometimes you may want more granular control over an automation than simply sunset or sunrise and specify an exact elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. For most things intended to trigger during dusk or dawn, a number between 0° and -6° is suitable; -4° is used in this example:
{% raw %}
```yaml
@ -162,11 +172,15 @@ automation:
```
{% endraw %}
If you want to get more precise, start with the US Naval Observatory [tool](http://aa.usno.navy.mil/data/docs/AltAz.php) that will help you estimate what the solar angle will be at any specific time. Then from this, you can select from the defined twilight numbers. Although the actual amount of light depends on weather, topography and land cover, they are defined as:
If you want to get more precise, start with the US Naval Observatory [tool](http://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers.
- Civil twilight: Solar angle > -6°
- Nautical twilight: Solar angle > -12°
- Astronomical twilight: Solar angle > -18°
Although the actual amount of light depends on weather, topography and land cover, they are defined as:
- Civil twilight: 0° > Solar angle > -6°
This is what is meant by twilight for the average person: Under clear weather conditions, civil twilight approximates the limit at which solar illumination suffices for the human eye to clearly distinguish terrestrial objects. Enough illumination renders artificial sources unnecessary for most outdoor activities.
- Nautical twilight: 6° > Solar angle > -12°
- Astronomical twilight: 12° > Solar angle > -18°
A very thorough explanation of this is available in the Wikipedia article about the [Twilight](https://en.wikipedia.org/wiki/Twilight).

View File

@ -19,7 +19,7 @@ INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rain is over
```
The Logbook component will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
The Logbook integration will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.
![Logbook example](/images/components/automation/logbook.png)

View File

@ -14,7 +14,7 @@ Home Assistant can run as a daemon within init.d with the script below.
### {% linkable_title 1. Copy script %}
Copy either the daemon script or the Python environment scrip at the end of this page to `/etc/init.d/hass-daemon` depending on your installation.
Copy either the daemon script or the Python environment script at the end of this page to `/etc/init.d/hass-daemon` depending on your installation.
After that, set the script to be executable:

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Updater"
description: "Details what the updater component is reporting about your Home Assistant instance."
description: "Details what the updater integration is reporting about your Home Assistant instance."
date: 2016-10-22 08:00
sidebar: true
comments: false
@ -12,7 +12,7 @@ redirect_from: /details/updater/
Starting with 0.31 the [updater component](/components/updater/) sends an optional report about Home Assistant instance.
If you want to opt-in to include component information, add `include_used_components` to your config. This will allow the Home Assistant developers to focus development efforts on the most popular components.
If you want to opt-in to include integration information, add `include_used_components` to your config. This will allow the Home Assistant developers to focus development efforts on the most popular components.
```yaml
updater:

View File

@ -25,7 +25,7 @@ The location of the folder differs between operating systems:
If you want to use a different folder for configuration, use the config command line parameter: `hass --config path/to/config`.
Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains components to be loaded with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable functionality.
Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains integrations to be loaded with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable functionality.
If you run into trouble while configuring Home Assistant, have a look at the [configuration troubleshooting page](/getting-started/troubleshooting-configuration/) and at the [configuration.yaml examples](/cookbook/#example-configurationyaml).

View File

@ -58,7 +58,7 @@ entity_picture:
required: false
type: string
icon:
description: Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/3.5.95/)). Prefix name with `mdi:`, ie `mdi:home`.
description: "Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/3.5.95/)). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)."
required: false
type: string
assumed_state:

View File

@ -10,12 +10,12 @@ footer: true
redirect_from: /topics/events/
---
The core of Home Assistant is the event bus. The event bus allows any component to fire or listen for events. It is the core of everything. For example, any state change will be announced on the event bus as a `state_changed` event containing the previous and the new state of an entity.
The core of Home Assistant is the event bus. The event bus allows any integration to fire or listen for events. It is the core of everything. For example, any state change will be announced on the event bus as a `state_changed` event containing the previous and the new state of an entity.
Home Assistant contains a few built-in events that are used to coordinate between various components.
### {% linkable_title Event `homeassistant_start` %}
Event `homeassistant_start` is fired when all components from the configuration have been initialized. This is the event that will start the timer firing off `time_changed` events.
Event `homeassistant_start` is fired when all integrations from the configuration have been initialized. This is the event that will start the timer firing off `time_changed` events.
<p class='note warning'>
Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' [platform](/docs/automation/trigger) instead.
@ -84,8 +84,8 @@ Field | Description
### {% linkable_title Event `component_loaded` %}
Event `component_loaded` is fired when a new component has been loaded and initialized.
Event `component_loaded` is fired when a new integration has been loaded and initialized.
Field | Description
----- | -----------
`component` | Domain of the component that has just been initialized. Example: `light`.
`component` | Domain of the integration that has just been initialized. Example: `light`.

View File

@ -10,7 +10,7 @@ footer: true
redirect_from: /topics/packages/
---
Packages in Home Assistant provide a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration).
Packages in Home Assistant provide a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the integration key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration).
<p class='note tip'>
Note that if you use packages for your configuration, the configuration reloading buttons in the configuration panel will not reload your packages.
@ -26,7 +26,7 @@ homeassistant:
...package configuration here...
```
The package configuration can include: `switch`, `light`, `automation`, `groups`, or most other Home Assistant components including hardware platforms.
The package configuration can include: `switch`, `light`, `automation`, `groups`, or most other Home Assistant integrations including hardware platforms.
It can be specified inline or in a separate YAML file using `!include`.
@ -67,7 +67,7 @@ light:
There are some rules for packages that will be merged:
1. Platform based components (`light`, `switch`, etc) can always be merged.
1. Platform based integrations (`light`, `switch`, etc) can always be merged.
2. Components where entities are identified by a key that will represent the entity_id (`{key: config}`) need to have unique 'keys' between packages and the main configuration file.
For example if we have the following in the main config. You are not allowed to re-use "my_input" again for `input_boolean` in a package:
@ -76,10 +76,10 @@ There are some rules for packages that will be merged:
input_boolean:
my_input:
```
3. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] can only be merged if its keys, except those for lists, are solely defined once.
3. Any integration that is not a platform [2], or dictionaries with Entity ID keys [3] can only be merged if its keys, except those for lists, are solely defined once.
<p class='note tip'>
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the integration name.
</p>
### {% linkable_title Create a packages folder %}

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Entity component platform options"
description: "Shows how to customize polling interval for any component via configuration.yaml."
title: "Entity integration platform options"
description: "Shows how to customize polling interval for any integration via configuration.yaml."
date: 2016-02-12 23:17 -0800
sidebar: true
comments: false
@ -12,7 +12,7 @@ redirect_from: /topics/platform_options/
<p class='note info'>These options are being phased out and are only available for single platform integrations.</p>
Some components or platforms (those that are based on the [entity](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity.py) class) allows various extra options to be set.
Some integrations or platforms (those that are based on the [entity](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/helpers/entity.py) class) allows various extra options to be set.
### {% linkable_title Entity namespace %}

View File

@ -19,7 +19,7 @@ Here's the summary of what you *must* do to secure your Home Assistant system:
- Configure [secrets](/docs/configuration/secrets/) (but do remember to back them up)
- Regularly keep the system up to date
If you only want to use components supported by [Home Assistant cloud](/cloud/) then you don't need to enable remote access. This is obviously the most secure option, but does mean that you're relying on a cloud service for that functionality.
If you only want to use integrations supported by [Home Assistant cloud](/cloud/) then you don't need to enable remote access. This is obviously the most secure option, but does mean that you're relying on a cloud service for that functionality.
- For remote access to the UI, use a [VPN](http://www.pivpn.io/), [Tor](/docs/ecosystem/tor/) or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/)
- For remote access for components, use a [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate
@ -45,7 +45,7 @@ If you only want remote access for access to the web UI then we advise that you
- [Tor](/docs/ecosystem/tor/), which also avoids the need for port forwarding
- An [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/) to connect to your frontend
### {% linkable_title Remote access for components %}
### {% linkable_title Remote access for integrations %}
For remote access for a component, for example, a device tracker, you have to enable access to the API by:

View File

@ -38,7 +38,7 @@ Note that each line after `homeassistant:` is indented two (2) spaces. Since the
`!include filename.yaml` is the statement that tells Home Assistant to insert the contents of `filename.yaml` at that point. This is how we are going to break a monolithic and hard to read file (when it gets big) into more manageable chunks.
Now before we start splitting out the different components, let's look at the other components (in our example) that will stay in the base file:
Now before we start splitting out the different components, let's look at the other integrations (in our example) that will stay in the base file:
```yaml
history:
@ -62,9 +62,9 @@ zwave:
mqtt:
broker: 127.0.0.1
```
As with the core snippet, indentation makes a difference. The component headers (`mqtt:`) should be fully left aligned (aka no indent), and the parameters (`broker:`) should be indented two (2) spaces.
As with the core snippet, indentation makes a difference. The integration headers (`mqtt:`) should be fully left aligned (aka no indent), and the parameters (`broker:`) should be indented two (2) spaces.
While some of these components can technically be moved to a separate file they are so small or "one off's" where splitting them off is superfluous. Also, you'll notice the # symbol (hash/pound). This represents a "comment" as far as the commands are interpreted. Put another way, any line prefixed with a `#` will be ignored. This makes breaking up files for human readability really convenient, not to mention turning off features while leaving the entry intact.
While some of these integrations can technically be moved to a separate file they are so small or "one off's" where splitting them off is superfluous. Also, you'll notice the # symbol (hash/pound). This represents a "comment" as far as the commands are interpreted. Put another way, any line prefixed with a `#` will be ignored. This makes breaking up files for human readability really convenient, not to mention turning off features while leaving the entry intact.
Now, lets assume that a blank file has been created in the Home Assistant configuration directory for each of the following:
@ -77,7 +77,7 @@ device_tracker.yaml
customize.yaml
```
`automation.yaml` will hold all the automation component details. `zones.yaml` will hold the zone component details and so forth. These files can be called anything but giving them names that match their function will make things easier to keep track of.
`automation.yaml` will hold all the automation integration details. `zones.yaml` will hold the zone integration details and so forth. These files can be called anything but giving them names that match their function will make things easier to keep track of.
Inside the base configuration file add the following entries:
@ -89,9 +89,9 @@ switch: !include switch.yaml
device_tracker: !include device_tracker.yaml
```
Note that there can only be one `!include:` for each component so chaining them isn't going to work. If that sounds like Greek, don't worry about it.
Note that there can only be one `!include:` for each integration so chaining them isn't going to work. If that sounds like Greek, don't worry about it.
Alright, so we've got the single components and the include statements in the base file, what goes in those extra files?
Alright, so we've got the single integrations and the include statements in the base file, what goes in those extra files?
Let's look at the `device_tracker.yaml` file from our example:

View File

@ -23,11 +23,11 @@ Field | Description
`state.domain` | Domain of the entity. Example: `light`.
`state.object_id` | Object ID of entity. Example: `kitchen`.
`state.name` | Name of the entity. Based on `friendly_name` attribute with fall back to object ID. Example: `Kitchen Ceiling`.
`state.last_updated` | Time the state was written to the state machine. Note that writing the exact same state including attributes will not result in this field being updated. Example: `2017-10-28 08:13:36.715874+00:00`.
`state.last_changed` | Time the state changed. This is not updated when there are only updated attributes. Example: `2017-10-28 08:13:36.715874+00:00`.
`state.last_updated` | Time the state was written to the state machine in UTC time. Note that writing the exact same state including attributes will not result in this field being updated. Example: `2017-10-28 08:13:36.715874+00:00`.
`state.last_changed` | Time the state changed in the state machine in UTC time. This is not updated when there are only updated attributes. Example: `2017-10-28 08:13:36.715874+00:00`.
`state.attributes` | A dictionary with extra attributes related to the current state.
The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have its own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state.
The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each integration will also have its own attributes to represent extra state data about the entity. For example, the light integration has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state.
When using templates, attributes will be available by their name. For example `state.attributes.assumed_state`.

View File

@ -232,9 +232,9 @@ Some of these functions can also be used in a [filter](http://jinja.pocoo.org/do
## {% linkable_title Processing incoming data %}
The other part of templating is processing incoming data. It allows you to modify incoming data and extract only the data you care about. This will only work for platforms and components that mention support for this in their documentation.
The other part of templating is processing incoming data. It allows you to modify incoming data and extract only the data you care about. This will only work for platforms and integrations that mention support for this in their documentation.
It depends per component or platform, but it is common to be able to define a template using the `value_template` configuration key. When a new value arrives, your template will be rendered while having access to the following values on top of the usual Home Assistant extensions:
It depends per integration or platform, but it is common to be able to define a template using the `value_template` configuration key. When a new value arrives, your template will be rendered while having access to the following values on top of the usual Home Assistant extensions:
| Variable | Description |
|--------------|------------------------------------|

View File

@ -10,15 +10,15 @@ footer: true
redirect_from: /getting-started/troubleshooting-configuration/
---
It can happen that you run into trouble while configuring Home Assistant. Perhaps a component is not showing up or is acting strangely. This page will discuss a few of the most common problems.
It can happen that you run into trouble while configuring Home Assistant. Perhaps a integration is not showing up or is acting strangely. This page will discuss a few of the most common problems.
Before we dive into common issues, make sure you know where your configuration directory is. Home Assistant will print out the configuration directory it is using when starting up.
Whenever a component or configuration option results in a warning, it will be stored in `home-assistant.log` in the configuration directory. This file is reset on start of Home Assistant.
Whenever a integration or configuration option results in a warning, it will be stored in `home-assistant.log` in the configuration directory. This file is reset on start of Home Assistant.
### {% linkable_title My component does not show up %}
### {% linkable_title My integration does not show up %}
When a component does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your component you are trying to set up.
When a integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.
If you have incorrect entries in your configuration files you can use the [`check_config`](/docs/tools/check_config/) script to assist in identifying them: `hass --script check_config`. If you need to provide the path for your configuration you can do this using the `-c` argument like this: `hass --script check_config -c /path/to/your/config/dir`.
@ -40,21 +40,21 @@ sensor:
...
```
Another common problem is that a required configuration setting is missing. If this is the case, the component will report this to `home-assistant.log`. You can have a look at [the various component pages](/components/) for instructions on how to setup the components.
Another common problem is that a required configuration setting is missing. If this is the case, the integration will report this to `home-assistant.log`. You can have a look at [the various integration pages](/components/) for instructions on how to setup the components.
See the [logger](/components/logger/) component for instructions on how to define the level of logging you require for specific modules.
See the [logger](/components/logger/) integration for instructions on how to define the level of logging you require for specific modules.
If you find any errors or want to expand the documentation, please [let us know](https://github.com/home-assistant/home-assistant.io/issues).
#### {% linkable_title Problems with dependencies %}
Almost all components have external dependencies to communicate with your devices and services. Sometimes Home Assistant is unable to install the necessary dependencies. If this is the case, it should show up in `home-assistant.log`.
Almost all integrations have external dependencies to communicate with your devices and services. Sometimes Home Assistant is unable to install the necessary dependencies. If this is the case, it should show up in `home-assistant.log`.
The first step is trying to restart Home Assistant and see if the problem persists. If it does, look at the log to see what the error is. If you can't figure it out, please [report it](https://github.com/home-assistant/home-assistant/issues) so we can investigate what is going on.
#### {% linkable_title Problems with components %}
#### {% linkable_title Problems with integrations %}
It can happen that some components either do not work right away or stop working after Home Assistant has been running for a while. If this happens to you, please [report it](https://github.com/home-assistant/home-assistant/issues) so that we can have a look.
It can happen that some integrations either do not work right away or stop working after Home Assistant has been running for a while. If this happens to you, please [report it](https://github.com/home-assistant/home-assistant/issues) so that we can have a look.
#### {% linkable_title Multiple files %}

View File

@ -12,7 +12,7 @@ redirect_from: /getting-started/yaml/
Home Assistant uses the [YAML](http://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.
For each component that you want to use in Home Assistant, you add code in your `configuration.yaml` file to specify its settings.
For each integration that you want to use in Home Assistant, you add code in your `configuration.yaml` file to specify its settings.
The following example entry specifies that you want to use the [notify component](/components/notify) with the [pushbullet platform](/components/notify.pushbullet).
@ -40,7 +40,7 @@ Please pay attention on not storing private data (passwords, API keys, etc.) dir
Text following a `#` are comments and are ignored by the system.
The next example shows an [input_select](/components/input_select) component that uses a block collection for the options values.
The next example shows an [input_select](/components/input_select) integration that uses a block collection for the options values.
The other properties (like name) are specified using mappings. Note that the second line just has `threat:` with no value on the same line. Here threat is the name of the input_select and the values for it are everything nested below it.
```yaml

View File

@ -282,7 +282,7 @@ In most cases, the attribute `state` has the most important value in it, e.g., f
get_state(entity = None, attribute = None)
```
`get_state()` is used to query the state of any component within Home Assistant. State updates are continuously tracked so this call runs locally and does not require AppDaemon to call back to Home Assistant and as such is very efficient.
`get_state()` is used to query the state of any integration within Home Assistant. State updates are continuously tracked so this call runs locally and does not require AppDaemon to call back to Home Assistant and as such is very efficient.
#### {% linkable_title Returns %}
@ -788,7 +788,7 @@ Function to be invoked when the requested state change occurs. It must conform t
##### {% linkable_title time %}
A Python `time` object that specifies when the callback will occur, the hour component of the time object is ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start an hour from the time that `run_hourly()` was executed.
A Python `time` object that specifies when the callback will occur, the hour integration of the time object is ignored. If the time specified is in the past, the callback will occur the next hour at the specified time. If time is not supplied, the callback will start an hour from the time that `run_hourly()` was executed.
##### {% linkable_title \*\*kwargs %}
@ -1348,7 +1348,7 @@ self.notify("", "Switching mode to Evening")
### {% linkable_title About Events %}
Events are a fundamental part of how Home Assistant works under the covers. HA has an event bus that all components can read and write to, enabling components to inform other components when important events take place. We have already seen how state changes can be propagated to AppDaemon - a state change however is merely an example of an event within Home Assistant. There are several other event types, among them are:
Events are a fundamental part of how Home Assistant works under the covers. HA has an event bus that all integrations can read and write to, enabling integrations to inform other integrations when important events take place. We have already seen how state changes can be propagated to AppDaemon - a state change however is merely an example of an event within Home Assistant. There are several other event types, among them are:
- `homeassistant_start`
- `homeassistant_stop`
@ -1490,7 +1490,7 @@ service, kwargs = self.info_listen_event(handle)
### {% linkable_title fire_event() %}
Fire an event on the Home Assistant bus, for other components to hear.
Fire an event on the Home Assistant bus, for other integrations to hear.
#### {% linkable_title Synopsis %}
@ -1536,7 +1536,7 @@ A dictionary containing any additional information associated with the event.
### {% linkable_title Use of Events for Signaling between Home Assistant and AppDaemon %}
Home Assistant allows for the creation of custom events and existing components can send and receive them. This provides a useful mechanism for signaling back and forth between Home Assistant and AppDaemon. For instance, if you would like to create a UI Element to fire off some code in Home Assistant, all that is necessary is to create a script to fire a custom event, then subscribe to that event in AppDaemon. The script would look something like this:
Home Assistant allows for the creation of custom events and existing integrations can send and receive them. This provides a useful mechanism for signaling back and forth between Home Assistant and AppDaemon. For instance, if you would like to create a UI Element to fire off some code in Home Assistant, all that is necessary is to create a script to fire a custom event, then subscribe to that event in AppDaemon. The script would look something like this:
```yaml
alias: Day

View File

@ -10,4 +10,4 @@ footer: true
redirect_from: /ecosystem/appdaemon/tutorial/
---
Since `AppDaemon` under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation component is usually sub-second.
Since `AppDaemon` under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation integration is usually sub-second.

View File

@ -341,7 +341,7 @@ http:
base_url: examplehome.duckdns.org
```
You may wish to set up other options for the [http](/components/http/) component at this point, these extra options are beyond the scope of this guide.
You may wish to set up other options for the [http](/components/http/) integration at this point, these extra options are beyond the scope of this guide.
Save the changes to configuration.yaml. Restart Home Assistant.
@ -429,7 +429,7 @@ sensor:
Save the configuration.yaml. Restart Home Assistant.
On your default_view you should now see a sensor badge containing your number of days until expiry. If you've been following this guide from the start and have not taken any breaks in between, this should be 89 or 90. The sensor will update every 3 hours. You can place this reading on a card using groups, or hide it using customize. These topics are outside of the scope of this guide, but information can be found on their respective components pages: [Group](/components/group/) and [Customize](/docs/configuration/customizing-devices/)
On your default_view you should now see a sensor badge containing your number of days until expiry. If you've been following this guide from the start and have not taken any breaks in between, this should be 89 or 90. The sensor will update every 3 hours. You can place this reading on a card using groups, or hide it using customize. These topics are outside of the scope of this guide, but information can be found on their respective integrations pages: [Group](/components/group/) and [Customize](/docs/configuration/customizing-devices/)
Got your sensor up and running and where you want it? Top drawer! Nearly there, now move on to the final steps to ensure that you're never without a secure connection in the future.

View File

@ -27,9 +27,9 @@ The app is available on the iOS App Store in every country that Apple supports.
* Home Assistant 0.42.4 or higher for push notification support.
* SSL is strongly recommended. Self-signed SSL certificates will not work due to Apple's limitations.
The `ios` component is the companion component for the Home Assistant iOS app. While not required, adding the `ios` component to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app.
The `ios` integration is the companion integration for the Home Assistant iOS app. While not required, adding the `ios` integration to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app.
Loading the `ios` component will also load the [`device_tracker`](/components/device_tracker), [`zeroconf`](/components/zeroconf) and [`notify`](/components/notify) platforms.
Loading the `ios` integration will also load the [`device_tracker`](/components/device_tracker), [`zeroconf`](/components/zeroconf) and [`notify`](/components/notify) platforms.
The Home Assistant for iOS app supports the new authentication system introduced in Home Assistant 0.77.
@ -37,18 +37,18 @@ The Home Assistant for iOS app supports the new authentication system introduced
### {% linkable_title Automated Setup %}
The `ios` component will automatically be loaded under the following circumstances:
The `ios` integration will automatically be loaded under the following circumstances:
1. The [`discovery`](/components/discovery) component is enabled.
1. The [`discovery`](/components/discovery) integration is enabled.
2. You have just installed the app and are at the getting started screen.
Automated discovery and component loading only happens at first install of the app. You may need to wait a few minutes for the iOS component to load as the `discovery` component only scans the network every 5 minutes.
Automated discovery and integration loading only happens at first install of the app. You may need to wait a few minutes for the iOS integration to load as the `discovery` integration only scans the network every 5 minutes.
After the first automated setup you need to add `ios:` to your configuration so that the component loads by default even after restarting Home Assistant.
After the first automated setup you need to add `ios:` to your configuration so that the integration loads by default even after restarting Home Assistant.
### {% linkable_title Manual Setup %}
You may also manually load the `ios` component by adding the following to your configuration:
You may also manually load the `ios` integration by adding the following to your configuration:
```yaml
# Example configuration.yaml entry

View File

@ -12,8 +12,8 @@ redirect_from: /ecosystem/ios/notifications/
The `ios` notify platform enables sending push notifications to the Home Assistant iOS app.
The 'ios' component will automatically load the notify service.
The service component can be called using `service: notify.ios_<your_device_ID>`.
The 'ios' integration will automatically load the notify service.
The service integration can be called using `service: notify.ios_<your_device_ID>`.
Your device ID can be found in the `ios.conf` file in your configuration folder. The file is compressed JSON. You can view it easier by copying the file contents and pasting them into [JSONLint](http://jsonlint.com).
In this example, the device ID is `robbiet480_7plus`, so the notify service to use is `notify.ios_robbiet480_7plus`:

View File

@ -145,7 +145,7 @@ server {
proxy_buffering off;
location / {
proxy_pass http://localhost:8123;
proxy_pass http://127.0.0.1:8123;
proxy_set_header Host $host;
proxy_redirect http:// https://;
proxy_http_version 1.1;

View File

@ -45,7 +45,7 @@ NUC i7/i9 | Pure power, you should not have *any* performance issues
## {% linkable_title Recommended %}
These install options are fully supported by Home Assistant's documentation. For example, if a component requires that you install something to make it work on one of these methods then the component page will document the steps required.
These install options are fully supported by Home Assistant's documentation. For example, if a integration requires that you install something to make it work on one of these methods then the integration page will document the steps required.
**Method**|**You have**|**Recommended for**
:-----|:-----|:-----
@ -55,16 +55,16 @@ These install options are fully supported by Home Assistant's documentation. For
## {% linkable_title Alternative installs %}
If you use these install methods, we assume that you know how to manage and administer the operating system you're using. Due to the range of platforms on which these install methods can be used, component documentation may only tell you what you have to install, not how to install it.
If you use these install methods, we assume that you know how to manage and administer the operating system you're using. Due to the range of platforms on which these install methods can be used, integration documentation may only tell you what you have to install, not how to install it.
**Method**|**You have**|**Recommended for**
:-----|:-----|:-----
[venv<BR>(as another user)](/docs/installation/raspberry-pi/)|Any Linux, Python 3.5.3 or later|Those familiar with their operating system
[venv<BR>(as your user)](/docs/installation/virtualenv/)|Any Python 3.5.3 or later|Developers
[venv<BR>(as another user)](/docs/installation/raspberry-pi/)|Any Linux, Python 3.6 or later|Those familiar with their operating system
[venv<BR>(as your user)](/docs/installation/virtualenv/)|Any Python 3.6 or later|Developers
## {% linkable_title Community provided guides %}
These guides are provided as-is. Some of these install methods are more limited than the methods above. Some components may not work due to limitations of the platform or because required Python packages aren't available for that platform.
These guides are provided as-is. Some of these install methods are more limited than the methods above. Some integrations may not work due to limitations of the platform or because required Python packages aren't available for that platform.
<div class="text-center hass-option-cards" markdown="0">
<a class='option-card' href='/docs/installation/armbian/'>

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