From db30e60a44d4c8f361d6458a105d4e75c5a1edee Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Sun, 21 Oct 2018 17:03:41 +0200 Subject: [PATCH 01/73] More various improvements (#6991) Things starting with 'ca' --- source/_components/calendar.google.markdown | 2 +- source/_components/camera.amcrest.markdown | 2 + .../camera.android_ip_webcam.markdown | 4 +- source/_components/camera.arlo.markdown | 2 + source/_components/camera.bloomsky.markdown | 1 - source/_components/camera.canary.markdown | 10 ++- source/_components/camera.dispatcher.markdown | 2 + source/_components/camera.doorbird.markdown | 2 + source/_components/camera.ffmpeg.markdown | 4 +- source/_components/camera.foscam.markdown | 1 - source/_components/camera.generic.markdown | 3 +- source/_components/camera.local_file.markdown | 2 + .../_components/camera.logi_circle.markdown | 2 +- source/_components/camera.markdown | 4 +- source/_components/camera.mjpeg.markdown | 2 + source/_components/camera.mqtt.markdown | 30 +++---- source/_components/camera.neato.markdown | 1 - source/_components/camera.netatmo.markdown | 4 +- source/_components/camera.onvif.markdown | 7 +- source/_components/camera.proxy.markdown | 80 +++++++++---------- source/_components/camera.push.markdown | 12 +-- source/_components/camera.ring.markdown | 2 +- source/_components/camera.rpi_camera.markdown | 22 +++-- source/_components/camera.synology.markdown | 7 +- source/_components/camera.usps.markdown | 3 +- source/_components/camera.uvc.markdown | 1 - source/_components/camera.verisure.markdown | 2 - source/_components/camera.xeoma.markdown | 10 ++- source/_components/camera.xiaomi.markdown | 7 +- source/_components/camera.yi.markdown | 4 +- source/_components/camera.zoneminder.markdown | 3 +- source/_components/canary.markdown | 26 +++--- 32 files changed, 137 insertions(+), 127 deletions(-) diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index ffa9233da25..f47ee421ac3 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -177,7 +177,7 @@ Trigger as soon as an event starts: to: 'on' ``` -By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored. +By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored. For example, the actions following this condition will only be executed for events named 'vacation': diff --git a/source/_components/camera.amcrest.markdown b/source/_components/camera.amcrest.markdown index 73a6ca444f0..a4b5002bd7f 100644 --- a/source/_components/camera.amcrest.markdown +++ b/source/_components/camera.amcrest.markdown @@ -15,6 +15,8 @@ ha_release: 0.34 To get your [Amcrest](https://amcrest.com/) cameras working within Home Assistant, please follow the instructions for the general [Amcrest component](/components/amcrest). +## {% linkable_title Configuration %} + Once you have enabled the [Amcrest component](/components/amcrest), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.android_ip_webcam.markdown b/source/_components/camera.android_ip_webcam.markdown index 8aa3455faa8..0084fcebdb1 100644 --- a/source/_components/camera.android_ip_webcam.markdown +++ b/source/_components/camera.android_ip_webcam.markdown @@ -13,9 +13,10 @@ ha_release: "0.40" ha_iot_class: "Local Polling" --- - The `android_ip_webcam` component adds a camera by default if you choose not to use the component but still want to see the video feed then the [`mjpeg` camera](/components/camera.mjpeg/) platform can be used. +## {% linkable_title Configuration %} + To enable only the camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -24,4 +25,3 @@ camera: - platform: mjpeg mjpeg_url: http://IP_ADDRESS:8080/video ``` - diff --git a/source/_components/camera.arlo.markdown b/source/_components/camera.arlo.markdown index cd748d21b17..07b8fb3f726 100644 --- a/source/_components/camera.arlo.markdown +++ b/source/_components/camera.arlo.markdown @@ -17,6 +17,8 @@ To get your [Arlo](https://arlo.netgear.com/) cameras working within Home Assist This component is not yet able to live stream from your Arlo camera, but it will be able to playback the last video capture. +## {% linkable_title Configuration %} + Once you have enabled the [Arlo component](/components/arlo), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.bloomsky.markdown b/source/_components/camera.bloomsky.markdown index 6c600b20a84..aec143513a8 100644 --- a/source/_components/camera.bloomsky.markdown +++ b/source/_components/camera.bloomsky.markdown @@ -13,7 +13,6 @@ ha_release: 0.13 ha_iot_class: "Local Polling" --- - The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky). ## {% linkable_title Configuration %} diff --git a/source/_components/camera.canary.markdown b/source/_components/camera.canary.markdown index 8e5f07f461f..6d46258424b 100644 --- a/source/_components/camera.canary.markdown +++ b/source/_components/camera.canary.markdown @@ -17,6 +17,8 @@ The `canary` camera platform allows you to watch the live stream of your [Canary To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). Once you have [Canary component](/components/canary/) setup, your [Canary](https://canary.is) camera(s) should show up automatically. +## {% linkable_title Configuration %} + You can add the following to your `configuration.yaml` file to configure `canary` camera with optional settings: ```yaml @@ -25,8 +27,8 @@ camera: ``` {% configuration %} - ffmpeg_arguments: - description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). - required: false - type: string +ffmpeg_arguments: + description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). + required: false + type: string {% endconfiguration %} diff --git a/source/_components/camera.dispatcher.markdown b/source/_components/camera.dispatcher.markdown index b0f3c63b851..05ceb99e2ca 100644 --- a/source/_components/camera.dispatcher.markdown +++ b/source/_components/camera.dispatcher.markdown @@ -19,6 +19,8 @@ This platform is meant for developers only. The `dispatcher` camera platform allows developers to create virtual camera's. +## {% linkable_title Configuration %} + You would normally not add this camera to your configuration directly but have it be discovered by one of the components that uses it. ```yaml diff --git a/source/_components/camera.doorbird.markdown b/source/_components/camera.doorbird.markdown index ce23d946725..4c0734e2695 100644 --- a/source/_components/camera.doorbird.markdown +++ b/source/_components/camera.doorbird.markdown @@ -19,6 +19,8 @@ The `doorbird` implementation allows you to view the live video and previous ima You must have the [DoorBird component](/components/doorbird/) configured to use this camera.

+## {% linkable_title Configuration %} + To enable the camera, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index e87ea211844..86f1c261f05 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -13,9 +13,10 @@ ha_release: 0.26 ha_iot_class: "Local Polling" --- - The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](http://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem. +## {% linkable_title Configuration %} + To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -44,5 +45,4 @@ extra_arguments: You can control the image quality with [`extra_arguments`](https://www.ffmpeg.org/ffmpeg-codecs.html#jpeg2000) `-q:v 2-32` or with lossless option `-pred 1`. - If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting). diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown index 8215b0f2ffb..3a0cbb53fae 100644 --- a/source/_components/camera.foscam.markdown +++ b/source/_components/camera.foscam.markdown @@ -12,7 +12,6 @@ ha_category: Camera ha_iot_class: "Local Polling" --- - The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant. ## {% linkable_title Configuration %} diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index a5c9d503d68..49349dc4605 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -13,11 +13,12 @@ ha_release: pre 0.7 ha_iot_class: "depends" --- - The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly. Home Assistant will serve the images via its server, making it possible to view your IP cameras while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]`. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.local_file.markdown b/source/_components/camera.local_file.markdown index cb870409c10..c94de28a5b7 100644 --- a/source/_components/camera.local_file.markdown +++ b/source/_components/camera.local_file.markdown @@ -17,6 +17,8 @@ The `local_file` camera platform allows you to integrate an image file from disk The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.logi_circle.markdown b/source/_components/camera.logi_circle.markdown index beed202eafa..20a742ffaef 100644 --- a/source/_components/camera.logi_circle.markdown +++ b/source/_components/camera.logi_circle.markdown @@ -35,8 +35,8 @@ camera: scan_interval: description: How frequently to query for new camera stills, value are in seconds. required: false - default: 60 type: integer + default: 60 {% endconfiguration %} ### {% linkable_title Service `camera.logi_circle_livestream_record` %} diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown index 499481eb098..0231195e04c 100644 --- a/source/_components/camera.markdown +++ b/source/_components/camera.markdown @@ -9,10 +9,9 @@ sharing: true footer: true --- - The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use [USB cameras](/blog/2016/06/23/usb-webcams-and-home-assistant/) as well. -### {% linkable_title Service %} +### {% linkable_title Services %} Once loaded, the `camera` platform will expose services that can be called to perform various actions. @@ -82,4 +81,3 @@ A simple way to test if you have set up your `camera` platform correctly, is to "entity_id": "camera.living_room_camera" } ``` - diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index f87595dfc6b..d4195ca7b54 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -16,6 +16,8 @@ ha_iot_class: "depends" The `mjpeg` camera platform allows you to integrate IP cameras which are capable to stream their video with MJPEG into Home Assistant. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/camera.mqtt.markdown b/source/_components/camera.mqtt.markdown index c7db3ae4ac2..177e89f8924 100644 --- a/source/_components/camera.mqtt.markdown +++ b/source/_components/camera.mqtt.markdown @@ -17,6 +17,8 @@ The `mqtt` camera platform allows you to integrate the content of an image file This can be used with an application or a service capable of sending images through MQTT, for example [Zanzito](https://play.google.com/store/apps/details?id=it.barbaro.zanzito). +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -27,18 +29,18 @@ camera: ``` {% configuration %} - topic: - description: MQTT topic to subscribe to. - required: true - type: string - name: - description: Name of the camera. - required: false - type: string - unique_id: - description: > - An ID that uniquely identifies this camera. If two cameras have the same unique ID - Home Assistant will raise an exception. - required: false - type: string +topic: + description: MQTT topic to subscribe to. + required: true + type: string +name: + description: Name of the camera. + required: false + type: string +unique_id: + description: > + An ID that uniquely identifies this camera. If two cameras + have the same unique ID Home Assistant will raise an exception. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/camera.neato.markdown b/source/_components/camera.neato.markdown index 3b959c0bc38..4027e94fd24 100644 --- a/source/_components/camera.neato.markdown +++ b/source/_components/camera.neato.markdown @@ -13,7 +13,6 @@ ha_release: 0.42 ha_iot_class: "Cloud Polling" --- - The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/). To add `neato` camera to your installation, follow instructions in [Neato component](/components/neato/). diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index eb11c1a1a49..bc38d19196a 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -13,10 +13,10 @@ ha_release: 0.22 ha_iot_class: "Local Polling" --- -### {% linkable_title Basic Configuration %} - The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera. +### {% linkable_title Basic configuration %} + To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera. ### {% linkable_title Advanced configuration %} diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown index 6d34a37788c..3a695d30fe6 100644 --- a/source/_components/camera.onvif.markdown +++ b/source/_components/camera.onvif.markdown @@ -12,9 +12,10 @@ ha_category: Camera ha_release: 0.47 --- - The `onvif` camera platform allows you to use an ONVIF camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured. +## {% linkable_title Configuration %} + To enable your ONVIF camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -44,13 +45,13 @@ password: port: description: The port for the camera. required: false - default: 5000 type: integer + default: 5000 profile: description: Video profile that will be used to obtain the stream, more details below. required: false - default: 0 type: integer + default: 0 extra_arguments: description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)." required: false diff --git a/source/_components/camera.proxy.markdown b/source/_components/camera.proxy.markdown index e8a38d4b23f..d1c92138edf 100644 --- a/source/_components/camera.proxy.markdown +++ b/source/_components/camera.proxy.markdown @@ -11,13 +11,14 @@ ha_category: Camera ha_release: 0.65 --- - The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output. The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate. The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections. +## {% linkable_title Configuration %} + To enable this camera in your installation, you must first have an existing working camera configured in Home Assistant. Next, add the following to your `configuration.yaml` file: ```yaml @@ -30,47 +31,46 @@ camera: ``` {% configuration %} - entity_id: - description: The ID of another Home Assistant camera to post-process. - required: true - type: string - name: - description: This parameter allows you to override the name of your camera. - required: false - type: string - max_image_width: - description: The maximum width of single images taken from the camera (aspect ratio will be maintained). - required: false - type: integer - max_stream_width: - description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). - required: false - type: integer - image_quality: - description: The quality level used for resulting JPEG for snapshots. - required: false - type: integer - default: 75 - stream_quality: - description: The quality level used for resulting MJPEG streams. - required: false - type: integer - default: 75 - image_refresh_rate: - description: The minimum time in seconds between generating successive image snapshots. - required: false - type: float - force_resize: - description: Resize the image even if the resulting image would take up more bandwidth than the original. - required: false - type: boolean - cache_images: - description: Preserve the last image and re-send in the case the camera is not responding. - required: false - type: boolean +entity_id: + description: The ID of another Home Assistant camera to post-process. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +max_image_width: + description: The maximum width of single images taken from the camera (aspect ratio will be maintained). + required: false + type: integer +max_stream_width: + description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). + required: false + type: integer +image_quality: + description: The quality level used for resulting JPEG for snapshots. + required: false + type: integer + default: 75 +stream_quality: + description: The quality level used for resulting MJPEG streams. + required: false + type: integer + default: 75 +image_refresh_rate: + description: The minimum time in seconds between generating successive image snapshots. + required: false + type: float +force_resize: + description: Resize the image even if the resulting image would take up more bandwidth than the original. + required: false + type: boolean +cache_images: + description: Preserve the last image and re-send in the case the camera is not responding. + required: false + type: boolean {% endconfiguration %} - ## {% linkable_title Examples %} Example of using a Camera proxy along with a Foscam camera: diff --git a/source/_components/camera.push.markdown b/source/_components/camera.push.markdown index be639978032..9794c37fbc7 100644 --- a/source/_components/camera.push.markdown +++ b/source/_components/camera.push.markdown @@ -19,7 +19,7 @@ Optionally the Push Camera can **buffer** a given number of images, creating an Images are cleared on new events, and events are separated by a soft (configurable) **timeout**. -## Integration with motionEye +## {% linkable_title Integration with motionEye %} The `push` camera can as an example be used with [motionEye](https://github.com/ccrisan/motioneye/wiki) a web frontend for the motion daemon. motionEye is usually configured to save/record files ***only*** when motion is detected. It provides a hook to run a command whenever an image is saved, which can be used together with cURL to send the motion detected images to the `push` camera, as shown in this example: @@ -57,25 +57,25 @@ camera: name: description: The name you would like to give to the camera. required: false - default: Push Camera type: string + default: Push Camera buffer: description: Number of images to buffer per event. Be conservative, large buffers will starve your system memory. required: false - default: 1 type: string + default: 1 timeout: description: Amount of time after which the event is considered to have finished. required: false - default: 5 seconds type: time + default: 5 seconds token: description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77). - required: false + required: false type: string field: description: HTTP POST field containing the image file required: false - default: image type: string + default: image {% endconfiguration %} diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index 98d03ff0e65..9236be6f4fb 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -33,8 +33,8 @@ ffmpeg_arguments: scan_interval: description: How frequently to query for new video in seconds. required: false - default: 90 type: integer + default: 90 {% 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/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown index 0cc4eaa01c0..f7148f19775 100644 --- a/source/_components/camera.rpi_camera.markdown +++ b/source/_components/camera.rpi_camera.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.17 --- - The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera. ## {% linkable_title Configuration %} @@ -30,49 +29,48 @@ camera: image_width: description: Set the image width. required: false - default: 640 type: integer + default: 640 name: description: Name of the camera. required: false - default: Raspberry Pi Camera type: string + default: Raspberry Pi Camera image_height: description: Set the image height. required: false - default: 480 type: integer + default: 480 image_quality: description: Set the image quality (from 0 to 100). required: false - default: 7 type: integer + default: 7 image_rotation: description: Set image rotation (0-359). required: false - default: 0 type: integer + default: 0 horizontal_flip: description: Set horizontal flip (0 to disable, 1 to enable). required: false - default: 0 type: integer + default: 0 vertical_flip: description: Set vertical flip (0 to disable, 1 to enable). required: false - default: 0 type: integer + default: 0 timelapse: description: Takes a picture every this many milliseconds (thousands of a second) - the default means one picture a second. required: false - default: 1000 type: integer + default: 1000 file_path: description: Save the picture in a custom file path. required: false - default: A temporary file is used. type: string + default: A temporary file is used. {% endconfiguration %} - -The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/). +The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/). diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index 78010327625..2e0e232a0cb 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- -  The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. ## {% linkable_title Configuration %} @@ -33,8 +32,8 @@ camera: name: description: A name for this Synology camera. required: false - default: Synology Camera type: string + default: Synology Camera url: description: The URL to your Synology, including port. required: true @@ -50,8 +49,8 @@ password: timeout: description: The timeout in seconds used when connecting to the Surveillance Station. required: false - default: 5 type: integer + default: 5 whitelist: description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. required: false @@ -59,8 +58,8 @@ whitelist: verify_ssl: description: Verify SSL/TLS certificate for HTTPS request. required: false - default: true type: boolean + default: true {% endconfiguration %} ## {% linkable_title Full example %} diff --git a/source/_components/camera.usps.markdown b/source/_components/camera.usps.markdown index 5ed58ee5624..e589a349a57 100644 --- a/source/_components/camera.usps.markdown +++ b/source/_components/camera.usps.markdown @@ -13,13 +13,14 @@ ha_release: 0.52 ha_iot_class: "Cloud Polling" --- - The `usps` camera component allows you to view the mail piece images made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS sensors](/components/sensor.usps).

You must have the [USPS component](/components/usps/) configured to use this camera. The camera will be setup if the `usps` component is configured and the required configuration is set.

+## {% linkable_title Configuration %} + To customize the interval that mail images are rotated in the mail camera you can edit your `configuration.yaml` file with the following settings: ```yaml # Example configuration.yaml entry diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown index d83f1457e87..cd86a1214cf 100644 --- a/source/_components/camera.uvc.markdown +++ b/source/_components/camera.uvc.markdown @@ -56,4 +56,3 @@ password: type: string default: ubnt {% endconfiguration %} - diff --git a/source/_components/camera.verisure.markdown b/source/_components/camera.verisure.markdown index 35b4c25e4e7..e3980f71748 100644 --- a/source/_components/camera.verisure.markdown +++ b/source/_components/camera.verisure.markdown @@ -13,8 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- - The `verisure` camera platform allows you to control your [Verisure](https://www.verisure.com/) cameras. The requirement is that you have setup your [Verisure hub](/components/verisure/). - diff --git a/source/_components/camera.xeoma.markdown b/source/_components/camera.xeoma.markdown index e54e24f3b37..afb89f1877d 100644 --- a/source/_components/camera.xeoma.markdown +++ b/source/_components/camera.xeoma.markdown @@ -15,6 +15,8 @@ ha_release: 0.62 The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server. +## {% linkable_title Configuration %} + To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`: ```yaml @@ -40,8 +42,8 @@ password: new_version: description: Set to false if the Xeoma server version is 17.5 or earlier. required: false - default: true type: boolean + default: true cameras: description: List of customizations for individual Xeoma cameras. required: false @@ -54,16 +56,16 @@ cameras: name: description: The name to display in the frontend for this camera. required: false - default: The `image_name` for this camera. type: string + default: The `image_name` for this camera. hide: description: Don't show this camera in Home Assistant. required: false - default: false type: boolean + default: false {% endconfiguration %} -## {% linkable_title Full examples %} +## {% linkable_title Full example %} ```yaml # Example configuration.yaml entry diff --git a/source/_components/camera.xiaomi.markdown b/source/_components/camera.xiaomi.markdown index 05e213825de..0dc5777f35a 100644 --- a/source/_components/camera.xiaomi.markdown +++ b/source/_components/camera.xiaomi.markdown @@ -76,16 +76,15 @@ password: path: description: The path to the raw MP4 files. required: false - default: /media/mmcblk0p1/record type: string + default: /media/mmcblk0p1/record username: description: The user that can access the FTP server. required: false - default: root type: string + default: root ffmpeg_arguments: - description: > - Extra options to pass to `ffmpeg` + description: Extra options to pass to `ffmpeg`. required: false type: string {% endconfiguration %} diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index dada5b76b48..0fce50e8b96 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -81,13 +81,13 @@ password: path: description: The path to the raw MP4 files. required: false - default: /media/mmcblk0p1/record type: string + default: /media/mmcblk0p1/record username: description: The user that can access the FTP server. required: false - default: root type: string + default: root ffmpeg_arguments: description: Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). required: false diff --git a/source/_components/camera.zoneminder.markdown b/source/_components/camera.zoneminder.markdown index d1fc230ecc4..51a00ef3d17 100644 --- a/source/_components/camera.zoneminder.markdown +++ b/source/_components/camera.zoneminder.markdown @@ -13,13 +13,14 @@ ha_release: 0.39 ha_iot_class: "Local Polling" --- - The `zoneminder` camera platform lets you monitor the current stream of your [ZoneMinder](https://www.zoneminder.com) cameras.

You must have the [ZoneMinder component](/components/zoneminder/) configured to view the camera stream.

+## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml diff --git a/source/_components/canary.markdown b/source/_components/canary.markdown index d9805b5edff..8f43c61d53b 100644 --- a/source/_components/canary.markdown +++ b/source/_components/canary.markdown @@ -29,19 +29,19 @@ canary: ``` {% configuration %} - username: - description: The username for accessing your Canary account. - required: true - type: string - password: - description: The password for accessing your Canary account. - required: true - type: string - timeout: - description: Timeout to wait for connections. - required: false - type: integer - default: 10 +username: + description: The username for accessing your Canary account. + required: true + type: string +password: + description: The password for accessing your Canary account. + required: true + type: string +timeout: + description: Timeout to wait for connections. + required: false + type: integer + default: 10 {% endconfiguration %} Once loaded, your front end will have the following components: From 5c852edbde36d903677a776c49e4f2a4e78926ec Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Sun, 21 Oct 2018 17:05:53 +0200 Subject: [PATCH 02/73] More various improvements - letter b (#6990) * More various fixed - letter b Adds titles (and make other linkable) Improved indentation Reorder configuration keys Remove empty lines and trailing spaces * No idea why this happened * String can't start with * --- source/_components/binary_sensor.ads.markdown | 24 +++--- .../_components/binary_sensor.aurora.markdown | 12 +-- .../binary_sensor.bbb_gpio.markdown | 8 +- .../binary_sensor.command_line.markdown | 13 ++-- .../binary_sensor.concord232.markdown | 6 +- .../binary_sensor.ffmpeg_motion.markdown | 11 ++- .../binary_sensor.ffmpeg_noise.markdown | 9 +-- source/_components/binary_sensor.knx.markdown | 8 +- .../_components/binary_sensor.linode.markdown | 9 +-- .../_components/binary_sensor.nx584.markdown | 10 ++- .../binary_sensor.octoprint.markdown | 9 ++- .../_components/binary_sensor.rfxtrx.markdown | 10 +-- .../binary_sensor.skybell.markdown | 4 +- source/_components/binary_sensor.tcp.markdown | 76 ++++++++++--------- .../binary_sensor.template.markdown | 2 + .../_components/binary_sensor.vera.markdown | 2 +- .../binary_sensor.verisure.markdown | 2 +- .../_components/binary_sensor.vultr.markdown | 4 +- .../_components/binary_sensor.wink.markdown | 3 - .../binary_sensor.wirelesstag.markdown | 1 - .../binary_sensor.workday.markdown | 2 + .../binary_sensor.xiaomi_aqara.markdown | 2 - .../_components/binary_sensor.zigbee.markdown | 2 + source/_components/blink.markdown | 2 +- .../_components/bmw_connected_drive.markdown | 10 ++- source/_components/browser.markdown | 5 +- 26 files changed, 131 insertions(+), 115 deletions(-) diff --git a/source/_components/binary_sensor.ads.markdown b/source/_components/binary_sensor.ads.markdown index 753858d9737..ab988a737ae 100644 --- a/source/_components/binary_sensor.ads.markdown +++ b/source/_components/binary_sensor.ads.markdown @@ -26,16 +26,16 @@ binary_sensor: ``` {% configuration %} - adsvar: - required: true - description: The name of the variable which you want to access on the ADS device. - type: string - name: - required: false - description: An identifier for the light in the frontend. - type: string - device_class: - required: false - description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. - type: string +adsvar: + description: The name of the variable which you want to access on the ADS device. + required: true + type: string +name: + description: An identifier for the light in the frontend. + required: false + type: string +device_class: + description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/binary_sensor.aurora.markdown b/source/_components/binary_sensor.aurora.markdown index 460500c24c3..f0429886ac2 100644 --- a/source/_components/binary_sensor.aurora.markdown +++ b/source/_components/binary_sensor.aurora.markdown @@ -32,17 +32,19 @@ binary_sensor: forecast_threshold: description: Provide your own threshold number above which the sensor will trigger. required: false - default: 75 type: integer + default: 75 name: description: The name of the sensor. required: false - default: Aurora Visibility type: string + default: Aurora Visibility {% endconfiguration %} +## {% linkable_title Full example %} + ```yaml - binary_sensor: - - platform: aurora - forecast_threshold: 50 +binary_sensor: + - platform: aurora + forecast_threshold: 50 ``` diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index 66e4c98f4fa..069c6c9eb1d 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -48,18 +48,18 @@ pins: bouncetime: description: Debounce time for reading input pin defined in milliseconds [ms]. required: false - default: 50 type: integer + default: 50 invert_logic: description: If `true`, inverts the input logic to ACTIVE LOW required: false - default: false type: boolean + default: false pull_mode: description: Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. required: false - default: UP - type: string + type: string + default: UP {% endconfiguration %} For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index 0bf0512d265..8f499766a42 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -13,7 +13,6 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- - The `command_line` binary sensor platform issues specific commands to get data. ## {% linkable_title Configuration %} @@ -33,10 +32,10 @@ command: required: true type: string name: - description: Let you overwrite the name of the device. By default *name* from the device is used. + description: Let you overwrite the name of the device. required: false - default: name type: string + default: "*name* from the device" device_class: description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. required: false @@ -44,13 +43,13 @@ device_class: payload_on: description: The payload that represents enabled state. required: false - default: ON type: string + default: ON payload_off: description: The payload that represents disabled state. required: false - default: OFF type: string + default: OFF value_template: description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. required: false @@ -58,13 +57,13 @@ value_template: scan_interval: description: Defines number of seconds for polling interval. required: false - default: 60 type: integer + default: 60 command_timeout: description: Defines number of seconds for command timeout. required: false - default: 15 type: integer + default: 15 {% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/binary_sensor.concord232.markdown b/source/_components/binary_sensor.concord232.markdown index f734d4afa5b..79d12a803aa 100644 --- a/source/_components/binary_sensor.concord232.markdown +++ b/source/_components/binary_sensor.concord232.markdown @@ -14,6 +14,8 @@ 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. +## {% linkable_title Configuration %} + To enable this, add the following lines to your `configuration.yaml`: ```yaml @@ -26,11 +28,11 @@ binary_sensor: host: description: The host where the concord232 server process is running. required: false - default: localhost type: string + default: localhost port: description: The port where the Alarm panel is listening. required: false - default: 5007 type: integer + default: 5007 {% endconfiguration %} diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index eaf15a86a79..a342d640643 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -13,7 +13,6 @@ ha_release: 0.27 redirect_from: /components/binary_sensor.ffmpeg/ --- - The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.

@@ -47,28 +46,28 @@ name: initial_state: description: Start `ffmpeg` with Home Assistant. required: false - default: true type: boolean + default: true changes: description: How much needs to change between two frames to detect it as motion, value in percentage (a lower value is more sensitive). required: false - default: 10% type: integer + default: 10 reset: description: The time to reset the state after no new motion is detected. required: false - default: 20 type: integer + default: 20 repeat: description: How many events need to be detected in *repeat_time* in order to trigger a motion, 0 repeats means deactivated. required: false - default: 0 type: integer + default: 0 repeat_time: description: The span of time *repeat* events need to occur in before triggering a motion, 0 seconds means deactivated. required: false - default: 0 type: integer + default: 0 extra_arguments: description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering. required: false diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index ae2077cd298..53f45188b8d 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -12,7 +12,6 @@ ha_category: Image Processing ha_release: 0.27 --- - The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.

@@ -42,23 +41,23 @@ name: initial_state: description: Start ffmpeg with home-assistant. required: false - default: true type: boolean + default: true peak: description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low. required: false - default: -30 type: integer + default: -30 duration: description: How long the noise needs to be over the peak to trigger the state. required: false - default: 1 type: integer + default: 1 reset: description: The time to reset the state after no new noise is over the peak. required: false - default: 20 type: integer + default: 20 extra_arguments: description: Extra options to pass to `ffmpeg`, like audio frequency filtering. required: false diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index 97004e94b8e..9bb13677c13 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -42,14 +42,16 @@ device_class: significant_bit: description: Specify which significant bit of the KNX value should be used. required: false - default: 1 type: integer + default: 1 reset_after: description: Reset back to OFF state after specified milliseconds. required: false type: integer {% endconfiguration %} +### {% linkable_title Automation actions %} + You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. ```yaml @@ -81,13 +83,13 @@ name: counter: description: Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. required: false - default: 1 type: integer + default: 1 hook: description: Indicates if the automation should be executed on what state of the binary sensor. Values are "on" or "off". required: false - default: "on" type: string + default: "on" action: description: Specify a list of actions analog to the [automation rules](/docs/automation/action/). required: false diff --git a/source/_components/binary_sensor.linode.markdown b/source/_components/binary_sensor.linode.markdown index cf6392993f5..414d4c2ae17 100644 --- a/source/_components/binary_sensor.linode.markdown +++ b/source/_components/binary_sensor.linode.markdown @@ -28,9 +28,8 @@ binary_sensor: ``` {% configuration %} - nodes: - description: List of VPSs you want to control. - required: true - type: string +nodes: + description: List of VPSs you want to control. + required: true + type: string {% endconfiguration %} - diff --git a/source/_components/binary_sensor.nx584.markdown b/source/_components/binary_sensor.nx584.markdown index 0f9c17dea93..88e77577dcc 100644 --- a/source/_components/binary_sensor.nx584.markdown +++ b/source/_components/binary_sensor.nx584.markdown @@ -17,6 +17,8 @@ The `nx584` platform provides integration with GE, Caddx, Interlogix (and other Enabling this sensor platform exposes all of your zones as binary sensors, which provides visibility through the UI as well as the ability to trigger automation actions instantly when something happens like a door opening, or a motion sensor trigger. +## {% linkable_title Configuration %} + To enable this feature, add the following lines to your `configuration.yaml`: ```yaml @@ -29,19 +31,19 @@ binary_sensor: host: description: This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant. required: false - default: localhost type: string + default: localhost port: description: The port where the server process is running. required: false - default: 5007 type: integer + default: 5007 exclude_zones: description: This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc. required: false type: [list, integer] zone_types: - description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. + description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. required: false type: map keys: @@ -59,6 +61,8 @@ zone_types: description: Safety {% endconfiguration %} +## {% linkable_title Full example %} + An extended configuration entry could look like this: ```yaml diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown index fcd430146c9..dc6db91896c 100644 --- a/source/_components/binary_sensor.octoprint.markdown +++ b/source/_components/binary_sensor.octoprint.markdown @@ -13,13 +13,14 @@ ha_release: 0.19 ha_iot_class: "Local Polling" --- - The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.

You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor.

+## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml @@ -41,8 +42,8 @@ monitored_conditions: printing error: description: Error while printing. name: - description: - required: The name of the sensor. - default: OctoPrint + description: The name of the sensor. + required: false type: string + default: OctoPrint {% endconfiguration %} diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index dbfe56427b6..99470e2be45 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -21,7 +21,7 @@ them may be recognized under the X10 protocol but most of them are recognized under the *Lighting4* protocol. The rfxtrx binary sensor component provides some special options for them, while other rfxtrx protocols should work too. -# Setting up your devices +## {% linkable_title Setting up your devices %} Once you have set up your [rfxtrx hub](/components/rfxtrx/), the easiest way to find your binary sensors is to add this to your `configuration.yaml`: @@ -67,8 +67,8 @@ devices: 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 + default: false 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 @@ -88,8 +88,8 @@ devices: automatic_add: description: To enable the automatic addition of new binary sensors. required: false - default: false type: boolean + default: false {% endconfiguration %}

@@ -131,7 +131,7 @@ binary_sensor: seconds: 5 ``` -## Options for PT-2262 devices under the Lighting4 protocol +### {% linkable_title Options for PT-2262 devices under the Lighting4 protocol %} When a data packet is transmitted by a PT-2262 device using the Lighting4 protocol, there is no way to automatically extract the device identifier and the @@ -201,7 +201,7 @@ This automatic guess should work most of the time but there is no guarantee on that. You should activate it only when you want to configure your new devices and leave it off otherwise. -## Known working devices +### {% linkable_title Known working devices %} The following devices are known to work with the rfxtrx binary sensor component. There are too many other to list. diff --git a/source/_components/binary_sensor.skybell.markdown b/source/_components/binary_sensor.skybell.markdown index 5ca42b98c33..4f3d63d7c35 100644 --- a/source/_components/binary_sensor.skybell.markdown +++ b/source/_components/binary_sensor.skybell.markdown @@ -30,9 +30,9 @@ binary_sensor: {% configuration %} monitored_conditions: - type: list - required: true description: Conditions to display in the frontend. The following conditions can be monitored. + required: true + type: list keys: button: description: Returns whether the doorbell button was pressed. diff --git a/source/_components/binary_sensor.tcp.markdown b/source/_components/binary_sensor.tcp.markdown index e5651d954b6..21242113632 100644 --- a/source/_components/binary_sensor.tcp.markdown +++ b/source/_components/binary_sensor.tcp.markdown @@ -14,53 +14,57 @@ ha_release: 0.14 The TCP Binary Sensor is a type of [TCP Sensor](/components/sensor.tcp/) which is either "off" or "on". In order to use this sensor type, in addition to the configuration for the TCP Sensor, you must supply a `value_on` value to represent what is returned when the device is turned on. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml -binary_sensor: # Example configuration.yaml entry - platform: tcp - name: TCP Binary Sensor - host: IP_ADDRESS - port: PORT - payload: "r State\n" - value_on: 1 - timeout: 5 +binary_sensor: + - platform: tcp + name: TCP Binary Sensor + host: IP_ADDRESS + port: PORT + payload: "r State\n" + value_on: 1 + timeout: 5 ``` -Configuration options for the a TCP Sensor: - {% configuration %} name: - required: true - description: The name you'd like to give the sensor in Home Assistant. - type: string + description: The name you'd like to give the sensor in Home Assistant. + required: false + type: string + default: TCP Sensor host: - required: true - description: The hostname/IP address to connect to. - type: string + description: The hostname/IP address to connect to. + required: true + type: string port: - required: true - description: The port to connect to the host on. - type: integer + description: The port to connect to the host on. + required: true + type: integer payload: - required: true - description: What to send to the host in order to get the response we're interested in. - type: string + description: What to send to the host in order to get the response we're interested in. + required: true + type: string value_on: - required: true - description: The value returned when the device is "on". - type: string -timeout: - required: false - description: How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10. - type: integer + description: The value returned when the device is "on". + required: true + type: string value_template: - required: false - description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value. - type: string + description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. + required: false + type: template + default: entire response is the value buffer_size: - required: false - description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024. - type: integer -{% endconfiguration %} \ No newline at end of file + description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. + required: false + type: integer + default: 1024 +timeout: + description: How long in seconds to wait for a response from the service before giving up and disconnecting. + required: false + type: integer + default: 10 +{% endconfiguration %} diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index 24b9f047567..4462349926f 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -18,6 +18,8 @@ The `template` platform supports sensors which break out the `state` and `state_attributes` from other entities. The state of a Template Binary Sensor can only be `on` or `off`. +## {% linkable_title Configuration %} + To enable Template Binary Sensors in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/binary_sensor.vera.markdown b/source/_components/binary_sensor.vera.markdown index d5e5d9fb14d..b0be093c688 100644 --- a/source/_components/binary_sensor.vera.markdown +++ b/source/_components/binary_sensor.vera.markdown @@ -14,5 +14,5 @@ ha_release: pre 0.7 --- The `vera` platform allows you to get data from your [Vera](http://getvera.com/) binary sensors from within Home Assistant. - + They will be automatically discovered if the vera component is loaded. diff --git a/source/_components/binary_sensor.verisure.markdown b/source/_components/binary_sensor.verisure.markdown index 1f9b9f0f4e3..370dff6e88e 100644 --- a/source/_components/binary_sensor.verisure.markdown +++ b/source/_components/binary_sensor.verisure.markdown @@ -16,4 +16,4 @@ Integrates Verisure binary sensors into Home Assistant. See the [main component] The following binary sensor types are supported: -Door & Window +- Door & Window diff --git a/source/_components/binary_sensor.vultr.markdown b/source/_components/binary_sensor.vultr.markdown index a78cb30dc37..bd71ac62b8a 100644 --- a/source/_components/binary_sensor.vultr.markdown +++ b/source/_components/binary_sensor.vultr.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `vultr` binary sensor platform allows you to monitor your [Vultr](https://www.vultr.com/) subscription to see if it is powered on or not. +## {% linkable_title Configuration %} + To use this binary sensor, you first have to set up your [Vultr hub](/components/vultr/).

@@ -42,6 +44,7 @@ name: type: string {% endconfiguration %} +## {% linkable_title Full example %} Full `configuration.yaml` (produces `binary_sensor.totally_awesome_server`): @@ -51,4 +54,3 @@ binary_sensor: name: totally_awesome_server subscription: 12345 ``` - diff --git a/source/_components/binary_sensor.wink.markdown b/source/_components/binary_sensor.wink.markdown index 1d23f5bf7c1..1633d206bc9 100644 --- a/source/_components/binary_sensor.wink.markdown +++ b/source/_components/binary_sensor.wink.markdown @@ -13,12 +13,10 @@ ha_release: 0.14 ha_iot_class: "Cloud Polling" --- - The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors. The requirement is that you have setup [Wink](/components/wink/). - ### {% linkable_title Supported Binary sensor devices %} - Smoke and CO detectors (No Wink hub required for Nest) @@ -36,4 +34,3 @@ The requirement is that you have setup [Wink](/components/wink/).

The above devices are confirmed to work, but others may work as well.

- diff --git a/source/_components/binary_sensor.wirelesstag.markdown b/source/_components/binary_sensor.wirelesstag.markdown index a98a129255b..f7b50106887 100644 --- a/source/_components/binary_sensor.wirelesstag.markdown +++ b/source/_components/binary_sensor.wirelesstag.markdown @@ -56,4 +56,3 @@ monitored_conditions: battery: description: On means tag battery is low, Off means normal. {% endconfiguration %} - diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index c589e08bcfd..3a9b3253922 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -82,6 +82,8 @@ If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then Otherwise the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.

+## {% linkable_title Automation example %} + Example usage for automation: ```yaml diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index 190d72b2c3c..c03227bafb0 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -13,12 +13,10 @@ ha_release: "0.50" ha_iot_class: "Local Push" --- - The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors. The requirement is that you have setup the [`xiaomi aqara` component](/components/xiaomi_aqara/). - ### {% linkable_title Type of sensors supported %} | Name | ZigBee entity | Model no. | States | Event | Event key | Event values | diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown index 60f8aac30e1..876b9b95fb7 100644 --- a/source/_components/binary_sensor.zigbee.markdown +++ b/source/_components/binary_sensor.zigbee.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [ZigBee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the ZigBee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +## {% linkable_title Configuration %} + To enable a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 2a26969ceab..72d641283b7 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -134,4 +134,4 @@ homeassistant: ### {% linkable_title Other Services %} -In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. +In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index 064d426cbb8..221e893d27e 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -23,6 +23,8 @@ This component provides the following platforms: - Lock: Control the lock of your car. - Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars). + ## {% linkable_title Configuration %} + To enable this component in your installation, add the following to your `configuration.yaml` file: @@ -78,13 +80,13 @@ The vehicle can be locked and unlocked via the lock component that is created au The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`. -What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). +What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). The vehicle is identified via the parameter `vin`. ### {% linkable_title Sound the horn %} -The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. +The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. ### {% linkable_title Flash the lights %} @@ -92,10 +94,10 @@ The service `bmw_connected_drive.light_flash` flashes the lights of the vehicle. ### {% linkable_title Update the state %} -The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. +The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. This service does not require any attributes. ## {% linkable_title Disclaimer %} -This software is not affiliated with or endorsed by BMW Group. +This software is not affiliated with or endorsed by BMW Group. diff --git a/source/_components/browser.markdown b/source/_components/browser.markdown index 7edd741593f..82741ab6fe0 100644 --- a/source/_components/browser.markdown +++ b/source/_components/browser.markdown @@ -12,9 +12,10 @@ ha_category: Utility ha_qa_scale: internal --- - The `browser` component provides a service to open URLs in the default browser on the host machine. +## {% linkable_title Configuration %} + To load this component, add the following lines to your `configuration.yaml`: ```yaml @@ -22,7 +23,7 @@ To load this component, add the following lines to your `configuration.yaml`: browser: ``` -#### {% linkable_title Service `browser/browse_url` %} +#### {% linkable_title Service `browser/browse_url` %} | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | From 8aa0e38bad4e0d1247f462b4cb9a12d62deb1ffd Mon Sep 17 00:00:00 2001 From: Balazs Keresztury Date: Sun, 21 Oct 2018 19:33:41 +0200 Subject: [PATCH 03/73] Updated vacuum.xiaomi_miio.markdown to recommend newer version of Mi Home for token extraction (#6993) The currently linked Mi Home 5.0.0 doesn't support the new Roborock S50 (which is Xiaomi Vacuum Robot v2). Since 5.0.30 is the last version which still has the token in the database I replaced the download link and the description to avoid confusing owners of newer devices. --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 34f5ea169a4..9fef9e64639 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -133,7 +133,7 @@ The following table shows the units of measurement for each attribute: ## {% linkable_title Retrieving the Access Token %}

-As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Android Mi-Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.0](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/) is confirmed as working for the following Android methods. +As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Android Mi Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) is confirmed as working for the following Android methods. Using older version than 5.0.30 is not recommended as it might lack support for some newer devices like the Roborock S50. The iPhone app still stores the token in the sqlite db as of v4.7.18 (July 17, 2018). From 9622b2a525c67e0a3a092ca366925de03d99d65c Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Mon, 22 Oct 2018 00:04:10 +0200 Subject: [PATCH 04/73] Update gc100 Binary Sensor configuration (#6997) --- source/_components/binary_sensor.gc100.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_components/binary_sensor.gc100.markdown b/source/_components/binary_sensor.gc100.markdown index 80d828723bd..2551d551004 100644 --- a/source/_components/binary_sensor.gc100.markdown +++ b/source/_components/binary_sensor.gc100.markdown @@ -23,7 +23,11 @@ binary_sensor: - '3:2': Garage Obstruction ``` -Configuration variables: - -- **ports** (*Required*): A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address. - +{% configuration %} +ports: + description: > + A list of module-address to name mappings in the format `'x:y': name`, + where x is module #, y is address. + required: true + type: list +{% endconfiguration %} From 99e9e88223f2a9e7546dfd30141b8c77da58c238 Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Mon, 22 Oct 2018 14:24:57 -0500 Subject: [PATCH 05/73] Grammar and simplification (#7009) "topic" should be plural since we are covering more than one. repeating the word "the" is unnecessary as i is assumed after first usage in the list --- source/docs/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/docs/index.markdown b/source/docs/index.markdown index cbc6b8e364c..5daf1ae6832 100644 --- a/source/docs/index.markdown +++ b/source/docs/index.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The documentation covers from beginner to advanced topic around the installation, the setup, the configuration, and the usage of Home Assistant. +The documentation covers beginner to advanced topics around the installation, setup, configuration, and usage of Home Assistant.

From 442fd6c220efc0aca87b09ade5bca5ef7ccc1679 Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Mon, 22 Oct 2018 14:25:58 -0500 Subject: [PATCH 06/73] Grammar (#7010) Grammar correction --- source/_docs/configuration/packages.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 5cb76f6b4f2..0be17c08a0e 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /topics/packages/ --- -Packages in Home Assistant provides a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). +Packages in Home Assistant provide a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a package name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: From 0cededca4a959ddacc66c024e3488358039a7672 Mon Sep 17 00:00:00 2001 From: Glenn Morrison Date: Mon, 22 Oct 2018 14:28:34 -0500 Subject: [PATCH 07/73] Grammar (#7012) a comma should follow "Therefore" --- source/hassio/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/index.markdown b/source/hassio/index.markdown index c26320cdf8e..7c5c6aee50f 100644 --- a/source/hassio/index.markdown +++ b/source/hassio/index.markdown @@ -31,7 +31,7 @@ The advantages of using Hass.io: ### {% linkable_title Upgrading %} -Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However, please note that a Home Assistant updates take time to roll into the Hass.io builds. Therefore there is often a slight delay between the availability of a Home Assistant update and the update being available in Hass.io, so be patient. When a Hass.io update is available, it will be shown as a notification in the ‘Hass.io' page in the web interface. +Hass.io users can update Home Assistant via the 'Hass.io' page in the UI. However, please note that a Home Assistant updates take time to roll into the Hass.io builds. Therefore, there is often a slight delay between the availability of a Home Assistant update and the update being available in Hass.io, so be patient. When a Hass.io update is available, it will be shown as a notification in the ‘Hass.io' page in the web interface.

From 873bbada900e0594d27826f8b2f3f5ae1280b8e8 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Mon, 22 Oct 2018 21:45:37 +0200 Subject: [PATCH 08/73] Update Bayesian Binary Sensor configuration (#6998) * Update Bayesian Binary Sensor configuration * Clarify observation platform example differences * Update binary_sensor.bayesian.markdown --- .../binary_sensor.bayesian.markdown | 63 +++++++++++++++---- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index a5b1779ce58..6154fbaa1f2 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -14,7 +14,6 @@ ha_release: 0.53 ha_qa_scale: internal --- - The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence. @@ -36,20 +35,58 @@ binary_sensor: to_state: 'on' ``` -Configuration variables: - -- **prior** (*Required*): The prior probability of the event. At any point in time (ignoring all external influences) how likely is this event to occur? -- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`. -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary sensor`. -- **observations** array (*Required*): The observations which should influence the likelihood that the given event has occurred. - - **entity_id** (*Required*): Name of the entity to monitor. - - **prob_given_true** (*Required*): The probability of the observation occurring, given the event is `true`. - - **prob_given_false** (*Optional*): The probability of the observation occurring, given the event is `false` can be set as well. If `prob_given_false` is not set, it will default to `1 - prob_given_true`. - - **platform** (*Required*): The only supported observation platforms are `state` and `numeric_state`, which are modeled after their corresponding triggers for automations, requiring `below` and/or `above` instead of `to_state`. - - **to_state** (*Required*): The target state. +{% configuration %} +prior: + description: > + The prior probability of the event. At any point in time + (ignoring all external influences) how likely is this event to occur? + required: true + type: float +probability_threshold: + description: The probability at which the sensor should trigger to `on`. + required: false + type: float + default: 0.5 +name: + description: Name of the sensor to use in the frontend. + required: false + type: string + default: Bayesian Binary Sensor +observations: + description: The observations which should influence the likelihood that the given event has occurred. + required: true + type: list + keys: + entity_id: + description: Name of the entity to monitor. + required: true + type: string + prob_given_true: + description: The probability of the observation occurring, given the event is `true`. + required: true + type: float + prob_given_false: + description: The probability of the observation occurring, given the event is `false` can be set as well. + required: false + type: float + default: "`1 - prob_given_true` if `prob_given_false` is not set" + platform: + description: > + The only supported observation platforms are `state` and `numeric_state`, + which are modeled after their corresponding triggers for automations, + requiring `below` and/or `above` instead of `to_state`. + required: true + type: string + to_state: + description: The target state. + required: true + type: string +{% endconfiguration %} ## {% linkable_title Full examples %} +The following is an example for the `state` observation platform. + ```yaml # Example configuration.yaml entry binary_sensor: @@ -78,6 +115,8 @@ binary_sensor: to_state: 'below_horizon' ``` +Next up an example which targets the `numeric_state` observation platform, +as seen in the configuration it requires `below` and/or `above` instead of `to_state`. ```yaml # Example configuration.yaml entry From 4e4fdf0e56b3af3ff302e45daaab2914d09698cb Mon Sep 17 00:00:00 2001 From: Jeroen ter Heerdt Date: Mon, 22 Oct 2018 23:28:43 +0200 Subject: [PATCH 09/73] Update vacuum.mqtt.markdown with link to repo for Neato retrofitting (#7004) * Update vacuum.mqtt.markdown * Fix typo --- source/_components/vacuum.mqtt.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index 1777c7cd890..f3b2721de28 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -229,6 +229,6 @@ MQTT payload: } ``` -### {% linkable_title Retrofitting a non-wifi Roomba with an ESP8266 %} - -- [This repo](https://github.com/johnboiles/esp-roomba-mqtt) has MQTT client firmware for retrofitting your old Roomba. +### {% linkable_title Retrofitting a non-wifi vacuums %} +- Retrofitting your old Roomba with an ESP8266. [This repo](https://github.com/johnboiles/esp-roomba-mqtt) provides MQTT client firmware. +- In you own a non-wifi Neato, you can refer to [this repo](https://github.com/jeroenterheerdt/neato-serial) that uses a Raspberry Pi to retrofit an old Neato. From 3d3906ff5700970c8b914d411f9cba00569b6aac Mon Sep 17 00:00:00 2001 From: Antoni K Date: Tue, 23 Oct 2018 05:28:56 +0800 Subject: [PATCH 10/73] Fix list and clarify note about hass.io (#7005) * Fix list and clarify note about hass.io * Minor changes --- source/_components/sensor.mitemp_bt.markdown | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index bf54f976824..d7bdbccaffe 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -19,12 +19,12 @@ The `mitemp_bt` sensor platform allows one to monitor room temperature and humid Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system: -- On [Hass.io](/hassio/installation/): mitemp_bt will work out of the box. +- On [Hass.io](/hassio/installation/): `mitemp_bt` will work out of the box as long as the host supports Bluetooth (like the Raspberry Pi does). - On a [generic Docker installation](https://www.home-assistant.io/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host. - On other Linux systems: - Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one. -    - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` -- Windows and MacOS are currently not supported by the btlewrap library. + - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth` or `bluez-deprecated`. +- Windows and MacOS are currently not supported by the `btlewrap` library. ## {% linkable_title Configuration %} @@ -114,6 +114,8 @@ adapter: Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperatures don't change that quickly. Reducing polling intervals will have a negative effect on the battery life. +## {% linkable_title Full example %} + A full configuration example could look like the one below: ```yaml From 378552e3edd05d4cd9f1bff16615023b26b0390c Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Mon, 22 Oct 2018 23:29:04 +0200 Subject: [PATCH 11/73] Update PiFace Digital I/O Binary Sensor configuration (#7001) * Update PiFace Digital I/O Binary Sensor configuration * Minor changes --- .../binary_sensor.rpi_pfio.markdown | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/source/_components/binary_sensor.rpi_pfio.markdown b/source/_components/binary_sensor.rpi_pfio.markdown index 29cda1530da..7dad33505d0 100644 --- a/source/_components/binary_sensor.rpi_pfio.markdown +++ b/source/_components/binary_sensor.rpi_pfio.markdown @@ -32,11 +32,29 @@ binary_sensor: settle_time: 50 ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **num** (*Required*): Port number. - - **name** (*Required*): Port name. - - **settle_time** (*Optional*): The time in milliseconds for port debouncing. Default is 2 0ms. - - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). - +{% configuration %} +ports: + description: List of used ports. + required: true + type: map + keys: + num: + description: The port number. + required: true + type: map + keys: + name: + description: The port name. + required: true + type: string + settle_time: + description: The time in milliseconds for port debouncing. + required: false + type: integer + default: 20 + invert_logic: + description: If `true`, inverts the output logic to ACTIVE LOW. + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +{% endconfiguration %} From 920549e7e88da5a6ab7d68f928e29fe345d097f8 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Mon, 22 Oct 2018 23:29:17 +0200 Subject: [PATCH 12/73] Update Raspberry Pi GPIO Binary Sensor configuration (#6999) * Update Raspberry Pi GPIO Binary Sensor configuration * Update binary_sensor.rpi_gpio.markdown * Update binary_sensor.rpi_gpio.markdown * Minor change --- .../binary_sensor.rpi_gpio.markdown | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown index 5b95daed1ca..8494c3af37c 100644 --- a/source/_components/binary_sensor.rpi_gpio.markdown +++ b/source/_components/binary_sensor.rpi_gpio.markdown @@ -28,13 +28,33 @@ binary_sensor: 12: PIR Bedroom ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **port: name** (*Required*): Port numbers (BCM mode pin numbers) and corresponding names. -- **pull_mode** (*Optional*): The internal pull to use (UP or DOWN). Default is UP. -- **bouncetime** (*Optional*): The time in milliseconds for port debouncing. Default is 50ms. -- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). +{% configuration %} +ports: + description: List of used ports. + required: true + type: map + keys: + "port: name": + description: The port numbers (BCM mode pin numbers) and corresponding names. + required: true + type: string +bouncetime: + description: The time in milliseconds for port debouncing. + required: false + type: integer + default: 50 +invert_logic: + description: If `true`, inverts the output logic to ACTIVE LOW. + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +pull_mode: + description: > + Type of internal pull resistor to use. + Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. + required: false + type: string + default: "`UP`" +{% endconfiguration %} For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. - From 08ca5a6574578115620c535bf919c4422fad7307 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Mon, 22 Oct 2018 22:30:21 +0100 Subject: [PATCH 13/73] Clarity on how to use LLAT (#7002) LLAT isn't obviously a long lived access token, and the intro leaves the reader hanging as if things are handled automatically. Adding some clarity. --- source/_components/device_tracker.gpslogger.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 69d5e094682..17022f91b50 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -15,7 +15,7 @@ The `gpslogger` device tracker platform allows you to detect presence using [GPS ## {% 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. +Since release 0.77, we now have long-lived access tokens. These are setup under your profile and configured in the GPSLogger application on your smartphone as explained below. ```yaml # Example configuration.yaml entry @@ -80,7 +80,7 @@ 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. -- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting +- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token). - **<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`. From 09b273161f0548e730b07546dba141b052461c67 Mon Sep 17 00:00:00 2001 From: alekslyse Date: Tue, 23 Oct 2018 10:26:42 +0200 Subject: [PATCH 14/73] Update vacuum.xiaomi_miio.markdown (#7015) --- source/_components/vacuum.xiaomi_miio.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 9fef9e64639..3a46b611590 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -185,6 +185,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 5. Click "Extract Token" 6. On the phone, you must confirm the backup. DO NOT enter any password and press the button to make the backup. 7. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly. +8. If you don't get a token, close MiToolKit completely, delete the folder MiToolkit\apps\com.xiaomi.smarthome and relaunch MiToolKit to force recreate a new backup (sometimes the files would not be overwritten before deleting the old ones) #### {% linkable_title Linux and Android (not rooted) %} From 8a27a51f244d33c16ab49325f4cff931d67435d6 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 10:41:06 +0200 Subject: [PATCH 15/73] Update Timer configuration (#7017) --- source/_components/timer.markdown | 40 +++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/source/_components/timer.markdown b/source/_components/timer.markdown index dad6227958e..946e20cd8d9 100644 --- a/source/_components/timer.markdown +++ b/source/_components/timer.markdown @@ -21,6 +21,8 @@ When a timer finishes or gets canceled the corresponding events are fired. This With the current implementation timers don't persist over restarts. After a restart they will be idle again, together with their initial configuration.

+## {% linkable_title Configuration %} + To add a timer to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -30,12 +32,26 @@ timer: duration: '00:01:00' ``` -Configuration variables: - -- **[alias]** (*Required*): Alias for the timer. Multiple entries are allowed. - - **name** (*Optional*): Friendly name of the timer. - - **duration** (*Optional*): Initial duration in seconds or `00:00:00` when Home Assistant starts. Defaults to 0. - - **icon** (*Optional*): Set a custom icon for the state card. +{% configuration %} +"[alias]": + description: Alias for the timer. Multiple entries are allowed. + required: true + type: map + keys: + name: + description: Friendly name of the timer. + required: false + type: string + duration: + description: Initial duration in seconds or `00:00:00` when Home Assistant starts. + required: false + type: [integer, time] + default: 0 + icon: + description: Set a custom icon for the state card. + required: false + type: icon +{% endconfiguration %} Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your timer and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. @@ -82,7 +98,6 @@ Manually finish a running timer earlier than scheduled. If no `entity_id` is giv | ---------------------- | -------- | ----------- | | `entity_id` | yes | Name of the entity to take action, e.g., `timer.timer0`. | - ### {% linkable_title Use the service %} Select service developer tool icon **Services** from the **Developer Tools**. Choose **timer** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. @@ -95,7 +110,7 @@ Select serv
 
 ## {% linkable_title Examples %}
 
-Set a timer called `test` to a duration of 30 seconds. 
+Set a timer called `test` to a duration of 30 seconds.
 
 ```yaml
 # Example configuration.yaml entry
@@ -110,8 +125,8 @@ timer:
 # Example automations.yaml entry
 - alias: Timerswitch
   id: Date: Tue, 23 Oct 2018 10:45:04 +0200 Subject: [PATCH 16/73] Update Updater configuration (#7021) Use new configuration variables --- source/_components/updater.markdown | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/source/_components/updater.markdown b/source/_components/updater.markdown index 2b6c2997a7a..873fab8fef2 100644 --- a/source/_components/updater.markdown +++ b/source/_components/updater.markdown @@ -14,7 +14,9 @@ ha_qa_scale: internal The `updater` component will check daily for new releases. It will show a badge in the frontend if a new version is found. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this component on Hass.io. -The updater component will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater.py#L91). For further information about the Updater's data, please check the [detailed overview](/docs/backend/updater/). +The updater component will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater.py#L91). + +## {% linkable_title Configuration %} To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: @@ -22,9 +24,22 @@ To integrate this into Home Assistant, add the following section to your `config updater: ``` -If you choose not to share any information when checking for updates, you can add `reporting: False`. +{% configuration %} +reporting: + description: Whether or not to share system information when checking for updates. + required: false + type: boolean + default: true +include_used_components: + description: Whether or not to report the components that you are using in Home Assistant. + required: false + type: boolean + default: false +{% endconfiguration %} -It is possible to report the components that you are using to the Home Assistant developers. This will help them focus on improving the popular ones. To enable this option, you have to add `include_used_components: True`. +For further information about the Updater's data, please check the [detailed overview](/docs/backend/updater/). If you choose not to share any information when checking for updates, you can set `reporting: false`. + +It is possible to report the components that you are using to the Home Assistant developers. This will help them focus on improving the popular ones. To enable this option, you have to add `include_used_components: true`. ```json "components": [ @@ -41,7 +56,7 @@ It is possible to report the components that you are using to the Home Assistant ] ``` -### {% linkable_title Notification %} +## {% linkable_title Notification %} For an added bonus, an automation component can be created to send a message with a notifier when that state of this component's entity changes. @@ -57,4 +72,3 @@ automation: data: message: 'Update for Home Assistant is available.' ``` - From 6a2d5db89c909286a7198ec6dc2f586559dc5d48 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 10:46:03 +0200 Subject: [PATCH 17/73] Update MaryTTS configuration (#7018) --- source/_components/tts.marytts.markdown | 42 +++++++++++++++++++------ 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/source/_components/tts.marytts.markdown b/source/_components/tts.marytts.markdown index 7b13da9906b..7edeba02469 100644 --- a/source/_components/tts.marytts.markdown +++ b/source/_components/tts.marytts.markdown @@ -14,27 +14,49 @@ ha_release: 0.43 The `marytts` text-to-speech platform uses [MaryTTS](http://mary.dfki.de/) Text-to-Speech engine to read a text with natural sounding voices. +## {% linkable_title Configuration %} + To enable text-to-speech with MaryTTS, add the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry tts: - platform: marytts - host: 'localhost' - port: 59125 ``` -Configuration variables: - -- **host** (*Optional*): MaryTTS server hostname or IP address. Default is `localhost`. -- **port** (*Optional*): MaryTTS server port. Default is 59125. -- **codec** (*Optional*): Audio codec. Default is `wav`. Supported are `aiff`, `au`, `wav`. -- **voice** (*Optional*): Speaker voice. Default is `cmu-slt-hsmm`. -- **language** (*Optional*): Language to use. Default is `en-US`. Supports 'de', 'en-GB', 'en-US', 'fr', 'it', 'lb', 'ru', 'sv', 'te', 'tr'. +{% configuration %} +host: + description: The MaryTTS server hostname or IP address. + required: false + type: string + default: localhost +port: + description: The MaryTTS server port. + required: false + type: integer + default: 59125 +codec: + description: "The audio codec. Supported codecs are `aiff`, `au` and `wav`." + required: false + type: string + default: "`wav`" +voice: + description: The speaker voice. + required: false + type: string + default: "`cmu-slt-hsmm`" +language: + description: "The language to use. Supported languages are `de`, `en-GB`, `en-US`, `fr`, `it`, `lb`, `ru`, `sv`, `te` and `tr`." + required: false + type: string + default: "`en-US`" +{% endconfiguration %} See [documentation](http://mary.dfki.de/documentation/index.html) for details. -A full configuration sample: +## {% linkable_title Full configuration example %} + +A full configuration sample including optional variables: ```yaml # Example configuration.yaml entry From 06dba4975d014c39d4e5d6901abcb8de7902e952 Mon Sep 17 00:00:00 2001 From: Antoni K Date: Tue, 23 Oct 2018 17:04:35 +0800 Subject: [PATCH 18/73] Change device names to something more generic (#7027) --- source/_components/proximity.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_components/proximity.markdown b/source/_components/proximity.markdown index 5d1ed90168c..36046ef9135 100644 --- a/source/_components/proximity.markdown +++ b/source/_components/proximity.markdown @@ -43,7 +43,7 @@ proximity: ignored_zones: - twork devices: - - device_tracker.nwaring_nickmobile + - device_tracker.car1 tolerance: 50 unit_of_measurement: mi ``` @@ -63,20 +63,20 @@ To add multiple proximity components, simply use a list in your `configuration.y proximity: home: ignored_zones: - - twork - - elschool + - work + - school devices: - - device_tracker.nwaring_nickmobile - - device_tracker.eleanorsiphone - - device_tracker.tsiphone + - device_tracker.car1 + - device_tracker.iphone1 + - device_tracker.iphone2 tolerance: 50 unit_of_measurement: mi home3: devices: - - device_tracker.tsiphone + - device_tracker.iphone1 tolerance: 50 work: devices: - - device_tracker.elanorsiphone + - device_tracker.iphone2 tolerance: 10 ``` From 450457638326d411046dc1c257fcb48575bc3f6f Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 11:07:23 +0200 Subject: [PATCH 19/73] Clean up - uv (#7024) trailing spaces code quotes empty lines grammar titles --- source/_components/upcloud.markdown | 1 - source/_components/vacuum.dyson.markdown | 4 ++- source/_components/vacuum.ecovacs.markdown | 4 ++- source/_components/vacuum.markdown | 2 ++ source/_components/vacuum.mqtt.markdown | 2 ++ source/_components/vacuum.neato.markdown | 2 ++ source/_components/vacuum.roomba.markdown | 10 +++--- .../_components/vacuum.xiaomi_miio.markdown | 29 +++++++++-------- source/_components/velux.markdown | 2 ++ source/_components/vera.markdown | 6 ++-- source/_components/verisure.markdown | 32 ++++++++++--------- source/_components/volvooncall.markdown | 3 +- source/_components/vultr.markdown | 4 +-- 13 files changed, 59 insertions(+), 42 deletions(-) diff --git a/source/_components/upcloud.markdown b/source/_components/upcloud.markdown index a54fa0e37eb..9b5807e536b 100644 --- a/source/_components/upcloud.markdown +++ b/source/_components/upcloud.markdown @@ -13,7 +13,6 @@ logo: upcloud.png ha_iot_class: Cloud Polling --- - The `upcloud` component allows you to access the information about your [UpCloud](https://www.upcloud.com/) servers from Home Assistant. ## {% linkable_title Setup %} diff --git a/source/_components/vacuum.dyson.markdown b/source/_components/vacuum.dyson.markdown index b482899130c..50a09628d7c 100644 --- a/source/_components/vacuum.dyson.markdown +++ b/source/_components/vacuum.dyson.markdown @@ -15,7 +15,9 @@ ha_release: 0.51 The `dyson` vacuum platform allows you to control your Dyson 360 Eye robot vacuum. -You have first to setup the [Dyson component](/components/dyson/) +## {% linkable_title Configuration %} + +You have to set up the [Dyson component](/components/dyson/) first. ### {% linkable_title Component services %} diff --git a/source/_components/vacuum.ecovacs.markdown b/source/_components/vacuum.ecovacs.markdown index 144bc7afcd7..85ce3230aca 100644 --- a/source/_components/vacuum.ecovacs.markdown +++ b/source/_components/vacuum.ecovacs.markdown @@ -15,7 +15,9 @@ ha_release: 0.77 The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Deebot vacuums. -You have first to setup the [Ecovacs component](/components/ecovacs/) +## {% linkable_title Configuration %} + +You have to set up the [Ecovacs component](/components/ecovacs/) first. ### {% linkable_title Component Lifespans %} diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index a72a22e7ca5..f0b3bb760b5 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -11,6 +11,8 @@ footer: true The `vacuum` component enables the ability to control home cleaning robots within Home Assistant. +## {% linkable_title Configuration %} + To use this component in your installation, add a `vacuum` platform to your `configuration.yaml` file, like the [Xiaomi](/components/vacuum.xiaomi_miio/). ```yaml diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index f3b2721de28..04fb17d504e 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -14,6 +14,8 @@ ha_release: 0.54 The `mqtt` vacuum component allows you to control your MQTT-enabled vacuum. +## {% linkable_title Configuration %} + To add your MQTT vacuum to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index bbdd37730b1..9b836238429 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -21,6 +21,8 @@ The status will contain attributes on the robots last clean session. If you notice the robot stops responding to commands check the status attribute to see if the robot is offline. If you see "Robot Offline" check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.

+## {% linkable_title Configuration %} + To add `neato` vacuum to your installation, please follow instructions in [Neato component](/components/neato/). Currently supported services are: diff --git a/source/_components/vacuum.roomba.markdown b/source/_components/vacuum.roomba.markdown index 2186f1666aa..d7a242c9ce7 100644 --- a/source/_components/vacuum.roomba.markdown +++ b/source/_components/vacuum.roomba.markdown @@ -18,6 +18,8 @@ The `roomba` component allows you to control your [iRobot Roomba](http://www.iro This platform has only been tested with an iRobot Roomba 980 but should work find with any Wi-Fi enabled Roomba like the 690, 890 or the 960.

+## {% linkable_title Configuration %} + To add your Roomba vacuum to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -31,7 +33,7 @@ vacuum: {% configuration %} host: - description: Hostname or IP address of the Roomba. + description: The hostname or IP address of the Roomba. required: true type: string username: @@ -45,18 +47,18 @@ password: name: description: The name of the vacuum. required: false - default: Roomba type: string + default: Roomba certificate: description: Path to your certificate store. required: false - default: /etc/ssl/certs/ca-certificates.crt type: string + default: /etc/ssl/certs/ca-certificates.crt continuous: description: Whether to operate in continuous mode. required: false - default: true type: boolean + default: true {% endconfiguration %}

diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 3a46b611590..0aeae152429 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -26,11 +26,11 @@ Currently supported services are: - `set_fan_speed` - remote control of your robot. +## {% linkable_title Configuration %} + Please follow [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to retrieve the API token used in `configuration.yaml`. -## {% linkable_title Configuring the Platform %} - To add a vacuum to your installation, add the following to `configuration.yaml`: ```yaml @@ -41,18 +41,19 @@ vacuum: ``` {% configuration %} - host: - description: The IP of your robot. - required: true - type: string - token: - description: The API token of your robot. - required: true - type: string - name: - description: The name of your robot. - required: false - type: string +host: + description: The IP address of your robot. + required: true + type: string +token: + description: The API token of your robot. + required: true + type: string +name: + description: The name of your robot. + required: false + type: string + default: Xiaomi Vacuum cleaner {% endconfiguration %} ## {% linkable_title Platform Services %} diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown index 171b0f5c422..2a6731b25e3 100644 --- a/source/_components/velux.markdown +++ b/source/_components/velux.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" [Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. +## {% linkable_title Configuration %} + A `velux` section must be present in the `configuration.yaml` file and contain the following options as required: ```yaml diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown index df3f6e31c62..94de436693d 100644 --- a/source/_components/vera.markdown +++ b/source/_components/vera.markdown @@ -16,6 +16,8 @@ The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave d Switches, Lights (inc Dimmers), Locks, Sensors, Binary sensors, and Scenes are supported - and will be automatically added when HA connects to your Vera controller. +## {% linkable_title Configuration %} + To use Vera devices in your installation, add the following to your configuration.yaml file using the IP and port number of your Vera controller: ```yaml @@ -34,7 +36,7 @@ vera_controller_url: It is recommended to assign a static IP address to your Vera Controller. This ensures that it won't change IP addresses, so you won't have to change the `vera_controller_url` if it reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Vera, check the label on the bottom.

-### {% linkable_title Configure devices %} +### {% linkable_title Configure devices %} By default your switches will be added to Home Assistant as switches, however, if some of them are light switches, you can tell Home Assistant this using the optional `lights` parameter as shown below. @@ -51,6 +53,6 @@ vera: lights: [15, 17, 19, 21, 22, 24, 26, 43, 64, 70, 87] ``` -### {% linkable_title Using Z-Wave devices in automation %} +### {% linkable_title Using Z-Wave devices in automation %} If you want to use a Z-Wave device from the Vera controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under the service developer tool icon icon of the Developer Tools section. Look for entities that contain 'Vera Device Id' in their attributes, and you'll find the entity id on the left. diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 49dd80958e1..5e14d2236d2 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -24,6 +24,8 @@ We support: * [Locks](/components/lock.verisure/) * [Door & Window](/components/binary_sensor.verisure/) + ## {% linkable_title Configuration %} + To integrate Verisure with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -43,45 +45,45 @@ password: required: true type: string alarm: - description: Set to true to show alarm, false to disable. + description: Set to `true` to show alarm, `false` to disable. required: false - default: true type: boolean + default: true hygrometers: - description: Set to true to show hygrometers, false to disable. + description: Set to `true` to show hygrometers, `false` to disable. required: false - default: true type: boolean + default: true smartplugs: - description: Set to true to show smartplugs, false to disable. + description: Set to `true` to show smartplugs, `false` to disable. required: false - default: true type: boolean + default: true locks: - description: Set to true to show locks, false to disable. + description: Set to `true` to show locks, `false` to disable. required: false - default: true type: boolean + default: true thermometers: - description: Set to true to show thermometers, false to disable. + description: Set to `true` to show thermometers, `false` to disable. required: false - default: true type: boolean + default: true mouse: - description: Set to true to show mouse detectors, false to disable. + description: Set to `true` to show mouse detectors, `false` to disable. required: false - default: true type: boolean + default: true door_window: - description: Set to true to show mouse detectors, false to disable. + description: Set to `true` to show mouse detectors, `false` to disable. required: false - default: true type: boolean + default: true code_digits: description: Number of digits in PIN code. required: false - default: 4 type: integer + default: 4 giid: description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations'. required: false diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index d4028a46e4b..3ed8aa1e092 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -13,7 +13,6 @@ ha_release: 0.39 ha_iot_class: "Cloud Polling" --- - The `volvooncall` component offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. ## {% linkable_title Configuration %} @@ -90,6 +89,6 @@ resources: scandinavian_miles: description: If set to true, Scandinavian miles ("mil") are used for distances and fuel range. required: false - defaults: false type: boolean + default: false {% endconfiguration %} diff --git a/source/_components/vultr.markdown b/source/_components/vultr.markdown index c9d149b63ed..f5313ff065e 100644 --- a/source/_components/vultr.markdown +++ b/source/_components/vultr.markdown @@ -14,9 +14,10 @@ logo: vultr.png ha_iot_class: "Cloud Polling" --- - The `vultr` component allows you to access information about and interact with your [Vultr](https://www.vultr.com) subscriptions (Virtual Private Servers) from Home Assistant. +## {% linkable_title Configuration %} + Obtain your API key from your [Vultr Account](https://my.vultr.com/settings/#settingsapi).

@@ -37,4 +38,3 @@ api_key: required: true type: string {% endconfiguration %} - From c0d8b1fbf01d6b1ca0bedf2c100a8e461d3d5188 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 11:08:53 +0200 Subject: [PATCH 20/73] Clean up wxz (#7025) Titles Trailing spaces Boolean capitalization --- source/_components/wake_on_lan.markdown | 2 - source/_components/waterfurnace.markdown | 2 - source/_components/watson_iot.markdown | 1 - source/_components/weather.bom.markdown | 2 +- .../_components/weather.buienradar.markdown | 6 +- source/_components/weather.ipma.markdown | 14 ++-- source/_components/weather.markdown | 3 +- source/_components/weather.met.markdown | 1 - source/_components/weather.metoffice.markdown | 3 +- .../weather.openweathermap.markdown | 22 +++---- source/_components/weather.yweather.markdown | 3 +- source/_components/weather.zamg.markdown | 16 ++--- source/_components/weblink.markdown | 2 + source/_components/websocket_api.markdown | 2 + source/_components/wemo.markdown | 2 + source/_components/wink.markdown | 2 +- source/_components/wirelesstag.markdown | 20 +++--- source/_components/xiaomi_aqara.markdown | 65 +++++++++---------- source/_components/zabbix.markdown | 4 +- source/_components/zeroconf.markdown | 6 +- source/_components/zha.markdown | 6 +- source/_components/zigbee.markdown | 6 +- source/_components/zone.markdown | 4 +- source/_components/zoneminder.markdown | 10 +-- source/_components/zwave.markdown | 2 + 25 files changed, 108 insertions(+), 98 deletions(-) diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown index 87603ad2338..da7e5831afb 100644 --- a/source/_components/wake_on_lan.markdown +++ b/source/_components/wake_on_lan.markdown @@ -37,7 +37,6 @@ Send a _magic packet_ to wake up a device with 'Wake-On-LAN' capabilities. | `mac` | no | MAC address of the device to wake up. | | `broadcast_address` | yes | Optional broadcast IP where to send the magic packet. | - Sample service data: ```json @@ -45,4 +44,3 @@ Sample service data: "mac":"00:40:13:ed:f1:32" } ``` - diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index 15a88eb8565..bc45420f464 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -53,10 +53,8 @@ unit: type: string {% endconfiguration %} - #### {% linkable_title Limitations %} The WebSocket interface used by this module requires active polling, otherwise the server side shuts down the connection. By default, this polling is happening every 10 seconds. All sensors are updated during every polling cycle. While this is communicating with a thermostat, geothermal systems operate most efficiently when setbacks are not used, and the home is kept at a constant temperature. It remains useful to collect the data from the system to understand its performance, but a full climate interface won't be implemented. - diff --git a/source/_components/watson_iot.markdown b/source/_components/watson_iot.markdown index b5c30202d49..0014d5e24da 100644 --- a/source/_components/watson_iot.markdown +++ b/source/_components/watson_iot.markdown @@ -83,7 +83,6 @@ include: type: list {% endconfiguration %} - ## {% linkable_title Examples %} ### {% linkable_title Full configuration %} diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown index fe26c58337a..025dcd50dd1 100644 --- a/source/_components/weather.bom.markdown +++ b/source/_components/weather.bom.markdown @@ -33,8 +33,8 @@ name: station: description: "The station ID string. See the [`sensor.bom` docs](/components/sensor.bom/) for details on how to find the ID of a station." required: optional - default: The closest station type: string + default: The closest station {% endconfiguration %}

diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown index 8ec59346cc8..505c84bae90 100644 --- a/source/_components/weather.buienradar.markdown +++ b/source/_components/weather.buienradar.markdown @@ -41,12 +41,14 @@ longitude: required: false type: float forecast: - description: "'True' to add a temperature forecast, 'False' to suppress it." + description: "`true` to add a temperature forecast, `false` to suppress it." required: false - default: true type: boolean + default: true {% endconfiguration %} +### {% linkable_title Full configuration %} + A full configuration example: ```yaml diff --git a/source/_components/weather.ipma.markdown b/source/_components/weather.ipma.markdown index 02141227ead..68f4cf67a88 100644 --- a/source/_components/weather.ipma.markdown +++ b/source/_components/weather.ipma.markdown @@ -22,23 +22,23 @@ To add the IPMA weather platform to your installation, add the following to your ```yaml # Example configuration.yaml entry weather: - - platform: ipma + - platform: ipma ``` {% configuration %} name: description: The name you would like to give to the weather station. - required: false - default: The name of the used station + required: false type: string + default: The name of the used station latitude: description: Latitude of the location for which you want weather information. - required: false - default: Home Assistant global latitude configuration + required: false type: string + default: Home Assistant global latitude configuration longitude: description: Longitude of the location for which you want weather information. - required: false - default: Home Assistant global longitude configuration + required: false type: string + default: Home Assistant global longitude configuration {% endconfiguration %} diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index e558c1a29bc..fa199a2d666 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. +The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. Home Assistant currently supports free web services and such which require a registration. Please check the sidebar for a full list of supported `weather` platforms. @@ -32,4 +32,3 @@ The `weather` platform only knows the below listed conditions. The reason for th - 'windy' - 'windy-variant' - 'exceptional': - diff --git a/source/_components/weather.met.markdown b/source/_components/weather.met.markdown index 1c31f4a0357..3cdd8145b8c 100644 --- a/source/_components/weather.met.markdown +++ b/source/_components/weather.met.markdown @@ -24,7 +24,6 @@ weather: - platform: met ``` - {% configuration %} latitude: description: Manually specify latitude. By default the value will be taken from the Home Assistant configuration. diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index 1d38510de48..37d41463dbd 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -34,8 +34,8 @@ api_key: name: description: Additional name for the weather component in Home Assistant. required: false - default: Met Office type: string + default: Met Office latitude: description: "Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`." required: inclusive @@ -50,4 +50,3 @@ longitude: This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor. The weather platform is easier to configure but less customizable.

- diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index f0d9d1f93bb..1d83077ef80 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -30,29 +30,29 @@ weather: {% configuration %} api_key: - required: true description: Your API key for [OpenWeatherMap](http://openweathermap.org/). + required: true type: string name: - required: false description: Name to use in the frontend. + required: false + type: string default: OpenWeatherMap - type: string mode: - required: false description: "Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast." - default: "`hourly`" + required: false type: string + default: "`hourly`" latitude: - required: false description: Latitude of the location to display the weather. - default: "The latitude in your `configuration.yaml` file." - type: float -longitude: required: false - description: Longitude of the location to display the weather. - default: "The longitude in your `configuration.yaml` file." type: float + default: "The latitude in your `configuration.yaml` file." +longitude: + description: Longitude of the location to display the weather. + required: false + type: float + default: "The longitude in your `configuration.yaml` file." {% endconfiguration %}

diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 055f9daa0ec..7f9744a3938 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -12,7 +12,6 @@ ha_category: Weather ha_release: 0.47 --- - The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as a source for current meteorological data. This component will show you the condition and temperatures for max. 10 days.

@@ -39,8 +38,8 @@ woeid: name: description: The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. required: false - default: yweather type: string + default: yweather {% endconfiguration %}

diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index dd62ceec3dc..486f6d7fded 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -29,23 +29,23 @@ weather: {% configuration %} station_id: - required: false description: The ID number for a supported ZAMG station. + required: false type: string name: - required: false description: A name for the weather platform. + required: false type: string latitude: - required: false description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." - type: float -longitude: required: false - description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." type: float + default: "Defaults to coordinates defined in your `configuration.yaml` file." +longitude: + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." + required: false + type: float + default: "Defaults to coordinates defined in your `configuration.yaml` file." {% endconfiguration %}

diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown index e145d62e1be..4e05396cdf1 100644 --- a/source/_components/weblink.markdown +++ b/source/_components/weblink.markdown @@ -15,6 +15,8 @@ ha_qa_scale: internal The `weblink` component allows you to display links in the Home Assistant frontend. +## {% linkable_title Configuration %} + To use this component in your installation, add something like the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/websocket_api.markdown b/source/_components/websocket_api.markdown index 4457f2feeac..ca35aeb0678 100644 --- a/source/_components/websocket_api.markdown +++ b/source/_components/websocket_api.markdown @@ -18,6 +18,8 @@ The `websocket_api` component set up a WebSocket API and allows one to interact It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.

+## {% linkable_title Configuration %} + ```yaml # Example configuration.yaml entry websocket_api: diff --git a/source/_components/wemo.markdown b/source/_components/wemo.markdown index af752d9e99a..71f734402ab 100644 --- a/source/_components/wemo.markdown +++ b/source/_components/wemo.markdown @@ -15,6 +15,8 @@ ha_release: pre 0.7 The `wemo` component is the main component to integrate various [Belkin WeMo](http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant. +## {% linkable_title Configuration %} + Supported devices will be automatically discovered if the discovery component is enabled. Loading the `wemo` component will scan the local network for WeMo devices, even if you are not using the discovery component ```yaml diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index ade545e1374..b26f93bf50c 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -78,8 +78,8 @@ client_secret: local_control: description: If set to `true` state changes for lights, locks and switches will be issued to the local hub. required: false - default: false type: boolean + default: false {% endconfiguration %} Local control: diff --git a/source/_components/wirelesstag.markdown b/source/_components/wirelesstag.markdown index d4e229d4a16..bd92d2ee6ce 100644 --- a/source/_components/wirelesstag.markdown +++ b/source/_components/wirelesstag.markdown @@ -15,6 +15,8 @@ ha_release: 0.68 The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](http://wirelesstag.net) sensors tags in Home Assistant. +## {% linkable_title Configuration %} + To enable tags set up with your [wirelesstag.net](http://wirelesstag.net) account, add the following to your `configuration.yaml` file: ```yaml @@ -25,14 +27,14 @@ wirelesstag: ``` {% configuration %} - username: - description: Username for your [wirelesstag.net](http://wirelesstag.net) account. - required: true - type: string - password: - description: Password for your [wirelesstag.net](http://wirelesstag.net) account. - required: true - type: string +username: + description: Username for your wirelesstag.net account. + required: true + type: string +password: + description: Password for your wirelesstag.net account. + required: true + type: string {% endconfiguration %} Finish your configuration by visiting the [WirelessTag binary sensor](/components/binary_sensor.wirelesstag/), [WirelessTag sensor](/components/sensor.wirelesstag/), or [WirelessTag switch](/components/switch.wirelesstag/) documentation. @@ -44,4 +46,4 @@ Finish your configuration by visiting the [WirelessTag binary sensor](/component

Tags Manager supports local push notifications for `http` schema only. So if your hass uses `https`, local push notifications are disabled and data is received via cloud polling. -

\ No newline at end of file +

diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 5c6fa1016ba..c01577030b0 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -92,38 +92,38 @@ xiaomi_aqara: ``` {% configuration %} - gateways: - description: A list of gateways to set up. - required: true - type: map - keys: - mac: - description: The MAC address of your gateway. *Optional if only using one gateway.* - required: false - type: string - key: - description: The key of your gateway. *Optional if only using sensors and/or binary sensors.* - required: false - type: string - host: - description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped. - required: false - type: string - disable: - description: Disable the gateway. This is only useful if you don't want to integrate a specific gateway. - required: false - type: boolean - default: false - discovery_retry: - description: Number of times that Home Assistant should try to reconnect to the gateway. - required: false - type: integer - default: 3 - interface: - description: Which network interface to use. - required: false - type: string - default: any +gateways: + description: A list of gateways to set up. + required: true + type: map + keys: + mac: + description: The MAC address of your gateway. *Optional if only using one gateway.* + required: false + type: string + key: + description: The key of your gateway. *Optional if only using sensors and/or binary sensors.* + required: false + type: string + host: + description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped. + required: false + type: string + disable: + description: Disable the gateway. This is only useful if you don't want to integrate a specific gateway. + required: false + type: boolean + default: false +discovery_retry: + description: Number of times that Home Assistant should try to reconnect to the gateway. + required: false + type: integer + default: 3 +interface: + description: Which network interface to use. + required: false + type: string + default: any {% endconfiguration %} ### {% linkable_title Services %} @@ -274,4 +274,3 @@ That means that Home Assistant is not getting any response from your Xiaomi gate - If you are using Home Assistant in [Docker](/docs/installation/docker/), make sure to use `--net=host`. - If you receive an `{"error":"Invalid key"}` in your log while trying to control the gateway light, you should generate the key again using an Android Phone or alternatively an emulator such as [bluestacks](https://www.bluestacks.com). In some instances there is an issue with keys being generated using the iOS application. - If the required library "PyXiaomiGateway" cannot be installed you will need to install some missing system dependencies `python3-dev`, `libssl-dev`, `libffi-dev` manually (e.g., `$ sudo apt-get install python3-dev libssl-dev libffi-dev`). - diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index 1056bef232c..fe317fce810 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -34,13 +34,13 @@ host: path: description: Path to your Zabbix install. required: false - default: "`/zabbix/`" type: string + default: "`/zabbix/`" ssl: description: Set to `True` if your Zabbix installation is using SSL. required: false - default: false type: boolean + default: false username: description: Your Zabbix username. required: false diff --git a/source/_components/zeroconf.markdown b/source/_components/zeroconf.markdown index d1459fdd1b1..d2e8908adea 100644 --- a/source/_components/zeroconf.markdown +++ b/source/_components/zeroconf.markdown @@ -14,6 +14,8 @@ ha_release: 0.18 The `zeroconf` component exposes your Home Assistant to the local network using [Zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking). Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -21,7 +23,7 @@ To integrate this into Home Assistant, add the following section to your `config zeroconf: ``` -The registration will include meta-data about the Home Assistant instance, including a base URL that can be used to access Home Assistant, the currently running Home Assistant version, and whether an API password is needed to access the instance. The examples below show two ways to retrieve the details for testing. +The registration will include meta-data about the Home Assistant instance, including a base URL that can be used to access Home Assistant, the currently running Home Assistant version, and whether an API password is needed to access the instance. The examples below show two ways to retrieve the details for testing. ```bash $ avahi-browse -alr @@ -39,6 +41,6 @@ Browsing domain 'local' on -1.-1 ... Browsing for services of type '_home-assistant._tcp' in domain 'local' on 4.0 ... Found service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0. Service data for service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0: - Host Home._home-assistant._tcp.local (192.168.0.70), port 8123, TXT data: + Host Home._home-assistant._tcp.local (192.168.0.70), port 8123, TXT data: ['requires_api_password=true', 'base_url=http://192.168.0.70:8123', 'version=0.41.0'] ``` diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 477b89178c7..b7969749bf9 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -31,6 +31,8 @@ Known working ZigBee radios: - [Elelabs ZigBee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) - [Elelabs ZigBee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) +## {% linkable_title Configuration %} + To configure the component, a `zha` section must be present in the `configuration.yaml`, and the path to the serial device for the radio and path to the database which will persist your network data is required. @@ -45,8 +47,8 @@ zha: radio_type: description: One of `ezsp` or `xbee`. required: false - default: ezsp type: string + default: ezsp usb_path: description: Path to the serial device for the radio. required: true @@ -54,8 +56,8 @@ usb_path: baudrate: description: Baud rate of the serial device. required: false - default: 57600 type: integer + default: 57600 database_path: description: _Full_ path to the database which will keep persistent network data. required: true diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown index e2b3b2429bd..62e2f5aec44 100644 --- a/source/_components/zigbee.markdown +++ b/source/_components/zigbee.markdown @@ -22,6 +22,8 @@ There is currently support for the following device types within Home Assistant: - [Light](../light.zigbee) (digital output pins) - [Switch](../switch.zigbee) (digital output pins) +## {% linkable_title Configuration %} + The local ZigBee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. A `zigbee` section must be present in the `configuration.yaml` file and contain the following options as required: @@ -35,13 +37,13 @@ zigbee: device: description: The serial port to which the local ZigBee device is connected. required: false - default: "/dev/ttyUSB0" type: string + default: "`/dev/ttyUSB0`" baud: description: The baud rate at which to communicate with the local ZigBee device. required: false - default: 9600 type: integer + default: 9600 {% endconfiguration %} To find the possible serial port names of your device, run: diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown index 1e5125b71c1..caeb22e761a 100644 --- a/source/_components/zone.markdown +++ b/source/_components/zone.markdown @@ -53,8 +53,8 @@ longitude: radius: description: The radius of the zone in meters. required: false - default: 100 type: integer + default: 100 icon: description: The icon to show instead of name. required: false @@ -62,8 +62,8 @@ icon: passive: description: To only use the zone for automation and hide it from the frontend and not use the zone for device tracker name. required: false - default: false type: boolean + default: false {% endconfiguration %} To find the latitude/longitude of a certain place you can use [Google Maps](https://www.google.com/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google) diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index 520366e14e8..9bfce1ee953 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The ZoneMinder component sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance so that [cameras](/components/camera.zoneminder/), [sensors](/components/sensor.zoneminder/), and [switches](/components/switch.zoneminder) can use it. +## {% linkable_title Configuration %} + ```yaml # Example configuration.yaml entry zoneminder: @@ -30,23 +32,23 @@ host: path: description: Path to your ZoneMinder install. required: false - default: "`/zm/`" type: string + default: "`/zm/`" path_zms: description: Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. required: false - default: "`/zm/cgi-bin/nph-zms`" type: string + default: "`/zm/cgi-bin/nph-zms`" ssl: description: Set to `true` if your ZoneMinder installation is using SSL. required: false - default: false type: boolean + default: false verify_ssl: description: Verify the certification of the endpoint. required: false - default: true type: boolean + default: true username: description: Your ZoneMinder username. required: false diff --git a/source/_components/zwave.markdown b/source/_components/zwave.markdown index 9dd4811b3e4..33c11eeccd3 100644 --- a/source/_components/zwave.markdown +++ b/source/_components/zwave.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Push" The [Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component. +## {% linkable_title Configuration %} + If you have setup the requirements, then add the following entry `configuration.yaml` file: ```yaml From ac4baf0a8d1d9114f897121440a5358fa9243d0b Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 11:09:36 +0200 Subject: [PATCH 21/73] Various things - t (#7020) Add missing titles Remove trailing spaces Fix grammar - login -> log in - show how a entry -> shows how an entry Mention default and minimal value (telldus) or link to add-on which is mentioned (tellstick) --- source/_components/tado.markdown | 6 +++-- source/_components/tahoma.markdown | 9 ++++---- .../telegram_bot.broadcast.markdown | 13 ++++++----- .../_components/telegram_bot.polling.markdown | 13 ++++++----- .../telegram_bot.webhooks.markdown | 22 +++++++++++-------- source/_components/tellduslive.markdown | 6 +++-- source/_components/tellstick.markdown | 4 +++- source/_components/tesla.markdown | 5 +++-- source/_components/thethingsnetwork.markdown | 21 +++++++++--------- source/_components/thingspeak.markdown | 2 ++ source/_components/tibber.markdown | 9 ++++---- source/_components/toon.markdown | 6 +++-- source/_components/tradfri.markdown | 2 -- source/_components/tts.amazon_polly.markdown | 1 - source/_components/tts.baidu.markdown | 5 ++++- source/_components/tts.microsoft.markdown | 19 ++++++++++------ source/_components/tts.picotts.markdown | 10 ++++++--- source/_components/tts.voicerss.markdown | 10 ++++----- source/_components/tts.yandextts.markdown | 18 +++++++-------- source/_components/tuya.markdown | 6 ++--- source/_components/twilio.markdown | 2 ++ 21 files changed, 109 insertions(+), 80 deletions(-) diff --git a/source/_components/tado.markdown b/source/_components/tado.markdown index cfb7294289c..f78c99ae627 100644 --- a/source/_components/tado.markdown +++ b/source/_components/tado.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `tado` component platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website. It adds climate devices for every tado zone and sensors for some additional information of the zones. +## {% linkable_title Configuration %} + To use your tado thermostats in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,11 +28,11 @@ tado: {% configuration %} username: - description: Username for my.tado.com. + description: Your username for my.tado.com. required: true type: string password: - description: Password for my.tado.com. + description: Your password for my.tado.com. required: true type: string {% endconfiguration %} diff --git a/source/_components/tahoma.markdown b/source/_components/tahoma.markdown index 03734815e39..323d51bee5a 100644 --- a/source/_components/tahoma.markdown +++ b/source/_components/tahoma.markdown @@ -13,9 +13,10 @@ ha_release: 0.59 ha_iot_class: "Cloud Polling" --- - The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds covers, scenes and a sun sensor from the Tahoma platform. +## {% linkable_title Configuration %} + To use your Tahoma devices in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -28,15 +29,15 @@ tahoma: {% configuration %} username: - description: Username for tahomalink.com + description: Your username for tahomalink.com. required: true type: string password: - description: Password for tahomalink.com + description: Your password for tahomalink.com. required: true type: string exclude: - description: Excludes devices + description: List of devices to exclude. required: false type: list {% endconfiguration %} diff --git a/source/_components/telegram_bot.broadcast.markdown b/source/_components/telegram_bot.broadcast.markdown index 895e5b3cd72..4b820fac4a4 100644 --- a/source/_components/telegram_bot.broadcast.markdown +++ b/source/_components/telegram_bot.broadcast.markdown @@ -14,11 +14,12 @@ ha_release: 0.48 Telegram implementation to support **sending messages only**. Your Home Assistant instance does not have to be exposed to the Internet and there is no polling to receive messages sent to the bot. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry - telegram_bot: - platform: broadcast api_key: YOUR_API_KEY @@ -29,7 +30,7 @@ telegram_bot: {% configuration %} allowed_chat_ids: - description: A list of user in the `user_id` Telegram format enabled to interact to webhook + description: A list of users in the `user_id` Telegram format that are authorized to interact with the webhook. required: true type: list api_key: @@ -37,16 +38,16 @@ api_key: required: true type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false - default: markdown type: string + default: "`markdown`" proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string {% endconfiguration %} diff --git a/source/_components/telegram_bot.polling.markdown b/source/_components/telegram_bot.polling.markdown index 2befc8abb8f..4b9df18396a 100644 --- a/source/_components/telegram_bot.polling.markdown +++ b/source/_components/telegram_bot.polling.markdown @@ -16,11 +16,12 @@ Telegram chatbot polling implementation. One of two bot implementations supported by Telegram. Your Home Assistant does not have to be exposed to the internet. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry - telegram_bot: - platform: polling api_key: YOUR_API_KEY @@ -31,7 +32,7 @@ telegram_bot: {% configuration %} allowed_chat_ids: - description: A list of user in the `user_id` Telegram format enabled to interact to webhook + description: A list of users in the `user_id` Telegram format that are authorized to interact with the webhook. required: true type: list api_key: @@ -39,16 +40,16 @@ api_key: required: true type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false - default: markdown type: string + default: "`markdown`" proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string {% endconfiguration %} diff --git a/source/_components/telegram_bot.webhooks.markdown b/source/_components/telegram_bot.webhooks.markdown index 31b20f6b576..ffe92026d6f 100644 --- a/source/_components/telegram_bot.webhooks.markdown +++ b/source/_components/telegram_bot.webhooks.markdown @@ -18,6 +18,8 @@ Using Telegrams `setWebhook` method your bot's webhook URL should be set to `htt This is one of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your Home Assistant instance to be exposed to the internet. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -43,33 +45,35 @@ api_key: description: The API token of your bot. required: true type: string -trusted_networks: - description: Telegram server access ACL as list. - required: false - default: 149.154.167.197-233 - type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false default: markdown type: string proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string url: description: Allow to overwrite the `base_url` from the [`http`](/components/http/) component for different configurations (`https://:`). required: false type: string +trusted_networks: + description: Telegram server access ACL as list. + required: false + type: string + default: 149.154.167.197-233 {% endconfiguration %} To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram). As well as authorizing the chat, if you have added your bot to a group you will also need to authorize any user that will be interacting with the webhook. When an unauthorized user tries to interact with the webhook Home Assistant will raise an error ("Incoming message is not allowed"), you can easily obtain the users id by looking in the "from" section of this error message. -Full configuration sample: +## {% linkable_title Full configuration example %} + +The configuration sample below shows how an entry can look like: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 1b441341db4..4af2502e318 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -21,6 +21,8 @@ If you are upgrading from 0.58 or older, you need to remove all Telldus configur Home Assistant will automatically discover the presence of a Tellstick Net or Tellstick ZNet on your local network if the [discovery]({{site_root}}/components/discovery/) component is enabled. When discovery and the key exchange with Telldus Live have been completed, you will be presented with an option to integrate with the cloud or local API for direct communication with your hardware in your LAN. Local API supports only one device at this stage. Local API is only supported with the Znet Lite products, the older hardware (such as Tellstick Net) does not support local API. +## {% linkable_title Configuration %} + To manually integrate your Telldus Live with Home Assistant, e.g., if your device is on another network or in another location, add the following section to your `configuration.yaml` file: ```yaml @@ -34,10 +36,10 @@ host: required: false type: string update_interval: - description: Interval (in seconds) for polling the Telldus Live server (or the local server). + description: Interval (in seconds) for polling the Telldus Live server (or the local server). Minimal value can't be less then 300. required: false - default: 60 type: integer + default: 60 {% endconfiguration %} The component will offer configuration through the Home Assistant user interface where it will let you associate it with your Telldus Live account. diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown index 232fd9e1525..36bdec9e609 100644 --- a/source/_components/tellstick.markdown +++ b/source/_components/tellstick.markdown @@ -11,7 +11,6 @@ logo: telldus_tellstick.png ha_category: Hub --- - The `tellstick` component integrates [TellStick](http://www.telldus.se/products/tellstick) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf). ## {% linkable_title Configuration %} @@ -23,6 +22,8 @@ To get started, add the devices to your `configuration.yaml` file. tellstick: ``` +For Hass.io users there is a [TellStick add-on](/addons/tellstick/) available. + ```yaml # Example configuration.yaml entry for Hass.io with the TellStick add-on tellstick: @@ -35,6 +36,7 @@ signal_repetitions: description: Because the TellStick 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 and light to try to send each signal repeatedly. required: false type: integer + default: 1 host: description: If you run TellStick on another server or with the Hass.io add-on. required: inclusive diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown index c004585e369..5c09dd4f6bf 100644 --- a/source/_components/tesla.markdown +++ b/source/_components/tesla.markdown @@ -13,7 +13,6 @@ ha_release: 0.53 ha_iot_class: "Cloud Polling" --- - The `Tesla` component offers integration with the [Tesla](https://auth.tesla.com/login) cloud service and provides presence detection as well as sensors such as charger state and temperature. This component provides the following platforms: @@ -24,6 +23,8 @@ This component provides the following platforms: - Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. - Switch - Charger and max range switch. Allow you to start/stop charging and set max range charging. + ## {% linkable_title Configuration %} + To use Tesla in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -45,6 +46,6 @@ password: scan_interval: description: API polling interval. Minimal value can't be less then 300. required: false - default: 300 type: integer + default: 300 {% endconfiguration %} diff --git a/source/_components/thethingsnetwork.markdown b/source/_components/thethingsnetwork.markdown index 328022f6cc8..f7cc6574a3f 100644 --- a/source/_components/thethingsnetwork.markdown +++ b/source/_components/thethingsnetwork.markdown @@ -23,7 +23,7 @@ The Things network support various integrations to make the data available: | [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/components/sensor.thethingsnetwork/) | | [HTTP](https://www.thethingsnetwork.org/docs/applications/http/) | | -### {% linkable_title Setup %} +## {% linkable_title Setup %} Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications**. @@ -41,6 +41,8 @@ You need an access key to be able to read the data from your application. Access keys

+## {% linkable_title Configuration %} + To enable this component, add the following lines to your `configuration.yaml`: ```yaml @@ -51,13 +53,12 @@ thethingsnetwork: ``` {% configuration %} - app_id: - description: The Application ID. - required: true - type: string - access_key: - description: The access key. - required: true - type: string +app_id: + description: The Application ID. + required: true + type: string +access_key: + description: The access key. + required: true + type: string {% endconfiguration %} - diff --git a/source/_components/thingspeak.markdown b/source/_components/thingspeak.markdown index b18969ca64e..6bcabe6fe9e 100644 --- a/source/_components/thingspeak.markdown +++ b/source/_components/thingspeak.markdown @@ -15,6 +15,8 @@ ha_release: 0.32 The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/). For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](/components/influxdb/). +## {% linkable_title Configuration %} + You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your Write API Key from the "API Keys" tab of the channel you want to use. To setup the ThingSpeak component in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/tibber.markdown b/source/_components/tibber.markdown index d201d5e7f34..e824ddcb5bf 100644 --- a/source/_components/tibber.markdown +++ b/source/_components/tibber.markdown @@ -14,7 +14,6 @@ ha_qa_scale: silver ha_iot_class: "Cloud Polling" --- - The `tibber` component provides a sensor with the current electricity price if you are a [Tibber](https://tibber.com/) customer. If you have a Tibber Pulse it will also show the electricity consumption in real time. @@ -34,8 +33,8 @@ tibber: ``` {% configuration %} - access_token: - description: Your Tibber API token. - required: true - type: string +access_token: + description: Your Tibber API token. + required: true + type: string {% endconfiguration %} diff --git a/source/_components/toon.markdown b/source/_components/toon.markdown index d5201873af0..1e81b2f2be6 100644 --- a/source/_components/toon.markdown +++ b/source/_components/toon.markdown @@ -17,6 +17,8 @@ The `toon` component platform can be used to control your Toon thermostat. This For the `toon` component to work, you'll need an active Toon subscription with Eneco. The component uses your Mijn Eneco credentials to control your thermostat through the [toonopafstand](https://toonopafstand.eneco.nl) domain. +## {% linkable_title Configuration %} + To use your Toon thermostat in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -38,13 +40,13 @@ password: gas: description: With this option you can choose whether you want to measure gas consumption. required: false - default: true type: boolean + default: true solar: description: With this option you can choose whether you want to measure electricity production. required: false - default: false type: boolean + default: false {% endconfiguration %} Toon is a smart thermostat delivered by the Eneco power company in The Netherlands. It can measure energy consumption (power and gas), but also the amount of energy generated in case solar panels are connected to it. Toon also acts as a z-wave hub for supported devices like the wall plug and the smoke detector. This component uses the [toonlib library](https://github.com/costastf/toonlib) by Costas Tyfoxylos that connects to the unofficial API on [https://toonopafstand.eneco.nl](https://toonopafstand.eneco.nl). diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown index ce35f040203..ea1b328254c 100644 --- a/source/_components/tradfri.markdown +++ b/source/_components/tradfri.markdown @@ -44,7 +44,6 @@ allow_tradfri_groups: default: false {% endconfiguration %} - ## {% linkable_title Troubleshooting %} ### {% linkable_title Firmware updates %} @@ -58,4 +57,3 @@ Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf ### {% linkable_title Setting the `api_key` %} Do not use the `api_key` variable in `configuration.yaml`. The API key is only needed once at initial setup and will be stored. - diff --git a/source/_components/tts.amazon_polly.markdown b/source/_components/tts.amazon_polly.markdown index 8be1fdc0a5e..0a424f2fc74 100644 --- a/source/_components/tts.amazon_polly.markdown +++ b/source/_components/tts.amazon_polly.markdown @@ -68,7 +68,6 @@ sample_rate: type: string {% endconfiguration %} - ## {% linkable_title Usage %} Say to all `media_player` device entities: diff --git a/source/_components/tts.baidu.markdown b/source/_components/tts.baidu.markdown index b0042c40777..ad9d97456e5 100644 --- a/source/_components/tts.baidu.markdown +++ b/source/_components/tts.baidu.markdown @@ -14,6 +14,8 @@ ha_release: 0.59 The `baidu` text-to-speech platform uses [Baidu TTS engine](https://cloud.baidu.com/product/speech/tts) to read a text with natural sounding voices. +## {% linkable_title Configuration %} + To get started, add the following lines to your `configuration.yaml`: ```yaml @@ -54,9 +56,10 @@ volume: type: integer default: 5 person: - description: Voice type. You choose one from 0, 1, 3 or 4. + description: The voice type. You choose one from 0, 1, 3 or 4. required: false type: integer default: 0 {% endconfiguration %} +At the moment, `zh` is the only supported language and therefore the default value. diff --git a/source/_components/tts.microsoft.markdown b/source/_components/tts.microsoft.markdown index 4b13aeac4f7..7725da381a7 100644 --- a/source/_components/tts.microsoft.markdown +++ b/source/_components/tts.microsoft.markdown @@ -13,7 +13,9 @@ ha_release: 0.57 --- The `microsoft` text-to-speech platform uses [Microsoft Text-to-Speech engine](https://docs.microsoft.com/en-us/azure/cognitive-services/speech/home) to read a text with natural sounding voices. This component uses an API that is part of the Cognitive Services offering and is known as the Bing Speech API. -You will need an API key, which is free. You can use your [Azure subscription](https://azure.microsoft.com) or get an API key on the [Cognitive Services site](https://azure.microsoft.com/en-us/try/cognitive-services/). +You will need an API key, which is free. You can use your [Azure subscription](https://azure.microsoft.com) or get an API key on the [Cognitive Services site](https://azure.microsoft.com/en-us/try/cognitive-services/). + +## {% linkable_title Configuration %} To enable text-to-speech with Microsoft, add the following lines to your `configuration.yaml`: @@ -32,39 +34,42 @@ api_key: language: description: The language to use. Accepted values are listed in the documentation mentioned below. Note that if you set the language to anything other than the default, you will need to specify a matching voice type as well. required: false - default: "`en-us`" type: string + default: "`en-us`" gender: description: The gender you would like to use for the voice. Accepted values are `Female` and `Male`. required: false - default: "`Female`" type: string + default: "`Female`" type: description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/Speech/api-reference-rest/bingvoiceoutput)." required: false - default: "`ZiraRUS`" type: string + default: "`ZiraRUS`" rate: description: "Change the rate of speaking in percentage. Example values: `25`, `50`." required: false - default: 0 type: integer + default: 0 volume: description: "Change the volume of the output in percentage. Example values: `-20`, `70`." required: false - default: 0 type: integer + default: 0 pitch: description: "Change the pitch of the output. Example values: `high`." required: false - default: "`default`" type: string + default: "`default`" contour: description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](http://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`." required: false type: string {% endconfiguration %} + +## {% linkable_title Full configuration example %} + A full configuration sample including optional variables: ```yaml diff --git a/source/_components/tts.picotts.markdown b/source/_components/tts.picotts.markdown index 29f0c748a40..677ae77b919 100644 --- a/source/_components/tts.picotts.markdown +++ b/source/_components/tts.picotts.markdown @@ -16,6 +16,8 @@ The `picotts` text-to-speech platform uses offline pico Text-to-Speech engine to This requires to install the pico tts library on the system, typically on debian just do `sudo apt-get install libttspico-utils` On some Raspbian release, this package is missing but you can just copy the arm deb package from debian. +## {% linkable_title Configuration %} + To enable text-to-speech with Pico, add the following lines to your `configuration.yaml`: ```yaml @@ -26,13 +28,15 @@ tts: {% configuration %} language: - description: "The language to use. Supported languages : 'en-US', 'en-GB', 'de-DE', 'es-ES', 'fr-FR', 'it-IT'" + description: "The language to use. Supported languages are `en-US`, `en-GB`, `de-DE`, `es-ES`, `fr-FR` and `it-IT`." required: false - default: "`en-US`" type: string + default: "`en-US`" {% endconfiguration %} -A full configuration sample: +## {% linkable_title Full configuration example %} + +The configuration sample below shows how an entry can look like: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tts.voicerss.markdown b/source/_components/tts.voicerss.markdown index de72643c610..a2ce16ab7f2 100644 --- a/source/_components/tts.voicerss.markdown +++ b/source/_components/tts.voicerss.markdown @@ -33,25 +33,25 @@ api_key: language: description: The language to use. required: false - default: "`en-us`" type: string + default: "`en-us`" codec: description: The audio codec. required: false - default: mp3 type: string + default: mp3 format: description: The audio sample format. required: false - default: 8khz_8bit_mono type: string + default: 8khz_8bit_mono {% endconfiguration %} -Check the [VoiceRSS API documentation](http://www.voicerss.org/api/documentation.aspx) for allow values. +Check the [VoiceRSS API documentation](http://www.voicerss.org/api/documentation.aspx) for allowed values. ## {% linkable_title Full configuration example %} -The configuration sample below show how a entry can look like: +The configuration sample below shows how an entry can look like: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tts.yandextts.markdown b/source/_components/tts.yandextts.markdown index 184581cf40b..f51a24ba402 100644 --- a/source/_components/tts.yandextts.markdown +++ b/source/_components/tts.yandextts.markdown @@ -31,37 +31,37 @@ api_key: required: true type: string language: - description: "The language to use. Supported `en-US`, `ru-RU`, `uk-UK`, `tr-TR`." + description: "The language to use. Supported languages are `en-US`, `ru-RU`, `uk-UK` and `tr-TR`." required: false + type: string default: "`en-US`" - type: string codec: - description: "The audio codec. Supported us `mp3`, `wav`, `opus`." + description: "The audio codec. Supported codecs are `mp3`, `wav` and `opus`." required: false - default: "`mp3`" type: string + default: "`mp3`" voice: description: "The speaker voice. Supported female voices are `jane`, `oksana`, `alyss`, `omazh` and male voices are `zahar` and `ermil`." required: false + type: string default: "`zahar`" - type: string emotion: - description: "The speaker emotional intonation. Also supported are `good` (friendly) and `evil` (angry)" + description: "The speaker emotional intonation. Supported emotions are `good` (friendly), `evil` (angry) and `neutral`" required: false - default: "`neutral`" type: string + default: "`neutral`" speed: description: The speech speed. Highest speed is `3` and lowest `0,1` required: false - default: "`1`" type: float + default: "`1`" {% endconfiguration %} Please check the [API documentation](https://tech.yandex.com/speechkit/cloud/doc/guide/concepts/tts-http-request-docpage/) for details. It seems that the English version of documentation is outdated. You could request an API key [by email](https://tech.yandex.com/speechkit/cloud/) or [online](https://developer.tech.yandex.ru/). ## {% linkable_title Full configuration example %} -The configuration sample below show how a entry can look like: +The configuration sample below shows how an entry can look like: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tuya.markdown b/source/_components/tuya.markdown index e868b527692..7166c6142ed 100644 --- a/source/_components/tuya.markdown +++ b/source/_components/tuya.markdown @@ -28,15 +28,15 @@ tuya: {% configuration %} username: - description: Your username to login to Tuya. This may be your phone number. + description: Your username to log in to Tuya. This may be your phone number. required: true type: string password: - description: Your password to login to Tuya. + description: Your password to log in to Tuya. required: true type: string country_code: - description: "Your account [country code](https://www.countrycode.org/) (e.g., 1 for USA or 86 for China)." + description: "Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China." required: true type: string platform: diff --git a/source/_components/twilio.markdown b/source/_components/twilio.markdown index f92ee5ab670..c46464b1699 100644 --- a/source/_components/twilio.markdown +++ b/source/_components/twilio.markdown @@ -17,6 +17,8 @@ The `twilio` component enables the sending of notifications via SMS and the crea Free trial account is available at [Twilio](https://twilio.com) website providing free calls to verified phone numbers. Calls are limited to 10 minutes and will play a short trial message before your message runs. Upgraded accounts have no limitation. +## {% linkable_title Configuration %} + To use this notification component in your installation, add the following to your `configuration.yaml` file: ```yaml From 21bc58ade5b52d80c0acc2ddffec6b5e8059b190 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 11:10:43 +0200 Subject: [PATCH 22/73] Update UPNP configuration (#7022) Fix config tags Add missing variable --- source/_components/upnp.markdown | 37 ++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/source/_components/upnp.markdown b/source/_components/upnp.markdown index b16888a93c2..a3c3cd4d366 100644 --- a/source/_components/upnp.markdown +++ b/source/_components/upnp.markdown @@ -33,20 +33,25 @@ upnp: With the default settings only the sensors are added for statistics. If you wish to have port mapping done through IGD, add the option **port_mapping** and **ports**. -{% configuration binary_sensor.template %} - ports: - description: Map of ports to map from internal to external. Pass 'hass' as internal port to use the port Home Assistant runs on. Note that you have to enable port_mapping if you wish to map ports. - required: false - type: map - default: open same port on external router as that HASS runs locally and forwards it. - port_mapping: - description: If the component should try to map ports. - required: false - type: boolean - default: false - local_ip: - description: The local IP address of the computer running Home Assistant. - required: false - type: string - default: Try to auto-detect IP of host. +{% configuration %} +port_mapping: + description: If the component should try to map ports. + required: false + type: boolean + default: false +sensors: + description: If the component should enable the UPNP sensors. + required: false + type: boolean + default: true +local_ip: + description: The local IP address of the computer running Home Assistant. + required: false + type: string + default: Try to auto-detect IP of host. +ports: + description: Map of ports to map from internal to external. Pass 'hass' as internal port to use the port Home Assistant runs on. Note that you have to enable port_mapping if you wish to map ports. + required: false + type: map + default: Open same port on external router as that HASS runs locally and forwards it. {% endconfiguration %} From 23a4976b2cc84fdc39146bc158333442be0154ae Mon Sep 17 00:00:00 2001 From: Jaxom Nutt <40261038+JaxomCS@users.noreply.github.com> Date: Tue, 23 Oct 2018 17:12:58 +0800 Subject: [PATCH 23/73] update documentation to reflect changes (#7029) Chased the default sender to be 'hass' to remove sending an array of senders bug. --- source/_components/notify.clicksend.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.clicksend.markdown b/source/_components/notify.clicksend.markdown index 8d619617b42..ee70de003d1 100644 --- a/source/_components/notify.clicksend.markdown +++ b/source/_components/notify.clicksend.markdown @@ -62,7 +62,7 @@ sender: description: The name or number of the sender. required: false type: string - default: recipient + default: 'hass' {% endconfiguration %} To use notifications, please see the [getting started with automation page](/getting-started/automation/). From eb56ae1405992db4769dab5f3c90cd60181af2d8 Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Tue, 23 Oct 2018 17:18:21 +0545 Subject: [PATCH 24/73] Update Documentation for 'Soundtouch Media Player Component Configuration (#7032) * Update Documentation for 'Soundtouch Media Player Component Configuration * Adds default value for 'name' key Default value for 'name' key is defined at https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/media_player/soundtouch.py#L59 --- .../media_player.soundtouch.markdown | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/source/_components/media_player.soundtouch.markdown b/source/_components/media_player.soundtouch.markdown index 463914f2366..c70eba92446 100644 --- a/source/_components/media_player.soundtouch.markdown +++ b/source/_components/media_player.soundtouch.markdown @@ -43,11 +43,22 @@ media_player: name: Soundtouch kitchen ``` -Configuration variables: - -- **host** (*Required*): The host name or address of the Soundtouch device. -- **name** (*Required*): The name of the device used in the frontend. -- **port** (*Optional*): The port number. Defaults to 8090. +{% configuration %} +host: + description: The host name or address of the Soundtouch device. + required: true + type: string +name: + description: The name of the device used in the frontend. + required: true + default: Bose Soundtouch + type: string +port: + description: The port number. + required: false + default: 8090 + type: integer +{% endconfiguration %} You can switch between one of your 6 pre-configured presets using ```media_player.play_media``` From 45f7090587fbd01dfbdf1365edda16e59405733c Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Tue, 23 Oct 2018 17:18:33 +0545 Subject: [PATCH 25/73] Update Documentation for 'Squeezebox' Media Player Component Configuration (#7031) --- .../media_player.squeezebox.markdown | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/source/_components/media_player.squeezebox.markdown b/source/_components/media_player.squeezebox.markdown index 26a617832de..147b402f5ed 100644 --- a/source/_components/media_player.squeezebox.markdown +++ b/source/_components/media_player.squeezebox.markdown @@ -25,12 +25,25 @@ media_player: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): The host name or address of the Logitech Media Server, eg. 192.168.1.21. -- **port** (*Optional*): Web interface port to Logitech Media Server. Defaults to 9000. -- **username** (*Optional*): The username, if password protection is enabled. -- **password** (*Optional*): The password, if password protection is enabled. +{% configuration %} +host: + description: The host name or address of the Logitech Media Server, eg. 192.168.1.21. + required: true + type: string +port: + description: The web interface port to Logitech Media Server. + required: false + default: 9000 + type: integer +username: + description: The username, if password protection is enabled. + required: false + type: string +password: + description: The password, if password protection is enabled. + required: false + type: string +{% endconfiguration %}

This platform now uses the web interface of the Logitech Media Server to send commands. The default port of the web interface is 9000. It is the same port that you use to access the LMS through your web browser. Originally, this platform used the telnet interface, which defaults to 9090. If you previously specified the port in your configuration file, you will likely need to update it.

From 02ce328d44b8455f928fb43bb09abaf0d2586765 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Tue, 23 Oct 2018 22:51:54 +0200 Subject: [PATCH 26/73] Update Google Text-to-Speech configuration (#7019) --- source/_components/tts.google.markdown | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/source/_components/tts.google.markdown b/source/_components/tts.google.markdown index 75160c41c21..c3bdf2d0cca 100644 --- a/source/_components/tts.google.markdown +++ b/source/_components/tts.google.markdown @@ -14,6 +14,8 @@ ha_release: 0.35 The `google` text-to-speech platform uses [Google Text-to-Speech engine](https://console.developers.google.com/apis/api/speech.googleapis.com/overview) Text-to-Speech engine to read a text with natural sounding voices. +## {% linkable_title Configuration %} + To enable text-to-speech with Google, add the following lines to your `configuration.yaml`: ```yaml @@ -22,12 +24,20 @@ tts: - platform: google ``` -Configuration variables: +{% configuration %} +language: + description: "The language to use." + required: false + type: string + default: "`en`" +{% endconfiguration %} -- **language** (*Optional*): The language to use. Defaults to `en`. - - [Complete list of supported languages (Languages where "Talk" feature is enabled in Google Translate)](https://translate.google.com/intl/en_ALL/about/languages/), use 2 digit language code which you can find at the end of url when you click on Language name. +Check the [complete list of supported languages](https://translate.google.com/intl/en_ALL/about/languages/) (languages where "Talk" feature is enabled in Google Translate) for allowed values. +Use the 2 digit language code which you can find at the end of url when you click on Language name. -A full configuration sample: +## {% linkable_title Full configuration example %} + +A full configuration sample including optional variables: ```yaml # Example configuration.yaml entry From e52fa5c0db6ae7062438d110ec9527865d0e673f Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Wed, 24 Oct 2018 02:44:19 +0545 Subject: [PATCH 27/73] Update Documentation for 'rpi_gpio' Cover Component Configuration (#7034) * Update Documentation for 'cover.rpi_gpio' Component Configuration * Minor changes --- source/_components/cover.rpi_gpio.markdown | 51 +++++++++++++++++----- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index 37427a321d8..2026b7bc3b6 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -35,18 +35,47 @@ cover: state_pin: 11 ``` -Configuration variables: +{% configuration %} +relay_time: + description: The time that the relay will be on for in seconds. + required: false + default: 0.2 + type: float +invert_relay: + description: Invert the relay pin output so that it is active-high (True). + required: false + default: False + type: boolean +state_pull_mode: + description: The direction the State pin is pulling. It can be UP or DOWN. + required: false + default: UP + type: string +invert_state: + description: Invert the value of the State pin so that 0 means closed. + required: false + default: False + type: boolean +covers: + description: List of your doors. + required: true + type: list + keys: + relay_pin: + description: The pin of your Raspberry Pi where the relay is connected. + required: true + type: integer + state_pin: + description: The pin of your Raspberry Pi to retrieve the state. + required: true + type: integer + name: + description: The name to use in the frontend. + required: false + type: string +{% endconfiguration %} -- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is 0.2 seconds. -- **invert_relay** (*Optional*): Invert the relay pin output so that it is active-high. Default is False (active-low). -- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP. -- **invert_state** (*Optional*): Invert the value of the State pin so that 0 means closed. Default is False. -- **covers** array (*Required*): List of your doors. - - **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected. - - **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state. - - **name** (*Optional*): Name to use in the frontend. - -Full example: +## {% linkable_title Full example %} ```yaml # Example configuration.yaml entry From ba3842ad05e792364a15e7c3a284d25092c8a33b Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Wed, 24 Oct 2018 03:00:52 +0545 Subject: [PATCH 28/73] Update Documentation for 'Snapcast' Media Player Component Configuration (#7033) * Update Documentation for 'snapcast' Media Player Component Configuration * Adds config for 'port' key Adds config for 'port' key used at https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/media_player/snapcast.py#L44 * Adds default port value Adds default port value Used during async_setup_platform() at: https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/media_player/snapcast.py#L54 Defined from imported 'python-snapcast' package at: https://github.com/happyleavesaoc/python-snapcast/blob/master/snapcast/control/server.py#L13 * Minor change * Replace value --- .../_components/media_player.snapcast.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/_components/media_player.snapcast.markdown b/source/_components/media_player.snapcast.markdown index 94f7db9b94c..b889f5168ae 100644 --- a/source/_components/media_player.snapcast.markdown +++ b/source/_components/media_player.snapcast.markdown @@ -22,9 +22,17 @@ To add Snapcast to your installation, add the following to your `configuration.y # Example configuration.yaml entry media_player: - platform: snapcast - host: xxx.xxx.xxx.xxx + host: YOUR_IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): The IP of the device, eg. `192.168.0.10`. +{% configuration %} +host: + description: The IP address of the device, e.g., `192.168.0.10`. + required: true + type: string +port: + description: The port number. + required: false + default: 1705 + type: integer +{% endconfiguration %} From ebaa4012f7a0ae72a1b174e423d6988512f78a97 Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Wed, 24 Oct 2018 03:49:57 +0545 Subject: [PATCH 29/73] Update Documentation for 'demo' Component Configuration (#7035) * Update Documentation for 'demo' Component Configuration * Add quotes * Move quotes --- source/_components/demo.markdown | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/_components/demo.markdown b/source/_components/demo.markdown index 7fc7ba7025a..1ea674c92c6 100644 --- a/source/_components/demo.markdown +++ b/source/_components/demo.markdown @@ -45,6 +45,9 @@ To integrate a demo platform in Home Assistant, add the following section to you - platform: demo ``` -Configuration variables: - -- **[component]** (*Required*): The name of the component as stated in the listing above the configuration example. +{% configuration %} +"[component]": + description: The name of the component as stated in the listing above the configuration example. + required: true + type: string +{% endconfiguration %} From 6be57834a5e079cb3089d7dae26f0d3658cfa382 Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Wed, 24 Oct 2018 04:21:36 +0545 Subject: [PATCH 30/73] Update Documentation for 'rflink' Cover Component Configuration (#7036) * Update Documentation for 'rflink' Cover Component Configuration * Minor changes * According to the code it's a list --- source/_components/cover.rflink.markdown | 85 +++++++++++++++++------- 1 file changed, 60 insertions(+), 25 deletions(-) diff --git a/source/_components/cover.rflink.markdown b/source/_components/cover.rflink.markdown index 4ea68f16afe..768d1e20455 100644 --- a/source/_components/cover.rflink.markdown +++ b/source/_components/cover.rflink.markdown @@ -25,17 +25,18 @@ You have to add the Somfy RTS manually with the supplied RFlinkLoader (Windows o Press the Learn button on the original Somfy remote enter the following code within 3 seconds. Your blinds will go up and down shortly: -```` +```text 10;RTS;02FFFF;0412;3;PAIR; -```` +``` Your blinds will go up and down again. This means your Rflink is now paired with your RTS motor. To check this enter the following code again and see if there is a record. -```` +```text 10;RTSSHOW; -```` -```` +``` + +```text RTS Record: 0 Address: FFFFFF RC: FFFF RTS Record: 1 Address: FFFFFF RC: FFFF RTS Record: 2 Address: FFFFFF RC: FFFF @@ -52,7 +53,7 @@ RTS Record: 12 Address: FFFFFF RC: FFFF RTS Record: 13 Address: FFFFFF RC: FFFF RTS Record: 14 Address: FFFFFF RC: FFFF RTS Record: 15 Address: FFFFFF RC: FFFF -```` +``` After configuring the RFLink Somfy RTS you have to add the cover to the `configuration.yaml` file like any other RFlink device. @@ -73,25 +74,59 @@ cover: name: Sovrumsgardin ``` -Configuration variables: - -- **devices** (*Optional*): A list of devices with their name to use in the frontend. -- **device_defaults**: (*Optional*) - - **fire_event** (*Optional*): Set default `fire_event` for Rflink switch devices (see below). - - **signal_repetitions** (*Optional*): Set default `signal_repetitions` for Rflink switch devices (see below). - -Device configuration variables: - -- **name** (*Optional*): Name for the device, defaults to Rflink ID. -- **aliases** (*Optional*): Alternative Rflink ID's this device is known by. -- **fire_event** (*Optional*): Fire a `button_pressed` event if this device is turned on or off (default: False). -- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1). -- **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes) -- **group_aliases** (*Optional*): `aliases` which only respond to group commands. -- **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands. - +{% configuration %} +devices: + description: A list of devices with their name to use in the frontend. + required: false + type: list + keys: + name: + description: The name for the device. Defaults to value for Rflink ID. + required: false + type: string + aliases: + description: The alternative Rflink ID's this device is known by. + required: false + type: list + fire_event: + description: Fire a `button_pressed` event if this device is turned on or off. + required: false + default: False + type: boolean + signal_repetitions: + description: The number of times every Rflink command should repeat. + required: false + type: integer + group: + description: Allow light to respond to group commands (ALLON/ALLOFF). + required: false + default: True + type: boolean + group_aliases: + description: The `aliases` which only respond to group commands. + required: false + type: list + no_group_aliases: + description: The `aliases` which do not respond to group commands. + required: false + type: list +device_defaults: + description: The default values for a device. + required: false + type: list + keys: + fire_event: + description: The default `fire_event` for Rflink cover devices. + required: false + default: False + type: boolean + signal_repetitions: + description: The default `signal_repetitions` for Rflink cover devices. + required: false + default: 1 + type: integer +{% endconfiguration %} ### {% linkable_title Device support %} -See [device support](/components/rflink/#device-support) - +See [device support](/components/rflink/#device-support). From 399b2089fcdd3ec590f72a67bf786e23639e2f33 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 24 Oct 2018 09:21:54 +0200 Subject: [PATCH 31/73] Fix Matrix component configuration (#7047) --- source/_components/matrix.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown index d965ea1a9f5..5d22a661c3e 100644 --- a/source/_components/matrix.markdown +++ b/source/_components/matrix.markdown @@ -27,8 +27,6 @@ matrix: name: my_command ``` -Configuration variables: - {% configuration %} username: description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g., '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." From 1e61a6d2a305f2c082b730ed7d294478d3efed5f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 24 Oct 2018 09:26:46 +0200 Subject: [PATCH 32/73] Update Flux switch component configuration (#7045) * Update Flux switch component configuration * :pencil2: update description of lights --- source/_components/switch.flux.markdown | 72 +++++++++++++++++++------ 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index cb9668f74c2..267173689a1 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -34,20 +34,63 @@ switch: - light.lamp ``` -Configuration variables: - -- **lights** (*Required*) array: List of light entities. -- **name** (*Optional*): The name to use when displaying this switch. -- **start_time** (*Optional*): The start time. Default to sunrise. -- **stop_time** (*Optional*): The stop time. Defaults to dusk. -- **start_colortemp** (*Optional*): The color temperature at the start. Defaults to `4000`. -- **sunset_colortemp** (*Optional*): The sun set color temperature. Defaults to `3000`. -- **stop_colortemp** (*Optional*): The color temperature at the end. Defaults to `1900`. -- **brightness** (*Optional*): The brightness of the lights. Calculated with `RGB_to_xy` by default. -- **disable_brightness_adjust** (*Optional*): If true, brightness will not be adjusted besides color temperature. Defaults to False. -- **mode** (*Optional*): Select how color temperature is passed to lights. Valid values are `xy`, `mired` and `rgb`. Defaults to `xy`. -- **transition** (*Optional*): Transition time for the light changes (high values may not be supported by all light models). Defaults to 30. -- **interval** (*Optional*): Frequency at which the lights should be updated. Defaults to 30. +{% configuration %} +lights: + description: array list of light entities. + required: true + type: list +name: + description: The name to use when displaying this switch. + required: false + default: Flux + type: string +start_time: + description: The start time. + required: false + type: time +stop_time: + description: The stop time. + required: false + type: time +start_colortemp: + description: The color temperature at the start. + required: false + default: 4000 + type: integer +sunset_colortemp: + description: The sun set color temperature. + required: false + default: 3000 + type: integer +stop_colortemp: + description: The color temperature at the end. + required: false + default: 1900 + type: integer +brightness: + description: The brightness of the lights. + required: false + type: integer +disable_brightness_adjust: + description: If true, brightness will not be adjusted besides color temperature. + required: false + type: boolean +mode: + description: Select how color temperature is passed to lights. Valid values are `xy`, `mired` and `rgb`. + required: false + default: xy + type: string +transition: + description: Transition time for the light changes (high values may not be supported by all light models). + required: false + default: 30 + type: integer +interval: + description: Frequency at which the lights should be updated. + required: false + default: 30 + type: integer +{% endconfiguration %} Full example: @@ -70,4 +113,3 @@ switch: transition: 30 interval: 60 ``` - From ba63ecf9fa4d669376fea43a5e57642f68997821 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 24 Oct 2018 09:27:32 +0200 Subject: [PATCH 33/73] Update Pulseaudio switch component configuration (#7044) --- .../switch.pulseaudio_loopback.markdown | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/source/_components/switch.pulseaudio_loopback.markdown b/source/_components/switch.pulseaudio_loopback.markdown index 6248f9910eb..9603337f58a 100644 --- a/source/_components/switch.pulseaudio_loopback.markdown +++ b/source/_components/switch.pulseaudio_loopback.markdown @@ -13,7 +13,6 @@ ha_release: 0.16 ha_iot_class: "Local Polling" --- - The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/). For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded. @@ -30,17 +29,42 @@ switch: - platform: pulseaudio_loopback ``` -Configuration variables: - -- **sink_name** (*Required*): The name of the Pulseaudio sink that will receive the audio. -- **source_name** (*Required*): The name of the Pulseaudio source that will supply the audio. -- **name** (*Optional*): Name of the switch. -- **host** (*Optional*): The IP address or host name of the PulseAudio server. If not specified, 127.0.0.1 is used. -- **port** (*Optional*): The port that Pulseaudio is listening on. Defaults to 4712. -- **buffer_size** (*Optional*): How much data to load from Pulseaudio at once. Default is 1KB. -- **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds. +{% configuration %} +sink_name: + description: The name of the Pulseaudio sink that will receive the audio. + required: true + type: string +source_name: + description: The name of the Pulseaudio source that will supply the audio. + required: true + type: string +name: + description: Name of the switch. + required: false + default: paloopback + type: string +host: + description: The IP address or host name of the PulseAudio server. + required: false + default: localhost + type: string +port: + description: The port that Pulseaudio is listening on. + required: false + default: 4712 + type: integer +buffer_size: + description: How much data to load from Pulseaudio at once. + required: false + default: 1024 + type: integer +tcp_timeout: + description: How long to wait for a response from Pulseaudio before giving up. + required: false + default: 3 + type: integer +{% endconfiguration %}

This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this component, `module-cli-protocol` must be loaded on the PulseAudio server.

- From 314c13da5d8c7632adede925f5ba5dc3b69376a3 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 24 Oct 2018 09:30:18 +0200 Subject: [PATCH 34/73] Update Rpi_gpio/pfio/rf switch component configuration (#7043) --- source/_components/switch.rpi_gpio.markdown | 23 +++++++--- source/_components/switch.rpi_pfio.markdown | 28 +++++++++--- source/_components/switch.rpi_rf.markdown | 48 ++++++++++++++++----- 3 files changed, 75 insertions(+), 24 deletions(-) diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown index f6d62a4935b..901734b1ee0 100644 --- a/source/_components/switch.rpi_gpio.markdown +++ b/source/_components/switch.rpi_gpio.markdown @@ -29,11 +29,22 @@ switch: 12: Light Desk ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **port: name** (*Required*): Port numbers and corresponding names (GPIO #). -- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). +{% configuration %} +ports: + description: Array of used ports. + required: true + type: list + keys: + port: + description: Port numbers and corresponding names (GPIO #). + required: true + type: [integer, string] +invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. @@ -51,5 +62,3 @@ switch: ports: 17: Speaker Relay ``` - - diff --git a/source/_components/switch.rpi_pfio.markdown b/source/_components/switch.rpi_pfio.markdown index 57f4ba2a6dc..3efa04537f4 100644 --- a/source/_components/switch.rpi_pfio.markdown +++ b/source/_components/switch.rpi_pfio.markdown @@ -31,10 +31,24 @@ switch: name: Light Desk ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **num** (*Required*): Port number. - - **name** (*Required*): Port name. - - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). - +{% configuration %} +ports: + description: Array of used ports. + required: true + type: list + keys: + num: + description: Port number. + required: true + type: list + keys: + name: + description: Port name. + required: true + type: string + invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/switch.rpi_rf.markdown b/source/_components/switch.rpi_rf.markdown index 43d2e5a30d5..0c7b52f53b1 100644 --- a/source/_components/switch.rpi_rf.markdown +++ b/source/_components/switch.rpi_rf.markdown @@ -43,13 +43,41 @@ switch: signal_repetitions: 15 ``` -Configuration variables: - -- **gpio** (*Required*): GPIO to which the data line of the TX module is connected. -- **switches:** (*Required*): The array that contains all switches. - - **[entry]** (*Required*): Name of the switch. Multiple entries are possible. - - **code_on** (*Required*): Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ','. - - **code_off** (*Required*): Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ','. - - **protocol** (*Optional*): RF Protocol (Default is `1`). - - **pulselength** (*Optional*): Pulselength (Default is the protocol default). - - **signal_repetitions** (*Optional*): Number of times to repeat transmission (default is 10, can increase to try to improve reliability). +{% configuration %} +gpio: + description: GPIO to which the data line of the TX module is connected. + required: true + type: integer +switches: + description: The array that contains all switches. + required: true + type: list + keys: + entry: + description: Name of the switch. Multiple entries are possible. + required: true + type: list + keys: + code_on: + description: Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ','. + required: true + type: list + code_off: + description: Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ','. + required: true + type: list + protocol: + description: RF Protocol. + required: false + default: 1 + type: integer + pulselength: + description: Pulselength + required: false + type: integer + signal_repetitions: + description: Number of times to repeat transmission + required: false + default: 10 + type: integer +{% endconfiguration %} From 0d1eaaaf3c67b97ab70b23430f796497debedba9 Mon Sep 17 00:00:00 2001 From: meijerwynand Date: Wed, 24 Oct 2018 09:57:08 +0200 Subject: [PATCH 35/73] Update device_tracker.gpslogger.markdown --- source/_components/device_tracker.gpslogger.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 17022f91b50..039d74c59f3 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -80,7 +80,7 @@ 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. -- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token). +- **0.77+** If you are using Long-Lived access tokens, then add `Authorization: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token). - **<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`. From f4261d446cc84a4b890aefa289ef989b3054570b Mon Sep 17 00:00:00 2001 From: pyitphyoaung Date: Thu, 25 Oct 2018 03:08:23 +1300 Subject: [PATCH 36/73] update zigbee logo (#7056) --- source/images/supported_brands/zigbee.png | Bin 10592 -> 15947 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/zigbee.png b/source/images/supported_brands/zigbee.png index d91383457c4c4f46fe9b23ccc24ccf649992e0d3..8d6c3c044907ccf6d063662430f5ee564a33958a 100644 GIT binary patch literal 15947 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 z `e?%Q{pJ3GT7`yxgG5fJcIF+y-lLf*LWnwW^Ph%g%hD#VyqV-nQ3zs4j=5)%}c zsHh=9BLvw7289_01_pad6fazKC~G{TlR%D0J`=ZhTciJa=ekw)YQ1BVIBH82YZ8&0DNLkhhLTP(Uh zQJziUajW`pq`F~C5^Xysmro*ViBSZ&sWP}f9&rXQQpj|kd|6mT0Ux2ucx*|c&QQ$p zzHm-}obHL78VGZJq{9~pe88X>1p|QAZZi910V|LIF_0+b2Z&54V8$Zh(v@0Arh#H5Gip*b#sK?6RF-- zwR-0gyL`mwqE+I7_mUB
CNo5t!Kj!tL6)a>#sV+LmLxhM6uF`x^3FDq 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 Date: Wed, 24 Oct 2018 16:08:51 +0200 Subject: [PATCH 37/73] Update Uber sensor component configuration (#7046) * Update Uber sensor component configuration * Minor changes --- source/_components/sensor.uber.markdown | 46 +++++++++++++++++++------ 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/source/_components/sensor.uber.markdown b/source/_components/sensor.uber.markdown index 601de1fb879..cfec12282a1 100644 --- a/source/_components/sensor.uber.markdown +++ b/source/_components/sensor.uber.markdown @@ -16,7 +16,11 @@ ha_release: 0.16 The `uber` sensor will give you time and price estimates for all available [Uber](https://uber.com) products at the given location. The `ATTRIBUTES` are used to provide extra information about products, such as estimated trip duration, distance and vehicle capacity. By default, 2 sensors will be created for each product at the given `start` location, one for pickup time and one for current price. The sensor is powered by the official Uber [API](https://developer.uber.com/). -You must create an application [here](https://developer.uber.com/dashboard/create) to obtain a `server_token`. +## {% linkable_title Setup %} + +You must [create an application](https://developer.uber.com/dashboard/create) in the [Uber developer Dashboard](https://developer.uber.com) to obtain a `server_token`. + +## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -24,19 +28,39 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: uber - server_token: 'BeAPPTDsWZSHLf7fd9OWjZkIezweRw18Q8NltY27' + server_token: YOUR_UBER_SERVER_TOKEN ``` -Configuration variables: +{% configuration %} +server_token: + description: The Server API token. + required: true + type: string +start_latitude: + description: The starting latitude for a trip. + required: false + default: to the latitude in your `configuration.yaml` file. + type: float +start_longitude: + description: The starting longitude for a trip. + required: false + default: to the longitude in your `configuration.yaml` file. + type: float +end_latitude: + description: The ending latitude for a trip. While `end_latitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. + required: false + type: float +end_longitude: + description: The ending longitude for a trip. While `end_longitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. + required: false + type: float +product_ids: + description: A list of Uber product UUIDs. If provided, sensors will only be created for the given product IDs. Please note that product IDs are region and some times even more specific geographies based. The easiest way to find a UUID is to click on a sensor in the Home Assistant frontend and look for "Product ID" in the attributes. + required: false + type: list +{% endconfiguration %} -- **server_token** (*Required*): A server token obtained from [developer.uber.com](https://developer.uber.com) after [creating an app](https://developer.uber.com/dashboard/create). -- **start_latitude** (*Optional*): The starting latitude for a trip. Defaults to the latitude in your `configuration.yaml` file. -- **start_longitude** (*Optional*): The starting longitude for a trip. Defaults to the longitude in your `configuration.yaml` file. -- **end_latitude** (*Optional*): The ending latitude for a trip. While `end_latitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. -- **end_longitude** (*Optional*): The ending longitude for a trip. While `end_longitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. -- **product_ids** (*Options*): A list of Uber product UUIDs. If provided, sensors will only be created for the given product IDs. Please note that product IDs are region and some times even more specific geographies based. The easiest way to find a UUID is to click on a sensor in the Home Assistant frontend and look for "Product ID" in the attributes. - -A full configuration entry could look like the sample below: +A full configuration entry could look like the sample below: ```yaml # Example configuration.yaml entry From 0ca7fa80823677b366610922ec953a389ff2f36a Mon Sep 17 00:00:00 2001 From: pattyland Date: Wed, 24 Oct 2018 16:10:40 +0200 Subject: [PATCH 38/73] Link outdated (#7054) Description was linked to an outtaded product page at amazon.com. The new link redirects to the official "Fire TV Family" rather than one specific product --- source/_components/media_player.firetv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown index abcfd873600..b2abdca1113 100644 --- a/source/_components/media_player.firetv.markdown +++ b/source/_components/media_player.firetv.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" --- -The `firetv` platform allows you to control a [Amazon Fire TV/stick](http://www.amazon.com/Amazon-DV83YW-Fire-TV/dp/B00U3FPN4U). +The `firetv` platform allows you to control a [Amazon Fire TV/stick](https://www.amazon.com/b/?node=8521791011). The python-firetv Python 2.x module with its helper script that exposes an HTTP server to fetch state and perform actions is used. From d1387de5c482c54bd1eb2522b50630ce596b050f Mon Sep 17 00:00:00 2001 From: pyitphyoaung Date: Thu, 25 Oct 2018 03:11:36 +1300 Subject: [PATCH 39/73] rename Zigbee name references issue #7050 (#7053) --- .../binary_sensor.xiaomi_aqara.markdown | 2 +- source/_components/binary_sensor.zha.markdown | 6 +++--- source/_components/binary_sensor.zigbee.markdown | 8 ++++---- source/_components/fan.zha.markdown | 6 +++--- source/_components/light.tradfri.markdown | 2 +- source/_components/light.zha.markdown | 6 +++--- source/_components/light.zigbee.markdown | 8 ++++---- source/_components/sensor.tradfri.markdown | 2 +- source/_components/sensor.zha.markdown | 6 +++--- source/_components/sensor.zigbee.markdown | 16 ++++++++-------- source/_components/switch.tradfri.markdown | 2 +- source/_components/switch.zha.markdown | 6 +++--- source/_components/switch.zigbee.markdown | 8 ++++---- source/_components/tradfri.markdown | 2 +- source/_components/zha.markdown | 10 +++++----- source/_components/zigbee.markdown | 14 +++++++------- source/_docs/installation/docker.markdown | 2 +- ...1-29-insteon-lifx-twitter-and-zigbee.markdown | 2 +- ...rpose-any-android-phone-as-ip-camera.markdown | 2 +- ...radfri-internet-of-things-done-right.markdown | 2 +- .../2017-05-06-zigbee-opencv-dlib.markdown | 4 ++-- 21 files changed, 58 insertions(+), 58 deletions(-) diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index c03227bafb0..688cbf1a15d 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -19,7 +19,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component ### {% linkable_title Type of sensors supported %} -| Name | ZigBee entity | Model no. | States | Event | Event key | Event values | +| Name | Zigbee entity | Model no. | States | Event | Event key | Event values | | ---- | ------------- | --------- | ------ | ----- | --------- | ------------ | | Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `motion` | | | | Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `motion` | | | diff --git a/source/_components/binary_sensor.zha.markdown b/source/_components/binary_sensor.zha.markdown index df5853d6700..94910f8892a 100644 --- a/source/_components/binary_sensor.zha.markdown +++ b/source/_components/binary_sensor.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Binary Sensor" -description: "Instructions on how to setup ZigBee Home Automation binary sensors within Home Assistant." +title: "Zigbee Home Automation Binary Sensor" +description: "Instructions on how to setup Zigbee Home Automation binary sensors within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Binary Sensor ha_iot_class: "Local Polling" --- -To get your ZigBee binary sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee binary sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown index 876b9b95fb7..df7d273e209 100644 --- a/source/_components/binary_sensor.zigbee.markdown +++ b/source/_components/binary_sensor.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Binary Sensor" -description: "Instructions on how to set up ZigBee binary sensors within Home Assistant." +title: "Zigbee Binary Sensor" +description: "Instructions on how to set up Zigbee binary sensors within Home Assistant." date: 2016-01-28 12:38 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [ZigBee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the ZigBee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. ## {% linkable_title Configuration %} @@ -37,7 +37,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/fan.zha.markdown b/source/_components/fan.zha.markdown index 536d9c78bd1..60d316e5926 100644 --- a/source/_components/fan.zha.markdown +++ b/source/_components/fan.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Fan" -description: "Instructions how to setup ZigBee Home Automation fans within Home Assistant." +title: "Zigbee Home Automation Fan" +description: "Instructions how to setup Zigbee Home Automation fans within Home Assistant." date: 2018-02-10 00:00 sidebar: true comments: false @@ -13,4 +13,4 @@ ha_iot_class: "Local Polling" ha_release: 0.66 --- -To get your ZigBee fans working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee fans working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/light.tradfri.markdown b/source/_components/light.tradfri.markdown index 82da9e0d331..e7b44cdfd2b 100644 --- a/source/_components/light.tradfri.markdown +++ b/source/_components/light.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri lights" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Lights." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Lights." date: 2017-04-12 22.04 sidebar: true comments: false diff --git a/source/_components/light.zha.markdown b/source/_components/light.zha.markdown index 904c1e59de8..0285626c619 100644 --- a/source/_components/light.zha.markdown +++ b/source/_components/light.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Light" -description: "Instructions on how to setup ZigBee Home Automation lights within Home Assistant." +title: "Zigbee Home Automation Light" +description: "Instructions on how to setup Zigbee Home Automation lights within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Light ha_iot_class: "Local Polling" --- -To get your ZigBee lights working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee lights working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/light.zigbee.markdown b/source/_components/light.zigbee.markdown index d88f348cb44..9de952bd848 100644 --- a/source/_components/light.zigbee.markdown +++ b/source/_components/light.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: ZigBee Light -description: "Instructions on how to set up ZigBee lights within Home Assistant." +title: Zigbee Light +description: "Instructions on how to set up Zigbee lights within Home Assistant." date: 2016-01-28 12:38 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A Zigbee light in this context is a light connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a light is considered `on` when the Zigbee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. To configure a digital output pin as light, add the following to your `configuration.yaml` file: @@ -34,7 +34,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown index 91827191509..a6aebf4e5b6 100644 --- a/source/_components/sensor.tradfri.markdown +++ b/source/_components/sensor.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri Sensor" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Sensors." date: 2017-04-12 22.04 sidebar: true comments: false diff --git a/source/_components/sensor.zha.markdown b/source/_components/sensor.zha.markdown index 03c0687d278..993031476f5 100644 --- a/source/_components/sensor.zha.markdown +++ b/source/_components/sensor.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Sensor" -description: "Instructions on how to setup ZigBee Home Automation sensors within Home Assistant." +title: "Zigbee Home Automation Sensor" +description: "Instructions on how to setup Zigbee Home Automation sensors within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,5 +12,5 @@ ha_category: Sensor ha_iot_class: "Local Polling" --- -To get your ZigBee sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation Component](/components/zha/). +To get your Zigbee sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation Component](/components/zha/). diff --git a/source/_components/sensor.zigbee.markdown b/source/_components/sensor.zigbee.markdown index ad1aa6a0388..4eabd0b71d2 100644 --- a/source/_components/sensor.zigbee.markdown +++ b/source/_components/sensor.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: ZigBee Sensor -description: "Instructions on how to set up ZigBee sensors within Home Assistant." +title: Zigbee Sensor +description: "Instructions on how to set up Zigbee sensors within Home Assistant." date: 2016-01-28 10:08 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -There are two types of [ZigBee](http://www.zigbee.org/) sensor available to Home Assistant: +There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant: - [Analog input pin](#analog-input-pin) - [Temperature sensor](#temperature-sensor) (XBee Pro) @@ -24,7 +24,7 @@ To configure an analog input pin sensor, add the following to your `configuratio # Example configuration.yaml entry sensor: - platform: zigbee - name: My Analog ZigBee Input + name: My Analog Zigbee Input type: analog pin: 0 address: 0013A2004233D138 @@ -44,7 +44,7 @@ pin: required: false type: integer address: - description: The long 64-bit address of the remote ZigBee device whose pin you would like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose pin you would like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string max_volts: @@ -58,7 +58,7 @@ max_volts: ### {% linkable_title Analog Input Pin %} -The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your ZigBee device will read is configurable using the `max_volts` configuration variable. +The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your Zigbee device will read is configurable using the `max_volts` configuration variable. To configure an analog input pin sensor, add the following to your `configuration.yaml` file: @@ -66,7 +66,7 @@ To configure an analog input pin sensor, add the following to your `configuratio ## Example configuration.yaml entry sensor: - platform: zigbee - name: My Analog ZigBee Input + name: My Analog Zigbee Input type: analog pin: 0 address: 0013A2004233D138 @@ -84,7 +84,7 @@ To configure a temperature sensor device, add the following to your `configurati # Example configuration.yaml entry sensor: - platform: zigbee - name: Living Room Temperature ZigBee + name: Living Room Temperature Zigbee type: temperature address: 0013A20050E752C5 ``` diff --git a/source/_components/switch.tradfri.markdown b/source/_components/switch.tradfri.markdown index 411b8883ed1..95069570664 100644 --- a/source/_components/switch.tradfri.markdown +++ b/source/_components/switch.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri Switch" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Switches." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Switches." date: 2018-09-30 19.22 sidebar: true comments: false diff --git a/source/_components/switch.zha.markdown b/source/_components/switch.zha.markdown index c5c7eee2c5d..e23f6751ff3 100644 --- a/source/_components/switch.zha.markdown +++ b/source/_components/switch.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Switch" -description: "Instructions on how to setup ZigBee Home Automation switches within Home Assistant." +title: "Zigbee Home Automation Switch" +description: "Instructions on how to setup Zigbee Home Automation switches within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Switch ha_iot_class: "Local Polling" --- -To get your ZigBee switches working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee switches working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/switch.zigbee.markdown b/source/_components/switch.zigbee.markdown index 15f2dd2386e..912b0e5bb30 100644 --- a/source/_components/switch.zigbee.markdown +++ b/source/_components/switch.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Switch" -description: "Instructions on how to set up ZigBee switches within Home Assistant." +title: "Zigbee Switch" +description: "Instructions on how to set up Zigbee switches within Home Assistant." date: 2016-01-28 11:52 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A Zigbee switch in this context is a device connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a switch is considered `on` when the Zigbee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. To configure a digital output pin as switch, add the following to your `configuration.yaml` file: @@ -36,7 +36,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown index ea1b328254c..35b277fd191 100644 --- a/source/_components/tradfri.markdown +++ b/source/_components/tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri (Tradfri)" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) devices." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) devices." date: 2017-04-12 22.04 sidebar: true featured: true diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index b7969749bf9..2bc206d73d5 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -13,8 +13,8 @@ ha_release: 0.44 ha_iot_class: "Local Polling" --- -[ZigBee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) -integration for Home Assistant allows you to connect many off-the-shelf ZigBee devices to Home Assistant, using a compatible ZigBee radio. +[Zigbee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) +integration for Home Assistant allows you to connect many off-the-shelf Zigbee devices to Home Assistant, using a compatible Zigbee radio. There is currently support for the following device types within Home Assistant: @@ -24,12 +24,12 @@ There is currently support for the following device types within Home Assistant: - [Switch](../switch.zha) - [Fan](../fan.zha) -Known working ZigBee radios: +Known working Zigbee radios: - Nortek/GoControl Z-Wave & Zigbee USB Adapter - Model HUSBZB-1 - XBee Series 2C -- [Elelabs ZigBee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) -- [Elelabs ZigBee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) +- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) +- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) ## {% linkable_title Configuration %} diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown index 62e2f5aec44..d43c7051ff1 100644 --- a/source/_components/zigbee.markdown +++ b/source/_components/zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee" -description: "Instructions on how to integrate a ZigBee network with Home Assistant." +title: "Zigbee" +description: "Instructions on how to integrate a Zigbee network with Home Assistant." date: 2016-01-27 17:10 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -[ZigBee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local ZigBee device to be connected to a serial port. Through this it will send and receive commands to and from other devices on the ZigBee mesh network. +[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local Zigbee device to be connected to a serial port. Through this it will send and receive commands to and from other devices on the Zigbee mesh network. There is currently support for the following device types within Home Assistant: @@ -24,7 +24,7 @@ There is currently support for the following device types within Home Assistant: ## {% linkable_title Configuration %} -The local ZigBee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. +The local Zigbee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. A `zigbee` section must be present in the `configuration.yaml` file and contain the following options as required: @@ -35,12 +35,12 @@ zigbee: {% configuration %} device: - description: The serial port to which the local ZigBee device is connected. + description: The serial port to which the local Zigbee device is connected. required: false type: string default: "`/dev/ttyUSB0`" baud: - description: The baud rate at which to communicate with the local ZigBee device. + description: The baud rate at which to communicate with the local Zigbee device. required: false type: integer default: 9600 @@ -53,7 +53,7 @@ $ ls /dev/ttyUSB* ```

-The port may also appear as /dev/ttyACM* if you're communicating with the ZigBee device through an Arduino. +The port may also appear as /dev/ttyACM* if you're communicating with the Zigbee device through an Arduino.

### {% linkable_title Example %} diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 7b248911b78..e4c0a8125b3 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -185,7 +185,7 @@ $ docker-compose restart ### {% linkable_title Exposing Devices %} -In order to use Z-Wave, ZigBee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: +In order to use Z-Wave, Zigbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: ```bash $ docker run -d --name="home-assistant" -v /path/to/your/config:/config \ diff --git a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown index 22851a07e7d..80282ba464f 100644 --- a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown +++ b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "0.12: Insteon, LIFX, Twitter and ZigBee" +title: "0.12: Insteon, LIFX, Twitter and Zigbee" description: "Home Assistant 0.12 brings improved organizational tools and makes writing automation in Python easier." date: 2016-01-30 00:22:00 -0800 date_formatted: "January 30, 2016" diff --git a/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown b/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown index d633146e602..fa7746489e4 100644 --- a/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown +++ b/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown @@ -147,7 +147,7 @@ Hot fix release to fix dependency issues. More detailed information about the is - Cleanup component track_point_in_utc_time usage ([@pvizeli]) - Discovery fix ([@balloob]) - Test against 3.6-dev ([@balloob]) -- Bugfix ZigBee / Move from eventbus to dispatcher ([@pvizeli]) +- Bugfix Zigbee / Move from eventbus to dispatcher ([@pvizeli]) - Bump netdisco to 0.9.1 ([@balloob]) - sensor.dovado: compute state in update ([@molobrakos]) - Fix mysensors callback race ([@MartinHjelmare]) diff --git a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown index d44d60a79f2..55b663abb84 100644 --- a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown +++ b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown @@ -57,7 +57,7 @@ Because it’s based on Zigbee, you don’t have to just buy IKEA devices the re Note that there are reports that the other way around, pairing an IKEA light to the Philips Hue hub is currently not possible. IKEA is working on it according to [a post by Philips Hue support][hue-support]:
- The non-interoperability between the newly launched IKEA smart lighting products and the Philips Hue bridge has been analyzed. One of the issues found is that the IKEA bulbs report their ProfileID as corresponding to the ZigBee Home Automation (ZHA) profile rather than the ZigBee Light Link (ZLL) profile. As the IKEA bulbs do not behave fully compliant with the ZLL standard, they are rejected by the Hue bridge. IKEA is aware of this and informed us their intent is to have the IKEA smart lighting bulbs to work with the Philips Hue bridge. + The non-interoperability between the newly launched IKEA smart lighting products and the Philips Hue bridge has been analyzed. One of the issues found is that the IKEA bulbs report their ProfileID as corresponding to the Zigbee Home Automation (ZHA) profile rather than the Zigbee Light Link (ZLL) profile. As the IKEA bulbs do not behave fully compliant with the ZLL standard, they are rejected by the Hue bridge. IKEA is aware of this and informed us their intent is to have the IKEA smart lighting bulbs to work with the Philips Hue bridge.
## {% linkable_title Affordable %} diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown index 4e87ac92fd4..c39ab07ef8b 100644 --- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown +++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "Home Assistant 0.44: ZigBee, OpenCV and DLib" +title: "Home Assistant 0.44: Zigbee, OpenCV and DLib" description: "Speak natively with Zigbee network, detect faces with OpenCV: 0.44 is here." date: 2017-05-06 01:04:05 +0000 date_formatted: "May 6, 2017" @@ -13,7 +13,7 @@ og_image: /images/blog/2017-05-0.44/components.png
-This release brings some great new integrations. The biggest one is the [native ZigBee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile) +This release brings some great new integrations. The biggest one is the [native Zigbee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile) Another great new addition is [OpenCV][opencv docs] by [Teagan Glenn][@teagan42]. So now you'll be able to unlock all the cool stuff from OpenCV right in Home Assistant. And if OpenCV is not your style, you can try out the new [DLib integration][image_processing.dlib_face_identify docs] added by [Pascal Vizeli][@pvizeli] in this release. From 8e60ebf5230bd1dfc5479cf33f1aa6f6d6e68524 Mon Sep 17 00:00:00 2001 From: Neil Crosby Date: Wed, 24 Oct 2018 21:37:16 +0100 Subject: [PATCH 40/73] Image Processing grammar/readability tweaks (#7061) --- source/_components/image_processing.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 1f1507bf280..df42e785848 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -20,9 +20,9 @@ If you are running Home Assistant over SSL or from within a container, you will ## {% linkable_title ALPR %} -Alpr entities attribute have a vehicle counter `vehicles` and all found plates as `plates`. +ALPR entities have a vehicle counter attribute `vehicles` and all found plates are stored in the `plates` attribute. -This event is trigger after OpenALPR found a new license plate. +The `found_plate` event is triggered after OpenALPR has found a new license plate. ```yaml # Example configuration.yaml automation entry @@ -41,9 +41,9 @@ The following event attributes will be present (platform-dependent): `entity_id` ## {% linkable_title Face %} -Face entities attribute have a face counter `total_faces` and all face data as `faces`. +Face entities have a face counter attribute `total_faces` and all face data is stored in the `faces` attribute. -This event is trigger after Microsoft Face found a faces. +The `detect_face` event is triggered after a Face entity has found a face. ```yaml # Example configuration.yaml automation entry From dbddce6ed89a34c31493ae9518ac3db2053ed7a4 Mon Sep 17 00:00:00 2001 From: pattyland Date: Wed, 24 Oct 2018 22:42:30 +0200 Subject: [PATCH 41/73] Updated Link (#7058) The old link leads to "xiaomi-mi.com", a site that pretends to be an official site of Xiaomi through the domain, favicon and logo, but is only supposed to attract users to the webshop nis-store.com. The new link also leads to the official site of the manufacturer. --- source/_components/sensor.miflora.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index db6452c2c5e..9bf2c573072 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -13,7 +13,7 @@ ha_release: 0.29 ha_iot_class: "Local Polling" --- -The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. +The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://www.huahuacaocao.com/product) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. # Install Bluetooth Backend Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system: From 0db5a68df71340440ecdf0e6d4d0b9b8faf34a99 Mon Sep 17 00:00:00 2001 From: Florian Klien Date: Wed, 24 Oct 2018 22:55:50 +0200 Subject: [PATCH 42/73] fix HTTP Header for Authorization (#7052) --- source/_components/device_tracker.gpslogger.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 039d74c59f3..bf98c0b62ed 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -81,10 +81,10 @@ Add the above URL after you modified it with your settings into the **URL** fiel - 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. - **0.77+** If you are using Long-Lived access tokens, then add `Authorization: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token). -- **<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. +- **<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** +If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**

From c466e7b55660c84c948233d553e3ec68fb3c0733 Mon Sep 17 00:00:00 2001 From: Jorim Tielemans Date: Thu, 25 Oct 2018 04:20:25 +0200 Subject: [PATCH 43/73] Update USPS configuration (#7023) Using new config vars Add linkable titles Remove trailing spaces --- source/_components/usps.markdown | 39 +++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/source/_components/usps.markdown b/source/_components/usps.markdown index c63a385057a..487344d202b 100644 --- a/source/_components/usps.markdown +++ b/source/_components/usps.markdown @@ -16,7 +16,7 @@ ha_iot_class: "Cloud Polling" The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/). In addition to having a USPS account, you will need to complete the "Opt-In" process for packages by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail. -## Prerequisites +## {% linkable_title Prerequisites %} This component requires that a headless-capable web browser is installed on your system - either PhantomJS or Google Chrome. Preferably use Chrome if your operating system supports it, since PhantomJS is deprecated. @@ -25,10 +25,10 @@ This component requires that a headless-capable web browser is installed on your

- Hass.io containers are based on Alpine Linux. PhanthomJS is not available for Alpine Linux. Therefore it is currently not possible to use this component on Hass.io. + Hass.io containers are based on Alpine Linux. PhanthomJS is not available for Alpine Linux. Therefore it is currently not possible to use this component on Hass.io.

-### PhantomJS +### {% linkable_title PhantomJS %} Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). Ensure the executable is on your `PATH`. `phantomjs --version` should work and report the correct version. This is the default option and requires no further configuration. @@ -38,18 +38,17 @@ Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). If you use the PhantomJS option, specify `driver: phantomjs` in your `usps` configuration. - -### Chrome +### {% linkable_title Chrome %} Install Chrome 59 or greater (preferably the most recent). Install the latest [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads). Ensure both executables are on your `PATH`. `google-chrome --version` and `chromedriver --version` should work and report the correct version. OS-specific instructions: - [Ubuntu 16](https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5) (Selenium server portion *not* necessary) -- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) +- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) If you use the Chrome option, specify `driver: chrome` in your `usps` configuration. -## Configuration +## {% linkable_title Configuration %} To enable this component, add the following lines to your `configuration.yaml`: @@ -62,12 +61,26 @@ usps: You will see two new sensors, one for packages and one for mail and a camera to rotate through images of incoming mail for the current day. -Configuration options for the USPS component: - -- **username** (*Required*): The username to access the MyUSPS service. -- **password** (*Required*): The password for the given username. -- **driver** (*Required*): Specify if you're using `phantomjs` or `chrome`. -- **name** (*Optional*): Prefix for sensor names (defaults to "USPS") +{% configuration %} +username: + description: The username to access the MyUSPS service. + required: true + type: string +password: + description: The password for the given username. + required: true + type: string +driver: + description: Specify if you're using `phantomjs` or `chrome`. + required: false + type: string + default: phantomjs +name: + description: The prefix for sensor names. + required: false + type: string + default: usps +{% endconfiguration %}

The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API. From 45376059609136606d7a4937c114709d8b633621 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:23:27 +0200 Subject: [PATCH 44/73] Update Scrape sensor component configuration (#7065) --- source/_components/sensor.scrape.markdown | 50 ++++++++++++++++++----- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/source/_components/sensor.scrape.markdown b/source/_components/sensor.scrape.markdown index b6da7d08d77..ccc6bebdf5f 100644 --- a/source/_components/sensor.scrape.markdown +++ b/source/_components/sensor.scrape.markdown @@ -26,17 +26,45 @@ sensor: select: ".current-version h1" ``` -Configuration variables: - -- **resource** (*Required*): The URL to the website that contains the value. -- **select** (*Required*): Defines the HTML tag to search for. Check Beautifulsoup's [CSS selectors](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) for details. -- **attribute** (*optional*): Get value of an attribute on the selected tag. -- **name** (*Optional*): Name of the sensor. -- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. -- **authentication** (*Optional*): Type of the HTTP authentication. Either `basic` or `digest`. -- **username** (*Optional*): The username for accessing the website. -- **password** (*Optional*): The password for accessing the website. -- **headers** (*Optional*): Headers to use for the web request +{% configuration %} +resource: + description: The URL to the website that contains the value. + required: true + type: string +select: + description: "Defines the HTML tag to search for. Check Beautifulsoup's [CSS selectors](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) for details." + required: true + type: string +attribute: + description: Get value of an attribute on the selected tag. + required: false + type: string +name: + description: Name of the sensor. + required: false + default: Web scrape + type: string +unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string +authentication: + description: Type of the HTTP authentication. Either `basic` or `digest`. + required: false + type: string +username: + description: The username for accessing the website. + required: false + type: string +password: + description: The password for accessing the website. + required: false + type: string +headers: + description: Headers to use for the web request. + required: false + type: string +{% endconfiguration %} ## {% linkable_title Examples %} From 66b3bf12d6cb3f6406105e69f3827c23c738a2cd Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:24:03 +0200 Subject: [PATCH 45/73] Update PVoutput sensor component configuration (#7066) --- source/_components/sensor.pvoutput.markdown | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/source/_components/sensor.pvoutput.markdown b/source/_components/sensor.pvoutput.markdown index a61f6614590..36e3f43ab6e 100644 --- a/source/_components/sensor.pvoutput.markdown +++ b/source/_components/sensor.pvoutput.markdown @@ -27,10 +27,21 @@ sensor: scan_interval: 120 ``` -Configuration variables: - -- **api_key** (*Required*): Your API key. A read-only key is fine. -- **system_id** (*Required*): The ID of your station. +{% configuration %} +api_key: + description: Your API key. A read-only key is fine. + required: true + type: string +system_id: + description: The ID of your station. + required: true + type: string +name: + description: Name of the sensor. + required: false + default: PVOutput + type: string +{% endconfiguration %}

It's recommended to set `scan_interval:` according to a value greater than 60 seconds. The service only allows 60 requests per hour but the sensor's default is 30 seconds. From d66d5e736bdf9efc35c48cce32f596a170534d5f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:27:53 +0200 Subject: [PATCH 46/73] Update Pilight sensor component configuration (#7068) --- source/_components/sensor.pilight.markdown | 27 +++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.pilight.markdown b/source/_components/sensor.pilight.markdown index 78e5b61abf4..13ed0303ffa 100644 --- a/source/_components/sensor.pilight.markdown +++ b/source/_components/sensor.pilight.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: depends --- - This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g., _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up. ## {% linkable_title Configuration %} @@ -29,18 +28,30 @@ sensor: uuid: '0000-b8-27-eb-f447d3' ``` -Configuration variables: - -- **variable** (*Required*): The variable name in the data stream that defines the sensor value. -- **payload** (*Required*): Message payload identifiers. Only if all identifiers are matched the sensor value is set. -- **name** (*Optional*): Name of the sensor. -- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. +{% configuration %} +variable: + description: The variable name in the data stream that defines the sensor value. + required: true + type: string +payload: + description: Message payload identifiers. Only if all identifiers are matched the sensor value is set. + required: true + type: string +name: + description: Name of the sensor. + required: false + default: Pilight Sensor + type: string +unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string +{% endconfiguration %} ## {% linkable_title Example: Weather station %} This section shows a real life example how to use values of a weather station. - ```yaml # Example configuration.yaml entry sensor: From 6ffb6a47c82f71d121fafef9058f12492eeee094 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:28:30 +0200 Subject: [PATCH 47/73] Update NS sensor component configuration (#7069) --- .../sensor.nederlandse_spoorwegen.markdown | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/source/_components/sensor.nederlandse_spoorwegen.markdown b/source/_components/sensor.nederlandse_spoorwegen.markdown index bbdee43f633..fca03b35dde 100644 --- a/source/_components/sensor.nederlandse_spoorwegen.markdown +++ b/source/_components/sensor.nederlandse_spoorwegen.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling" ha_release: "0.57" --- - This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands. You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`. @@ -36,15 +35,37 @@ sensor: via: Zl ``` -Configuration variables: - -- **email** (*Required*): The email address you used to request the API password. -- **password** (*Required*): The API password provided by the Nederlandse Spoorwegen. -- **routes** array (*Required*): List of traveling routes. - - **name** (*Required*): Name of the route. - - **from** (*Required*): The start station. - - **to** (*Required*): Direction of the traveling. - - **via** (*Optional*): Optional other station you wish to visit in between. +{% configuration %} +email: + description: The email address you used to request the API password. + required: true + type: string +password: + description: The API password provided by the Nederlandse Spoorwegen. + required: true + type: string +routes: + description: List of traveling routes. + required: false + type: list + keys: + name: + description: Name of the route. + required: true + type: string + frome: + description: The start station. + required: true + type: string + to: + description: Direction of the traveling. + required: true + type: string + via: + description: Optional other station you wish to visit in between. + required: false + type: string +{% endconfiguration %} The data are coming from [Nederlandse Spoorwegen](https://www.ns.nl/). From af509b94448445d27a0c5ab2e1789fd4cd4c13b1 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:31:59 +0200 Subject: [PATCH 48/73] Added some .gitignore example lines (#7072) * Added some .gitignore example lines * :pencil2: Added also .log file extensions --- source/_docs/ecosystem/backup/backup_github.markdown | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index cf526c7b502..82114cae475 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -57,10 +57,17 @@ Creating a `.gitignore` file in your repository will tell Git which files NOT to Here is an example that will ignore everything but your YAML configuration. ```bash -# Example .gitignore file for your config dir +# Example .gitignore file for your config dir. Lines with ! will not be ignored. * !*.yaml !.gitignore +*.conf +*.txt +*.log +.storage +.cloud +.google.token +ip_bans.yaml secrets.yaml known_devices.yaml ``` From 0ae7a6c438d153b9ba914e104da4c13ac84ce88a Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:38:12 +0200 Subject: [PATCH 49/73] Update Pushbullet sensor component configuration (#7067) * Update Pushbullet sensor component configuration * Minor changes --- source/_components/sensor.pushbullet.markdown | 57 +++++++++++++------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/source/_components/sensor.pushbullet.markdown b/source/_components/sensor.pushbullet.markdown index bd8ee0eda5a..8d516949e9e 100644 --- a/source/_components/sensor.pushbullet.markdown +++ b/source/_components/sensor.pushbullet.markdown @@ -13,11 +13,16 @@ ha_release: 0.44 ha_iot_class: "Cloud Polling" --- -The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. -This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror. +The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror. + +## {% linkable_title Setup %} Notification Mirroring allows users to see their Android device's notifications on their computer. It must be first enabled in the app and is currently only available on the Android platform. For more information, please see [this announcement](https://blog.pushbullet.com/2013/11/12/real-time-notification-mirroring-from-android-to-your-computer/) on the Pushbullet Blog. +Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token. + +## {% linkable_title Configuration %} + To enable the Pushbullet sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -29,21 +34,37 @@ sensor: - body ``` -Configuration variables: +{% configuration %} +api_key: + description: Your Pushbullet API key. + required: true + type: string +monitored_conditions: + description: Properties of the push to monitor. + required: false + default: "`body` and `title`" + type: list + keys: + application_name: + description: The application sending the push. + body: + description: Body of the message. + notification_id: + description: ID of the notification. + notification_tag: + description: Tag (if the application sending supports it). + package_name: + description: Name of the sender's package. + receiver_email: + description: The email of the push's target. + sender_email: + description: The sender of the push. + source_device_iden: + description: ID of the sender's device. + title: + description: Title of the push. + type: + description: Type of push. +{% endconfiguration %} -- **api_key** (*Required*): Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token. - -- **monitored_conditions** array (*Optional*): Properties of the push to monitor. Defaults to `body` and `title`. - - **application_name**: The application sending the push. - - **body**: Body of the message. - - **notification_id**: ID of the notification. - - **notification_tag**: Tag (if the application sending supports it). - - **package_name**: Name of the sender's package. - - **receiver_email**: The email of the push's target. - - **sender_email**: The sender of the push. - - **source_device_iden**: ID of the sender's device. - - **title**: Title of the push. - - **type**: Type of push. - - All properties will be displayed as attributes. The properties array are just for logging the sensor readings for multiple properties. From 3f6c067117f953795417708b4c0050babee13f5d Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 09:52:41 +0200 Subject: [PATCH 50/73] Update Ohmconnect sensor component configuration (#7071) * Update Ohmconnect sensor component configuration * Minor changes --- source/_components/sensor.ohmconnect.markdown | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.ohmconnect.markdown b/source/_components/sensor.ohmconnect.markdown index 7f564a76d3c..ed30d3f2664 100644 --- a/source/_components/sensor.ohmconnect.markdown +++ b/source/_components/sensor.ohmconnect.markdown @@ -13,22 +13,33 @@ ha_iot_class: "Cloud Polling" ha_release: 0.26 --- - The `ohmconnect` sensor will show you the current [OhmConnect](https://www.ohmconnect.com/) status for the given OhmConnect ID. -> OhmConnect monitors real-time conditions on the electricity grid. When dirty and unsustainable power plants turn on, our users receive a notification to save energy. By saving energy at that time, California does not have to turn on additional power plants and California's energy authorities pay you for that. +OhmConnect monitors real-time conditions on the electricity grid. When dirty and unsustainable power plants turn on, our users receive a notification to save energy. By saving energy at that time, California does not have to turn on additional power plants and California's energy authorities pay you for that. +## {% linkable_title Configuration %} -You can find your OhmConnect ID under "Open Source Projects" on the [settings page](https://login.ohmconnect.com/settings). It's the string after the last `/` in the URL, i.e. for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`. +You can find your OhmConnect ID under "Open Source Projects" on the [settings page](https://login.ohmconnect.com/settings). It's the string after the last `/` in the URL, e.g., for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`. + +## {% linkable_title Configuration %} + +To enable the OhMConnect sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: ohmconnect - id: AbCd1e + id: YOUR_OHMCONNECT_ID ``` -Configuration variables: - -- **id** (*Required*): Your OhmConnect ID which can be found on the settings page. -- **name** (*Optional*): A name to display on the sensor. The default is "OhmConnect Status". +{% configuration %} +id: + description: Your OhmConnect ID. + required: true + type: string +name: + description: A name to display on the sensor. + required: false + default: OhmConnect Status + type: string +{% endconfiguration %} From ab764cbeea74fa09c866de8967caf44bf297e5a9 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 10:03:14 +0200 Subject: [PATCH 51/73] Update Logi circle sensor component configuration (#7070) --- .../_components/sensor.logi_circle.markdown | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/source/_components/sensor.logi_circle.markdown b/source/_components/sensor.logi_circle.markdown index aa42c0218c8..80df3bc9ae4 100644 --- a/source/_components/sensor.logi_circle.markdown +++ b/source/_components/sensor.logi_circle.markdown @@ -29,15 +29,26 @@ sensor: - platform: logi_circle ``` -Configuration variables: - -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled. - - **battery_level**: Return the battery level percentage from the camera. - - **last_activity_time**: Return the timestamp from the last time the Logi Circle camera detected any activity. - - **privacy_mode**: Return the privacy mode status from the camera. - - **signal_strength_category**: Return the WiFi signal level from the camera. - - **signal_strength_percentage**: Return the WiFi signal percentage from the camera. - - **speaker_volume**: Return the relative speaker volume from the camera (0-100%). - - **streaming_mode**: Return the streaming mode status from the camera. +{% configuration %} +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled. + required: false + type: list + keys: + battery_level: + description: Return the battery level percentage from the camera. + last_activity_time: + description: Return the timestamp from the last time the Logi Circle camera detected any activity. + privacy_mode: + description: Return the privacy mode status from the camera. + signal_strength_category: + description: Return the WiFi signal level from the camera. + signal_strength_percentage: + description: Return the WiFi signal percentage from the camera. + speaker_volume: + description: Return the relative speaker volume from the camera (0-100%). + streaming_mode: + description: Return the streaming mode status from the camera. +{% endconfiguration %} Currently it supports all 1st and 2nd generation cameras. Cameras without an internal battery will not expose a `battery_level` sensor. \ No newline at end of file From 5096abf6d2d36d31625cada0f4736be4af89c4e5 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 10:03:52 +0200 Subject: [PATCH 52/73] Update gc100 switch component configuration (#7049) * Update gc100 switch component configuration * :ambulance: Fix error --- source/_components/switch.gc100.markdown | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/_components/switch.gc100.markdown b/source/_components/switch.gc100.markdown index 59649d72d15..795fd596626 100644 --- a/source/_components/switch.gc100.markdown +++ b/source/_components/switch.gc100.markdown @@ -25,7 +25,9 @@ switch: - '4:2': Sprinkler ``` -Configuration variables: - -- **ports** (*Required*): A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address. - +{% configuration %} +ports: + description: "A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address." + required: true + type: list +{% endconfiguration %} From 01c6995d7dccf2bfe3cdfd684eddb7cff4b74b32 Mon Sep 17 00:00:00 2001 From: Timmo Date: Thu, 25 Oct 2018 11:06:42 +0100 Subject: [PATCH 53/73] :books: update discord notify docs (#7060) --- source/_components/notify.discord.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/notify.discord.markdown b/source/_components/notify.discord.markdown index 5164e65a6c9..01fca89820b 100644 --- a/source/_components/notify.discord.markdown +++ b/source/_components/notify.discord.markdown @@ -14,7 +14,9 @@ ha_release: 0.37 The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows components to send messages to the user using Discord. -In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later. +In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**). + +Retreive the **Client ID** from the information section and the (hidden) **Token** of your bot for later. When setting up the application you can use this [icon](/demo/favicon-192x192.png). From 110c82fcfa3e54bf17fd5977a32513eda101ce6d Mon Sep 17 00:00:00 2001 From: pattyland Date: Thu, 25 Oct 2018 12:34:00 +0200 Subject: [PATCH 54/73] Fixed SNMP Documentation (#7075) Fixed a typo for the required value and corrected the value for the host attribute, which is not required according to the module: https://github.com/home-assistant/home-assistant/blob/27d50d388fe61e38f5623d0e63c4bdc28764ebe2/homeassistant/components/sensor/snmp.py#L73 --- source/_components/sensor.snmp.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown index 9c78766582b..2f2b4ba5f94 100644 --- a/source/_components/sensor.snmp.markdown +++ b/source/_components/sensor.snmp.markdown @@ -28,7 +28,7 @@ sensor: {% configuration %} host: description: The IP address of your host, eg. `192.168.1.32`. - required: true + required: false type: string default: 'localhost' baseoid: @@ -37,7 +37,7 @@ baseoid: type: string port: description: The SNMP port of your host. - required: Option + required: false type: string default: '161' community: From c23da7e360fb599fce047274fddf764d880f895c Mon Sep 17 00:00:00 2001 From: Robin Migalski Date: Thu, 25 Oct 2018 21:21:24 +0200 Subject: [PATCH 55/73] Removed item from instructions (#7007) This instruction is out of place and not necessary --- source/_components/google_assistant.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 412906f799a..61ffe91ede9 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -35,7 +35,6 @@ If this is the first time setting up your Google Assistant integration, you can 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. - Change `Linking type` to `OAuth` and `Authorization Code`. - In the `Client information` section: - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. From 32cf88c2acc4d06e3369f48204ebf541cd082683 Mon Sep 17 00:00:00 2001 From: vaidyasm Date: Fri, 26 Oct 2018 01:07:41 +0545 Subject: [PATCH 56/73] Update Documentation for 'Volumio' Media Player Component Configuration (#7030) * Update Documentation for 'Volumio' Media Player Component Configuration * Update description sentence style. * Adds default values Default values are obtained from https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/media_player/volumio.py lines 32 through 34. --- .../_components/media_player.volumio.markdown | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/source/_components/media_player.volumio.markdown b/source/_components/media_player.volumio.markdown index 26053822e8a..71acd0a873f 100644 --- a/source/_components/media_player.volumio.markdown +++ b/source/_components/media_player.volumio.markdown @@ -26,8 +26,20 @@ media_player: port: 3000 ``` -Configuration variables: - -- **name** (*Optional*): Name of the device -- **host** (*Required*): IP address or hostname of the device -- **port** (*Required*): Port number of Volumio service +{% configuration %} +name: + description: The name of the device. + required: false + default: Volumio + type: string +host: + description: The IP address or hostname of the device. + required: true + default: localhost + type: string +port: + description: The Port number of Volumio service. + required: true + default: 3000 + type: integer +{% endconfiguration %} From fe11431b7f212805a5c19f9d33b294a4c68ea8d3 Mon Sep 17 00:00:00 2001 From: Travis Carr Date: Thu, 25 Oct 2018 12:27:57 -0700 Subject: [PATCH 57/73] Converting HASS Configurator to the new configuration template format. (#6651) * Converting HASS Configurator to the new configuration template format. * Adding in sesame * Added back in the markup from previous descriptions... * Add missing default and clean up description to match. * Fixes from comments * Update source/_addons/configurator.markdown Co-Authored-By: tmcarr * Update source/_addons/configurator.markdown Co-Authored-By: tmcarr --- source/_addons/configurator.markdown | 86 ++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 18 deletions(-) diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown index b5956384ba9..0b0dae29d00 100644 --- a/source/_addons/configurator.markdown +++ b/source/_addons/configurator.markdown @@ -57,27 +57,77 @@ Screenshot of the HASS Configurator. ], "dirsfirst": false, "enforce_basepath": false, - "notify_service": "persistent_notification.create", - "ignore_ssl": false + "notify_service": "persistent_notification.create" } ``` -- **username** (*Required*): Set a username to access your configuration is protected. -- **password** (*Required*): Set a password for access. -- **ssl** (*Required*): Enable or Disable SSL/TLS for the editor. -- **certfile** (*Required*): Set the path the your SSL certificate if the ssl-option is set to `true`. -- **keyfile** (*Required*): Set the path the your SSL private key if the ssl-option is set to `true`. -- **allowed_networks** (*Required*): Limit access to the configurator by adding allowed IP addresses/networks to the list. -- **banned_ips** (*Required*): List of statically banned IP addresses. -- **banlimit** (*Required*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses. -- **ignore_pattern** (*Required*): Files and folders to ignore in the UI. -- **dirsfirst** (*Required*): List directories before files in the file browser. -- **enforce_basepath** (*Required*): If set to `true`, access is limited to files within the `/config` directory. -- **notify_service** (*Required*): Specify a custom notify-service to be used to push notifications. -- **ignore_ssl** (*Required*): Ignore SSL errors when accessing the Home Assistant API. -- **sesame** (*Optional*): Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the _Network status_ menu to revoke IP addresses for which access has been granted. Regular authentication is still required. -- **sesame_totp_secret** (*Optional*): Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds. -- **loglevel** (*Optional*): You can change the logging level from the default value `info` if you want to. Valid values are: `debug`, `info`, `warning`, `error`, `critical`. +{% configuration %} +username: + description: Set a username so that access your configuration is protected. + required: true + type: string +password: + description: Set a password for access. + required: true + type: string +ssl: + description: Enable or Disable SSL/TLS for the editor. + required: true + type: boolean + default: false +certfile: + description: Set the path the your SSL certificate if the ssl-option is set to `true`. + required: true + type: string +keyfile: + description: Set the path the your SSL private key if the ssl-option is set to `true`. + required: true + type: string +allowed_networks: + description: Limit access to the configurator by adding allowed IP addresses/networks to the list. + required: true + type: string +banned_ips: + description: List of statically banned IP addresses. + required: true + type: string +banlimit: + description: Ban access from IPs after `banlimit` failed login attempts, setting the value to 0 disables this feature. Restart the add-on to clear the list of banned IP addresses. + required: true + type: integer + default: 0 +ignore_pattern: + description: Regex of files and folders to ignore in the UI. + required: true + type: string +dirsfirst: + description: List directories before files in the file browser. + required: true + type: boolean + default: false +enforce_basepath: + description: If set to `true`, access is limited to files within the `/config` directory. + required: true + type: boolean + default: false +notify_service: + description: Specify a custom notify-service to be used to push notifications. + required: true + type: string +loglevel: + description: The log level the configurator should run with. Valid values are `debug`, `info`, `warning`, `error`, `critical`. + required: false + type: string + default: info +sesame: + description: Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the Network status menu to revoke IP addresses for which access has been granted. Regular authentication is still required. + required: false + type: string +sesame_totp_secret: + description: Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds. + required: false + type: string +{% endconfiguration %}

Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet! From 0011ee153eac20457a458d4520039ec0e0c95bbf Mon Sep 17 00:00:00 2001 From: cdce8p <30130371+cdce8p@users.noreply.github.com> Date: Thu, 25 Oct 2018 22:44:49 +0200 Subject: [PATCH 58/73] Update HomeKit component doc (#7042) * Add issues to troubleshooting HomeKit * Add additional issue description * Add note about homekit controller component * :pencil2: Typo tweak --- source/_components/homekit.markdown | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 129463a3b47..7c4eb488b7d 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -14,6 +14,10 @@ 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. However if you do encounter issues, checkout the [troubleshooting](#troubleshooting) section. +

+ If you want to control `HomeKit` only devices with Home Assistant, check out the [HomeKit controller](/components/homekit_controller/) component. +

+

It might be necessary to install an additional package: `$ sudo apt-get install libavahi-compat-libdnssd-dev` @@ -312,6 +316,9 @@ For `Docker` users: make sure to set `network_mode: host`. Other reasons could b #### {% 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 Pairing hangs - only works with debug config %} +Pairing works fine when the filter is set to only include `demo.demo`, but fails with normal config. See [specific entity doesn't work](#specific-entity-doesnt-work) + #### {% 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. @@ -324,6 +331,18 @@ Make sure that you don't try to add more then 100 accessories, see [device limit #### {% linkable_title Some of my devices don't show up - Z-Wave / Discovery %} See [disable auto start](#disable-auto-start) +#### {% linkable_title My entity doesn't show up %} +Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`. + +#### {% linkable_title HomeKit doesn't work on second Home Assistant instance %} +To use the HomeKit component with to different Home Assistant instances on the same local network, you need to set a custom name for at least one of them. [config/name](#name) + +#### {% linkable_title Specific entity doesn't work %} +Although we try our best, some entities don't work with the HomeKit component yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit) + +#### {% linkable_title Accessories are all listed as not responding %} +See [specific entity doesn't work](#specific-entity-doesnt-work) + #### {% linkable_title Accessory not responding - after restart or update %} See [device limit](#device-limit) From 8094899a5668e71ad357c6790e0357d5bdcbc7f6 Mon Sep 17 00:00:00 2001 From: WebSpider Date: Thu, 25 Oct 2018 22:45:03 +0200 Subject: [PATCH 59/73] Correct reference on trusted proxies (#7077) trusted proxies is actually listed below, not above. Remove the referral of position completely not to have this bite us later on --- source/_components/http.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 3c3b20ca888..c80fbf4c31c 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -62,7 +62,7 @@ cors_allowed_origins: required: false type: string, list use_x_forwarded_for: - description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting above for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored." + description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored." required: false type: boolean default: false From cfdd302b5f87bc1ed227b41ad3b0f21ff061a40e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 22:47:10 +0200 Subject: [PATCH 60/73] Update Todoist calendar component configuration (#7080) --- source/_components/calendar.todoist.markdown | 38 ++++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/source/_components/calendar.todoist.markdown b/source/_components/calendar.todoist.markdown index c416ddb50d7..c47e1196d9f 100644 --- a/source/_components/calendar.todoist.markdown +++ b/source/_components/calendar.todoist.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling" ha_release: 0.54 --- - This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes. ### {% linkable_title Prerequisites %} @@ -28,18 +27,35 @@ To integrate Todoist in Home Assistant, add the following section to your `confi # Example configuration.yaml entry calendar: - platform: todoist - token: API_token_created_from_steps_above + token: YOUR_API_TOKEN ``` Configuration variables: - -- **token** (*Required*): The API token used to authorize Home Assistant to access your projects. -- **custom_projects** (*Optional*): Details on any "custom" binary sensor projects you want to create. - - **name** (*Required*): The name of your custom project. Only required if you specify that you want to create a custom project. - - **due_date_days** (*Optional*): Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing. - - **labels** (*Optional*): Only include tasks with at least one of these labels (i.e., this works as an `or` statement).. - - **include_projects** (*Optional*): Only include tasks in these projects. Tasks in all other projects will be ignored. - +token: + description: The API token used to authorize Home Assistant to access your projects. Above you have more info about it. + required: true + type: string +custom_projects: + description: Details on any "custom" binary sensor projects you want to create. + required: false + type: list + keys: + name: + description: The name of your custom project. Only required if you specify that you want to create a custom project. + required: true + type: string + due_date_days: + description: Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing. + required: false + type: integer + include_projects: + description: Only include tasks in these projects. Tasks in all other projects will be ignored. + required: false + type: list + labels: + description: Only include tasks with at least one of these labels (i.e., this works as an `or` statement). + required: false + type: list ### {% linkable_title Custom Projects %} Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example: @@ -48,7 +64,7 @@ Creating custom projects is super-easy and quite powerful. All you need to run t # Example configuration.yaml entry calendar: - platform: todoist - token: !secret todoist_token + token: YOUR_API_TOKEN custom_projects: - name: 'All Projects' - name: 'Due Today' From 20add31ead549aa6ab58022fa8e5b710fe55098c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 22:48:00 +0200 Subject: [PATCH 61/73] Update Proliphix climate component configuration (#7082) --- source/_components/climate.proliphix.markdown | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/source/_components/climate.proliphix.markdown b/source/_components/climate.proliphix.markdown index b089ef586d5..28748d520ca 100644 --- a/source/_components/climate.proliphix.markdown +++ b/source/_components/climate.proliphix.markdown @@ -30,12 +30,20 @@ climate: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): Address of your thermostat, eg. 192.168.1.32. -- **username** (*Required*): Username for the thermostat. -- **password** (*Required*): Password for the thermostat. +{% configuration %} +host: + description: Address of your thermostat, e.g., 192.168.1.32. + required: true + type: string +username: + description: Username for the thermostat. + required: true + type: string +password: + description: Password for the thermostat. + required: true + type: string +{% endconfiguration %} The Proliphix NT Thermostat series are Ethernet connected thermostats. They have a local HTTP interface that is based on get/set of OID values. A complete collection of the API is available in this [API documentation](https://github.com/sdague/thermostat.rb/blob/master/docs/PDP_API_R1_11.pdf). - From 4badbe3bf9a5c0a5f71cef84a3bce9fa9a8c519f Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 22:50:10 +0200 Subject: [PATCH 62/73] Update Generic thermostat climate component configuration (#7081) * Update Generic thermostat climate component configuration * :pencil2: Fix --- .../climate.generic_thermostat.markdown | 81 ++++++++++++++----- 1 file changed, 62 insertions(+), 19 deletions(-) diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown index 89d09a5981e..a6206bab1df 100644 --- a/source/_components/climate.generic_thermostat.markdown +++ b/source/_components/climate.generic_thermostat.markdown @@ -13,8 +13,7 @@ ha_release: pre 0.7 ha_iot_class: "Local Polling" --- - -The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities. +The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities. ```yaml # Example configuration.yaml entry @@ -25,27 +24,71 @@ climate: target_sensor: sensor.study_temperature ``` -Configuration variables: - -- **name** (*Required*): Name of thermostat -- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `True` -- **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature. -- **min_temp** (*Optional*): Set minimum set point available (default: 7) -- **max_temp** (*Optional*): Set maximum set point available (default: 35) -- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. -- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. -- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. -- **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. -- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. -- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). -- **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. -- **away_temp** (*Optional*): Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated. +{% configuration %} +name: + description: Name of thermostat. + required: true + default: Generic Thermostat + type: string +heater: + description: "`entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `true`." + required: true + type: string +target_sensor: + description: "`entity_id` for a temperature sensor, target_sensor.state must be temperature." + required: true + type: string +min_temp: + description: Set minimum set point available. + required: false + default: 7 + type: float +max_temp: + description: Set maximum set point available. + required: false + default: 35 + type: float +target_temp: + description: Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. + required: false + type: float +ac_mode: + description: Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. + required: false + type: boolean +min_cycle_duration: + description: Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. + required: false + type: [time, integer] +cold_tolerance: + description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. + required: false + default: 0.3 + type: float +hot_tolerance: + description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. + required: false + default: 0.3 + type: float +keep_alive: + description: Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). + required: false + type: [time, integer] +initial_operation_mode: + description: Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. + required: false + type: string +away_temp: + description: Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated. + required: false + type: float +{% endconfiguration %} A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. -Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'. +Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'. -Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off. +Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off. ```yaml # Full example configuration.yaml entry From a803267730b150b032b1bfd8676aa037183e26bf Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:04:37 +0200 Subject: [PATCH 63/73] Update AlarmDecoder component configuration (#7079) * Update AlarmDecoder component configuration * :ambulance: Fix error * :ambulance: Fix the byte variable --- source/_components/alarmdecoder.markdown | 79 +++++++++++++++++++----- 1 file changed, 65 insertions(+), 14 deletions(-) diff --git a/source/_components/alarmdecoder.markdown b/source/_components/alarmdecoder.markdown index ae81c2cf1f5..268f80b7fce 100644 --- a/source/_components/alarmdecoder.markdown +++ b/source/_components/alarmdecoder.markdown @@ -13,7 +13,7 @@ ha_release: 0.43 ha_iot_class: "Local Push" --- -The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad. +The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad. Please visit the [AlarmDecoder website](https://www.alarmdecoder.com/) for further information about the AlarmDecoder devices. @@ -34,7 +34,7 @@ alarmdecoder: type: socket host: 192.168.1.20 port: 10000 - panel_display: On + panel_display: false zones: 01: name: 'Smoke Detector' @@ -45,15 +45,66 @@ alarmdecoder: type: 'opening' ``` -Configuration variables: - -- **type** (*Required*): The type of AlarmDecoder device: socket, serial or USB -- **host** (*Optional*): The IP address of the AlarmDecoder device on your home network, if using socket type. Default: `localhost` -- **port** (*Optional*): The port of the AlarmDecoder device on your home network, if using socket type. Default: `10000` -- **path** (*Optional*): The path of the AlarmDecoder device, if using socket type. Default: `/dev/ttyUSB0` -- **baudrate** (*Optional*): The baud rate of the AlarmDecoder device, if using serial type. Default: `115200` -- **panel_display** (*Optional*): Create a sensor called sensor.alarm_display to match the Alarm Keypad display. Default: `off` -- **zones** (*Optional*): AlarmDecoder has 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.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.* -- **rfid** (*Optional*): The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status. -- **relayaddr** (*Optional*): Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed. -- **relaychan** (*Optional*): Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4) +{% configuration %} +device: + description: List of variables for the AlarmDecoder device. + required: true + type: list + keys: + type: + description: "The type of AlarmDecoder device: socket, serial or USB." + required: true + default: socket + type: string + host: + description: The IP address of the AlarmDecoder device on your home network, if using socket type. + required: false + default: localhost + type: string + port: + description: The IP address of the AlarmDecoder device on your home network, if using socket type. + required: false + default: 10000 + type: integer + path: + description: The path of the AlarmDecoder device, if using serial type. + required: false + default: "/dev/ttyUSB0" + type: string + baudrate: + description: The baud rate of the AlarmDecoder device, if using serial type. + required: false + default: 115200 + type: string +panel_display: + description: Create a sensor called sensor.alarm_display to match the Alarm Keypad display. + required: false + default: false + type: boolean +zones: + description: "AlarmDecoder has 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.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*" + required: false + type: list + keys: + name: + description: A name for the zone. + required: true + type: string + type: + description: "A type for the zone. Here you can find a list of [Device Classes](https://www.home-assistant.io/components/binary_sensor/#device-class)." + required: false + default: opening + type: string + rfid: + description: The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status. + required: false + type: string + relayaddr: + description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed." + required: inclusive + type: integer + relaychan: + description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)" + required: inclusive + type: integer +{% endconfiguration %} From 1a7688ae1b729c0ffe9c5a7d1b1122eb78bf1f17 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:05:23 +0200 Subject: [PATCH 64/73] Update Yeelight sunflower Light component configuration (#7085) --- source/_components/light.yeelightsunflower.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_components/light.yeelightsunflower.markdown b/source/_components/light.yeelightsunflower.markdown index 0583084626c..aee2c1d2852 100644 --- a/source/_components/light.yeelightsunflower.markdown +++ b/source/_components/light.yeelightsunflower.markdown @@ -28,15 +28,17 @@ light: host: 192.168.1.59 ``` -Configuration variables: - -- **host** (*Required*): IP address of your Yeelight Sunflower hub. +{% configuration %} +host: + description: IP address of your Yeelight Sunflower hub. + required: true + type: string +{% endconfiguration %}

-When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name. +When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name.

The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you.

- From 476bc70890bd7bb1358d78d2a1e9c3d69df8b78e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:20:11 +0200 Subject: [PATCH 65/73] Update Philips_js media_player component configuration (#7086) --- .../media_player.philips_js.markdown | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/source/_components/media_player.philips_js.markdown b/source/_components/media_player.philips_js.markdown index 78f87af83a6..75734debc67 100644 --- a/source/_components/media_player.philips_js.markdown +++ b/source/_components/media_player.philips_js.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.34 --- - The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html). To add your TV to your installation, add the following to your `configuration.yaml` file: @@ -25,24 +24,38 @@ media_player: host: 192.168.1.99 ``` -Configuration variables: - -- **host** (*Required*): IP address of TV. -- **name** (*Optional*): The name you would like to give to the Philips TV. -- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol). -- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`. +{% configuration %} +host: + description: IP address of TV. + required: true + default: 127.0.0.1 (localhost). + type: string +name: + description: The name you would like to give to the Philips TV. + required: false + default: Philips TV + type: string +turn_on_action: + description: A script that will be executed to turn on the TV (can be used with wol). + required: false + type: list +api_version: + description: The JointSpace API version of your Philips TV. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`. + required: false + default: 1 + type: integer +{% endconfiguration %}

When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.

- ```yaml # Example configuration.yaml with turn_on_action media_player: - platform: philips_js host: 192.168.1.99 - turn_on_action: + turn_on_action: service: wake_on_lan.send_magic_packet data: mac: aa:bb:cc:dd:ee:ff From 8b2ab49b9121e7fbd85f08d699ea47cce4eada0c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:21:16 +0200 Subject: [PATCH 66/73] Fix Netatmo component configuration (#7087) --- source/_components/netatmo.markdown | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown index 8735db3992c..5bd5aa7481f 100644 --- a/source/_components/netatmo.markdown +++ b/source/_components/netatmo.markdown @@ -13,7 +13,6 @@ ha_release: "0.20" ha_iot_class: "Cloud Polling" --- - The `netatmo` component platform is the main component to integrate all Netatmo related platforms. To enable the Netatmo component, add the following lines to your `configuration.yaml`: @@ -27,8 +26,6 @@ netatmo: password: YOUR_PASSWORD ``` -Configuration variables: - {% configuration %} api_key: description: The `client id` from your Netatmo app. @@ -61,7 +58,7 @@ Click on 'Create an App' at the top of the page.

-You have to fill the form, but only two fields are required : Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form. +You have to fill the form, but only two fields are required: Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form.

@@ -72,4 +69,3 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo

- From 12486d20553fd705685189209fb4a30e9fb0ad2c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:23:48 +0200 Subject: [PATCH 67/73] Update Hipchat notify component configuration (#7088) --- source/_components/notify.hipchat.markdown | 47 +++++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/source/_components/notify.hipchat.markdown b/source/_components/notify.hipchat.markdown index 877bcd8cd82..331b623a9f1 100644 --- a/source/_components/notify.hipchat.markdown +++ b/source/_components/notify.hipchat.markdown @@ -24,19 +24,45 @@ To enable the HipChat notification in your installation, add the following to yo notify: - name: NOTIFIER_NAME platform: hipchat - token: ABCDEFGHJKLMNOPQRSTUVXYZ + token: YOUR_TOKEN room: 1234567 ``` -Configuration variables: - -- **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`. -- **token** (*Required*): The HipChat API token to use for sending HipChat notifications. -- **room** (*Required*): The default room to post to if no room is explicitly specified when sending the notification. -- **color** (*Optional*): Setting color will override the default color for the notification. By default not setting this will post to HipChat using the default color yellow. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. -- **notify** (*Optional*): Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. By default this is 'false'. Valid options are 'true' and 'false'. -- **format** (*Optional*): Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'. -- **host** (*Optional*): Setting the host will override the default HipChat server host. Default is 'https://api.hipchat.com/'. +{% configuration %} +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 +token: + description: The HipChat API token to use for sending HipChat notifications. + required: true + type: string +room: + description: The default room to post to if no room is explicitly specified when sending the notification. + required: true + type: integer +color: + description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. + required: false + default: yellow + type: string +notify: + description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'. + required: false + default: false + type: boolean +format: + description: Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'. + required: false + default: text + type: string +host: + description: Setting the host will override the default HipChat server host. + required: false + default: "https://api.hipchat.com/" + type: string +{% endconfiguration %} ### {% linkable_title HipChat service data %} @@ -50,4 +76,3 @@ The following attributes can be placed `data` for extended functionality. | `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. To use notifications, please see the [getting started with automation page](/getting-started/automation/). - From 691819e5d7d3826f8fb99428cca8f81883d60530 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:24:41 +0200 Subject: [PATCH 68/73] Update Yesssms notify component configuration (#7089) --- source/_components/notify.yessssms.markdown | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/source/_components/notify.yessssms.markdown b/source/_components/notify.yessssms.markdown index 9f139ad18a2..f85cbc85462 100644 --- a/source/_components/notify.yessssms.markdown +++ b/source/_components/notify.yessssms.markdown @@ -36,11 +36,20 @@ notify: recipient: PHONE_NUMBER_TO_NOTIFY ``` -Configuration variables: - -- **username** (*Required*): This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. -- **password** (*Required*): This is the password you use to login to Yesss.at. -- **recipient** (*Required*): This is the phone number you want to send the SMS notification to. +{% configuration %} +username: + description: This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. + required: true + type: string +password: + description: This is the password you use to login to Yesss.at. + required: true + type: string +recipient: + description: This is the phone number you want to send the SMS notification to. + required: true + type: string +{% endconfiguration %}

Verify that your credentials work on [Yesss.at's website](https://yesss.at). Using the wrong credentials three times in a row will get you suspended for one hour. From 54e6af2f190cc0a33206637a3eeb13265b6ab7e2 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:25:45 +0200 Subject: [PATCH 69/73] Update Pilight component configuration (#7090) --- source/_components/pilight.markdown | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index 05b3ce1fbec..599aaa4eea6 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Push" [Pilight](https://www.pilight.org/) is a modular and open source solution to communicate with 433 MHz devices and runs on various small form factor computers. A lot of common [protocols](https://manual.pilight.org/protocols/index.html) are already available. -This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication. +This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication. The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g., automation). Additionally a send service is provided to send RF codes. @@ -28,12 +28,27 @@ To integrate pilight into Home Assistant, add the following section to your `con pilight: ``` -Configuration variables: - -- **host** (*Optional*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. -- **port** (*Optional*): The network port to connect to. The usual port is [5001](https://manual.pilight.org/development/api.html). -- **send_delay** (*Optional*): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware. -- **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true. +{% configuration %} +host: + description: The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. + required: false + default: 127.0.0.1 + type: string +port: + description: "The network port to connect to, see also: (https://manual.pilight.org/development/api.html)." + required: false + default: 5001 + type: integer +send_delay: + description: You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware. + required: false + default: 0.0 + type: float +whitelist: + description: You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true. + required: false + type: string +{% endconfiguration %} In this example only received RF codes using a daycom or Intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight [API](https://manual.pilight.org/development/api.html). From 6646ff4a7ed690cd82a499663a8ba42e868fb039 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:46:43 +0200 Subject: [PATCH 70/73] Update Insteon component configuration (#7084) --- source/_components/insteon.markdown | 265 +++++++++++++--------------- 1 file changed, 124 insertions(+), 141 deletions(-) diff --git a/source/_components/insteon.markdown b/source/_components/insteon.markdown index d52e115b918..03e81cd3072 100644 --- a/source/_components/insteon.markdown +++ b/source/_components/insteon.markdown @@ -13,12 +13,8 @@ ha_iot_class: "Local Push" ha_version: 0.77 --- -This component adds "local push" support for INSTEON Modems allowing -linked INSTEON devices to be used within Home Assistant as binary sensors, -lights, fans, sensors and switches. Device support is provided by the -underlying [insteonplm] package. It is known to work with the [2413U] USB and -[2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been -tested to work with the [2242] and [2245] Hubs. +This component adds "local push" support for INSTEON Modems allowing linked INSTEON devices to be used within Home Assistant as binary sensors, lights, fans, sensors and switches. Device support is provided by the +underlying [insteonplm] package. It is known to work with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs. [insteonplm]: https://github.com/nugget/python-insteonplm [2413U]: https://www.insteon.com/powerlinc-modem-usb @@ -27,11 +23,9 @@ tested to work with the [2242] and [2245] Hubs. [2245]: https://www.insteon.com/insteon-hub/ [2242]: https://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual - ### {% linkable_title INSTEON Modem configuration %} -To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the -following configuration: +To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the following configuration: ```yaml # PLM configuration variables @@ -40,7 +34,7 @@ insteon: ``` To set up an INSTEON Hub model [2245], use the following configuration: - + ```yaml # Hub 2245 configuration variables insteon: @@ -81,92 +75,111 @@ insteon: x10_all_lights_on: HOUSECODE x10_all_lights_off: HOUSECODE ``` -Configuration variables: -- **port** (*Required for PLM setup*): The serial or USB port for your device, - e.g., `/dev/ttyUSB0` or `COM3` -- **host** (*Required for Hub setup*): The host name or IP address of the Hub. -- **ip_port** (*Optional for Hub setup*): The IP port number of the Hub. For - Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub - model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon - app to find the port number for your specific Hub. -- **username** (*Required for Hub version 2 setup*): The username to login in - to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup. - You can find your Hub username on the bottom of the Hub or you can use the - Insteon app. -- **password** (*Required for Hub version 2 setup*): The password to login in - to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup. - You can find your Hub password on the bottom of the Hub or you can use the - Insteon app. -- **hub_version** (*Required for Hub version 1 setup*): The Hub version number - where model [2242] is Hub version 1 and model [2245] is Hub version 2. - (Default is 2) -- **device_override** (*Optional*): Override the default device definition - - *ADDRESS* is found on the device itself in the form 1A.2B.3C or 1a2b3c - - *CATEGORY* is found in the back of the device's User Guide in the form of - 0x00 - 0xff - - *SUBCATEGORY* is found in the back of the device's User Guide in the form - of 0x00 - 0xff - - *FIRMWARE* and *PRODUCT_KEY* are more advanced options and will typically - not be used. -- **x10_devices** (*Optional*): Define X10 devices to control or respond to - - *HOUSECODE* is the X10 housecode values a - p - - *UNITCODE* is the X10 unit code values 1 - 16 - - *PLATFORM* is the Home Assistant Platform to associate the device with. - The following platforms are supported - - binary_sensor: Used for on/off devices or keypad buttons that are read-only. - - light: Used for dimmable X10 devices - - switch: Used for On/Off X10 devices - - *STEPS* is the number of dim/bright steps the device supports. Used for - dimmable X10 devices only. Default value is 22. -- **x10_all_units_off** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Units Off. -- **x10_all_lights_on** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Lights On -- **x10_all_lights_off** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Lights Off + +{% configuration %} +port: + description: The serial or USB port for your device, e.g., `/dev/ttyUSB0` or `COM3`. + required: Required for PLM setup + type: string +host: + description: The host name or IP address of the Hub. + required: Required for Hub setup + type: string +ip_port: + description: The IP port number of the Hub. For Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub. + required: Optional for Hub setup + type: integer +username: + description: The username to login in to the local Hub. You can find your Hub username on the bottom of the Hub or you can use the Insteon app. + required: Required for Hub version 2 setup + type: string +password: + description: The password to login in to the local Hub. You can find your Hub password on the bottom of the Hub or you can use the Insteon app. + required: Required for Hub version 2 setup + type: string +hub_version: + description: The Hub version number where model [2242] is Hub version 1 and model [2245] is Hub version 2. + required: Required for Hub version 1 setup + default: 2 + type: integer +device_override: + description: Override the default device definition. + required: false + type: list + keys: + address: + description: is found on the device itself in the form 1A.2B.3C or 1a2b3c. + required: true + type: string + cat: + description: is found in the back of the device's User Guide in the form of 0x00 - 0xff. + required: false + type: integer + subcat: + description: is found in the back of the device's User Guide in the form of 0x00 - 0xff. + required: false + type: integer + firmware: + description: are more advanced options and will typically not be used. + required: false + type: string + product_key: + description: are more advanced options and will typically not be used. + required: false + type: integer +x10_devices: + description: Define X10 devices to control or respond to. + required: false + type: list + keys: + housecode: + description: is the X10 housecode values a - p + required: true + type: string + unitcode: + description: is the X10 unit code values 1 - 16 + required: true + type: integer + platform: + description: "is the Home Assistant Platform to associate the device with. The following platforms are supported: binary_sensor: Used for on/off devices or keypad buttons that are read-only. light: Used for dimmable X10 devices. switch: Used for On/Off X10 devices." + required: true + type: string + dim_steps: + description: is the number of dim/bright steps the device supports. Used for dimmable X10 devices only. + required: false + default: 22 + type: integer +x10_all_units_off: + description: Creates a binary_sensor that responds to the X10 standard command for All Units Off. + required: false + type: string +x10_all_lights_on: + description: Creates a binary_sensor that responds to the X10 standard command for All Lights On + required: false + type: string +x10_all_lights_off: + description: Creates a binary_sensor that responds to the X10 standard command for All Lights Off + required: false + type: string +{% endconfiguration %} ### {% linkable_title Autodiscovery %} -The first time autodiscovery runs, the duration may require up to 20 seconds -per device. Subsequent startups will occur much quicker using cached device -information. If a device is not recognized during autodiscovery, you can add -the device to the **device_override** configuration. +The first time autodiscovery runs, the duration may require up to 20 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, you can add the device to the **device_override** configuration. -In order for a device to be discovered, it must be linked to the INSTEON Modem -as either a responder or a controller. +In order for a device to be discovered, it must be linked to the INSTEON Modem as either a responder or a controller. ### {% linkable_title Linking Devices to the INSTEON Modem %} -In order for any two Insteon devices to talk with one another, they must be -linked. For an overview of device linking, please read the Insteon page on -[understanding linking]. The Insteon Modem module supports All-Linking through -[Development Tools] service calls. The following services are available: +In order for any two Insteon devices to talk with one another, they must be linked. For an overview of device linking, please read the Insteon page on [understanding linking]. The Insteon Modem module supports All-Linking through [Development Tools] service calls. The following services are available: -- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking -mode. The IM can be set as a controller or a responder. If the IM is a -controller, put the IM into linking mode then press the SET button on the -device. If the IM is a responder, press the SET button on the device then -put the IM into linking mode. -- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an -All-Link record from the All-Link Database of the IM and a device. Once the IM -is set to delete the link, press the SET button on the corresponding device -to complete the process. -- **insteon.load_all_link_database**: Load the All-Link Database for a -device. WARNING - Loading a device All-Link database may take a LONG time and -may need to be repeated to obtain all records. -- **insteon.print_all_link_database**: Print the All-Link Database for a -device. Requires that the All-Link Database is loaded first. -- **insteon.print_im_all_link_database**: Print the All-Link Database for -the INSTEON Modem (IM). +- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode. +- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process. +- **insteon.load_all_link_database**: Load the All-Link Database for a device. WARNING - Loading a device All-Link database may take a LONG time and may need to be repeated to obtain all records. +- **insteon.print_all_link_database**: Print the All-Link Database for a device. Requires that the All-Link Database is loaded first. +- **insteon.print_im_all_link_database**: Print the All-Link Database for the INSTEON Modem (IM). -If you are looking for more advanced options, you can use the -[insteonplm_interactive] command line tool that is distributed with the -[insteonplm] Python module. Please see the documentation on the [insteonplm] -GitHub site. Alternatively, you can download [HouseLinc] which runs on any -Windows PC, or you can use [Insteon Terminal] which is open source and runs -on most platforms. SmartHome no longer supports HouseLinc, but it still -works. Insteon Terminal is a very useful tool but please read the disclaimers -carefully, they are important. +If you are looking for more advanced options, you can use the [insteonplm_interactive] command line tool that is distributed with the [insteonplm] Python module. Please see the documentation on the [insteonplm] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important. [understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking [Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/ @@ -174,36 +187,24 @@ carefully, they are important. [Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal [insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface -### {% linkable_title Customization %} +### {% linkable_title Customization %} -The only configuration item that is necessary is the PLM port or Hub IP -address, username and password so that Home Assistant can connect to the -INSTEON Modem. This will expose all the supported INSTEON devices which exist -in the modem’s ALL-Link database. However, devices will only be shown by their -INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link -and unlink devices using the ‘Set’ buttons, they’ll be added and removed from -Home Assistant automatically. +The only configuration item that is necessary is the PLM port or Hub IP address, username and password so that Home Assistant can connect to the INSTEON Modem. This will expose all the supported INSTEON devices which exist in the modem’s ALL-Link database. However, devices will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link and unlink devices using the ‘Set’ buttons, they’ll be added and removed from Home Assistant automatically. -You can use the normal Home Assistant [device customization] section of your -configuration to assign friendly names and special icons to your devices. This -is especially useful for setting device_class on your binary_sensor INSTEON -devices. +You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This is especially useful for setting device_class on your binary_sensor INSTEON devices. [device customization]: /getting-started/customizing-devices/ -### {% linkable_title Device Overrides %} +### {% linkable_title Device Overrides %} -INSTEON devices are added to Home Assistant using the platform(s) that make the -most sense given the model and features of the hardware. The features of the -INSTEON devices are built into the Home Assistant platform. Changing the -platform is not recommended. There are two primary uses for the -**device_override** feature. -- Devices that do not respond during autodiscovery. This is common for battery - operated devices. -- Devices that have not been fully developed. This allows an unknown device to - be mapped to a device that operates similarly to another device. +INSTEON devices are added to Home Assistant using the platform(s) that make the most sense given the model and features of the hardware. The features of the INSTEON devices are built into the Home Assistant platform. Changing the platform is not recommended. -### {% linkable_title Example Configuration with Options%} +There are two primary uses for the **device_override** feature: + +- Devices that do not respond during autodiscovery. This is common for battery operated devices. +- Devices that have not been fully developed. This allows an unknown device to be mapped to a device that operates similarly to another device. + +### {% linkable_title Example Configuration with Options%} ```yaml # Full example of Insteon configuration with customizations and overrides @@ -221,15 +222,12 @@ insteon: device_override: - address: a1b2c3 # Hidden Door Sensor [2845-222] cat: 0x10 - subcat: 0x11 + subcat: 0x11 ``` ### {% linkable_title What NOT to do %} -Insteon Modem is a top-level component and device discovery will identify -the Home Assistant platform the device belongs in. As such, do not -declare Insteon devices in other platforms. For example, this configuration -will NOT work: +Insteon Modem is a top-level component and device discovery will identify the Home Assistant platform the device belongs in. As such, do not declare Insteon devices in other platforms. For example, this configuration will NOT work: ```yaml light: @@ -239,26 +237,18 @@ light: ### {% linkable_title Events and Mini-Remotes %} -Mini-Remote devices do not appear as Home Assistant entities. They generate -events. The following events are available: +Mini-Remote devices do not appear as Home Assistant entities, they generate events. The following events are available: - **insteon.button_on** - - **address**: (required) The Insteon device address in lower case without - dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote - the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For - a one-button remote this field is not used. + - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. - **insteon.button_of** - - **address**: (required) The Insteon device address in lower case without - dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote - the values are a to d. For an 8 button remote the values are `a` to `g`. For - a one-button remote this field is not used. + - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. -This allows the mini-remotes to be configured as triggers for automations. Here -is an example of how to use these events for automations: +This allows the mini-remotes to be configured as triggers for automations. Here is an example of how to use these events for automations: -``` +```yaml automation: # 4 or 8 button remote with button c pressed trigger: @@ -292,17 +282,10 @@ automation: ### {% linkable_title Known Issues with the INSTEON Hub %} -The INSTEON Hub has three known issues that are inherent to the design of the -Hub: +The INSTEON Hub has three known issues that are inherent to the design of the Hub: -1. If you see multiple error messages in the log file stating the Hub -connection is closed, and reconnection has failed, this generally requires -the Hub to be restarted to reconnect. +1. If you see multiple error messages in the log file stating the Hub connection is closed, and reconnection has failed, this generally requires the Hub to be restarted to reconnect. -2. You cannot use both Home Assistant and the INSTEON app. If you do, the -changes made in the app will not appear in Home Assistant. Changes made in -Home Assistant will appear in the app after a period of time, however. +2. You cannot use both Home Assistant and the INSTEON app. If you do, the changes made in the app will not appear in Home Assistant. Changes made in Home Assistant will appear in the app after a period of time, however. -3. The Hub response times can be very slow. This is due to the Hub polling -devices frequently. Since only one INSTEON message can be broadcast at a time, -messages to and from Home Assistant can be delayed. +3. The Hub response times can be very slow. This is due to the Hub polling devices frequently. Since only one INSTEON message can be broadcast at a time, messages to and from Home Assistant can be delayed. From e8a833009655d3934e71723c437d5cce1a5096e8 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Thu, 25 Oct 2018 23:52:10 +0200 Subject: [PATCH 71/73] Fix Todoist calendar component configuration (#7092) --- source/_components/calendar.todoist.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/calendar.todoist.markdown b/source/_components/calendar.todoist.markdown index c47e1196d9f..36c6e844b78 100644 --- a/source/_components/calendar.todoist.markdown +++ b/source/_components/calendar.todoist.markdown @@ -30,7 +30,7 @@ calendar: token: YOUR_API_TOKEN ``` -Configuration variables: +{% configuration %} token: description: The API token used to authorize Home Assistant to access your projects. Above you have more info about it. required: true @@ -56,6 +56,7 @@ custom_projects: description: Only include tasks with at least one of these labels (i.e., this works as an `or` statement). required: false type: list +{% endconfiguration %} ### {% linkable_title Custom Projects %} Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example: From fedb2b79cfd773727657878cbf069dfa9fd00ab1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 26 Oct 2018 09:56:10 +0200 Subject: [PATCH 72/73] Update key --- source/_components/sensor.sma.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index f3eb1665646..6f8fe3c2b5e 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -22,7 +22,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file ```yaml # Example configuration.yaml entry -sensor sma: +sensor: - platform: sma host: IP_ADDRESS_OF_DEVICE password: YOUR_SMA_PASSWORD @@ -38,11 +38,12 @@ Configuration variables: - **password** (*Required*): The password of the SMA WebConnect module. - **group** (*Optional*): The user group, which can be either `user` (the default) or `installer`. - **sensors** (*Required*): A dictionary of sensors that will be added. The value of the dictionary can include sensor names that will be shown as attributes. -- **custom** (*Optional*): A dictionary of custom sensor key values and units +- **custom** (*Optional*): A dictionary of custom sensor key values and units. Sensors configuration: The sensors can be any one of the following: + - current_power - current_consumption - total_power From 2196485a0fbae49e1b8704774a8b5c45cf7907cb Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Fri, 26 Oct 2018 10:12:46 +0200 Subject: [PATCH 73/73] Adding note for Hipchat component (#7096) --- source/_components/notify.hipchat.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_components/notify.hipchat.markdown b/source/_components/notify.hipchat.markdown index 331b623a9f1..883fbcbf491 100644 --- a/source/_components/notify.hipchat.markdown +++ b/source/_components/notify.hipchat.markdown @@ -12,6 +12,11 @@ ha_category: Notifications ha_release: "0.52" --- +

+This component will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: announcement. + +Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch. +

The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/).