From cdc5b4941cbba87b3b5bc3689ff8b7d4360d14c5 Mon Sep 17 00:00:00 2001 From: tiagofreire-pt <41837236+tiagofreire-pt@users.noreply.github.com> Date: Fri, 10 Jan 2020 10:26:05 +0000 Subject: [PATCH 001/117] New nomenclature for Roborock fan speeds (#11523) * New nomenclature for Roborock fan speeds Docs updated regarding PR #30164: https://github.com/home-assistant/home-assistant/pull/30164 * Update source/_integrations/vacuum.xiaomi_miio.markdown Co-Authored-By: Franck Nijhof * Update vacuum.xiaomi_miio.markdown * Update vacuum.xiaomi_miio.markdown Co-authored-by: Franck Nijhof --- source/_integrations/vacuum.xiaomi_miio.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown index cce32980088..b3e372fca41 100644 --- a/source/_integrations/vacuum.xiaomi_miio.markdown +++ b/source/_integrations/vacuum.xiaomi_miio.markdown @@ -18,8 +18,9 @@ Currently supported services are: - `return_to_base` - `locate` - `clean_spot` -- `set_fan_speed` -- remote control of your robot. +- `set_fan_speed` + Fan speeds: `Silent`, `Standard`, `Medium`, `Turbo` and `Gentle` (exclusively for mopping). +- `remote_control_*` (of your robot) - `xiaomi_clean_zone` ## Configuration From 92cae865df3901f3dd268e81605cb7279880e78d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 10 Jan 2020 16:43:47 -0800 Subject: [PATCH 002/117] Migrate Ring to config entry (#11679) * Migrate Ring to config entry * :pencil2: Tweak * :pencil2: Tweaks Co-authored-by: Klaas Schoute Co-authored-by: Franck Nijhof --- source/_integrations/ring.markdown | 107 ++++------------------------- 1 file changed, 12 insertions(+), 95 deletions(-) diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index 5b15811f835..a84b2540db0 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -11,6 +11,7 @@ ha_category: - Light ha_release: 0.42 ha_iot_class: Cloud Polling +ha_config_flow: true --- The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. @@ -22,14 +23,18 @@ There is currently support for the following device types within Home Assistant: - [Sensor](#sensor) - [Switch](#switch) -Currently only doorbells are supported by this sensor. -

This component does NOT allow for live viewing of your Ring camera within Home Assistant.

## Configuration +Go to the integrations page in your config and click on new integration -> Ring. + +## YAML configuration + +YAML configuration is around for people that prefer YAML, but it's not preferred! The YAML method does not work with two-factor authentication and it requires you to store your username/password. The normal method only requires you to enter username/password once. + To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file: ```yaml @@ -48,36 +53,11 @@ password: description: The password for accessing your Ring account. required: true type: string -scan_interval: - description: How frequently to query for new video, or current sensor values in seconds - required: false - type: integer - default: 10 {% endconfiguration %} ## Binary Sensor -Once you have enabled the [Ring integration](/integrations/ring), you can start using a binary sensor. Add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -binary_sensor: - - platform: ring -``` - -{% configuration %} -monitored_conditions: - description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - required: false - type: list - keys: - ding: - description: Return a boolean value when the doorbell button was pressed. - motion: - description: Return a boolean value when a movement was detected by the Ring doorbell. -{% endconfiguration %} - -Currently it supports doorbell, external chimes and stickup cameras. +Once you have enabled the [Ring integration](/integrations/ring), you can start using a binary sensor. Currently, it supports doorbell, external chimes and stickup cameras. ## Camera @@ -85,24 +65,7 @@ Currently it supports doorbell, external chimes and stickup cameras. Please note that downloading and playing Ring video will require a Ring Protect plan. -Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. Add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -camera: - - platform: ring -``` - -{% configuration %} -ffmpeg_arguments: - description: Extra options to pass to ffmpeg, e.g., image quality or video filter options. - required: false - type: string -{% endconfiguration %} - -**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/integrations/ffmpeg/) documentation. - -Currently it supports doorbell and stickup cameras. +Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. Currently, it supports doorbell and stickup cameras. ## Saving the videos captured by your Ring Door Bell @@ -154,58 +117,12 @@ hass.services.call("downloader", "download_file", data) ## Sensor -Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: ring -``` - -{% configuration %} -monitored_conditions: - type: list - required: false - description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. - keys: - battery: - description: Return the battery level from device. - last_activity: - description: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera. - last_ding: - description: Return the timestamp from the last time the Ring doorbell button was pressed. - last_motion: - description: Return the timestamp from the last motion event captured by the Ring doorbell camera. - volume: - description: Return the volume level from the device. - wifi_signal_category: - description: Return the WiFi signal level from the device. - wifi_signal_strength: - description: Return the WiFi signal strength (dBm) from the device. -{% endconfiguration %} - -Currently it supports doorbell, external chimes and stickup cameras. +Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Currently, it supports doorbell, external chimes and stickup cameras. ## Switch -Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform. Add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -switch: - - platform: ring -``` - -This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off. +Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform. This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off. ## Light -Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. Add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: ring -``` - -This will add a light for every camera that supports a light (such as a flood light). +Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. This will add a light for every camera that supports a light (such as a floodlight). From a32870c4ef5b46c70f151e1166df7eeb58c05d97 Mon Sep 17 00:00:00 2001 From: Alexei Chetroi Date: Fri, 10 Jan 2020 19:44:11 -0500 Subject: [PATCH 003/117] Remove nonexistent default value for initial parameter. (#11694) --- source/_integrations/input_text.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index b90ed64f900..12245543659 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -54,7 +54,6 @@ input_text: description: Initial value when Home Assistant starts. required: false type: string - default: empty icon: description: Icon to display in front of the input element in the frontend. required: false From 744a1aef8747061d1e520d9d9c68766b20886e42 Mon Sep 17 00:00:00 2001 From: etheralm <8655564+etheralm@users.noreply.github.com> Date: Sat, 11 Jan 2020 10:51:47 +0100 Subject: [PATCH 004/117] add TP06 model to dyson docs (#11689) --- source/_integrations/dyson.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/dyson.markdown b/source/_integrations/dyson.markdown index 89a851d653f..0a55078005c 100644 --- a/source/_integrations/dyson.markdown +++ b/source/_integrations/dyson.markdown @@ -169,3 +169,4 @@ Note: currently only the 2018 dyson fans are supported(TP04 and DP04). - Pure Cool link (desk and tower) - Pure Hot+cool link (see climate part) for thermal control - Pure Cool 2018 Models (TP04 and DP04) +- Pure Cool Cryptomic (TP06) From b136b44903648c3e7d690e213733086206391f41 Mon Sep 17 00:00:00 2001 From: Bill Durr Date: Sun, 12 Jan 2020 01:28:43 -0500 Subject: [PATCH 005/117] Add cover to ZHA supported devices (#11695) * Add cover to supported devices * :ambulance: Fix Co-authored-by: Klaas Schoute --- source/_integrations/zha.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 8fd761393c5..256d13ae2c1 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -10,6 +10,7 @@ ha_category: - Lock - Sensor - Switch + - Cover ha_release: 0.44 ha_iot_class: Local Polling featured: true @@ -30,6 +31,7 @@ There is currently support for the following device types within Home Assistant: - Lock - Switch - Fan +- Cover ## ZHA exception and deviation handling From 6f0971cc81b55901d393c225feaddedfb4be302a Mon Sep 17 00:00:00 2001 From: Spiffo Date: Sun, 12 Jan 2020 09:24:54 +0100 Subject: [PATCH 006/117] Update sensor.buienradar.markdown (#11714) alas... snow is not going to happen anymore anytime soon in the Netherlands... :) snow_1d is not supported (anymore?) as a monitored condition in the sensor. --- source/_integrations/sensor.buienradar.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown index 2ba53e22811..d9497a56a4f 100644 --- a/source/_integrations/sensor.buienradar.markdown +++ b/source/_integrations/sensor.buienradar.markdown @@ -113,8 +113,6 @@ monitored_conditions: description: "The minimum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." maxrain_1d: description: "The maximum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." - snow_1d: - description: "The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre)." windazimuth_1d: description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. (derived from winddirection_1d) winddirection_1d: From 357a81d1176c328e0349eadb92c8e025bb3f0ac8 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Mon, 13 Jan 2020 00:48:07 -0700 Subject: [PATCH 007/117] Add docs for upcoming SimpliSafe changes (#11667) --- source/_integrations/simplisafe.markdown | 56 +++++++++--------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index fab3604c3e5..cb692335431 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -60,35 +60,6 @@ Remove a SimpliSafe PIN (by label or PIN value). | `system_id` | no | The ID of a SimpliSafe system | | `label_or_pin` | no | The PIN label or value to remove | -### `simplisafe.set_alarm_duration` - -Set the duration (in seconds) of an active alarm. - -| Service Data Attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------| -| `system_id` | no | The ID of a SimpliSafe system | -| `duaration` | no | The number of seconds to sound the alarm | - -### `simplisafe.set_delay` - -Set a duration for how long the base station should delay when transitioning between states. - -| Service Data Attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------| -| `system_id` | no | The ID of a SimpliSafe system | -| `arrival_state` | no | The target "arrival" state (away, home) | -| `transition` | no | The system state transition to affect (entry, exit) | -| `seconds` | no | The number of seconds to delay | - -### `simplisafe.set_light` - -Turn the base station light on/off. - -| Service Data Attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------| -| `system_id` | no | The ID of a SimpliSafe system | -| `light_state` | no | True for on, False for off | - ### `simplisafe.set_pin` Set a SimpliSafe PIN. @@ -99,12 +70,25 @@ Set a SimpliSafe PIN. | `label` | no | The label to show in the SimpliSafe UI | | `pin` | no | The PIN value to use | -### `simplisafe.set_volume_property` +### `simplisafe.system_properties` -Set a level for one of the base station's various volumes. +Set one or more system properties. -| Service Data Attribute | Optional | Description | -|---------------------------|----------|---------------------------------------------| -| `system_id` | no | The ID of a SimpliSafe system | -| `volume_property` | no | The volume property to set (alarm, chime, voice_prompt) | -| `volume` | no | A volume (off, low, medium, high) | +For any property denoting a volume, the following values should be used: + +* Off: `0` +* Low: `1` +* Medium: `2` +* High: `3` + +| Service Data Attribute | Optional | Description | +|---------------------------|----------|------------------------------------------------------------------------------| +| `system_id` | no | The ID of a SimpliSafe system | +| `alarm_duration` | yes | The number of seconds a triggered alarm should sound | +| `chime_volume` | yes | The volume of the door chime | +| `entry_delay_away` | yes | The number of seconds to delay triggering when entering with an "away" state | +| `entry_delay_home` | yes | The number of seconds to delay triggering when entering with a "home" state | +| `exit_delay_away` | yes | The number of seconds to delay triggering when exiting with an "away" state | +| `exit_delay_home` | yes | The number of seconds to delay triggering when exiting with a "home" state | +| `light` | yes | Whether the light on the base station should display when armed | +| `voice_prompt_volume` | yes | The volume of the base station's voice prompts | From a06e7a5d6ecf1d2bd2685e4a18d44585fe019c6f Mon Sep 17 00:00:00 2001 From: Yarmo Mackenbach Date: Mon, 13 Jan 2020 11:16:34 +0100 Subject: [PATCH 008/117] Update nederlandse_spoorwegen.markdown (#11700) * Update nederlandse_spoorwegen.markdown Changes reflect this [PR](https://github.com/home-assistant/home-assistant/pull/30611) * :pencil2: Tweak * Fixed typo Co-Authored-By: Anders Melchiorsen Co-authored-by: Franck Nijhof Co-authored-by: Anders Melchiorsen --- .../nederlandse_spoorwegen.markdown | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/source/_integrations/nederlandse_spoorwegen.markdown b/source/_integrations/nederlandse_spoorwegen.markdown index e78091e404b..eb604ae37fa 100644 --- a/source/_integrations/nederlandse_spoorwegen.markdown +++ b/source/_integrations/nederlandse_spoorwegen.markdown @@ -10,16 +10,15 @@ ha_release: 0.57 This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands. -You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`. +To obtain an API key, create an account on the [NS API-Portaal](https://apiportal.ns.nl/) and obtain an API key for the `RetrieveTripInformationPublicAPI` API. -Add the data to your `configuration.yaml` file as shown in the example: +The `nederlandse_spoorwegen` integration can be configured using `configuration.yaml` as shown below: ```yaml # Example configuration.yaml entry sensor: - platform: nederlandse_spoorwegen - email: you@example.com - password: !secret ns_password + api_key: NS_API_KEY routes: - name: Rotterdam-Amsterdam from: Rtd @@ -31,16 +30,12 @@ sensor: ``` {% configuration %} -email: - description: The email address you used to request the API password. - required: true - type: string -password: - description: The API password provided by the Nederlandse Spoorwegen. +api_key: + description: The API key provided by the Nederlandse Spoorwegen. required: true type: string routes: - description: List of traveling routes. + description: List of travel routes. required: false type: list keys: @@ -49,15 +44,15 @@ routes: required: true type: string from: - description: The start station. + description: The departure station. required: true type: string to: - description: Direction of the traveling. + description: The arrival station. required: true type: string via: - description: Optional other station you wish to visit in between. + description: A station the route needs to pass through. required: false type: string {% endconfiguration %} From 8bb75da0c2db48b19ff6da67d699c92b2da69a71 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 13 Jan 2020 13:51:02 +0100 Subject: [PATCH 009/117] Remove hidden property from xiaomi_miio.remote integration (#11727) --- source/_integrations/remote.xiaomi_miio.markdown | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/_integrations/remote.xiaomi_miio.markdown b/source/_integrations/remote.xiaomi_miio.markdown index d06af7d9043..d0b32e1a98f 100644 --- a/source/_integrations/remote.xiaomi_miio.markdown +++ b/source/_integrations/remote.xiaomi_miio.markdown @@ -47,11 +47,6 @@ timeout: required: false type: integer default: 30 -hidden: - description: Hide the entity from UI. There is currently no reason to show the entity in UI as turning it off or on does nothing. - required: false - type: boolean - default: true commands: description: A list of commands required: false @@ -74,7 +69,6 @@ remote: token: YOUR_TOKEN slot: 1 timeout: 30 - hidden: false commands: activate_towel_heater: command: From cda7b104fd1f92f4c4a13295e0c4bf89cecfdeab Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 13 Jan 2020 15:55:00 +0100 Subject: [PATCH 010/117] Remove auto_hide from emby integration (#11728) --- source/_integrations/emby.markdown | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/_integrations/emby.markdown b/source/_integrations/emby.markdown index 1c0f4490447..0379284835b 100644 --- a/source/_integrations/emby.markdown +++ b/source/_integrations/emby.markdown @@ -42,9 +42,4 @@ port: required: false default: 8096 (No SSL), 8920 (SSL) type: integer -auto_hide: - description: Automatically hide devices that are unavailable from the Home Assistant Interface. - required: false - default: false - type: boolean {% endconfiguration %} From 1a65e80f3ae46e75f79f06fd58c4397012f1dda8 Mon Sep 17 00:00:00 2001 From: Alistair Galbraith Date: Mon, 13 Jan 2020 08:00:17 -0800 Subject: [PATCH 011/117] Documentation for template alarm_control_panel (#9801) * Added new platform documentation * Move documentation to new integrations location * Update documentation to modern level Co-authored-by: Franck Nijhof --- .../alarm_control_panel.template.markdown | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 source/_integrations/alarm_control_panel.template.markdown diff --git a/source/_integrations/alarm_control_panel.template.markdown b/source/_integrations/alarm_control_panel.template.markdown new file mode 100644 index 00000000000..7c626c7205f --- /dev/null +++ b/source/_integrations/alarm_control_panel.template.markdown @@ -0,0 +1,90 @@ +--- +title: "Template Alarm Control Panel" +description: "Instructions on how to integrate Template Alarm Control Panels into Home Assistant." +ha_category: + - Alarm +ha_release: 0.105 +ha_iot_class: "Local Push" +logo: home-assistant.png +ha_qa_scale: internal +--- + +The `template` integrations creates alarm control panels that combine integrations or adds pre-processing logic to actions. + +There are several powerful ways to use this integration, including grouping existing integrations into a simpler integrations, or adding logic that Home Assistant will execute when accessed. + +For example, if you want to expose a true alarm panel to Google Home, Alexa, or Homekit - but limit its ability to disarm when there's no one home, you can do that using a template. + +Another use case could be grouping a series of internal and external locks together to represent "Home" and "Away" lock states. + +This can simplify the GUI and make it easier to write automations. + +In optimistic mode, the alarm control panel will immediately change state after every command. Otherwise, the lock will wait for state confirmation from the template. Try to enable it, if experiencing incorrect lock operation. + +## Configuration + +To enable a Template Alarm Control Panel in your installation, add the following to your `configuration.yaml` file: + +{% raw %} + +```yaml +# Example configuration.yaml entry +alarm_control_panel: + - platform: template + name: Safe Alarm Panel + value_template: "{{ states('alarm_control_panel.real_alarm') }}" + arm_away: + service: alarm_control_panel.alarm_arm_away + data: + entity_id: alarm_control_panel.real_alarm + code: !secret alarm_code + arm_home: + service: alarm_control_panel.alarm_arm_home + data: + entity_id: alarm_control_panel.real_alarm + code: !secret alarm_code + disarm: + - condition: state + entity_id: device_tracker.paulus + state: 'home' + - service: alarm_control_panel.alarm_arm_home + data: + entity_id: alarm_control_panel.real_alarm + code: !secret alarm_code +``` + +{% endraw %} + +{% configuration %} + name: + description: Name to use in the frontend. + required: false + type: string + default: Template Alarm Control Panel + value_template: + description: Defines a template to set the state of the alarm panel. + required: false + type: template + disarm: + description: Defines an action to run when the alarm is disarmed. + required: false + type: action + arm_away: + description: Defines an action to run when the alarm is armed to away mode. + required: false + type: action + arm_home: + description: Defines an action to run when the alarm is armed to home mode. + required: false + type: action + arm_night: + description: Defines an action to run when the alarm is armed to night mode. + required: false + type: action +{% endconfiguration %} + +## Considerations + +If you are using the state of a integration that takes extra time to load, the Template Alarm Control Panel may get an `unknown` state during startup. This results in error messages in your log file until that integration has completed loading. If you use `is_state()` function in your template, you can avoid this situation. + +For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} From acd4453a762125a22b29d5eaf936a6d670371bc5 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 13 Jan 2020 19:23:44 +0100 Subject: [PATCH 012/117] Removes Cisco Spark integration (#11730) --- source/_integrations/ciscospark.markdown | 48 ------------------ source/_posts/2019-04-24-release-92.markdown | 3 +- source/_posts/2019-10-30-release-101.markdown | 3 +- source/images/supported_brands/ciscospark.png | Bin 2765 -> 0 bytes 4 files changed, 2 insertions(+), 52 deletions(-) delete mode 100644 source/_integrations/ciscospark.markdown delete mode 100644 source/images/supported_brands/ciscospark.png diff --git a/source/_integrations/ciscospark.markdown b/source/_integrations/ciscospark.markdown deleted file mode 100644 index 1250f9300f7..00000000000 --- a/source/_integrations/ciscospark.markdown +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Cisco Spark -description: Instructions on how to add CiscoSpark notifications to Home Assistant. -logo: ciscospark.png -ha_category: - - Notifications -ha_release: '0.40' -ha_codeowners: - - '@fbradyirl' ---- - -The `ciscospark` notification platform allows you to deliver notifications from Home Assistant to [Cisco Spark](https://ciscospark.com/). - -To use this notification platform you need to get a developer token. To obtain a token visit [Spark for Developers](https://developer.ciscospark.com/index.html) - -At this time you also need to specify the `Cisco Spark` `roomid`. The `roomid` can also be found at [Spark for Developers](https://developer.ciscospark.com/index.html). Just look in the Documentation under Rooms. - -In order to get notified for all new messages in the room you will need to create a bot. This will post the messages from the bot and mark them as new for you which will alert you. If you use your own personal token the messages are added to the room but no notification is triggered. -Once you have created the bot through the new App menu you will need to add the bot to the room that you are a member of as well. Now use the bot access token in your configuration below. - -To enable the Cisco Spark notification in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -notify: - - name: NOTIFIER_NAME - platform: ciscospark - token: YOUR_DEVELOPER_TOKEN - roomid: CISCO_SPARK_ROOMID -``` - -{% configuration %} -name: - description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. - required: false - default: notify - type: string -token: - description: Your development token. - required: true - type: string -roomid: - description: The Room ID. - required: true - type: string -{% endconfiguration %} - -To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_posts/2019-04-24-release-92.markdown b/source/_posts/2019-04-24-release-92.markdown index 150497511b6..3f74e2d99e3 100644 --- a/source/_posts/2019-04-24-release-92.markdown +++ b/source/_posts/2019-04-24-release-92.markdown @@ -351,7 +351,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Fix manifest codeowners ([@cdce8p] - [#22871]) ([cover docs]) ([demo docs]) - Added REQUIREMENTS back to Ambient ([@bachya] - [#22875]) ([ambient_station docs]) - Minor sensor fixes ([@robbiet480] - [#22884]) ([mobile_app docs]) -- add myself as codeowner ([@fbradyirl] - [#22885]) ([cisco_ios docs]) ([cisco_mobility_express docs]) ([cisco_webex_teams docs]) ([ciscospark docs]) ([enigma2 docs]) ([hikvisioncam docs]) ([luci docs]) +- add myself as codeowner ([@fbradyirl] - [#22885]) ([cisco_ios docs]) ([cisco_mobility_express docs]) ([cisco_webex_teams docs]) ([enigma2 docs]) ([hikvisioncam docs]) ([luci docs]) - Bump pypi module version for enigma2 ([@fbradyirl] - [#22886]) - Add zwave network key validator ([@cgtobi] - [#22785]) ([zwave docs]) - force_update=False (not None) ([@akasma74] - [#22867]) ([rflink docs]) @@ -978,7 +978,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [cisco_ios docs]: /integrations/cisco_ios/ [cisco_mobility_express docs]: /integrations/cisco_mobility_express/ [cisco_webex_teams docs]: /integrations/cisco_webex_teams/ -[ciscospark docs]: /integrations/ciscospark/ [citybikes docs]: /integrations/citybikes/ [cloud docs]: /integrations/cloud/ [command_line docs]: /integrations/command_line/ diff --git a/source/_posts/2019-10-30-release-101.markdown b/source/_posts/2019-10-30-release-101.markdown index bcb29ab3b90..d018de9430d 100644 --- a/source/_posts/2019-10-30-release-101.markdown +++ b/source/_posts/2019-10-30-release-101.markdown @@ -633,7 +633,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] - Move imports in comfoconnect component ([@Bouni] - [#27886]) ([comfoconnect docs]) - Move imports in coinmarketcap component ([@Bouni] - [#27885]) ([coinmarketcap docs]) - Move imports in coinbase component ([@Bouni] - [#27884]) ([coinbase docs]) -- Move imports in ciscospark component ([@Bouni] - [#27879]) ([ciscospark docs]) +- Move imports in ciscospark component ([@Bouni] - [#27879]) - Move imports in cisco_webex_teams component ([@Bouni] - [#27878]) ([cisco_webex_teams docs]) - Move imports in cmus component ([@Bouni] - [#27883]) ([cmus docs]) - Move imports in cloud component ([@Bouni] - [#27881]) ([cloud docs]) @@ -1586,7 +1586,6 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] [cisco_ios docs]: /integrations/cisco_ios/ [cisco_mobility_express docs]: /integrations/cisco_mobility_express/ [cisco_webex_teams docs]: /integrations/cisco_webex_teams/ -[ciscospark docs]: /integrations/ciscospark/ [cloud docs]: /integrations/cloud/ [cmus docs]: /integrations/cmus/ [co2signal docs]: /integrations/co2signal/ diff --git a/source/images/supported_brands/ciscospark.png b/source/images/supported_brands/ciscospark.png deleted file mode 100644 index c6bac10f353dd4e9167f2462f54f27f2bd0f0d96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2765 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 T$C7YS00000NkvXXu0mjfle!dW From b0e936fe587f175bd9ad7ba1aaab8d895dffef17 Mon Sep 17 00:00:00 2001 From: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com> Date: Mon, 13 Jan 2020 16:31:39 -0500 Subject: [PATCH 013/117] =?UTF-8?q?Remove=20references=20to=20'template=20?= =?UTF-8?q?lock',=20add=20list=20of=20supported=20va=E2=80=A6=20(#11733)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove references to 'template lock', add supported values * use backticks Co-Authored-By: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/alarm_control_panel.template.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/alarm_control_panel.template.markdown b/source/_integrations/alarm_control_panel.template.markdown index 7c626c7205f..93c17e73cbc 100644 --- a/source/_integrations/alarm_control_panel.template.markdown +++ b/source/_integrations/alarm_control_panel.template.markdown @@ -15,11 +15,11 @@ There are several powerful ways to use this integration, including grouping exis For example, if you want to expose a true alarm panel to Google Home, Alexa, or Homekit - but limit its ability to disarm when there's no one home, you can do that using a template. -Another use case could be grouping a series of internal and external locks together to represent "Home" and "Away" lock states. +Another use case could be grouping a series of sensors and services together to represent various "armed" and "disarmed" states and actions. This can simplify the GUI and make it easier to write automations. -In optimistic mode, the alarm control panel will immediately change state after every command. Otherwise, the lock will wait for state confirmation from the template. Try to enable it, if experiencing incorrect lock operation. +In optimistic mode, the alarm control panel will immediately change state after every command. Otherwise, the alarm control panel will wait for state confirmation from the template. Try to enable it, if experiencing incorrect operation. ## Configuration @@ -62,7 +62,7 @@ alarm_control_panel: type: string default: Template Alarm Control Panel value_template: - description: Defines a template to set the state of the alarm panel. + description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `triggered` and `unavailable` are used." required: false type: template disarm: From 525028f88302cbd177665930dbc1518a7f97bc51 Mon Sep 17 00:00:00 2001 From: Bas Delfos Date: Tue, 14 Jan 2020 10:21:34 +0100 Subject: [PATCH 014/117] Update docs to reflect changes in fritzbox integration (#11732) --- source/_integrations/fritz.markdown | 6 ------ .../_integrations/fritzbox_callmonitor.markdown | 17 ----------------- .../_integrations/fritzbox_netmonitor.markdown | 6 ------ 3 files changed, 29 deletions(-) diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown index 7cd6c869995..e91bc696e14 100644 --- a/source/_integrations/fritz.markdown +++ b/source/_integrations/fritz.markdown @@ -9,12 +9,6 @@ ha_release: '0.10' The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) based router. -## Setup - -
-If not running Home Assistant via Hass.io or Docker it might be necessary to install additional packages: sudo apt-get install python3-lxml libxslt-dev libxml2-dev zlib1g-dev -If you installed Home Assistant in a virtualenv, run the following commands inside it: pip3 install lxml; be patient this will take a while.
- ## Configuration To use an Fritz!Box router in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index 575039a5f16..470d85abf1f 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -11,23 +11,6 @@ ha_iot_class: Local Polling The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes. It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes. -## Prerequisites - -To build the package you have to install some dependencies first. - -```bash -$ sudo apt-get update -$ sudo apt-get install libxml2-dev libxslt-dev \ - python3-setuptools zlib1g-dev build-essential -``` - -If you installed Home Assistant in a virtualenv, also run the following command inside it. -Be patient this will take a while. - -```bash -pip3 install lxml -``` - ## Setup To activate the call monitor on your Fritz!Box, dial #96\*5\* from any phone connected to it. diff --git a/source/_integrations/fritzbox_netmonitor.markdown b/source/_integrations/fritzbox_netmonitor.markdown index 8b1ec01035b..b3a88fafb1a 100644 --- a/source/_integrations/fritzbox_netmonitor.markdown +++ b/source/_integrations/fritzbox_netmonitor.markdown @@ -10,11 +10,6 @@ ha_iot_class: Local Polling The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers. -
-If not running Home Assistant via Hass.io or Docker it might be necessary to install additional packages: sudo apt-get install libxslt-dev libxml2-dev python3-lxml -If you are working with the All-in-One installation, you may also need to execute also within your virtual environment the command pip3 install lxml; be patient this will take a while. -
- To use the Fritz!Box network monitor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -42,7 +37,6 @@ The following statistics will be exposed as attributes. |:----------------------|:------------------------------------------------------------| |is_linked |True if the FritzBox is physically linked to the provider | |is_connected |True if the FritzBox has established an internet-connection | -|wan_access_type |Connection-type, can be `DSL` or `Cable` | |external_ip |External IP address | |uptime |Uptime in seconds | |bytes_sent |Bytes sent | From 51c9cfb0e64776217343df7f4a82903199837af3 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 14 Jan 2020 20:55:31 +0100 Subject: [PATCH 015/117] Add missing language tag to codeblock (#11743) --- source/_integrations/webostv.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown index d2a10fbf7ff..628cabf70e8 100644 --- a/source/_integrations/webostv.markdown +++ b/source/_integrations/webostv.markdown @@ -171,7 +171,7 @@ Available services: `button`, `command` #### Example -``` +```yaml script: home_button: sequence: @@ -187,6 +187,7 @@ script: entity_id: media_player.lg_webos_smart_tv command: "media.controls/rewind" ``` + ## Notifications The `webostv` notify platform allows you to send notifications to a LG webOS Smart TV. From 6b871bc8a1b30f8aa7e87411b05b7098b3d0208d Mon Sep 17 00:00:00 2001 From: Tim Rightnour <6556271+garbled1@users.noreply.github.com> Date: Tue, 14 Jan 2020 17:30:08 -0700 Subject: [PATCH 016/117] Update greeneye_monitor for voltage addition (#11632) --- source/_integrations/greeneye_monitor.markdown | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/source/_integrations/greeneye_monitor.markdown b/source/_integrations/greeneye_monitor.markdown index c655ae01a76..43d26d0af41 100644 --- a/source/_integrations/greeneye_monitor.markdown +++ b/source/_integrations/greeneye_monitor.markdown @@ -34,6 +34,9 @@ greeneye_monitor: temperature_sensors: - number: 1 name: back_porch_temperature + voltage: + - number: 1 + name: house_volts ``` By default, GEM will send updates every 5 seconds. That's a lot of data, and the databases used by the [`recorder`](/integrations/recorder) integration for history don't do well with that much data, so it is recommended to configure the [`influxdb`](/integrations/influxdb) integration and exclude the GEM sensors from `recorder`. @@ -70,6 +73,18 @@ monitors: required: false type: boolean default: false + voltage: + description: Configuration for voltage sensor + required: false + keys: + number: + description: A channel number that exists in the GEM. There is only one voltage sensor on current models of the GEM. + required: true + type: integer + name: + description: The name that should be used for the voltage sensor in Home Assistant. + required: true + type: string temperature_sensors: description: Configuration for temperature sensors required: false From caff890f38925f58f38ffb31895b5a0351939b9c Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 15 Jan 2020 20:54:01 +0100 Subject: [PATCH 017/117] Remove deprecated hide_entity for automations (#11754) --- source/_docs/automation/examples.markdown | 1 - source/_integrations/automation.markdown | 7 +------ source/_integrations/flic.markdown | 1 - source/_integrations/rova.markdown | 3 ++- source/_integrations/telegram_chatbot.markdown | 6 ------ .../2016-09-29-async-sleepiq-emoncms-stocks.markdown | 2 +- 6 files changed, 4 insertions(+), 16 deletions(-) diff --git a/source/_docs/automation/examples.markdown b/source/_docs/automation/examples.markdown index c27aeeb0286..820ea637c34 100644 --- a/source/_docs/automation/examples.markdown +++ b/source/_docs/automation/examples.markdown @@ -63,7 +63,6 @@ automation: # Send a notification via Pushover with the event of a Xiaomi cube. Custom event from the Xiaomi component. - alias: 'Xiaomi Cube Action' - hide_entity: false initial_state: false trigger: platform: event diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown index 7531ccd9b14..49d765b14f5 100644 --- a/source/_integrations/automation.markdown +++ b/source/_integrations/automation.markdown @@ -11,23 +11,18 @@ ha_codeowners: --- Please see the [docs section](/docs/automation/) for in-depth -documentation on how to use the automation component. +documentation on how to use the automation integration.

-This allows one to reload the automation without restarting Home Assistant -itself. If you don't want to see the automation rule in your frontend use -`hide_entity: true` to hide it. - You can also use `initial_state: 'false'` so that the automation is not automatically turned on after a Home Assistant reboot. ```yaml automation: - alias: Door alarm - hide_entity: true initial_state: true trigger: - platform: state diff --git a/source/_integrations/flic.markdown b/source/_integrations/flic.markdown index 6218c34b118..0e8cfe4eb9f 100644 --- a/source/_integrations/flic.markdown +++ b/source/_integrations/flic.markdown @@ -94,7 +94,6 @@ To help detect and debug flic button clicks, you can use this automation that se ```yaml automation: - alias: FLIC Html5 notify on every click - hide_entity: false trigger: platform: event event_type: flic_click diff --git a/source/_integrations/rova.markdown b/source/_integrations/rova.markdown index c0a5d9c5235..40de5218116 100644 --- a/source/_integrations/rova.markdown +++ b/source/_integrations/rova.markdown @@ -79,12 +79,12 @@ sensor: To have your Home Assistant installation remind you of upcoming waste collections, combine the `rova` platform with some [Automations](/docs/automation/) and a [notification platform](/integrations/notify/). {% raw %} + ```yaml # Example configuration.yaml entry for Rova waste collection reminder automation: - id: rova-garbage-bio-reminder alias: 'Send Rova Bio waste collection reminder' - hide_entity: true trigger: - platform: time at: '19:00:00' @@ -98,6 +98,7 @@ automation: data: message: 'Reminder: put out biowaste bin' ``` + {% endraw %}
diff --git a/source/_integrations/telegram_chatbot.markdown b/source/_integrations/telegram_chatbot.markdown index a95a4e8848f..6c2f2d0cd4e 100644 --- a/source/_integrations/telegram_chatbot.markdown +++ b/source/_integrations/telegram_chatbot.markdown @@ -223,7 +223,6 @@ Simple ping pong example. ```yaml alias: 'Telegram bot that reply pong to ping' -hide_entity: true trigger: platform: event event_type: telegram_command @@ -301,7 +300,6 @@ Text repeater: {% raw %} ```yaml - alias: 'Telegram bot that repeats text' - hide_entity: true trigger: platform: event event_type: telegram_text @@ -323,7 +321,6 @@ Message editor: {% raw %} ```yaml - alias: 'Telegram bot that edits the last sent message' - hide_entity: true trigger: platform: event event_type: telegram_callback @@ -355,7 +352,6 @@ Keyboard editor: {% raw %} ```yaml - alias: 'Telegram bot that edits the keyboard' - hide_entity: true trigger: platform: event event_type: telegram_callback @@ -380,7 +376,6 @@ Only acknowledges the 'NO' answer: {% raw %} ```yaml - alias: 'Telegram bot that simply acknowledges' - hide_entity: true trigger: platform: event event_type: telegram_callback @@ -399,7 +394,6 @@ Telegram callbacks also support arguments and commands the same way as normal me {% raw %} ```yaml - alias: 'Telegram bot repeats arguments on callback query' - hide_entity: true trigger: platform: event event_type: telegram_callback diff --git a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown index 57f421e33ee..38d024e4be3 100644 --- a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown +++ b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown @@ -28,7 +28,7 @@ As you might have noticed, this release has been delayed by 5 days. This was due ### Hide automation rules -Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#reload-automation-rules) can be reloaded directly from the frontend. By default all automation rules are shown. If you want to [hide an automation rule](/getting-started/automation-create-first/), use `hide_entity: true`. +Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#reload-automation-rules) can be reloaded directly from the frontend. ### All changes From a00a357079c9e64f9f0ff0349e0fb51934af1d0e Mon Sep 17 00:00:00 2001 From: springstan <46536646+springstan@users.noreply.github.com> Date: Wed, 15 Jan 2020 20:54:45 +0100 Subject: [PATCH 018/117] Remove multiple login methods from mikrotik (#11755) --- source/_integrations/mikrotik.markdown | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown index f23d31212bf..d84184b76e6 100644 --- a/source/_integrations/mikrotik.markdown +++ b/source/_integrations/mikrotik.markdown @@ -83,11 +83,9 @@ arp_ping: {% endconfiguration %}
- - As of version 6.43 of RouterOS Mikrotik introduced a new login method (plain) in addition to the old login method (token). With Version 6.45.1 the old token login method got deprecated. - In order to support both login mechanisms, the new config option `login_method` has been introduced. If this option is not set, the component will try to login with the plain method first and the token method if that fails. - That can cause log entries on the router like `login failure for user homeassistant from 192.168.23.10 via api` but doesn't keep the component from working. - To get rid of these entries, set the `login_method` to `plain` for Routers with OS versions > 6.43 or `token` for routers with OS versions < 6.43. + + As of version 6.43 of RouterOS Mikrotik introduced a new login method (`plain`) in addition to the old login method (`token`). With Version 6.45.1 the old `token` login method got deprecated. + In order to support both login mechanisms, the new config option `login_method` has been introduced.
From 2871accb5ff8ea305b9a079deb99e35a00db100e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 16 Jan 2020 18:29:43 +0100 Subject: [PATCH 019/117] Deprecate weblink integration (#11767) --- source/_integrations/weblink.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_integrations/weblink.markdown b/source/_integrations/weblink.markdown index d53f5bfe31b..4490ca1c980 100644 --- a/source/_integrations/weblink.markdown +++ b/source/_integrations/weblink.markdown @@ -14,7 +14,10 @@ The `weblink` integration allows you to display links in the Home Assistant fron
-The below documentation applies to the classic "States" user interface. Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead. +The below documentation applies to the classic "States" user interface. +The `weblink` integration has been **deprecated** and pending for removal in Home Assistant 0.107.0. + +Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead.
From 1865b41d992d739d45755c3a7a12a9d12b796e1f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 16 Jan 2020 18:43:00 +0100 Subject: [PATCH 020/117] Remove states UI options in group integration (#11765) --- .../configuration/group_visibility.markdown | 184 ------------------ source/_includes/asides/docs_navigation.html | 4 - source/_integrations/group.markdown | 86 +------- 3 files changed, 2 insertions(+), 272 deletions(-) delete mode 100644 source/_docs/configuration/group_visibility.markdown diff --git a/source/_docs/configuration/group_visibility.markdown b/source/_docs/configuration/group_visibility.markdown deleted file mode 100644 index e42969e4517..00000000000 --- a/source/_docs/configuration/group_visibility.markdown +++ /dev/null @@ -1,184 +0,0 @@ ---- -title: "Group Visibility" -description: "Instructions on how to change group visibility using automations." -redirect_from: /topics/group_visibility/ ---- - -After filling Home Assistant with all your precious home automation devices, you usually end up with a cluttered interface and lots of groups that are not interesting in your current context. What if you just want to show groups that are interesting _now_ and hide the rest? That's when group visibility comes to play. - -## Changing visibility of a group - -To change visibility of a group, use the service `group.set_visibility`, pass the group name as `entity_id` and use `visible` to decide whether the group should be shown or hidden. - -```yaml -service: group.set_visibility -entity_id: group.basement -data: - visible: false -``` - -
-If a sensor belongs to only one group and that group is hidden, the sensor will "jump" to the top of the web interface. Add the sensor to an additional (visible) group if you do not want this to happen. -
- -## Automations - -First you should decide under which circumstances a group should be visible or not. Depending on the complexity, you might have to write two automations: one that hides the group and another that shows it. - -In this example, the group `group.basement` is hidden when the sun sets and shown again when it rises: - -```yaml -automation: - trigger: - platform: sun - event: sunset - action: - service: group.set_visibility - entity_id: group.basement - data: - visible: false - -automation 2: - trigger: - platform: sun - event: sunrise - action: - service: group.set_visibility - entity_id: group.basement - data: - visible: true -``` - -## Easier automations - -One of the most common uses cases are to show groups during certain times of day, maybe commuting information during a work day morning or light switches when it is getting dark. The complexity of automations needed to make this happen will quickly get out of hand. So, one way to make the automations easier is to create a sensor that alters its state depending on time of day. One way of doing that is using a `command_line` sensor and a script: - -```python -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -from datetime import time, datetime - - -def mk_occasion(name, start, end, days=None): - s = start.split(":") - e = end.split(":") - return { - "name": name, - "start": time(int(s[0]), int(s[1]), int(s[2])), - "end": time(int(e[0]), int(e[1]), int(e[2])), - "days": days, - } - - -# Matching is done from top to bottom -OCCASIONS = [ - # More specific occasions - mk_occasion("work_morning", "06:00:00", "07:10:00", range(5)), - # General matching - mk_occasion("weekday", "00:00:00", "23:59:59", range(5)), - mk_occasion("weekend", "00:00:00", "23:59:59", [5, 6]), -] - - -def get_current_occasion(occasion_list, default_occasion="normal"): - now = datetime.now() - for occasion in OCCASIONS: - if occasion["start"] <= now.time() <= occasion["end"] and ( - occasion["days"] is None or now.weekday() in occasion["days"] - ): - return occasion["name"] - return default_occasion - - -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: - -```yaml -sensor: - - platform: command_line - name: Occasion - command: "python3 occasion.py" -``` -
-If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /config/occasion.py" -
- - -To simplify things, we create a Home Assistant script that changes the visibility of a group, but also verifies that an entity is in a specific state: - -```yaml -script: - group_visibility: - sequence: - - service: group.set_visibility - data_template: - entity_id: '{% raw %}{{ entity_id }}{% endraw %}' - visible: '{% raw %}{{ is_state(cond, visible_state) }}{% endraw %}' -``` - -The last part is writing an automation that hides or shows the group: - -```yaml -automation: - - alias: Work morning - trigger: - - platform: state - entity_id: sensor.occasion - - platform: homeassistant - event: start - action: - service: script.group_visibility - data: - entity_id: group.work_sensors - cond: sensor.occasion - visible_state: 'work_morning' -``` - -Our previously defined script will be called if `sensor.occasion` changes state OR when Home Assistant has started. The group `group.work_sensors` will be shown when `sensor.occasion` changes state to "work_morning" and hidden otherwise. - -### The complete example - -```yaml -group: - default_view: - entities: - - group.work_sensors - - # Only visible when it's time to go to work - work_sensors: - name: Time to go to work - entities: - - sensor.something1 - - sensor.something2 - -sensor: - - platform: command_line - name: Occasion - command: "python3 occasion.py" - -script: - group_visibility: - sequence: - - service: group.set_visibility - data_template: - entity_id: '{% raw %}{{ entity_id }}{% endraw %}' - visible: '{% raw %}{{ is_state(cond, visible_state) }}{% endraw %}' - -automation: - - alias: Work morning - trigger: - - platform: state - entity_id: sensor.occasion - - platform: homeassistant - event: start - action: - service: script.group_visibility - data: - entity_id: group.work_sensors - cond: sensor.occasion - visible_state: 'work_morning' -``` diff --git a/source/_includes/asides/docs_navigation.html b/source/_includes/asides/docs_navigation.html index 5d7c4855a38..fb841d6d4ca 100644 --- a/source/_includes/asides/docs_navigation.html +++ b/source/_includes/asides/docs_navigation.html @@ -54,10 +54,6 @@ {% active_link /docs/configuration/secrets/ Storing Secrets %}
  • {% active_link /docs/configuration/templating/ Templating %}
  • -
  • - {% active_link /docs/configuration/group_visibility/ Group - Visibility %} -
  • {% active_link /docs/configuration/platform_options/ Entity component platform options %} diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown index d14ea5e9154..0b4ffbaf6de 100644 --- a/source/_integrations/group.markdown +++ b/source/_integrations/group.markdown @@ -10,7 +10,7 @@ ha_codeowners: - '@home-assistant/core' --- -Groups allow the user to combine multiple entities into one. +Groups allow the user to combine multiple entities into one. Check the **States** page from the **Developer Tools** and browse the **Current entities:** listing for all available entities. @@ -48,16 +48,7 @@ all: type: boolean default: false icon: - description: The icon that shows in the front end. **The rest of this only applies to the deprecated UI `/states`**. If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text. - required: false - type: string -view: - description: "**Only applies to the deprecated UI `/states`**. If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: true` cannot be used as entities in other views. *Does not apply to Lovelace.*" - required: false - type: boolean - default: false -control: - description: "**This is only a feature in generated mode of Lovelace** If value set to `hidden` the group switch will be hidden." + description: The icon that shows in the front end. required: false type: string {% endconfiguration %} @@ -65,76 +56,3 @@ control: ## Group behavior By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well. - ---- - -## Old user interface - -This section only applies if you've not moved off the deprecated `/states` user interface. - -A group can be promoted to a **view** by setting `view: true` under the group definition. This will make the group available as a new tab in the frontend. - -By default, every group appears in the HOME tab. If you create a group `default_view` it will REPLACE the contents of the HOME tab so you can customize the HOME tab as you wish. - -```yaml -# Example configuration.yaml entry -group: - default_view: - view: true - icon: mdi:home - entities: - - group.kitchen - - group.awesome_people - - group.climate - kitchen: - name: Kitchen - entities: - - switch.kitchen_pin_3 - upstairs: - name: Kids - icon: mdi:account-multiple - view: true - entities: - - input_boolean.notify_home - - camera.demo_camera - - device_tracker.demo_paulus - - group.garden - climate: - name: Climate - view: false - entities: - - sensor.bedroom_temp - - sensor.porch_temp - awesome_people: - name: Awesome People - view: false - entities: - - device_tracker.dad_smith - - device_tracker.mom_smith -``` - -

    - -Example of groups shown as views in the frontend. -

    - -If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once. If you want to hide this switch, set `control` to `hidden`. - -You can create views (tabs) that contain other groups (but not other groups which are marked as `view: true`). -Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores). - -```yaml -# Example configuration.yaml entry that shows two groups, referred to in a view group (tab) - Living Room: - control: hidden - entities: - - light.light_family_1 - - binary_sensor.motion_living - Bedroom: light.light_bedroom, switch.sleeping - Rooms: - view: true - name: Rooms - entities: - - group.living_room - - group.bedroom -``` From a18a8a59dda868bef1c26a6767e765dcf20f5973 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 16 Jan 2020 10:10:09 -0800 Subject: [PATCH 021/117] Add 105 base --- source/_posts/2020-02-05-release-105.markdown | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 source/_posts/2020-02-05-release-105.markdown diff --git a/source/_posts/2020-02-05-release-105.markdown b/source/_posts/2020-02-05-release-105.markdown new file mode 100644 index 00000000000..7e10a44a7ff --- /dev/null +++ b/source/_posts/2020-02-05-release-105.markdown @@ -0,0 +1,18 @@ +--- +layout: post +title: "0.105: TBD - Update date" +description: "TBD" +date: 2020-01-16 00:00:00 +date_formatted: "February 5, 2020" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: Release-Notes +og_image: /images/blog/2020-02-0.105/components.png +--- + + + +## In other news + +https://www.youtube.com/watch?v=727tFhqpFAE From 933349d51287e364ae3d797cddded2014716f50e Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 16 Jan 2020 20:26:02 +0100 Subject: [PATCH 022/117] Remove hide_if_away from device_tracker (#11766) --- source/_integrations/device_tracker.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/_integrations/device_tracker.markdown b/source/_integrations/device_tracker.markdown index b101c29adbc..171b8751aac 100644 --- a/source/_integrations/device_tracker.markdown +++ b/source/_integrations/device_tracker.markdown @@ -23,7 +23,6 @@ device_tracker: password: YOUR_PASSWORD new_device_defaults: track_new_devices: true - hide_if_away: false ``` The following optional parameters can be used with any platform: @@ -36,7 +35,6 @@ The following optional parameters can be used with any platform: |----------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `interval_seconds` | 12 | Seconds between each scan for new devices | | `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (e.g., the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) | -| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `true`), `hide_if_away` (default: `false`) |
    @@ -78,7 +76,6 @@ devicename: mac: EA:AA:55:E7:C6:94 picture: https://www.home-assistant.io/images/favicon-192x192.png track: true - hide_if_away: false ```
    @@ -95,7 +92,6 @@ In the example above, `devicename` refers to the detected name of the device. F | `icon` | mdi:account | An icon for this device (use as an alternative to `picture`). | | `gravatar` | None | An email address for the device's owner. If provided, it will override `picture`. | | `track` | [uses platform setting] | If `yes`/`on`/`true` then the device will be tracked. Otherwise its location and state will not update. | -| `hide_if_away` | false | If `yes`/`on`/`true` then the device will be hidden if it is not at home. | | `consider_home` | [uses platform setting] | Seconds to wait till marking someone as not home after not being seen. Allows you to override the global `consider_home` setting from the platform configuration on a per device level. | ## Device states From f8d99d500c2478373a6a73ef3b8265336d59585f Mon Sep 17 00:00:00 2001 From: Quentin POLLET Date: Sat, 18 Jan 2020 18:42:02 +0100 Subject: [PATCH 023/117] Fix can't add multiple iCloud accounts (remove account name) --- source/_integrations/icloud.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/_integrations/icloud.markdown b/source/_integrations/icloud.markdown index 2e3bc023374..eb45715ad9e 100644 --- a/source/_integrations/icloud.markdown +++ b/source/_integrations/icloud.markdown @@ -56,10 +56,6 @@ password: description: Your iCloud account password. required: true type: string -account_name: - description: A friendly name for your iCloud account. If this isn't given, it will use the part before the `@` of the username. - required: false - type: string max_interval: description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the 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 From e860ceb32d39e02c7805bc0de8a793da0e03fe5a Mon Sep 17 00:00:00 2001 From: Faucogney Anthony Date: Mon, 20 Jan 2020 07:38:41 +0100 Subject: [PATCH 024/117] Add derivative integration (#10323) * Add derivative component * remove the redirect_from * :pencil2: Tweak * Update derivative.markdown Co-authored-by: Franck Nijhof Co-authored-by: Paulus Schoutsen --- source/_components/derivative.markdown | 57 ++++++++++++++++++ source/images/supported_brands/derivative.png | Bin 0 -> 6929 bytes 2 files changed, 57 insertions(+) create mode 100644 source/_components/derivative.markdown create mode 100644 source/images/supported_brands/derivative.png diff --git a/source/_components/derivative.markdown b/source/_components/derivative.markdown new file mode 100644 index 00000000000..aef2586feb2 --- /dev/null +++ b/source/_components/derivative.markdown @@ -0,0 +1,57 @@ +--- +title: "Derivative Sensor" +description: "Instructions on how to integrate Derivative Sensor into Home Assistant." +ha_category: + - Utility + - Energy +ha_release: 0.105 +ha_iot_class: Local Push +logo: derivative.png +ha_qa_scale: internal +--- + +The `derivative` platform provides the numerical derivative or numerical differentiation of the values provided by a source sensor. Derivative sensors are updated upon changes of the **source**. Fast sampling source sensors provide better results. + +## Configuration + +To enable Derivative Sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: derivative + source: sensor.current_speed +``` + +{% configuration %} +source: + description: The entity ID of the sensor providing numeric readings + required: true + type: string +name: + description: Name to use in the frontend. + required: false + default: source entity ID meter + type: string +round: + description: Round the calculated derivative value to at most N decimal places. + required: false + default: 3 + type: integer +unit_prefix: + description: Metric unit to prefix the derivative result. Available units are k, M, G, T. + required: false + default: None + type: string +unit_time: + description: SI unit of time to integrate over. Available units are s, min, h, d. + required: false + default: h + type: string +unit: + description: Unit of Measurement to be used for the derivative. + required: false + type: string +{% endconfiguration %} + +If 'unit' is set then 'unit_prefix' and 'unit_time' are ignored. diff --git a/source/images/supported_brands/derivative.png b/source/images/supported_brands/derivative.png new file mode 100644 index 0000000000000000000000000000000000000000..aecf9f6db0b2d285526d61ce6c20596f3cd8693e GIT binary patch literal 6929 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 AumAu6 literal 0 HcmV?d00001 From 55fed0661ed6e2c7141205716095d00aed194896 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 20 Jan 2020 03:29:10 -0500 Subject: [PATCH 025/117] add name param to docs (#11790) --- source/_integrations/vizio.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 9acaa316269..75b2f758a4d 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -90,6 +90,11 @@ host: description: IP address of your device. required: true type: string +name: + description: Nickname for your device that will be used to generate the device's entity ID. If multiple Vizio devices are configured, the value must be unique for each entry. + required: false + type: string + default: Vizio SmartCast access_token: description: Authentication token you received in the last step of the pairing process (if applicable). required: false From f6960690bf5d1c8e674493d1e25f94378ad14a09 Mon Sep 17 00:00:00 2001 From: David Bonnes Date: Mon, 20 Jan 2020 08:30:12 +0000 Subject: [PATCH 026/117] initial commit (#11798) --- source/_integrations/geniushub.markdown | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/source/_integrations/geniushub.markdown b/source/_integrations/geniushub.markdown index 2e1987488c1..0b2bdd5ac16 100644 --- a/source/_integrations/geniushub.markdown +++ b/source/_integrations/geniushub.markdown @@ -30,7 +30,13 @@ Each zone controlled by your Genius Hub will be exposed as either a: Currently, there is no support for altering zone schedules, although entities can be switched to/from geniushub modes that utilize schedules. -There are limitations due to the differences between the Genius Hub and Home Assisatnt schemas (e.g. HA has no **Footprint** mode) - see below for more details. +There are limitations due to the differences between the Genius Hub and Home Assistant schemas (e.g. HA has no **Footprint** mode) - use the service handlers, below, for this functionality. + +### Service Handlers + +Home Assistant is obligated to place restrictions upon integrations such as **geniushub** to maintain compatibility with other ecosystems (e.g. Google Home) and so not all of the **geniushub** functionality is available via the web UI. Some of this missing functionality is exposed via integration-specific service handlers: + - `set_zone_override`: change the zone's setpoint _for a specified duration_ (up to 24h), and + - `set_zone_mode`: change the zone's mode to one of `off`, `timer` or (if supported by the zone) `footprint` ### Climate and Water Heater Entities @@ -43,18 +49,17 @@ GH mode | HA Operation | HA Preset **Override** | Heat | Boost **Footprint** | Heat | Activity -Note that `Boost` mode may - -Note that **Footprint** mode is only available to **Radiator** zones that have room sensors. +**Footprint** mode is only available to **Radiator** zones that have room sensors. ### Switch Entities -Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant state will be reported as: - +Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant `state` will be *reported* as: - `On` for **Override** \ **On**, and - `Off` otherwise (NB: the zone could still be 'on', e.g. with **Timer** mode) -If you turn a Switch entity `Off` via HA, it will revert to **Timer** mode. +Note: if you turn a Switch entity `Off` via Home Assistant's web UI, it will revert to **Timer** mode - this may not be the behaviour you are expecting. + +Individual smart plugs are not yet exposed as switches - you can create one zone per smart plug as a work-around. ### Devices @@ -158,7 +163,7 @@ value_template: "{{ state_attr('climate.genius_zone_12', 'status').occupied }}" To set up this integration, add one of the following to your **configuration.yaml** file. -If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry. +If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry. ### Option 1: hub hostname/address with user credentials @@ -173,7 +178,7 @@ The hub does not have to be in the same subnet as your Home Assistant server. ### Option 2: hub token only -This option is recommended only if Ootion 1 does not work. The MAC address should match that written on the back of the Hub. +This option is recommended only if Option 1 does not work. The MAC address should match that written on the back of the Hub. - Requires a **hub token** obtained from [my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens). - Uses the v1 API - which is well-documented. From 8007d4c7c97fee183784de8db08dfa085bcd4d9a Mon Sep 17 00:00:00 2001 From: cgtobi Date: Mon, 20 Jan 2020 09:30:45 +0100 Subject: [PATCH 027/117] Update netatmo.markdown (#11770) Remove documentation about (temporarily) removed features and configuration options. --- source/_integrations/netatmo.markdown | 333 +------------------------- 1 file changed, 11 insertions(+), 322 deletions(-) diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index b27e8d680a5..1861efa2775 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -30,45 +30,27 @@ To enable the Netatmo component, add the following lines to your `configuration. ```yaml # Example configuration.yaml entry netatmo: - api_key: YOUR_CLIENT_ID - secret_key: YOUR_CLIENT_SECRET - username: YOUR_USERNAME - password: YOUR_PASSWORD + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET ``` {% configuration %} -api_key: +client_id: description: The `client id` from your Netatmo app. required: true type: string -secret_key: +client_secret: description: The `client secret` from your Netatmo app. required: true type: integer -username: - description: Username for the Netatmo account. - required: true - type: string -password: - description: Password for the Netatmo account. - required: true - type: string -discovery: - description: Whether to discover Netatmo devices automatically. Set it to False, if you want to choose which Netatmo device you want to add. Do not use discovery and manual configuration at the same time. - required: false - type: boolean - default: true -webhooks: - description: Enable webhooks for instant events of the Welcome and Presence cameras. - required: false - type: boolean - default: false {% endconfiguration %} +Once that is configured you can enable it from the integrations page. + ### Get API and Secret Key To get your API credentials, you have to declare a new application in the [Netatmo Developer Page](https://dev.netatmo.com/). Sign in using your username and password from your regular Netatmo account. -Click on 'Create an App' at the top of the page. +Open the [app creator](https://dev.netatmo.com/apps/createanapp#form) form.

    @@ -85,315 +67,22 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo

    -### Webhooks - -The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add `webhooks: true` to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the [platform](/integrations/netatmo#camera) or by enabeling [discovery](/integrations/netatmo/#discovery). - -To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the base_url configured for the HTTP integration ([docs](/integrations/http/#base_url)). - -Events coming in from Netatmo will be available as events in Home Assistant and are fired as netatmo_*, along with their data. You can use this event to trigger automations. - -#### Events - -The following events are available: - -- netatmo_person (Welcome) -- netatmo_movement (Welcome & Presence) -- netatmo_human (Presence) -- netatmo_animal (Presence) -- netatmo_vehicle (Presence) -- netatmo_other (Welcome & Presence) - -All events (except `netatmo_other`) contain the following attributes: - -| Attribute | Description | -| --------- | ----------- | -| event_type | Type of event. E.G. `movement`. -| home_name | Name of the home the camera belongs to. -| camera_id | MAC address of the camera. -| message | Message describing what has been seen by the camera. - -The Presence camera additionally has these attributes: - -| Attribute | Description | -| --------- | ----------- | -| snapshot_url | URL to a picture of the full frame of the event. -| vignette_url | URL to a picture cropped down to the area of interest. - -The Welcome camera additionally has these attributes for `netatmo_person` events: - -| Attribute | Description | -| --------- | ----------- | -| id | ID of the person that has been seen. -| name | Name of the person that has been seen. -| is_known | Boolean value if the person is known. -| face_url | URL to a picture of the person. - -The `netatmo_other` event passes all the webhook data through for all webhook events that don't match any of the above. Set the [level of logging](/integrations/logger/) for the `netatmo` integration to `debug` to view the data in the Home Assistant logs. - -### Services (only for webhooks) - -There are two services to manually add and drop the webhooks. This might be useful if your webhook has been banned and you want to readd the webhook without restarting Home Assistant. - -| Service | Description | -| ------- | ----------- | -| addwebhook | Subscribe to webhooks. By default the automatically generated URL will be used. But you can pass `{"url": "https://yourdomain.com/yourwebhook/"}` as service data to the service call if you want to use a manually created [webhook trigger](/docs/automation/trigger/#webhook-trigger). In this case you have to manually process the data that is sent by Netatmo. -| dropwebhook | Unsubscribe existing webhooks. - ## Binary Sensor This integration allows you to get the latest event seen by the camera. -### Binary Sensor Advanced configuration - -If you want to select a specific sensor, -set discovery to `false` for [netatmo](/integrations/netatmo/) -and add the following lines to your `configuration.yaml`: - -{% configuration %} -home: - description: Will use the cameras of this home only. - required: false - type: string -timeout: - description: > - The Welcome/Presence binary sensors will - stay on for X seconds after detection. - required: false - type: integer - default: 90 -cameras: - description: List of cameras entity IDs to display. - required: false - type: list -welcome_sensors: - description: > - List of monitored conditions. Possible values are - 'Someone known', 'Someone unknown' and 'Motion'. - required: false - type: list -presence_sensors: - description: > - List of monitored conditions. Possible values are 'Outdoor motion', - 'Outdoor human', 'Outdoor animal' and 'Outdoor vehicle'. - required: false - type: list -{% endconfiguration %} - -```yaml -# Example configuration.yaml entry -binary_sensor: - platform: netatmo - home: home_name - timeout: 90 - cameras: - - camera_name1 - welcome_sensors: - - Someone known - - Someone unknown - - Motion - presence_sensors: - - Outdoor motion - - Outdoor human - - Outdoor animal - - Outdoor vehicle -``` - -If **home** and **cameras** is not provided, all cameras will be used. -If multiple cameras are available then each monitored conditions +If multiple cameras are available then each monitored condition will create a specific sensor for each camera ## Camera -The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This integration allows you to view the current photo created by the Camera. - -### Camera Advanced configuration - -If you want to select a specific camera, -set discovery to `false` for [netatmo](/integrations/netatmo/) -and add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -camera: - - platform: netatmo -``` - -{% configuration %} -home: - description: Will display the cameras of this home only. - required: false - type: string -cameras: - description: Cameras to use. Multiple entities allowed. - required: false - type: list - keys: - camera_name: - description: Name of the camera to display. -quality: - description: Quality of the live stream. (`'high'`, `'medium'`, `'low'` or `'poor'`) - required: false - type: string - default: high -{% endconfiguration %} - -If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below. - -```yaml -# Example configuration.yaml entry -camera: - platform: netatmo - home: home_name - quality: medium - cameras: - - camera_name1 - - camera_name2 -``` - -### Services (only for camera) - -The services below permit to control whether the camera should monitor and alert on motion detection. Also, it allows to control the status of the flood light (only for Presence model). - -| Service | Description | -| ------- | ----------- | -| enable_motion_detection | Enable motion detection and alert. -| disable_motion_detection | Disable motion detection and alert. -| set_light_auto | Presence model only : Set flood light on automatic mode. -| set_light_on | Presence model only : Set flood light on. -| set_light_off | Presence model only : Set flood light off. +The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This integration allows you to view the current live stream created by the Camera. ## Climate The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This integration allows you to view the current temperature and setpoint. -### Camera Advanced configuration - -If you want to select specific homes or specific rooms, -set discovery to `false` for [netatmo](/integrations/netatmo/) -and add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -climate: - - platform: netatmo -``` - -{% configuration %} -homes: - description: Will display the thermostats of the homes listed. - required: false - type: list - keys: - name: - required: true - description: The home name. - rooms: - description: Rooms to be displayed. Multiple entities allowed. - required: false - type: [list, string] - description: List of the names of the rooms to be displayed. -{% endconfiguration %} - -If **homes** and **rooms** are not provided, all thermostats will be displayed. - -```yaml -# Example configuration.yaml entry -climate: - platform: netatmo - homes: - - name: home1_name - rooms: - - room1_name - - room2_name - - name: home2_name - rooms: - - room3_name - - room4_name - - room5_name -``` - ## Sensor -The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation), a -[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device or the public sensors of others available via the [Netatmo API](https://weathermap.netatmo.com/) even if you don't own a Netatmo device. - -Public sensors have to be set up manually. - -## Advanced sensor configuration - -If you want to select a specific sensor, set discovery to False for [netatmo](/integrations/netatmo/) and add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -sensor: - # Personal sensors - - platform: netatmo - station: STATION_NAME - modules: - - module_name1 - - module_name2 - - # Public sensor - - platform: netatmo - areas: - - lat_ne: 40.719 - lon_ne: -73.735 - lat_sw: 40.552 - lon_sw: -74.105 -``` - -{% configuration %} -station: - required: false - description: The name of the weather station. Needed if several stations are associated with the account. - type: string -modules: - required: false - description: Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names. - type: list - keys: - module_name: - type: list - required: true - description: Name of the module. -areas: - description: The list contains one or more areas to add as sensors. - required: false - type: map - keys: - lat_ne: - description: Latitude of north-eastern corner of area. - required: true - type: string - lon_ne: - description: Longitude of north-eastern corner of area. - required: true - type: string - lat_sw: - description: Latitude of south-western corner of area. - required: true - type: string - lon_sw: - description: Longitude of south-western corner of area. - required: true - type: string - name: - description: Name of the sensor. - required: false - type: string - default: Netatmo Public Data - mode: - description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`." - required: false - type: string - default: avg -{% endconfiguration %} - -## Find your modules name - -You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters. You have to provide these name in your Home Assistant `configuration.yaml` file. - -

    - -

    +The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a +[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device. From 3fb5ece5ef0f1a57e59b37e33595dd117ba66636 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 20 Jan 2020 09:31:24 +0100 Subject: [PATCH 028/117] Deprecate history_graph integration (#11768) --- source/_integrations/history_graph.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/history_graph.markdown b/source/_integrations/history_graph.markdown index eebed5ca11a..211ce8ca2c8 100644 --- a/source/_integrations/history_graph.markdown +++ b/source/_integrations/history_graph.markdown @@ -10,6 +10,11 @@ ha_codeowners: - '@andrey-git' --- +
    + This integration is deprecated and pending removal in Home Assistant 0.107.0, + as it was only used by the old states UI (not our current Lovelace UI). +
    +

    From 13e455a59e9ff88e9896e2cffa1f2f37f1bd55e4 Mon Sep 17 00:00:00 2001 From: Kyle Gordon Date: Mon, 20 Jan 2020 08:32:48 +0000 Subject: [PATCH 029/117] Documentation for updated Openhome integration (#11153) * Example playback actions * Use friendlier name * Use music media_type --- source/_integrations/openhome.markdown | 27 +++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/source/_integrations/openhome.markdown b/source/_integrations/openhome.markdown index bccde945bf1..28b7db358a9 100644 --- a/source/_integrations/openhome.markdown +++ b/source/_integrations/openhome.markdown @@ -10,9 +10,34 @@ ha_iot_class: Local Polling The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/integrations/discovery/), their device names are taken from the name of the room configured on the device. +### Example configuration.yaml entry + ```yaml -# Example configuration.yaml entry discovery: media_player: - platform: openhome ``` + +### Example local audio playback action + +```yaml +action: + - service: media_player.play_media + data_template: + entity_id: + - media_player.linn_bedroom + media_content_id: "http://172.24.32.13/Doorbell.mp3" + media_content_type: music +``` + +### Example web stream playback action + +```yaml + - service: media_player.play_media + data_template: + entity_id: + - media_player.linn_bedroom + media_content_id: "http://media-ice.musicradio.com:80/ClassicFMMP3" + media_content_type: music +``` + From eb3dbbd0fedd7900137e4bd24665b6efec0e0b6b Mon Sep 17 00:00:00 2001 From: springstan <46536646+springstan@users.noreply.github.com> Date: Mon, 20 Jan 2020 11:44:54 +0100 Subject: [PATCH 030/117] Revert "Changed default port from 4712 to 4713 (#11224)" (#11799) This reverts commit 18f0c9c75da7e4a918a475c968bcf715e6050630. --- source/_integrations/pulseaudio_loopback.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/pulseaudio_loopback.markdown b/source/_integrations/pulseaudio_loopback.markdown index b21a758931e..305503d29c8 100644 --- a/source/_integrations/pulseaudio_loopback.markdown +++ b/source/_integrations/pulseaudio_loopback.markdown @@ -46,7 +46,7 @@ host: port: description: The port that Pulseaudio is listening on. required: false - default: 4713 + default: 4712 type: integer buffer_size: description: How much data to load from Pulseaudio at once. From 13aea6acb2b77322c98ad24aea7baf67c4f19487 Mon Sep 17 00:00:00 2001 From: ajmarks Date: Mon, 20 Jan 2020 05:46:40 -0500 Subject: [PATCH 031/117] Update docs for jewish_calendar integration (#11701) Co-authored-by: Andrew Marks <52414333+amarks-coatue@users.noreply.github.com> --- source/_integrations/jewish_calendar.markdown | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown index bf43f8e8622..95ed43b637b 100644 --- a/source/_integrations/jewish_calendar.markdown +++ b/source/_integrations/jewish_calendar.markdown @@ -69,10 +69,16 @@ Time sensor states are represented as ISO8601 formatted *UTC time*. For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp. - first_light: First light of dawn (Alot Hashachar - עלות השחר). -- gra_end_shma: Last time for reading of the Shma according to the GR"A. +- talit: Earliest time for tallit and tefillin +- gra_end_shma: Last time for reading of the Shma according to the Gr"a. - mga_end_shma: Last time for reading of the Shma according to the MG"A. +- gra_end_tefilla: Last time for full shacharit according to the Gr"a. +- mga_end_tefilla: Last time for full shacharit according to the MG"A. +- big_mincha: Earliest time for Mincha (Mincha Gedola) +- little_mincha: Preferable earliest time for Mincha (Mincha Ketana) - plag_mincha: Time of the Plag Hamincha. -- first_stars: Time at which the first stars are visible (Tset Hakochavim - צאת הכוכבים). +- sunset: Sunset (Shkiya) +- first_stars: Time at which the first stars are visible (Tseit Hakochavim - צאת הכוכבים). - upcoming_shabbat_candle_lighting: The time of candle lighting for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. - upcoming_shabbat_havdalah: The time of havdalah for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. If it is currently a three-day holiday, this value *could* be None (i.e. if holiday is Sat./Sun./Mon. and it's Saturday, there will be no shabbat_havdalah value. See comments in hdate library for details.) - upcoming_candle_lighting: The time of candle lighting for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the candle lighting for Rosh Hashana on Monday night. This avoids a situation of triggering pre-candle-lighting automations while it is currently Yom Tov. To always get the Shabbat times, use the upcoming_shabbat_candle_lighting sensor. From c366946cfc288aca64d300e211e5d485357f8bf4 Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 20 Jan 2020 05:48:36 -0500 Subject: [PATCH 032/117] Update docs to reflect device_class changes for vizio component (#11756) * update docs to reflect change from platform level to config level entry * update docs to reflect device_class changes and add new options * fix int type for config parameters * remove timeout option per corresponding home-assistant PR review --- source/_integrations/vizio.markdown | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 75b2f758a4d..e6c882bd0f4 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -6,6 +6,7 @@ ha_category: - Media Player ha_release: 0.49 ha_iot_class: Local Polling +ha_config_flow: true ha_codeowners: - '@raman325' --- @@ -41,7 +42,7 @@ and note its IP address. If using the IP address by itself does not work, you ma ## Pairing -Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process. +Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `speaker` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process. To obtain an auth token, follow these steps: @@ -50,7 +51,7 @@ Make sure that your device is on before continuing. | Parameter | Description | |:----------------|:---------------------| | `ip` | IP address (possibly including port) obtained from the previous section | -| `device_type` | The type of device you are connecting to. Options are `tv` or `soundbar` | +| `device_type` | The type of device you are connecting to. Options are `tv` or `speaker` | Enter the following command to initiate pairing: @@ -79,9 +80,8 @@ To add your Vizio TV to your installation, add the following to your `configurat ```yaml # Example configuration.yaml entry -media_player: - - platform: vizio - host: IP_ADDRESS +vizio: + - host: IP_ADDRESS access_token: AUTH_TOKEN ``` @@ -100,10 +100,15 @@ access_token: required: false type: string device_class: - description: The class of your device. Valid options are `tv` or `soundbar` + description: The class of your device. Valid options are `tv` or `speaker` required: false type: string default: tv +volume_step: + description: The number of steps that the volume will be increased or decreased by at a time. + required: false + type: integer + default: 1 {% endconfiguration %} ## Notes and limitations From 1276e35f42f558f4a9ecc5cac85a441bd6cb6b0a Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Mon, 20 Jan 2020 05:49:36 -0500 Subject: [PATCH 033/117] =?UTF-8?q?Update=20docs=20to=20reflect=20change?= =?UTF-8?q?=20from=20platform=20level=20to=20config=20le=E2=80=A6=20(#1170?= =?UTF-8?q?4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update docs to reflect change from platform level to config level entry * add ha_config_flow meta tag From 489923de269b2fd8be5f3f033719292377308c45 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Mon, 20 Jan 2020 14:59:50 +0100 Subject: [PATCH 034/117] Update KEF docs - adds supports_on (#11812) * LSX is tested now * add supports_on * fix default --- source/_integrations/kef.markdown | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/_integrations/kef.markdown b/source/_integrations/kef.markdown index 6700b4614da..d6457002e84 100644 --- a/source/_integrations/kef.markdown +++ b/source/_integrations/kef.markdown @@ -15,7 +15,7 @@ The `kef` platform allows you to control the [KEF LS50 Wireless](https://interna Supported devices: - KEF LS50 Wireless -- KEF LSX (untested) +- KEF LSX To add KEF Speakers to your installation, add the following to your `configuration.yaml` file: @@ -66,6 +66,11 @@ standby_time: description: The speakers automatically turn to standby mode after either `20` or `60` minutes. Leave out for the speaker to never go into standby mode. required: false type: integer +supports_on: + description: LS50 Wireless with a serial number below LS50W13074K24L/R2G do not support turning on the speakers over the network. Set this to false if you have an older model. + default: true + required: false + type: integer {% endconfiguration %} ## Advanced configuration example From be3f86f07b101433b3968797597667f6396f1e78 Mon Sep 17 00:00:00 2001 From: Oscar Calvo <2091582+ocalvo@users.noreply.github.com> Date: Mon, 20 Jan 2020 16:23:58 -0800 Subject: [PATCH 035/117] Create SMS documentation --- source/_integrations/sms.markdown | 50 +++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 source/_integrations/sms.markdown diff --git a/source/_integrations/sms.markdown b/source/_integrations/sms.markdown new file mode 100644 index 00000000000..98b522c9b4c --- /dev/null +++ b/source/_integrations/sms.markdown @@ -0,0 +1,50 @@ +# Local SMS notifications integration via GSM Modem +This integration allows to have a local execution SMS notification. This is ideal when the internet is offline or when the power goes out. + +# Required Hardware +You will need a USB GSM stick modem. +## List of modems known to work: +- [Huawei E3372-510](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)( +Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html)) +## [List of modems that may work](https://www.asus.com/event/networks_3G4G_support/) + +# Configuration +It requires hassos version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher. +Check that the modem is recognized by running: +``` +ls -l /dev/*USB* +``` + +## Home Assistant config +In home assistant you need to configure your yaml notification as: +``` +notify: + - platform: command_line + name: sms_person1 + command: !secret notify_sms_person1 + - platform: command_line + name: sms_person2 + command: !secret notify_sms_person2 +``` +And the screts yaml: +``` +notify_sms_person1: "/config/custom_components/sms/send_sms.sh +1NNNNNNNNNN /dev/ttyUSB2" +notify_sms_person2: "/config/custom_components/sms/send_sms.sh +1NNNNNNNNNN /dev/ttyUSB2" +``` +Replace the NNN for the actual phone numbers + +## Note about Raspberry +On Raspberry PI 4, you need a udev rule in the config USB stick, for the [Huawei E3372-510 stick](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) for it to be recognized. +This config is: +``` +udev\10-gsm-modem.rules +``` +``` +ACTION=="add" \ +, ATTRS{idVendor}=="12d1" \ +, ATTRS{idProduct}=="14fe" \ +, RUN+="/sbin/usb_modeswitch -X -v 12d1 -p 14fe" +``` + +## More details: +- [Original thread discussion](https://community.home-assistant.io/t/send-sms-with-usb-gsm-modem-when-alarm-triggered/28942/38) From d15726e3167aebfc81136041a6b92b35b360ebbe Mon Sep 17 00:00:00 2001 From: Oscar Calvo <2091582+ocalvo@users.noreply.github.com> Date: Mon, 20 Jan 2020 16:59:48 -0800 Subject: [PATCH 036/117] Update sms.markdown --- source/_integrations/sms.markdown | 74 ++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 26 deletions(-) diff --git a/source/_integrations/sms.markdown b/source/_integrations/sms.markdown index 98b522c9b4c..92d4968b4d6 100644 --- a/source/_integrations/sms.markdown +++ b/source/_integrations/sms.markdown @@ -1,6 +1,49 @@ -# Local SMS notifications integration via GSM Modem -This integration allows to have a local execution SMS notification. This is ideal when the internet is offline or when the power goes out. +--- +title: "SMS" +description: "SMS notification via GSM modem." +ha_category: + - Notifications +ha_release: 0.104.5 +--- +The `sms` integration allows to have a local execution SMS notification. This is ideal when the internet is offline or when the power goes out. + +To enable those notifications in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sms: + device: /dev/ttyUSB2 + +notify: + - platform: sms + name: sms_person1 + phone_number: !secret notify_sms_person1 + - platform: sms + name: sms_person2 + phone_number: !secret notify_sms_person2 +``` +And the screts yaml: +``` +sms_person1: "+1NNNNNNNNNN" +sms_person2: "+1NNNNNNNNNN" +``` +Replace the NNN for the actual phone numbers + +{% configuration %} +device: + description: The gsm modem device. + required: true + type: string +{% endconfiguration %} + +To use notifications, please see the [getting started with automation page](/getting-started/automation/). + +It requires hassos version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher. +Check that the modem is recognized by running: +``` +ls -l /dev/*USB* +``` # Required Hardware You will need a USB GSM stick modem. ## List of modems known to work: @@ -8,32 +51,9 @@ You will need a USB GSM stick modem. Need to unlock it using [this guide](http://blog.asiantuntijakaveri.fi/2015/07/convert-huawei-e3372h-153-from.html)) ## [List of modems that may work](https://www.asus.com/event/networks_3G4G_support/) -# Configuration -It requires hassos version [3.6](https://github.com/home-assistant/hassos/releases/tag/3.6) or higher. -Check that the modem is recognized by running: -``` -ls -l /dev/*USB* -``` - ## Home Assistant config -In home assistant you need to configure your yaml notification as: -``` -notify: - - platform: command_line - name: sms_person1 - command: !secret notify_sms_person1 - - platform: command_line - name: sms_person2 - command: !secret notify_sms_person2 -``` -And the screts yaml: -``` -notify_sms_person1: "/config/custom_components/sms/send_sms.sh +1NNNNNNNNNN /dev/ttyUSB2" -notify_sms_person2: "/config/custom_components/sms/send_sms.sh +1NNNNNNNNNN /dev/ttyUSB2" -``` -Replace the NNN for the actual phone numbers -## Note about Raspberry +## Note about Raspberry PI 4 On Raspberry PI 4, you need a udev rule in the config USB stick, for the [Huawei E3372-510 stick](https://www.amazon.com/gp/product/B01N6P3HI2/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) for it to be recognized. This config is: ``` @@ -48,3 +68,5 @@ ACTION=="add" \ ## More details: - [Original thread discussion](https://community.home-assistant.io/t/send-sms-with-usb-gsm-modem-when-alarm-triggered/28942/38) + +# From c3f5f3f855f5ad8016ada782f99dd0082fffae8c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 20 Jan 2020 20:47:00 -0800 Subject: [PATCH 037/117] Add headers & footers docs (#11824) * Add headers & footers docs * Add screenshots * :pencil2: Tweak Co-authored-by: Franck Nijhof --- .../_includes/asides/lovelace_navigation.html | 1 + source/_lovelace/entities.markdown | 11 ++ .../header-footer/balloons-header.png | Bin 0 -> 51004 bytes .../screenshot-picture-header.png | Bin 0 -> 20521 bytes source/lovelace/header-footer.markdown | 120 ++++++++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 source/images/lovelace/header-footer/balloons-header.png create mode 100644 source/images/lovelace/header-footer/screenshot-picture-header.png create mode 100644 source/lovelace/header-footer.markdown diff --git a/source/_includes/asides/lovelace_navigation.html b/source/_includes/asides/lovelace_navigation.html index 8f9a1cd3b10..705cd522a49 100644 --- a/source/_includes/asides/lovelace_navigation.html +++ b/source/_includes/asides/lovelace_navigation.html @@ -14,6 +14,7 @@

    Advanced