diff --git a/Gemfile.lock b/Gemfile.lock index 4fb75cc060f..6302c4e9e27 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,7 +5,7 @@ GEM public_suffix (>= 2.0.2, < 6.0) chunky_png (1.4.0) colorator (1.1.0) - commonmarker (0.23.9) + commonmarker (0.23.10) compass (1.0.3) chunky_png (~> 1.2) compass-core (~> 1.0.2) @@ -79,15 +79,15 @@ GEM forwardable-extended (~> 2.6) public_suffix (5.0.3) racc (1.7.1) - rack (2.2.7) + rack (2.2.8) rack-protection (3.0.6) rack rake (13.0.6) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.5) - rouge (4.1.2) + rexml (3.2.6) + rouge (4.1.3) ruby2_keywords (0.0.5) safe_yaml (1.0.5) sass (3.4.25) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 70930821793..c0c25b1ccad 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -631,7 +631,7 @@ If your template is returning a timestamp that should be displayed in the fronte {% raw %} -`{{ states.sun.sun.last_changed }}` => `2021-01-24 07:06:59+00:00` (missing "T" separator) +`{{ states.sun.sun.last_changed }}` => `2023-07-30 20:03:49.253717+00:00` (missing "T" separator) {% endraw %} @@ -639,7 +639,7 @@ To fix it, enforce the ISO conversion via `isoformat()`: {% raw %} -`{{ states.sun.sun.last_changed.isoformat() }}` => `2021-01-24T07:06:59+00:00` (contains "T" separator) +`{{ states.sun.sun.last_changed.isoformat() }}` => `2023-07-30T20:03:49.253717+00:00` (contains "T" separator) {% endraw %} diff --git a/source/_integrations/ambient_station.markdown b/source/_integrations/ambient_station.markdown index a50ffb41a1f..a9a3f3865a5 100644 --- a/source/_integrations/ambient_station.markdown +++ b/source/_integrations/ambient_station.markdown @@ -25,27 +25,6 @@ Using this integration requires both an Application Key and an API Key. To generate both, simply utilize the profile section of [your Ambient Weather dashboard](https://dashboard.ambientweather.net). -To add your Ambient Weather PWS to your Home Assistant installation, add the -following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -ambient_station: - api_key: YOUR_API_KEY - app_key: YOUR_APPLICATION_KEY -``` - -{% configuration %} -api_key: - description: The API key to access the service. - required: true - type: string -app_key: - description: The Application key to access the service. - required: true - type: string -{% endconfiguration %} - {% include integrations/config_flow.md %} ## Local API Option diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index 45d0f675c00..f0752cb1a4d 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -82,5 +82,6 @@ Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on - LC-70LE650U - LC-70LE747E (no volume control) - LC-60LE650U +- LC-80LE632U If your model is not on the list, give it a test. If everything works correctly, then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/aquostv.markdown). diff --git a/source/_integrations/edl21.markdown b/source/_integrations/edl21.markdown index 8b3205861b5..728e847e564 100644 --- a/source/_integrations/edl21.markdown +++ b/source/_integrations/edl21.markdown @@ -31,26 +31,7 @@ Tested smart meters: - efr SGM-C4 (enable InF as described in manual to retrieve full data) - easymeter Q3 ([Link](https://www.easymeter.com/products/zaehler/q3a)) -## Configuration - -To set it up, add the following information to your `configuration.yaml` file: - -```yaml -sensor: - - platform: edl21 - serial_port: /dev/ttyUSB0 -``` - -{% configuration %} -name: - description: The friendly name of the smart meter. - required: false - type: string -serial_port: - description: The device to communicate with. When using ser2net, use socket://host:port. - required: true - type: string -{% endconfiguration %} +{% include integrations/config_flow.md %} ## InF Mode diff --git a/source/_integrations/firmata.markdown b/source/_integrations/firmata.markdown index dfb6eb4bdbc..38f0582c18d 100644 --- a/source/_integrations/firmata.markdown +++ b/source/_integrations/firmata.markdown @@ -133,7 +133,7 @@ lights: required: false default: 255 type: integer -binary_sensor: +binary_sensors: description: Digital or analog high/low input to configure required: false type: list @@ -155,7 +155,7 @@ binary_sensor: required: false default: False type: boolean -sensor: +sensors: description: Analog input to configure required: false type: list diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index 50507437d80..5ff44ec2895 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -210,6 +210,7 @@ The following models have been tested and confirmed to work: - [RLN8-410 NVR](https://reolink.com/product/rln8-410/) - [RLN16-410 NVR](https://reolink.com/product/rln16-410/) - [RLN36 NVR](https://reolink.com/product/rln36/) +- [Reolink Duo WiFi](https://reolink.com/product/reolink-duo-wifi-v1/) - [Reolink Duo 2 WiFi](https://reolink.com/product/reolink-duo-wifi/) - [Reolink Duo Floodlight PoE](https://reolink.com/product/reolink-duo-floodlight-poe/) - Reolink TrackMix ([PoE](https://reolink.com/product/reolink-trackmix-poe/) and [Wi-Fi](https://reolink.com/product/reolink-trackmix-wifi/)) diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown index 01dd5b819e0..5e192202188 100644 --- a/source/_integrations/telegram.markdown +++ b/source/_integrations/telegram.markdown @@ -20,16 +20,16 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea - Bots are not allowed to contact users. You need to make the first contact from the user for which you want to set up the bot. 1. Tell Telegram to create a bot for you: - - In Telegram, open a chat with @BotFather and enter `/newbot`. - - Follow the instructions on screen and give your bot a name. - - BotFather will give you a link to your new bot and an HTTP API token. + - In Telegram, open a chat with @BotFather and enter `/newbot`. + - Follow the instructions on screen and give your bot a name. + - BotFather will give you a link to your new bot and an HTTP API token. - Store the token somewhere safe. 2. To get a chat ID, send any message to the [GetIDs bot](https://t.me/getidsbot). - - Then, enter `/start`. - - The bot will return your chat ID and the user name. + - Then, enter `/start`. + - The bot will return your chat ID and the user name. 3. Create a [Telegram bot in Home Assistant](/integrations/telegram_bot): - - Paste this into your [configuration file](/docs/configuration/): - - Replace the `api_key` and the `allowed_chat_ids` with your data. + - Paste this into your [configuration file](/docs/configuration/): + - Replace the `api_key` and the `allowed_chat_ids` with your data. ```yaml # Telegram Bot @@ -41,8 +41,8 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea ``` 4. Create a notifier: - - Paste this into your configuration file: - - Replace the `name` and the `chat_id` with your data. + - Paste this into your configuration file: + - Replace the `name` and the `chat_id` with your data. ```yaml # Notifier @@ -51,21 +51,21 @@ To create your first [Telegram bot](https://core.telegram.org/bots#how-do-i-crea name: "sarah" chat_id: 44441111 ``` - - Restart Home Assistant. + - Restart Home Assistant. 5. From the conversation with BotFather, select the link to open a chat with your new bot. 6. In the chat with the new bot, enter `/start`. 7. Test the service: - - Go to [**Developer tools** > **Services** > **YAML mode**](https://my.home-assistant.io/redirect/developer_call_service/?service=homeassistant.turn_on). - - Paste this into the YAML file: - - Replace the `service` and the `message` with your data. + - Go to [**Developer tools** > **Services** > **YAML mode**](https://my.home-assistant.io/redirect/developer_call_service/?service=homeassistant.turn_on). + - Paste this into the YAML file: + - Replace the `service` and the `message` with your data. ```yaml service: notify.sarah data: message: "Yay! A message from Home Assistant." ``` - - Select **Call service**. You should now get a message. + - Select **Call service**. You should now get a message. 8. You can do more with this. Check out the configuration descriptions and examples below. diff --git a/source/_integrations/unifiprotect.markdown b/source/_integrations/unifiprotect.markdown index 97a326506a6..0fe07adaa13 100644 --- a/source/_integrations/unifiprotect.markdown +++ b/source/_integrations/unifiprotect.markdown @@ -303,6 +303,8 @@ These URLs work great when trying to send notifications. Home Assistant will aut `nvr_id` can either be the UniFi Protect ID of your NVR or the config entry ID for your UniFi Protect integration. `camera_id` can either be the UniFi Protect ID of your camera or an entity ID of any entity provided by the UniFi Protect integration that can be reversed to a UniFi Protect camera (i.e., an entity ID of a detected object sensor). +The easiest way to find the `nvr_id`, `camera_id`, `start`, and `end` times is by viewing one of the videos from UniFi Protect in the Media browser. If you open the video in a new browser tab, you will see all these values in the URL. The `start` time is the last_changed timestamp of the event when the sensor started detecting motion. The `end` time is the last_changed timestamp of the event when the sensor stopped detecting motion. Similarly, to see the `event_id` of the image, go to {% my developer_states title="**Developer Tools** > **States**" %} and find the event when the sensor started detecting motion. + ## Troubleshooting ### Delay in Video Feed diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown index f84f5351c91..84113a6be04 100644 --- a/source/_integrations/workday.markdown +++ b/source/_integrations/workday.markdown @@ -17,10 +17,11 @@ ha_platforms: ha_integration_type: integration --- -The `workday` binary sensor indicates whether the current day is a workday or not. It allows specifying which days of the week will count as workdays and also -uses the Python module [holidays](https://pypi.org/project/holidays/) to incorporate information about region-specific public holidays. +The `workday` binary sensor indicates whether the current day is a workday or not. -This can be used to make automations that act differently on weekdays vs weekends. For example, you could make your bedroom lights turn on (gently) at 7 in the morning if it is a weekday, but wait until 11 if it is a weekend day. +It allows specifying which days of the week will count as workdays and also uses the Python module [holidays](https://pypi.org/project/holidays/) to incorporate information about region-specific public holidays. + +This can be used to make daily automations that act differently on workdays than non-workdays. For example, you could make your bedroom lights turn on (gently) at 7 in the morning if it is a workday but wait until 11 if it is a non-working day. ## Setup @@ -33,7 +34,7 @@ The keyword `holiday` is used for public holidays identified by the holidays mod
-Watch how the `holiday` keyword is used. Your first instinct might be adding it to the `exclude` configuration, thinking it means skipping the holidays. It means to exclude the days in the holiday list from the workdays. So, when you exclude `holiday` and a workday falls on that day, that workday is excluded, and the sensor will be **off**. If you want every workday flagged with no regard to holidays, ensure that there is something in your `Excludes` configuration _other_ than `holiday`. +Take note of the `holiday` keyword. Your first instinct might be to add it to the `exclude` configuration, thinking it means skipping the holidays. But it is meant to exclude the days in the holiday list from the workdays. So, when you exclude `holiday` and a workday falls on that day, that workday is excluded, and the sensor will be **off**. If you want every workday flagged with no regard to holidays, ensure that there is something in your `Excludes` configuration _other_ than `holiday`.