diff --git a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js b/.themes/classic/source/javascripts/libs/swfobject-dynamic.js index b021614524f..a9442349422 100644 --- a/.themes/classic/source/javascripts/libs/swfobject-dynamic.js +++ b/.themes/classic/source/javascripts/libs/swfobject-dynamic.js @@ -202,7 +202,7 @@ var swfobject = function() { function hasPlayerVersion(rv) { var pv = ua.pv, v = rv.split("."); v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" + v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0" v[2] = parseInt(v[2], 10) || 0; return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; } diff --git a/_config.yml b/_config.yml index 901bd01abf4..7896bba2547 100644 --- a/_config.yml +++ b/_config.yml @@ -141,14 +141,14 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 79 -current_patch_version: 3 -date_released: 2018-10-02 +current_minor_version: 80 +current_patch_version: 0 +date_released: 2018-10-12 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#release-0793---october-2" +patch_version_notes: "#" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/plugins/filters.rb b/plugins/filters.rb index 41ad3357a8b..9e3324252da 100644 --- a/plugins/filters.rb +++ b/plugins/filters.rb @@ -32,7 +32,7 @@ module Jekyll # input - a url # # Returns input with all urls expanded to include the full site url - # e.g. /images/awesome.gif => http://example.com/images/awesome.gif + # e.g., /images/awesome.gif => http://example.com/images/awesome.gif # def full_url(input) expand_url(input, site_url) @@ -40,8 +40,8 @@ module Jekyll # Prepends input with a url fragment # - # input - An absolute url, e.g. /images/awesome.gif - # url - The fragment to prepend the input, e.g. /blog + # input - An absolute url, e.g., /images/awesome.gif + # url - The fragment to prepend the input, e.g., /blog # # Returns the modified url, e.g /blog # diff --git a/sass/inuitcss/generic/_helper.scss b/sass/inuitcss/generic/_helper.scss index 3a488142bae..39d45f29a5e 100644 --- a/sass/inuitcss/generic/_helper.scss +++ b/sass/inuitcss/generic/_helper.scss @@ -5,7 +5,7 @@ /** * A series of helper classes to use arbitrarily. Only use a helper class if an * element/component doesn’t already have a class to which you could apply this - * styling, e.g. if you need to float `.main-nav` left then add `float:left;` to + * styling, e.g., if you need to float `.main-nav` left then add `float:left;` to * that ruleset as opposed to adding the `.float--left` class to the markup. * * A lot of these classes carry `!important` as you will always want them to win diff --git a/sass/inuitcss/objects/_beautons.scss b/sass/inuitcss/objects/_beautons.scss index cdb9a3becf2..a6255287853 100644 --- a/sass/inuitcss/objects/_beautons.scss +++ b/sass/inuitcss/objects/_beautons.scss @@ -175,7 +175,7 @@ .btn--tertiary{} /** - * Positive actions; e.g. sign in, purchase, submit, etc. + * Positive actions; e.g., sign in, purchase, submit, etc. */ .btn--positive{ background-color:#4A993E; @@ -183,7 +183,7 @@ } /** - * Negative actions; e.g. close account, delete photo, remove friend, etc. + * Negative actions; e.g., close account, delete photo, remove friend, etc. */ .btn--negative{ background-color:#b33630; diff --git a/sass/inuitcss/objects/_sprite.scss b/sass/inuitcss/objects/_sprite.scss index 898646bc7cf..85459fd51bb 100644 --- a/sass/inuitcss/objects/_sprite.scss +++ b/sass/inuitcss/objects/_sprite.scss @@ -22,7 +22,7 @@ * * Where ‘’ might map to a star in your particular icon font. * - * These all require extension in your theme stylesheet, e.g. in your own CSS: + * These all require extension in your theme stylesheet, e.g., in your own CSS: * .sprite{ background-image:url(path/to/your/sprite.png); diff --git a/source/_addons/lets_encrypt.markdown b/source/_addons/lets_encrypt.markdown index 0ac8d019945..755d039a2f7 100644 --- a/source/_addons/lets_encrypt.markdown +++ b/source/_addons/lets_encrypt.markdown @@ -14,7 +14,7 @@ featured: false You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.
-Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port. +Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This add-on will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port. ```json { @@ -43,7 +43,7 @@ If you use another port such as `8123` or an SSL proxy, change the port number. ## {% linkable_title Enabling auto-renewals %} -Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry. +Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificate, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry. However, you can automate this process using Home Assistant. diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown index aa7d509c18b..42519d3cfed 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -10,7 +10,7 @@ footer: true featured: true --- -This addon allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares. +This add-on allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares. ```json { diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown index e8377a1b5a7..b002ff1a4a1 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -15,7 +15,7 @@ The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so Home Assistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki). -The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled. +The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled. If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like: @@ -71,7 +71,7 @@ There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for ### {% linkable_title Examples %} -So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon. +So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba add-on. Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file. diff --git a/source/_addons/ssh.markdown b/source/_addons/ssh.markdown index 479b05c98f6..0fa91e88684 100644 --- a/source/_addons/ssh.markdown +++ b/source/_addons/ssh.markdown @@ -35,7 +35,7 @@ To start this add-on for the first time, you either need to include a key (enclo The username for login over SSH is `root`. The complete login command is `ssh root@hassio.local`. -After logging in, you will find yourself in this add-ons container. The Home Assistant configuration directory is mounted on the path `/config`. +After logging in, you will find yourself in this add-on's container. The Home Assistant configuration directory is mounted on the path `/config`. Configuration variables: diff --git a/source/_components/alarm_control_panel.nx584.markdown b/source/_components/alarm_control_panel.nx584.markdown index a98ad9050a6..a46cbf75273 100644 --- a/source/_components/alarm_control_panel.nx584.markdown +++ b/source/_components/alarm_control_panel.nx584.markdown @@ -22,8 +22,20 @@ alarm_control_panel: - platform: nx584 ``` -Configuration variables: - -- **host** (*Optional*): The host where the nx584 server process is running. Defaults to `localhost`. -- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to `5007`. - +{% configuration %} +host: + description: The host where the nx584 server process is running. + required: false + default: localhost + type: string +name: + description: This parameter allows you to override the name. + required: false + default: NX584 + type: string +port: + description: The port where the Alarm panel is listening. + required: false + default: 5007 + type: integer +{% endconfiguration %} diff --git a/source/_components/alert.markdown b/source/_components/alert.markdown index bbb2e6b7289..033cd918873 100644 --- a/source/_components/alert.markdown +++ b/source/_components/alert.markdown @@ -51,13 +51,13 @@ alert: {% configuration %} name: - description: The friendly name of the alert. + description: The friendly name of the alert. This can include a [template][template]. required: true type: string done_message: description: > A message sent after an alert transitions from `on` to `off`. Is only sent - if an alert notification was sent for transitioning from `off` to `on`. + if an alert notification was sent for transitioning from `off` to `on`. This can include a [template][template]. required: false type: string entity_id: @@ -191,3 +191,5 @@ sent 30 minutes after that, and a 60 minute delay will fall between every following notification. For example, if the garage door opens at 2:00, a notification will be sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes. + +[template]: /docs/configuration/templating/ diff --git a/source/_components/android_ip_webcam.markdown b/source/_components/android_ip_webcam.markdown index b11ac13595e..a16ca91b979 100644 --- a/source/_components/android_ip_webcam.markdown +++ b/source/_components/android_ip_webcam.markdown @@ -25,49 +25,92 @@ android_ip_webcam: - host: 192.168.1.10 ``` -Configuration variables: - -- **host** (*Required*): The IP Address of the phone on the network. -- **port** (*Optional*): Default is set 8080. The port the IP Webcam listens on. -- **name** (*Optional*): Override the name of the phone. -- **username** (*Optional*): The username to access the phone. -- **password** (*Optional*): The password to access the phone. -- **scan_interval** (*Optional*): Default is 10 seconds. Defines the update interval of the phone. -- **sensors** array (*Optional*): Conditions to display sensor in the frontend. See the list of supported sensors. -- **switches** array (*Optional*): Conditions to display settings in the frontend. See the list of supported settings. -- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled. +{% configuration %} +host: + description: The IP Address of the phone on the network. + required: true + type: string +port: + description: The port the IP Webcam listens on. + required: false + default: 8080 + type: integer +name: + description: Override the name of the phone. + required: false + default: IP Webcam + type: string +username: + description: The username to access the phone. + required: inclusive + type: string +password: + description: The password to access the phone. + required: inclusive + type: string +scan_interval: + description: Defines the update interval of the phone. + required: false + default: 10 + type: integer +sensors: + description: Conditions to display sensor in the frontend. See the list of supported sensors. + required: false + type: list + keys: + audio_connections: + description: Audio Connections + battery_level: + description: Battery Level + battery_temp: + description: Battery Temperature + battery_voltage: + description: Battery Voltage + light: + description: Light Level + motion: + description: Motion + pressure: + description: Pressure + proximity: + description: Proximity + sound: + description: Sound + video_connections: + description: Video Connections +switches: + description: Conditions to display settings in the frontend. See the list of supported switches. + required: false + type: list + keys: + exposure_lock: + description: Exposure Lock + ffc: + description: Front-facing Camera + focus: + description: Focus + gps_active: + description: GPS Active + night_vision: + description: Night Vision + overlay: + description: Overlay + torch: + description: Torch + whitebalance_lock: + description: White Balance Lock + video_recording: + description: Video Recording +motion_sensor: + description: Activate motion sensor if auto_discovery is disabled. + required: false + type: boolean +{% endconfiguration %}You need to enable logging in the Android app (`Data logging` > `Enable data logging`), if you wish to see the sensor states in Home Assistant. The sensor states stays as `unknown`, until it's enabled.
-### {% linkable_title Supported features %} - -Sensors: - -- audio_connections -- battery_level -- battery_temp -- battery_voltage -- light -- motion -- pressure -- proximity -- sound -- video_connections - -Settings (Switches): - -- exposure_lock -- ffc -- focus -- gps_active -- night_vision -- overlay -- torch -- whitebalance_lock -- video_recording - ## {% linkable_title Full example %} ```yaml diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index e9008af6385..c9a0e3f0606 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -42,13 +42,28 @@ apple_tv: credentials: CREDENTIALS_2 ``` -Configuration variables: - -- **host** (*Required*): The IP-address of the device. -- **login_id** (*Required*): An identifier used to login to the device, see below. -- **name** (*Optional*): The name of the device used in the frontend. -- **start_off** (*Optional*): Set to true if the device should start in fake standby. -- **credentials** (*Optional*): Credentials used for AirPlay playback. +{% configuration %} +host: + description: The IP-address of the device. + required: true + type: string +login_id: + description: An identifier used to login to the device, see below. + required: true + type: string +name: + description: The name of the device used in the frontend. + required: false + type: string +start_off: + description: Set to true if the device should start in fake standby. + required: false + type: boolean +credentials: + description: Credentials used for AirPlay playback. + required: false + type: string +{% endconfiguration %} In order to connect to the device, you need a *login id*. The easiest way to obtain this identifier is to use the `apple_tv_scan` service (described below). Additional information about `start_off` and `credentials` can also be found under the guides section. diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 9b2faadd988..fc630149a00 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -30,24 +30,62 @@ axis: - camera ``` -## {% linkable_title Configuration variables %} - -- **device** (*Required*): Unique name -- **host** (*Required*): The IP address to your Axis device. -- **username** (*Optional*): The username to your Axis device. Default 'root'. -- **password** (*Optional*): The password to your Axis device. Default 'pass'. -- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0. -- **port** (*Optional*): Configure port web server of device is accessible from. Default 80. -- **location** (*Optional*): Physical location of your Axis device. Default not set. -- **include** (*Required*): This cannot be empty else there would be no use adding the device at all. - - **camera**: Stream MJPEG video to Home Assistant. - - **motion**: The built-in motion detection in Axis cameras. - - **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection. - - **pir**: PIR sensor that can trigger on a motion. - - **sound**: Sound detector. - - **daynight**: Certain cameras have day/night mode if they have built-in IR lights. - - **tampering**: Signals when camera believes that it has been tampered with. - - **input**: Trigger on whatever you have connected to device input port. +{% configuration %} +device: + description: A unique name + required: true + type: string +host: + description: The IP address to your Axis device. + required: true + type: string +username: + description: The username to your Axis device. + required: false + default: root + type: string +password: + description: The password to your Axis device. + required: false + default: pass + type: string +trigger_time: + description: Minimum time (in seconds) a sensor should keep its positive value. + required: false + default: 0 + type: integer +port: + description: Configure port web server of device is accessible from. + required: false + default: 80 + type: integer +location: + description: Physical location of your Axis device. + required: false + default: not set + type: string +include: + description: This cannot be empty else there would be no use adding the device at all. + required: true + type: map + keys: + camera: + description: Stream MJPEG video to Home Assistant. + motion: + description: The built-in motion detection in Axis cameras. + vmd3: + description: ACAP Motion Detection app which has better algorithms for motion detection. + pir: + description: PIR sensor that can trigger on a motion. + sound: + description: Sound detector. + daynight: + description: Certain cameras have day/night mode if they have built-in IR lights. + tampering: + description: Signals when camera believes that it has been tampered with. + input: + description: Trigger on whatever you have connected to device input port. +{% endconfiguration %} A full configuration example could look like this: diff --git a/source/_components/binary_sensor.aurora.markdown b/source/_components/binary_sensor.aurora.markdown index f1c165381ec..460500c24c3 100644 --- a/source/_components/binary_sensor.aurora.markdown +++ b/source/_components/binary_sensor.aurora.markdown @@ -28,10 +28,18 @@ binary_sensor: - platform: aurora ``` -Configuration variables: - -- **forecast_threshold** (*Optional*): Provide your own threshold number above which the sensor will trigger. Defaults to 75. -- **name** (*Optional*): The name of the sensor. Default is 'Aurora Visibility'. +{% configuration %} +forecast_threshold: + description: Provide your own threshold number above which the sensor will trigger. + required: false + default: 75 + type: integer +name: + description: The name of the sensor. + required: false + default: Aurora Visibility + type: string +{% endconfiguration %} ```yaml binary_sensor: diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index f35f488a7ea..66e4c98f4fa 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -30,14 +30,36 @@ binary_sensor: name: Window ``` -Configuration variables: - -- **pins** array (*Required*): Array of used pins. - - **pin_name** (*Required*): Pin numbers and corresponding names. - - **name** (*Required*): Friendly name to use for the frontend. - - **bouncetime** (*Optional*): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to `50 ms`. - - **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). - - **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. Defaults to `UP`. +{% configuration %} +pins: + description: List of used pins. + required: true + type: map + keys: + pin_name: + description: Port numbers and corresponding names. + required: true + type: map + keys: + name: + description: Friendly name to use for the frontend. + required: true + type: string + bouncetime: + description: Debounce time for reading input pin defined in milliseconds [ms]. + required: false + default: 50 + type: integer + invert_logic: + description: If `true`, inverts the input logic to ACTIVE LOW + required: false + default: false + type: boolean + 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 +{% 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 c206c3cb927..0bf0512d265 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -27,16 +27,45 @@ binary_sensor: command: cat /proc/sys/net/ipv4/ip_forward ``` -Configuration variables: - -- **command** (*Required*): The action to take to get the value. -- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used. -- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. -- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". -- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). -- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds). +{% configuration %} +command: + description: The action to take to get the value. + required: true + type: string +name: + description: Let you overwrite the name of the device. By default *name* from the device is used. + required: false + default: name + 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 +payload_on: + description: The payload that represents enabled state. + required: false + default: ON + type: string +payload_off: + description: The payload that represents disabled state. + required: false + default: OFF + type: string +value_template: + description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. + required: false + type: string +scan_interval: + description: Defines number of seconds for polling interval. + required: false + default: 60 + type: integer +command_timeout: + description: Defines number of seconds for command timeout. + required: false + default: 15 + type: integer +{% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/binary_sensor.concord232.markdown b/source/_components/binary_sensor.concord232.markdown index 39320bb6723..f734d4afa5b 100644 --- a/source/_components/binary_sensor.concord232.markdown +++ b/source/_components/binary_sensor.concord232.markdown @@ -22,8 +22,15 @@ binary_sensor: - platform: concord232 ``` -Configuration variables: - -- **host** (*Optional*): The host where the concord232 server process is running. Defaults to `localhost`. -- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007. - +{% configuration %} +host: + description: The host where the concord232 server process is running. + required: false + default: localhost + type: string +port: + description: The port where the Alarm panel is listening. + required: false + default: 5007 + type: integer +{% endconfiguration %} diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index 0607a0127af..eaf15a86a79 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -35,16 +35,45 @@ binary_sensor: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera for the frontend. -- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`. -- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%. -- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds. -- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated). -- **repeat_time** (*Optional*): The span of time *repeat* events need to occur in before triggering a motion. Defaults to 0 seconds (deactivated). -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., video denoise filtering. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera for the frontend. + required: false + type: string +initial_state: + description: Start `ffmpeg` with Home Assistant. + required: false + default: true + type: boolean +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 +reset: + description: The time to reset the state after no new motion is detected. + required: false + default: 20 + type: integer +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 +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 +extra_arguments: + description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering. + required: false + type: string +{% endconfiguration %} To experiment with values (changes/100 is the scene value in `ffmpeg`): diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index 842be8203e1..ae2077cd298 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -30,16 +30,44 @@ binary_sensor: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera. -- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant. -- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low. -- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state. -- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering. -- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera. + required: false + type: string +initial_state: + description: Start ffmpeg with home-assistant. + required: false + default: true + type: boolean +peak: + description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low. + required: false + default: -30 + type: integer +duration: + description: How long the noise needs to be over the peak to trigger the state. + required: false + default: 1 + type: integer +reset: + description: The time to reset the state after no new noise is over the peak. + required: false + default: 20 + type: integer +extra_arguments: + description: Extra options to pass to `ffmpeg`, like audio frequency filtering. + required: false + type: string +output: + description: Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered. + required: false + type: string +{% endconfiguration %} To experiment with values: diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index 6f5ff097906..97004e94b8e 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -26,13 +26,29 @@ binary_sensor: address: '6/0/2' ``` -Configuration variables: - -- **address** (*Required*): KNX group address of the binary sensor. -- **name** (*Optional*): A name for this device used within Home Assistant. -- **device_class** (*Optional*): HASS device class e.g., "motion". -- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1. -- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds. +{% configuration %} +address: + description: KNX group address of the binary sensor. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +device_class: + description: HASS device class e.g., "motion". + required: false + type: string +significant_bit: + description: Specify which significant bit of the KNX value should be used. + required: false + default: 1 + type: integer +reset_after: + description: Reset back to OFF state after specified milliseconds. + required: false + type: integer +{% endconfiguration %} 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. @@ -57,10 +73,23 @@ binary_sensor: service: homeassistant.turn_on ``` -Configuration variables: - -- **name** (*Optional*): A name for this device used within Home Assistant. -- **counter** (*Optional*): 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. Defaults to 1. -- **hook** (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on". -- **action**: Specify a list of actions analog to the [automation rules](/docs/automation/action/). - +{% configuration %} +name: + description: A name for this device used within Home Assistant. + required: false + type: string +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 +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 +action: + description: Specify a list of actions analog to the [automation rules](/docs/automation/action/). + required: false + type: list +{% endconfiguration %} diff --git a/source/_components/binary_sensor.modbus.markdown b/source/_components/binary_sensor.modbus.markdown index 62f5765dd3e..fbc300c2984 100644 --- a/source/_components/binary_sensor.modbus.markdown +++ b/source/_components/binary_sensor.modbus.markdown @@ -32,13 +32,26 @@ binary_sensor: coil: 110 ``` -Configuration variables: +{% configuration %} +coils: + description: The array contains a list of coils to read from. + required: true + type: [map, list] + keys: + name: + description: Name of the sensor. + required: true + type: string + slave: + description: The number of the slave (Optional for TCP and UDP Modbus). + required: true + type: integer + coil: + description: Coil number. + required: true + type: integer +{% endconfiguration %} -- **coils** array (*Required*): The array contains a list of coils to read from. - - **name** (*Required*): Name of the sensor. - - **slave** (*Required*): The number of the slave (Optional for TCP and UDP Modbus). - - **coil** (*Required*): Coil number. - It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. ## {% linkable_title Full example %} diff --git a/source/_components/binary_sensor.nx584.markdown b/source/_components/binary_sensor.nx584.markdown index cce9c46eb0f..0f9c17dea93 100644 --- a/source/_components/binary_sensor.nx584.markdown +++ b/source/_components/binary_sensor.nx584.markdown @@ -25,12 +25,39 @@ binary_sensor: platform: nx584 ``` -Configuration variables: - -- **host** (*Optional*): 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. -- **port** (*Optional*): The port where the server process is running. Defaults to `5007`. -- **exclude_zones** (*Optional*): 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. -- **zone_types** (*Optional*): This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. The list of available zone types relevant to alarm zones are: `opening`, `motion`, `gas`, `smoke`, `moisture`, `safety`. +{% configuration %} +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 +port: + description: The port where the server process is running. + required: false + default: 5007 + type: integer +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. + required: false + type: map + keys: + opening: + description: Opening + motion: + description: Motion + gas: + description: Gas + smoke: + description: Smoke + moisture: + description: Moisture + safety: + description: Safety +{% endconfiguration %} An extended configuration entry could look like this: diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index e782c1e9e9a..190d72b2c3c 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -31,7 +31,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component | Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | | | Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | | | Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` | -| Button (2nd gen) | sensor_switch.aq2 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` | +| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` | | Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` | | Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` | | Cube | cube | MFKZQ01LM | off (always) | `cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) | diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index ce7688c9d9d..064d426cbb8 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -21,7 +21,7 @@ This component provides the following platforms: - Binary Sensors: Doors, windows, condition based services, check control messages, parking lights, door lock state, charging status (electric cars) and connections status (electric cars). - Device tracker: The location of your car. - Lock: Control the lock of your car. - - Sensors: Mileage, remaining range, remaining fuel, charging time remaing (electric cars), charging status (electric cars), remaing range electric (electric cars). + - Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars). To enable this component in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index 1c074f5ed81..ffa9233da25 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -157,7 +157,7 @@ Otherwise everything following the hash sign would be considered a YAML comment. ### {% linkable_title Sensor attributes %} - **offset_reached**: If set in the event title and parsed out will be `on`/`off` once the offset in the title in minutes is reached. So the title `Very important meeting #Important !!-10` would trigger this attribute to be `on` 10 minutes before the event starts. - - **all_day**: `True`/`False` if this is an all day event. Will be `False` if there is no event found. + - **all_day**: `true`/`false` if this is an all day event. Will be `false` if there is no event found. - **message**: The event title with the `search` and `offset` values extracted. So in the above example for **offset_reached** the **message** would be set to `Very important meeting` - **description**: The event description. - **location**: The event Location. diff --git a/source/_components/camera.dispatcher.markdown b/source/_components/camera.dispatcher.markdown index 26eb74febcd..b0f3c63b851 100644 --- a/source/_components/camera.dispatcher.markdown +++ b/source/_components/camera.dispatcher.markdown @@ -36,6 +36,13 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data) ``` -Configuration variables: -- **signal** (*Required*): The signal name of dispatcher signal they send image data to this camera. -- **name** (*Optional*): This parameter allows you to override the name of your camera. +{% configuration %} +signal: + description: The signal name of dispatcher signal they send image data to this camera. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index 481c835a153..e87ea211844 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -25,11 +25,20 @@ camera: input: FFMPEG_SUPPORTED_INPUT ``` -Configuration variables: - -- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. -- **name** (*Optional*): Override the name of your camera. -- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. +{% configuration %} +input: + description: An FFmpeg-compatible input file, stream, or feed. + required: true + type: string +name: + description: Override the name of your camera. + required: false + type: string +extra_arguments: + description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. + required: false + type: string +{% endconfiguration %} ### {% linkable_title Image quality %} diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown index c9d1aabd505..8215b0f2ffb 100644 --- a/source/_components/camera.foscam.markdown +++ b/source/_components/camera.foscam.markdown @@ -28,18 +28,34 @@ camera: password: YOUR_PASSWORD ``` -Configuration variables: - -- **ip** (*Required*): The IP address your camera. -- **port** (*Optional*): The port that the camera is running on. The default is 88. -- **username** (*Required*): The username for accessing your camera. -- **password** (*Required*): The password for accessing your camera. -- **name** (*Optional*): This parameter allows you to override the name of your camera. +{% configuration %} +ip: + description: The IP address your camera. + required: true + type: string +port: + description: The port that the camera is running on. + required: false + default: 88 + type: integer +username: + description: The username for accessing your camera. + required: true + type: string +password: + description: The password for accessing your camera. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +{% endconfiguration %}There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
- + ### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %} Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index 99f7e03aa7e..a5c9d503d68 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -27,17 +27,48 @@ camera: still_image_url: http://194.218.96.92/jpg/image.jpg ``` -Configuration variables: - -- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/). -- **name** (*Optional*): This parameter allows you to override the name of your camera. -- **username** (*Optional*): The username for accessing your camera. -- **password** (*Optional*): The password for accessing your camera. -- **authentication** (*Optional*): Type for authenticating the requests `basic` (default) or `digest`. -- **limit_refetch_to_url_change** (*Optional*): True/false value (default: false). Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image. -- **content_type** (*Optional*): Set the content type for the IP camera if it is not a jpg file (default: `image/jpeg`). Use `image/svg+xml` to add a dynamic svg file. -- **framerate** (*Optional*): The number of frames-per-second (FPS) of the stream (setting this too high may cause too much traffic on the network or be heavy on the camera). -- **verify_ssl** (*Optional*): True/false value (default: true). Enable or disable SSL certificate verification. +{% configuration %} +still_image_url: + description: "The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/)." + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +username: + description: The username for accessing your camera. + required: false + type: string +password: + description: The password for accessing your camera. + required: false + type: string +authentication: + description: "Type for authenticating the requests `basic` or `digest`." + required: false + default: basic + type: string +limit_refetch_to_url_change: + description: True/false value. Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image. + required: false + default: false + type: boolean +content_type: + description: Set the content type for the IP camera if it is not a jpg file. Use `image/svg+xml` to add a dynamic svg file. + required: false + default: image/jpeg + type: string +framerate: + description: The number of frames-per-second (FPS) of the stream. Can cause heavy traffic on the network and/or heavy load on the camera. + required: false + type: integer +verify_ssl: + description: Enable or disable SSL certificate verification. + required: false + default: true + type: boolean +{% endconfiguration %}-The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier. +The live stream writing by the camera is not a supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier.
diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown
index 274ac0377f9..89d09a5981e 100644
--- a/source/_components/climate.generic_thermostat.markdown
+++ b/source/_components/climate.generic_thermostat.markdown
@@ -34,7 +34,7 @@ Configuration variables:
- **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 it's current state prior to being switched either off or on.
+- **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).
diff --git a/source/_components/climate.sensibo.markdown b/source/_components/climate.sensibo.markdown
index 02003d4aa6a..85577dcdf81 100644
--- a/source/_components/climate.sensibo.markdown
+++ b/source/_components/climate.sensibo.markdown
@@ -24,12 +24,16 @@ climate:
api_key:
If you create the API key using a dedicated user (and not your main user),
@@ -46,3 +50,26 @@ climate:
- id1
- id2
```
+
+### {% linkable_title Adding a quick switch example %}
+
+If you want a "Quick Switch" to turn your AC On / Off, you can do that using the following `Switch Template`:
+
+{% raw %}
+```yaml
+switch:
+ - platform: template
+ switches:
+ ac:
+ friendly_name: "AC"
+ value_template: "{{ is_state('climate.ac', 'cool') or is_state('climate.ac', 'heat') or is_state('climate.ac', 'dry') or is_state('climate.ac', 'heat')}}"
+ turn_on:
+ service: climate.turn_on
+ data:
+ entity_id: climate.ac
+ turn_off:
+ service: climate.turn_off
+ data:
+ entity_id: climate.ac
+```
+{% endraw %}
diff --git a/source/_components/cover.knx.markdown b/source/_components/cover.knx.markdown
index d6d3733c1e1..4e43d315cf1 100644
--- a/source/_components/cover.knx.markdown
+++ b/source/_components/cover.knx.markdown
@@ -33,17 +33,54 @@ cover:
travelling_time_up: 61
```
-Configuration variables:
-
-- **name** (*Optional*): A name for this device used within Home Assistant.
-- **move_long_address**: KNX group address for moving the cover full up or down.
-- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here.
-- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position.
-- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover.
-- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle.
-- **angle_state_address** (*Optional*): Separate KNX group address for requesting the current angle of cover.
-- **travelling_time_down** (*Optional*): Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25.
-- **travelling_time_up** (*Optional*): Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25.
-- **invert_position** (*Optional*): Set this to true if your actuator report fully closed as 100%.
-- **invert_angle** (*Optional*): Set this to true if your actuator reports tilt fully closed as 100%.
-
+{% configuration %}
+name:
+ description: A name for this device used within Home Assistant.
+ required: false
+ default: KNX Cover
+ type: string
+move_long_address:
+ description: KNX group address for moving the cover full up or down.
+ required: false
+ type: string
+move_short_address:
+ description: KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here.
+ required: false
+ type: string
+position_address:
+ description: KNX group address for moving the cover to the dedicated position.
+ required: false
+ type: string
+position_state_address:
+ description: Separate KNX group address for requesting the current position of the cover.
+ required: false
+ type: string
+angle_address:
+ description: KNX group address for moving the cover to the dedicated angle.
+ required: false
+ type: string
+angle_state_address:
+ description: Separate KNX group address for requesting the current angle of cover.
+ required: false
+ type: string
+travelling_time_down:
+ description: Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling.
+ required: false
+ default: 25
+ type: integer
+travelling_time_up:
+ description: Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling.
+ required: false
+ default: 25
+ type: integer
+invert_position:
+ description: Set this to true if your actuator report fully closed as 100%.
+ required: false
+ default: false
+ type: boolean
+invert_angle:
+ description: Set this to true if your actuator reports tilt fully closed as 100%.
+ required: false
+ default: false
+ type: boolean
+{% endconfiguration %}
diff --git a/source/_components/cover.opengarage.markdown b/source/_components/cover.opengarage.markdown
index d9327afa2a6..2675766c3fa 100644
--- a/source/_components/cover.opengarage.markdown
+++ b/source/_components/cover.opengarage.markdown
@@ -33,14 +33,36 @@ cover:
name: Right Garage Door
```
-Configuration variables:
-
-- **covers** array (*Required*): List of your doors.
- - **identifier** (*Required*): Name of the cover as slug. Multiple entries are possible.
- - **host** (*Required*): IP address of device.
- - **port** (*Optional*): HTTP Port. Default is `80`.
- - **device_key** (*Required*): Access key to control device. Default is `opendoor`.
- - **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device.
+{% configuration %}
+covers:
+ description: List of your doors.
+ required: true
+ type: map
+ keys:
+ identifier:
+ description: Name of the cover as slug. Multiple entries are possible.
+ required: true
+ type: map
+ keys:
+ host:
+ description: IP address of device.
+ required: true
+ type: string
+ port:
+ description: HTTP Port.
+ required: false
+ default: 80
+ type: integer
+ device_key:
+ description: Access key to control device.
+ required: true
+ default: opendoor
+ type: string
+ name:
+ description: Name to use in the Frontend. If not provided, it will use name configured in device.
+ required: false
+ type: string
+{% endconfiguration %}
**Example with more detail:**
diff --git a/source/_components/datadog.markdown b/source/_components/datadog.markdown
index 7a3ec052c74..c78a0c8bd46 100644
--- a/source/_components/datadog.markdown
+++ b/source/_components/datadog.markdown
@@ -33,9 +33,25 @@ To use the `datadog` component in your installation, add the following to your `
datadog:
```
-Configuration variables:
-
-- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g., 192.168.1.23. Defaults to `localhost`.
-- **port** (*Optional*): Port to use. Defaults to 8125.
-- **prefix** (*Optional*): Prefix to use. Defaults to `hass`.
-- **rate** (*Optional*): The sample rate of UDP packets sent to Datadog. Defaults to 1.
+{% configuration %}
+host:
+ description: The IP address or hostname of your Datadog host, e.g., 192.168.1.23.
+ required: false
+ default: localhost
+ type: string
+port:
+ description: Port to use.
+ required: false
+ default: 8125
+ type: integer
+prefix:
+ description: Prefix to use.
+ required: false
+ default: hass
+ type: string
+rate:
+ description: The sample rate of UDP packets sent to Datadog.
+ required: false
+ default: 1
+ type: integer
+{% endconfiguration %}
diff --git a/source/_components/device_tracker.actiontec.markdown b/source/_components/device_tracker.actiontec.markdown
index fbf21196500..f33d631b8f3 100644
--- a/source/_components/device_tracker.actiontec.markdown
+++ b/source/_components/device_tracker.actiontec.markdown
@@ -33,11 +33,20 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
-Configuration variables:
-
-- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`.
-- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
-- **password** (*Required*): The password for your given admin account.
+{% configuration %}
+host:
+ description: The IP address of your router, eg. `192.168.1.1`.
+ required: true
+ type: string
+username:
+ description: The username of an user with administrative privileges, usually `admin`.
+ required: true
+ type: string
+password:
+ description: The password for your given admin account.
+ required: true
+ type: string
+{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
diff --git a/source/_components/device_tracker.aruba.markdown b/source/_components/device_tracker.aruba.markdown
index e84c37954b0..5ccea64ab67 100644
--- a/source/_components/device_tracker.aruba.markdown
+++ b/source/_components/device_tracker.aruba.markdown
@@ -34,11 +34,19 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
-Configuration variables:
-
-- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`.
-- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
-- **password** (*Required*): The password for your given admin account.
+{% configuration %}
+host:
+ description: The IP address of your router, e.g., `192.168.1.1`.
+ required: true
+ type: string
+username:
+ description: The username of an user with administrative privileges, usually `admin`.
+ required: true
+ type: string
+password:
+ description: The password for your given admin account.
+ required: true
+ type: string
+{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
-
diff --git a/source/_components/device_tracker.automatic.markdown b/source/_components/device_tracker.automatic.markdown
index c109862af84..e4d8880f57e 100644
--- a/source/_components/device_tracker.automatic.markdown
+++ b/source/_components/device_tracker.automatic.markdown
@@ -37,20 +37,32 @@ device_tracker:
- 2004 Subaru Impreza
```
-Configuration variables:
-
-- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/).
-- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/).
-- **current_location** (*Optional*): Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips.
-- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
+{% configuration %}
+client_id:
+ description: "The OAuth client id (get from https://developer.automatic.com/)."
+ required: true
+ type: string
+secret:
+ description: "The OAuth client secret (get from https://developer.automatic.com/)."
+ required: true
+ type: string
+current_location:
+ description: "Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips."
+ required: false
+ default: false
+ type: boolean
+devices:
+ description: The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
+ required: false
+ type: list
+{% endconfiguration %}
Home Assistant will also fire events when an update is received from Automatic. These can be used to trigger automations, as shown in the example below. A list of available event types can be found in the [Automatic Real-Time Events documentation](https://developer.automatic.com/api-reference/#real-time-events).
-
```yaml
# Example automatic event automation
automation:
- - trigger:
+ - trigger:
- platform: event
event_type: automatic_update
event_data:
@@ -60,6 +72,7 @@ automation:
action:
- service: light.turn_off
```
+
You can obtain the correct ID for your vehicle from your known_devices.yaml file. Be sure to lower-case any letters contained in your vehicle's ID when using it in an automation trigger.
-If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more. +If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more.
To use this device tracker in your installation, add the following to your `configuration.yaml` file: @@ -57,12 +57,19 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. -- **username** (*Required*): The username of an user with administrative privileges. -- **password** (*Required*): The password for your given admin account. - +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +username: + description: The username of an user with administrative privileges. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.ddwrt.markdown b/source/_components/device_tracker.ddwrt.markdown index 826046d029f..01e1c68ce5e 100644 --- a/source/_components/device_tracker.ddwrt.markdown +++ b/source/_components/device_tracker.ddwrt.markdown @@ -25,11 +25,20 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. -- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +{% endconfiguration %} By default Home Assistant pulls information about connected devices from DD-WRT every 5 seconds. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index ed813ae1c37..07d2eee540f 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -31,15 +31,23 @@ device_tracker: - platform: fritz ``` -Configuration variables: - -- **host** (*Optional*): The IP address of your router, eg. `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1. -- **username** (*Optional*: The username of an user with administrative privileges, usually `admin`. -- **password** (*Optional*): The password for your given admin account. +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1. + required: false + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: false + type: string +password: + description: The password for your given admin account. + required: false + type: string +{% endconfiguration %}It seems that it is not necessary to use it in current generation Fritz!Box routers because the necessary data can be retrieved anonymously.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. - diff --git a/source/_components/device_tracker.geofency.markdown b/source/_components/device_tracker.geofency.markdown index be09d277a1b..e6f68b9efa8 100644 --- a/source/_components/device_tracker.geofency.markdown +++ b/source/_components/device_tracker.geofency.markdown @@ -22,9 +22,12 @@ device_tracker: - platform: geofency ``` -Configuration variables: - -- **mobile_beacons** (*Optional*): List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*. +{% configuration %} +mobile_beacons: + description: List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*. + required: false + type: list +{% endconfiguration %} A full sample configuration for the `geofency` platform is shown below: @@ -43,4 +46,4 @@ Geofency will automatically generate the device tracker name used for geofences, When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone. -To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. \ No newline at end of file +To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index a57ba44d4b4..6867eaae007 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -13,7 +13,7 @@ ha_release: "0.10" --- -The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices. +The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices. It does require that your device is registered with "Find My iPhone". @@ -28,13 +28,30 @@ device_tracker: account_name: accountname ``` -Configuration variables: - -- **username** (*Required*): The username for the iCloud account. -- **password** (*Required*): The password for your given username. -- **account_name** (*Optional*): The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). -- **max_interval** (*Optional*): Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Default is 30 min. Minimum value is 1 min. -- **gps_accuracy_threshold** (*Optional*): iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. Default is 1000 meters. +{% configuration %} +username: + description: The username for the iCloud account. + required: true + type: string +password: + description: The password for your given username. + required: true + type: string +account_name: + description: The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). + required: false + type: string +max_interval: + description: Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min. + required: false + default: 30 + type: integer +gps_accuracy_threshold: + description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. + required: false + default: 1000 + type: integer +{% endconfiguration %}Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. @@ -50,7 +67,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac 2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet. 4 services are available for this component: -- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened. +- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened. - **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional. - **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level. - **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional. diff --git a/source/_components/device_tracker.keenetic_ndms2.markdown b/source/_components/device_tracker.keenetic_ndms2.markdown index d2d9fc506be..01e8b8b96bb 100644 --- a/source/_components/device_tracker.keenetic_ndms2.markdown +++ b/source/_components/device_tracker.keenetic_ndms2.markdown @@ -21,18 +21,34 @@ To use a Keenetic router in your installation, add the following to your `config # Example configuration.yaml entry device_tracker: - platform: keenetic_ndms2 - host: !secret router_ip - username: !secret router_username - password: !secret router_password + host: YOUR_HOST + username: YOUR_USERNAME + password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. -- **port** (*Optional*): The Telnet port of your router. Default is 23. -- **username** (*Required*): The username to login into the router (user should have read access to telnet interface of the router). -- **password** (*Required*): The password for the specified username. -- **interface** (*Optional*): Ihe internal name of the interface to get devices connected to. Default is 'Home'. For expert users only. - +{% configuration %} +host: + description: The IP address of your router, e.g., 192.168.1.1. + required: true + type: string +port: + description: The Telnet port of your router. + required: false + default: 23 + type: integer +username: + description: The username to login into the router (user should have read access to telnet interface of the router). + required: true + type: string +password: + description: The password for the specified username. + required: true + type: string +interface: + description: Ihe internal name of the interface to get devices connected to. For expert users only. + required: false + default: Home + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.linksys_ap.markdown b/source/_components/device_tracker.linksys_ap.markdown index 70cc3e17a14..1204e61f77a 100644 --- a/source/_components/device_tracker.linksys_ap.markdown +++ b/source/_components/device_tracker.linksys_ap.markdown @@ -29,12 +29,25 @@ device_tracker: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The hostname or IP address of your access point, eg. `192.168.1.1`. -- **username** (*Required*): The username of an user with administrative privileges (read-only is sufficient). -- **password** (*Required*): The password for your given admin account. -- **verify_ssl** (*Optional*): Verify SSL certificate for HTTPS request. Defaults to true. +{% configuration %} +host: + description: The hostname or IP address of your access point, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges (read-only is sufficient). + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +verify_ssl: + description: Verify SSL certificate for HTTPS request. + required: false + default: true + type: boolean +{% endconfiguration %} ## {% linkable_title Example %} diff --git a/source/_components/device_tracker.linksys_smart.markdown b/source/_components/device_tracker.linksys_smart.markdown index 0cc22363fd9..601771a86bd 100644 --- a/source/_components/device_tracker.linksys_smart.markdown +++ b/source/_components/device_tracker.linksys_smart.markdown @@ -34,8 +34,11 @@ device_tracker: host: 192.168.1.1 ``` -Configuration variables: - -- **host** (*Required*): The hostname or IP address of your router, eg. `192.168.1.1`. +{% configuration %} +host: + description: The hostname or IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.luci.markdown b/source/_components/device_tracker.luci.markdown index c95813e3478..3e74b5ed972 100644 --- a/source/_components/device_tracker.luci.markdown +++ b/source/_components/device_tracker.luci.markdown @@ -37,16 +37,28 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. -- **username** (*Required*): The username of an user with administrative privileges, usually `admin`. -- **password** (*Required*): The password for your given admin account. -- **ssl** (*Optional*): If your router enforces SSL connections, set to `true`. Defaults to `false`. +{% configuration %} +host: + description: The hostname or IP address of your router, e.g., `192.168.1.1`. + required: true + type: string +username: + description: The username of an user with administrative privileges, usually `admin`. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +ssl: + description: If your router enforces SSL connections, set to `true`. + required: false + default: false + type: boolean +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
-Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail. +Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail.
- diff --git a/source/_components/device_tracker.mercedesme.markdown b/source/_components/device_tracker.mercedesme.markdown index 3707d5ca1cd..c436e507c84 100644 --- a/source/_components/device_tracker.mercedesme.markdown +++ b/source/_components/device_tracker.mercedesme.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Mercedes me" +title: "Mercedes me Device Tracker" description: "Instructions on for how to integrate Mercedes me into Home Assistant." date: 2018-01-27 10:00 sidebar: true diff --git a/source/_components/device_tracker.mikrotik.markdown b/source/_components/device_tracker.mikrotik.markdown index da1dceee4d9..5476d7902bc 100644 --- a/source/_components/device_tracker.mikrotik.markdown +++ b/source/_components/device_tracker.mikrotik.markdown @@ -41,11 +41,24 @@ device_tracker: password: ADMIN_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The IP address of your router. -- **username** (*Required*: The username of an user with administrative privileges. -- **password** (*Required*): The password for your given admin account. -- **port** (*Optional*): Mikrotik API port. Defaults to `8728`. +{% configuration %} +host: + description: The IP address of your router. + required: true + type: string +username: + description: The username of an user with administrative privileges. + required: true + type: string +password: + description: The password for your given admin account. + required: true + type: string +port: + description: Mikrotik API port. + required: false + default: 8728 + type: integer +{% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.mqtt.markdown b/source/_components/device_tracker.mqtt.markdown index cf8f006de1f..bb40d07ea51 100644 --- a/source/_components/device_tracker.mqtt.markdown +++ b/source/_components/device_tracker.mqtt.markdown @@ -26,11 +26,16 @@ device_tracker: annetherese_n4: 'location/annetherese' ``` -Configuration variables: - -- **devices** (*Required*): List of devices with their topic. -- **qos** (*Optional*): The QoS level of the topic. - +{% configuration %} +devices: + description: List of devices with their topic. + required: true + type: list +qos: + description: The QoS level of the topic. + required: false + type: integer +{% endconfiguration %} Example JSON you can publish to the topic (e.g., via mqtt.publish service): diff --git a/source/_components/device_tracker.netgear.markdown b/source/_components/device_tracker.netgear.markdown index 8bdcacc8cde..78f05695e00 100644 --- a/source/_components/device_tracker.netgear.markdown +++ b/source/_components/device_tracker.netgear.markdown @@ -26,16 +26,42 @@ device_tracker: password: YOUR_ADMIN_PASSWORD ``` -Configuration variables: - -- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used. -- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. -- **port** (*Optional*): The port your router communicates with. -- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used. -- **password** (*Required*): The password for your given admin account. -- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. -- **exclude** (*Optional*): Devices to exclude from the scan. -- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address. +{% configuration %} +url: + description: The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used. + required: false + type: string +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: false + type: string +port: + description: The port your router communicates with. + required: false + default: 5000 + type: integer +username: + description: The username of a user with administrative privileges. + required: false + default: admin + type: string +password: + description: The password for your given admin account. + required: true + type: string +devices: + description: If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. + required: false + type: list +exclude: + description: Devices to exclude from the scan. + required: false + type: list +accesspoints: + description: Also track devices on the specified APs. Only supports MAC address. + required: false + type: list +{% endconfiguration %} When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi. diff --git a/source/_components/device_tracker.nmap_tracker.markdown b/source/_components/device_tracker.nmap_tracker.markdown index a94ea14aeda..aa268fe6fcf 100644 --- a/source/_components/device_tracker.nmap_tracker.markdown +++ b/source/_components/device_tracker.nmap_tracker.markdown @@ -19,7 +19,7 @@ As an alternative to the router-based device tracking, it is possible to directl Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own. -You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`. +You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled.
@@ -36,12 +36,25 @@ device_tracker:
hosts: 192.168.1.0/24
```
-Configuration variables:
-
-- **hosts** (*Required*): The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible.
-- **home_interval** (*Optional*): The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery.
-- **exclude** (*Optional*): Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
-- **scan_options** (*Optional*): Configurable scan options for Nmap. Default to `-F --host-timeout 5s`
+{% configuration %}
+hosts:
+ description: The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible.
+ required: true
+ type: string
+home_interval:
+ description: The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery.
+ required: false
+ type: integer
+exclude:
+ description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
+ required: false
+ type: list
+scan_options:
+ description: Configurable scan options for Nmap.
+ required: false
+ default: -F --host-timeout 5s
+ type: string
+{% endconfiguration %}
## {% linkable_title Examples %}
diff --git a/source/_components/device_tracker.openwrt.markdown b/source/_components/device_tracker.openwrt.markdown
index 2f4b0f5a18e..f9f720ac730 100644
--- a/source/_components/device_tracker.openwrt.markdown
+++ b/source/_components/device_tracker.openwrt.markdown
@@ -25,7 +25,7 @@ There are _multiple_ ways of integrating an OpenWRT router for presence detectio
* [ubus](/components/device_tracker.ubus/)
* [luci](/components/device_tracker.luci/)
* __passive/event-based__
- External services which notify Home Assistant of devices via the [REST API endpoint](/developers/rest_api.markdown).
+ External services which notify Home Assistant of devices via the [REST API endpoint](https://developers.home-assistant.io/docs/en/external_api_rest.html).
* Advantages:
* devices typically registered in under one second when they connect
* very few network requests
diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown
index a3de574f912..66838f654e4 100644
--- a/source/_components/device_tracker.owntracks.markdown
+++ b/source/_components/device_tracker.owntracks.markdown
@@ -25,15 +25,39 @@ device_tracker:
- platform: owntracks
```
-Configuration variables:
-
-- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
-- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`.
-- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks.
-- **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present.
-- **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`).
-- **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events.
-- **region_mapping** (*Optional*): Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`.
+{% configuration %}
+max_gps_accuracy:
+ description: Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
+ required: false
+ type: integer
+waypoints:
+ description: "Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions."
+ required: false
+ default: true
+ type: boolean
+waypoint_whitelist:
+ description: "A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone)"
+ required: false
+ default: All users who are connected to Home Assistant via Owntracks.
+ type: list
+secret:
+ description: "[Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present."
+ required: false
+ type: string
+mqtt_topic:
+ description: The topic to subscribe for Owntracks updates on your MQTT instance.
+ required: false
+ default: owntracks/#
+ type: string
+events_only:
+ description: Home Assistant will ignore all location updates and rely solely on geofence enter/leave events.
+ required: false
+ type: boolean
+region_mapping:
+ description: "Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`."
+ required: false
+ type: list
+{% endconfiguration %}
A full sample configuration for the `owntracks` platform is shown below:
@@ -42,9 +66,9 @@ A full sample configuration for the `owntracks` platform is shown below:
device_tracker:
- platform: owntracks
max_gps_accuracy: 200
- waypoints: True
+ waypoints: true
mqtt_topic: "owntracks/#"
- events_only: True
+ events_only: true
waypoint_whitelist:
- jon
- ram
@@ -107,5 +131,5 @@ You can use iBeacons of both types together, so if you have a Zone `drive` with
By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `
+Discovery is not yet supported for any robot vacuum models (Dyson 360 Eye). For these devices, you will need to provide them in the `devices` list.
+
-It is HIGHLY recommended that you set the `api_password`,
-especially if you are planning to expose your installation to the internet.
-
Don't use option `server_host` on a Hass.io installation!
configuration.yaml
To set the default color and brightness values when the light is turned on, create a custom `light_profiles.csv` (as described below in the `profile` attribute of `light.turn_on`).
-The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g. for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
+The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
### {% linkable_title Service `light.turn_on` %}
@@ -29,7 +29,7 @@ Most lights do not support all attributes. You can check the platform documentat
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
+| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state.
| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten.
| `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100.
diff --git a/source/_components/light.mochad.markdown b/source/_components/light.mochad.markdown
index 9721e9d6c98..c175d48ffd1 100644
--- a/source/_components/light.mochad.markdown
+++ b/source/_components/light.mochad.markdown
@@ -26,10 +26,24 @@ light:
- address: a5
```
-Configuration variables:
-
-- **address** (*Required*): The X10 address of the light.
-- **name** (*Optional*): The name of the light. Default is: x10_light_dev_*address*.
-- **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl.
-- **brightness_levels** (*Optional*): The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max
-value sent to the device will be n-1 because it starts at 0)
+{% configuration %}
+address:
+ description: The X10 address of the light.
+ required: true
+ type: string
+name:
+ description: The name of the light.
+ required: false
+ default: x10_light_dev_address
+ type: string
+comm_type:
+ description: pl (powerline) or rf (radio frequency).
+ required: false
+ default: pl
+ type: string
+brightness_levels:
+ description: The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max value sent to the device will be n-1 because it starts at 0).
+ required: false
+ default: 32
+ type: integer
+{% endconfiguration %}
diff --git a/source/_components/light.mqtt_template.markdown b/source/_components/light.mqtt_template.markdown
index 27f5e0f0b33..adf44a2a92e 100644
--- a/source/_components/light.mqtt_template.markdown
+++ b/source/_components/light.mqtt_template.markdown
@@ -52,7 +52,7 @@ state_topic:
required: false
type: string
command_on_template:
- description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `flash`, `transition` and `effect`."
+ description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`."
required: true
type: string
command_off_template:
diff --git a/source/_components/lirc.markdown b/source/_components/lirc.markdown
index ad96e2316b2..7127b52caf7 100644
--- a/source/_components/lirc.markdown
+++ b/source/_components/lirc.markdown
@@ -41,7 +41,7 @@ For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where
Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g., for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes.
-Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g. in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
+Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g., in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
```bash
begin
diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown
index 75bd6da0e6a..d965ea1a9f5 100644
--- a/source/_components/matrix.markdown
+++ b/source/_components/matrix.markdown
@@ -31,7 +31,7 @@ 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."
+ 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."
required: true
type: string
password:
diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown
index ebfe0177bae..61fc86002fe 100644
--- a/source/_components/media_player.denon.markdown
+++ b/source/_components/media_player.denon.markdown
@@ -24,7 +24,8 @@ Supported devices:
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file:
-**Telnet platform**
+## {% linkable_title Telnet platform %}
+
```yaml
# Example configuration.yaml entry
media_player:
@@ -32,10 +33,16 @@ media_player:
host: IP_ADDRESS
```
-Configuration variables:
-
-- **host** (*Required*): IP address of the device. Example: 192.168.1.32
-- **name** (*Optional*): Name of the device.
+{% configuration %}
+host:
+ description: "IP address of the device. Example: 192.168.1.32"
+ required: true
+ type: string
+name:
+ description: The name of the device
+ required: false
+ type: string
+{% endconfiguration %}
A few notes for platform: denon
diff --git a/source/_components/media_player.mpd.markdown b/source/_components/media_player.mpd.markdown
index 51888be2b20..da37e9c478b 100644
--- a/source/_components/media_player.mpd.markdown
+++ b/source/_components/media_player.mpd.markdown
@@ -27,12 +27,26 @@ media_player:
host: IP_ADDRESS
```
-Configuration variables:
-
-- **host** (*Required*): IP address of the Host where Music Player Daemon is running.
-- **port** (*Optional*): Port of the Music Player Daemon. Defaults to 6600.
-- **name** (*Optional*): Name of your Music Player Daemon. Defaults to "MPD".
-- **password** (*Optional*): Password for your Music Player Daemon.
+{% configuration %}
+host:
+ description: IP address of the Host where Music Player Daemon is running.
+ required: true
+ type: string
+port:
+ description: Port of the Music Player Daemon.
+ required: false
+ type: integer
+ default: 6600
+name:
+ description: Name of your Music Player Daemon.
+ required: false
+ type: string
+ default: MPD
+password:
+ description: Password for your Music Player Daemon.
+ required: false
+ type: string
+{% endconfiguration %}
Example script to load a saved playlist called "DeckMusic" and set the volume:
diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown
index bc45310c352..45db859c70e 100644
--- a/source/_components/media_player.plex.markdown
+++ b/source/_components/media_player.plex.markdown
@@ -52,8 +52,8 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l
- **IP_ADDRESS** (*Required*): IP address of the Plex Media Server.
- **PORT** (*Required*): Port where Plex is listening. Default is 32400.
- **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise.
-- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `False` if not present.
-- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `False`. Defaults to `True` if not present.
+- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `false` if not present.
+- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `false`. Defaults to `true` if not present.
## {% linkable_title Customization %}
diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown
index 9a80e3ad393..92139ec1d54 100644
--- a/source/_components/media_player.samsungtv.markdown
+++ b/source/_components/media_player.samsungtv.markdown
@@ -81,8 +81,10 @@ Currently known supported models:
- KS8000 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
+- KU6100 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6290 (port must be set to 8001)
- KU7000 (port must be set to 8001)
+- NU8000
- MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine)
- K5600AK (partially supported, turn on works but state is not updated)
diff --git a/source/_components/media_player.vizio.markdown b/source/_components/media_player.vizio.markdown
index 12916a2ed3c..8345c3b1e80 100644
--- a/source/_components/media_player.vizio.markdown
+++ b/source/_components/media_player.vizio.markdown
@@ -56,7 +56,7 @@ Initiation will show you two different values:
Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
```bash
-$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
+$ pyvizio --ip={ip} pair-finish --token={challenge_token} --pin={tv_pin}
```
You will need the authentication token returned by this command to configure Home Assistant.
diff --git a/source/_components/media_player.vlc.markdown b/source/_components/media_player.vlc.markdown
index 09254957645..0037537535a 100644
--- a/source/_components/media_player.vlc.markdown
+++ b/source/_components/media_player.vlc.markdown
@@ -24,10 +24,16 @@ media_player:
- platform: vlc
```
-Configuration variables:
-
-- **name** (*Optional*): The name to use in the frontend.
-- **arguments** (*Optional*): Additional arguments to be passed to VLC.
+{% configuration %}
+name:
+ description: The name to use in the frontend.
+ required: false
+ type: string
+arguments:
+ description: Additional arguments to be passed to VLC.
+ required: false
+ type: string
+{% endconfiguration %}
Only the "music" media type is supported for now.
diff --git a/source/_components/media_player.yamaha.markdown b/source/_components/media_player.yamaha.markdown
index b996e642a47..88a481b27d6 100644
--- a/source/_components/media_player.yamaha.markdown
+++ b/source/_components/media_player.yamaha.markdown
@@ -30,15 +30,33 @@ To add a Yamaha Network Receiver to your installation, add the following to your
media_player:
- platform: yamaha
```
-Configuration variables:
-- **name** (*Optional*): Name of the device. This overrides the
- default name (often model number) that is returned by the device.
-- **host** (*Optional*): IP address or hostname of the device
-- **source_ignore** (*Optional*): List of sources to hide in the front-end
-- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast`
-- **zone_ignore** (*Optional*): List of zones to hide in the front-end
-- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room`
+{% configuration %}
+name:
+ description: Name of the device. This overrides the default name (often model number) that is returned by the device.
+ required: false
+ type: string
+host:
+ description: IP address or hostname of the device.
+ required: false
+ type: string
+source_ignore:
+ description: List of sources to hide in the front-end.
+ required: false
+ type: list
+source_names:
+ description: Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast`.
+ required: false
+ type: list
+zone_ignore:
+ description: List of zones to hide in the front-end.
+ required: false
+ type: list
+zone_names:
+ description: Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room`.
+ required: false
+ type: list
+{% endconfiguration %}
### {% linkable_title Discovery notes %}
diff --git a/source/_components/media_player.yamaha_musiccast.markdown b/source/_components/media_player.yamaha_musiccast.markdown
index 7d98e77102f..925f378816c 100644
--- a/source/_components/media_player.yamaha_musiccast.markdown
+++ b/source/_components/media_player.yamaha_musiccast.markdown
@@ -24,15 +24,28 @@ media_player:
- platform: yamaha_musiccast
host: 192.168.xx.xx
```
-Configuration variables:
-- **host** (*Required*): IP address or hostname of the device
-- **port** (*Optional*): UDP source port. If multiple devices are present, specify a different port per device
-- **interval_seconds** (*Optional*): Polling interval (default: 480 seconds = 8 minutes)
+{% configuration %}
+host:
+ description: IP address or hostname of the device.
+ required: true
+ type: string
+port:
+ description: UDP source port. If multiple devices are present, specify a different port per device.
+ required: false
+ type: integer
+interval_seconds:
+ description: Polling interval in seconds.
+ required: false
+ type: integer
+ default: 480
+{% endconfiguration %}
-A few notes:
+### {% linkable_title Supported operations %}
-- Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it.
+Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it.
+
+### {% linkable_title Example configuration %}
A full configuration example will look like the sample below:
```yaml
diff --git a/source/_components/modbus.markdown b/source/_components/modbus.markdown
index dcccf0ede67..402cef31af2 100644
--- a/source/_components/modbus.markdown
+++ b/source/_components/modbus.markdown
@@ -30,15 +30,25 @@ modbus:
port: 2020
```
-Configuration variables:
-
-- **type** (*Required*): Type of the connection to Modbus. Possible values are:
- - *tcp*: Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation,
- - *udp*: Modbus TCP form, but using UDP for transport (removes the overheads required for TCP),
- - *rtuovertcp*: Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.
-- **host** (*Required*): The IP address of your Modbus device, eg. 192.168.1.1.
-- **port** (*Required*): The port for the communication.
-- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3)
+{% configuration %}
+type:
+ description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.).
+ required: true
+ type: string
+host:
+ description: The IP address of your Modbus device, e.g., 192.168.1.1.
+ required: true
+ type: string
+port:
+ description: The port for the communication.
+ required: true
+ type: integer
+timeout:
+ description: Timeout for slave response in seconds.
+ required: false
+ default: 3
+ type: integer
+{% endconfiguration %}
For a serial connection:
@@ -54,16 +64,41 @@ modbus:
parity: N
```
-Configuration variables:
-
-- **type** (*Required*): Type of the connection to Modbus.
-- **method** (*Required*): Method of the connection to Modbus.
-- **port** (*Required*): The port where your Modbus device is connected to your Home Assistant host.
-- **baudrate** (*Required*): The speed for the serial connection.
-- **stopbits** (*Required*): The stopbits for the serial connection.
-- **bytesize** (*Required*): The bytesize for the serial connection.
-- **parity** (*Required*): The parity for the serial connection.
-- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3)
+{% configuration %}
+type:
+ description: Type of the connection to Modbus.
+ required: true
+ type: string
+method:
+ description: Method of the connection to Modbus.
+ required: true
+ type: string
+port:
+ description: The port where your Modbus device is connected to your Home Assistant host.
+ required: true
+ type: string
+baudrate:
+ description: The speed for the serial connection.
+ required: true
+ type: integer
+stopbits:
+ description: The stopbits for the serial connection.
+ required: true
+ type: integer
+bytesize:
+ description: The bytesize for the serial connection.
+ required: true
+ type: integer
+parity:
+ description: The parity for the serial connection.
+ required: true
+ type: string
+timeout:
+ description: Timeout for slave response in seconds.
+ required: false
+ default: 3
+ type: integer
+{% endconfiguration %}
### {% linkable_title Services %}
diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown
index a6e021b94fa..9a22aeba843 100644
--- a/source/_components/nest.markdown
+++ b/source/_components/nest.markdown
@@ -107,3 +107,7 @@ set_nest_eta:
eta: 00:10:30
eta_window: 00:05
```
+
+{% linkable_title Troubleshooting %}
+
+- If you're getting [rickrolled](https://www.youtube.com/watch?v=dQw4w9WgXcQ) instead of being able to see your Nest cameras, you may not have set up your developer account's permissions correctly. Go back through and make sure you've selected read/write under every category that it's an option.
diff --git a/source/_components/notify.flock.markdown b/source/_components/notify.flock.markdown
index d164e2151ce..f0612e929ca 100644
--- a/source/_components/notify.flock.markdown
+++ b/source/_components/notify.flock.markdown
@@ -17,7 +17,7 @@ The `flock` platform uses [Flock.com](https://flock.com) to deliver notification
## {% linkable_title Setup %}
-Go to the [Flock.com Admin website](https://admin.flock.com/#!/webhooks) and create a new "Incoming Webhooks". Choose a channel to send the notifications from Home Assistant to, specifiy a name and press *Save and Generate URL*.
+Go to the [Flock.com Admin website](https://admin.flock.com/#!/webhooks) and create a new "Incoming Webhooks". Choose a channel to send the notifications from Home Assistant to, specify a name and press *Save and Generate URL*.
diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown
index 029f6514478..41a46d12ba4 100644
--- a/source/_components/notify.html5.markdown
+++ b/source/_components/notify.html5.markdown
@@ -99,7 +99,7 @@ Assuming the previous test completed successfully and your browser was registere
1. Open Home Assistant in Chrome or Firefox.
2. Open the sidebar and click the Services button at the bottom (shaped like a remote control), located below the Developer Tools.
-3. From the Services dropdown, search for your HTML5 notify service (E.G. notify.NOTIFIER_NAME) and select it.
+3. From the Services dropdown, search for your HTML5 notify service (e.g., notify.NOTIFIER_NAME) and select it.
4. In the Service Data text box enter: {"message":"hello world"}, then press the CALL SERVICE button.
5. If everything worked you should see a popup notification.
diff --git a/source/_components/notify.knx.markdown b/source/_components/notify.knx.markdown
index 4e81f1e2362..72c18e724d4 100644
--- a/source/_components/notify.knx.markdown
+++ b/source/_components/notify.knx.markdown
@@ -28,8 +28,13 @@ notify:
address: '5/1/10'
```
-Configuration variables:
-
-* **address** (*Required*): KNX group address of the notification.
-* **name** (*Optional*): A name for this device used within Home Assistant.
-
+{% configuration %}
+address:
+ description: KNX group address of the notification.
+ required: true
+ type: string
+name:
+ description: A name for this device used within Home Assistant.
+ required: false
+ type: string
+{% endconfiguration %}
diff --git a/source/_components/notify.markdown b/source/_components/notify.markdown
index 7f3225bd73c..63cf49b985d 100644
--- a/source/_components/notify.markdown
+++ b/source/_components/notify.markdown
@@ -55,6 +55,16 @@ A simple way to test if you have set up your notify platform correctly, is to us
"message": "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"
}
```
+
+The automation equivalent would be:
+
+```yaml
+action:
+ service: notify.notify
+ data:
+ message: "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"
+```
+
For services which have support for sending images.
```json
@@ -67,6 +77,19 @@ For services which have support for sending images.
}
```
+The automation equivalent would be:
+
+```yaml
+action:
+ service: notify.notify
+ data:
+ message: "Test plugin"
+ data:
+ photo:
+ url: "http://www.gbsun.de/gbpics/berge/berge106.jpg"
+```
+
+
If the service support sending the location, the data from this sample can be used.
```json
@@ -80,3 +103,15 @@ If the service support sending the location, the data from this sample can be us
}
```
+The automation equivalent would be:
+
+```yaml
+action:
+ service: notify.notify
+ data:
+ message: "Test plugin"
+ data:
+ location:
+ latitude: 7.3284
+ longitude: 46.38234
+```
diff --git a/source/_components/notify.nfandroidtv.markdown b/source/_components/notify.nfandroidtv.markdown
index 6ec1639edb2..2933ca01789 100644
--- a/source/_components/notify.nfandroidtv.markdown
+++ b/source/_components/notify.nfandroidtv.markdown
@@ -13,7 +13,7 @@ ha_release: 0.32
---
-Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g. security cam) is supported too.
+Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g., security cam) is supported too.
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
diff --git a/source/_components/notify.pushsafer.markdown b/source/_components/notify.pushsafer.markdown
index 6060016e1c5..886be8aa0ae 100644
--- a/source/_components/notify.pushsafer.markdown
+++ b/source/_components/notify.pushsafer.markdown
@@ -35,69 +35,66 @@ notify:
Message to two devices with formatted text.
-```json
-{
- "title": "Test to 2 devices",
- "message": "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]",
- "target": ["1111", "2222"],
- "data": {
- "icon": "2",
- "iconcolor": "#FF0000",
- "sound": "2",
- "vibration": "1",
- "url": "https://www.home-assistant.io/",
- "urltitle": "Open Home Assistant",
- "time2live": "0"
- }
-}
+
+```yaml
+action:
+ service: notify.notify
+ data:
+ title: "Test to 2 devices"
+ message: "Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]"
+ data:
+ icon: "2"
+ iconcolor: "#FF0000"
+ sound: "2"
+ vibration: "1"
+ url: "https://www.home-assistant.io/"
+ urltitle: "Open Home Assistant"
+ time2live: "0"
```
Message to one device with formatted text and image from an external URL.
-```json
-{
- "title": "Test to 1 device with image from an url",
- "message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]",
- "target": ["1111"],
- "data": {
- "icon": "14",
- "iconcolor": "#FFFF00",
- "sound": "22",
- "vibration": "3",
- "url": "https://www.home-assistant.io/",
- "urltitle": "Open Home Assistant",
- "time2live": "60",
- "picture1": {
- "url":"https://www.home-assistant.io/images/components/alexa/alexa-512x512.png"
- }
- }
-}
+```yaml
+action:
+ service: notify.notify
+ data:
+ title: "Test to 1 device with image from an url"
+ message: "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]"
+ data:
+ icon: "14"
+ iconcolor: "#FFFF00"
+ sound: "22"
+ vibration: "31"
+ url: "https://www.home-assistant.io/"
+ urltitle: "Open Home Assistant"
+ time2live: "60"
+ picture1:
+ url: "https://www.home-assistant.io/images/components/alexa/alexa-512x512.png"
```
Message to two devices and one device group with formatted text and local image.
-```json
-{
- "title": "Test to 3 devices with local image",
- "message": "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]",
- "target": ["1111","2222","gs3333"],
- "data": {
- "icon": "20",
- "iconcolor": "#FF00FF",
- "sound": "33",
- "vibration": "0",
- "url": "https://www.home-assistant.io/",
- "urltitle": "Open Home Assistant",
- "time2live": "10",
- "priority": "2",
- "retry": "60",
- "expire": "600",
- "answer": "1",
- "picture1": {
- "path":"C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg"
- }
- }
-}
+```yaml
+action:
+ service: notify.notify
+ data:
+ title: "Test to 3 devices with local image"
+ message: "Attention [i]italic[/i] Text[br][url=https://www.home-assistant.io/]Testlink[/url]"
+ target: ["1111","2222","gs3333"],
+ data:
+ icon: "20"
+ iconcolor: "#FF00FF"
+ sound: "33"
+ vibration: "0"
+ url: "https://www.home-assistant.io/"
+ urltitle: "Open Home Assistant"
+ time2live: "10"
+ priority: "2"
+ retry: "60"
+ expire: "600"
+ answer: "1"
+ picture1: {
+ path: "C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg"
```
To customize your push-notification you can take a look at the [Pushsafer API description](https://www.pushsafer.com/en/pushapi).
diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown
index 42acb5bd290..934965200ee 100644
--- a/source/_components/notify.telegram.markdown
+++ b/source/_components/notify.telegram.markdown
@@ -277,11 +277,11 @@ action:
{% configuration %}
url:
- description: A remote path to an document. Either this or the `file` configuration option is required.
+ description: A remote path to a document. Either this or the `file` configuration option is required.
required: true
type: string
file:
- description: A local path to an document. Either this or the `url` configuration option is required.
+ description: A local path to a document. Either this or the `url` configuration option is required.
required: true
type: string
caption:
diff --git a/source/_components/notify.xmpp.markdown b/source/_components/notify.xmpp.markdown
index 14105d9bb6d..00303b0f32c 100644
--- a/source/_components/notify.xmpp.markdown
+++ b/source/_components/notify.xmpp.markdown
@@ -38,7 +38,7 @@ Configuration variables:
- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the sender.
- sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1. + sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g., Prosody, ejabberd) make sure to allow using TLS1.
All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender. diff --git a/source/_components/openuv.markdown b/source/_components/openuv.markdown index 390249c7d30..cc66c3df92a 100644 --- a/source/_components/openuv.markdown +++ b/source/_components/openuv.markdown @@ -114,5 +114,5 @@ These sensors display the approximate number of minutes a particular skin type c * Skin Type VI-The above guidelines constitude estimates and are intended to help informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional. +The above guidelines constitute estimates and are intended to help informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional.
diff --git a/source/_components/panel_iframe.markdown b/source/_components/panel_iframe.markdown index ba13cf6967b..9f79b38edb3 100644 --- a/source/_components/panel_iframe.markdown +++ b/source/_components/panel_iframe.markdown @@ -60,3 +60,4 @@ panel_iframe: type: icon {% endconfiguration %} +Do **not** create one that are named `lovelace` it will overwrite lovelace causing it to never load.
diff --git a/source/_components/prometheus.markdown b/source/_components/prometheus.markdown index 42eddb45996..ea36b0278df 100644 --- a/source/_components/prometheus.markdown +++ b/source/_components/prometheus.markdown @@ -39,8 +39,14 @@ You can then configure Prometheus to fetch metrics from Home Assistant by adding - job_name: 'hass' scrape_interval: 60s metrics_path: /api/prometheus + + # Legacy api password params: api_password: ['PASSWORD'] + + # Long-Lived Access Token + bearer_token: 'your.longlived.token + scheme: https static_configs: - targets: ['HOSTNAME:8123'] diff --git a/source/_components/remote.harmony.markdown b/source/_components/remote.harmony.markdown index 6785cdb9fc4..3d9743b3715 100644 --- a/source/_components/remote.harmony.markdown +++ b/source/_components/remote.harmony.markdown @@ -43,15 +43,31 @@ You can override some default configuration values on a discovered hub (e.g., th activity: Watch TV ``` -Configuration variables: +{% configuration %} +name: + description: The hub's name to display in the frontend. This name must match the name you have set on the Hub. + required: true + type: string +host: + description: The Harmony device's IP address. Leave empty for the IP to be discovered automatically. + required: false + type: string +port: + description: The Harmony device's port. + required: false + type: integer + default: 5222 +activity: + description: Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub. + required: false + type: string +delay_secs: + description: Default duration in seconds between sending commands to a device. + required: false + type: float +{% endconfiguration %} -- **name** (*Required*): The hub's name to display in the frontend. This name must match the name you have set on the Hub. -- **host** (*Optional*): The Harmony device's IP address. Leave empty for the IP to be discovered automatically. -- **port** (*Optional*): The Harmony device's port. Defaults to 5222. -- **activity** (*Optional*): Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub. -- **delay_secs** (*Optional*): Default duration in seconds between sending commands to a device. - -Configuration file: +### {% linkable_title Configuration file %} Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_REMOTENAME.conf`. The file will contain: diff --git a/source/_components/scene.hunterdouglas_powerview.markdown b/source/_components/scene.hunterdouglas_powerview.markdown index 2ef810a113e..a418c8f4ddd 100644 --- a/source/_components/scene.hunterdouglas_powerview.markdown +++ b/source/_components/scene.hunterdouglas_powerview.markdown @@ -23,6 +23,9 @@ scene: address: IP_ADDRESS ``` -Configuration variables: - -- **address** (*Required*): IP address of the PowerView Hub, eg. 192.168.1.10. +{% configuration %} +address: + description: IP address of the PowerView Hub, eg. 192.168.1.10. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/scene.knx.markdown b/source/_components/scene.knx.markdown index 7fd18417d87..95fe53698a7 100644 --- a/source/_components/scene.knx.markdown +++ b/source/_components/scene.knx.markdown @@ -29,9 +29,17 @@ scene: scene_number: 23 ``` -Configuration variables: - -- **address** (*Required*): KNX group address of the binary sensor. -- **scene_number** (*Required*): Zero-indexed KNX scene number to be activated. -- **name** (*Optional*): A name for this device used within Home Assistant. - +{% configuration %} +address: + description: KNX group address of the binary sensor. + required: true + type: string +scene_number: + description: Zero-indexed KNX scene number to be activated. + required: true + type: integer +name: + description: A name for this device used within Home Assistant. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/scene.lifx_cloud.markdown b/source/_components/scene.lifx_cloud.markdown index 7b6ac7a2799..219dcb48bee 100644 --- a/source/_components/scene.lifx_cloud.markdown +++ b/source/_components/scene.lifx_cloud.markdown @@ -21,10 +21,17 @@ scene: token: YOUR_LIFX_TOKEN ``` -Configuration variables: - -- **token** (*Required*): The API token for your LIFX Cloud account. -- **timeout** (*Optional*): Network timeout in seconds (defaults to 10). +{% configuration %} +token: + description: The API token for your LIFX Cloud account. + required: true + type: string +timeout: + description: Network timeout in seconds. + required: false + default: 10 + type: integer +{% endconfiguration %} ### Getting an API token diff --git a/source/_components/sensor.bbox.markdown b/source/_components/sensor.bbox.markdown index a45e4bdb5ed..3f456901862 100644 --- a/source/_components/sensor.bbox.markdown +++ b/source/_components/sensor.bbox.markdown @@ -34,11 +34,23 @@ sensor: - current_up_bandwidth ``` -Configuration variables: - -- **monitored_variables** array (*Required*): Sensors to display in the frontend. - - **down_max_bandwidth**: Maximum bandwidth available for download. - - **up_max_bandwidth**: Maximum bandwidth available for upload. - - **current_down_bandwidth**: Instant measure of the current used bandwidth for download. - - **current_up_bandwidth**: Instant measure of the current used bandwidth for upload. - +{% configuration %} +name: + description: Name to display in the frontend. + required: false + default: Bbox + type: string +monitored_variables: + description: Sensors to display in the frontend. + required: true + type: list + keys: + down_max_bandwidth: + description: Maximum bandwidth available for download. + up_max_bandwidth: + description: Maximum bandwidth available for upload. + current_down_bandwidth: + description: Instant measure of the current used bandwidth for download. + current_up_bandwidth: + description: Instant measure of the current used bandwidth for upload. +{% endconfiguration %} diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index aa7b7103a53..814b276edce 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -107,7 +107,7 @@ aq_humidity_baseline: default: 40 type: integer aq_humidity_bias: - description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g., 25% hudidtity to 75% gas. + description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g., 25% humidity to 75% gas. required: false default: 25 type: integer diff --git a/source/_components/sensor.bom.markdown b/source/_components/sensor.bom.markdown index 7774077d9cf..c3cc033404c 100644 --- a/source/_components/sensor.bom.markdown +++ b/source/_components/sensor.bom.markdown @@ -25,8 +25,6 @@ To add the BOM weather observation to your installation, add the following to yo # Example configuration.yaml entry sensor: - platform: bom - station: IDS60801.94675 - name: Adelaide monitored_conditions: - apparent_t - cloud @@ -64,11 +62,74 @@ To get the station ID for any BOM station: - The URL will look like: http://www.bom.gov.au/products/IDx60801/[station].shtml - For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`. -Configuration variables: - -- **station** (*Optional*): The station ID string as identified from the BOM website. If not given, defaults to the closest station. -- **name** (*Optional*): The name you would like to give to the weather station. -- **monitored_conditions** (*Required*): A list of the conditions to monitor. +{% configuration %} +station: + description: The station ID string as identified from the BOM website. + required: false + type: string + default: If not given, defaults to the closest station based on location data in configuration.yaml. +name: + description: The name you would like to give to the weather station. + required: false + type: string +monitored_conditions: + description: A list of the conditions to monitor. + required: true + type: list + keys: + apparent_t: + description: Feels like temperature in C. + cloud: + description: Cloud cover. + cloud_base_m: + description: Cloud Base in m. + cloud_oktas: + description: Cloud Oktas. + cloud_type_id: + description: Cloud type ID. + cloud_type: + description: Cloud type description. + delta_t: + description: Delta temperature in C. + gust_kmh: + description: Wind gust in km/h. + gust_kt: + description: Wing gust in kt. + air_temp: + description: Air temperature in C. + dewpt: + description: Drew point in C. + press: + description: Pressure in mbar. + press_qnh: + description: Pressure in qnh. + press_msl: + description: Pressure in msl. + press_tend: + description: Pressure trend. + rain_trace: + description: Raing today in mm. + rel_hum: + description: Relative Humidity in %. + sea_state: + description: Sea state. + swell_dir_worded: + description: Swell direction. + swell_height: + description: Swell hight in m. + swell_period: + description: Swell period. + vis_km: + description: Visibility in km. + weather: + description: Weather summary. + wind_dir: + description: Wind direction. + wind_spd_kmh: + description: Wind speed in km/h. + wind_spd_kt: + description: Wind speed in kt. +{% endconfiguration %}This sensor is an alternative to the [`bom`](/components/weather.bom/) weather platform. diff --git a/source/_components/sensor.cert_expiry.markdown b/source/_components/sensor.cert_expiry.markdown index 99b0578b76b..f65dc2acdd1 100644 --- a/source/_components/sensor.cert_expiry.markdown +++ b/source/_components/sensor.cert_expiry.markdown @@ -13,7 +13,7 @@ ha_release: 0.44 ha_iot_class: "depends" --- -The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days. +The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days. ## {% linkable_title Configuration %} @@ -26,13 +26,23 @@ sensor: host: home-assistant.io ``` -Configuration variables: - -- **host** (*Required*): The host FQDN (or IP) to retrieve certificate from. -- **port** (*Optional*): The port number where the server is running. Defaults to `443`. -- **name** (*Optional*): The friendly name for the certificate. +{% configuration %} +host: + description: The host FQDN (or IP) to retrieve certificate from. + required: true + type: string +port: + description: The port number where the server is running. + required: false + default: 443 + type: integer +name: + description: The friendly name for the certificate. + required: false + default: SSL Certificate Expiry + type: string +{% endconfiguration %}
Make sure that the URL exactly matches your endpoint or resource.
- diff --git a/source/_components/sensor.citybikes.markdown b/source/_components/sensor.citybikes.markdown index c23e5783aaa..265b448755c 100644 --- a/source/_components/sensor.citybikes.markdown +++ b/source/_components/sensor.citybikes.markdown @@ -23,17 +23,38 @@ To enable it, add the following lines to your `configuration.yaml`: # Example configuration.yaml entry (using radius) sensor: - platform: citybikes - radius: 500 ``` -Configuration options: +{% configuration %} +name: + description: The base name of this group of monitored stations. The entity ID of every monitored station in this group will be prefixed with this base name, in addition to the network ID. + required: false + type: string +network: + description: The name of the bike sharing system to poll. + required: false + default: Defaults to the system that operates in the monitored location. + type: string +latitude: + description: Latitude of the location, around which bike stations are monitored. + required: false + default: Defaults to the latitude in your `configuration.yaml` file. + type: string +longitude: + description: Longitude of the location, around which bike stations are monitored. + required: false + default: Defaults to the longitude in your `configuration.yaml` file. + type: string +radius: + description: The radius (in meters or feet, depending on the Home Assistant configuration) around the monitored location. Only stations closer than this distance will be monitored. + required: false + type: integer +stations: + description: A list of specific stations to monitor. The list should contain station `ID`s or `UID`s, which can be obtained from the CityBikes API. + required: false + type: list +{% endconfiguration %} -- **name** (*Optional*): The base name of this group of monitored stations. The entity ID of every monitored station in this group will be prefixed with this base name, in addition to the network ID. -- **network** (*Optional*): The name of the bike sharing system to poll. Defaults to the system that operates in the monitored location. -- **latitude** (*Optional*): Latitude of the location, around which bike stations are monitored. Defaults to the latitude in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude of the location, around which bike stations are monitored. Defaults to the longitude in your `configuration.yaml` file. -- **radius** (*Optional*): The radius (in meters or feet, depending on the Home Assistant configuration) around the monitored location. Only stations closer than this distance will be monitored. -- **stations** array (*Optional*): A list of specific stations to monitor. The list should contain station `ID`s or `UID`s, which can be obtained from the CityBikes API. ## {% linkable_title Example %} diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown index 04f31df2ae6..9e03ee8eae0 100644 --- a/source/_components/sensor.command_line.markdown +++ b/source/_components/sensor.command_line.markdown @@ -27,15 +27,38 @@ sensor: command: SENSOR_COMMAND ``` -Configuration variables: - -- **command** (*Required*): The action to take to get the value. -- **name** (*Optional*): Name of the command sensor. -- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. -- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). -- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds). -- **json_attributes** (*Optional*): Defines a list of keys to extract values from a JSON dictionary result and then set as sensor attributes. +{% configuration %} +command: + description: The action to take to get the value. + required: true + type: string +name: + description: Name of the command sensor. + required: false + type: string +unit_of_measurement: + description: Defines the unit of measurement of the sensor, if any. + required: false + type: string +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload." + required: false + type: string +scan_interval: + description: Defines number of seconds for polling interval. + required: false + type: integer + default: 60 +command_timeout: + description: Defines number of seconds for command timeout + required: false + type: integer + default: 15 +json_attributes: + description: Defines a list of keys to extract values from a JSON dictionary result and then set as sensor attributes. + required: false + type: string, list +{% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown index 65a16633bda..7766643d8b8 100644 --- a/source/_components/sensor.dht.markdown +++ b/source/_components/sensor.dht.markdown @@ -31,14 +31,40 @@ sensor: - humidity ``` -Configuration variables: - -- **sensor** (*Required*): The sensor type, supported devices are DHT11, DHT22, and AM2302. -- **pin** (*Required*): The pin the sensor is connected to. -- **name** (*Optional*): The name of the sensor. -- **monitored_conditions** array (*Required*): Conditions to monitor. Available conditions are only *temperature* and *humidity*. -- **temperature_offset** (*Optional*): Add or subtract a value from the temperature. -- **humidity_offset** (*Optional*): Add or subtract a value from the humidity. +{% configuration %} +sensor: + description: The sensor type, supported devices are DHT11, DHT22, and AM2302. + required: true + type: string +pin: + description: The pin the sensor is connected to. + required: true + type: integer +name: + description: The name of the sensor. + required: false + default: DHT Sensor + type: string +monitored_conditions: + description: Conditions to monitor. Available conditions are only *temperature* and *humidity*. + required: true + type: list + keys: + temperature: + description: Temperature at the sensor's location. + humidity: + description: Humidity level at the sensor's location. +temperature_offset: + description: Add or subtract a value from the temperature. + required: false + default: 0 + type: [integer, float] +humidity_offset: + description: Add or subtract a value from the humidity. + required: false + default: 0 + type: [integer, float] +{% endconfiguration %} The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi. diff --git a/source/_components/sensor.dwd_weather_warnings.markdown b/source/_components/sensor.dwd_weather_warnings.markdown index 2965c009260..84ed3ca5b52 100644 --- a/source/_components/sensor.dwd_weather_warnings.markdown +++ b/source/_components/sensor.dwd_weather_warnings.markdown @@ -37,7 +37,15 @@ The warning level is between 0 (no danger) and 4 (extreme weather conditions): - Warnungen vor markantem Wetter (Stufe 2) - Wetterwarnungen (Stufe 1) -Configuration variables: - -- **region_name** (*Optional*): The region name string as identified from the DWD website. If not given, defaults to Hansestadt Hamburg. -- **name** (*Optional*): The name you would like to give to the warnapp sensor. +{% configuration %} +region_name: + required: false + description: The region name string as identified from the DWD website. + default: Hansestadt Hamburg + type: string +name: + required: false + description: The name you would like to give to the warnapp sensor. + type: string + default: DWD-Weather-Warnings +{% endconfiguration %} diff --git a/source/_components/sensor.geizhals.markdown b/source/_components/sensor.geizhals.markdown index 636751da35b..575c974b4de 100644 --- a/source/_components/sensor.geizhals.markdown +++ b/source/_components/sensor.geizhals.markdown @@ -29,7 +29,7 @@ Configuration variables: - **name** (*Required*): The internal name of the product in Home Assistant. - **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab). -The URL of this site reveals the ID, e.g. `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. +The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. - **description** (*Optional*): The name of the product in the front end. - **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`. diff --git a/source/_components/sensor.iperf3.markdown b/source/_components/sensor.iperf3.markdown index 068a9b879ad..44c5e7f3696 100644 --- a/source/_components/sensor.iperf3.markdown +++ b/source/_components/sensor.iperf3.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Iperf3 Sensor" -description: "How to use Iperf3 within Home Assistant to measure your network bandwith." +description: "How to use Iperf3 within Home Assistant to measure your network bandwidth." date: 2018-05-01 02:00 sidebar: true comments: false diff --git a/source/_components/sensor.jewish_calendar.markdown b/source/_components/sensor.jewish_calendar.markdown index 53002877895..49eccc7da36 100644 --- a/source/_components/sensor.jewish_calendar.markdown +++ b/source/_components/sensor.jewish_calendar.markdown @@ -89,7 +89,7 @@ sensors: sensor: - platform: jewish_calendar language: english - diaspora: True + diaspora: true sensors: - date - weekly_portion diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown index 3819a6dfdfd..d558d1c3a15 100644 --- a/source/_components/sensor.knx.markdown +++ b/source/_components/sensor.knx.markdown @@ -13,7 +13,7 @@ ha_release: 0.29 ha_iot_class: "Local Push" --- -The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors. +The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors. The `knx` component must be configured correctly, see [KNX Component](/components/knx). @@ -30,10 +30,21 @@ sensor: ``` +{% configuration %} +address: + description: KNX group address of the sensor. + required: true + type: string +name: + description: A name for this device used within Home Assistant. + required: false + type: string +type: + description: A type from the following table can be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly. + required: false + type: string +{% endconfiguration %} -- **address** (*Required*): KNX group address of the sensor. -- **name** (*Optional*): A name for this device used within Home Assistant. -- **type** (*Optional*): A type from the following table can be defined. The DPT of the group address should match the expected KNX DPT to be parsed correctly. | type | unit | expected KNX DPT | |--------------------|------|------------------| diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 0e82f9a6e32..db6452c2c5e 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -46,7 +46,7 @@ $ bluetoothctl [NEW] C4:D3:8C:12:4C:57 Flower mate ``` -If you can't use `hcitool` or `bluetoothctl` but have access to an Android phone you can try `BLE Scanner` or similar scanner applications from the Play Store to easily find your sensor MAC address. +If you can't use `hcitool` or `bluetoothctl` but have access to an Android phone you can try `BLE Scanner` or similar scanner applications from the Play Store to easily find your sensor MAC address. If you are using Windows 10, try the `Microsoft Bluetooth LE Explorer` app from the Windows Store. # Configure To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file: @@ -60,17 +60,45 @@ sensor: - moisture ``` -- **mac** (*Required*): The MAC address of your sensor. -- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters). - - **moisture**: Moisture in the soil. - - **light**: Brightness at the sensor's location. - - **temperature**: Temperature at the sensor's location. - - **conductivity**: Conductivity in the soil. - - **battery**: Battery details. -- **name** (*Optional*): The name displayed in the frontend. -- **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. -- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. +{% configuration %} +mac: + description: The MAC address of your sensor. + required: true + type: string +monitored_conditions: + description: The parameters that should be monitored. + required: false + default: [moisture, light, temperature, conductivity, battery] + type: list + keys: + moisture: + description: Moisture in the soil. + light: + description: Brightness at the sensor's location. + temperature: + description: Temperature at the sensor's location. + conductivity: + description: Conductivity in the soil. + battery: + description: Battery details. +name: + description: The name displayed in the frontend. + required: false + type: string +force_update: + description: Sends update events even if the value hasn't changed. + required: false + type: boolean +median: + description: "Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine." + required: false + type: integer +adapter: + description: "Define the Bluetooth adapter to use. Run `hciconfig` to get a list of available adapters." + required: false + default: hci0 + type: string +{% endconfiguration %}By default the sensor is only polled once every 20 minutes (`scan_interval` is 1200 seconds by default). On a Home Assistant restart sensor will report initial value. If you set `median: 3`, it will take _at least_ 40 minutes before the sensor will report an average value. Keep in mind though that reducing polling intervals will have a negative effect on the battery life. diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index b20d72a4bf5..bf54f976824 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -60,18 +60,56 @@ sensor: - temperature ``` -- **mac** (*Required*): The MAC address of your sensor. -- **monitored_conditions** array (*Optional*): The parameters that should be monitored (defaults to monitoring all parameters). - - **temperature**: Temperature in C at the sensor's location. - - **humidity**: Humidity level in % at the sensor's location. - - **battery**: Battery details (in %). -- **name** (*Optional*): The name displayed in the frontend. -- **force_update** (*Optional*): Sends update events even if the value hasn't changed. -- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine. -- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined) -- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined) -- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 300 if not defined) -- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters. +{% configuration %} +mac: + description: The MAC address of your sensor. + required: true + type: string +monitored_conditions: + description: The parameters that should be monitored. + required: false + default: [temperature, humidity, battery] + type: list + keys: + temperature: + description: Temperature in C at the sensor's location. + humidity: + description: Humidity level in % at the sensor's location. + battery: + description: Battery details (in %). +name: + description: The name displayed in the frontend. + required: false + type: string +force_update: + description: Sends update events even if the value hasn't changed. + required: false + type: boolean +median: + description: "Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine." + required: false + type: integer +timeout: + description: Define the timeout value in seconds when polling. + required: false + default: 10 + type: integer +retries: + description: Define the number of retries when polling. + required: false + default: 2 + type: integer +cache_value: + description: Define cache expiration value in seconds. + required: false + default: 300 + type: integer +adapter: + description: "Define the Bluetooth adapter to use. Run `hciconfig` to get a list of available adapters." + required: false + default: hci0 + type: string +{% endconfiguration %} 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. @@ -91,4 +129,3 @@ sensor: - humidity - battery ``` - diff --git a/source/_components/sensor.modbus.markdown b/source/_components/sensor.modbus.markdown index d9681e8f678..3345162f9db 100644 --- a/source/_components/sensor.modbus.markdown +++ b/source/_components/sensor.modbus.markdown @@ -45,21 +45,66 @@ sensor: precision: 2 ``` -Configuration variables: - -- **registers** array (*Required*): The array contains a list of relevant registers to read from. - - **name** (*Required*): Name of the sensor. - - **slave** (*Required*): The number of the slave (Optional for tcp and upd Modbus). - - **register** (*Required*): Register number. - - **register_type** (*Optional*): Modbus register type (holding, input), default holding. - - **unit_of_measurement** (*Optional*): Unit to attach to value. - - **count** (*Optional*): Number of registers to read. - - **reverse_order** (*Optional*): Reverse the order of registers when count >1, default False. - - **scale** (*Optional*): Scale factor (output = scale * value + offset), default 1. - - **offset** (*Optional*): Final offset (output = scale * value + offset), default 0. - - **precision** (*Optional*): Number of valid decimals, default 0. - - **data_type** (*Optional*): Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format. Default int. - - **structure** (*Optional*): If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: ">i". +{% configuration %} +registers: + description: The array contains a list of relevant registers to read from. + required: true + type: map + keys: + name: + description: Name of the sensor. + required: true + type: string + slave: + description: The number of the slave (Optional for tcp and upd Modbus). + required: true + type: integer + register: + description: Register number. + required: true + type: integer + register_type: + description: Modbus register type (holding, input), default holding. + required: false + type: string + unit_of_measurement: + description: Unit to attach to value. + required: false + type: integer + count: + description: Number of registers to read. + required: integer + type: integer + reverse_order: + description: Reverse the order of registers when count >1. + required: false + default: False + type: boolean + scale: + description: Scale factor (output = scale * value + offset). + required: false + default: 1 + type: float + offset: + description: Final offset (output = scale * value + offset). + required: false + default: 0 + type: float + precision: + description: Number of valid decimals. + required: false + default: 0 + type: integer + data_type: + description: Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format. + required: false + default: int + type: string + structure: + description: "If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: >i." + required: false + type: string +{% endconfiguration %} It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. diff --git a/source/_components/sensor.starlingbank.markdown b/source/_components/sensor.starlingbank.markdown index e997e0da2a3..5accaf731d5 100644 --- a/source/_components/sensor.starlingbank.markdown +++ b/source/_components/sensor.starlingbank.markdown @@ -24,7 +24,7 @@ You can find more information about Starling Bank at [their website](https://www ## {% linkable_title Access Token %} -Once you have your own Starling bank account you will need to sign up for a Staring developer account [here](https://developer.starlingbank.com/signup). You won't need to do any development but you will need to get a "Personal Access Token" that will allow the integration to access your account balance. +Once you have your own Starling bank account you will need to sign up for a Starling developer account [here](https://developer.starlingbank.com/signup). You won't need to do any development but you will need to get a "Personal Access Token" that will allow the integration to access your account balance.
You control what access is granted using this token. This integration only needs very basic access (see below). @@ -33,7 +33,7 @@ Once you have your own Starling bank account you will need to sign up for a Star Once you've signed up: 1. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account. 2. Click "Create Token". -3. Give your token a name e.g. "Home Assistant". +3. Give your token a name e.g., "Home Assistant". 4. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked. 5. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration. diff --git a/source/_components/sensor.swiss_public_transport.markdown b/source/_components/sensor.swiss_public_transport.markdown index c1063e4d4a5..b702c2dc50a 100644 --- a/source/_components/sensor.swiss_public_transport.markdown +++ b/source/_components/sensor.swiss_public_transport.markdown @@ -30,10 +30,20 @@ sensor: to: STATION_ID ``` -Configuration variables: - -- **from** (*Required*): The ID of the station of the start station. -- **to** (*Required*): The ID of the station of the end station. -- **name** (*Optional*): The name of the sensor. Defaults to 'Next Departure'. +{% configuration %} +from: + description: The ID of the station of the start station. + required: true + type: string +to: + description: The ID of the station of the end station. + required: true + type: string +name: + description: The name of the sensor. + required: false + type: string + default: Next Departure +{% endconfiguration %} The public timetables are coming from [Swiss public transport](http://transport.opendata.ch). diff --git a/source/_components/sensor.ted5000.markdown b/source/_components/sensor.ted5000.markdown index 1dd451255c7..1e498eb1ca0 100644 --- a/source/_components/sensor.ted5000.markdown +++ b/source/_components/sensor.ted5000.markdown @@ -24,11 +24,23 @@ sensor: host: 192.168.1.100 ``` -Configuration variables: -- **host** (*Required*): The IP address of your ted gateway. -- **port** (*Optional*): The port of your ted gateway. Defaults to 80. -- **name** (*Optional*): Name of the ted gateway. Defaults to ted. +{% configuration %} +host: + description: The IP address of your ted gateway. + required: true + type: string +port: + description: The port of your ted gateway. + required: false + type: integer + default: 80 +name: + description: Name of the ted gateway. + required: false + type: string + default: ted +{% endconfiguration %} For each plugged MTU, using an index starting at 1, the platform creates 2 sensors: diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index c2942d023a0..eb5a34a6acb 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -58,6 +58,7 @@ sensor: description: "Defines the units of measurement of the sensor, if any. This will also influence the graphical presentation in the history visualisation as continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values." required: false type: string + default: None value_template: description: Defines a template to get the state of the sensor. required: true @@ -71,7 +72,7 @@ sensor: required: false type: template device_class: - description: The type/class of the sensor to set the icon in the frontend. + description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`. required: false type: device_class default: None diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown index d6635769511..2b55ff6d2a6 100644 --- a/source/_components/sensor.trafikverket_weatherstation.markdown +++ b/source/_components/sensor.trafikverket_weatherstation.markdown @@ -55,7 +55,7 @@ station: required: true type: string monitored_conditions: - description: Specify what measurement data to retreive from the weather station. + description: Specify what measurement data to retrieve from the weather station. required: true type: map keys: diff --git a/source/_components/sensor.waqi.markdown b/source/_components/sensor.waqi.markdown index 163ce64ee68..f428d28db64 100644 --- a/source/_components/sensor.waqi.markdown +++ b/source/_components/sensor.waqi.markdown @@ -26,15 +26,22 @@ sensor: token: AQICN_API_TOKEN locations: - beijing - stations: - - Beijing US Embassy, Beijing ``` -Configuration variables: - -- **locations** (*Required*): A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant. -- **token** (*Required*): The token for the AQICN public API. -- **stations** (*Optional*): A list of station names to look for air quality data. Station should be within locations specified above. +{% configuration %} +token: + description: The token for the AQICN public API. + required: true + type: string +locations: + description: A list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant. + required: true + type: list +stations: + description: A list of station names to look for air quality data. Station should be within locations specified above. + required: false + type: list +{% endconfiguration %} The value reported is an overall AQ index for the location. The values of the index can be interpreted as following: diff --git a/source/_components/sensor.worldclock.markdown b/source/_components/sensor.worldclock.markdown index 620e2935518..1ca0964f86b 100644 --- a/source/_components/sensor.worldclock.markdown +++ b/source/_components/sensor.worldclock.markdown @@ -26,10 +26,17 @@ sensor: time_zone: America/New_York ``` -Configuration variables: - -- **time_zone** (*Required*): The resource or endpoint that contains the value. -- **name** (*Optional*): The name of the sensor, eg. the city. Defaults to 'Worldclock Sensor'. +{% configuration %} +time_zone: + description: The resource or endpoint that contains the value. + required: true + type: string +name: + description: The name of the sensor, eg. the city. + required: false + type: string + default: Worldclock Sensor +{% endconfiguration %} For valid time zones check the **TZ** column in the [Wikipedia overview](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Or get the full list from the [pytz](https://pypi.python.org/pypi/pytz) module. diff --git a/source/_components/sensor.worxlandroid.markdown b/source/_components/sensor.worxlandroid.markdown index 5497ae70057..d4ec6b401b8 100644 --- a/source/_components/sensor.worxlandroid.markdown +++ b/source/_components/sensor.worxlandroid.markdown @@ -25,8 +25,18 @@ sensor: pin: 1234 ``` -Configuration variables: - -- **host** (*Required*): The ip address or host name of the mower. -- **pin** (*Required*): The pin code for the mower. -- **allow_unreachable** (*Optional*): This will allow the mower to be outside of wifi range without raising an error (default: True). +{% configuration %} +host: + description: The ip address or host name of the mower. + required: true + type: string +pin: + description: The pin code for the mower. + required: true + type: integer +allow_unreachable: + description: This will allow the mower to be outside of wifi range without raising an error. + required: false + type: boolean + default: true +{% endconfiguration %} diff --git a/source/_components/sensor.wunderground.markdown b/source/_components/sensor.wunderground.markdown index 0ce56092b59..b5a2d5bec98 100644 --- a/source/_components/sensor.wunderground.markdown +++ b/source/_components/sensor.wunderground.markdown @@ -13,7 +13,7 @@ ha_release: 0.27 ha_iot_class: "Cloud Polling" --- -The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information. +The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.
Obtain a WUnderground API key [here](https://www.wunderground.com/weather/api). They no longer offer free API keys, and all keys must be paid for. At this time existing free keys will continue to work, but will be disabled Dec 31, 2018. As of Sept 6, 2018 Weather Underground states they are declaring the [End of Service for the Weather Underground API](https://apicommunity.wunderground.com/weatherapi/topics/end-of-service-for-the-weather-underground-api). They say they will develop new plans for non-commercial users. No timeline for this has been announced. @@ -33,72 +33,154 @@ sensor: - dewpoint_c ``` -Configuration variables: +{% configuration %} +api_key: + description: The API key for Weather Underground. See above for details. + required: true + type: string +pws_id: + description: "You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions." + required: false + type: string +lang: + description: Specify the language that the API returns. The current list of all Wunderground language codes is available [here](https://www.wunderground.com/weather/api/d/docs?d=language-support). If not specified, it defaults to English (EN). + required: false + type: string + default: EN +latitude: + description: Latitude coordinate to monitor weather of (required if **longitude** is specified). + required: false + type: string + default: Coordinates defined in your `configuration.yaml` +longitude: + description: Longitude coordinate to monitor weather of (required if **latitude** is specified). + required: false + type: string + default: Coordinates defined in your `configuration.yaml` +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. + required: true + type: list + default: symbol + keys: + alerts: + description: Current severe weather advisories + dewpoint_c: + description: Temperature in Celsius below which water droplets begin to condense and dew can form + dewpoint_f: + description: Temperature in Fahrenheit below which water droplets begin to condense and dew can form + dewpoint_string: + description: Text summary of dew point + feelslike_c: + description: Feels like (or apparent) temperature in Celsius + feelslike_f: + description: Feels like (or apparent) temperature in Fahrenheit + feelslike_string: + description: Text summary of how the current temperature feels like + heat_index_c: + description: Heat index (combined effects of the temperature and humidity of the air) in Celsius + heat_index_f: + description: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit + heat_index_string: + description: Text summary of current heat index + elevation: + description: Elevation in feet + location: + description: City and State + observation_time: + description: Text summary of observation time + precip_today_in: + description: Total precipitation in inches + precip_today_metric: + description: Total precipitation in metric units + precip_today_string: + description: Text summary of precipitation today + precip_1d_mm: + description: "[[1d]](#1d): Forecasted precipitation intensity in millimeters" + precip_1d_in: + description: "[[1d]](#1d): Forecasted precipitation intensity in inches" + precip_1d: + description: "[[1d]](#1d): Forecasted precipitation probability in %" + pressure_in: + description: Atmospheric air pressure in inches + pressure_mb: + description: Atmospheric air pressure in millibars + pressure_trend: + description: "Atmospheric air pressure trend signal `(+/-)`" + relative_humidity: + description: Relative humidity + station_id: + description: Your personal weather station (PWS) ID + solarradiation: + description: Current levels of solar radiation + temperature_string: + description: Temperature text combining Fahrenheit and Celsius + temp_c: + description: Current temperature in Celsius + temp_f: + description: Current temperature in Fahrenheit + temp_high_record_c: + description: Maximum temperature measured in Celsius + temp_high_record_f: + description: Maximum temperature measured in Fahrenheit + temp_low_record_c: + description: Minimal temperature measured in Celsius + temp_low_record_f: + description: Minimal temperature measured in Fahrenheit + temp_high_avg_c: + description: Average high for today in Celsius + temp_high_avg_f: + description: Average high for today in Fahrenheit + temp_low_avg_c: + description: Average low for today in Celsius + temp_low_avg_f: + description: Average low for today in Fahrenheit + temp_high_1d_c: + description: "[[1d]](#1d): Forecasted high temperature in Celsius" + temp_high_1d_f: + description: "[[1d]](#1d): Forecasted high temperature in Fahrenheit" + temp_low_1d_c: + description: "[[1d]](#1d): Forecasted low temperature in Celsius" + temp_low_1d_f: + description: "[[1d]](#1d): Forecasted low temperature in Fahrenheit" + UV: + description: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation. + visibility_km: + description: Average visibility in km + visibility_mi: + description: Average visibility in miles + weather: + description: A human-readable text summary with picture from Wunderground. + weather_1d: + description: "[[12h]](#12h): A human-readable weather forecast using imperial units." + weather_1d_metric: + description: "[[12h]](#12h): A human-readable weather forecast using metric units." + weather_1h: + description: "[[1h]](#1h): Weather conditions in 1 hour. (e.g., \"Thunderstorm\" etc.)" + wind_degrees: + description: Wind degrees + wind_dir: + description: Wind direction + wind_gust_kph: + description: Wind gusts speed in kph + wind_gust_mph: + description: Wind gusts speed in mph + wind_gust_1d_kph: + description: "[[1d]](#1d): Max. forecasted Wind in kph" + wind_gust_1d_mph: + description: "[[1d]](#1d): Max. forecasted Wind in mph" + wind_kph: + description: Current wind speed in kph + wind_mph: + description: Current wind speed in mph + wind_1d_kph: + description: "[[1d]](#1d): Forecasted wind speed in kph" + wind_1d_mph: + description: "[[1d]](#1d): Forecasted wind speed in mph" + wind_string: + description: Text summary of current wind conditions +{% endconfiguration %} -- **api_key** (*Required*): The API key for Weather Underground. See above for details. -- **pws_id** (*Optional*): You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions. -- **lang** (*Optional*): Specify the language that the API returns. The current list of all Wunderground language codes is available [here](https://www.wunderground.com/weather/api/d/docs?d=language-support). If not specified, it defaults to English (EN). -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml`. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml`. -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. - - **alerts**: Current severe weather advisories - - **dewpoint_c**: Temperature in Celsius below which water droplets begin to condense and dew can form - - **dewpoint_f**: Temperature in Fahrenheit below which water droplets begin to condense and dew can form - - **dewpoint_string**: Text summary of dew point - - **feelslike_c**: Feels like (or apparent) temperature in Celsius - - **feelslike_f**: Feels like (or apparent) temperature in Fahrenheit - - **feelslike_string**: Text summary of how the current temperature feels like - - **heat_index_c**: Heat index (combined effects of the temperature and humidity of the air) in Celsius - - **heat_index_f**: Heat index (combined effects of the temperature and humidity of the air) in Fahrenheit - - **heat_index_string**: Text summary of current heat index - - **elevation**: Elevation in feet - - **location**: City and State - - **observation_time**: Text summary of observation time - - **precip_today_in**: Total precipitation in inches - - **precip_today_metric**: Total precipitation in metric units - - **precip_today_string**: Text summary of precipitation today - - **precip_1d_mm** [[1d]](#1d): Forecasted precipitation intensity in millimeters - - **precip_1d_in** [[1d]](#1d): Forecasted precipitation intensity in inches - - **precip_1d** [[1d]](#1d): Forecasted precipitation probability in % - - **pressure_in**: Atmospheric air pressure in inches - - **pressure_mb**: Atmospheric air pressure in millibars - - **pressure_trend**: Atmospheric air pressure trend signal (+/-) - - **relative_humidity**: Relative humidity - - **station_id**: Your personal weather station (PWS) ID - - **solarradiation**: Current levels of solar radiation - - **temperature_string**: Temperature text combining Fahrenheit and Celsius - - **temp_c**: Current temperature in Celsius - - **temp_f**: Current temperature in Fahrenheit - - **temp_high_record_c**: Maximum temperature measured in Celsius - - **temp_high_record_f**: Maximum temperature measured in Fahrenheit - - **temp_low_record_c**: Minimal temperature measured in Celsius - - **temp_low_record_f**: Minimal temperature measured in Fahrenheit - - **temp_high_avg_c**: Average high for today in Celsius - - **temp_high_avg_f**: Average high for today in Fahrenheit - - **temp_low_avg_c**: Average low for today in Celsius - - **temp_low_avg_f**: Average low for today in Fahrenheit - - **temp_high_1d_c** [[1d]](#1d): Forecasted high temperature in Celsius - - **temp_high_1d_f** [[1d]](#1d): Forecasted high temperature in Fahrenheit - - **temp_low_1d_c** [[1d]](#1d): Forecasted low temperature in Celsius - - **temp_low_1d_f** [[1d]](#1d): Forecasted low temperature in Fahrenheit - - **UV**: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation. - - **visibility_km**: Average visibility in km - - **visibility_mi**: Average visibility in miles - - **weather**: A human-readable text summary with picture from Wunderground. - - **weather_1d** [[12h]](#12h): A human-readable weather forecast using imperial units. - - **weather_1d_metric** [[12h]](#12h): A human-readable weather forecast using metric units. - - **weather_1h** [[1h]](#1h): Weather conditions in 1 hour. (e.g., "Thunderstorm" etc.) - - **wind_degrees**: Wind degrees - - **wind_dir**: Wind direction - - **wind_gust_kph**: Wind gusts speed in kph - - **wind_gust_mph**: Wind gusts speed in mph - - **wind_gust_1d_kph** [[1d]](#1d): Max. forecasted Wind in kph - - **wind_gust_1d_mph** [[1d]](#1d): Max. forecasted Wind in mph - - **wind_kph**: Current wind speed in kph - - **wind_mph**: Current wind speed in mph - - **wind_1d_kph** [[1d]](#1d): Forecasted wind speed in kph - - **wind_1d_mph** [[1d]](#1d): Forecasted wind speed in mph - - **wind_string**: Text summary of current wind conditions All the conditions listed above will be updated every 5 minutes. @@ -195,6 +277,8 @@ Note: While the platform is called “wunderground” the sensors will show up i Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g. +```yaml - sensor.pws_weather_1d_metric_2 +``` Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs). diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index fdd5a38b808..befc4a37d5e 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -20,7 +20,7 @@ The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/ Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.
-The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude. +The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it is generated from Home Assistant's latitude and longitude. To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file: @@ -40,21 +40,46 @@ sensor: - temperature ``` -Configuration variables: - -- **woeid** (*Optional*): See above. -- **forecast** (*Optional*): Day of forecast. The default is the current day to display conditions. -- **name** (*Optional*): 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. Defaults to `Yweather`. -- **monitored_conditions** array (*Required*): Conditions to display in the frontend. - - **weather**: A human-readable text summary with picture from yahoo. - - **weather_current**: A human-readable text summary with picture from yahoo from current condition. - - **temperature**: The current temperature. - - **temp_min**: The minimal temperature of this day. - - **temp_max**: The maximum temperature of this day. - - **wind_speed**: The wind speed. - - **humidity**: The relative humidity. - - **pressure**: The sea-level air pressure in millibars. - - **visibility**: The average visibility. +{% configuration %} +woeid: + required: false + description: See above. + type: string + default: "Defaults to a WOEID generated from coordinates defined in your `configuration.yaml` file." +forecast: + required: false + description: Day of forecast. The default is the current day to display conditions. + type: integer + default: 0 +name: + required: false + 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." + type: string + default: "`Yweather`" +monitored_conditions: + required: true + description: Conditions to display in the frontend. + type: list + keys: + weather: + description: A human-readable text summary with picture from yahoo. + weather_current: + description: A human-readable text summary with picture from yahoo from current condition. + temperature: + description: The current temperature. + temp_min: + description: The minimal temperature of this day. + temp_max: + description: The maximum temperature of this day. + wind_speed: + description: The wind speed. + humidity: + description: The relative humidity. + pressure: + description: The sea-level air pressure in millibars. + visibility: + description: The average visibility. +{% endconfiguration %} Example of forecast using multiple days. In example, first sensor shows tomorrow's forecast, second sensor shows the next day and so on: @@ -85,4 +110,3 @@ sensor: ``` Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). - diff --git a/source/_components/sensor.zamg.markdown b/source/_components/sensor.zamg.markdown index 014752a66ec..f1d25e0626b 100644 --- a/source/_components/sensor.zamg.markdown +++ b/source/_components/sensor.zamg.markdown @@ -25,24 +25,55 @@ sensor: - platform: zamg ``` -Configuration variables: - -- **station_id** (*Optional*): The ID number for a supported ZAMG station. -- **name** (*Optional*): Additional name for the sensors. Defaults to platform name. -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. - - **pressure**: Pressure at station level - - **pressure_sealevel**: Pressure at sea Level - - **humidity**: Humidity - - **wind_speed**: Wind speed - - **wind_bearing**: Wind bearing - - **wind_max_speed**: Top wind speed - - **wind_max_bearing**: Top wind bearing - - **sun_last_hour**: Sun last hour percentage - - **temperature**: Temperature - - **precipitation**: Precipitation - - **dewpoint**: Dew point +{% configuration %} +station_id: + required: false + description: The ID number for a supported ZAMG station. + type: string +name: + required: false + description: Additional name for the sensors. Defaults to platform name. + default: zamg + 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 +monitored_conditions: + required: false + description: Conditions to display in the frontend. + type: list + default: temperature + keys: + pressure: + description: Pressure at station level + pressure_sealevel: + description: Pressure at sea Level + humidity: + description: Humidity + wind_speed: + description: Wind speed + wind_bearing: + description: Wind bearing + wind_max_speed: + description: Top wind speed + wind_max_bearing: + description: Top wind bearing + sun_last_hour: + description: Sun last hour percentage + temperature: + description: Temperature + precipitation: + description: Precipitation + dewpoint: + description: Dew point +{% endconfiguration %} A full configuration example: diff --git a/source/_components/sensor.zestimate.markdown b/source/_components/sensor.zestimate.markdown index ca9547e4040..1d24b3f0dfd 100644 --- a/source/_components/sensor.zestimate.markdown +++ b/source/_components/sensor.zestimate.markdown @@ -19,7 +19,7 @@ The `zestimate` sensor allows one to track the Zestimate value of properties usi You will need to sign up for the Zillow API at the following link [Zillow API](https://www.zillow.com/howto/api/APIOverview.htm). You will also need the Zillow property ID for each property you'd like to track. This information is available from the URL of a property you are interested in. -For example, the White House zpid is 84074482 and can be found in it's Zillow URL: [https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/](https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/) +For example, the White House zpid is 84074482 and can be found in its Zillow URL: [https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/](https://www.zillow.com/homedetails/1600-Pennsylvania-Ave-NW-Washington-DC-20006/84074482_zpid/) To enable this sensor, add the following lines to your `configuration.yaml`. diff --git a/source/_components/smappee.markdown b/source/_components/smappee.markdown index c91c9d0f59c..846fd2e33ef 100644 --- a/source/_components/smappee.markdown +++ b/source/_components/smappee.markdown @@ -49,11 +49,29 @@ smappee: password: YOUR_MYSMAPPEE_PASSWORD ``` -Configuration variables: - -- **host** (*Optional*): Your Local Smappee unit IP. -- **host_password** (*Optional*): Your Local Smappee password. -- **client_id** (*Optional*): Your Smappee API client_id. -- **client_secret** (*Optional*): Your Smappee API client_secret. -- **username** (*Optional*): Your My Smappee username. -- **password** (*Optional*): Your My Smappee password. +{% configuration %} +host: + description: Your Local Smappee unit IP. + required: false + type: string +host_password: + description: Your Local Smappee password. + required: false + type: string +client_id: + description: Your Smappee API client_id. + required: false + type: string +client_secret: + description: Your Smappee API client_secret. + required: false + type: string +username: + description: Your My Smappee username. + required: false + type: string +password: + description: Your My Smappee password. + required: false + type: string +{% endconfiguration %} diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index b4e752ebc28..9a03d1c9d36 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -141,7 +141,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors: -Note: If your Snips action is prefixed with a username (e.g. `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`). +Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`). {% raw %} ```yaml diff --git a/source/_components/spc.markdown b/source/_components/spc.markdown index 0e8819fb854..1e5d707c860 100644 --- a/source/_components/spc.markdown +++ b/source/_components/spc.markdown @@ -25,10 +25,15 @@ spc: ws_url: WS_URL ``` -Configuration variables: - -- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g., `http://The Roomba's MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba. [More info here](https://github.com/NickWaterton/Roomba980-Python#firmware-2xx-notes) diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown index f73ddfab26b..171b0f5c422 100644 --- a/source/_components/velux.markdown +++ b/source/_components/velux.markdown @@ -13,7 +13,7 @@ ha_release: 0.49 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. +[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. A `velux` section must be present in the `configuration.yaml` file and contain the following options as required: @@ -24,7 +24,13 @@ velux: password: "velux123" ``` -Configuration variables: - -- **host** (*Required*): The IP address or hostname of the KLF 200 to use. -- **password** (*Required*): The password of the KLF 200 interface. +{% configuration %} +host: + description: The IP address or hostname of the KLF 200 to use. + required: true + type: string +password: + description: The password of the KLF 200 interface. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 799c43e6c32..49dd80958e1 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -33,17 +33,57 @@ verisure: password: PASSWORD ``` -Configuration variables: - -- **username** (*Required*): The username to Verisure mypages. -- **password** (*Required*): The password to Verisure mypages. -- **alarm** (*Optional*): Set to 1 to show alarm, 0 to disable. Default 1. -- **hygrometers** (*Optional*): Set to 1 to show hygrometers, 0 to disable. Default 1. -- **smartplugs** (*Optional*): Set to 1 to show smartplugs, 0 to disable. Default 1. -- **locks** (*Optional*): Set to 1 to show locks, 0 to disable. Default 1. -- **thermometers** (*Optional*): Set to 1 to show thermometers, 0 to disable. Default 1. -- **mouse** (*Optional*): Set to 1 to show mouse detectors, 0 to disable. Default 1. -- **door_window** (*Optional*): Set to 1 to show door and window sensors, 0 to disable. Default 1. -- **code_digits** (*Optional*): Number of digits in PIN code. Default 4. -- **giid** (*Optional*): 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' -- **scan_interval** (*Optional*): Scan interval in ```hh:mm:ss``` format. Default ```00:01:00``` +{% configuration %} +username: + description: The username to Verisure mypages. + required: true + type: string +password: + description: The password to Verisure mypages. + required: true + type: string +alarm: + description: Set to true to show alarm, false to disable. + required: false + default: true + type: boolean +hygrometers: + description: Set to true to show hygrometers, false to disable. + required: false + default: true + type: boolean +smartplugs: + description: Set to true to show smartplugs, false to disable. + required: false + default: true + type: boolean +locks: + description: Set to true to show locks, false to disable. + required: false + default: true + type: boolean +thermometers: + description: Set to true to show thermometers, false to disable. + required: false + default: true + type: boolean +mouse: + description: Set to true to show mouse detectors, false to disable. + required: false + default: true + type: boolean +door_window: + description: Set to true to show mouse detectors, false to disable. + required: false + default: true + type: boolean +code_digits: + description: Number of digits in PIN code. + required: false + default: 4 + type: integer +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 + type: string +{% endconfiguration %} diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 8160d19882f..d4028a46e4b 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -30,7 +30,7 @@ volvooncall: Users registered with Volvo in North America or China will need to specify a region: ```yaml -# North America +# North America volvooncall: username: YOUR_USERNAME password: YOUR_PASSWORD @@ -62,13 +62,34 @@ volvooncall: - heater ``` -Configuration variables: - -- **username** (*Required*): The username associated with your Volvo On Call account. -- **password** (*Required*): The password for your given Volvo On Call account. -- **region** (*Optional*): The region where the Volvo is registered. Needs to be set for users in North America or China. -- **service_url** (*Optional*): The service URL to use for Volvo On Call. Normally not necessary to specify. -- **name** (*Optional*): Make it possible to provide a name for the vehicles. -- **resources** (*Optional*): A list of resources to display (defaults to all available). -- **scandinavian_miles** (*Optional*): If set to yes, Scandinavian miles ("mil") are used for distances and fuel range (defaults to no). - +{% configuration %} +username: + description: The username associated with your Volvo On Call account. + required: true + type: string +password: + description: The password for your given Volvo On Call account. + required: true + type: string +region: + description: The region where the Volvo is registered. Needs to be set for users in North America or China. + required: false + type: string +service_url: + description: The service URL to use for Volvo On Call. Normally not necessary to specify. + required: false + type: string +name: + description: Make it possible to provide a name for the vehicles. + required: false + type: string +resources: + description: A list of resources to display (defaults to all available). + required: false + type: list +scandinavian_miles: + description: If set to true, Scandinavian miles ("mil") are used for distances and fuel range. + required: false + defaults: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index 25fde662082..e558c1a29bc 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -17,6 +17,7 @@ Home Assistant currently supports free web services and such which require a reg The `weather` platform only knows the below listed conditions. The reason for this is that for these conditions is an icon from [Material Design Icons](https://materialdesignicons.com/) available and mapped in the [frontend](https://github.com/home-assistant/home-assistant-polymer/blob/master/src/cards/ha-weather-card.js#L170). +- 'clear-night' - 'cloudy' - 'fog' - 'hail' diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index bf704c2984b..f0d9d1f93bb 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -28,14 +28,33 @@ weather: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your API key for http://openweathermap.org/. -- **name** (*Optional*): Name to use in the frontend. -- **mode** (*Optional*): Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast. Defaults to `hourly`. -- **latitude** (*Optional*): Latitude of the location to display the weather. Defaults to the latitude in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude of the location to display the weather. Defaults to the longitude in your `configuration.yaml` file. +{% configuration %} +api_key: + required: true + description: Your API key for [OpenWeatherMap](http://openweathermap.org/). + type: string +name: + required: false + description: Name to use in the frontend. + 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`" + type: string +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 +{% endconfiguration %}
-This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor. +This platform is an alternative to the [`openweathermap`](/components/sensor.openweathermap/) sensor.
diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 27bbda8214d..055f9daa0ec 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -31,15 +31,20 @@ weather: - platform: yweather ``` -Configuration variables: - -- **woeid** (*Optional*): See above. -- **name** (*Optional*): 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. Defaults to `Yweather`. - +{% configuration %} +woeid: + description: Your Where On Earth ID, see above for all the info. + required: false + type: integer +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 +{% endconfiguration %}-This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor. +This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor.
Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/). - diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index b3112d97ea8..dd62ceec3dc 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -27,12 +27,26 @@ weather: - platform: zamg ``` -Configuration variables: - -- **station_id** (*Optional*): The ID number for a supported ZAMG station. -- **name** (*Optional*): A name for the weather platform. -- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. -- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml` file. +{% configuration %} +station_id: + required: false + description: The ID number for a supported ZAMG station. + type: string +name: + required: false + description: A name for the weather platform. + 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 +{% endconfiguration %}
This platform is an alternative to the [`zamg`](/components/sensor.zamg/) sensor. The weather platform is easier to configure but less customizable.
diff --git a/source/_components/webhook.markdown b/source/_components/webhook.markdown
new file mode 100644
index 00000000000..5540a153410
--- /dev/null
+++ b/source/_components/webhook.markdown
@@ -0,0 +1,5 @@
+---
+date: 2018-10-05 00:01:00
+---
+
+
diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown
index 0d97c91d465..c849971fc26 100644
--- a/source/_components/wink.markdown
+++ b/source/_components/wink.markdown
@@ -141,7 +141,7 @@ The Wink hub, by default, can only be accessed via the cloud. This means it requ
- GoControl siren and strobe
- Dome siren/chime/strobe
-- Quirky Nimbus (Legacy device) These can no longer be officialy added to your Wink account
+- Quirky Nimbus (Legacy device) These can no longer be officially added to your Wink account
### {% linkable_title Service `set_siren_auto_shutoff` %}
@@ -290,7 +290,7 @@ script:
### {% linkable_title Service `set_nimbus_dial_state` %}
-You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and it's labels
+You can use the service wink/set_nimbus_dial_state to update an individual dial's value/position and its labels
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown
index fd6280eccfc..1e5125b71c1 100644
--- a/source/_components/zone.markdown
+++ b/source/_components/zone.markdown
@@ -37,14 +37,34 @@ zone:
icon: mdi:account-multiple
```
-Configuration variables:
-
-- **name** (*Optional*): Friendly name of the zone.
-- **latitude** (*Required*): Latitude of the center point of the zone.
-- **longitude** (*Required*): Longitude of the center point of the zone.
-- **radius** (*Optional*): Optional radius in meters. Defaults to 100 meters.
-- **icon** (*Optional*): Optional icon to show instead of name.
-- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
+{% configuration %}
+name:
+ description: The friendly name of the zone.
+ required: false
+ type: string
+latitude:
+ description: The latitude of the center point of the zone.
+ required: true
+ type: float
+longitude:
+ description: The longitude of the center point of the zone.
+ required: true
+ type: float
+radius:
+ description: The radius of the zone in meters.
+ required: false
+ default: 100
+ type: integer
+icon:
+ description: The icon to show instead of name.
+ required: false
+ type: string
+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
+{% 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 a97c8a36f25..b2bf8cc89cd 100644
--- a/source/_components/zoneminder.markdown
+++ b/source/_components/zoneminder.markdown
@@ -26,8 +26,8 @@ Configuration variables:
- **host** (*Required*): Your ZoneMinder server's host (and optional port), not including the scheme.
- **path** (*Optional*): Path to your ZoneMinder install. Defaults to `/zm/`.
- **path_zms** (*Optional*): Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. Defaults to `/zm/cgi-bin/nph-zms`.
-- **ssl** (*Optional*): Set to `True` if your ZoneMinder installation is using SSL. Default to `False`.
-- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `True`.
+- **ssl** (*Optional*): Set to `true` if your ZoneMinder installation is using SSL. Default to `false`.
+- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `true`.
- **username** (*Optional*): Your ZoneMinder username.
- **password** (*Optional*): Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM.
@@ -39,8 +39,8 @@ zoneminder:
host: ZM_HOST
path: ZM_PATH
path_zms: ZM_PATH_ZMS
- ssl: True
- verify_ssl: True
+ ssl: true
+ verify_ssl: true
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
diff --git a/source/_cookbook/configuration_yaml_by_bah2830.markdown b/source/_cookbook/configuration_yaml_by_bah2830.markdown
deleted file mode 100644
index 1831f4a17f9..00000000000
--- a/source/_cookbook/configuration_yaml_by_bah2830.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by bah2830"
-description: ""
-date: 2016-07-14 20:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/bah2830/Home-Assistant-Configs
----
diff --git a/source/_cookbook/configuration_yaml_by_danichispa.markdown b/source/_cookbook/configuration_yaml_by_danichispa.markdown
deleted file mode 100644
index df100486363..00000000000
--- a/source/_cookbook/configuration_yaml_by_danichispa.markdown
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by Danichispa"
-description: ""
-date: 2016-02-20 02:19 -0800
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/danichispa/hass
----
-
diff --git a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown b/source/_cookbook/configuration_yaml_by_greenturtwig.markdown
deleted file mode 100644
index a5bc7c5b184..00000000000
--- a/source/_cookbook/configuration_yaml_by_greenturtwig.markdown
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by GreenTurtwig"
-description: ""
-date: 2016-02-13 13:51 +0700
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/GreenTurtwig/personal-home-automation/blob/master/configuration.yaml
----
-
diff --git a/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown b/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown
deleted file mode 100644
index 33fc4f05040..00000000000
--- a/source/_cookbook/configuration_yaml_by_happyleavesaoc.markdown
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by happyleavesaoc"
-description: ""
-date: 2016-02-07 11:45
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/happyleavesaoc/my-home-automation/tree/master/homeassistant
----
-
diff --git a/source/_cookbook/configuration_yaml_by_instagraeme.markdown b/source/_cookbook/configuration_yaml_by_instagraeme.markdown
deleted file mode 100644
index d6ddee0fa44..00000000000
--- a/source/_cookbook/configuration_yaml_by_instagraeme.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by InstaGraeme"
-description: ""
-date: 2016-09-08 21:30
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/Instagraeme/Home-Assistant-Configuration
----
diff --git a/source/_cookbook/configuration_yaml_by_jjmontesl.markdown b/source/_cookbook/configuration_yaml_by_jjmontesl.markdown
deleted file mode 100644
index 742d618f912..00000000000
--- a/source/_cookbook/configuration_yaml_by_jjmontesl.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by jjmontesl"
-description: ""
-date: 2017-02-22 23:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/jjmontesl/home-assistant-config
----
diff --git a/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown b/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown
new file mode 100644
index 00000000000..baad95ee180
--- /dev/null
+++ b/source/_cookbook/configuration_yaml_by_joshuagarrison27.markdown
@@ -0,0 +1,12 @@
+---
+layout: page
+title: "Configuration.yaml by Joshua Garrison"
+description: ""
+date: 2018-10-10 17:05
+sidebar: true
+comments: false
+sharing: true
+footer: true
+ha_category: Example configuration.yaml
+ha_external_link: https://github.com/JoshuaGarrison27/Home-Assistant-Configuration
+---
diff --git a/source/_cookbook/configuration_yaml_by_lancehaynie.markdown b/source/_cookbook/configuration_yaml_by_lancehaynie.markdown
index 892714d1400..d4c6d0e0598 100644
--- a/source/_cookbook/configuration_yaml_by_lancehaynie.markdown
+++ b/source/_cookbook/configuration_yaml_by_lancehaynie.markdown
@@ -8,5 +8,5 @@ comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
-ha_external_link: https://github.com/Haynie-Research-and-Development/jarvis
+ha_external_link: https://git.haynienetworks.com/projects/HRDPUBLIC/repos/jarvis/browse
---
diff --git a/source/_cookbook/configuration_yaml_by_mertenats.markdown b/source/_cookbook/configuration_yaml_by_mertenats.markdown
deleted file mode 100644
index 47b1bbb38eb..00000000000
--- a/source/_cookbook/configuration_yaml_by_mertenats.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by mertenats"
-description: ""
-date: 2016-10-08 19:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/mertenats/open-home-automation/tree/master/openhome
----
diff --git a/source/_cookbook/configuration_yaml_by_oakbrad.markdown b/source/_cookbook/configuration_yaml_by_oakbrad.markdown
deleted file mode 100644
index c4991394418..00000000000
--- a/source/_cookbook/configuration_yaml_by_oakbrad.markdown
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by oakbrad"
-description: ""
-date: 2016-03-14 11:45
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/oakbrad/brad-homeassistant-config
----
-
diff --git a/source/_cookbook/configuration_yaml_by_scottocs11.markdown b/source/_cookbook/configuration_yaml_by_scottocs11.markdown
deleted file mode 100644
index a9b4637975e..00000000000
--- a/source/_cookbook/configuration_yaml_by_scottocs11.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by Scottoc11"
-description: ""
-date: 2017-02-23 16:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/scottocs11/Home-Assistant-Config
----
\ No newline at end of file
diff --git a/source/_cookbook/configuration_yaml_by_teagan42.markdown b/source/_cookbook/configuration_yaml_by_teagan42.markdown
deleted file mode 100644
index 1440f63f1c3..00000000000
--- a/source/_cookbook/configuration_yaml_by_teagan42.markdown
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by Teagan42"
-description: ""
-date: 2016-08-24 23:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/Teagan42/HomeAssistantConfig
----
diff --git a/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown b/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown
deleted file mode 100644
index 0f418577c35..00000000000
--- a/source/_cookbook/configuration_yaml_from_bassclarinetl2.markdown
+++ /dev/null
@@ -1,460 +0,0 @@
----
-layout: page
-title: "Configuration.yaml by bassclarinetl2"
-description: ""
-date: 2016-03-24 17:00
-sidebar: true
-comments: false
-sharing: true
-footer: true
-ha_category: Example configuration.yaml
----
-
-```yaml
-homeassistant:
- # Name of the location where Home Assistant is running
- name: example.com
- # Location required to calculate the time the sun rises and sets
- latitude: 37
- longitude: -121
- # 'metric' for Metric, 'imperial' for Imperial
- unit_system: imperial
- # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- time_zone: America/Los_Angeles
- customize:
- switch.aeon_labs_smart_energy_switch_switch_2:
- friendly_name: Mac Switch-Meter
- switch.leviton_unknown_type1a02_id0334_switch_3:
- friendly_name: W Nightstand
- entity_picture: /local/zwvapl.jpg
- switch.hub_switch:
- friendly_name: Wink Hub Switch
- entity_picture: /local/wemoswitch.jpg
- switch.leviton_unknown_type1a02_id0334_switch_4:
- friendly_name: Christmas Tree
- entity_picture: /local/zwvapl.jpg
- switch.leviton_unknown_type1a02_id0334_switch_5:
- friendly_name: Roof Lights
- entity_picture: /local/zwvapl.jpg
-
- light.w_bedroom_ceiling_:
- friendly_name: Will's Bedroom Ceiling Lights (Wink)
- entity_picture: /local/casetta.jpg
- light.living_room_wall_:
- friendly_name: Living Room Couch Lights (Wink)
- entity_picture: /local/casetta.jpg
-
- media_player.my_shield_android_tv:
- friendly_name: Dalek (Cast)
- entity_picture: /local/shieldtv.jpg
- media_player.chromecast:
- friendly_name: Jeff chromecast
- entity_picture: /local/chromecast.jpg
- media_player.kodi:
- friendly_name: Tardis-Win7 (Kodi)
- entity_picture: /local/kodi.png
- media_player.kodi_2:
- friendly_name: Dalek (Kodi)
- media_player.roku_2_xd__12a18n045363:
- friendly_name: Parents Roku
- entity_picture: /local/roku2xd.jpg
-
- sensor.aeon_labs_smart_energy_switch_power_2:
- friendly_name: Mac Usage (W)
- sensor.aeon_labs_smart_energy_switch_previous_reading_2:
- friendly_name: Mac Usage Previous (W)
- hidden: true
- sensor.aeon_labs_smart_energy_switch_energy_2:
- friendly_name: Mac Usage (kWh)
- hidden: true
-
-#####################
-## GROUPS
-#####################
-group:
- w_bedroom:
- - switch.leviton_unknown_type1a02_id0334_switch_3
- - light.w_bedroom_ceiling_
- christmas:
- - switch.leviton_unknown_type1a02_id0334_switch_4
- - switch.leviton_unknown_type1a02_id0334_switch_5
- almanac:
- - sensor.date
- - sensor.time
- - sensor.time_utc
- - sun.sun
- tracker:
- - device_tracker.will_wnexus
-# OpenWeatherMap:
-# - sensor.weather_temperature
-# - sensor.weather_humidity
-# - sensor.weather_pressure
-# - sensor.weather_rain
-# - sensor.weather_wind_speed
-# - sensor.weather_cloud_coverage
-# - sensor.weather_forecast
- Meteobridge:
- - sensor.outdoor_temp_meteobridge
- - sensor.outdoor_humidity_meteobridge
- - sensor.outdoor_dewpoint_meteobridge
- - sensor.precip_rate_meteobridge
- - sensor.wind_direction_meteobridge
- - sensor.wind_gust_meteohub
- - sensor.wind_chill_meteobridge
- - sensor.wind_speed_meteobridge
- - sensor.indoor_dewpoint_meteobridge
- - sensor.indoor_humidity_meteobridge
- - sensor.indoor_temp_meteobridge
- - sensor.precip_change_meteobridge
- - sensor.precip_total_meteobridge
- - sensor.sea_level_pressure_meteobridge
- - sensor.barometric_pressure_meteobridge
-
-####################
-## ZONES
-####################
-zone:
- name: Home
- latitude: 37
- longitude: -121
- radius: 200
- icon: mdi:home
-
-zone 2:
- name: Barracuda_(SJ)
- latitude: 37
- longitude: -121
- radius: 100
-
-zone 3:
- name: SFC
- latitude: 37
- longitude: -122
- radius: 95
-
-####################
-## NOTIFICATIONS
-####################
-
-
-####################
-## AUTOMATION
-####################
-automation:
-#- alias: 'W_at_work'
-# trigger:
-# - platform: zone
-# entity_id: device_tracker.will_wnexus
-# zone: zone.barracuda_sj
-# event: enter
-# - platform: time
-# at: '07:15'
-# before: '09:00'
-# action:
-# service: ifttt.trigger
-# data: {"event":"hassnotification_dadsms", "value1": "Will's at Work"}
-- alias: "Update_Update"
- trigger:
- platform: state
- entity_id: updater.updater
- action:
- service: ifttt.trigger
- data: {"event":"hassnotification_willsms","value1":"HASS has an update"}
-- alias: 'Christmas Roof ON'
- trigger:
- platform: sun
- event: sunset
- offset: '-01:00:00'
- action:
- service: homeassistant.turn_on
- entity_id: switch.leviton_unknown_type1a02_id0334_switch_5
-- alias: 'Christmas Roof OFF'
- trigger:
- platform: time
- hours: 1
- minutes: 0
- seconds: 0
- action:
- service: homeassistant.turn_off
- entity_id: switch.leviton_unknown_type1a02_id0334_switch_5
-- alias: 'Christmas Tree ON'
- trigger:
- platform: time
- hours: 8
- minutes: 0
- seconds: 0
- action:
- service: homeassistant.turn_on
- entity_id: switch.leviton_unknown_type1a02_id0334_switch_4
-- alias: 'Christmas Tree (OFF)'
- trigger:
- platform: time
- hours: 23
- minutes: 0
- seconds: 0
- action:
- service: homeassistant.turn_off
- entity_id: switch.leviton_unknown_type1a02_id0334_switch_4
-#- alias: test notify
-# trigger:
-# platform: time
-# minutes: '/5' #every 5 min
-# action:
-# service: notify.pushEtta
-# data:
-# message: 5 Min Test
-
-
-#################################
-### COMPONENTS ###
-#################################
-#discovery:
-sun:
-#updater:
-history:
-#conversation:
-frontend:
-logbook:
-
-http:
- api_password: [password goes here]
- server_port: 8123
- ssl_certificate: /etc/letsencrypt/live/example.com/fullchain.pem
- ssl_key: /etc/letsencrypt/live/example.com/privkey.pem
-
-ifttt:
- key: [redacted]
-
-media_player 1:
- platform: plex
-#media_player 2:
-# platform: squeezebox
-# host: 192.168.2.80
-# port: 9000
-media_player 3:
- platform: cast
-media_player 4:
- platform: kodi
- url: http://192.168.2.129:8080/jsonrpc
- user: kodi
- password: kodi
-media_player 5:
- platform: plex
-media_player 6:
- platform: kodi
- url: http://192.168.2.165/jsonrpc
-media_player 7:
- platform: samsungtv
- host: 192.168.2.90
- name: Parents TV
-
-wink:
- access_token: [redacted]
- refresh_token: [redacted]
-
-zwave:
- usb_path: /dev/ttyUSB0
- config_path: /usr/local/share/python-openzwave/config
- polling_interval: 10000
-
-#zigbee:
-# device: /dev/ttyUSB1
-# baud: 115200
-
-mqtt:
- broker: 127.0.0.1
- port: 8883
- username: [redacted]
- password: [redacted]
-
-device_tracker 1:
- platform: owntracks
-
- track_new_devices: yes
- interval_seconds: 40
- consider_home: 120
-
-device_tracker 2:
- platform: nmap_tracker
- hosts: 192.168.2.0/24
- home_interval: 3
-
-#sensor:
-# platform: openweathermap
-# api_key: [redacted]
-# forecast: 1
-# monitored_conditions:
-# - temperature
-# - wind_speed
-# - humidity
-# - pressure
-# - clouds
-# - rain
-
-sensor 2:
- platform: time_date
- display_options:
- - 'time'
- - 'date'
- - 'time_utc'
-
-### BEGIN METEO SENSORS ###
-sensor 3:
- platform: tcp
- name: Outdoor Temp (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[2]}}{% endraw %}"
- unit: C
-
-sensor 4:
- platform: tcp
- name: Outdoor Humidity (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[3]}}{% endraw %}"
- unit: Percent
-
-sensor 5:
- platform: tcp
- name: Outdoor Dewpoint (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[4] }}{% endraw %}"
- unit: C
-
-sensor 6:
- platform: tcp
- name: Wind Direction (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[7]}}{% endraw %}"
- unit: Degrees
-
-sensor 7:
- platform: tcp
- name: Wind Gust (Meteohub)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[8]}}{% endraw %}"
- unit: m/s
-
-sensor 8:
- platform: tcp
- name: Wind Speed (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[9]}}{% endraw %}"
- unit: m/s
-
-sensor 9:
- platform: tcp
- name: Wind Chill (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[10]}}{% endraw %}"
- unit: C
-
-sensor 10:
- platform: tcp
- name: Precip Rate (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[13]}}{% endraw %}"
- unit: mm/hr
-
-sensor 11:
- platform: tcp
- name: Precip Total (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[14]}}{% endraw %}"
- unit: mm
-
-sensor 12:
- platform: tcp
- name: Precip Change (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[15]}}{% endraw %}"
- unit: mm
-
-sensor 13:
- platform: tcp
- name: Indoor Temp (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[18]}}{% endraw %}"
- unit: C
-
-sensor 14:
- platform: tcp
- name: Indoor Humidity (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[19]}}{% endraw %}"
- unit: percent
-
-sensor 15:
- platform: tcp
- name: Indoor Dewpoint (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[20]}}{% endraw %}"
- unit: C
-
-sensor 16:
- platform: tcp
- name: Barometric Pressure (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[21]}}{% endraw %}"
- unit: mb
-
-sensor 17:
- platform: tcp
- name: Sea Level Pressure (Meteobridge)
- host: 192.168.2.82
- port: 5556
- timeout: 6
- payload: "Content-type: text/xml; charaset=UTF-8\n\n"
- value_template: "{% raw %}{{value.split (' ')[22]}}{% endraw %}"
- unit: mb
-
-sensor 18:
- platform: steam_online
- api_key: [Redact]
- accounts:
- - 76561198012067051
-
-switch:
- platform: wemo
-```
diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown
index d5c5275a1c7..a9f7e045612 100644
--- a/source/_cookbook/fail2ban.markdown
+++ b/source/_cookbook/fail2ban.markdown
@@ -163,7 +163,7 @@ eg:
$ sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx
```
-Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent).
+Fail2ban should now be configured and running, if an IP address is banned you will receive an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent).
If you want to read more about `fail2ban`, some links are below:
diff --git a/source/_cookbook/google_maps_card.markdown b/source/_cookbook/google_maps_card.markdown
index 9055e4c6726..56b3e14f639 100644
--- a/source/_cookbook/google_maps_card.markdown
+++ b/source/_cookbook/google_maps_card.markdown
@@ -10,7 +10,7 @@ footer: true
ha_category: User Interface
---
-Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these urls can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device.
+Using the [generic camera platform] you can present any image on the internet as a camera. Starting release 0.27 these URLs can also be based on a template. This example uses this functionality to point a generic camera at the Google Maps static image API and pass in the location of a device.
As of June 2018, Google has changed the API limits for static maps. You now need to have a Google Maps API key. Instructions for registering a key can be found [here](https://github.com/googlemaps/google-maps-services-python#api-keys). Replace `YOUR_API_KEY` with the key you registered.
diff --git a/source/_cookbook/owntracks_two_mqtt_broker.markdown b/source/_cookbook/owntracks_two_mqtt_broker.markdown
index c4be879045f..bfdee80c666 100644
--- a/source/_cookbook/owntracks_two_mqtt_broker.markdown
+++ b/source/_cookbook/owntracks_two_mqtt_broker.markdown
@@ -25,7 +25,7 @@ Two Docker instances for MQTT
All Docker configuration files are on my NAS so the Docker containers can be destroyed without affecting my actual configuration files.
-#### Docker setup for the mosquitto internal instance. No authentication for use with the MQTT bridge.
+#### Docker setup for the Mosquitto internal instance. No authentication for use with the MQTT bridge.
```bash
$ docker run -ti -p 1883:1883 \
@@ -56,7 +56,7 @@ persistence_file mosquitto.db
try_private true
address 10.0.0.20:1884
start_type automatic
-sername test
+username test
password test
notifications true
topic owntracks/# in
diff --git a/source/_cookbook/perform_actions_based_on_input_select.markdown b/source/_cookbook/perform_actions_based_on_input_select.markdown
index 235ef58351f..87d8e8ae02a 100644
--- a/source/_cookbook/perform_actions_based_on_input_select.markdown
+++ b/source/_cookbook/perform_actions_based_on_input_select.markdown
@@ -1,7 +1,7 @@
---
layout: page
title: "Perform actions based on input select"
-description: "Example playing media to chromecast based on input select element"
+description: "Example playing media to Chromecast based on input select element"
date: 2016-03-07 12:05
sidebar: true
comments: false
diff --git a/source/_docs/asterisk_mbox.markdown b/source/_docs/asterisk_mbox.markdown
index 45bc4071a80..488b254584a 100644
--- a/source/_docs/asterisk_mbox.markdown
+++ b/source/_docs/asterisk_mbox.markdown
@@ -14,7 +14,7 @@ Asterisk Voicemail integration allows Home Assistant to view, listen to and dele
There are two components to the integration:
- A server that runs on the Asterisk PBX host and communicates over an open port.
-- A client which can request inormation from the server.
+- A client which can request information from the server.
Both parts are necessary for Asterisk voicemail integration.
@@ -64,7 +64,7 @@ Before beginning make sure that you have the following:
- **port** (*Optional*): The port to listen on for client requests. Defaults to 12345.
- **password** (*Required*): A password shared between client and server. Use only alpha-numeric characters and spaces
- **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default/
By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system.
@@ -34,13 +34,13 @@ homeassistant:
- type: totp
```
-## {% linkable_title Available mutli-factor authentication modules %}
+## {% linkable_title Available multi-factor authentication modules %}
Below is a list of the currently available auth providers.
-### {% linkable_title Time-based One-Time Password mutli-factor authentication module %}
+### {% linkable_title Time-based One-Time Password multi-factor authentication module %}
-[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key.
+[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authentication system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secret key.
When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the authenticator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate.
@@ -60,16 +60,16 @@ homeassistant:
- type: totp
```
-### {% linkable_title Notify mutli-factor authentication module %}
+### {% linkable_title Notify multi-factor authentication module %}
Notify MFA module using [notify component](https://www.home-assistant.io/components/notify/) to delivery a [HMAC-based One-Time Password](https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm) to user configured target.
-User need first set up the MFA module by select one of the aviliable notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup.
+User need first set up the MFA module by select one of the available notify service. A 6 digit one-time password will be sent by this notify service, user need to input it to verify the setup.
-During the login process, an 6 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again.
+During the login process, a 6 digit one-time password will be sent again, user need to input it to verify his/her identity. If the validation failed, a new one-time password will be sent again.
-Notify MFA module would not verify the one-time password deliveried success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable nofiy MFA module to resolve the issue.
+Notify MFA module would not verify the one-time password delivery success, so that if user cannot received the message due any reason, he/she may not be login again. Edit or remove `[your_config_dir]/.storage/auth_module.notify` can disable notify MFA module to resolve the issue.
Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' [platform](/docs/automation/trigger) instead.
diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown
index c5458e4bf2b..cab429ce404 100644
--- a/source/_docs/configuration/group_visibility.markdown
+++ b/source/_docs/configuration/group_visibility.markdown
@@ -95,7 +95,7 @@ if __name__ == '__main__':
print(get_current_occasion(OCCASIONS))
```
-This script will output "work_morning" from 06:00-07:10 during weekdays (monday-friday), "weekday" during all other time from monday-friday and "weekend" on saturdays and sundays. Adjust according to your needs. To create the sensor, just add it like this:
+This script will output "work_morning" from 06:00-07:10 during weekdays (Monday-Friday), "weekday" during all other time from Monday-Friday and "weekend" on Saturdays and Sundays. Adjust according to your needs. To create the sensor, just add it like this:
```yaml
sensor:
diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown
index 9bcd0e2822c..5cb76f6b4f2 100644
--- a/source/_docs/configuration/packages.markdown
+++ b/source/_docs/configuration/packages.markdown
@@ -89,3 +89,12 @@ homeassistant:
This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames.
See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful.
+
+### {% linkable_title Customizing entities with packages %}
+
+It is possible to [customize entities](docs/configuration/customizing-devices/) within packages. Just create your customization entries under:
+
+```yaml
+homeassistant:
+ customize:
+```
diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown
index 664acbe217b..85117013ff5 100644
--- a/source/_docs/configuration/securing.markdown
+++ b/source/_docs/configuration/securing.markdown
@@ -12,24 +12,47 @@ redirect_from: /getting-started/securing/
One major advantage of Home Assistant is that it's not dependent on cloud services. Even if you're only using Home Assistant on a local network, you should take steps to secure your instance.
-### {% linkable_title Checklist %}
+## {% linkable_title Checklist %}
-- [Choose a strong password](/docs/authentication/).
-- Secure your host. Sources could be [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf), or the [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html).
-- Restrict network access to your devices. Set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords.
-- Don't run Home Assistant as root – consider the Principle of Least Privilege.
-- Keep your [secrets](/topics/secrets/) safe.
+Here's the summary of what you *must* do to secure your Home Assistant system:
-If you want to allow remote access, consider these additional points:
+☐ Configure [secrets](/topics/secrets/) (but do remember to back them up)
+☐ Regularly keep the system up to date
-- Protect your communication with [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/).
-- Enable IP Filtering and configure a low [Login Attempts Threshold](/components/http/)
-- Protect your communication with [Tor](/cookbook/tor_configuration/).
-- Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/).
-- Use a [proxy](/cookbook/apache_configuration/).
-- Set up a VPN
-- Use a [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/) to connect to your frontend.
+If you only want to use components supported by [Home Assistant cloud](/cloud/) then you don't need to enable remote access. This is obviously the most secure option, but does mean that you're relying on a cloud service for that functionality.
+
+☐ For remote access to the UI, use a [VPN](http://www.pivpn.io/), [Tor](/docs/ecosystem/tor/), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/)
+☐ For remote access for components, use a [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate
+
+### {% linkable_title You should %}
+
+As well as the above we advise that you consider the following to improve security:
+
+- For systems that use SSH set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services.
+- Lock down the host following good practice guidance, for example:
+ * [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html) (this also applies to Raspbian)
+ * [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf)
- If you've forwarded any ports to your Home Assistant system from the Internet then it *will* be found by others. Whether through services like Shodan, or direct port scanning, all systems on the Internet are routinely probed for accessible services. If you fail to set a password then it is simply a matter of time before somebody finds your system - potentially as little as a few hours.
+ If you've forwarded *any* ports to your Home Assistant system from the Internet, then it *will* be found by others. Whether through services like Shodan, or direct port scanning, all systems on the Internet are routinely probed for accessible services. If you fail to set a password then it is simply a matter of time before somebody finds your system and starts abusing it - potentially as little as a few hours.
USB Z-wave sticks may give `dmesg` warnings similar to "data interface 1, has no CM over data, has no break". This doesn't impact the function of the Z-wave stick in Hass. Just make sure the proper `/dev/cu*` is used in the Home Assistant `configuration.yaml` file. diff --git a/source/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown index bfc7d4e4d72..41af2edf384 100644 --- a/source/_docs/installation/hassbian/installation.markdown +++ b/source/_docs/installation/hassbian/installation.markdown @@ -40,7 +40,7 @@ The following extras are included on the image: ### {% linkable_title Wireless Network %} -After flashing the image to your SD Card open the partition `boot` and create a new file `wpa_supplicant.conf`. Edit the file and enter your network credentials. For more information visit [Setting up Wifi for Raspbian][wifi-setup]. During start the file will automatically be copied in the right folder and the network connection will be established. The file could look like this: +After flashing the image to your SD Card open the partition `boot` and create a new file `wpa_supplicant.conf`. Edit the file and enter your network credentials. For more information visit [Setting up WiFi for Raspbian][wifi-setup]. During start the file will automatically be copied in the right folder and the network connection will be established. The file could look like this: ```conf country=SE @@ -55,7 +55,7 @@ network={ You may need to adjust the country code depending upon where you are. A list of codes can be found [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements). -If you are running in trouble with your Wifi connection (for [further details](https://www.raspberrypi.org/forums/viewtopic.php?t=207882)), check the output of the following command: +If you are running in trouble with your WiFi connection (for [further details](https://www.raspberrypi.org/forums/viewtopic.php?t=207882)), check the output of the following command: ```bash $ sudo rfkill list diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 336ced4598e..59f22869f16 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -12,7 +12,7 @@ redirect_from: /getting-started/installation-virtualenv/ If you already have Python 3.5.3 or later installed, you can easily give Home Assistant a spin. -It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most unix like systems. +It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems. _(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`.)_ diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 9da45c0aa2b..3bd4a98369a 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -59,7 +59,7 @@ mqtt: ### {% linkable_title Run your own %} -Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: eg. [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). +Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/). ```yaml # Example configuration.yaml entry @@ -98,7 +98,7 @@ protocol: type: string certificate: required: false - description: Path to the certificate file, eg. `/home/user/.homeassistant/server.crt`. + description: Path to the certificate file, e.g., `/home/user/.homeassistant/server.crt`. type: string tls_insecure: required: false diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown index fdb5a411a20..e40a86276e6 100644 --- a/source/_docs/z-wave/adding.markdown +++ b/source/_docs/z-wave/adding.markdown @@ -24,7 +24,7 @@ Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices), Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.
-When you add a device, it may initially appear without a specific entity ID (eg `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. +When you add a device, it may initially appear without a specific entity ID (e.g., `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible. ## {% linkable_title Network Key %} diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index 2556722cb8d..018857fb5bc 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -70,7 +70,7 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro * **retries** How many retries have been made to send messages to this node * **sentCnt** How many messages have been sent to the node * **sentFailed** How many messages that were sent weren't acknowledged -* **sentTS** The date and time the last message was sent to the ndoe +* **sentTS** The date and time the last message was sent to the node * **wake_up_interval** *Battery powered devices only* - the wakeup interval of the device, in seconds@@ -82,7 +82,7 @@ Battery powered devices need to be awake before you can use the Z-Wave control p This is a dropdown where you can select all the entities of this node. Once selected you can then use: * **Refresh Entity** to refresh just that entity's values -* **Entity Attributes** to display the attributes of that entity (eg its friendly name, the ID of the node, etc) +* **Entity Attributes** to display the attributes of that entity (e.g., its friendly name, the ID of the node, etc) Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn't send updates itself. Do see the information on [polling here](/docs/z-wave/devices/#polling), since excessive polling can break your Z-Wave network. @@ -130,7 +130,7 @@ Set the new selection by pressing the **Set Protection** button. ## {% linkable_title Node user codes %} -If your node has user codes, you can set and delete them. The format is raw hex Ascii code. Below the input you will see your actual code. For normal nodes this is as follows: +If your node has user codes, you can set and delete them. The format is raw hex ASCII code. Below the input you will see your actual code. For normal nodes this is as follows: ```yaml \x30 = 0 \x31 = 1 @@ -144,7 +144,7 @@ If your node has user codes, you can set and delete them. The format is raw hex \x39 = 9 ``` Some non compliant device like tag readers, have implemented to use raw hex code. -Please refer to a hex ascii table to set your code. Example: http://www.asciitable.com/ +Please refer to a hex ASCII table to set your code. Example: http://www.asciitable.com/ Here is a small Python program than will take numbers on the command line and print the correct sequence for compliant devices: diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 128b122649b..8548c92f9c1 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -11,21 +11,17 @@ footer: true ## {% linkable_title Supported Z-Wave USB Sticks & Hardware Modules %} -You need to have a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) installed. +You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. The following devices have been confirmed to work: -| Device | Works on Linux | Works on Windows | Works on OSX | -|-------------------------|----------------|------------------|--------------| -| Aeotec Z-Stick | ✓ | | | -| Aeotec Z-Stick Series 2 | ✓ | | | -| Aeotec Z-Stick Series 5 | ✓ | ✓ | ✓ | -| Pine64 Z-Wave Module | ✓ | | | -| Razberry GPIO Module | ✓ | | | -| Seluxit ViaSens 100 | | | | -| Sigma Designs UZB Stick | | | | -| Tricklestar | | | | -| Vision USB Stick | | | | -| ZWave.me Razberry Board | ✓ | | | -| ZWave.me UZB1 | ✓ | | | +* Aeotec Z-Stick Series 5 +* Everspring USB stick - Gen 5 +* Sigma Designs UZB stick +* Vision USB stick - Gen5 +* Zooz Z-Wave Plus S2 stick ZST10 +* ZWave.me Razberry Board +* ZWave.me UZB1 stick + +We recommend that you purchase a [Z-Wave Plus](https://z-wavealliance.org/z-wave_plus_certification/) controller, to take advantage of the improvements this provides. As OpenZWave doesn't support S2 or Smart Start, there's no need to buy one just for support of these features.
If you're using Hass.io or running HASS in a Docker container, it's recommended to use a USB stick, not a module. Passing a module through Docker is more complicated than passing a USB stick through. diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index de2ab1b2a16..bb8c9c805bd 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -73,7 +73,7 @@ crw-rw---- 1 root dialout 204, 64 Sep 2 14:38 /dev/ttyAMA0 at this point simply add your user (homeassistant) to the dialout group: ```bash -$ sudo usermod -a -G dialout homeassistant +$ sudo usermod -a -G dialout homeassistant ``` Finally, reboot again to make those changes active. It's has been tested on hassbian and has been reported that this is also required on the Pi2. diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 444634feb8e..833275cdbb7 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -104,7 +104,7 @@ device_config / device_config_domain / device_config_glob: type: integer default: 2 invert_openclose_buttons: - description: Inverts function of the open and close buttons for the cover domain. This will not invert the positon and state reporting. + description: Inverts function of the open and close buttons for the cover domain. This will not invert the position and state reporting. required: false type: boolean default: False diff --git a/source/_docs/z-wave/services.markdown b/source/_docs/z-wave/services.markdown index 17cc8270ef0..905d85f7fd0 100644 --- a/source/_docs/z-wave/services.markdown +++ b/source/_docs/z-wave/services.markdown @@ -17,7 +17,7 @@ The `zwave` component exposes multiple services to help maintain the network. Al | add_node_secure | Put the Z-Wave controller in secure inclusion mode. Allows you to add a new device with secure communications to the Z-Wave network. | | cancel_command | Cancels a running Z-Wave command. If you have started an add_node or remove_node command, and decide you are not going to do it, then this must be used to stop the inclusion/exclusion command. | | change_association | Add or remove an association in the Z-Wave network | -| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. | +| heal_network | Tells the controller to "heal" the Z-Wave network. Basically asks the nodes to tell the controller all of their neighbors so the controller can re-figure out optimal routing. | | heal_node | Tells the controller to "heal" a specific node on the network. Requires `node_id` field. You can also force return route update with `return_routes` field. | print_config_parameter | Prints Z-Wave node's config parameter value to the (console) log. | | print_node | Print all states of Z-Wave node. | diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index a025b721e38..5e91cb65d80 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -74,7 +74,7 @@ name: type: string icon: required: true - description: "Icon to display (e.g. `mdi:home`)" + description: "Icon to display (e.g., `mdi:home`)" type: string action_name: required: true @@ -103,7 +103,7 @@ name: type: string icon: required: true - description: "Icon to display (e.g. `mdi:home`)" + description: "Icon to display (e.g., `mdi:home`)" type: string url: required: true diff --git a/source/_lovelace/gauge.markdown b/source/_lovelace/gauge.markdown new file mode 100644 index 00000000000..32528d7371f --- /dev/null +++ b/source/_lovelace/gauge.markdown @@ -0,0 +1,100 @@ +--- +layout: page +title: "Gauge Card" +sidebar_label: Gauge +description: "The Gauge card allows you to display sensor information visually" +date: 2018-10-11 10:28 +00:00 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Gauge card is a basic card that allows visually seeing sensor data. + +
+
+Screenshot of the gauge card.
+
+
+Screenshot of the gauge card with custom title and unit of measurement.
+
+
+Configuring IFTTT via th integrations panel.
+
- Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process. +
+For advanced users or if you have no Raspberry Pi at hand, check our [alternative installation methods](/docs/installation/). The [FAQ](/faq/#home-assistant-vs-hassio) explains more about the differences.
### {% linkable_title Suggested hardware%} @@ -44,13 +44,19 @@ We will need a few things to get started with installing Home Assistant. For bes 1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. 1. Connect your Raspberry Pi to the power supply, so it turns on. 1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. -1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete. +1. Home Assistant will be available at [http://hassio.local:8123][local]. Shortly after the download has started, a simple preparation status page will be available at this URL. Point your browser there. The page refreshes automatically, and Home Assistant will be shown when the download is complete (this typically takes around 20 minutes). +1. Please remember to [secure your installation][secure] once you've finished with the installation process. [local]: http://hassio.local:8123 [the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md +[secure]: /docs/configuration/securing/-When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly. +If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router. +
+ ++When you're done, remember to set up regular backups of your configuration. These backups will protect you from hardware failure and mistakes. On Hass.io you have snapshots (which you should copy off to another system), but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_dropbox/) and many other ways. All that matters is that you set them up and test them regularly.
### [Next step: Configuring Home Assistant »](/getting-started/configuration/) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index a337fc900f3..c06fac4ef3d 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -9,38 +9,53 @@ sharing: true footer: true --- -Hass.io images are available for: +The following will take you through the steps required to install Hass.io. -- Download the appropriate image for your device: - - [Raspberry Pi Zero][pi1] - - [Raspberry Pi Zero W][pi0-w] - - [Raspberry Pi 1 Model B][pi1] - - [Raspberry Pi 2 Model B][pi2] - - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended) - - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] - - [Tinkerboard (Beta)][tinker] - - [Odroid-C2 (Beta)][odroid-c2] -- As [Virtual Appliance]: - - [VMDK][vmdk] +1. Download the appropriate install option: --Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar. -
+ - As an image for your device: + + - [Raspberry Pi Zero][pi1] + - [Raspberry Pi Zero W][pi0-w] + - [Raspberry Pi 1 Model B][pi1] + - [Raspberry Pi 2 Model B][pi2] + - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] + - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] (beta) + - [Tinkerboard (Beta)][tinker] + - [Odroid-C2 (Beta)][odroid-c2] + + - As a virtual appliance: + + - [OVA][Virtual Appliance] + - [VMDK][vmdk] + +2. Install Hass.io: -- Flash the downloaded image to an SD card using [Etcher][etcher]. We recommend at least a 32 GB SD card to avoid running out of space. + - Flash the downloaded image to an SD card using [Etcher][etcher]. We recommend at least a 32 GB SD card to avoid running out of space. + - Load the appliance image into your virtual machine software. -- Optional - Setup the WiFi or static IP: On a USB stick, create the `network/my-network` file and follow the [HassOS howto][hassos-network]. -- Insert the SD card (and optional USB stick) into the Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which takes ~20 minutes (slower/faster depending on the platform). +3. Optional - set up the WiFi or static IP: On a USB stick, create the `network/my-network` file and follow the [HassOS howto][hassos-network]. -If your router doesn't support mDNS, then you'll have to use the IP address of your Pi instead of `hassio.local`. For example, `http://192.168.0.9:8123`. You should be able to find the IP address of your Pi from the admin interface of your router.
++If you are using a Raspberry Pi please remember to ensure you're using an [appropriate power supply][pi-power] with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar. +
+ +Now you can [configure][configure] your install. + ### {% linkable_title Migrating from a non-Hass.io install %} If you copy over your existing Home Assistant configuration, make sure to enable the Hass.io panel by adding either `discovery:` or `hassio:` to your configuration. @@ -72,7 +87,7 @@ $ curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/ When you use this installation method, the core SSH add-on may not function correctly. If that happens, use the community SSH add-on. Some of the documentation might not work for your installation either. -A detailed guide about running Hass.io as a virtual machine is available in the [blog](/blog/2017/11/29/hassio-virtual-machine/). +A detailed guide about running Hass.io as a virtual machine is available in the [blog][hassio-vm]. [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md @@ -89,3 +104,6 @@ A detailed guide about running Hass.io as a virtual machine is available in the [local]: http://hassio.local:8123 [samba]: /addons/samba/ [ssh]: /addons/ssh/ +[pi-power]: https://www.raspberrypi.org/help/faqs/#powerReqs +[hassio-vm]: /blog/2017/11/29/hassio-virtual-machine/ +[configure]: /getting-started/configuration/ diff --git a/source/help/reporting_issues.markdown b/source/help/reporting_issues.markdown index d2290788c55..2bc89b048ca 100644 --- a/source/help/reporting_issues.markdown +++ b/source/help/reporting_issues.markdown @@ -31,7 +31,7 @@ If possible, provide the latest release of which you know that the component or ### {% linkable_title Operating environment (Hass.io/Docker/Windows/etc.) %} -There are many different ways to run Home Assistant. In this section please mention which you are using, e.g. manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level. +There are many different ways to run Home Assistant. In this section please mention which you are using, e.g., manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level. ### {% linkable_title Component/platform %} diff --git a/source/images/blog/2018-10-release-80/config-ifttt.png b/source/images/blog/2018-10-release-80/config-ifttt.png new file mode 100644 index 00000000000..198091207f8 Binary files /dev/null and b/source/images/blog/2018-10-release-80/config-ifttt.png differ diff --git a/source/images/blog/2018-10-release-80/lovelace-glance-sensor.png b/source/images/blog/2018-10-release-80/lovelace-glance-sensor.png new file mode 100644 index 00000000000..c172071b5b4 Binary files /dev/null and b/source/images/blog/2018-10-release-80/lovelace-glance-sensor.png differ diff --git a/source/ios/beta.markdown b/source/ios/beta.markdown index da0a5e1f3d7..100994d7f51 100644 --- a/source/ios/beta.markdown +++ b/source/ios/beta.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Join Home Assistant iOS beta" -description: "Invititation to join the Home Assistant iOS beta." +description: "Invitation to join the Home Assistant iOS beta." release_date: 2016-10-24 15:00:00 -0700 sidebar: true comments: false diff --git a/source/javascripts/libs/swfobject-dynamic.js b/source/javascripts/libs/swfobject-dynamic.js index b021614524f..a9442349422 100644 --- a/source/javascripts/libs/swfobject-dynamic.js +++ b/source/javascripts/libs/swfobject-dynamic.js @@ -202,7 +202,7 @@ var swfobject = function() { function hasPlayerVersion(rv) { var pv = ua.pv, v = rv.split("."); v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" + v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0" v[2] = parseInt(v[2], 10) || 0; return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; } diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 848cfeef188..5bb15411593 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -7,6 +7,7 @@ sidebar: true comments: false sharing: true footer: true +redirect_from: /components/lovelace/ ---
@@ -116,7 +117,7 @@ views:
Now restart Home Assistant, navigate to `