diff --git a/.github/stale.yml b/.github/stale.yml index e5b0f5e954c..304bb82e08f 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -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 diff --git a/_config.yml b/_config.yml index d5aa5c751ed..d6bb61393f3 100644 --- a/_config.yml +++ b/_config.yml @@ -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. diff --git a/source/.well-known/apple-developer-domain-association.txt b/source/.well-known/apple-developer-domain-association.txt new file mode 100644 index 00000000000..e7cfdc66f21 --- /dev/null +++ b/source/.well-known/apple-developer-domain-association.txt @@ -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 diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown index d8d1255bfe1..90ae974b03c 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -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: diff --git a/source/_components/ads.markdown b/source/_components/ads.markdown index 2c285b2ebbc..96adb3de43d 100644 --- a/source/_components/ads.markdown +++ b/source/_components/ads.markdown @@ -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 %} diff --git a/source/_components/alarm_control_panel.markdown b/source/_components/alarm_control_panel.markdown index 8ae3f922130..3c39b71b480 100644 --- a/source/_components/alarm_control_panel.markdown +++ b/source/_components/alarm_control_panel.markdown @@ -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. diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index 30c42c90a5e..e1d74c78cc0 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -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 diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown index b341b1b8168..24ba1f4e0fb 100644 --- a/source/_components/apcupsd.markdown +++ b/source/_components/apcupsd.markdown @@ -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 ``` diff --git a/source/_components/automation.markdown b/source/_components/automation.markdown index 19adad1599b..04f3da4413b 100644 --- a/source/_components/automation.markdown +++ b/source/_components/automation.markdown @@ -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 ... diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index f144ff47952..c0351d17788 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -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: diff --git a/source/_components/binary_sensor.markdown b/source/_components/binary_sensor.markdown index 41193b16c9a..2d83527eed8 100644 --- a/source/_components/binary_sensor.markdown +++ b/source/_components/binary_sensor.markdown @@ -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 %} diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index 7cccd22aa10..3aec89fc491 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -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: diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown index 46ece211e90..b35c6ba008a 100644 --- a/source/_components/binary_sensor.rest.markdown +++ b/source/_components/binary_sensor.rest.markdown @@ -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: diff --git a/source/_components/binary_sensor.rflink.markdown b/source/_components/binary_sensor.rflink.markdown index bfc0979f0a8..11426bff5e6 100644 --- a/source/_components/binary_sensor.rflink.markdown +++ b/source/_components/binary_sensor.rflink.markdown @@ -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: diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index 571af036e8d..1049752bb7c 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -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: diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index 71cb01894b7..521757fbb1e 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -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 diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown index bde3c074194..a8a4b967042 100644 --- a/source/_components/camera.markdown +++ b/source/_components/camera.markdown @@ -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. + +
+
+ Example showing the Preload Stream option in the camera dialog.
+
-
- Example showing the Preload Stream option in the camera dialog.
-
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: `''`.
+ {% 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: diff --git a/source/_components/configurator.markdown b/source/_components/configurator.markdown index bb862023a4c..1778daa4ee7 100644 --- a/source/_components/configurator.markdown +++ b/source/_components/configurator.markdown @@ -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. diff --git a/source/_components/cover.markdown b/source/_components/cover.markdown index edd086e9cc0..99c934289e7 100644 --- a/source/_components/cover.markdown +++ b/source/_components/cover.markdown @@ -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 ``` diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index 6542d85615f..72b3dca8660 100644 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -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: diff --git a/source/_components/cover.template.markdown b/source/_components/cover.template.markdown index e4813769784..5f1188e5493 100644 --- a/source/_components/cover.template.markdown +++ b/source/_components/cover.template.markdown @@ -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: diff --git a/source/_components/denonavr.markdown b/source/_components/denonavr.markdown index b910bfa5066..ad60ff2f242 100644 --- a/source/_components/denonavr.markdown +++ b/source/_components/denonavr.markdown @@ -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/ diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown index d4f699982b4..dc671bfc810 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -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` %} ++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. +
+ 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 `-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.
### {% linkable_title Configuration %} diff --git a/source/_components/enocean.markdown b/source/_components/enocean.markdown index 5cbce8bce6b..ada39a33b6e 100644 --- a/source/_components/enocean.markdown +++ b/source/_components/enocean.markdown @@ -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 diff --git a/source/_components/fan.markdown b/source/_components/fan.markdown index 4b306d1ef68..37631338b93 100644 --- a/source/_components/fan.markdown +++ b/source/_components/fan.markdown @@ -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. diff --git a/source/_components/geofency.markdown b/source/_components/geofency.markdown index 86d38f99d84..70abf05f026 100644 --- a/source/_components/geofency.markdown +++ b/source/_components/geofency.markdown @@ -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_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 diff --git a/source/_components/gpslogger.markdown b/source/_components/gpslogger.markdown index 8f4e5549ac0..3174e7b7892 100644 --- a/source/_components/gpslogger.markdown +++ b/source/_components/gpslogger.markdown @@ -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
-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. diff --git a/source/_components/group.markdown b/source/_components/group.markdown index 095b9522dae..830f5de89d5 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -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**
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**
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.
diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown
index 98d16c3ac84..d8bb9127752 100644
--- a/source/_components/homematic.markdown
+++ b/source/_components/homematic.markdown
@@ -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
diff --git a/source/_components/homematicip_cloud.markdown b/source/_components/homematicip_cloud.markdown
index 46b59f29eca..94aa7655f32 100644
--- a/source/_components/homematicip_cloud.markdown
+++ b/source/_components/homematicip_cloud.markdown
@@ -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*)
diff --git a/source/_components/http.markdown b/source/_components/http.markdown
index de1a455dde8..3235e4667eb 100644
--- a/source/_components/http.markdown
+++ b/source/_components/http.markdown
@@ -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
```
diff --git a/source/_components/hyperion.markdown b/source/_components/hyperion.markdown
index 3d9397635b6..a5142049d84 100644
--- a/source/_components/hyperion.markdown
+++ b/source/_components/hyperion.markdown
@@ -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
+```
diff --git a/source/_components/integration.markdown b/source/_components/integration.markdown
index 990e7b1467e..892421583fa 100644
--- a/source/_components/integration.markdown
+++ b/source/_components/integration.markdown
@@ -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 %}
diff --git a/source/_components/light.markdown b/source/_components/light.markdown
index 45c0bd022b9..cc0563c73c6 100644
--- a/source/_components/light.markdown
+++ b/source/_components/light.markdown
@@ -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.
-
-
-The light component supports multiple entries in configuration.yaml
by appending a sequential number to the section: light 2:
, light 3:
etc.
-
-Locative is no longer under active development. Read more here +Locative is no longer under active development.
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.
+The free tier is [limited](https://docs.pushbullet.com/#push-limit) to 500 pushes per month. +
+ ### {% 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:Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them. -
\ No newline at end of file + diff --git a/source/_components/rainbird.markdown b/source/_components/rainbird.markdown index 5da5d99c906..82211c4c199 100644 --- a/source/_components/rainbird.markdown +++ b/source/_components/rainbird.markdown @@ -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 %} diff --git a/source/_components/raspihats.markdown b/source/_components/raspihats.markdown index fc266f4975c..bf229a3eb14 100644 --- a/source/_components/raspihats.markdown +++ b/source/_components/raspihats.markdown @@ -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 diff --git a/source/_components/remote_rpi_gpio.markdown b/source/_components/remote_rpi_gpio.markdown index 50f75828065..8ae40a89946 100644 --- a/source/_components/remote_rpi_gpio.markdown +++ b/source/_components/remote_rpi_gpio.markdown @@ -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: + host: IP_ADDRESS_OF_REMOTE_PI ports: 11: PIR Office 12: PIR Bedroom - -switch: - - platform: remote_rpi_gpio - address: - 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. -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 ``` diff --git a/source/_components/rest.markdown b/source/_components/rest.markdown index 835a7b98218..5536b035395 100644 --- a/source/_components/rest.markdown +++ b/source/_components/rest.markdown @@ -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: diff --git a/source/_components/sensor.markdown b/source/_components/sensor.markdown index 3e021d1d06a..e7b677297c3 100644 --- a/source/_components/sensor.markdown +++ b/source/_components/sensor.markdown @@ -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 %} diff --git a/source/_components/sonos.markdown b/source/_components/sonos.markdown index d7b259d8123..096ac6d69a0 100644 --- a/source/_components/sonos.markdown +++ b/source/_components/sonos.markdown @@ -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` %} diff --git a/source/_components/ssdp.markdown b/source/_components/ssdp.markdown new file mode 100644 index 00000000000..2a126bf4cca --- /dev/null +++ b/source/_components/ssdp.markdown @@ -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 diff --git a/source/_components/switch.markdown b/source/_components/switch.markdown index 097a394df9b..acf851afdf6 100644 --- a/source/_components/switch.markdown +++ b/source/_components/switch.markdown @@ -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 --- diff --git a/source/_components/trend.markdown b/source/_components/trend.markdown index 78c22c87c7b..1d9637e8319 100644 --- a/source/_components/trend.markdown +++ b/source/_components/trend.markdown @@ -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: diff --git a/source/_components/utility_meter.markdown b/source/_components/utility_meter.markdown index a186c0ad8e1..509c03984dc 100644 --- a/source/_components/utility_meter.markdown +++ b/source/_components/utility_meter.markdown @@ -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 %} diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 1d956cfcdd4..750b8d12e1b 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -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 diff --git a/source/_components/w800rf32.markdown b/source/_components/w800rf32.markdown index f2b7cece328..0012c015039 100644 --- a/source/_components/w800rf32.markdown +++ b/source/_components/w800rf32.markdown @@ -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: diff --git a/source/_components/watson_tts.markdown b/source/_components/watson_tts.markdown index 8418d70a9dd..dc058f963dc 100644 --- a/source/_components/watson_tts.markdown +++ b/source/_components/watson_tts.markdown @@ -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 %} diff --git a/source/_components/zeroconf.markdown b/source/_components/zeroconf.markdown index 7d5783c893a..ff5af82c1a4 100644 --- a/source/_components/zeroconf.markdown +++ b/source/_components/zeroconf.markdown @@ -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'] -``` diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 385855994e7..69f4fbbf2e5 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -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 +``` diff --git a/source/_cookbook/custom_panel_using_react.markdown b/source/_cookbook/custom_panel_using_react.markdown index e526487b0c5..7a1d132618a 100644 --- a/source/_cookbook/custom_panel_using_react.markdown +++ b/source/_cookbook/custom_panel_using_react.markdown @@ -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 `-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.
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index d8fecee5286..0b5bcab21ee 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -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). + ++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. +
+ +[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). diff --git a/source/_docs/automation/troubleshooting.markdown b/source/_docs/automation/troubleshooting.markdown index 86cf9c9e479..e6780407d05 100644 --- a/source/_docs/automation/troubleshooting.markdown +++ b/source/_docs/automation/troubleshooting.markdown @@ -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.  diff --git a/source/_docs/autostart/init.d.markdown b/source/_docs/autostart/init.d.markdown index db3ff12fee1..9363ed07be6 100644 --- a/source/_docs/autostart/init.d.markdown +++ b/source/_docs/autostart/init.d.markdown @@ -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: diff --git a/source/_docs/backend/updater.markdown b/source/_docs/backend/updater.markdown index 8551fff955e..e7a5ea9ad7d 100644 --- a/source/_docs/backend/updater.markdown +++ b/source/_docs/backend/updater.markdown @@ -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: diff --git a/source/_docs/configuration.markdown b/source/_docs/configuration.markdown index 2955704fbcf..ff8f705d276 100644 --- a/source/_docs/configuration.markdown +++ b/source/_docs/configuration.markdown @@ -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). diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 22215e1dda4..6d88f07afcb 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -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: diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown index 187e757e0f1..714842fa24a 100644 --- a/source/_docs/configuration/events.markdown +++ b/source/_docs/configuration/events.markdown @@ -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.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`. diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 91285f8c301..f8cdb5dc628 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -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).
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.
-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.
### {% linkable_title Create a packages folder %} diff --git a/source/_docs/configuration/platform_options.markdown b/source/_docs/configuration/platform_options.markdown index 86ad9d7a7cd..b0240f5507e 100644 --- a/source/_docs/configuration/platform_options.markdown +++ b/source/_docs/configuration/platform_options.markdown @@ -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/These options are being phased out and are only available for single platform integrations.
-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 %} diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown index 8a7ce30eb1f..4c2078e029f 100644 --- a/source/_docs/configuration/securing.markdown +++ b/source/_docs/configuration/securing.markdown @@ -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: diff --git a/source/_docs/configuration/splitting_configuration.markdown b/source/_docs/configuration/splitting_configuration.markdown index a789dec549c..40e33efb01e 100644 --- a/source/_docs/configuration/splitting_configuration.markdown +++ b/source/_docs/configuration/splitting_configuration.markdown @@ -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: diff --git a/source/_docs/configuration/state_object.markdown b/source/_docs/configuration/state_object.markdown index fdb99ea0756..61fdcf126c4 100644 --- a/source/_docs/configuration/state_object.markdown +++ b/source/_docs/configuration/state_object.markdown @@ -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`. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 4771a94aa88..c7922331d79 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -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 | |--------------|------------------------------------| diff --git a/source/_docs/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown index 03efee288be..e461420f8d7 100644 --- a/source/_docs/configuration/troubleshooting.markdown +++ b/source/_docs/configuration/troubleshooting.markdown @@ -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 %} diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index c73d6522142..e31e617f8b5 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -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 diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown index 6346fd933d4..5f031b7f464 100755 --- a/source/_docs/ecosystem/appdaemon/api.markdown +++ b/source/_docs/ecosystem/appdaemon/api.markdown @@ -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 diff --git a/source/_docs/ecosystem/appdaemon/operation.markdown b/source/_docs/ecosystem/appdaemon/operation.markdown index 536f474aee0..4ef343f3533 100644 --- a/source/_docs/ecosystem/appdaemon/operation.markdown +++ b/source/_docs/ecosystem/appdaemon/operation.markdown @@ -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. diff --git a/source/_docs/ecosystem/certificates/lets_encrypt.markdown b/source/_docs/ecosystem/certificates/lets_encrypt.markdown index 024044abddc..72506055769 100644 --- a/source/_docs/ecosystem/certificates/lets_encrypt.markdown +++ b/source/_docs/ecosystem/certificates/lets_encrypt.markdown @@ -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. diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 57c9ad0c579..f5f614ed8ba 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -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 diff --git a/source/_docs/ecosystem/ios/notifications.markdown b/source/_docs/ecosystem/ios/notifications.markdown index c1eee576e3a..9d382585761 100644 --- a/source/_docs/ecosystem/ios/notifications.markdown +++ b/source/_docs/ecosystem/ios/notifications.markdown @@ -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_
Although these installation steps specifically mention a Raspberry Pi, you can go ahead and proceed on any Linux install as well. This guide is also referred to as the "Advanced Guide" for a virtual environment install.
diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown
index 3b4c5914c42..d8459e9de32 100644
--- a/source/_docs/installation/virtualenv.markdown
+++ b/source/_docs/installation/virtualenv.markdown
@@ -10,9 +10,9 @@ footer: true
redirect_from: /getting-started/installation-virtualenv/
---
-If you already have Python 3.5.3 or later installed, you can easily give Home Assistant a spin.
+If you already have Python 3.6 or later installed (we suggest 3.7 or later), you can easily give Home Assistant a spin.
-It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems.
+It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.6/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems.
_(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`. You may also need to install development libraries using `apt-get install build-essential libssl-dev libffi-dev python3-dev`.)_
@@ -109,7 +109,7 @@ Looking for more advanced guides? Check our [Raspbian guide](/docs/installation/
### {% linkable_title After upgrading Python %}
-If you've upgraded Python (for example, you were running 3.5.2 and now you've installed 3.5.4) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory:
+If you've upgraded Python (for example, you were running 3.7.1 and now you've installed 3.7.3) then you'll need to build a new virtual environment. Simply rename your existing virtual environment directory:
```bash
$ mv homeassistant homeassistant.old
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index 1160ed99887..349b041e4e2 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -10,7 +10,7 @@ footer: true
logo: mqtt.png
---
-The MQTT component needs you to run an MQTT broker for Home Assistant to connect to. There are four options, each with various degrees of ease of setup and privacy.
+The MQTT integration needs you to run an MQTT broker for Home Assistant to connect to. There are four options, each with various degrees of ease of setup and privacy.
### {% linkable_title Run your own %}
diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown
index 99e0e88435c..ed2df43c76b 100644
--- a/source/_docs/mqtt/discovery.markdown
+++ b/source/_docs/mqtt/discovery.markdown
@@ -64,7 +64,7 @@ The discovery topic need to follow a specific format:
The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
-If the component is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to
+The sunset/sunrise conditions do not work in locations inside the polar circles, and also not in locations with highly skewed local time zone.
+
+It is advised to use conditions evaluating the solar elevation instead of the before/after sunset/sunrise conditions.
+
Use the
+ ***This article is very outdated*** guide. If you follow it you will be installing a very outdated version of Hassbian, on a hardware platform only suitable for testing. ***We strongly recommend you do not follow this article***.
+
+
-Support for these components is provided by the Home Assistant community.
+Support for these integrations is provided by the Home Assistant community.
+ The `modemmanager` package will interfere with any Z-Wave or Zigbee stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
+ service developer tool in the frontend to discover available services.
diff --git a/source/_docs/security.markdown b/source/_docs/security.markdown
index 9f3c199703a..db321bb51fb 100644
--- a/source/_docs/security.markdown
+++ b/source/_docs/security.markdown
@@ -21,7 +21,7 @@ Further [details about the fingerprint/server banner](/docs/security/webserver/)
## {% linkable_title Porosity %}
-The default port of Home Assistant is 8123. This is the port where the [`frontend`](/components/frontend/) and the [`API`](/components/api/) is served. Both are depending on the [`http`](/components/http/) component which contains the capability to adjust the settings like `server_host` or `server_port`.
+The default port of Home Assistant is 8123. This is the port where the [`frontend`](/components/frontend/) and the [`API`](/components/api/) is served. Both are depending on the [`http`](/components/http/) integration which contains the capability to adjust the settings like `server_host` or `server_port`.
See the [open ports](/docs/security/porosity/) of a Hass.io instance with various add-ons.
diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown
index a8fd1310717..a5220b4a64a 100644
--- a/source/_docs/tools/dev-tools.markdown
+++ b/source/_docs/tools/dev-tools.markdown
@@ -18,7 +18,7 @@ Screenshot of Home Assistant's Developer Tools.
| Section | Icon | Description |
| ------- |------| ----- |
-| Services |
| Calls services from components |
+| Services |
| Calls services from integrations |
| States |
| Sets the representation of an entity |
| Events |
| Fires events |
| Templates |
| Renders templates |
@@ -31,7 +31,7 @@ The Developer Tools is meant for **all** (not just for the developers) to quickl
This section is used to call Services that are available in the ServiceRegistry.
-The list of services in the “Service” drop down are automatically populated based on the components that are found in the configuration, automation and script files. If a desired service does not exist, it means either the component is not configured properly or not defined in the configuration, automation or script files.
+The list of services in the “Service” drop down are automatically populated based on the integrations that are found in the configuration, automation and script files. If a desired service does not exist, it means either the integration is not configured properly or not defined in the configuration, automation or script files.
When a Service is selected, and if that service requires an `entity_id` to be passed, the “Entity” drop down will automatically be populated with corresponding entities.
@@ -94,7 +94,7 @@ For more information about jinja2, visit [jinja2 documentation](http://jinja.poc
{% linkable_title mqtt %}
-This section is only visible if the MQTT component is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/components/mqtt/) component.
+This section is only visible if the MQTT integration is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/components/mqtt/) component.
Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button.
diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown
index aacb9b3da27..94f6edb9c40 100644
--- a/source/_docs/z-wave/device-specific.markdown
+++ b/source/_docs/z-wave/device-specific.markdown
@@ -167,7 +167,7 @@ Some models of the Zooz Toggle switches ship with an instruction manual with inc
## {% linkable_title Central Scene configuration %}
-To provide Central Scene support you need to shut Home Assistant down and modify your `zwcfg_*.xml` file according to the following guides.
+To provide Central Scene support you need to **shutdown Home Assistant** and modify your `zwcfg_*.xml` file according to the following guides.
### {% linkable_title Inovelli Scene Capable On/Off and Dimmer Wall Switches %}
@@ -386,7 +386,7 @@ Button four release|4|1
Use the same configuration as for the Aeotec Wallmote.
-### {% linkable_title HANK One-key Scene Controller HKZN-SCN01 %}
+### {% linkable_title HANK One-key Scene Controller HKZN-SCN01/HKZW-SCN01 %}
For the HANK One-key Scene Controller, you may need to update the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following:
diff --git a/source/_docs/z-wave/devices.markdown b/source/_docs/z-wave/devices.markdown
index e20afed3536..1c77a12e6f5 100644
--- a/source/_docs/z-wave/devices.markdown
+++ b/source/_docs/z-wave/devices.markdown
@@ -22,7 +22,7 @@ Many sensors and actors can directly control other devices through a capability
The *node* is the presence of the device on the Z-Wave mesh. Once you've added a device to Home Assistant, the node is represented by an `entity_id` that starts with `zwave`.
-The *entity* is an individual component of the node. It may be a sensor that you read from, or a control that you operate. For any node, there will be at least one entity (for the node itself) and if it exposes any controls or sensors there will be at least one entity per control or sensor. The [entities](/docs/z-wave/entities) that are created depend on the Command Class the device supports.
+The *entity* is an individual integration of the node. It may be a sensor that you read from, or a control that you operate. For any node, there will be at least one entity (for the node itself) and if it exposes any controls or sensors there will be at least one entity per control or sensor. The [entities](/docs/z-wave/entities) that are created depend on the Command Class the device supports.
## {% linkable_title Z-Wave, Plus, Security 2 %}
diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown
index 7db0e78eb96..4c9e0812e8c 100644
--- a/source/_docs/z-wave/installation.markdown
+++ b/source/_docs/z-wave/installation.markdown
@@ -48,7 +48,7 @@ debug:
type: boolean
default: false
autoheal:
- description: Allows enabling auto Z-Wave heal at midnight. Warning, this is in efficient and [should not be used](https://github.com/home-assistant/architecture/issues/81#issuecomment-478444085).
+ description: Allows enabling auto Z-Wave heal at midnight. Warning, this is inefficient and [should not be used](https://github.com/home-assistant/architecture/issues/81#issuecomment-478444085).
required: false
type: boolean
default: false
@@ -68,12 +68,12 @@ device_config / device_config_domain / device_config_glob:
type: integer
default: 0
refresh_value:
- description: Enable refreshing of the node value. Only the light component uses this.
+ description: Enable refreshing of the node value. Only the light integration uses this.
required: false
type: boolean
default: false
delay:
- description: Specify the delay for refreshing of node value. Only the light component uses this.
+ description: Specify the delay for refreshing of node value. Only the light integration uses this.
required: false
type: integer
default: 5
@@ -112,7 +112,7 @@ Ensure you keep a backup of this key. If you have to rebuild your system and don
On platforms other than Hass.io and Docker, the compilation and installation of python-openzwave happens when you first enable the Z-Wave component, and can take half an hour or more on a Raspberry Pi. When you upgrade Home Assistant and python-openzwave is also upgraded, this will also result in a delay while the new version is compiled and installed.
-The first run after adding a device is when the `zwave` component will take time to initialize the entities, some entities may appear with incomplete names. Running a network heal may speed up this process.
+The first run after adding a device is when the `zwave` integration will take time to initialize the entities, some entities may appear with incomplete names. Running a network heal may speed up this process.
## {% linkable_title Platform specific instructions %}
@@ -128,6 +128,8 @@ You can also check what hardware has been found using the [hassio command](/hass
$ hassio hardware info
```
+The `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
+
### {% linkable_title Docker %}
You do not need to install any software to use Z-Wave.
@@ -144,6 +146,8 @@ If the path of `/dev/ttyACM0` doesn't work then you can find the path of the sti
$ ls -1tr /dev/tty*|tail -n 1
```
+The `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
+
### {% linkable_title Hassbian %}
You do not need to install any software to use Z-Wave.
diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown
index 3c2e5f4664c..017c7844006 100644
--- a/source/_docs/z-wave/services.markdown
+++ b/source/_docs/z-wave/services.markdown
@@ -9,7 +9,7 @@ sharing: true
footer: true
---
-The `zwave` component exposes multiple services to help maintain the network. All of these are available through the Z-Wave control panel.
+The `zwave` integration exposes multiple services to help maintain the network. All of these are available through the Z-Wave control panel.
| Service | Description |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/source/_faq/component.markdown b/source/_faq/component.markdown
index 9d4aaadff0b..1c8194ec1df 100644
--- a/source/_faq/component.markdown
+++ b/source/_faq/component.markdown
@@ -1,7 +1,7 @@
---
layout: page
-title: "My component does not show up"
-description: "My component does not show up"
+title: "My integration does not show up"
+description: "My integration does not show up"
date: 2017-06-18 09:00
comments: false
sharing: true
@@ -9,6 +9,6 @@ footer: true
ha_category: Configuration
---
-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` script to assist in identifying them: `hass --script check_config`.
diff --git a/source/_faq/problems-with-dependencies.markdown b/source/_faq/problems-with-dependencies.markdown
index a2535ee7943..4af26ecc082 100644
--- a/source/_faq/problems-with-dependencies.markdown
+++ b/source/_faq/problems-with-dependencies.markdown
@@ -9,6 +9,6 @@ footer: true
ha_category: Usage
---
-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.
diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html
index dddc682c23d..c6806297017 100644
--- a/source/_includes/asides/component_navigation.html
+++ b/source/_includes/asides/component_navigation.html
@@ -43,7 +43,7 @@
{%- if page.ha_config_flow -%}
diff --git a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
index 81fd5620f0a..e6573538ed6 100644
--- a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
+++ b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown
@@ -15,6 +15,10 @@ og_image: /images/blog/2017-05-hassbian-pi-zero/home_assistant_plus_rpi_600x315.
+
+It is time for the 0.94 release and there is some seriously good stuff in this release. We're working hard on polishing everything and getting ready for the big Home Assistant 1.0 release. And we're getting closer. So close actually, that this is the first release that can be installed and configured without touching a text editor! Onboard, configure integrations, manage automations and scripts all from the UI.
+
+
+Screenshot of the new user interface to manage which entities are exposed to Google Assistant.
+