diff --git a/_config.yml b/_config.yml
index 30d85c611b6..94e71e2abac 100644
--- a/_config.yml
+++ b/_config.yml
@@ -142,16 +142,19 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 80
-current_patch_version: 1
-date_released: 2018-10-15
+current_patch_version: 2
+date_released: 2018-10-17
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
-patch_version_notes: "#release-0801---october-15"
+patch_version_notes: "#release-0802---october-17"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments
# disqus_end_date: 2018-01-26 0:00:00
# Disqus is adding gross ads, move all comments to discourse.
disqus_end_date: 2010-01-26 0:00:00
+
+# Support .well-known directory
+include: [".well-known"]
diff --git a/source/.well-known/apple-app-site-association b/source/.well-known/apple-app-site-association
new file mode 100644
index 00000000000..6355e8876f0
--- /dev/null
+++ b/source/.well-known/apple-app-site-association
@@ -0,0 +1,13 @@
+{
+ "applinks": {
+ "apps": [],
+ "details": [
+ {
+ "appID": "UTQFCBPQRF.io.robbie.HomeAssistant",
+ "paths": [
+ "/ios/*"
+ ]
+ }
+ ]
+ }
+}
diff --git a/source/_components/ads.markdown b/source/_components/ads.markdown
index 74e9a4d7215..a7a3c41057c 100644
--- a/source/_components/ads.markdown
+++ b/source/_components/ads.markdown
@@ -15,6 +15,8 @@ ha_iot_class: "Local Push"
The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](http://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface.
+## {% linkable_title Configuration %}
+
To enable ADS, add the following lines to your `configuration.yaml` file:
```yaml
@@ -25,18 +27,18 @@ ads:
```
{% configuration %}
- device:
- required: true
- description: The AMS NetId that identifies the device.
- type: string
- port:
- required: true
- description: The port that runs the AMS server on the device, typically this would be 801 or 851.
- type: integer
- ip_address:
- required: false
- description: The IP address of the ADS device, if not set the first 4 bytes of the device id will be used.
- type: string
+device:
+ description: The AMS NetId that identifies the device.
+ required: true
+ type: string
+port:
+ description: The port that runs the AMS server on the device, typically this would be 801 or 851.
+ required: true
+ type: integer
+ip_address:
+ description: The IP address of the ADS device, if not set the first 4 bytes of the device id will be used.
+ required: false
+ type: string
{% endconfiguration %}
## {% linkable_title Service %}
diff --git a/source/_components/alarm_control_panel.alarmdotcom.markdown b/source/_components/alarm_control_panel.alarmdotcom.markdown
index 8509f1bb41d..c403a727dd8 100644
--- a/source/_components/alarm_control_panel.alarmdotcom.markdown
+++ b/source/_components/alarm_control_panel.alarmdotcom.markdown
@@ -14,6 +14,8 @@ ha_release: 0.11
The `alarmdotcom` platform is consuming the information provided by [Alarm.com](https://www.alarm.com/).
+## {% linkable_title Configuration %}
+
To enable this, add the following lines to your `configuration.yaml`:
```yaml
@@ -41,5 +43,5 @@ name:
code:
description: Specifies a code to enable or disable the alarm in the frontend.
required: false
- type: int
+ type: integer
{% endconfiguration %}
diff --git a/source/_components/alarm_control_panel.arlo.markdown b/source/_components/alarm_control_panel.arlo.markdown
index e47a6322d62..ddc28e0fdb6 100644
--- a/source/_components/alarm_control_panel.arlo.markdown
+++ b/source/_components/alarm_control_panel.arlo.markdown
@@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling"
The `arlo` alarm control panel allows you to control your [Arlo](https://arlo.netgear.com/) base stations. You can use it to switch modes and trigger alarms from Home Assistant.
+## {% linkable_title Configuration %}
+
To get your [Arlo](https://arlo.netgear.com/) base stations working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo).
Once you have enabled the [Arlo component](/components/arlo), add the following to your `configuration.yaml` file:
diff --git a/source/_components/alarm_control_panel.concord232.markdown b/source/_components/alarm_control_panel.concord232.markdown
index d2ce3afca7c..ae4cdd832cc 100644
--- a/source/_components/alarm_control_panel.concord232.markdown
+++ b/source/_components/alarm_control_panel.concord232.markdown
@@ -14,7 +14,12 @@ ha_release: 0.31
The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4.
-To use this platform, you will need to have the external concord232 client and server installed. The server must be running on the device which is connected to the automation module's serial port. The client must be installed on the machine running Home Assistant. These may often be the same machine, but do not have to be. For additional details in setting up and testing the client and server, see
It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is advised to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).
-{% linkable_title Required IFTTT applets %} +### {% linkable_title Required IFTTT applets %} -This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm_home` and `alarm_arm_night`. For each of these services, an IFTTT webhook will be triggered. +Next, you will need to set up the required IFTTT applets as listed below. + +This platform supports the services `alarm_disarm`, `alarm_arm_away`, `alarm_arm_home` and `alarm_arm_night`. For each of these services, an IFTTT webhook will be triggered. For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those. * **IF** Webhook event `YOUR_DISARM_EVENT` is called, **THEN** disarm the alarm system. @@ -54,40 +94,3 @@ For this system to operate correctly, the following IFTTT applets have to be set * **IF** the alarm system state changed to armed home, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}`. * **IF** the alarm system state changed to armed away, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}`. * **IF** the alarm system state changed to armed night, **THEN** perform a Webhook `POST` web request to url `https://HASS_URL/api/services/alarm_control_panel/ifttt_push_alarm_state?api_password=API_PASSWORD` with content type `application/json` and body `{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}`. - - -{% configuration %} - name: - description: The name of your Home Assistant alarm control panel. - required: false - type: string - code: - description: The code for the alarm control panel. - required: false - type: string - event_arm_away: - description: IFTTT webhook event to call when the state is set to armed away. - required: false - type: string - default: alarm_arm_away - event_arm_home: - description: IFTTT webhook event to call when the state is set to armed home. - required: false - type: string - default: alarm_arm_home - event_arm_night: - description: IFTTT webhook event to call when the state is set to armed night. - required: false - type: string - default: alarm_arm_night - event_disarm: - description: IFTTT webhook event to call when the state is set to disarmed. - required: false - type: string - default: alarm_disarm - optimistic: - description: Specify if the state will be updated by an ifttt_push_alarm_state call (false) or can be set immediately (true). - required: false - type: boolean - default: false -{% endconfiguration %} diff --git a/source/_components/alarm_control_panel.manual.markdown b/source/_components/alarm_control_panel.manual.markdown index 2db745df1f0..2f3c49b2cbc 100644 --- a/source/_components/alarm_control_panel.manual.markdown +++ b/source/_components/alarm_control_panel.manual.markdown @@ -13,28 +13,74 @@ ha_release: 0.7.6 ha_qa_scale: internal --- - The `manual` alarm control panel platform enables you to set manual alarms in Home Assistant. +## {% linkable_title Configuration %} + +To enable this, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry alarm_control_panel: - platform: manual ``` -Configuration variables: - -- **name** (*Optional*): The name of the alarm. Default is "HA Alarm". -- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend. -- **code_template** (*Optional*): If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. Inside the template, the variables **from_state** and **to_state** identify the current and desired state. Only one of **code** and **code_template** can be specified. -- **delay_time** (*Optional*): The time in seconds of the pending time before triggering the alarm. Default is 0 seconds. -- **pending_time** (*Optional*): The time in seconds of the pending time before effecting a state change. Default is 60 seconds. -- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds. -- **disarm_after_trigger** (*Optional*): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. -- **armed_custom_bypass/armed_home/armed_away/armed_night/disarmed/triggered** (*Optional*): State specific settings - - **delay_time** (*Optional*): State specific setting for **delay_time** (all states except **triggered**) - - **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**) - - **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**) +{% configuration %} +name: + description: The name of the alarm. + required: false + type: string + default: HA Alarm +code: + description: > + If defined, specifies a code to enable or disable the alarm in the frontend. + Only one of **code** and **code_template** can be specified. + required: exclusive + type: string +code_template: + description: > + If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. + Inside the template, the variables **from_state** and **to_state** identify the current and desired state. + Only one of **code** and **code_template** can be specified. + required: exclusive + type: string +delay_time: + description: The time in seconds of the pending time before triggering the alarm. + required: false + type: integer + default: 0 +pending_time: + description: The time in seconds of the pending time before effecting a state change. + required: false + type: integer + default: 60 +trigger_time: + description: The time in seconds of the trigger time in which the alarm is firing. + required: false + type: integer + default: 120 +disarm_after_trigger: + description: If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. + required: false + type: boolean +armed_custom_bypass/armed_home/armed_away/armed_night/disarmed/triggered: + description: State specific settings + required: false + type: list + keys: + delay_time: + description: State specific setting for **delay_time** (all states except **triggered**) + required: false + type: integer + pending_time: + description: State specific setting for **pending_time** (all states except **disarmed**) + required: false + type: integer + trigger_time: + description: State specific setting for **trigger_time** (all states except **triggered**) + required: false + type: integer +{% endconfiguration %} ## {% linkable_title State machine %} @@ -75,12 +121,12 @@ garage door opens, but not for the "armed home" state. **trigger_time** is useful to disable the alarm when disarmed, but it can also be used for example to sound the siren for a shorter time during the night. +## {% linkable_title Examples %} + In the config example below: - the disarmed state never triggers the alarm; - - the armed_home state will leave no time to leave the building or disarm the alarm; - - while other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back. ```yaml @@ -99,9 +145,7 @@ alarm_control_panel: delay_time: 0 ``` -## {% linkable_title Examples %} - -In this section, you find some real-life examples of how to use this panel. +In the rest of this section, you find some real-life examples on how to use this panel. ### {% linkable_title Sensors %} diff --git a/source/_components/alarm_control_panel.manual_mqtt.markdown b/source/_components/alarm_control_panel.manual_mqtt.markdown index 2e25b97ace3..9fa4f4f2312 100644 --- a/source/_components/alarm_control_panel.manual_mqtt.markdown +++ b/source/_components/alarm_control_panel.manual_mqtt.markdown @@ -32,6 +32,8 @@ When the state of the manual alarm changes, Home Assistant will publish one of t - 'pending' - 'triggered' +## {% linkable_title Configuration %} + To use your panel in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -42,39 +44,113 @@ alarm_control_panel: command_topic: home/alarm/set ``` -Configuration variables: - The following configuration variables from the base manual alarm platform are available: -- **name** (*Optional*): The name of the alarm. Default is "HA Alarm". -- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend. This code is not required for MQTT interactions. -- **code_template** (*Optional*): If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. Inside the template, the variables **from_state** and **to_state** identify the current and desired state. Only one of **code** and **code_template** can be specified. -- **delay_time** (*Optional*): The time in seconds of the pending time before triggering the alarm. Default is 0 seconds. -- **pending_time** (*Optional*): The time in seconds of the pending time before effecting a state change. Default is 60 seconds. -- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds. -- **disarm_after_trigger** (*Optional*): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. -- **armed_home/armed_away/armed_night/disarmed/triggered** (*Optional*): State specific settings - - **delay_time** (*Optional*): State specific setting for **delay_time** (all states except **triggered**) - - **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**) - - **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**) +{% configuration %} +name: + description: The name of the alarm. + required: false + type: string + default: HA Alarm +code: + description: > + If defined, specifies a code to enable or disable the alarm in the frontend. + This code is not required for MQTT interactions. + Only one of **code** and **code_template** can be specified. + required: exclusive + type: string +code_template: + description: > + If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. + Inside the template, the variables **from_state** and **to_state** identify the current and desired state. + Only one of **code** and **code_template** can be specified. + required: exclusive + type: string +delay_time: + description: The time in seconds of the pending time before triggering the alarm. + required: false + type: integer + default: 0 +pending_time: + description: The time in seconds of the pending time before effecting a state change. + required: false + type: integer + default: 60 +trigger_time: + description: The time in seconds of the trigger time in which the alarm is firing. + required: false + type: integer + default: 120 +disarm_after_trigger: + description: If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. + required: false + type: boolean +armed_home/armed_away/armed_night/disarmed/triggered: + description: State specific settings + required: false + type: list + keys: + delay_time: + description: State specific setting for **delay_time** (all states except **triggered**) + required: false + type: integer + pending_time: + description: State specific setting for **pending_time** (all states except **disarmed**) + required: false + type: integer + trigger_time: + description: State specific setting for **trigger_time** (all states except **triggered**) + required: false + type: integer +{% endconfiguration %} See the documentation for the [manual alarm platform](/components/alarm_control_panel.manual/) for a description. -Additionally, the following MQTT configuration variables are also available: +Additionally, the following MQTT configuration variables are also available. -- **state_topic** (*Required*): The MQTT topic HA will publish state updates to. -- **command_topic** (*Required*): The MQTT topic HA will subscribe to, to receive commands from a remote device to change the alarm state. -- **qos** (*Optional*): The maximum QoS level for subscribing and publishing to MQTT messages. Default is 0. -- **payload_disarm** (*Optional*): The payload to disarm this Alarm Panel. Default is "DISARM". -- **payload_arm_home** (*Optional*): The payload to set armed-home mode on this Alarm Panel. Default is "ARM_HOME". -- **payload_arm_away** (*Optional*): The payload to set armed-away mode on this Alarm Panel. Default is "ARM_AWAY". -- **payload_arm_night** (*Optional*): The payload to set armed-night mode on this Alarm Panel. Default is "ARM_NIGHT". +{% configuration %} +state_topic: + description: The MQTT topic HA will publish state updates to. + required: true + type: string +command_topic: + description: The MQTT topic HA will subscribe to, to receive commands from a remote device to change the alarm state. + required: true + type: string +qos: + description: The maximum QoS level for subscribing and publishing to MQTT messages. + required: false + type: int + default: 0 +payload_disarm: + description: The payload to disarm this Alarm Panel. + required: false + type: string + default: DISARM +payload_arm_home: + description: The payload to set armed-home mode on this Alarm Panel. + required: false + type: string + default: ARM_HOME +payload_arm_away: + description: The payload to set armed-away mode on this Alarm Panel. + required: false + type: string + default: ARM_AWAY +payload_arm_night: + description: The payload to set armed-night mode on this Alarm Panel. + required: false + type: string + default: ARM_NIGHT +{% endconfiguration %} + +## {% linkable_title Examples %} In the configuration example below: -- The disarmed state never triggers the alarm. -- The armed_home state will leave no time to leave the building or disarm the alarm. -- While other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back. +- the disarmed state never triggers the alarm; +- the armed_home state will leave no time to leave the building or disarm the alarm; +- while other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back. ```yaml # Example configuration.yaml entry @@ -92,9 +168,7 @@ alarm_control_panel: delay_time: 0 ``` -## {% linkable_title Examples %} - -Refer to the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples) for some real-life examples of how to use this panel. +Refer to the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples) for more real-life examples on how to use this panel. ## {% linkable_title MQTT Control %} diff --git a/source/_components/alarm_control_panel.markdown b/source/_components/alarm_control_panel.markdown index bdc1adf3987..ad8408cf92b 100644 --- a/source/_components/alarm_control_panel.markdown +++ b/source/_components/alarm_control_panel.markdown @@ -9,11 +9,9 @@ sharing: true footer: true --- - 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/) - diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown index cb93a1b5958..8cd5dd1bfd2 100644 --- a/source/_components/alarm_control_panel.mqtt.markdown +++ b/source/_components/alarm_control_panel.mqtt.markdown @@ -25,6 +25,8 @@ The component will accept the following states from your Alarm Panel (in lower c The component can control your Alarm Panel by publishing to the `command_topic` when a user interacts with the Home Assistant frontend. +## {% linkable_title Configuration %} + To enable this platform, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/alarm_control_panel.nx584.markdown b/source/_components/alarm_control_panel.nx584.markdown index a46cbf75273..5be5413a5bf 100644 --- a/source/_components/alarm_control_panel.nx584.markdown +++ b/source/_components/alarm_control_panel.nx584.markdown @@ -14,6 +14,8 @@ ha_release: 0.13 The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work. +## {% linkable_title Configuration %} + To enable this, add the following lines to your `configuration.yaml`: ```yaml @@ -26,16 +28,16 @@ alarm_control_panel: host: description: The host where the nx584 server process is running. required: false - default: localhost type: string + default: localhost name: description: This parameter allows you to override the name. required: false - default: NX584 type: string + default: NX584 port: description: The port where the Alarm panel is listening. required: false - default: 5007 type: integer + default: 5007 {% endconfiguration %} diff --git a/source/_components/alarm_control_panel.satel_integra.markdown b/source/_components/alarm_control_panel.satel_integra.markdown index a5f8915d08c..7f75c0ba232 100644 --- a/source/_components/alarm_control_panel.satel_integra.markdown +++ b/source/_components/alarm_control_panel.satel_integra.markdown @@ -13,8 +13,6 @@ ha_release: 0.54 ha_iot_class: "Local Push" --- - The `satel_integra` alarm control panel platform allows you to control your [SatelIntegra](http://www.satel.pl/en/) alarms. The requirement is that you have setup your [SatelIntegra hub](/components/satel_integra/). - diff --git a/source/_components/alarm_control_panel.simplisafe.markdown b/source/_components/alarm_control_panel.simplisafe.markdown index 4ad3f7e3057..9c8fdc893ec 100644 --- a/source/_components/alarm_control_panel.simplisafe.markdown +++ b/source/_components/alarm_control_panel.simplisafe.markdown @@ -18,4 +18,3 @@ control a SimpliSafe home alarm system. You must have the [`simplisafe` component](/components/simplisafe/) configured to use this platform. After configuring that component, any alarm control panels defined will automatically appear. - diff --git a/source/_components/alarm_control_panel.spc.markdown b/source/_components/alarm_control_panel.spc.markdown index 5384d06def1..de7bd83b4ef 100644 --- a/source/_components/alarm_control_panel.spc.markdown +++ b/source/_components/alarm_control_panel.spc.markdown @@ -13,7 +13,6 @@ ha_release: 0.47 ha_iot_class: "Local Push" --- - The `spc` alarm control panel platform allows you to control your [Vanderbilt SPC](https://www.spcsupportinfo.com/) alarms. The requirement is that you have setup your [SPC hub](/components/spc/). diff --git a/source/_components/alarm_control_panel.totalconnect.markdown b/source/_components/alarm_control_panel.totalconnect.markdown index 203d53a5c04..40cb73d83a9 100644 --- a/source/_components/alarm_control_panel.totalconnect.markdown +++ b/source/_components/alarm_control_panel.totalconnect.markdown @@ -18,6 +18,8 @@ This platform supports the following services: `alarm_arm_away`, `alarm_arm_home If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Hassbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo. +## {% linkable_title Configuration %} + To enable this, add the following lines to your `configuration.yaml`: ```yaml @@ -28,13 +30,22 @@ alarm_control_panel: password: YOUR_PASSWORD ``` -Configuration variables: +{% configuration %} +name: + description: Name of device in Home Assistant. + required: false + type: string +username: + description: Username used to sign into the TotalConnect app/web client. + required: true + type: string +password: + description: Password used to sign into the TotalConnect app/web client. + required: true + type: string +{% endconfiguration %} -- **name** (*Optional*): Name of device in Home Assistant. -- **username** (*Required*): Username used to sign into the TotalConnect app/web client. -- **password** (*Required*): Password used to sign into the TotalConnect app/web client. - -Automation example: +## {% linkable_title Automation example %} ```yaml automation: @@ -56,5 +67,5 @@ automation: to: 'armed_away' action: service: scene.turn_on - entity_id: scene.OnArmedAway + entity_id: scene.OnArmedAway ``` diff --git a/source/_components/alarm_control_panel.verisure.markdown b/source/_components/alarm_control_panel.verisure.markdown index 669de867612..8067027004e 100644 --- a/source/_components/alarm_control_panel.verisure.markdown +++ b/source/_components/alarm_control_panel.verisure.markdown @@ -13,7 +13,6 @@ ha_release: 0.7.3 ha_iot_class: "Cloud Polling" --- - The Verisure alarm control panel platform allows you to control your [Verisure](https://www.verisure.com/) Alarms. The requirement is that you have setup your [Verisure hub](/components/verisure/). diff --git a/source/_components/alarm_control_panel.wink.markdown b/source/_components/alarm_control_panel.wink.markdown index e6fee5cdb50..b40c29927df 100644 --- a/source/_components/alarm_control_panel.wink.markdown +++ b/source/_components/alarm_control_panel.wink.markdown @@ -14,18 +14,14 @@ ha_release: 0.37 No Wink hub is required to support these devices. - The Wink alarm platform allows you to control your [Wink](http://www.wink.com/) Canary all-in-one security camera. The requirement is that you have setup [Wink](/components/wink/). - ### {% linkable_title Supported devices %} - Canary all-in-one security camera -The above devices are confirmed to work, but others may work as well.
- diff --git a/source/_components/alarm_control_panel.yale_smart_alarm.markdown b/source/_components/alarm_control_panel.yale_smart_alarm.markdown index f2dc607b157..7b5bf71aae3 100644 --- a/source/_components/alarm_control_panel.yale_smart_alarm.markdown +++ b/source/_components/alarm_control_panel.yale_smart_alarm.markdown @@ -16,6 +16,7 @@ The `yale_smart_alarm` platform provides connectivity with the Yale Smart Alarm This platform supports the following services: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night` (duplicate of home) and `alarm_disarm`. Currently only one alarm is supported. +## {% linkable_title Configuration %} To enable, add the following lines to your `configuration.yaml`: @@ -27,14 +28,27 @@ alarm_control_panel: password: YOUR_PASSWORD ``` -Configuration variables: +{% configuration %} +name: + description: Name of device in Home Assistant. + required: false + type: string +username: + description: Username used to sign into the Yale app/web client. + required: true + type: string +password: + description: Password used to sign into the Yale app/web client. + required: true + type: string +area_id: + description: Area ID of the device when talking to Yale's API if required. + required: false + type: int + default: 1 +{% endconfiguration %} -- **name** (*Optional*): Name of device in Home Assistant. -- **username** (*Required*): Username used to sign into the Yale app/web client. -- **password** (*Required*): Password used to sign into the Yale app/web client. -- **area_id** (*Optional*): Area ID of the device when talking to Yale's API if required ('1' by default). - -Automation example: +## {% linkable_title Automation example %} ```yaml automation: @@ -56,5 +70,5 @@ automation: to: 'armed_away' action: service: scene.turn_on - entity_id: scene.OnArmedAway + entity_id: scene.OnArmedAway ``` diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown index c66a0f324a8..aff8ae3f4c1 100644 --- a/source/_components/apcupsd.markdown +++ b/source/_components/apcupsd.markdown @@ -35,4 +35,3 @@ port: type: integer default: 3551 {% endconfiguration %} - diff --git a/source/_components/api.markdown b/source/_components/api.markdown index 4ff36762cbf..5a8dd7585c4 100644 --- a/source/_components/api.markdown +++ b/source/_components/api.markdown @@ -23,4 +23,4 @@ It is HIGHLY recommended that you set the `api_password`, especially if you are api: ``` -For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section. +For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section. diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index c9a0e3f0606..ae960ef1620 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -19,6 +19,8 @@ The `apple_tv` platform allows you to control an Apple TV (3rd and 4th generatio Currently, you must have Home Sharing enabled for this to work. Support for pairing Home Assistant with your device will be supported in a later release. +## {% linkable_title Configuration %} + To use this component, you must first install some system libraries and a compiler. For Debian or a similar system, this should be enough: ```shell diff --git a/source/_components/arduino.markdown b/source/_components/arduino.markdown index ca16dd32b75..522886639ac 100644 --- a/source/_components/arduino.markdown +++ b/source/_components/arduino.markdown @@ -14,12 +14,15 @@ ha_release: pre 0.7 ha_iot_class: "Local Polling" --- -The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection. The equipment depends on the [type](https://www.arduino.cc/en/Main/Products) of the board. The most common ones are the Arduino Uno and the Arduino Leonardo with 14 digital input/output pins and 6 analog input pins. +The [Arduino](https://www.arduino.cc/) device family are microcontroller boards that are often based on the ATmega328 chip. They come with digital input/output pins (some can be used as PWM outputs), analog inputs, and a USB connection. +The equipment depends on the [type](https://www.arduino.cc/en/Main/Products) of the board. The most common ones are the Arduino Uno and the Arduino Leonardo with 14 digital input/output pins and 6 analog input pins. -There are a lot of extensions (so-called [shields](https://www.arduino.cc/en/Main/ArduinoShields)) available. Those shields can be plugged-in into the existing connectors and stacked on top of each other. This makes it possible to expand the capabilities of the Arduino boards. +There are a lot of extensions (so-called [shields](https://www.arduino.cc/en/Main/ArduinoShields)) available. Those shields can be plugged-in into the existing connectors and stacked on top of each other. This makes it possible to expand the capabilities of the Arduino boards. The `arduino` component is designed to let you use a directly attached board to your Home Assistant host over USB. +## {% linkable_title Configuration %} + You need to have the [Firmata firmware](https://github.com/firmata/) on your board. Please upload the `StandardFirmata` sketch to your board; please refer to the [Arduino documentation](https://www.arduino.cc/en/Main/Howto) for further information. To integrate an Arduino boards with Home Assistant, add the following section to your `configuration.yaml` file: @@ -54,4 +57,3 @@ Add the user who is used to run Home Assistant to the groups to allow access to ```bash $ sudo usermod -a -G dialout,lock $USER ``` - diff --git a/source/_components/auth.markdown b/source/_components/auth.markdown index ac1d6278d4e..3a775af4a5d 100644 --- a/source/_components/auth.markdown +++ b/source/_components/auth.markdown @@ -13,4 +13,5 @@ ha_release: 0.73 ha_qa_scale: internal --- -This component creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant. There are no configuration options for this component directly as it relies on the auth system in the core. +This component creates the endpoints for the [authentication system](/docs/authentication/) that is built into Home Assistant. +There are no configuration options for this component directly as it relies on the auth system in the core. diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index fc630149a00..5e6ae9b9928 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -42,27 +42,26 @@ host: username: description: The username to your Axis device. required: false - default: root type: string + default: root password: description: The password to your Axis device. required: false - default: pass type: string + default: pass trigger_time: description: Minimum time (in seconds) a sensor should keep its positive value. required: false - default: 0 type: integer + default: 0 port: description: Configure port web server of device is accessible from. required: false - default: 80 type: integer + default: 80 location: description: Physical location of your Axis device. required: false - default: not set type: string include: description: This cannot be empty else there would be no use adding the device at all. diff --git a/source/_components/bbb_gpio.markdown b/source/_components/bbb_gpio.markdown index 785aec4f2df..cb9f7a4c0dc 100644 --- a/source/_components/bbb_gpio.markdown +++ b/source/_components/bbb_gpio.markdown @@ -13,5 +13,5 @@ ha_release: 0.36 ha_iot_class: "Local Push" --- -The `bbb_gpio` component is the base for all [BeagleBone Black](https://beagleboard.org/black) related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages. - +The `bbb_gpio` component is the base for all [BeagleBone Black](https://beagleboard.org/black) related GPIO platforms in Home Assistant. +There is no setup needed for the component itself, for the platforms please check their corresponding pages. diff --git a/source/_components/binary_sensor.android_ip_webcam.markdown b/source/_components/binary_sensor.android_ip_webcam.markdown index 0c5c2abbe87..7e3e0131947 100644 --- a/source/_components/binary_sensor.android_ip_webcam.markdown +++ b/source/_components/binary_sensor.android_ip_webcam.markdown @@ -13,10 +13,9 @@ ha_release: "0.40" ha_iot_class: "Local Polling" --- - The `android_ip_webcam` binary sensor platform lets you observe the motion state of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant. -Devices will be configured automatically. Please refer to the [component](/components/android_ip_webcam/) configuration on how to setup. +Devices will be configured automatically. Please refer to the [Android IP webcam](/components/android_ip_webcam/) configuration on how to setup. ## {% linkable_title Examples %} diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown index 4465d6ed938..4192b8aab9c 100644 --- a/source/_components/binary_sensor.arest.markdown +++ b/source/_components/binary_sensor.arest.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.9 --- - The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. ## {% linkable_title Configuration %} @@ -62,5 +61,5 @@ binary_sensor: ```-This sensor is not suitable for fast state changes because there is a high possibility that the change took place between two update cycle. +This sensor is not suitable for fast state changes because there is a high possibility that the change took place between two update cycle.
diff --git a/source/_components/binary_sensor.august.markdown b/source/_components/binary_sensor.august.markdown index 4af76c345bc..9b25dd4a390 100644 --- a/source/_components/binary_sensor.august.markdown +++ b/source/_components/binary_sensor.august.markdown @@ -20,4 +20,3 @@ If you have August Doorbell, once you have enabled the [August component](/compo * Doorbell ding sensor * Doorbell motion sensor * Doorbell online sensor - diff --git a/source/_components/binary_sensor.blink.markdown b/source/_components/binary_sensor.blink.markdown index e8ef5640442..f0068b9d131 100644 --- a/source/_components/binary_sensor.blink.markdown +++ b/source/_components/binary_sensor.blink.markdown @@ -14,4 +14,4 @@ ha_release: "0.40"To get your Blink binary sensors working with Home Assistant, follow the instructions for the general [Blink component](/components/blink/). -
\ No newline at end of file + diff --git a/source/_components/binary_sensor.bmw_connected_drive.markdown b/source/_components/binary_sensor.bmw_connected_drive.markdown index 03a78c80bb6..e93a570681f 100644 --- a/source/_components/binary_sensor.bmw_connected_drive.markdown +++ b/source/_components/binary_sensor.bmw_connected_drive.markdown @@ -12,7 +12,6 @@ ha_category: Car ha_release: 0.66 --- - The `bmw_connected_drive` binary sensor platform allows you to import data on your BMW into Home Assistant. The binary sensors will be automatically configured if `bmw_connected_drive` component is configured. diff --git a/source/_components/binary_sensor.digital_ocean.markdown b/source/_components/binary_sensor.digital_ocean.markdown index 516abfe6e9a..d4e6c15cb62 100644 --- a/source/_components/binary_sensor.digital_ocean.markdown +++ b/source/_components/binary_sensor.digital_ocean.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Polling" The `digital_ocean` binary sensor platform allows you to monitor your Digital Ocean droplets. -### {% linkable_title Configuration %} +## {% linkable_title Configuration %} To use your Digital Ocean droplets, you first have to set up your [Digital Ocean hub](/components/digital_ocean/) and then add the following to your `configuration.yaml` file: @@ -34,4 +34,3 @@ droplets: required: true type: list {% endconfiguration %} - diff --git a/source/_components/binary_sensor.egardia.markdown b/source/_components/binary_sensor.egardia.markdown index d418559f8e9..4d60ded1886 100644 --- a/source/_components/binary_sensor.egardia.markdown +++ b/source/_components/binary_sensor.egardia.markdown @@ -13,7 +13,7 @@ ha_category: Binary Sensor ha_iot_class: "Polling" --- -The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant. +The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant. Currently only door contacts are supported. IR sensors are not supported and will probably never be since their status cannot be read outside of the alarm control panel. Smoke sensors and others might be added but currently are not supported. You will need to set up your [Egardia hub](/components/egardia/). diff --git a/source/_components/binary_sensor.eight_sleep.markdown b/source/_components/binary_sensor.eight_sleep.markdown index 6811a640dda..4aaa5d3b81d 100644 --- a/source/_components/binary_sensor.eight_sleep.markdown +++ b/source/_components/binary_sensor.eight_sleep.markdown @@ -13,7 +13,6 @@ ha_release: "0.44" ha_iot_class: "Cloud Polling" --- - The `eight_sleep` binary sensor platform lets you observe the presence state of a [Eight Sleep](https://eightsleep.com/) cover/mattress through Home Assistant. Devices will be configured automatically. Please refer to the [`eight_sleep` component](/components/eight_sleep/) configuration on how to setup. diff --git a/source/_components/binary_sensor.enocean.markdown b/source/_components/binary_sensor.enocean.markdown index ff59c3f8e06..9414cf563b7 100644 --- a/source/_components/binary_sensor.enocean.markdown +++ b/source/_components/binary_sensor.enocean.markdown @@ -13,14 +13,16 @@ ha_release: 0.21 ha_iot_class: "Local Push" --- -This can typically be one of those batteryless wall switches. -Tested with: +This can typically be one of those batteryless wall switches. +Tested with: - Eltako FT55 which uses the EnOcean PTM 215 module - [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module All switches using theses modules are expected to work. Other devices will most likely not work without changing the Home Assistant code. +## {% linkable_title Configuration %} + To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file: ```yaml @@ -38,8 +40,8 @@ id: name: description: An identifier for the switch in the frontend. required: false - default: EnOcean binary sensor 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. required: false @@ -53,6 +55,8 @@ EnOcean binary sensors only generate 'button_pressed' events. The event data has - **which**: Always `0` when using the single rocket. `0` or `1` when using the dual rocket switch. - **onoff**: `0` or `1` for either side of the rocket. +## {% linkable_title Automation example %} + Sample automation to switch lights on and off: ```yaml diff --git a/source/_components/binary_sensor.envisalink.markdown b/source/_components/binary_sensor.envisalink.markdown index 52735a8dbfd..13abe44ef1b 100644 --- a/source/_components/binary_sensor.envisalink.markdown +++ b/source/_components/binary_sensor.envisalink.markdown @@ -13,8 +13,8 @@ ha_category: Binary Sensor ha_iot_class: "Local Push" --- -The `envisalink` platform allows you to get data from your [Envisalink](http://www.eyezon.com/) binary sensors from within Home Assistant. +The `envisalink` platform allows you to get data from your [Envisalink](http://www.eyezon.com/) binary sensors from within Home Assistant. Check the [type/class](/components/binary_sensor/) list for a possible visualization of your zone. - + The requirement is that you have setup your [Envisalink hub](/components/envisalink/). diff --git a/source/_components/binary_sensor.flic.markdown b/source/_components/binary_sensor.flic.markdown index 31eacc4d866..dd70d2eb4cd 100644 --- a/source/_components/binary_sensor.flic.markdown +++ b/source/_components/binary_sensor.flic.markdown @@ -15,7 +15,7 @@ ha_release: 0.35 The `flic` platform allows you to receive click events from [flic](https://flic.io) smart buttons. -The platform does not directly interact with the buttons, *but communicates with a flic service* that manages the buttons. The service can run on the same instance as Home Assistant or any other reachable machine. +The platform does not directly interact with the buttons, *but communicates with a flic service* that manages the buttons. The service can run on the same instance as Home Assistant or any other reachable machine. #### {% linkable_title Service setup %} diff --git a/source/_components/binary_sensor.hikvision.markdown b/source/_components/binary_sensor.hikvision.markdown index b3d892b437a..1a9dd7ce26f 100644 --- a/source/_components/binary_sensor.hikvision.markdown +++ b/source/_components/binary_sensor.hikvision.markdown @@ -61,6 +61,8 @@ and has been confirmed to work with the following models: - DS-2CD2142FWD-I - DS-2CD2155FWD-IS +## {% linkable_title Configuration %} + To enable this sensor, add the following lines are required in your `configuration.yaml` file: @@ -123,6 +125,8 @@ customize: default: 5 {% endconfiguration %} +### {% linkable_title Supported types %} + Supported sensor/event types are: - Motion @@ -142,6 +146,8 @@ Supported sensor/event types are: - Face Detection - Scene Change Detection +## {% linkable_title Examples %} + Example of a configuration in your `configuration.yaml` that utilizes the customize options for a camera: diff --git a/source/_components/binary_sensor.hive.markdown b/source/_components/binary_sensor.hive.markdown index 49486d62d76..c39ea49f7c8 100644 --- a/source/_components/binary_sensor.hive.markdown +++ b/source/_components/binary_sensor.hive.markdown @@ -13,7 +13,6 @@ ha_release: 0.59 ha_iot_class: "Cloud Polling" --- - The `hive` binary sensor component integrates your Hive sensors into Home Assistant. The platform supports the following Hive products: @@ -21,9 +20,6 @@ The platform supports the following Hive products: - Hive Window or Door Sensor - Hive Motion Sensor -Full configuration details can be found on the main [Hive component](/components/hive/) page.
- - diff --git a/source/_components/binary_sensor.homematic.markdown b/source/_components/binary_sensor.homematic.markdown index 5155aedeea1..f237976a094 100644 --- a/source/_components/binary_sensor.homematic.markdown +++ b/source/_components/binary_sensor.homematic.markdown @@ -13,7 +13,6 @@ ha_release: 0.23 ha_iot_class: "Local Push" --- - The `homematic` binary sensor platform lets you observe the state changes of binary [Homematic](http://www.homematic.com/) sensors through Home Assistant. -Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. \ No newline at end of file +Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. diff --git a/source/_components/binary_sensor.ihc.markdown b/source/_components/binary_sensor.ihc.markdown index 9340c74aa6b..b05f2e3e8e1 100644 --- a/source/_components/binary_sensor.ihc.markdown +++ b/source/_components/binary_sensor.ihc.markdown @@ -27,6 +27,8 @@ be found in the IHC project and setup as binary sensors: - Dataline gas detector - Dataline light sensor +## {% linkable_title Manual configuration %} + To manually configure IHC Binary Sensors insert this section in your configuration: diff --git a/source/_components/binary_sensor.insteon.markdown b/source/_components/binary_sensor.insteon.markdown index 67a7b6a4f85..6fb7f1bc9fe 100644 --- a/source/_components/binary_sensor.insteon.markdown +++ b/source/_components/binary_sensor.insteon.markdown @@ -13,9 +13,9 @@ ha_iot_class: "Local Push" ha_version: 0.77 --- -The `insteon` binary sensor platform lets you control your sensors through +The `insteon` binary sensor platform lets you control your sensors through an INSTEON Modem (PLM and Hub) device connected directly to your system on a USB, serial port or TCPIP connection. To add support, set up the primary [insteon] component. -[insteon]: /components/insteon/ \ No newline at end of file +[insteon]: /components/insteon/ diff --git a/source/_components/binary_sensor.iss.markdown b/source/_components/binary_sensor.iss.markdown index f9b0da08de8..4e57b55a20f 100644 --- a/source/_components/binary_sensor.iss.markdown +++ b/source/_components/binary_sensor.iss.markdown @@ -21,6 +21,8 @@ This means that ISS is 10° above the horizon of your home. You can check in the attributes of the sensor to see the timestamp for the next rise of the station, its current coordinates, and the number of people in space. +## {% linkable_title Configuration %} + To add ISS binary sensor to your installation, add the following to your `configuration.yaml` file: @@ -31,11 +33,16 @@ binary_sensor: ``` {% configuration %} +name: + description: The name for this sensor in the frontend. + required: false + type: string + default: ISS show_on_map: description: Option to show the position of the ISS on the map. required: optional + type: boolean default: false - type: string {% endconfiguration %}diff --git a/source/_components/binary_sensor.isy994.markdown b/source/_components/binary_sensor.isy994.markdown index 2cb7345d0eb..64735b86517 100644 --- a/source/_components/binary_sensor.isy994.markdown +++ b/source/_components/binary_sensor.isy994.markdown @@ -14,5 +14,5 @@ ha_release: pre 0.7 --- The `isy994` platform allows you to get data from your [ISY994](https://www.universal-devices.com/residential/isy994i-series/) binary sensors from within Home Assistant. - + They will be automatically discovered if the `isy994` component is loaded. diff --git a/source/_components/binary_sensor.konnected.markdown b/source/_components/binary_sensor.konnected.markdown index b530f097158..6fd32d7fbe9 100644 --- a/source/_components/binary_sensor.konnected.markdown +++ b/source/_components/binary_sensor.konnected.markdown @@ -18,4 +18,3 @@ The `konnected` binary sensor allows you to monitor wired door sensors, window s See the [`konnected`](/components/konnected/) component for configuration and setup instructions. This component supports all of the built-in device classes of the generic [Binary Sensor](/components/binary_sensor/) component. - diff --git a/source/_components/binary_sensor.mychevy.markdown b/source/_components/binary_sensor.mychevy.markdown index 42ce754d87a..7ae1881a48a 100644 --- a/source/_components/binary_sensor.mychevy.markdown +++ b/source/_components/binary_sensor.mychevy.markdown @@ -18,4 +18,3 @@ The `mychevy` binary sensor platform allows you to monitor your Chevy Bolt car f The binary sensor platform will be automatically configured if the `mychevy` component is configured. For configuration instructions, see the [`mychevy` component](/components/mychevy/) documentation. - diff --git a/source/_components/binary_sensor.mystrom.markdown b/source/_components/binary_sensor.mystrom.markdown index 99927748043..21b0d76216c 100644 --- a/source/_components/binary_sensor.mystrom.markdown +++ b/source/_components/binary_sensor.mystrom.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.45 --- - The `mystrom` binary sensor platform allows you to use [myStrom Wifi Buttons](https://mystrom.ch/wifi-button/) with Home Assistant. The myStrom Wifi Buttons support three and the myStrom WiFi Button + four different push pattern: - `single`: Short push (approx. 1/2 seconds) diff --git a/source/_components/binary_sensor.nest.markdown b/source/_components/binary_sensor.nest.markdown index 3303cabdff4..60315ecb867 100644 --- a/source/_components/binary_sensor.nest.markdown +++ b/source/_components/binary_sensor.nest.markdown @@ -13,13 +13,14 @@ ha_release: pre 0.7 ha_iot_class: "Cloud Push" --- - The `nest` binary sensor platform lets you monitor various states of your [Nest](https://nest.com) devices.
You must have the [Nest component](/components/nest/) configured to use these sensors. The binary sensors will be setup if the `nest` component is configured and the required configuration for the `nest binary sensor` is set.
+## {% linkable_title Configuration %} + To enable binary sensors and customize which sensors are setup, you can extend the [Nest component](/components/nest/) configuration in your `configuration.yaml` file with the following settings: ```yaml diff --git a/source/_components/binary_sensor.netatmo.markdown b/source/_components/binary_sensor.netatmo.markdown index 1d396f6966e..8ef50d8737f 100644 --- a/source/_components/binary_sensor.netatmo.markdown +++ b/source/_components/binary_sensor.netatmo.markdown @@ -12,12 +12,12 @@ ha_category: Binary Sensor ha_release: 0.31 --- -### {% linkable_title Basic Configuration %} - The `netatmo` binary sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to get the latest event seen by the camera. +### {% linkable_title Basic Configuration %} + To enable the Netatmo binary sensor, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your binary sensor. diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown index 56d0395e8cf..83bed7216f0 100644 --- a/source/_components/binary_sensor.octoprint.markdown +++ b/source/_components/binary_sensor.octoprint.markdown @@ -18,3 +18,33 @@ The `octoprint` sensor platform let you monitor various states of your 3D printeYou must have the [OctoPrint component](/components/octoprint/) configured to use this binary sensor. After configuring that component, binary sensors automatically appear.
+<<<<<<< HEAD +======= + +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +binary_sensor: + - platform: octoprint + monitored_conditions: + - Printing + - Printing Error +``` + +{% configuration %} +monitored_conditions: + description: States to monitor. + required: true + type: list + keys: + printing: + description: State of the printer. + printing error: + description: Error while printing. +name: + description: + required: The name of the sensor. + default: OctoPrint + type: string +{% endconfiguration %} +>>>>>>> current diff --git a/source/_components/binary_sensor.openuv.markdown b/source/_components/binary_sensor.openuv.markdown index 0eda9c2426d..9b93806fa72 100644 --- a/source/_components/binary_sensor.openuv.markdown +++ b/source/_components/binary_sensor.openuv.markdown @@ -16,4 +16,3 @@ ha_iot_class: "Cloud Polling" The `openuv` binary sensor platform allows you to view binary sensor data from [OpenUV](http://openuv.io). You must have the [`openuv` component](/components/openuv/) configured to use this platform. After configuring that component, binary sensors will automatically appear. - diff --git a/source/_components/binary_sensor.pilight.markdown b/source/_components/binary_sensor.pilight.markdown index 85307be3d60..b8ac54c1e97 100644 --- a/source/_components/binary_sensor.pilight.markdown +++ b/source/_components/binary_sensor.pilight.markdown @@ -67,6 +67,8 @@ reset_delay_sec: default: 30 {% endconfiguration %} +## {% linkable_title Full example %} + A full configuration example could look like this: ```yaml diff --git a/source/_components/binary_sensor.ping.markdown b/source/_components/binary_sensor.ping.markdown index 193297cbd88..0a8d1390908 100644 --- a/source/_components/binary_sensor.ping.markdown +++ b/source/_components/binary_sensor.ping.markdown @@ -13,7 +13,6 @@ ha_release: 0.43 ha_qa_scale: internal --- - The `ping` binary sensor platform allows you to using `ping` to send ICMP echo requests. This way you can check if a given host is online and determine the round trip times from your Home Assistant instance to that system. ## {% linkable_title Configuration %} @@ -26,6 +25,7 @@ binary_sensor: - platform: ping host: 192.168.0.1 ``` + {% configuration %} host: description: The IP address or hostname of the system you want to track. @@ -40,10 +40,10 @@ name: description: Let you overwrite the name of the device. required: false type: string - default: "`Ping Binary sensor`" + default: Ping Binary sensor {% endconfiguration %} -The sensor exposes the different round trip times values measured by `ping` as attributes: +The sensor exposes the different round trip times values measured by `ping` as attributes: - `round trip time mdev` - `round trip time avg` @@ -64,4 +64,3 @@ binary_sensor:When run on Windows systems, the round trip time attributes are rounded to the nearest millisecond and the mdev value is unavailable.
- diff --git a/source/_components/binary_sensor.raincloud.markdown b/source/_components/binary_sensor.raincloud.markdown index 5b853e13126..004c750bf57 100644 --- a/source/_components/binary_sensor.raincloud.markdown +++ b/source/_components/binary_sensor.raincloud.markdown @@ -25,8 +25,15 @@ binary_sensor: - platform: raincloud ``` -Configuration variables: - -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. If not specified, all conditions below will be enabled by default. The following conditions can be monitored. - - **is_watering**: Return if is currently watering per zone. - - **status**: Return status from the Melnor RainCloud Controller and Melnor RainCloud Faucet. +{% configuration %} +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. + required: false + type: list + default: If not specified,, all conditions below will be enabled + keys: + is_watering: + description: Return if is currently watering per zone. + status: + description: Return status from the Melnor RainCloud Controller and Melnor RainCloud Faucet. +{% endconfiguration %} diff --git a/source/_components/binary_sensor.rainmachine.markdown b/source/_components/binary_sensor.rainmachine.markdown index 60cc6d982c3..0a3072ad0b6 100644 --- a/source/_components/binary_sensor.rainmachine.markdown +++ b/source/_components/binary_sensor.rainmachine.markdown @@ -14,7 +14,7 @@ ha_release: 0.71 --- The `rainmachine` binary sensor platform allows you to view crucial sensor data -within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). +within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/) diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index b398a2c9a43..1a17bc91cb4 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -31,5 +31,5 @@ name: description: Name to use in the frontend. required: false type: string + default: Random Binary Sensor {% endconfiguration %} - diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown index 7c36530f59a..dbb0cd102cc 100644 --- a/source/_components/binary_sensor.rest.markdown +++ b/source/_components/binary_sensor.rest.markdown @@ -33,6 +33,8 @@ The JSON messages can contain different values like `1`, `"1"`, } ``` +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request: diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index 186d64bfed9..dbfe56427b6 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -50,11 +50,47 @@ binary_sensor: name: device_name ``` -Configuration variables: - -- **automatic_add** (*Optional*): To enable the automatic addition of new binary sensors. -- **device_class** (*Optional*): The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend. -- **off_delay** (*Optional*): For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'. +{% configuration %} +devices: + description: A list of devices. + required: false + type: list + keys: + name: + description: Override the name to use in the frontend. + required: false + type: string + device_class: + description: "The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend." + required: false + type: device_class + fire_event: + description: Fires an event even if the state is the same as before. Can be used for automations. + required: false + default: false + type: boolean + off_delay: + description: For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'. + required: false + type: integer + data_bits: + description: Defines how many bits are used for commands inside the data packets sent by the device. + required: false + type: integer + command_on: + description: Defines the data bits value that is sent by the device upon an 'On' command. + required: false + type: string + command_off: + description: Defines the data bits value that is sent by the device upon an 'Off' command. + required: false + type: string +automatic_add: + description: To enable the automatic addition of new binary sensors. + required: false + default: false + type: boolean +{% endconfiguration %}
This component and the [rfxtrx switch](/components/switch/rfxtrx/) can steal each other's devices when setting the `automatic_add` configuration parameter to `true`. @@ -104,9 +140,9 @@ and the fields lengths are not included in the data. One device that sends 2 different commands will be seen as 2 devices on Home Assistant. For such cases, the following options are available in order to circumvent the problem: -- **data_bits** (*Optional*): Defines how many bits are used for commands inside the data packets sent by the device. -- **command_on** (*Optional*): Defines the data bits value that is sent by the device upon an 'On' command. -- **command_off** (*Optional*): Defines the data bits value that is sent by the device upon an 'Off' command. +- **data_bits** (*Optional*) +- **command_on** (*Optional*) +- **command_off** (*Optional*) Let's try to add a new PT-2262 sensor using the "automatic_add" option and have a look at Home Assistant system log. diff --git a/source/_components/binary_sensor.spc.markdown b/source/_components/binary_sensor.spc.markdown index 624bebfff2a..86fe817f8ad 100644 --- a/source/_components/binary_sensor.spc.markdown +++ b/source/_components/binary_sensor.spc.markdown @@ -13,8 +13,8 @@ ha_category: Binary Sensor ha_iot_class: "Local Push" --- -The `spc` platform allows you to get data from your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) binary sensors from within Home Assistant. +The `spc` platform allows you to get data from your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) binary sensors from within Home Assistant. Check the [type/class](/components/binary_sensor/) list for a possible visualization of your zone. Currently motion, smoke and door sensors are supported. - + The requirement is that you have setup your [SPC hub](/components/spc/). diff --git a/source/_components/binary_sensor.tapsaff.markdown b/source/_components/binary_sensor.tapsaff.markdown index 233596e6bd1..8f7c512487e 100644 --- a/source/_components/binary_sensor.tapsaff.markdown +++ b/source/_components/binary_sensor.tapsaff.markdown @@ -14,8 +14,9 @@ ha_release: 0.47 ha_iot_class: "Local Polling" --- +The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk). -The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk). +## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml`: @@ -26,7 +27,14 @@ binary_sensor: location: glasgow ``` -Configuration variables: - -- **location** (*Required*): The location for the Taps Aff. It must be configured with a UK postcode or city to work. -- **name** (*Optional*): The name to use when displaying this sensor. +{% configuration %} +location: + description: The location for the Taps Aff. It must be configured with a UK postcode or city to work. + required: true + type: string +name: + description: The name to use when displaying this sensor. + required: false + type: string + default: Taps Aff +{% endconfiguration %} diff --git a/source/_components/binary_sensor.tellduslive.markdown b/source/_components/binary_sensor.tellduslive.markdown index fc0b988bbf2..8fea7f57c3e 100644 --- a/source/_components/binary_sensor.tellduslive.markdown +++ b/source/_components/binary_sensor.tellduslive.markdown @@ -13,4 +13,3 @@ featured: false --- Integrates Telldus Live binary sensors into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions. - diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index 9db49437629..24b9f047567 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -35,49 +35,49 @@ binary_sensor: {% endraw %} {% configuration %} - sensors: - description: List of your sensors. - required: true - type: map - keys: - sensor_name: - description: The slug of the sensor. - required: true - type: map - keys: - friendly_name: - description: Name to use in the frontend. - required: false - type: string - entity_id: - description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. - required: false - type: string, list - device_class: - description: The type/class of the sensor to set the icon in the frontend. - required: false - type: device_class - default: None - value_template: - description: Defines a template to set the state of the sensor. - required: true - type: template - icon_template: - description: Defines a template for the icon of the sensor. - required: false - type: template - entity_picture_template: - description: Defines a template for the entity picture of the sensor. - required: false - type: template - delay_on: - description: The amount of time the template state must be ***met*** before this sensor will switch to `on`. - required: false - type: time - delay_off: - description: The amount of time the template state must be ***not met*** before this sensor will switch to `off`. - required: false - type: time +sensors: + description: List of your sensors. + required: true + type: map + keys: + sensor_name: + description: The slug of the sensor. + required: true + type: map + keys: + friendly_name: + description: Name to use in the frontend. + required: false + type: string + entity_id: + description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. + required: false + type: string, list + device_class: + description: The type/class of the sensor to set the icon in the frontend. + required: false + type: device_class + default: None + value_template: + description: Defines a template to set the state of the sensor. + required: true + type: template + icon_template: + description: Defines a template for the icon of the sensor. + required: false + type: template + entity_picture_template: + description: Defines a template for the entity picture of the sensor. + required: false + type: template + delay_on: + description: The amount of time the template state must be ***met*** before this sensor will switch to `on`. + required: false + type: time + delay_off: + description: The amount of time the template state must be ***not met*** before this sensor will switch to `off`. + required: false + type: time {% endconfiguration %} ## {% linkable_title Considerations %} diff --git a/source/_components/binary_sensor.tesla.markdown b/source/_components/binary_sensor.tesla.markdown index 4561d8e4c8f..4d0587f4acd 100644 --- a/source/_components/binary_sensor.tesla.markdown +++ b/source/_components/binary_sensor.tesla.markdown @@ -14,7 +14,7 @@ ha_release: 0.53 --- The `tesla` platform allows you to get data from your [Tesla](https://www.tesla.com/) sensors from within Home Assistant. - + They will be automatically discovered if the Tesla component is loaded. For more configuration information see the [Tesla component](/components/tesla/) documentation. diff --git a/source/_components/binary_sensor.threshold.markdown b/source/_components/binary_sensor.threshold.markdown index a512fff4d2f..f3a0a39bc4e 100644 --- a/source/_components/binary_sensor.threshold.markdown +++ b/source/_components/binary_sensor.threshold.markdown @@ -14,7 +14,6 @@ ha_release: 0.34 ha_qa_scale: internal --- - The `threshold` binary sensor platform observes the state of another sensor. If the value is below (`lower`) or higher (`upper`) than the given threshold then state of the threshold sensor is changed. It support also a range if `lower` and `upper` are given. If the sensor is configured with no hysteresis and the sensor value is equal to the threshold, the sensor is turned off since it is not `lower` or `upper` with respect to the threshold. @@ -61,6 +60,5 @@ name: description: Name of the sensor to use in the frontend. required: false type: string - default: + default: Threshold {% endconfiguration %} - diff --git a/source/_components/camera.arlo.markdown b/source/_components/camera.arlo.markdown index a634e8d8d91..cd748d21b17 100644 --- a/source/_components/camera.arlo.markdown +++ b/source/_components/camera.arlo.markdown @@ -26,8 +26,11 @@ camera: ffmpeg_arguments: '-pred 1 -q:v 2' ``` -Configuration variables: - -- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. +{% configuration %} +ffmpeg_arguments: + description: Extra options to pass to ffmpeg, e.g., image quality or video filter options. + required: false + type: string +{% endconfiguration %} **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. diff --git a/source/_components/climate.ephember.markdown b/source/_components/climate.ephember.markdown index d2fba985e2c..ebcdb1fccbe 100644 --- a/source/_components/climate.ephember.markdown +++ b/source/_components/climate.ephember.markdown @@ -27,10 +27,16 @@ climate: A single interface can handle up to 32 connected devices. -Configuration variables: - -- **username** (*Required*): The email address you used to sign up to the EMBER app -- **password** (*Required*): The password you used to sign up to the EMBER app +{% configuration %} +username: + description: The email address you used to sign up to the EMBER app. + required: true + type: string +password: + description: The password you used to sign up to the EMBER app. + required: true + type: string +{% endconfiguration %} The supported operation modes map to the ON/OFF period selection of your timeswitch / EMBER app. These include: diff --git a/source/_components/climate.oem.markdown b/source/_components/climate.oem.markdown index 1f07cf6bd58..98e9933cffc 100644 --- a/source/_components/climate.oem.markdown +++ b/source/_components/climate.oem.markdown @@ -26,12 +26,32 @@ climate oem: host: 192.168.0.100 ``` -Configuration variables: - -- **host** (*Required*): The IP address or hostname of the thermostat. -- **port** (*Optional*): The port for the web interface. Defaults to 80. -- **name** (*Optional*): The name to use for the frontend. -- **username** (*Optional*): Username for the web interface if set. -- **password** (*Optional*): Password for the web interface if set. -- **away_temp** (*Optional*): Setpoint for the thermostat in away mode. Defaults to 14 C. - +{% configuration %} +host: + description: The IP address or hostname of the thermostat. + required: true + type: string +port: + description: The port for the web interface. + required: false + default: 80 + type: integer +name: + description: The name to use for the frontend. + required: false + default: Thermostat + type: string +username: + description: Username for the web interface if set. + required: inclusive + type: string +password: + description: Password for the web interface if set. + required: inclusive + type: string +away_temp: + description: Setpoint for the thermostat in away mode. + required: false + default: 14.0 + type: float +{% endconfiguration %} diff --git a/source/_components/cloudflare.markdown b/source/_components/cloudflare.markdown index b2f5ad956cd..de36ccbe86f 100644 --- a/source/_components/cloudflare.markdown +++ b/source/_components/cloudflare.markdown @@ -28,9 +28,9 @@ To use the component in your installation, add the following to your `configurat ```yaml # Example configuration.yaml entry cloudflare: - email: user@example.com - api_key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41 - zone: example.com + email: YOUR_EMAIL_ADDRESS + api_key: YOUR_GLOBAL_API_KEY + zone: EXAMPLE.COM records: - bin - www diff --git a/source/_components/coinbase.markdown b/source/_components/coinbase.markdown index bbe82837d40..f45ffa69888 100644 --- a/source/_components/coinbase.markdown +++ b/source/_components/coinbase.markdown @@ -25,8 +25,8 @@ To set it up, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry coinbase: - api_key: asdfghjklqwertyuiopzxcvbnm - api_secret: nkjnewncfghjklqwertyuiopzxcvbnm + api_key: YOUR_API_KEY + api_secret: YOUR_API_SECRET exchange_rate_currencies: - BTC - ETH diff --git a/source/_components/cover.garadget.markdown b/source/_components/cover.garadget.markdown index 0a3b5de358e..e232a615089 100644 --- a/source/_components/cover.garadget.markdown +++ b/source/_components/cover.garadget.markdown @@ -25,24 +25,42 @@ To enable Garadget Covers in your installation, add the following to your `confi cover: - platform: garadget covers: - 190028001947343412342341: - username: YOUR_USERNAME - password: YOUR_PASSWORD + 190028001947343412342341: + username: YOUR_USERNAME + password: YOUR_PASSWORD 4c003f001151353432134214: access_token: df4cc785ff818f2b01396c44142342fccdef ``` -Configuration variables: - -- **covers** array (*Required*): List of your doors. - - **device** (*Required*): This is the device id from your Garadget portal. - - Either: - - **username** (*Required*): Your Garadget account username. - - **password** (*Required*): Your Garadget account password. - - Or: - - **access_token** (*Required*): A generated `access_token` from your Garadget account. - - **name** (*Optional*): Name to use in the frontend, will use name configured in Garadget otherwise. - +{% configuration %} +covers: + description: List of your doors. + required: true + type: list + keys: + device: + description: This is the device id from your Garadget portal. + required: true + type: string + keys: + username: + description: Your Garadget account username. + required: true + type: string + password: + description: Your Garadget account password. + required: true + type: string + access_token: + description: A generated `access_token` from your Garadget account. + required: true + type: string + name: + description: me to use in the frontend, will use name configured in Garadget otherwise. + required: false + default: Garadget + type: string +{% endconfiguration %} If provided, the **access_token** will be used, otherwise the **username** and **password** will be used to automatically generate an access token at start time. diff --git a/source/_components/cover.rfxtrx.markdown b/source/_components/cover.rfxtrx.markdown index 342677cb5ae..801d0644b6b 100644 --- a/source/_components/cover.rfxtrx.markdown +++ b/source/_components/cover.rfxtrx.markdown @@ -61,12 +61,31 @@ cover: name: Bathroom Shutter ``` -Configuration variables: - -- **devices** (*Required*): A list of devices with their name to use in the frontend. -- **automatic_add** (*Optional*): To enable the automatic addition of new covers (Siemens/LightwaveRF only). -- **signal_repetitions** (*Optional*): Because the rxftrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the roller shutter to try to send each signal repeatedly. -- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations. +{% configuration %} +devices: + description: A list of devices. + required: false + type: list + keys: + name: + description: Override the name to use in the frontend. + required: true + type: string + fire_event: + description: Fires an event even if the state is the same as before. Can be used for automations. + required: false + default: false + type: boolean +automatic_add: + description: To enable the automatic addition of new covers (Siemens/LightwaveRF only). + required: false + default: false + type: boolean +signal_repetitions: + description: Because the rxftrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the roller shutter to try to send each signal repeatedly. + required: false + type: integer +{% endconfiguration %}
If a device ID consists of only numbers, please make sure to surround it with quotes. diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index 07d2eee540f..f478fdea748 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -19,7 +19,7 @@ The `fritz` platform offers presence detection by looking at connected devices t
It might be necessary to install additional packages: $ sudo apt-get install python3-lxml
-If you installed Home Assistant in a virtualenv, run the following commands inside it: $ sudo apt-get install libxslt-dev libxml2-dev zlib1g-dev; pip install lxml
; be patient this will take a while.
$ sudo apt-get install libxslt-dev libxml2-dev zlib1g-dev; pip3 install lxml
; be patient this will take a while.
## {% linkable_title Configuration %}
diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown
index 6d1b2d5446a..69d5e094682 100644
--- a/source/_components/device_tracker.gpslogger.markdown
+++ b/source/_components/device_tracker.gpslogger.markdown
@@ -13,6 +13,18 @@ ha_release: 0.34
The `gpslogger` device tracker platform allows you to detect presence using [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 `GET` request to update GPS coordinates. This can be configured with Home Assistant to update your location.
+## {% linkable_title Auth change release 0.77 and above %}
+
+Since release 0.77, we now have long-lived access tokens. These are setup under your profile.
+
+```yaml
+# Example configuration.yaml entry
+device_tracker:
+ - platform: gpslogger
+```
+
+## {% linkable_title Before release 0.77 %}
+
To integrate GPSLogger in Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
@@ -68,7 +80,8 @@ Add the above URL after you modified it with your settings into the **URL** fiel
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters.
-- Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL.
+- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting
+- **<0.77** Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL.
- You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`.
If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
diff --git a/source/_components/device_tracker.nmap_tracker.markdown b/source/_components/device_tracker.nmap_tracker.markdown
index aa268fe6fcf..27cbb88d448 100644
--- a/source/_components/device_tracker.nmap_tracker.markdown
+++ b/source/_components/device_tracker.nmap_tracker.markdown
@@ -46,7 +46,7 @@ home_interval:
required: false
type: integer
exclude:
- description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
+ description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error and authentication failures), so excluding that host is a good idea.
required: false
type: list
scan_options:
diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown
index 8a73869f5b6..9edb7356213 100644
--- a/source/_components/ecobee.markdown
+++ b/source/_components/ecobee.markdown
@@ -48,7 +48,7 @@ To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
ecobee:
- api_key: asdfghjklqwertyuiopzxcvbnm
+ api_key: YOUR_API_KEY
```
{% configuration %}
diff --git a/source/_components/envisalink.markdown b/source/_components/envisalink.markdown
index 57deb9f53fb..15c3283d38a 100644
--- a/source/_components/envisalink.markdown
+++ b/source/_components/envisalink.markdown
@@ -54,20 +54,76 @@ envisalink:
name: 'Home Alarm'
```
-Configuration variables:
-
-- **host** (*Required*): The IP address of the Envisalink device on your home network.
-- **panel_type** (*Required*): `HONEYWELL` or `DSC`, depending upon which alarm system you have.
-- **user_name** (*Required*): Which username to authenticate with when connecting to the device. On a Honeywell alarm panel, the username/password are the same.
-- **password** (*Required*): Which password to authenticate with when connecting to the device. EVL3 only works with max. 6 characters.
-- **code** (*Required*): Your alarm panel's code, for authenticating user input during arm/disarm.
-- **port** (*Optional*): Which network port to connect with. Default: `4025`
-- **evl_version** (*Optional*): 3 for evl3, or 4 for evl4. Default: `3`
-- **keepalive_interval** (*Optional*): This is a periodic heartbeat signal (measured in seconds) sent to your Envisalink board to keep it from restarting. This is required for DSC and Honeywell systems. Defaults to `60` seconds.
-- **zonedump_interval** (*Optional*): This is an interval (measured in seconds) where the evl will dump out all zone statuses. This is required for Honeywell systems, which do not properly send zone closure events. DSC boards do not technically need this. Default: `30`
-- **panic_type** (*Optional*): Both DSC and Honeywell boards support a "panic" alarm. This is used when the alarm_trigger service is called in Home Assistant. This determines which type of panic alarm to raise. Default = Police. Valid values are: Police, Fire, Ambulance
-- **zones** (*Optional*): Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.envisalink/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*
-- **partitions** (*Optional*): Again, Envisalink boards do not tell us what is in use and what is not, so each partition must be configured with a partition name. If no partition parameter is specified, then no alarm_panel or sensor components are loaded.
+{% configuration %}
+host:
+ description: The IP address of the Envisalink device on your home network.
+ required: true
+ type: string
+panel_type:
+ description: "`HONEYWELL` or `DSC`, depending upon which alarm system you have."
+ required: true
+ type: string
+user_name:
+ description: Which username to authenticate with when connecting to the device. On a Honeywell alarm panel, the username/password are the same.
+ required: true
+ type: string
+password:
+ description: Which password to authenticate with when connecting to the device. EVL3 only works with max. 6 characters.
+ required: true
+ type: string
+code:
+ description: Your alarm panel's code, for authenticating user input during arm/disarm.
+ required: true
+ type: string
+port:
+ description: Which network port to connect with.
+ required: false
+ default: 4025
+ type: integer
+evl_version:
+ description: 3 for evl3, or 4 for evl4.
+ required: false
+ default: 3
+ type: integer
+keepalive_interval:
+ description: This is a periodic heartbeat signal (measured in seconds) sent to your Envisalink board to keep it from restarting. This is required for DSC and Honeywell systems.
+ required: false
+ default: 60
+ type: integer
+zonedump_interval:
+ description: This is an interval (measured in seconds) where Envisalink will dump out all zone statuses. This is required for Honeywell systems, which do not properly send zone closure events. DSC boards do not technically need this.
+ required: false
+ default: 30
+ type: integer
+panic_type:
+ description: "Both DSC and Honeywell boards support a panic alarm. This is used when the alarm_trigger service is called in Home Assistant. This determines which type of panic alarm to raise. Valid values are: Police, Fire, Ambulance."
+ required: false
+ default: Police
+ type: string
+zones:
+ description: "Envisalink boards have no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.envisalink/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*"
+ required: false
+ type: integer
+ keys:
+ name:
+ description: Zone name
+ required: true
+ type: string
+ type:
+ description: Zone type
+ required: false
+ default: opening
+ type: string
+partitions:
+ description: Again, Envisalink boards do not tell us what is in use and what is not, so each partition must be configured with a partition name. If no partition parameter is specified, then no alarm_panel or sensor components are loaded.
+ required: false
+ type: integer
+ keys:
+ name:
+ description: Partition name
+ required: true
+ type: string
+{% endconfiguration %}
Supported services:
diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown
index 62de1665b79..412906f799a 100644
--- a/source/_components/google_assistant.markdown
+++ b/source/_components/google_assistant.markdown
@@ -13,21 +13,26 @@ featured: true
ha_release: 0.56
---
-- Use [Home Assistant Cloud](/cloud/) to integrate with Google Assistant without any effort. -
- The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device. +## {% linkable_title Automatic setup via Home Assistant Cloud %} + +With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Google Assistant. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial. + +## {% linkable_title Manual setup %} + The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up. --To use Google Assistant, your Home Assistant configuration has to be externally accessible with a hostname and SSL certificate. If you haven't already configured that, you should do so before continuing. +
+To use Google Assistant, your Home Assistant configuration has to be [externally accessible with a hostname and SSL certificate](/docs/configuration/remote/). If you haven't already configured that, you should do so before continuing.
## {% linkable_title Migrate to release 0.80 and above %} ++If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below. +
-Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your configuration, you need: +Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need: 1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/), look for the `Advanced Options` in the bottom left of the sidebar. - Under `Create an Action`, under the build section, modify `Add fulfillment URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, where `[YOUR HOME ASSISTANT URL:PORT]` is the domain / IP address and the port under which your Home Assistant instance is reachable. @@ -49,7 +54,7 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. -## {% linkable_title Setup %} +## {% linkable_title First time setup %} You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration. @@ -98,21 +103,21 @@ Now add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry google_assistant: - project_id: someproject-2d0b8 - api_key: [a Homegraph API Key generated for the Google Actions project] + project_id: YOUR_PROJECT_ID + api_key: YOUR_API_KEY exposed_domains: - - switch - - light - - group + - SWITCH + - LIGHT + - GROUP entity_config: switch.kitchen: - name: Custom Name for Google Assistant + name: CUSTOM_NAME_FOR_GOOGLE_ASSISTANT aliases: - - bright lights - - entry lights + - BRIGHT_LIGHTS + - ENTRY_LIGHTS light.living_room: expose: false - room: living room + room: LIVING_ROOM ``` {% configuration %} diff --git a/source/_components/group.markdown b/source/_components/group.markdown index d6b86a35329..81098bd5765 100644 --- a/source/_components/group.markdown +++ b/source/_components/group.markdown @@ -55,14 +55,32 @@ group: - device_tracker.mom_smith ``` -Configuration variables: - -- **view** (*Optional*): If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: yes` cannot be used as entities in other views. -- **name** (*Optional*): Name of the group. -- **icon** (*Optional*): If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text. If it's not a view, then the icon shows when this group is used in another group. -- **control** (*Optional*): Set value to `hidden`. If hidden then the group switch will be hidden. -- **entities** (*Required*): array or comma delimited string, list of entities to group. -- **all** (*Optional*) Set this to `true` if the group state should only turn _on_ if __all__ grouped entities are _on_. +{% configuration %} +name: + description: Name of the group. + required: false + type: string +view: + description: "If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: yes` cannot be used as entities in other views." + required: false + type: boolean +icon: + description: If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text. If it's not a view, then the icon shows when this group is used in another group. + required: false + type: string +control: + description: Set value to `hidden`. If hidden then the group switch will be hidden. + required: false + type: string +entities: + description: Array or comma delimited string, list of entities to group. + required: true + type: list +all: + description: Set this to `true` if the group state should only turn *on* if **all** grouped entities are *on*. + required: false + type: boolean +{% endconfiguration %}
diff --git a/source/_components/habitica.markdown b/source/_components/habitica.markdown
index fbd51c31267..7da9936d680 100644
--- a/source/_components/habitica.markdown
+++ b/source/_components/habitica.markdown
@@ -20,8 +20,8 @@ To use the component you should use this example configuration:
```yaml
# Minimum viable configuration.yaml entry
habitica:
- - api_user: 'REPLACE_ME_WITH_YOUR_USER_ID'
- api_key: 'REPLACE_ME_WITH_YOUR_API_KEY'
+ - api_user: YOUR_USER_ID
+ api_key: YOUR_API_KEY
```
You can specify several users, providing `api_user` and `api_key` for each.
diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown
index 8575af088b6..dceb3156781 100644
--- a/source/_components/homekit.markdown
+++ b/source/_components/homekit.markdown
@@ -12,17 +12,13 @@ ha_release: 0.64
logo: apple-homekit.png
---
-The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later.
+The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. However if you do encounter issues, checkout the [troubleshooting](#troubleshooting) section.
It might be necessary to install an additional package: `$ sudo apt-get install libavahi-compat-libdnssd-dev`
-- If you are upgrading Home Assistant from `0.65.x` and have used the HomeKit component, some accessories may not respond or may behave unusually. To fix these problems, you will need to remove the Home Assistant Bridge from your Home, stop Home Assistant and delete the `.homekit.state` file in your configuration folder and follow the Homekit [setup](#setup) steps again. -
- ```yaml # Example configuration.yaml entry configuring HomeKit homekit: @@ -129,9 +125,6 @@ homekit: default: '`switch`' {% endconfiguration %} -- If you use Z-Wave, or `discovery:` you'll need to disable auto-start, see the [section below](#disable-auto-start) for details on how to do this. You'll then need to start the HomeKit component once Z-Wave is ready, or an appropriate delay to allow your entities to be discovered. -
## {% linkable_title Setup %} @@ -145,17 +138,17 @@ homekit: After Home Assistant has started, the entities specified by the filter are exposed to `HomeKit` if they are [supported](#supported-components). To add them: 1. Open the Home Assistant frontend. A new card will display the `pin code`. 1. Open the `Home` app. -2. Choose `Add Accessory`, than select `Don't Have a Code or Can't Scan?` and enter the `pin code`. -4. Confirm the you are adding an `Uncertified Accessory` by clicking on `Add Anyway`. -5. Follow the setup be clicking on `Next` and lastly `Done` in the top right hand corner. -6. The `Home Assistant` Bridge and the Accessories should now be listed in the `Home` app. +2. Click `Add Accessory`, than select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`. +4. Confirm that you are adding an `Uncertified Accessory` by clicking on `Add Anyway`. +5. Enter the `PIN` code. +6. Follow the setup be clicking on `Next` and lastly `Done` in the top right hand corner. +7. The `Home Assistant` Bridge and the Accessories should now be listed in the `Home` app. After the setup is completed you should be able to control your Home Assistant components through `Home` and `Siri`. ## {% linkable_title Considerations %} - ### {% linkable_title Accessory ID %} Currently this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This however means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost. @@ -281,36 +274,62 @@ The following components are currently supported: | water_heater | WaterHeater | All water_heater devices. | -## {% linkable_title Error reporting %} +## {% linkable_title Troubleshooting %} -If you encounter any issues or bug and want to report them on `GitHub`, please follow these steps to make it easier for others to help and get your issue solved. +### {% linkable_title Deleting the `.homekit.state` file %} + +The `.homekit.state` file can be found in the configurations directory. You might need to enable `view hidden files` to see it. + 1. **Stop** Home Assistant + 2. Delete the `.homekit.state` file + 3. **Start** Home Assistant + +### {% linkable_title Errors during pairing %} + +If you encounter any issues during pairing, make sure to + 1. **Stop** Home Assistant + 2. Delete the `.homekit.state` file + 3. Edit your configuration (see below) + 4. **Start** Home Assistant -1. Enable debugging mode: ```yaml logger: default: warning logs: - homeassistant.components.homekit: debug - pyhap: debug -``` -2. Reproduce the bug / problem you have encountered. -3. Stop Home Assistant and copy the log from the log file. That is necessary since some errors only get logged, when Home Assistant is being shutdown. -4. Follow this link: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit) and open a new issue. -5. Fill out all fields and especially include the following information: - - The configuration entries for `homekit` and the `component` that is causing the issue. - - The log / traceback you have generated before. - - Screenshots of the failing entity in the `states` panel. + homeassistant.components.homekit: debug + pyhap: debug -## {% linkable_title Troubleshooting PIN not appearing %} - -In some instances, the PIN will not appear as a persistent status or in the log files despite deleting `.homekit.state`, enabling logging, and reboot. The log files will include the error ```Duplicate AID found when attempting to add accessory```. - -In such cases, modifying your configuration.yaml to add a filter limiting the included entities similar to the following: - -```yaml -filter: - include_domains: - - light +homekit: + filter: + include_entities: + - demo.demo ``` -Restart Home Assistant and re-attempt pairing - a persistent status should now correctly appear. +#### {% linkable_title PIN doesn't appear as persistent status %} +You might have paired the `Home Assistant Bridge` already. If not, delete the `.homekit.state` file ([guide](#deleting-the-homekitstate-file)). + +#### {% linkable_title `Home Assistant Bridge` doesn't appear in the Home App (for pairing) %} +For `Docker` users: make sure to set `network_mode: host`. Other reasons could be network related. Make sure to check your router configuration. For some it helped when the Home Assistant device was using WIFI, not LAN. Remember that the iOS device needs to be in the same local network as the Home Assistant device for paring. + +#### {% linkable_title Pairing hangs - zeroconf error %} +Paining eventually fails, you might see and an error message `NonUniqueNameException`. To resolve this, you need to replace a specific file. See the following git issues for more details: [home-assistant#14567](https://github.com/home-assistant/home-assistant/issues/14567) and [home-assistant#17181](https://github.com/home-assistant/home-assistant/issues/17181) + +#### {% linkable_title Duplicate AID found when attempting to add accessory %} +Two of your entities share the same `entity_id`. Either resolve this or configure the [filter](#configure-filter) to exclude them. + + +### {% linkable_title Issues during normal use %} + +#### {% linkable_title Pairing hangs - no error %} +Make sure that you don't try to add more then 100 accessories, see [device limit](#device-limit). In rare cases one of your entities doesn't work with the HomeKit component. Use the [filter](#configure-filter) to find out which one. Feel free to open a new issue in the `home-assistant` repo, so we can resolve it. + +#### {% linkable_title Some of my devices don't show up - Z-Wave / Discovery %} +See [disable auto start](#disable-auto-start) + +#### {% linkable_title Accessory not responding - after restart or update %} +See [device limit](#device-limit) + +#### {% linkable_title Accessory not responding - randomly %} +Unfortunately that sometimes happens at the moment. It might help to close the `Home` App and delete it from the cache. Usually the accessory should get back to responding after a few minutes at most. + +#### {% linkable_title Accessories not responding / behaving unusual - Upgrade from `0.65.x` %} +To fix this, you need to unpair the `Home Assistant Bridge`, delete the `.homekit.state` file ([guide](#deleting-the-homekitstate-file)) and pair it again. This should only be an issue if you're upgrading from `0.65.x` or below. diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index ad81ed426b3..f2b83c028d8 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -49,7 +49,7 @@ automation: ```yaml # Example configuration.yaml entry ifttt: - key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + key: YOUR_API_KEY ``` `key` is your API key which can be obtained by viewing the **Settings** of the [Webhooks applet](https://ifttt.com/services/maker_webhooks/settings). It's the last part of the URL (e.g., https://maker.ifttt.com/use/MYAPIKEY) you will find under **My Applets** > **Webhooks** > **Settings**. diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index 9149f802815..6576c55db3b 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -26,10 +26,10 @@ take a look at the [component](/components/image_processing/) page. # Example configuration.yaml entry image_processing: - platform: openalpr_cloud - api_key: 'sk_abcxyz123456' + api_key: YOUR_API_KEY region: eu source: - - entity_id: camera.garage + - entity_id: CAMERA.GARAGE ``` {% configuration %} diff --git a/source/_components/joaoapps_join.markdown b/source/_components/joaoapps_join.markdown index 61ef1c09c9c..abc7f3eedf5 100644 --- a/source/_components/joaoapps_join.markdown +++ b/source/_components/joaoapps_join.markdown @@ -28,15 +28,15 @@ To set it up, add the following information to your `configuration.yaml` file: # Example configuration.yaml entry notify: - platform: joaoapps_join - api_key: asd97823jb628a34fwsdfwefd5384345tf2d - device_id: d5asdfasdf54645h45h368761dfe5gt8a - device_ids: d5asdfasdf54645h45h368761dfe5gt8a, a4asdfasdf54645h45h368761dfe5gt3b - device_names: Pixel, iPhone - name: Phones + api_key: YOUR_API_KEY + device_id: DEVICE_ID + device_ids: DEVICE_ID_1, DEVICE_ID_2 + device_names: DEVICE_1_NAME, DEVICE_2_NAME + name: NAME joaoapps_join: - - name: android - device_id: group.android - api_key: asd97823jb628a34fwsdfwefd5384345tf2d + - name: NAME_OF_GROUP + device_id: GROUP.GROUP_NAME + api_key: YOUR_API_KEY ``` {% configuration %} diff --git a/source/_components/light.avion.markdown b/source/_components/light.avion.markdown index 68c40b1aac4..a47ca0c76d3 100644 --- a/source/_components/light.avion.markdown +++ b/source/_components/light.avion.markdown @@ -43,8 +43,8 @@ light: devices: 00:21:4D:00:00:01: name: Light 1 - api_key: Gr35a/rt3RgaRenl9ag8Ba== + api_key: YOUR_API_KEY 00:21:3D:20:00:a1: name: Light 2 - api_key: Gr35a/rt3RgaRenl9ag8Ba== + api_key: YOUR_API_KEY ``` diff --git a/source/_components/light.decora.markdown b/source/_components/light.decora.markdown index b40889a8c4f..44df220f9da 100644 --- a/source/_components/light.decora.markdown +++ b/source/_components/light.decora.markdown @@ -25,7 +25,7 @@ light: - platform: decora devices: 00:21:4D:00:00:01: - api_key: 0x12345678 + api_key: YOUR_API_KEY ``` {% configuration %} diff --git a/source/_components/light.osramlightify.markdown b/source/_components/light.osramlightify.markdown index d0479693e0c..ac80e46d08a 100644 --- a/source/_components/light.osramlightify.markdown +++ b/source/_components/light.osramlightify.markdown @@ -20,8 +20,20 @@ light: - platform: osramlightify host: 192.168.0.50 ``` -Configuration variables: -- **host** (*Required*): IP address of the Osram Lightify bridge, eg. `192.168.1.50`. -- **allow_lightify_nodes** (*Optional*): (true/false) Edit this to stop homeassistant from importing the lightify lights. -- **allow_lightify_groups** (*Optional*): (true/false) Edit this to stop homeassistant from importing the lightify groups. +{% configuration %} +host: + description: "IP address of the Osram Lightify bridge, e.g., `192.168.1.50`." + required: true + type: string +allow_lightify_nodes: + description: (true/false) Edit this to stop homeassistant from importing the lightify lights. + required: false + default: true + type: boolean +allow_lightify_groups: + description: (true/false) Edit this to stop homeassistant from importing the lightify groups. + required: false + default: true + type: boolean +{% endconfiguration %} diff --git a/source/_components/light.rfxtrx.markdown b/source/_components/light.rfxtrx.markdown index c83d9f71fc7..6795a5a2e25 100644 --- a/source/_components/light.rfxtrx.markdown +++ b/source/_components/light.rfxtrx.markdown @@ -54,12 +54,31 @@ light: name: Light_TV ``` -Configuration variables: - -- **devices** (*Required*): A list of devices with their name to use in the frontend. -- **automatic_add** (*Optional*): To enable the automatic addition of new lights. -- **signal_repetitions** (*Optional*): Because the RFXtrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly. -- **fire_event** (*Optional*): Fires an event even if the state is the same as before. Can be used for automations. +{% configuration %} +devices: + description: A list of devices. + required: false + type: list + keys: + name: + description: Override the name to use in the frontend. + required: true + type: string + fire_event: + description: Fires an event even if the state is the same as before. Can be used for automations. + required: false + default: false + type: boolean +automatic_add: + description: To enable the automatic addition of new lights. + required: false + default: false + type: boolean +signal_repetitions: + description: Because the RFXtrx device sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch to try to send each signal repeatedly. + required: false + type: integer +{% endconfiguration %}If a device ID consists of only numbers, please make sure to surround it with quotes. diff --git a/source/_components/light.x10.markdown b/source/_components/light.x10.markdown index 45df065a499..6b89fd85c29 100644 --- a/source/_components/light.x10.markdown +++ b/source/_components/light.x10.markdown @@ -30,7 +30,18 @@ light: name: Bedroom Lamp ``` -Configuration variables: - -- **id** (*Required*): Device identifier. Composed of house code and unit id. -- **name** (*Required*): A friendly name for the device. +{% configuration %} +devices: + description: A list of devices. + required: true + type: list + keys: + id: + description: Device identifier. Composed of house code and unit id. + required: true + type: string + name: + description: A friendly name for the device. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index 0aa2527d4f4..597910be02c 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -66,13 +66,13 @@ devices: #### {% linkable_title Music mode %} Per default the bulb limits the amount of requests per minute to 60, a limitation which can be bypassed by enabling the music mode. In music mode the bulb is commanded to connect back to a socket provided by the component and it tries to keep the connection open, which may not be wanted in all use-cases. -**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant**. +**Also note that bulbs in music mode will not update their state to "unavailable" if they are disconnected, which can cause delays in Home Assistant. Bulbs in music mode may also not react to commands from HASS the first time if the connection is dropped. If you experience this issue, turn the light off and back on again in the frontend and everything will return to normal.** ### {% linkable_title Initial setup %}
Before trying to control your light through Home Assistant, you have to setup your bulb using Yeelight app. ( [Android](https://play.google.com/store/apps/details?id=com.yeelight.cherry&hl=fr), [IOS](https://itunes.apple.com/us/app/yeelight/id977125608?mt=8) ). In the bulb property, you have to enable "LAN Mode" (previously called "Developer mode"). LAN mode may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb. -Determine your bulb IP (using router, software, ping ...). +Determine your bulb IP (using router, software, ping...). Information on how to enable "LAN Mode" can be found [here](https://getyeti.co/posts/how-to-control-yeelight-and-your-smarthome-with-yeti).
diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown index e1ecaefc72a..da274fe0a5b 100644 --- a/source/_components/mailgun.markdown +++ b/source/_components/mailgun.markdown @@ -23,12 +23,22 @@ To send messages, use the [Mailgun notify platform][notify]. ```yaml # Example configuration.yaml entry mailgun: - domain: mg.example.com - api_key: XXXXXXXXXXXXX + domain: EXAMPLE.COM + api_key: YOUR_API_KEY ``` -Configuration variables: - -- **domain** (*Required*): This is the domain name to be used when sending out mail. Defaults to the first custom domain you have set up. -- **api_key** (*Required*): This is the API token that has been generated in your Mailgun account. -- **sandbox** (*Deprecated*): Whether to use the sandboxed domain for outgoing mail. Since the `domain` item is required, it should be set to the sandbox domain name, so this isn't needed. Defaults to `False`. +{% configuration %} +domain: + description: This is the domain name to be used when sending out mail. Needs to be the first custom domain you have set up. + required: true + type: string +api_key: + description: This is the API token that has been generated in your Mailgun account. + required: true + type: string +sandbox: + description: "(**Deprecated**) Whether to use the sandboxed domain for outgoing mail. Since the `domain` item is required, it should be set to the sandbox domain name, so this isn't needed." + required: false + default: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/media_player.cmus.markdown b/source/_components/media_player.cmus.markdown index 1415de1e547..ce5406887b3 100644 --- a/source/_components/media_player.cmus.markdown +++ b/source/_components/media_player.cmus.markdown @@ -33,9 +33,23 @@ media_player: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Optional*): Hostname or IP address of the machine running cmus. Note if a remote cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set. -- **password** (*Required if host is set*): Password for your cmus player. -- **port** (*Optional*): Port of the cmus socket, defaults to 3000. -- **name** (*Optional*): The name you'd like to give the cmus player in Home Assistant +{% configuration %} +host: + description: Hostname or IP address of the machine running cmus. Note if a remote cmus is configured that instance must be configured to listen to remote connections, which also requires a password to be set. + required: inclusive + type: string +password: + description: Password for your cmus player. + required: inclusive + type: string +port: + description: Port of the cmus socket. + required: false + default: 3000 + type: integer +name: + description: The name you'd like to give the cmus player in Home Assistant. + required: false + default: cmus + type: string +{% endconfiguration %} diff --git a/source/_components/media_player.directv.markdown b/source/_components/media_player.directv.markdown index f7f6559619e..d27b10e1101 100644 --- a/source/_components/media_player.directv.markdown +++ b/source/_components/media_player.directv.markdown @@ -22,13 +22,27 @@ To ensure that your DirecTV boxes are always found and configured, they should b media_player: - platform: directv ``` -Configuration variables: - -- **host** (*Optional*): Use only if you don't want to scan for devices. -- **port** (*Optional*): The port your receiver is using. Defaults to `8080`. -- **name** (*Optional*): Use to give a specific name to the device. -- **device** (*Optional*): Use to specify a particular receiver in a Genie setup. +{% configuration %} +host: + description: The IP address or the hostname of the device. Use only if you don't want to scan for devices. + required: false + type: string +port: + description: The port your receiver is using. + required: false + default: 8080 + type: integer +name: + description: Use to give a specific name to the device. + required: false + default: DirecTV Receiver + type: string +device: + description: Use to specify a particular receiver in a Genie setup. + required: false + type: string +{% endconfiguration %} To find valid device IDs, open `http://-The Frontier Silicon API does not provide a multi-user environment. There is always a single user (session) controlling a device, which means that once Home Assistant connects to a device all other sessions will be invalidated. This renders the usage of [UNDOK] almost impossible, as the Home Assistant component polls the device state every 30 seconds or issues a command by creating a new session. +The Frontier Silicon API does not provide a multi-user environment. There is always a single user (session) controlling a device, which means that once Home Assistant connects to a device all other sessions will be invalidated. This renders the usage of [UNDOK] almost impossible, as the Home Assistant component polls the device state every 30 seconds or issues a command by creating a new session. *If you want to prevent Home Assistant to auto connect to your device, simply change the PIN code of the device to something else than: 1234*
@@ -94,4 +106,3 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw [UNDOK]: http://www.frontier-silicon.com/undok [flammy]: https://github.com/flammy/fsapi/ [tiwillam]: https://github.com/tiwilliam/fsapi - diff --git a/source/_components/media_player.gpmdp.markdown b/source/_components/media_player.gpmdp.markdown index c65ed0dff0f..b0cbb0d58fa 100644 --- a/source/_components/media_player.gpmdp.markdown +++ b/source/_components/media_player.gpmdp.markdown @@ -28,8 +28,14 @@ media_player: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): IP address of the computer running GPMDP. -- **name** (*Optional*): Name of the player. - +{% configuration %} +host: + description: The IP address of the computer running GPMDP. + required: true + type: string +name: + description: Name of the player. + required: false + default: GPM Desktop Player + type: string +{% endconfiguration %} diff --git a/source/_components/media_player.lg_netcast.markdown b/source/_components/media_player.lg_netcast.markdown index 7a60e235781..135ffac5914 100644 --- a/source/_components/media_player.lg_netcast.markdown +++ b/source/_components/media_player.lg_netcast.markdown @@ -25,11 +25,21 @@ media_player: host: 192.168.0.20 ``` -Configuration variables: - -- **host** (*Required*): The IP address of the LG Smart TV, eg. 192.168.0.20 -- **access_token** (*Optional*): The access token needed to connect. -- **name** (*Optional*): The name you would like to give to the LG Smart TV. The default is "LG TV Remote". +{% configuration %} +host: + description: The IP address of the LG Smart TV, e.g., 192.168.0.20. + required: true + type: string +access_token: + description: The access token needed to connect. + required: false + type: string +name: + description: The name you would like to give to the LG Smart TV. + required: false + default: LG TV Remote + type: string +{% endconfiguration %} To get the access token for your TV configure the `lg_netcast` platform in Home Assistant without the `access_token`. After starting Home Assistant the TV will display the access token on screen. @@ -38,4 +48,3 @@ Just add the token to your configuration and restart Home Assistant and the mediThe access token will not change until you factory reset your TV.
- diff --git a/source/_components/media_player.mpchc.markdown b/source/_components/media_player.mpchc.markdown index 98f6846f3a1..a963faf5406 100644 --- a/source/_components/media_player.mpchc.markdown +++ b/source/_components/media_player.mpchc.markdown @@ -38,8 +38,19 @@ media_player: host: http://192.168.0.123 ``` -Configuration variables: - -- **host** (*Required*): The host name or address of the device that is running MPC-HC. -- **port** (*Optional*): The port number. Defaults to 13579. -- **name** (*Optional*): The name of the device used in the frontend. +{% configuration %} +host: + description: The host name or IP address of the device that is running MPC-HC. + required: true + type: string +port: + description: The port number of the device. + required: false + default: 13579 + type: integer +name: + description: The name of the device used in the frontend. + required: false + default: MPC-HC + type: string +{% endconfiguration %} diff --git a/source/_components/media_player.pioneer.markdown b/source/_components/media_player.pioneer.markdown index 6bc6d1a5b00..958cee2fe55 100644 --- a/source/_components/media_player.pioneer.markdown +++ b/source/_components/media_player.pioneer.markdown @@ -25,12 +25,26 @@ media_player: host: 192.168.0.10 ``` -Configuration variables: - -- **host** (*Required*): The IP of the Pioneer device, eg. `192.168.0.10` -- **name** (*Optional*): The name you would like to give to the receiver. -- **port** (*Optional*): The port on which the Pioneer device listens, e.g., `23` (default) or `8102` -- **timeout** (*Optional*): Number of seconds (float) to wait for blocking operations like connect, write, and read. +{% configuration %} +host: + description: The IP of the Pioneer device, e.g., `192.168.0.10`. + required: true + type: string +name: + description: The name you would like to give to the receiver. + required: false + default: Pioneer AVR + type: string +port: + description: The port on which the Pioneer device listens, e.g., `23` or `8102`. + required: false + default: 23 + type: integer +timeout: + description: Number of seconds (float) to wait for blocking operations like connect, write and read. + required: false + type: float +{% endconfiguration %} Notes: diff --git a/source/_components/media_player.roku.markdown b/source/_components/media_player.roku.markdown index c7771e0f406..d301898db11 100644 --- a/source/_components/media_player.roku.markdown +++ b/source/_components/media_player.roku.markdown @@ -23,6 +23,9 @@ media_player: - platform: roku ``` -Configuration variables: - -- **host** (*Optional*): Use only if you don't want to scan for devices. +{% configuration %} +host: + description: The IP address or the hostname of the device. Use only if you don't want to scan for devices. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 92139ec1d54..160b26b83b7 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -93,11 +93,13 @@ Currently known supported models: - UE6199UXZG (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button) - Q7F (port must be set to 8001, MAC must be specified for Power On) - UE40KU6400U (port must be set to 8001, and `pip3 install websocket-client` must be executed) +- NU7400 (port set to 8001 and `pip3 install websocket-client` executed) Currently tested but not working models: - J5200 - Unable to see state and unable to control - J5500 - State is always "on" and unable to control (but port 8001 *is* open) +- J6300 - State is always "on" and unable to control (but port 8001 *is* open) - JU7000 - Unable to see state and unable to control (but port 8001 *is* open) - JU7500 - Unable to see state and unable to control - JS8005 - State tracking working but unable to control (but port 8001 *is* open) diff --git a/source/_components/media_player.yamaha_musiccast.markdown b/source/_components/media_player.yamaha_musiccast.markdown index 925f378816c..b95f9ff28f9 100644 --- a/source/_components/media_player.yamaha_musiccast.markdown +++ b/source/_components/media_player.yamaha_musiccast.markdown @@ -34,6 +34,7 @@ port: description: UDP source port. If multiple devices are present, specify a different port per device. required: false type: integer + default: 5005 interval_seconds: description: Polling interval in seconds. required: false diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown index 402cef31af2..75581a49746 100644 --- a/source/_components/modbus.markdown +++ b/source/_components/modbus.markdown @@ -14,13 +14,16 @@ ha_iot_class: "Local Push" --- -[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable logic controller). It currently supports sensors and switches which can be controlled over serial, TCP, and UDP connections. +[Modbus](http://www.modbus.org/) is a serial communication protocol to control PLCs (Programmable logic controller). +It currently supports sensors and switches which can be controlled over serial, TCP, and UDP connections. ## {% linkable_title Configuration %} -To add modbus to your installation, add the following to your `configuration.yaml` file: +The configuration for adding modbus to your installation depends on the connection type, either a network or serial connection. -For a network connection: +### {% linkable_title Network connection %} + +For a network connection, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry for a TCP connection @@ -40,7 +43,7 @@ host: required: true type: string port: - description: The port for the communication. + description: The network port for the communication. required: true type: integer timeout: @@ -50,7 +53,9 @@ timeout: type: integer {% endconfiguration %} -For a serial connection: +### {% linkable_title Serial connection %} + +For a serial connection, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry for a serial connection @@ -66,11 +71,11 @@ modbus: {% configuration %} type: - description: Type of the connection to Modbus. + description: "Type of the connection to Modbus, needs to be `serial` for this setup." required: true type: string method: - description: Method of the connection to Modbus. + description: "Method of the connection to Modbus, either `rtu` or `ascii`." required: true type: string port: @@ -82,15 +87,15 @@ baudrate: required: true type: integer stopbits: - description: The stopbits for the serial connection. + description: "The stopbits for the serial connection, either `1` or `2`." required: true type: integer bytesize: - description: The bytesize for the serial connection. + description: "The bytesize for the serial connection; can be `5`, `6`, `7` or `8`." required: true type: integer parity: - description: The parity for the serial connection. + description: "The parity for the serial connection; can be `E`, `O` or `N`." required: true type: string timeout: diff --git a/source/_components/notify.facebook.markdown b/source/_components/notify.facebook.markdown index 5b4e4979477..1625d2692bf 100644 --- a/source/_components/notify.facebook.markdown +++ b/source/_components/notify.facebook.markdown @@ -24,10 +24,17 @@ notify: page_access_token: FACEBOOK_PAGE_ACCESS_TOKEN ``` -Configuration variables: - -- **page_access_token** (*Required*): Access token for your Facebook page. Checkout [Facebook Messenger Platform](https://developers.facebook.com/docs/messenger-platform/guides/setup) for more information. -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. +{% configuration %} +page_access_token: + description: "Access token for your Facebook page. Checkout [Facebook Messenger Platform](https://developers.facebook.com/docs/messenger-platform/guides/setup) for more information." + required: true + type: string +name: + description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + default: "`notify`" + type: string +{% endconfiguration %} ### {% linkable_title Usage %} @@ -134,4 +141,3 @@ To enable broadcast just use the keyword "BROADCAST" as your target. Only put ON target: - BROADCAST ``` - diff --git a/source/_components/notify.hangouts.markdown b/source/_components/notify.hangouts.markdown index 3f69c3f5b30..4903b487135 100644 --- a/source/_components/notify.hangouts.markdown +++ b/source/_components/notify.hangouts.markdown @@ -48,7 +48,7 @@ default_conversations: ### {% linkable_title Finding the conversation ID %} -The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity, this can be found in with the states developer tool that is shown as this icon
It might be necessary to install additional packages: $ sudo apt-get install libxslt-dev libxml2-dev python3-lxml
-If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip install lxml
; be patient this will take a while.
+If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip3 install lxml
; be patient this will take a while.
If a device ID consists of only numbers, please make sure to surround it with quotes.
diff --git a/source/_components/sensor.spotcrime.markdown b/source/_components/sensor.spotcrime.markdown
index 166a2d5877a..deab6188fab 100644
--- a/source/_components/sensor.spotcrime.markdown
+++ b/source/_components/sensor.spotcrime.markdown
@@ -25,9 +25,9 @@ To enable this sensor, add the following lines to your `configuration.yaml`. You
```yaml
sensor:
- platform: spotcrime
- name: If no **host** is given the platform will try to auto-discover all devices on the network, that are listening on the given **port_recv**.
This component and the [rfxtrx binary sensor](/components/binary_sensor.rfxtrx/) can steal each other's devices when setting the `automatic_add` configuration parameter to `true`. Set `automatic_add` only when you have some devices to add to your installation, otherwise leave it to `False`.
diff --git a/source/_components/telegram_bot.broadcast.markdown b/source/_components/telegram_bot.broadcast.markdown
index 4fc78da1277..895e5b3cd72 100644
--- a/source/_components/telegram_bot.broadcast.markdown
+++ b/source/_components/telegram_bot.broadcast.markdown
@@ -21,7 +21,7 @@ To integrate this into Home Assistant, add the following section to your `config
telegram_bot:
- platform: broadcast
- api_key:
+The [embedded MQTT broker](/docs/mqtt/broker#embedded-broker) does not save any messages between restarts. If you use the embedded MQTT broker you have to send the MQTT discovery messages after every Home Assistant restart for the devices to show up.
+ template developer tools, create your template in the _Template editor_ and check the results on the right.
+
### {% linkable_title States %}
The next two statements result in same value if state exists. The second one will result in an error if state does not exist.
@@ -133,7 +147,7 @@ Print an attribute if state is defined. Both will return the same thing but the
{% raw %}
```text
{% if states.device_tracker.paulus %}
- {{ states.device_tracker.paulus.attributes.battery }}
+ {{ state_attr('device_tracker.paulus', 'battery') }}
{% else %}
??
{% endif %}
@@ -170,9 +184,9 @@ Print out a list of all the sensor states.
Paulus is at {{ states('device_tracker.paulus') }}.
{% endif %}
-{{ states.sensor.temperature | float + 1 }}
+{{ states('sensor.temperature') | float + 1 }}
-{{ (states.sensor.temperature | float * 10) | round(2) }}
+{{ (states('sensor.temperature') | float * 10) | round(2) }}
{% if states('sensor.temperature') | float > 20 %}
It is warm!
diff --git a/source/_docs/ecosystem/appdaemon/api.markdown b/source/_docs/ecosystem/appdaemon/api.markdown
index 4464e699717..09fcfd6781b 100755
--- a/source/_docs/ecosystem/appdaemon/api.markdown
+++ b/source/_docs/ecosystem/appdaemon/api.markdown
@@ -317,10 +317,10 @@ state = self.get_state("switch")
state = self.get_state("light.office_1")
# Return the brightness attribute for light.office_1
-state = self.get_state("light.office_1", "brightness")
+state = self.get_state("light.office_1", attribute = "brightness")
# Return the entire state for light.office_1
-state = self.get_state("light.office_1", "all")
+state = self.get_state("light.office_1", attribute = "all")
```
### {% linkable_title set_state() %}
diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown
index 53e1fc9383d..3c6a1d9cec4 100644
--- a/source/_docs/mqtt/discovery.markdown
+++ b/source/_docs/mqtt/discovery.markdown
@@ -38,6 +38,10 @@ Configuration variables:
- **discovery** (*Optional*): If the MQTT discovery should be enabled or not. Defaults to `False`.
- **discovery_prefix** (*Optional*): The prefix for the discovery topic. Defaults to `homeassistant`.
+