From 8777ac00af635c813ca75993a0eb08de4bd0973e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Diego=20Rodr=C3=ADguez=20Royo?= Date: Wed, 30 Apr 2025 23:19:44 +0200 Subject: [PATCH 01/38] Fix Home Connect typo (#38828) --- source/_integrations/home_connect.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/home_connect.markdown b/source/_integrations/home_connect.markdown index 04fb32f86c0..ab2fd4ab1e9 100644 --- a/source/_integrations/home_connect.markdown +++ b/source/_integrations/home_connect.markdown @@ -1187,7 +1187,7 @@ The program key needs to be added to the integration. To help with that, you can #### Symptom: "the "active program" and "selected program" entities are not provided by the integration" -The the "active program" and "selected program" entities are not provided by the integration, and the downloaded device diagnostics file does not list any programs. +The "active program" and "selected program" entities are not provided by the integration, and the downloaded device diagnostics file does not list any programs. ##### Description From 80c068cdc9878e00dd3718a9d54c3c4ca23689b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 08:49:33 +0200 Subject: [PATCH 02/38] build(deps-dev): bump ruby-lsp from 0.23.15 to 0.23.16 (#38835) --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 402b2341c8e..b74567b0fe1 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ group :development do gem 'sassc', '2.1.0' gem 'sass-embedded', '1.87.0' gem 'rubocop', '1.75.4' - gem 'ruby-lsp', '0.23.15' + gem 'ruby-lsp', '0.23.16' gem 'rackup', '2.2.1' end diff --git a/Gemfile.lock b/Gemfile.lock index 7a669e9a5ab..1d9f3957111 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,7 +133,7 @@ GEM rubocop-ast (1.44.1) parser (>= 3.3.7.2) prism (~> 1.4) - ruby-lsp (0.23.15) + ruby-lsp (0.23.16) language_server-protocol (~> 3.17.0) prism (>= 1.2, < 2.0) rbs (>= 3, < 4) @@ -159,7 +159,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.12046) + sorbet-runtime (0.5.12048) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -186,7 +186,7 @@ DEPENDENCIES rackup (= 2.2.1) rake (= 13.2.1) rubocop (= 1.75.4) - ruby-lsp (= 0.23.15) + ruby-lsp (= 0.23.16) sass-embedded (= 1.87.0) sass-globbing (= 1.1.5) sassc (= 2.1.0) From 15ee451e3c41cd4c8ad41aa63d0cc9f11b4bbdd1 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 1 May 2025 12:19:35 +0200 Subject: [PATCH 03/38] Improve Twente Milieu documentation (#38838) --- source/_integrations/twentemilieu.markdown | 77 +++++++++------------- 1 file changed, 32 insertions(+), 45 deletions(-) diff --git a/source/_integrations/twentemilieu.markdown b/source/_integrations/twentemilieu.markdown index 033c98f2504..108410c4fdd 100644 --- a/source/_integrations/twentemilieu.markdown +++ b/source/_integrations/twentemilieu.markdown @@ -19,70 +19,57 @@ ha_integration_type: service ha_quality_scale: silver --- -The Twente Milieu {% term integration %} enables you to monitor the upcoming -waste collection schedules provided by -[Twente Milieu](https://www.twentemilieu.nl/) for various waste categories. -This integration helps you stay informed about the next pickup dates for -different types of waste, ensuring you never miss a collection day. +The **Twente Milieu** {% term integration %} enables you to monitor the upcoming waste collection schedules provided by [Twente Milieu](https://www.twentemilieu.nl/), a waste collection company serving municipalities in the Twente region of the Netherlands, including Enschede, Hengelo, Almelo, Borne, Hof van Twente, Oldenzaal, and Losser. This integration helps you stay informed about the next pickup dates for different types of waste (like organic, paper, plastic, and non-recyclable), ensuring you never miss a collection day. {% include integrations/config_flow.md %} -### Configuration parameters - {% configuration_basic %} Postal code: description: The postal code of the address, for example "7500AA". House number: description: The house number of the address. House letter/additional: - description: The house letter or additional information of the address. + description: The house letter or additional information of the address, if applicable. {% endconfiguration_basic %} ## Use cases -The integration provides sensors for the next waste pickup dates. You can use -this information to create automations, for example, to remind you to put out -the waste bins the night before the pickup. +With the Twente Milieu integration, you can: -Besides the sensors, the integration also provides a calendar to Home Assistant. -Meaning you can view all upcoming waste pickups in the calendar dashboard. +- Monitor upcoming waste collection dates for different waste types +- Create automations to remind you to put out your waste bins before collection day +- View all your upcoming waste pickups in the calendar dashboard +- See at a glance when your next waste collection is due ## Supported functionality ### Calendar -The integration provides a calendar to Home Assistant. You can view -all upcoming waste pickups in the calender dashboard. +The integration provides a calendar entity that displays all upcoming waste collection dates from Twente Milieu. You can view this calendar in your {% my calendar title="Calendar dashboard" %}. ### Sensors -This integration provides sensors for the following waste pickup dates from -Twente Milieu: +This integration creates the following sensors for upcoming waste collection dates: -- Next plastic waste pickup date. -- Next organic waste pickup date. -- Next paper waste pickup date. -- Next non-recyclable waste pickup date. -- Next Christmas Tree pickup date. +- Next plastic waste pickup date +- Next organic waste pickup date +- Next paper waste pickup date +- Next non-recyclable waste pickup date +- Next Christmas tree pickup date (seasonal) + +Each sensor provides the next scheduled date for its respective waste type, allowing you to track when to put out specific bins. ## Data updates -The integration will update its information by polling Twente Milieu every -hour. This ensures the data in Home Assistant is up to date. - -## Actions - -This integration does not provide additional actions. +The integration updates its information by {% term polling %} the Twente Milieu service every hour. This ensures your waste collection schedule in Home Assistant stays current. ## Examples -The following examples show how to use the Twente Milieu integration in Home -Assistant automations. +Below are practical examples of how you can use the Twente Milieu integration in your automations. ### Send notification the evening before the garbage pickup day -The following example sends a notification to your mobile device the evening -before the garbage pickup day. This ensures your bins are out on time. +This example sends a notification to your mobile device the evening before collection day, ensuring you remember to put out the correct bin. ```yaml automation: @@ -92,42 +79,43 @@ automation: event: start entity_id: calendar.twente_milieu offset: "-6:00:00" + # This triggers 6 hours before the calendar event starts actions: - action: notify.mobile_app_your_device data: title: "Garbage day!" - message: > + message: > Reminder: Tomorrow is {{ trigger.calendar_event.summary }} pickup day. Don't forget to put out the bin! ``` -### Send notification at the end of day to haul in the empty bin again +### Send notification at the end of day to bring in the empty bin -The following example sends a notification to your mobile device at the end of -the day to remind you to haul in the empty bin again. +This example sends a notification to remind you to bring the empty bin back in after collection. ```yaml automation: - - alias: "Reminder to haul in the bin" + - alias: "Reminder to bring in the bin" triggers: - trigger: calendar - event: end + event: end entity_id: calendar.twente_milieu offset: "-4:00:00" + # This triggers 4 hours before the calendar event ends actions: - action: notify.mobile_app_your_device data: - title: "Haul in the bin!" - message: > - Reminder Garbage has been picked up today. Don't forget to haul in - the bin! + title: "Bring in the bin!" + message: > + Reminder: The waste has been collected today. Don't forget to + bring in your empty bin! ``` ## Known limitations -There are no known limitations for this integration. +- Home Assistant currently doesn't support translating calendar items. Therefore, waste collection events in the calendar will always be displayed in English, regardless of your language settings. ## Troubleshooting @@ -135,7 +123,6 @@ There are no commonly known issues with this integration. ## Removing the integration -This integration follows standard integration removal. No extra steps are -required. +This integration follows standard integration removal. No additional steps are required. {% include integrations/remove_device_service.md %} From 04c722c51a8387f6e386bba1c641a365c5b3e6ea Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 1 May 2025 08:14:34 -0400 Subject: [PATCH 04/38] Update link in WWHA announce blog --- source/_posts/2022-07-12-partner-program.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2022-07-12-partner-program.markdown b/source/_posts/2022-07-12-partner-program.markdown index 82803e0096b..c745597a324 100644 --- a/source/_posts/2022-07-12-partner-program.markdown +++ b/source/_posts/2022-07-12-partner-program.markdown @@ -14,7 +14,7 @@ og_image: /images/blog/2022-07-12-partner-program/partner_program_og.jpg --- {% note %} -**This blog is outdated.** For the latest information on the partner program, please visit our [Works with Home Assistant webpage](https://partner.home-assistant.io/). +**This blog is outdated.** For the latest information on the partner program, please visit our [Works with Home Assistant webpage](https://works-with.home-assistant.io/). {% endnote %} With Home Assistant, we integrate with over 1000 different APIs. The majority of these integrations are created and maintained by the Home Assistant community. Over the years a number of companies have stepped up to work with our community offering samples and engineering support. In a few cases, we saw companies pick up the maintenance of integrating their products in Home Assistant. From ef6c0631186916306abce8606a41d0d8fb198e26 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 1 May 2025 08:18:49 -0400 Subject: [PATCH 05/38] Link partner badges in docs to right website (#38841) --- source/_includes/asides/component_navigation.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index b9af18dbe20..51afedfdf9c 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -71,7 +71,7 @@ {% if page.works_with %} {%- for type in page.works_with -%} From f0ac5328bb606d9d51fc8bdb7ae7a04d01dc5d1e Mon Sep 17 00:00:00 2001 From: Darren Griffin Date: Thu, 1 May 2025 13:51:30 +0100 Subject: [PATCH 06/38] Update image with correct branding (#38844) --- source/images/docs/energy/energy-overview.png | Bin 40106 -> 114885 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/docs/energy/energy-overview.png b/source/images/docs/energy/energy-overview.png index ad8522058c2cd4d340ca3c7ad10404bc8fa2fc4d..125a9679777a83dff12079fa0c5d3d3bf5d9c78f 100644 GIT binary patch literal 114885 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

^4`X5;kJCwh=ysadZ1tpd{?>b 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 literal 40106 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 From 4a9c8fd4ce51adbc26310fbcc24ff0ba8345839b Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 1 May 2025 17:38:32 +0200 Subject: [PATCH 07/38] Extend the RDW documentation (#38842) --- source/_integrations/rdw.markdown | 94 ++++++++++++++++++++++++++++--- 1 file changed, 85 insertions(+), 9 deletions(-) diff --git a/source/_integrations/rdw.markdown b/source/_integrations/rdw.markdown index 943da5a464d..b2dc476c5ce 100644 --- a/source/_integrations/rdw.markdown +++ b/source/_integrations/rdw.markdown @@ -19,16 +19,92 @@ ha_platforms: ha_integration_type: service --- -[RDW](https://www.rdw.nl) is the Netherlands Vehicle Authority. Their tasks -are the licensing of vehicles and vehicle parts, supervision and enforcement, -registration, information provision, and issuing documents. +The **RDW** {% term integration %} connects with the [RDW](https://www.rdw.nl) (Netherlands Vehicle Authority) open data service to retrieve and monitor information about your Dutch registered vehicles in Home Assistant. RDW is the government organization responsible for vehicle registration, licensing, supervision, and enforcement in the Netherlands. -The RDW data is open data, available for public use. This integration looks -up any dutch registered vehicle by its license plate and keeps that -information in Home Assistant. +## Use case -This information, and the sensors provided, can be helpful, for example, -by sending alerts when it is time to get your car checked for the -required general periodic inspection (APK). +With this integration, you can keep track of important vehicle information like periodic inspection (APK) expiration dates, insurance status, and recall notifications directly in your Home Assistant dashboard. This saves you from having to manually check the RDW website or wait for paper notifications in the mail. You can set up automations to receive timely reminders when your vehicle needs attention. + +## Prerequisites + +To use this integration, you need: + +1. A vehicle with Dutch registration (license plate) +2. The license plate number of the vehicle you want to monitor {% include integrations/config_flow.md %} + +{% configuration_basic %} +License plate: + description: "The Dutch license plate number of your vehicle. Enter without spaces or dashes (for example, AB123C instead of AB-123-C)." +{% endconfiguration_basic %} + +## Supported functionality + +### Entities + +The **RDW** integration provides the following entities for your vehicle: + +#### Binary sensors + +- **Liability insured**: Shows whether your vehicle has current liability insurance. +- **Pending recall**: Indicates if your vehicle has an open recall notice that requires attention. + +#### Sensors + +- **APK expiration**: The date when your vehicle's periodic technical inspection (APK) expires. +- **Ascription date**: The date when your vehicle was registered to its current owner. + +## Examples + +### Creating a vehicle recall alert automation + +This automation sends you an important notification when the RDW reports a safety recall for your vehicle: + +```yaml +# Automation to alert you about safety recalls for your vehicle +automation: + - alias: "Vehicle recall alert" + trigger: + - platform: state + entity_id: binary_sensor.rdw_ab123c_pending_recall + to: "on" + action: + - service: notify.mobile_app + data: + title: "Vehicle recall alert" + message: "Your vehicle has a pending safety recall. Please contact your dealer." +``` + +## Data updates + +The **RDW** integration {% term polling polls %} data from the RDW open database once an hour. This update frequency is appropriate for vehicle-related information since this data typically doesn't change frequently. + +## Known limitations + +- This integration only works with Dutch vehicle license plates. + +## Troubleshooting + +### Vehicle information not found + +#### Symptom: "Unknown license plate" + +When trying to set up the integration, the form shows the message "Unknown license plate." + +##### Description + +This happens when the license plate is valid but RDW doesn't have information about this vehicle in its database. + +##### Resolution + +1. Double-check that you've entered the correct license plate number. +2. Make sure the vehicle is registered in the Netherlands. +3. Very new registrations might take some time to appear in the open data. +4. Check the [RDW website](https://www.rdw.nl) to see if it shows up there. + +## Removing the integration + +This integration follows standard integration removal. No additional steps are required. + +{% include integrations/remove_device_service.md %} From 0834e9abda1ecab76b16cf9ea7fc88f3def9ab6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 17:57:45 +0200 Subject: [PATCH 08/38] build(deps-dev): bump public_suffix from 6.0.1 to 6.0.2 (#38833) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1d9f3957111..8fe6e69f8e0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) prism (1.4.0) - public_suffix (6.0.1) + public_suffix (6.0.2) racc (1.8.1) rack (3.1.13) rack-protection (4.1.1) From e11ca29345069b539724c9ad914fa1139300d05d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 1 May 2025 12:55:42 -0400 Subject: [PATCH 09/38] Update wwha badge (#38843) --- .../_includes/asides/component_navigation.html | 10 +++++----- .../images/works_with/works-with-bluetooth.png | Bin 18429 -> 0 bytes source/images/works_with/works-with-cloud.png | Bin 18003 -> 0 bytes source/images/works_with/works-with-local.png | Bin 17293 -> 0 bytes source/images/works_with/works-with-matter.png | Bin 17761 -> 0 bytes source/images/works_with/works-with-zigbee.png | Bin 17857 -> 0 bytes source/images/works_with/works-with-zwave.png | Bin 18074 -> 0 bytes source/images/works_with/works-with.png | Bin 0 -> 5765 bytes 8 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 source/images/works_with/works-with-bluetooth.png delete mode 100644 source/images/works_with/works-with-cloud.png delete mode 100644 source/images/works_with/works-with-local.png delete mode 100644 source/images/works_with/works-with-matter.png delete mode 100644 source/images/works_with/works-with-zigbee.png delete mode 100644 source/images/works_with/works-with-zwave.png create mode 100644 source/images/works_with/works-with.png diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index 51afedfdf9c..0f2198ebdcb 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -55,9 +55,9 @@  Its IoT class is {{ page.ha_iot_class }}. {%- endif -%} - + {%- if page.ha_quality_scale %} -

+
{% if page.ha_quality_scale == "bronze" %}🥉 Bronze quality
{%- endif -%} {% if page.ha_quality_scale == "silver" %}🥈 Silver quality
{%- endif -%} {% if page.ha_quality_scale == "gold" %}🥇 Gold quality
{%- endif -%} @@ -67,12 +67,12 @@ {% if page.ha_quality_scale == "custom" %}📦 Custom integration
{%- endif -%}
{%- endif -%} - + {% if page.works_with %} {%- for type in page.works_with -%} {%- endfor -%} @@ -96,7 +96,7 @@ {% assign ha_project = true %} {% endif %} {% endfor %} - + {% if ha_project %}
This integration is being maintained by the Home Assistant project. diff --git a/source/images/works_with/works-with-bluetooth.png b/source/images/works_with/works-with-bluetooth.png deleted file mode 100644 index 4ab85b19ec78f5dbf0d318cb892c1446a837e60a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18429 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�C3W98J4Q6#-B* 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

lVLm-{GVOek5P&hBL~qB0VOWuv=1==wX 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 diff --git a/source/images/works_with/works-with-local.png b/source/images/works_with/works-with-local.png deleted file mode 100644 index cbbb54c6ba08f1c0a114909be38b6c4f94d4b569..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17293 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 bU+S-&H=1dmwU`rlga(7BtDnm{r-UW|+EC%H diff --git a/source/images/works_with/works-with-matter.png b/source/images/works_with/works-with-matter.png deleted file mode 100644 index ebab669ce7a3aaccba8b48ef814ed62860a435b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17761 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 Y|6!Elm^RG{cq|Hor>mdKI;Vst04RL#+W-In diff --git a/source/images/works_with/works-with-zigbee.png b/source/images/works_with/works-with-zigbee.png deleted file mode 100644 index 3d93267fc5121e645f71890faa2214cbefb7fc36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17857 zcma&NWl)?=7cB~dySoMn!7T)W4{pI_2=4Cg4ub}Qy9J-X0KwhegS!)4g4-eQcdPFC zd8)>q>h9gUSIcy-wL4N-Q5pl46cq*r218axLKOxEpz-!Q1sU<}^LE!S=)pgH>_uoh&v37q^7I{P~B7iBpb;W zzmI5uAsG{(A_|{GBk6t6Cx!(4A)_IBjG!U`k0XICiOoy{enB8(`r@qtE2#nt^k(>= ziYq2PM87H0VU&9O#r?+pjBP0S_Su)vo>$A=!otG;YAur&XH@5s8e)dZEn!8L`hsy=r`GYYQY1I{y$ujT}skOf%5vd(R~= zCugivZ)BzJ!7bCToTb^z{;eOGQ(>j-y!vU2)mGHLI89MycAPDAlnCQo!s zZ0zid*gtpRarkwcT_b<$)-gS2YS+%av>WwI(nj38ls^yQek&+fNavbQVo`gE9ia64 z`+|A0EbaWOs(OsKlyZE{fBu&BJ}>32a1dxr}9*`E}$L2)E3?^@!*OSrk#9J zuDd2#9-BEjNy-0kGy<-*dTDn(-P_ndxGZmRmwb=gO0zGEimB4`(T%{Q_<%z2pO2v! zOAQWGdTrLTPESP~GAKAh7>cSG%%`*>JK? zp4ZjhkJA4#P?Jx#E>fsSM&tY7SJ7_24OY@Oc+%%CY5z-hL^Q7W+F(1I&=CU`O!2LB zety7+GPuY4A3~d<{BB$F$!vP<&ZcXEUWfCg`g#Hi{~HN>`Cn(tWBMd`<6@$jRq5H- z6#xGeiAdbzjNq_xi4;aZ6DzqJ+5d`cQcSAwYLzO#ftoKSS!eRUxe-c)AItppBiASX z3{}SenZ6UXRX{g;{9g;tk?6|**ODigNT&b#7+FNL;Qs>~E54NGztnTM|L1Hq@n80* z7t_Scj)U~rZVv2;d~VOwZ{~|emJCq-*+-_AQ8$BS)aAuk%^mi(^{AeRE2^eaDycnF zDyo$YD5Sk5ZqQ|1(A*qkf-& z&sLhVx^K+<{T>aCy11X=N6o8~(SJih!cw$gSgEm5mDE&R`OiT&D&c>{sDr8AEK?H% zTUYr3i{Ol|`BDC74uu90oxIikc%k}BonQAmaDsOVTKO&}Lh|U9S-~P4eZjA`b2#8r zNuDAPDN&T^7^=nGlR>VGi4U83Yn7z}yicp?p7XNTCRe5%*oGN@Y(b6pJb=z|oyRMEFznuj z`}_S_djQ?GZ`A~W(O0USBfzB(&V0jxDe2>;I{)(Pnb{51`oOi;5YZ4neyk~m=i*nr zZ|LpYBike$kv632Oc{M&(T8p>CPqK{zQ+nU+n6TV{gw{3P_1f>+giW<_}bn|8SY8^ z>&g4m_Gg>%BWYTH)-{@WdZm@2kxKWVnDxhl+>h?~7=itXyb_FO?02cT4^cZG>oeAg zk|w$~Irdw!jM#L>RZtk3IyRWop1sBpG_ecQiM&O9-S`_gK^ zGx1Z=>SeLLkNcJIFxm+k&E=IcU#F{D2h{WZHZR*|>-2u&{C0Py{Zi*;)Q(4Rn{S=$ z&JQjiN6F$U(U!0j_Lq)jM`y;&A6wRS*RMp8J13HR&9T^t7f&yLEK~z?*G2tvZsg+z z<-)P3UT7nks6-Jwwk~S{Sbf-RkcX=X9&)PqRIK6}cJypV@wL3sQryB5Jy^Cm9o`~n zqGx_kzmwjHE+p?qs{R)lvl$G+PE4l+TVt==Gl8ddvroaVr|cHLZ?SH-FxR{~eARv( z(2aUVMO%Zpls2}rD`Rm1{2jkvsJ8Z}tzDw(2S9FXL*tdC6(@R|EDm=94)QqrKSPdQ z3*;c4BBB=0z4k-`mY&}fTc8Xp-;Mvv8|jB))qGK*X;vJt*y88x z`*4A?y2`Cxxk|M`NhHypUflwDE*Mn;rQ*)jLQM=Vk54K^#O_BtryX$lcklsKij4kL zT616mF#`0xlP5rkT=$^l4jo)&n9&vb#syMQ$-mzrZIpM z#4gGo5WS*Z&vLvb+O;*4jE2t)L^!v(s~p$S6NBCX9@Ie64`;5C58LpqemlU_%sepx z{w%bQddgi(vmOz3d4L1aN!f)qQshod$<-01`V^8b)?oTBnfW7M8*9gom|)Z=f3|Fj z25iQl?#I?z@IE1gNw_bXXVO4+#|3< zJ4eLT&=1^S%MF%88k22Atm;89{5WJn_Z-pHisi40OkKE0PQJ-|;4qXiv%tX>cIRo? z5Y5}W1PcfC9MWWu9~8MlejP<1Ye2001R{lYJnUWe+nNxw4?tj4ob9 z7rB9bH1XO=NvC_7(?Mnkw|m7aIO!1P02g3bvw353@rKJCrr*q}3P04kbC&3X!sqY9 zl#C=}8eM~KW?4CH-A+KfsYs!@ zw)fQq@6S48=3$rv(vd+Tj4cf9B|@1w+|y$VJE!ssg0R$%Dp@C|GrFhOD?t)Wn)6y>v6E`QD?jeCR?2# zy9n0YLa(-$_k0dz9=5GG1ETjxn%#W1O=LE2G*>Y&j-O|2Z11vb^*?nr z)V6ttlIv!%BEpPS?}~Z8-qR_El%iLNKt6$Z*rJy~G^C5Dhhc9FBcF9~_Q9o*IC8Sb zf9##a_TLz);OP_WxbE_%-!k2#1-x!xhNW@o9COiQa-K$c)2sHWI4;Ho)FzOv{TFlZHrujA=exdpuX;sN2%lBcdw ziN=I51EdiPNN&es^jh)ibyB!?@BD%Yl-96`uG8O9qMIRC18m~)ux(6!EdUn+ROqF8 zzx=6WenMj2LNhCngbIt6thIoWz$7k!_6mmAEKYr_zMCpZ?%?JqXJxybty5H&1j{!} zYj)9nq*9mauTmwUO~ONf0B2{0%>wS4#0D&H2yweK4{}ef@h=6VKD6yK0_%J1+XQ zcuY{plKhNE`z4{9&4uHhVA@vVO57(-3FKe1^Y!#|m#sHbTTk z+T`LEC0L6JJI?<>8cY-rm%xg#HQGW6CO=JzY{VqjTZD1umwnDoSPf(({E!38}y3iT69fgj{r*=SBtN?KE1u||^h&i(rLVZMafX9pt> zKr{&YLCl|DYQpdXWU&>gRm|Y3|BkjF6R5*{0kCLp;qvWV!FTT4gmwRtkluc8CwJ{WPqhe2PpCPx3JbD+ux0gjI{URHB z*lBJ0qzNWcP&`Lc`}U*Bt#Q|D0E4$&EpMovFHUedyBdWdwTP$t>zhBYC44Hg3 ztm=4K?0zLO;>Sy=9qlkF-gnR%@`F4R9%q2KF&cGV@pIz)Pp&k`gU`BOC6?9vi|`m@ zV)+h)#j(6>u#tWMvQx5-P)-?s_z-(>X#AkF?BRvT|M`iW!1@UdBN&nMtJD-Kn!z&7 zIKM1OqqC9UZ=g5Y%D3Tru2YoWUQDEFKBf(G3FRhC7D30_Znwjv+SZlWY<}nDAuC+r zy=#;6cJ*CE`9gvL&u#cAhyyEc3DgU*f&vj=Qxgc?#m06i8=0MC9!+|$uMTceB4uEQ0%2DVF z7tm4dKf4LQI-So#EKp{f!MYFk^>3edrD47(XhNo%{D3*$o#)!J@eY;9h@SVm<0HjR zcAZnyXLH5tZQ3PVnWrC4;p;4*GSg^H<}x+jPkEi^1ai(Ka6rCPp*iFUp zOE4^-hx#%+-NMXusYeI_CB%{d(MbW(c6JKge)1u)J$#UN&SIwb^^;Q=7$|-m%_|Ba zK0=8a9X8%!ZH#y@zx%vt-y?xon-2LL_Cd{GvCuvWXQEflM^#cUv=dm#qd@2+_eB;y zKYL+h84c7Hv!eYmiYEb)%aYj@ts!pZ1v^x&6p>N15S;hd>@!QL>!e|L2s3t}O(96k z7EQ`ZDnr+WUOLt`EF&@P^pg*=y-1-X9Dd4*{h-4(ib)0_ejs8E=d`zhxwo;2?j(?# z*o{Nuw>&fUN^60640Pw+eZiqRr}EukbThmbqj5!y@5l&6A7AEcRY>kN4=+JzT(wJR z5mE{~KJ3;`Oltk5db1V{4!CQkUH!s`AAHM+%3C7(n;KacsanxlBSbWXm!b1K?D)?E zB5Y{@5+c^^iEEQt9xt3jgv_U9M~s|6f{Ei=WJ6v!>1Co=Q*MVyqmH>IF7ca?C{BC( z0EWD>_@C|2RuYS=admy#-nWFivqd_gK9fS4>~ zxrS&qNb9i(fbti~rKL)}=C5hp&`VojV_l4)DN_Tm#-}SW8ZIFD>a$mkekX3&6!)j5 z!rqTA3KX}9I}P5F83hiAEE;h3VBAH>{A?V7cJ*Tl7#DaiWuALpN$Iv}+~bK*p;#2T zBH|tHsvPWL>ed8vi9pB56E%pY%j0&(9aguN)&1bqWr)v;y%Ipe5Dn)t^!lG=bl;|`4_ zA;ft_m7Qo=U&LftnSsb{2^Mpe3gum?Gxdj6HcJ3CL>R>=I+@(px)l$brNJsd`h{_O zRB%yss^9dtw$kCjyEG0~1B7DVGmc)A{GsGkWUd*eKIppFb_B*zA4$3ebZ?={vJMWJ zFIBP_UFwf_u@jwas3cbU{JxfpQcs{d{#vhQ{#6%*m4XhIf_`_ZnR%RFbP11-^|Ort zgdN;9#e2W9`vh_qJsy6P<{GC+>GiN5$9}&C;I#Xdx1qahLFlBJmX+@?_{9uAVJ$Gv zq0lnohjK0wZ%{S-M6#*OAK|EnoXFcU+_^ht0%b&_7t z1p;kyH6OOB_XfucuVNK%FbKC6K{la|L=&H)(G(gAwv~iIZuNJsYB4J%bx6wYU8G)* z$6;}`b^QVg3Oq)bH3=P&N6HN)Q`Yx~uVn6Z?D`&ZjU!Dy2*#QY>KwLE=9iNHhUfUH zpXWTV)mM>$eaj?9^n8e$M<{4TJjWSK66AKY=vQW+eKcZbB9Y<}Fsb59MKeHR?wS#F zL@|svR?iW5D&@-etJd8wZiwQ6< zMjz78r5;AG^1fVQ+<7#F6Db+Tca0^8O6pgLToZ2&@tBDwc_=aq(BRT;;YHnjeh$B( zZt&b~LMHbbo{O7SQ30u2F9*dkT=)uoE{1ow1&O@JnA`B%h@Fb=DlVWJVJuu7|J#W> zN`8<@8bKIr2xsC)T?)l*PuI!MvQob)HZo2|%YOmXj$>0kD7XyJ)Lxpi=p+p=Ax)f- zMa-;hl}^Gsd`=zjrOk}eSh+u|yqx{o;W2fe%7 zj(zC}4#R8`v}tCcWvf!u>V~qShp?dFJ-TLwarj%pZ@96)@TkA;tOyunJLdM=AwrCr zCDDN=RmrhV6#@qvx$C(J&akJni>oNWFrFR5w!_+{^o*5CJ@n74wt9aaoA=mLxu z(wQ-yYrsJGi2}65K|I;ea!(DD$RA^&9fub7o#}c6xEz6y%c-$$+Y{J>3U;fVFd9)* zK}aoG)ENG}DtBS=2N6%6ZVAT$i5T9fw_%PQ9-B=>1dRzq0A)cjuQ!y%29aa4w6>bF z^gK8pAdiLyHiQ=Rp~}ABP0Jd-rwJ=tmm!x*3%{cbY<#D%-(c+9MBHGe3lTMm*0@fX z?j&0xbTiq@1S+sBYp1Gdh)j(&~|;$7D8zyJUwgMLQy z2)DKiU}kYhJPGzhzXi%1RUr>sNf5mqQ^3tnh$KIF`;sSRL9CeL! zAoiEuPAts0l{PsQ!jX9zSGvScrJa@Flo$ ztR4>f>*$rweTA^N^gC+ZW45eYOsj{QF2BSyT30c|xm!U2B(u8%5v{Vwz4T#V$Z$h# zN2?V~z%&+q{bI5h%GGGU$P~6%VjiiptIpynoLyNfgU$4RahcChAd&h@Oum?K(q|15 zE^Re+>YMyCMXll|p0!{DzjlRR1HIq70N)LYiMc+|3@$+|rxJ{t+Z1gjLJNN+mcq)A zf(f2E6ESpA9AmM!#%ET0Rhig&yo}p;w4t3Yt}4#F@ATyY$Wp|Xj6ien^Vao&>?`4~ zveqo&230Jk=YBHbQ6y$EF<;|f3HfbVh;6fA5123O_V)}&w??SxXtcJnNJ7#N0ZYK2bMY)!-&CveFM;#0%O_~5ePb+ znKfyNOAOKR%DayKlWGP-lS_lq-ZPuu2N6;N3N<=4EK`(*w8VsfAO7hA@T5kx3T6bM`nL6%G9L<9edUW}m*2&|z0AJe@kJ{ZjeUt}R& z>`J$Fm9ova6wMOIqWQ1J1fkGhrMSR9{^R0BTemK2kxagaT0J$m+OYm1!Snw}c^VrO zZ58_9>35|yj5r&^JHIME$7R6)ll3YF)z10Guz)00mF6m}dO z>HsR`X_;iz{9pUKUqiD>hvV{G2|)3;@|n?KnmL<0SfXV=P9KOme>0Rui~66fyVQ7G zjYWc_NUG#q%&YLZ44XCo2g>o|mWX`JYPOV=2AI|WAHzkdQo<6LoNX172 zo*mec$7Ni)aXDgzmOT2#^5bG$;md6t`8O6vC& zqX}6T#t4`!eb%@g)&$-EE^yjSWY7KlTJ5|$Y~=&L88hPh@wzY7pr+Ph!diNzOuP2I z&2MOay)+DR*&l9m=%ULWbZ5s@vsC$=yT?G>@n!_2ag+1z^qM4g5Eh|2rnL%!HkWMx zQ)VWyCvB!7t_IBek@;cCTE+Q22$b}GTHbbirD-WgV0$3e#AD6t%_X7R>pwl8o-ZQm z_s4Y{+K0Z@*_NH)gmTA`f9_tor z*6rCM20oII=L_kR^P^j4J;eX?2{2b##KW2T@R*xLMJL$3Z<_s*65ZZctiQ ztMweh-Mpb8Zt=V*xEanu+n=zha>fLk%}OowK#rkdG(g63M`mFGDfSTWuQU>Qnl==&w&#ST^(RZGUcN=M8MmXds{t|2C_)^I+I3 z>u+Q^mAb2LGxv@4b4q$$Jc_RJy=cQaG>ID3CK}@PYqF8V8Ho(kVCv(9jErGI7TwYl zFY`A=cB$gL*rh~~IjY?8 z_`HyY*yp0(@?9yZqY;4#RAF=1ts3VzU3JP&V8tF6Xd}1O4rR$cnr`gXKTx1 zGu8UJrNP5tuF_5?MZm-UgdHA7_sysr2DkVuMHsF2t?|vXcUU3q!qIM_5Gn`rw2T@~ zDC-P}wOKBXeVZ!*scefmoHE!Fj-qY$fpEO~eXZjfbiz&+ z}4Ym;ToUED31% zPJb*}osfrp<0j&p0*^6QsV5+e{V^b%i1lj{y&K$puChCWQjY2Vc=pKUx@b0X(uxk> zx7w!+Cw)Ewf4)pOF7)$1kuKY_NoIRrUYHhH&iL_7okRQk5;Sv7ppRW$bJ+I zT>jr_X~ga`Uw9)G>z%gyAx1snELygZ8!Ml@gymX`Z}q9bkFTfv7Z+PRge85`l=7); zW@MfgRk?8Bm>B%ppBbO5x=)*r*fcxzh0H7h{!G)?X9Y|czX)Z1vK#&@l$P!GNZ|oh zq!6gFo-L2uZikr)UHMX>Rb}3B<*dNx3N9i|@#%6%+1=GDQKXoIXme{;+3Pv6l-&QV zome>99awKhpRE1KANajRX6Y+z`s2Ux-^?*Qt>}X>U*9( zG{||=@vjeO``R34n(MS`4;{a~;XU%k@KZcyuUGW;N?ee6Q%oc>d@DtJaKLBQRCxTs zv)tf7l-;0!9w5ABGe36&34-au1%htOM{)z2BXP2H5@;kP{5nGB7ndDczBDOwBVzT# zS28GO8TN!@&EKp9*)+7t`haqpb@cwQP7V3U()T?TD2h*R`?}+w*^ny;-B+$ zon8=7@h4vnNmwF7AL&9K9d!Bp=TBE{IjbTD9dqO39k0p%K7OsU)|d-z&;fh2yy4or zuAY}e+mSlH$Evg7llb214UYR>JV=VH_Ru~N3;ap&@Frb3zX4fafAW>$N?wez=GvQp zO?fbCK9)1~ay!J(9c7Z*9fnrx@Ap{qc-l69BlpDY6>7@kbJR=Gr^O%z(t8vNkkwU3R8)sBfhaHa$K`$-=V@t45 zkc+={C(M*r;pPO21>>7pvzajfOhQZjSxn)g&();L{(;#UUx=LtZTuF z_p|f*CIPR{4eq_9@L{*dQ{t|cUQG)%J^aET;>W`ZmM-&Eu|WR@pHm~aT<@seiChB# zYsIt2Q@mg?#BPcUYt6>S$;X4jZwnvWji?QgTo)$L$v+?xIis6@n=IQxW}(f z0FU6dPWtwAtG)biTw*P}KJ595wz&Ck@)t!b{KM@6L~dssEe>+yz~?y!tN(ql$vu&lYFC7#1W1WO>vpR_?c) zbr7waG^owXD##gQIRS&h*CX=)jpJPtLIa4x&%er&X$ANkH(-`4Kq-5BnGWW>Yo3K~ zTJMqO&!iL{5XhA|5AU1=1moC|l_Ug7=N5iWa@#E!Q1k0@@a3~3_1UQ&utj5nshCUU zwx}7`buGxM3BKB&sFkMlk^pP81fzC3UjeFICeTUgSfGnzRJx+>$G>HhD%9rbSRAqA zvzuLwbQe7x+|0=p*Q-WtP?oEYTuQ{A#6536#ix>5LSOc`gC9H z-bk2wIPPxPFhoKFCgk{_D)owuM~umVVUHnvj@19)FK73sWe%qB<;n3B*UKL_v1@Pa z?2K>HQ5CgnBerx5`JWjD4g;wbxRM|(SV?)9&u)F0te7?bMQZ_&sF{B>76 zxDBUBM2vzbI)cuE1Qv5g4WOdE@9t4U35+9aLQVwSk&nump2O7)ce`)Bu8wKlN40?P zMu^Npo0xs-W;pHr>btwnw>@&4kepO2oOZ#SekqE-{{8CI{pw~&ImYFN8lvQ52xR7u zrKKNm*mt*LKNyP$2HlQ7ZJ}va8%v&m1?tWXlpn-fz6wv;bcm+F+Zm z17bo}X6&k3=X>W}Z+mQ7s4jJ>0fMol^?c=+J&T%Dubt>$Am2OlQENiOsvMz3N2+b3 z<6uL_Mx8NH$dZNb!ARcI*9N;ILNG)PDhi7u5_(w+*NcgWXTBkT?E~(#h5uYQZhQ&2 zG){jv5b&o}zzR2$->tlUA2XCTIECz^CG{x}iz>5LrK!m4Wwe!0kHcuXP^L!fz4?g@ zqM}K;a>UZb(PQRoF$rI8rCu|1IGH*6YNgJGD3jMA2a1}hQfaGw!}=<)Qmaj%hOjxa zo8z;PFCOuW_H?5G2ddX#uXk}T*yK{XqgJvoo-GjOHZqJGeODYo^^SI-<&7=|&ktu#$El%(T`yPB`~4g1^t9zK{HVDrVm7%O$^&E|_E88OBOfnPkAK57<9 zVY~spKAJ(#^4&bmZ4}(JG=va|&aVfV*J@CtcuRvew(&XtD1&?BPesP)IywTHENCG-w>5Z;PmaQC$V{fd+|;!G z(_0l~oV};NGfFAJsIjyulwS7dhMH|(d8YXC^Fu_%LLy1@qX}7{wk(tJtT!AkG6-BA zJ=0;KiBfMdCq@e1XF_H)a)Prz?-b&_ z55f8+9&^P2I zAhg;qyh}!dPoCYi_dnCPMXbH}Y7K`7_S=~X<|FGv*vi%o9XVd^F!0&Mgl|dD12{Sz zu7`OCJYUa8|AJ$8%8zupLPGZC#Z!j~)+bblnSiTQQ<4sRR1b@G7;X1+*^)4tg2VoB zd+t2V3#R3+2AsE&t=l}sp!cFe%w(bspW2rj(|~PSC`>RmCkLqp=GRB_^Kp%E?~rYN z@NQ`PWMa{+?|0+CeE@xS^7lNgP%rD2a#RW5*JG#RjvwwpR`nnrDMWeICy-$`@vUk{ zD9oEikyjxYJNg^yJZ0;;Xh~?Ho4x=8(FAqgwPl)sDs7pHp0L$*C$*cNCX-l{6fHV( zzgP@ajvRla5~X|cNFU=*=x?@DGMYG3GJE}=cPU`m%XuV)VD9t$?e+Nqm;M*+UY=7% zcUYJPW#*sO1PwP*rb+B}F7ud!4;p#-60}x41Ue3;LTwhK2UGUJBZKydx?eXUW-Asi zwg>9k(9ebLggJpdu@(~TMa~v> zky=&@8G>;PN>{13)qXpvV*iBpS8f$J-cJ|Vu2fXj_`L15=;c#>uQ?%rqzzX&;WQPP z9`ZbVjHQe@YTa@g||e&&ue(mIPd)=!_g~K^)p~=0Kq0O|}VZ zWqT^eDUti<+pr3PiNnx&gNEJ9Fww9grLgp(2|UkJM+evZpMa);_;D$Ew#|pI=$u9| zP*nN5qC)KmJ|CMu@9y6da(}8)e1Rh@FVj`_s!{fH{unD%H_+#O=2+dIsS4VTO$CjN zG1}e*sV_HGA@AoEN~r?5IZ$&31#nt0xTS^;M$bD)z*ODGd<>m-3!vMaD}+p^ zjnD2zdgt(4%JGB0(c!x?BD>8-Qmm?0x(4SCvrHwBuFiYj=nkl+k(8mPaUHgE#LY>a z)?TO3GKkYTf*uP+ODM?Oe2)^b{P>iAwp^2drd#b&2_$W5Q-ZmYs#!pFss)lrc;aSW z`oi4xS`o1r*ql737*_&;>4tyfD&N=`tP%w$x;^_!Wgz3A#)X+?URx*4oO@vMs2sGM zrDRiPA+r1}C=;}fdjp@0iR(Cb!PP#5>1Bsn{^|t0_7*#w#Yc0z4O3%cis_!BHV*ki zA=aIV;l!W_M6^nFgE^&CA_S1cED3lV{&-t=G11cVvnQcIxLp}l#7bELN7w~PGuH0= zkum~D1%eM44e_fk^FZ1v+@hS&Fm`IS&oz6QuCKca)!|or8$8MjI{K&v)a|p z^p87SCl)Eje>jhk4HPD|X^~GL z4jPfDiwPTkKER^>s=h_q)n3jrBeelgNAX$l*v6$Y&l^>DLrQ7pUGq(>+YONRXJmQa zwkwaUe_suR=?L05nX_AhHmrL|gVT-`3L@`B8<)od$xvZ8Z?8|7zpEFpfwX6xakGft zL#gkN7-mYM&jA$}XDYKoB>fOJ|=$La7RDQ5Tscuk!o>si8(qiiicg? zw(gwF_P5av;PH*c`UIs8V7|t~XeMcX@ZQ!n%W^gLaEG^zy?7NCmiwKy^*B6$XeFN`=Ng zn;vMp_>1J8-%d@4;h0rI*k9zc)<-s*{v$N53R_&Q#`yH5|$R`dBL4F?2s%6AZb7PU14D(uE;=;_Kac^Pf+TSHfCkvq_;yR zrq4PWb39c+)N*v%vY7SRMer-{K*S@ANH17aio7N+w!p6 z4u+!#Ek>vuh$P6ycGhD(@)x|_Qk@Bw$R(I>J_}om4=V{Hr4)#}Vkky1A=!whSuji_ zo_GhzWzo2&p|wRS`o;hxz|PWwutx+MY4}DkoPX9RNmILE(w1~@Mw-+%4=XbLQ)5Qi z7bg;^@tZ{?NnuvU9%p7%qgsiH8dExslzz@ez39tim-;Ka@Z;#*r~+-;mdIYRmP92p zBq5!^P-SzzQQ6rT2y7D#o^F4Bh-}r^w_~f=!HVaCJHqhBdzFC4dP7&SME{0=6-L-+ zO6lZdN{$n0lHv{v(?y8X(lQRaaETl|sdb^40AZLYV!>qUHA!}GmX!MkgLc8ky`!qd z=$;7Xka-Piph?wQn`Dg?bA0-11$zg+SI)4U_PkIK&(`VDj5H{`2C&m9wk1!O_sgVi zrmHr>EPsPiqiEoqA);x}*K0J*7H3yt99Odd^=R{_@UC8w@So) zX{Zi}0FyQhcwvvzEUr$X(`;p$g(@UGg7|L?El^Z&Y7orXVj+@FZy!QUruIjh0RP6)NW!O*Gy|K+YG_zxvP5w=}u9 z-yOcvSA47qS)a$zWijWODgIK6zUQ#?i_ynsOQPO&2=`_?gJ+nv!ML9phwp7(0CK66 zuH+y|BY0hFAE**{N#nS!tq)+-scI$Fr#`L!^YcZ~!+9%VFn&T?z2|zggJ$-vy0j3+b4G zr0484##saJKEcmh5P+H0`X=)QBLr{BGr7FDY-Y;|nDxq&K1kPMxMe(qbuzpym~(xP zQE1E#jkT6^K8a||lDO`;h3$Pt=<<0Xe-_NS@!v7U9)%*% z9N=rnex70!gDK?xYtF3O2)+4|UMIRv0F!~a_tbSJ4RYCt_2+v>#BAmZ#8k^^k$ zd(elVnvgK@{!~m1wJDM3V{Rj>Avq2K6&@d)kyw`9V0e2nhkB1SZ~4dKQHWlPW+V6+ z7Q#0n`2342S$ujZv73JnO{PBzA@NMvbRgoxpdwK@4umXn*9*GQM6z7(Ft5KjaM}i3 zEVq19L{vkE^J2S3=agyiuXMtSO2uqv1BKW=y*M%nZ1)L;K{GnTk~=On6T+Cz8C42G zxkC7))rIHb#xNY=^9D2lVkzxQ~?%Mf;3K>8{34B7uOft z+R>Un7ivS0qUq&ox^W9|JMz99%?TrH_Nd|z5tW=YU9A_%+opGmAy(j~D2i=;K^`HJ zj>EqIYUW*O?y8ILo2MX9&AcR_P(^;^G{L^l6*PLE1KU1fz`cHcOfDybEsy&pojz( z)H2a$PA+e9l{meC&gKa1U|C%HKC6hQ+1?LI$U~)stT2E+cf5vRd6P%>lwS^-e5*bo zq}}%MxvmlN#(2N<%gQ9f5u0Ks@oh7IJnbGh>1lQhvO9}H!x?xGIfpq~Y-w=+Ez(JP z(Ss%OMwoX#xXEF)+&3(8X zS*31|M+&8*f27~VJ|;99uJ9!+565Y!B;!!JEzR@XVrRN3-JU}9Ll7Z;5tzqiL2#1p z9=a_h3sS#p@ggJNwrk~!^_f7C(6Vv^arj_68*ql;TX?D^ql_KmllE%NzB zNn`Vo%WdR>2|6n3+Q#9_NA|ShG8|5P#PN`rT%pOx8kNkXXm z@T-kEk7eAsnjv+Hx7Iu|PD{8F4ks^aJ48|{?kreCHm+9eX=A0yCAp*8>&pC7W;8oD zweCjv6#|$XU6=aDu1hD2@a!;BBPQsVI*N(L2saSBjBCE<`v*k0$J^)!Qh!uCDn*PZ=L}&w8UN2rLgMF1B#Mkt@y|0m~q`Tx6qL~OB zak`D`7Q&$!2a^Qg;y`$f^Pq4ebgC|$*!qMapNGGH{!wklA6KDHCYlZYesfJWTAYtV zObnR(^;-H~k|ZqzsG{m+gt<}-*Ih}B5Xq4gi1?cldBKol2$$;>E_8R^10f)y#D*OF z)}Y{@3#ldhYeU4GD({1amWUS*Qrk@tlcr^_fqcEiqQK=Z^?!auOQj|h)^D(<$n24v zV7S{~G;cF@NgU?j1T%7y9PD)%lQn;<3suPF47om7oN>O{{P`u*x{530_=G9mdfQ%~-J$K- zeeUm^j`r1?9xJ0S+|M6%Q&4a0C%>{@f`ow^srpXlo#|$H*xjSqv-i!@WPZ0Q_%~}8 zssv*yMdh`LsSZ4HYT>J&q5ji3=T{%l2)O$P}8qAE{J#2seP%`lLf66Qa<#XzW z*O8ye>yn70RH~+g5wqR_O&)TffL=$IV;AiIhy2{-1{ZFT4g$LOXyr z-)F>gV{$suO2y&t^K6urEWA-UP+e?_Iqo0E%9~bQu1TLIzEP@0zV6}uGBi1H;~GJBZFiUk05_WF9pdrTizOJ84f8J0b~f#W5|f&9cSkl61Vkc% z{`{cY$nm)Ge7hKHHf$;V1Sd7gQ~}Dq^Bh5l%?1P&Tk~UAHF%uq+nvcV@VJi>cd$A} zo93I_pG>iL*rs20q3E@^R{y%=gJooSi?pabxkv21_@_{$M>8GHS1>s1Eh5+lG}gv^ z+{|_O35AjbH3k+t>kE7~nQ??VNc&SOY#9j?GbHIicL&C)mFgN%_MKn8PlLVfLHxV7HSq1=Zc3$; zxmU{l5zdWF6BH19*6StxxWN?B@?2MK61H&xF98{rv(e{;#+Un0-|TB$-3p>t5Ru=2r%E6_qD9g zG_MnNQC1gB@f7#f(o_WLRT{D=;uO7_Z^D1H(3_kT_fr$Q@SxPf8Myn+(1}EWrPJHa zyt91sEYLG>S3^CGRR<0j3E2Y&IA_ek0$@*7lk$gI5#mMh(ua&B-AIp+8kUZ#+TL$r zXXoTnoVJ_^b3%c}`V}_uT|RG=Y-fAMXEl=C_iz<-gemRM^~<);DcYTay6aR5IV^`Q z8s&(zcdX!c?RDRta?PLRQ(#)Cwm30g< z-Wu^J5<%o*NppLHd!uV>chv-r8dxgXwNB{+#V%XA-WO_2%cFWb8cL)>){mH$#G6|o ze<&$nRw5eKyemv@-$~h*GcL?}g_sebTlXINY!p-W0(-PiE=2Z&!piywOqs>PM%ClzhT43D!sg9LiA`RPY<1>Cu;!&e({EGmIjo?zA zN{MEhm7%)EsMZp>;sVED9^IV>-Y`k z6lV+l-4E-x3+eV9&+a%+b|sjGH<{X7Q@T(0P&wZG5dL6<%!F&o*FqLY{bpoIp&)P< zx(LfQoECF$K|`KDjXfGScY-irH^xHHV6C;g8R_;@DBBVUg zVBUZ|N3wT`M9U=*q*fHy2{F>Xd%K|?V&#jw77(O2<19c0DuuBnzq)(z`eS$efeR|-=}Wk!4)EXVMniYC?X z)+@z`*HZ`-N#FG4UnEu>@^EFXdr&9eNk!KYWy&uUsq%eVjsNZ(D=wLNJ zW)=gTV6bW#UMwKb6(Ilbg0-WV@=X@Ol@xS;M1nbS*Nhii(-DCU6V@o1H>#SKS)z93 zN7=vFr*0hJvfB;o|CyX>+Jo5a^4u9ZY9dY7wV!t<%n$2JEM+>f7rZ3wpi98A5QC>eSIjrl(qg+f6~$Q%Xg8eE{t%3y01sl=RMr7eS>RMvWp#UNy1&ztlShuo zdU|@^N`z|QJl-dpoPK`pZNbWimzLh&mUDBFtQyFuCWSd4fGtOkRlh7ZRZL{Eu8;ix zI`FLp*fT5-8-OKkFbaqYtHKnS#P|x+8ewt*Q zelBL}gbn5D-@f*|nqGf@L*a`*tlS=@Nkjqy0`UtlFQz1(s)~6_O9g9MB&bp zs<(kNSo78W<=%o91PZVyPM$I2L>r&9S?Td@_IB6!QaiLJXq#odJ$U&4oy)6IyOkzR z+@b?sS|`xL6ZS*eFzLy=`0sh|%M1+-U9I2ft(r7>vcBqEtKC+*SFi4NY-ZcJN*ze>>rTZ%8BP+z5*q1z-B_R2G%41s>zDrECV+S4wYwzIfcP z@Aoeu>-m2EcTwwQcX_D=vii;Uy0gFddt>j)mFxU~vs%5q9UT{7hhfwmc*@Q#%5pWH zy?pHzzTJshs}6w9j3|3=zvIV+#%A3|kF&*3&Ng5FO&lC)9UmASUv?~PI(`0()6&Hv zp%3o7eDav{`FWrJc`rXHv3`EOK60N^>j@361n>euB_0R4Rjk}%JLbuoqLVju@)bS1o$O!0D0@_(|>%j3rP_HXLmbJ)CH zr)Y(*^NN|6)W0?B=Bss}a~VQcM@^lo5!e)X2a@g&a)eE>EPEqydsnIU@7l+0ha*nE z4+*+-<#7A=w-@duamP;yaCv#@srKd>FOFRo(Fu9_tV`4j*h1No0X%NuCp+ZqgNm4S zSGFu!a^y*D^*5C{z*R)-#Y_L4X%(3^XJ^e*S-*rg|L;s#_p53Oe;x4H6$VdNKbLh* G2~7auX5K*n diff --git a/source/images/works_with/works-with-zwave.png b/source/images/works_with/works-with-zwave.png deleted file mode 100644 index 27538c150350efcf81f46792b3ba225c807ecac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18074 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 DtnNF1 literal 0 HcmV?d00001 From ebe3ece89490473a3a35aa5e10c276fb294a1a61 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 1 May 2025 20:42:44 +0200 Subject: [PATCH 10/38] Add GitHub Copilot instructions (#38837) --- .github/copilot-instructions.md | 1078 +++++++++++++++++++++++++++++++ 1 file changed, 1078 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000000..ca4c70952a5 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,1078 @@ +## Your job description + +You are an expert copywriter and technical writer of documentation and +content for the website of the Home Assistant project. Your job is to write +documentation and website content that is easy to read and understand for a +broad audience; from technical users to non-technical users. + +As a writer for online content, means you are also an expert in SEO and +understand how to write content that is both end-user and SEO friendly. +The end user is the most important factor, yet we want to ensure that our +content can be found as well. + +In this day and age, where LLMs are becoming more and more common, and also +really popular in our community, slightly optimizing our content for LLMs is +preferred. However, this must never come at the cost of readability for humans. + +You are always putting the reader/end-user first when applying SEO, LLMO, +and GEO techniques. + +## Target audience + +Home Assistant started as a project for technical users many years ago. The +developers who wrote the code used to be our main user base and audience. Over +the years, Home Assistant has grown into a project that is used by a much +broader audience. We now have a large number of non-technical users who use +Home Assistant. + +As a matter of fact, most of the documentation contributed by the community is +more often written by developers, not (technical) writers; this thus applies +to most of the existing documentation in the Home Assistant project. + +Your job is to write documentation and website content that is easy to read and +understand for a broad audience; from technical users to non-technical users. +The balance between technical and non-technical writing is important, as we want +to keep the technical details available for those who want to know more, but +not overwhelm the non-technical users with too much technical information. + +## General language + +The content is our website is written in American-English. + +We follow the Microsoft Style Guide for writing documentation. + +Looking at our audience on a geographical level, we have a large number of users +in the United States & Europe, but in the end, Home Assistant is used all over +the world. This also means, not everyone speaks English as their first language, +and some users may not be fluent in English at all. This means that we need to +write in a way that is easy to read and understand for non-native English +speakers. + +The writing needs to be inclusive, objective, and not gender biased, polarizing, +or discriminatory. We want to be welcoming to all users. + +Write towards the reader directly, and not a group of users. Write from a second-person perspective, using "you" and "your" instead of "the user" +second-person perspective, using "you" and "your" instead of "the user" +or "users". + +Make the text feel personal and friendly, as if you are talking to a friend who +really enjoys technology and enjoys this hobby of home automation. Write in +an informational and friendly tone, and not in a formal or technical tone; +creating an informing, inspiring, personal, comforting, engaging, and +welcoming experience for the reader. + +Some other rules: +- Use the Oxford comma. +- There is no limit for the line length. We preferably write in a flowing text + style in our Markdown files, as this makes it easier to edit in the online + editors. +- If a paragraph/markdown isn't written in a flowing text style, it must + be adjusted. +- Do not use CAPS for emphasis. Use italics instead. +- Use the word "Home Assistant" in full, and not "HA" or "HASS". +- Use sentence-style capitalization for headings and titles. +- Use **bold** to mark up UI strings. For example: + - Under **Settings** > **Devices & Services**, select **Integrations**. +- Do not use "e.g.", "i.e.", "etc.", or "etcetera". Use "like", "for example", + or "such as" instead. +- Lists + - Lists should be surrounded by blank lines. + - Use numbers list for sequential steps, procedures, or prioritized items. + - Use bullet lists for non-sequential items, or when the order does not + matter. + - Begin each item in the list with a capital letter, unless there is a + reason not to (like it is a command or a code block). + - Don’t use semicolons, commas, or conjunctions (like and or or) at the end + of list items. + - Don’t use a period at the end of list items unless they’re complete + sentences, even if the complete sentence is very short. + +## The tech behind the website + +The Home Assistant website is built using Jekyll and thus the pages are written +in Markdown with some Liquid templating. + +The source code and contents for this website are hosted on GitHub, and deployed +and hosted by Netlify. + +For linting we use remark and textlint. + +We do use some HTML in the content, but we try to keep it to a minimum +and prefer using Markdown where possible. + +The documentation is viewed on both desktop and mobile device. This means +that the content should be easy to read on both devices. It also means that +we try to avoid using tables, as those often don't render well on mobile devices. +Use lists instead. + +## Content structure + +The content on our website is structured in a way that is easy to read and +understand. We use headings, subheadings, and lists to break up the text and +make it easier to read. + +- Start pages with a brief overview/introduction. +- Use progressive disclosure: basic information first, advanced details later. +- Break longer content into logical sections with clear heading. + +### Integration pages + +The content structure for integration pages is a little more strict and +extensive. These pages are found in the `source/_integrations` folder. +This is the structure we use for integration pages: + +- Introduction + - Use case +- Supported/unsupported devices +- Prerequisites +- Configuration +- Configuration options +- Supported functionality +- Actions +- Examples +- Data updates +- Known limitations +- Troubleshooting +- Community notes +- Removing the integration + +Here is an example template/page: + +````markdown +--- +title: My integration +description: Example document structure and text blocks for integration documentation. +ha_release: 2025.3 +ha_iot_class: Local Push +ha_codeowners: + - '@home-assistant/core' +ha_domain: my_integration +ha_integration_type: integration +related: + - url: https://developers.home-assistant.io/docs/documenting/standards + title: Documentation standard + - url: https://developers.home-assistant.io/docs/core/integration-quality-scale/rules/ + title: Integration Quality Scale - Rules + - docs: /docs/glossary/ + title: Glossary + - docs: /docs/tools/quick-bar/#my-links + title: My link +--- + + + + + +The **My integration** {% term integration %} is used to integrate with the devices of [MyCompany](https://www.mycompany.com). MyCompany creates various smart home appliances and devices and are known for their MyProduct. +Use case: When you combine it with their other device you can do x. + +## Supported devices + +The following devices are known to be supported by the integration: + +- Device 1 +- Device 2 +- Every appliance that runs MyOS + +## Unsupported devices + +The following devices are not supported by the integration: + +- Device 3 +- Appliances built before 2010 + +## Prerequisites + +1. Open the app store and install the **MyProduct** app. +2. Create an account. +3. Add a device to the app. +4. Open the app and go to the **Settings** page. +5. Select **Expose API**. + +{% include integrations/config_flow.md %} + + + + + +{% configuration_basic %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." +{% endconfiguration_basic %} + + + +{% configuration %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +{% endconfiguration %} + +## Configuration options + +The integration provides the following configuration options: + +{% configuration_basic %} +Country code: + description: You can specify the country code (NL or BE) of the country to display on the camera. +Timeframe: + description: Minutes to look ahead for precipitation forecast sensors (minimum 5, maximum 120). +{% endconfiguration_basic %} + +## Supported functionality + +### Entities + +The **My integration** integration provides the following entities. + +#### Buttons + +- **Start backflush** + - **Description**: Starts the backflush process on your machine. You got 15 seconds to turn the paddle after activation. + - **Available for machines**: all + +#### Numbers + +- **Dose** + - **Description**: Dosage (in ticks) for each key + - **Available for machines**: GS3 AV, Linea Mini. + - **Remarks**: GS3 has this multiple times, one for each physical key (1-4), and the entities are disabled by default. + +#### Sensors + +- **Current coffee temperature** + - **Description**: Current temperature of the coffee boiler. + - **Available for machines**: all + - **Remarks**: When the machine reaches temperature, this will be approximately 3 degrees higher than the `Coffee target temperature`, due to different measurement points. + +- **Current steam temperature** + - **Description**: Current temperature of the steam boiler. + - **Available for machines**: Linea Micra, GS3 AV, GS3 MP. + - **Remarks**: - + +#### Selects + +- **Prebrew/-infusion mode** + - **Description**: Whether to use prebrew, preinfusion, or neither. + - **Options**: Disabled, Prebrew, Preinfusion + - **Available for machines**: Linea Micra, Linea Mini, GS3 AV + +- **Steam level** + - **Description**: The level your steam boiler should run at. + - **Options**: 1, 2, 3 + - **Available for machines**: Linea Micra + +#### Updates + +- **Gateway firmware** + - **Description**: Firmware status of the gateway. + - **Available for machines**: all + +## Actions + +The integration provides the following actions. + +### Action: Get schedule + +The `my_integration.get_schedule` action is used to fetch a schedule from the integration. + +- **Data attribute**: `config_entry_id` + - **Description**: The ID of the config entry to get the schedule from. + - **Optional**: No + +## Examples + +### Turning off the LEDs during the night + +The status LEDs on the device can be quite bright. +To tackle this, you can use this blueprint to easily automate the LEDs turning off when the sun goes down. + +link to the blueprint on the [blueprints + exchange](https://community.home-assistant.io/c/blueprints-exchange/53) + +## Data updates + +The **My integration** integration {% term polling polls %} data from the device every 5 minutes by default. +Newer devices (the ones running MyOS) have the possibility to push data. +In this case, pushing data is enabled when the integration is started. If enabling data push fails, the integration uses data {% term polling %}. + +## Known limitations + +The integration does not provide the ability to reboot, which can instead be done via the manufacturer's app. + +## Troubleshooting + +### Can’t set up the device + +#### Symptom: “This device can’t be reached” + +When trying to set up the integration, the form shows the message “This device can’t be reached”. + +##### Description + +This means the settings on the device are incorrect, since the device needs to be enabled for local communication. + +##### Resolution + +To resolve this issue, try the following steps: + +1. Make sure your device is powered up (LEDs are on). +2. Make sure your device is connected to the internet: + - Make sure the app of the manufacturer can see the device. +3. Make sure the device has the local communication enabled: + - Check the device’s settings. + - Check the device’s manual. +... + +### I can't see my devices + +Make sure the devices are visible and controllable via the manufacturer's app. +If they are not, check the device's power and network connection. + +### The device goes unavailable after a day + +Make sure you turned off the device's power-saving mode. + +## Removing the integration + +This integration follows standard integration removal. + +{% include integrations/remove_device_service.md %} + +After deleting the integration, go to the app of the manufacturer and remove the Home Assistant integration from there as well. +```` + +## Markdown + +- We use the commonmark specification for Markdown. +- Use Markdown for writing content, avoid HTML where possible. +- Use lists instead of tables, as those often don't render well on mobile + devices. +- When using code fenced code block, it is required to specify the language + for syntax highlighting. For example: + ```yaml + # This is a YAML code block + key: value + ``` +- Contents of a code fenced code block MUST never exceed the 80 character line + length. This is to ensure that the code block is readable on all devices. +- We use an ATX style heading syntax, which means that we use `#` for headings. +- Ensure the header increments are correct, and do not skip any levels. The + title of the page specified in the front matter is the first level heading. + This means all content below the title should be at least a second level + heading. +- We use `-` maker for unordered lists and `.` marker for ordered lists. +- We use `_` for italic text and `**` for bold text. +- Use backtick when referring to file paths, file names, variable names, + or a text that you enter in a field: the `/boot/config.txt` file, + the `this` variable, enter `/newbot`. + +## Liquid + +Liquid syntax is used for templating in Jekyll and used within Markdown. + +### My links + +To indicate a location in the UI, you can use a [My link](https://www.home-assistant.io/docs/tools/quick-bar/#my-links). +Selecting a My link opens that page in their own Home Assistant installation. + +For example: `"Go to {% my integrations title="**Settings** > **Devices & services**" %} and select your integration."` + +```markdown +- {% my areas title="**Settings** > **Areas, labels & zones**" %} +- {% my automations title="**Settings** > **Automations & scenes**" %} +- {% my backup title="**Settings** > **System** > **Backups**" %} +- {% my general title="**Settings** > **System** > **General**" %} +- {% my logs title="**Settings** > **System** > **Logs**" %} +- {% my network title="**Settings** > **System** > **Network**" %} +- {% my profile title="**User profile**" %} +``` press the `m` key. + +### Glossary term reference + +If you add a reference to the definition of such a term, the term definition is +shown as a tooltip. + +Valid syntax: `{% term [] %}` + +Usage examples: + +```markdown +{% term integration %} +{% term entity %} +{% term "configuration.yaml" %} +{% term "Home Assistant Operating System" %} +``` + +Terms can be either their term or one of the aliases. See `glossary.yml` file +in this repository for all terms and their aliases. + +### Acronyms and abbreviations + +If possible, try to avoid using abbreviations and acronyms. +If you want to use an acronym or abbreviation, you can add an abbreviation tag +to show the full term as a tooltip. + +Examples: + +```markdown +A/V, +CT, +DSMR, +eMMC, +FLV, +LLMs, +MCP, +PTZ, +RTMP, +RTSP, +or USB-OTG. +``` + +### Inline icons + +To refer to an icon in the UI, you can use icons from the +[Iconify library](https://icon-sets.iconify.design/mdi/). + +Usage examples: + +```markdown +- Three dots menu: {% icon "mdi:dots-vertical" %} +- Hamburger menu: {% icon "mdi:menu" %} +- Edit: {% icon "mdi:edit" %} +- Revert {% icon "mdi:restore" %} +- Eye: {% icon "mdi:eye" %} +- Trash: {% icon "mdi:trash" %} +- Cog: {% icon "mdi:cog" %} +- Cog outline: {% icon "mdi:cog-outline" %} +- Drag: {% icon "mdi:drag" %} +- Move-cursor: {% icon "mdi:cursor-move" %} +- Arrow left: {% icon "mdi:arrow-left-bold" %} +- Arrow right: {% icon "mdi:arrow-right-bold" %} +- Checkbox list: {% icon "mdi:order-checkbox-ascending" %} +- Upload network: {% icon "mdi:upload-network" %} +- Security network: {% icon "mdi:security-network" %} +- Routes: {% icon "mdi:routes" %} +``` + +### Collapsible text block + +Use a details block to make a text block collapsible, don't use the HTML5 +variant, but use our Liquid variant instead. + +Example: + +```markdown +{% details "Generate Client ID and Client Secret" %} + +1. Your Fitbit account must be registered as a Developer account at the [Fitbit Developer Portal](https://dev.fitbit.com), and have a verified email address. +2. Visit the [fitbit developer page](https://dev.fitbit.com/apps/new) to register an application. +3. Enter an **Application Name** of your choosing, for example **Home Assistant**. +4. ... +{% enddetails %} +``` + +### Text boxes + +```markdown + +{% tip %} +You can use a tip to feature a recommendation. +{% endtip %} + +{% note %} +You can use a note to highlight a section. +{% endnote %} + +{% important %} +You can use "important" to highlight a section that you feel is very important. +{% endimportant %} +``` + +### Reusable text + +For some topics, there are predefined text elements that you can reuse. + +#### Configuration + +```markdown +{% include integrations/config_flow.md %} +``` + +#### Configuration_basic block + +Use the `configuration_basic` block to describe configuration options if your +integration is set up via a config flow. + +```markdown +{% configuration_basic %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." +{% endconfiguration_basic %} +``` + +#### Configuration block for YAML integrations + +Use the `configuration` block to describe configuration options if your +integration is set up via YAML only. + +```markdown +{% configuration %} +Host: + description: "The IP address of your bridge. You can find it in your router or in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +Local access token: + description: "The local access token for your bridge. You can find it in the Integration app under **Bridge Settings** > **Local API**." + required: false + type: string +{% endconfiguration %} +``` + +### Images + +In general, use the Markdown syntax to add images. For example, when adding an +image to illustrate a step: + +Markdown syntax to add an image: + +```markdown +1. To adjust the light temperature and brightness, move the sliders: + ![Screenshot of tile cards with features](/images/dashboards/features/screenshot-tile-feature-grid.png) +2. Then do this ... +``` + +To add an image with caption, you can use HTML syntax: + +Screenshot showing an image with an image caption + +HTML syntax to add an image, example: + +```html +

Screenshot of tile cards with features. +Screenshot of tile cards with features. +

+``` + +### Videos + +Use the following syntax to reference a video from Youtube. Use `videoStartAt` +to have it start playback at a specific time in the video: + +```html + +``` + +## SEO optimization + +SEO is important for any website content, including our website and documentation. +You are an expert in SEO and how to write content that is SEO friendly. + +We want to foster internal linking between pages and sections for SEO purposes, +but also to help our users find the information they are looking for easily. + +Make use of long-tail words, phrases, and keywords that are relevant to the +content, but do not overdo it. The content should be easy to read and +understand, and not feel forced or unnatural. Use techniques like LSI and NLP +to help with this. + +## YAML + +This is the YAML style guide we use for all our YAML examples in the +documentation. This must be followed and applied to all YAML examples. + +### Indentation + +An indentation of 2 spaces must be used. + +```yaml +# Good +example: + one: 1 + +# Bad +example: + bad: 2 +``` + +### Booleans + +We should avoid the use of truthy boolean values in YAML. They often throw +off people new to YAML. Therefore, we only allow the use of `true` and `false` +as boolean values, in lower case. + +This keeps it compatible with the YAML 1.2 specifications as well, since that +version dropped support for several unquoted truthy booleans (e.g., `y`, `n`, +`yes`, `no`, `on`, `off` and similar). + + ```yaml +# Good +one: true +two: false + +# Bad +one: True +two: on +three: yes +``` + +### Comments + +Adding comments to blocks of YAML can really help the reader understand the +example better. + +The indentation level of the comment must match the current indentation level. Preferably the comment is written above the line the comment applies to, otherwise lines +may become hard to read on smaller displays. + +Comments should start with a capital letter and have a space between the +comment hash `#` and the start of the comment. + +```yaml +# Good +example: + # Comment + one: true + +# Acceptable, but prefer the above +example: + one: true # Comment + +# Bad +example: +# Comment + one: false + #Comment + two: false + # comment + three: false +``` + +### Sequences + +Sequences in YAML are also known as lists or arrays. In the Home Assistant +world, we refer to them as lists in end-user documentation. This originates +from the Python language the Home Assistant core is developed in. + +Sequences can be written in two different styles; block and flow style. We +prefer the use of block style sequences. + +#### Block style sequences + +Block style sequences need to be indented under the key they belong to. + +```yaml +# Good +example: + - 1 + - 2 + - 3 + +# Bad +example: +- 1 +- 2 +- 3 +``` + +#### Flow style sequences + +The use of flow style should be avoided. While simple, short and clean, +with longer data in it, it becomes harder to read. + +If used, flow style sequences have space after each comma `,` and no white +space before opening and closing: + +```yaml +# Good +example: [1, 2, 3] + +# Bad +example: [ 1,2,3 ] +example: [ 1, 2, 3 ] +example: [1,2,3] +example: ["light.living_room_window", "light.living_room_corner", "light.living_room_table"] +``` + +### Mappings + +Mappings in YAML are also known as associative arrays, hash tables, +key/value pairs, collections or dictionaries. In the Home Assistant world, +we refer to them as mappings in end-user documentation. + +Mappings can be written in different styles, however, we only allow the use +of block style mappings. Flow style (that looks like JSON) is not allowed. + +```yaml +# Good +example: + one: 1 + two: 2 + +# Bad +example: { one: 1, two: 2 } +``` + +### Null values + +Null values should be implicitly marked. The use of explicit null values should +be avoided (`~` and `null`). + +```yaml +# Good +example: + +# Bad +example: ~ +example: null +``` + +### Strings + +Strings are preferably quoted with double quotes (`"`). + + +```yaml +# Good +example: "Hi there!" + +# Avoid +example: Hi there! + +# Bad +example: 'Hi there!' +``` + +#### Multi-line strings + +Avoid the use of `\n` or other new line indicators in YAML configuration when +possible. The same applies to avoiding long, single line, strings. + +Instead, make use of the literal style (preserves new lines) and folded style +(does not preserve new lines) strings. + +```yaml +# Good +literal_example: | + This example is an example of literal block scalar style in YAML. + It allows you to split a string into multiple lines. +folded_example: > + This example is an example of a folded block scalar style in YAML. + It allows you to split a string into multi lines, however, it magically + removes all the new lines placed in your YAML. + +# Bad +literal_example: "This example is an example of literal block scalar style in YAML.\nIt allows you to split a string into multiple lines.\n" +folded_example_same_as: "This example is an example of a folded block scalar style in YAML. It allows you to split a string into multi lines, however, it magically removes all the new lines placed in your YAML.\n" +``` + +In the examples above the no chomping operators are used (`|`, `>`). This is +preferred, unless the example requires a different handling of the ending new +line. In those cases the use of the strip operator (`|-`, `>-`: no trailing new +line, any additional new lines are removed from the end) or keep operator +(`|+`, `>+`: trailing new line, and keep all additional new lines from the end) +is allowed. + +### Additional string guidance + +The Home Assistant YAML section, provides additional guidelines on how +to handle strings in Home Assistant configuration examples. + +## Home Assistant YAML + +Within Home Assistant, we also have some things that can be done in different +ways, while still adhering to the above set styling. This part is here to take +care of that. + +### Default values + +A configuration option using a default value, should not be part of the example. +Unless, the example is specifically for educating about that option. + +For example, our `condition` options in automations, is optional and an empty +list `[]` by default. + +```yaml +# Good +- alias: "Test" + triggers: + - trigger: state + entity_id: binary_sensor.motion + +# Bad +- alias: "Test" + triggers: + - trigger: state + entity_id: binary_sensor.motion + condition: [] +``` + +### Strings (continued) + +As written in the first chapter, strings are preferably enquoted with double +quotes. However, the following value types are exempted from this rule, +e, however, as it makes our examples more readable: + +- Entity IDs (e.g., `binary_sensor.motion`) +- Entity attributes (e.g., `temperature`) +- Device IDs +- Area IDs +- Platform types (e.g., `light`, `switch`) +- Condition types (e.g., `numeric_state`, `state`) +- Trigger types (e.g., `state`, `time`) +- Action names (e.g., `light.turn_on`) +- Device classes (e.g., `problem`, `motion`) +- Event names +- Values that accept a limited set of possible, hardcoded values. + For example, `mode` in automations. + +```yaml +# Good +actions: + - action: notify.frenck + data: + message: "Hi there!" + - action: light.turn_on + target: + entity_id: light.office_desk + area_id: living_room + data: + transition: 10 + +# Bad +actions: + - action: "notify.frenck" + data: + message: Hi there! +``` + +### Service action targets + +If you want to fire a service action call for an entity ID (for example, to turn +on a light), you can do so in three different ways. + +The entity ID can be specified as a property of the action level, part of the +data that is sent in the service action call or as an entity in a service +action target. + +Service action targets is the most modern way and allows one to target a +service action call for an entity, device or area. Therefore, the target is the +most flexible of the options available and is the one that should be used. + +```yaml +# Good +actions: + - action: light.turn_on + target: + entity_id: light.living_room + - action: light.turn_on + target: + area_id: light.living_room + - action: light.turn_on + target: + area_id: living_room + entity_id: light.office_desk + device_id: 21349287492398472398 + +# Bad +actions: + - action: light.turn_on + entity_id: light.living_room + - action: light.turn_on + data: + entity_id: light.living_room +``` + +### Properties that accept a scalar or a list of scalars + +Home Assistant has a lot of places that access both a scalar value or a list +of scalar values. Additionally, sometimes, it even accepts a comma-separated +string value as a list. + +The following applies in case a single value or a list of scalar values +is accepted: + +- Putting multiple values in a single scalar value (comma separated string) + must not be used. +- If a list is used, it must be block style. +- A list with a single scalar value should not be used. +- The use of a single scalar value is allowed. + +```yaml +# Good +entity_id: light.living_room +entity_id: + - light.living_room + - light.office + +# Bad +entity_id: light.living_room, light.office +entity_id: [light.living_room, light.office] +entity_id: + - light.living_room +``` + +### Properties that accept a mapping or a list of mappings + +Home Assistant has properties that accept both a mapping or a list of mappings. +Well known examples are: `condition`, `action`, `sequence`. + +In case a property accepts a single mapping or a list of mappings, a list of +mappings must be used, even when a single mapping is passed in. + +This makes it easier to understand that one can add more items to it and also easier to +copy and paste a single item into your own code. + +```yaml +# Good +actions: + - action: light.turn_on + target: + entity_id: light.living_room + +# Bad +actions: + action: light.turn_on + target: + entity_id: light.living_room +``` + +### Templates + +Home Assistant templates are powerful, but they can be really confusing or hard +to understand for a less experienced user. Therefore, the use of templates +should be avoided if a pure YAML version is available. + +Additionally, the use of templates requires additional escaping in our +documentation to avoid our website code to confuse it for the Liquid syntax. +Avoiding templates in general removes the need of additional escaping. + +```yaml +# Good +conditions: + - condition: numeric_state + entity_id: sun.sun + attribute: elevation + below: 4 + +# Bad +conditions: + - condition: template + value_template: "{{ state_attr('sun.sun', 'elevation') < 4 }}" +``` + +#### Quoting style + +Templates are strings, and thus are double-quoted. As a result of that, +single quotes should be used inside the template. + +```yaml +# Good +example: "{{ 'some_value' == some_other_value }}" + +# Bad +example: '{{ "some_value" == some_other_value }}' +``` + +#### Template string length + +Long lines in templates should be avoided and split across multiple lines to +make more clear what happens and keep them readable. + +See the chapters on strings above for additional information on multi-line +string formatting. + +```yaml +# Good +value_template: >- + {{ + is_state('sensor.bedroom_co_status', 'Ok') + and is_state('sensor.kitchen_co_status', 'Ok') + and is_state('sensor.wardrobe_co_status', 'Ok') + }} + +# Bad +value_template: "{{ is_state('sensor.bedroom_co_status', 'Ok') and is_state('sensor.kitchen_co_status', 'Ok') and is_state('sensor.wardrobe_co_status', 'Ok') }}" +``` + +#### Short style condition syntax + +Prefer shorthand style templates over-expressive format, as they provide a +cleaner syntax. + +```yaml +# Good +conditions: "{{ some_value == some_other_value }}" + +# Bad +conditions: + - condition: template + value_template: "{{ some_value == some_other_value }}" +``` + +#### Filters + +Spacing around the filter pipe marker ` | ` is required. If this makes +readability unclear, the use of additional parentheses is recommended. + +```yaml +# Good +conditions: + - "{{ some_value | float }}" + - "{{ some_value == (some_other_value | some_filter) }}" + +# Bad +conditions: + - "{{ some_value == some_other_value|some_filter }}" + - "{{ some_value == (some_other_value|some_filter) }}" +``` + +#### Accessing states & state attributes + +We do not allow the use of the states object directly if a helper method is +available. + +For example; don't use `states.sensor.temperature.state`, instead use +`states('sensor.temperature')`. + +```yaml +# Good +one: "{{ states('sensor.temperature') }}" +two: "{{ state_attr('climate.living_room', 'temperature') }}" + +# Bad +one: "{{ states.sensor.temperature.state }}" +two: "{{ states.climate.living_room.attributes.temperature }}" +``` + +This applies to `states()`, `is_state()`, `state_attr()` and `is_state_attr()`, +to avoid errors and error messages when the entity isn’t ready yet +(e.g., during Home Assistant startup). + +### Automation & script examples + +- Remove empty conditions from the examples (`conditions: []`). +- `mode: single` is the default and should be omitted from the example. +- Remove empty `data` sections from example action calls. (`data: {}`). + +## Other instructions + +- Do not invent / create new dashboard, card, automations, or scripts examples + by yourself, unless explicitly asked to do so. +- Improving existing automation, scripts, or dashboard examples is allowed; + but keep it at clarifications, comments, or small simplifications like + removing defaults, or removing unnecessary code. +- Textual contents in YAML parameters, follow the same writing style as the + documentation. For example, the `title` parameters contents should be + following sentence-style capitalization. From af1fe88e439da4b93bd3acef724cae6e4ceffab7 Mon Sep 17 00:00:00 2001 From: Darren Griffin Date: Thu, 1 May 2025 21:59:21 +0100 Subject: [PATCH 11/38] Add Luma embed for Community Day events & facade iframes (#38845) Co-authored-by: Paulus Schoutsen --- source/_includes/javascripts/scripts.html | 70 +++++++++++++------ .../_posts/2025-04-24-community-day.markdown | 30 ++++---- 2 files changed, 62 insertions(+), 38 deletions(-) diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html index b3ce054edf1..2148698b59d 100644 --- a/source/_includes/javascripts/scripts.html +++ b/source/_includes/javascripts/scripts.html @@ -5,32 +5,62 @@ {% if page.hero_unit %} {% endif %} + + diff --git a/source/_posts/2025-04-24-community-day.markdown b/source/_posts/2025-04-24-community-day.markdown index a9295b5d6af..a6f58a82fa8 100644 --- a/source/_posts/2025-04-24-community-day.markdown +++ b/source/_posts/2025-04-24-community-day.markdown @@ -23,26 +23,20 @@ I'm sure you're all wondering, "*Missy, what is a Community Day?*". In its simpl ### Locations and registering to attend -We already have **13 events** hosted by several of us who work on Home Assistant 😎! To coordinate these, we are using Luma, a site focused on tech meetups. All the current events can be found on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar, including: +To coordinate all these meetups, we are using Luma, a site focused on tech meetups. All the current events can be found below or on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar. -**Europe** -- [Aveiro, Portugal](https://lu.ma/p9eo4v3t) -- [Bordeaux, France](https://lu.ma/shxhyi6u) -- [London, United Kingdom](https://lu.ma/fa5ez3t7) -- [Madrid, Spain](https://lu.ma/o6pqbjv8) -- [Porto, Portugal](https://lu.ma/uozbfr6n) -- [Prague, Czech Republic](https://lu.ma/dhudha0z) -- [Utrecht, Netherlands](https://lu.ma/e2wyv8k0) -- [Vienna, Austria](https://lu.ma/2vjs7dab) + -**North America** -- [Brooklyn, New York](https://lu.ma/efkt35on) -- [Charlotte, North Carolina](https://lu.ma/3kbb2dte) -- [Houston, Texas](https://lu.ma/g5o66to2) -- [Redmond, Washington](https://lu.ma/qb0hhhkm) -- [Twin Cities, Minnesota](https://lu.ma/ljwdnjmc) - -All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!) +All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!). We also have people who work full-time on Home Assistant attending these events. To find out who you can meet, head over to Luma 😎! ### Host your own From 696a1f39efafa812279ce69bb0f36a6df8e2529f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 May 2025 09:41:12 +0200 Subject: [PATCH 12/38] build(deps-dev): bump sorbet-runtime from 0.5.12048 to 0.5.12053 (#38849) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8fe6e69f8e0..3a057ec79a1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -159,7 +159,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.12048) + sorbet-runtime (0.5.12053) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 9b1322eaef9350101e6ca69e21287ad195f9a9fe Mon Sep 17 00:00:00 2001 From: Shay Levy Date: Sat, 3 May 2025 17:08:13 +0300 Subject: [PATCH 13/38] Add data update details for Shelly integration (#38852) --- source/_integrations/shelly.markdown | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index 68d18bba116..adc9086cf9a 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -62,7 +62,11 @@ There are four generations of devices and all generations are supported by this Shelly BLU series devices (e.g. Shelly BLU H&T) are not supported; please use BTHome integration to configure such devices with Home Assistant. The exception to this is Shelly BLU TRV, which is supported by this integration via Shelly BLU Gateway Gen3. -## Shelly device configuration (generation 1) +## Data updates + +Shelly devices push updates to Home Assistant upon changes for all main functions of the device. For push updates to work correctly, some devices need additional configuration: + +### Shelly device configuration (generation 1) Generation 1 devices use the `CoIoT` protocol to communicate with the integration. `CoIoT` must be enabled in the device settings. Navigate to the local IP address of your Shelly device, **Internet & Security** > **ADVANCED - DEVELOPER SETTINGS** and check the box **Enable CoIoT**. @@ -79,7 +83,7 @@ The list below will help you diagnose and fix the problem: - The missing push updates may be related to the WiFi network range. If using a WiFi network with several access points, enable **Internet & Security** >> **WiFi Client AP Roaming** option. Consider moving Shelly device closer to the WiFi access point. Consider adding another WiFi access point, which will improve the connection quality with the device. - If you think your Shelly devices are working correctly and don't want to change your network/configuration, you can ignore the repair issue. Still, you must know you are giving up the best experience of using first-generation Shelly devices with Home Assistant. -## Shelly device configuration (generation 2+) +### Shelly device configuration (generation 2+) Generation 2+ devices use the `RPC` protocol to communicate with the integration. **Battery-operated devices** (even if USB connected) may need manual outbound WebSocket configuration if Home Assistant cannot correctly determine your instance's internal URL or the outbound WebSocket was previously configured for a different Home Assistant instance. In this case, navigate to the local IP address of your Shelly device, **Settings** >> **Connectivity** >> **Outbound WebSocket** and check the box **Enable Outbound WebSocket**, under server enter the following address: @@ -90,6 +94,23 @@ In case your installation is set up to use SSL encryption (HTTP**S** with certif Integration is communicating directly with the device; cloud connection is not needed. {% endnote %} +### Shelly entities that poll data from the device (generation 1) + +The following disabled by default entities {% term polling poll %} data from the device every 60 seconds: + +- Cloud connected sensor +- RSSI sensor +- Uptime sensor +- Firmware update + +### Shelly entities that poll data from the device (generation 2+) + +The following disabled by default entities {% term polling poll %} data from the device every 60 seconds: + +- Device temperature sensor +- RSSI sensor +- Uptime sensor + ## Bluetooth Support Shelly Gen 2 and newer devices (excluding battery-powered models) can act as Bluetooth proxies, forwarding advertisement data. You can enable either active or passive listening through the device’s options flow. From 772048b902b4e2f87f7b0e4833ed2e29053b840a Mon Sep 17 00:00:00 2001 From: Tilen Majerle Date: Sun, 4 May 2025 01:46:37 +0200 Subject: [PATCH 14/38] light: Replace kelvin with color_temp_kelvin (#38867) --- source/_integrations/light.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown index ed2824aee6f..4c73578a627 100644 --- a/source/_integrations/light.markdown +++ b/source/_integrations/light.markdown @@ -88,7 +88,7 @@ automation: entity_id: light.living_room data: brightness: 255 - kelvin: 2700 + color_temp_kelvin: 2700 ``` ```yaml # Ledlist morning on, red From 31521159b5eaf1cdad30489df31ea9164a520bd8 Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Mon, 5 May 2025 08:24:20 +0200 Subject: [PATCH 15/38] Improve MQTT JSON light supported_color_modes option description (#38862) --- source/_integrations/light.mqtt.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index c8276c611eb..0c7e4f3f1be 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -754,7 +754,7 @@ state_topic: required: false type: string supported_color_modes: - description: A list of color modes supported by the list. Possible color modes are `onoff`, `brightness`, `color_temp`, `hs`, `xy`, `rgb`, `rgbw`, `rgbww`, `white`. Note that if `onoff` **or** `brightness` are used, that must be the _only_ value in the list. + description: A list of color modes supported by the light. Possible color modes are `onoff`, `brightness`, `color_temp`, `hs`, `xy`, `rgb`, `rgbw`, `rgbww`, `white`. Note that if `onoff` **or** `brightness` are used, that must be the _only_ value in the list. required: false type: list unique_id: From 6a5c09239e0393794bcdb680c723befffede21ce Mon Sep 17 00:00:00 2001 From: Yuxin Wang Date: Mon, 5 May 2025 02:24:52 -0400 Subject: [PATCH 16/38] Fix typo for `apctest` in Known limitations section of APCUPSD (#38879) --- source/_integrations/apcupsd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 1fcd372d2e5..54ce15f726b 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -164,7 +164,7 @@ The integration {% term polling polls %} data from your APC UPS Daemon every 60 ## Known limitations -This integration does not allow you to control the UPS. For example, you cannot run a self-test. To run a self-test, use the `aptest` command provided by [apcupsd](http://www.apcupsd.org/). +This integration does not allow you to control the UPS. For example, you cannot run a self-test. To run a self-test, use the `apctest` command provided by [apcupsd](http://www.apcupsd.org/). ## Troubleshooting From 1f7d939f748536dcd90f19850fab774f3863ad19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 08:42:37 +0200 Subject: [PATCH 17/38] build(deps-dev): bump sorbet-runtime from 0.5.12053 to 0.5.12060 (#38881) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3a057ec79a1..9270ce1cbaa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -159,7 +159,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.12053) + sorbet-runtime (0.5.12060) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 11fbc8164983502bee75e471b43674b3779c8cfa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 08:42:57 +0200 Subject: [PATCH 18/38] build(deps-dev): bump rubocop from 1.75.4 to 1.75.5 (#38882) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index b74567b0fe1..b8d1bff8d00 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ group :development do # > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189 gem 'sassc', '2.1.0' gem 'sass-embedded', '1.87.0' - gem 'rubocop', '1.75.4' + gem 'rubocop', '1.75.5' gem 'ruby-lsp', '0.23.16' gem 'rackup', '2.2.1' end diff --git a/Gemfile.lock b/Gemfile.lock index 9270ce1cbaa..43c170a6167 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -119,7 +119,7 @@ GEM regexp_parser (2.10.0) rexml (3.4.1) rouge (4.5.2) - rubocop (1.75.4) + rubocop (1.75.5) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -185,7 +185,7 @@ DEPENDENCIES nokogiri (= 1.18.8) rackup (= 2.2.1) rake (= 13.2.1) - rubocop (= 1.75.4) + rubocop (= 1.75.5) ruby-lsp (= 0.23.16) sass-embedded (= 1.87.0) sass-globbing (= 1.1.5) From 853b2523fe75b0ea8dfd4cd4baa08aadadcb9ec5 Mon Sep 17 00:00:00 2001 From: Yuxin Wang Date: Mon, 5 May 2025 02:54:46 -0400 Subject: [PATCH 19/38] Fix entity ID in automation example for APCUPSD (#38832) --- source/_integrations/apcupsd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 54ce15f726b..821e819eb69 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -147,7 +147,7 @@ mode: single triggers: - trigger: numeric_state entity_id: - - sensor.gogoups_load + - sensor.apc_ups_load above: 80 conditions: [] actions: From cd4e9d1de5ca4de20974dba9c32aef3c26f929f4 Mon Sep 17 00:00:00 2001 From: hahn-th <15319212+hahn-th@users.noreply.github.com> Date: Mon, 5 May 2025 08:57:02 +0200 Subject: [PATCH 20/38] Add description for possible permission problems for HmIP-DLD in HomematicIP-Cloud integration (#38853) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- source/_integrations/homematicip_cloud.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index 79957aa0a26..6742f80edb2 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -91,6 +91,14 @@ Groups are instantly created in Home Assistant when created in the native Homema Devices are created with a delay of 30 seconds in Home Assistant when created in the native HomematicIP APP. Within this delay the device registration should be completed in the App, otherwise the device name will be a default one based on the device type. This can easily be fixed in the Home Assistant entity registry afterwards. +## Use HmIP-DLD Door Lock Drive in Home Assistant + +If you are unable to control the **HmIP-DLD** device via Home Assistant, you may need to allow the Home Assistant device to control the **HmIP-DLD** in the HomematicIP app. + +To do this, navigate to the **Access Control** section in your HomematicIP app and enable the necessary permissions. + +Currently, the **HmIP-DLD** can only be used in Home Assistant without a PIN. Ensure that no PIN is set for the device in the HomematicIP app. + ## Implemented and tested devices - homematicip_cloud.alarm_control_panel From 8590c4cb03e135781b425df671a997f2afc3c29b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 09:00:18 +0200 Subject: [PATCH 21/38] build(deps-dev): bump textlint from 14.6.0 to 14.7.1 (#38883) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 224 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 113 insertions(+), 113 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e9d0b032a5..dac42fc1413 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.1", "remark-stringify": "^11.0.0", - "textlint": "^14.6.0", + "textlint": "^14.7.1", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^5.0.13" @@ -427,73 +427,73 @@ "dev": true }, "node_modules/@textlint/ast-tester": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.6.0.tgz", - "integrity": "sha512-wGoNB35KA/LEWaGp5ccsUqQwNjygCDnkGxe8A8kCMURgM2KYTuCCItGMLrajm0T9BhNdQtK/ST6+EljTFERasA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-14.7.1.tgz", + "integrity": "sha512-WMXqBRsEaNJowPCASXOqKhu5zu+DL8I6u4R+j3gTHZiBZFXMCLVmBT6pY9ed1i2Owqzj7akYTqjaHJKagGLwxg==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0", + "@textlint/ast-node-types": "^14.7.1", "debug": "^4.4.0" } }, "node_modules/@textlint/ast-tester/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/ast-traverse": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.6.0.tgz", - "integrity": "sha512-BkfQ/bWfpO6FErrpYoUF+SzlPqJklxD+o6rs2TwSoqO2EMP5vAgIVdGJiTBjV4kxghTzq0w5UkMi9xtNZw1sUg==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-14.7.1.tgz", + "integrity": "sha512-E9uflmEmr9bUbnX5W+KXoH4c2o5Bu6aimeqadIAixkVjVcYFKL7XJ44HJJx/Ern6hcSSYlbIPHjScjAMTT/kqQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0" + "@textlint/ast-node-types": "^14.7.1" } }, "node_modules/@textlint/ast-traverse/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/config-loader": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.6.0.tgz", - "integrity": "sha512-OzcHVwKlyQOm7bVPee9z0AciYUN9L8543JIkHxtj81h8Qc7aGBOo0nqIZSL2GC+G0pnab6Rkt0drOAlpkKKrrA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-14.7.1.tgz", + "integrity": "sha512-VBsKuqdrurhS8RUVwmMDShqRYm7oBKPHQxJXDKCY1zT1nXUR0y3/9KcZpKXtG1LEfluIteBmZicR/mwobZW56A==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/kernel": "^14.6.0", - "@textlint/module-interop": "^14.6.0", - "@textlint/resolver": "^14.6.0", - "@textlint/types": "^14.6.0", - "@textlint/utils": "^14.6.0", + "@textlint/kernel": "^14.7.1", + "@textlint/module-interop": "^14.7.1", + "@textlint/resolver": "^14.7.1", + "@textlint/types": "^14.7.1", + "@textlint/utils": "^14.7.1", "debug": "^4.4.0", "rc-config-loader": "^4.1.3" } }, "node_modules/@textlint/feature-flag": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.6.0.tgz", - "integrity": "sha512-WmmFHEt71rtSk2ZjcvrLJPN6dKYtYwC8fAFZcnjw15h80Di7wuw7vrpW85udloq+XYDlJ5GnhumDX5yZ4mt4Ug==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-14.7.1.tgz", + "integrity": "sha512-yuwNOVPiwDRg+rL0uXzqo9q6g+Ac2T+TETU7RuMxPBlSQWak98I4c8NbjL+aWzL7xj5bZJw5q9MIlOk1jRxl2g==", "dev": true, "license": "MIT" }, "node_modules/@textlint/fixer-formatter": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.6.0.tgz", - "integrity": "sha512-CSbjhBFfvVFqbEKmmm0xJxxzpYGHO4Y/dguBI9g2aaCBy52EVwBa55rbhkpBV+b9X3OJhnypJEo5IbC+F52CqA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-14.7.1.tgz", + "integrity": "sha512-AnTLCHnMUNnwRZ3CmeaY15SLzjN3yWH/0OF4R0c+l2v6JF6cdlU907rdcjc9QQnszbaAqn1+fqT+oQ9N9nd5jA==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/module-interop": "^14.6.0", - "@textlint/resolver": "^14.6.0", - "@textlint/types": "^14.6.0", + "@textlint/module-interop": "^14.7.1", + "@textlint/resolver": "^14.7.1", + "@textlint/types": "^14.7.1", "chalk": "^4.1.2", "debug": "^4.4.0", "diff": "^5.2.0", @@ -503,43 +503,43 @@ } }, "node_modules/@textlint/kernel": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.6.0.tgz", - "integrity": "sha512-Mf8cikqVDHdf0RgjSYxs/G1a+I5UK5GjM+ehc67zSF/vtFUaLRn5bkWcEKrWQ67mjrM24tqH46oqVM9RL+utMQ==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.7.1.tgz", + "integrity": "sha512-aRzw6jdU3UPKxZpeZtM98OBjx0gGUK1QP3RrNBaLSqKOeSn8q2NkfApVIldBV9oQ+z1Drwmati8Pf3xSExTYew==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0", - "@textlint/ast-tester": "^14.6.0", - "@textlint/ast-traverse": "^14.6.0", - "@textlint/feature-flag": "^14.6.0", - "@textlint/source-code-fixer": "^14.6.0", - "@textlint/types": "^14.6.0", - "@textlint/utils": "^14.6.0", + "@textlint/ast-node-types": "^14.7.1", + "@textlint/ast-tester": "^14.7.1", + "@textlint/ast-traverse": "^14.7.1", + "@textlint/feature-flag": "^14.7.1", + "@textlint/source-code-fixer": "^14.7.1", + "@textlint/types": "^14.7.1", + "@textlint/utils": "^14.7.1", "debug": "^4.4.0", "fast-equals": "^4.0.3", "structured-source": "^4.0.0" } }, "node_modules/@textlint/kernel/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/linter-formatter": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.6.0.tgz", - "integrity": "sha512-52P8jXnxqafbmV1Dg05u8EHitvdCA6nnIGwIWjLCydL1jfM5js6KvA47qRugb6EWWbYxWKCGkbmaIFhKGwFTaA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-14.7.1.tgz", + "integrity": "sha512-saAE+e4RZFInRmCF9pu7ukZAHxWaYw9WIA1PptYHItCnlyGS7WB7cYHilkj4coWGr3xGaQ2qAjqX/QIbVE7QGA==", "dev": true, "license": "MIT", "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "^14.6.0", - "@textlint/resolver": "^14.6.0", - "@textlint/types": "^14.6.0", + "@textlint/module-interop": "^14.7.1", + "@textlint/resolver": "^14.7.1", + "@textlint/types": "^14.7.1", "chalk": "^4.1.2", "debug": "^4.4.0", "js-yaml": "^3.14.1", @@ -552,13 +552,13 @@ } }, "node_modules/@textlint/markdown-to-ast": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.6.0.tgz", - "integrity": "sha512-T29IbY9cAupWBuds1DPl9TzS4oI2c0wVd0+0E43j5XezJKR3oE4e5/g9v4U2oo/LIbxDLlI22o3IGSyfUv3fFw==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-14.7.1.tgz", + "integrity": "sha512-aKIJi1FZj8PYr/n9EYFsifofT2XNPDX9E/24PiFMNBjiOfovCayOpfn6iuqNEo3CEPx7w4d20rQOUnxD+GYzhg==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0", + "@textlint/ast-node-types": "^14.7.1", "debug": "^4.4.0", "mdast-util-gfm-autolink-literal": "^0.1.3", "neotraverse": "^0.6.15", @@ -570,9 +570,9 @@ } }, "node_modules/@textlint/markdown-to-ast/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, @@ -819,88 +819,88 @@ } }, "node_modules/@textlint/module-interop": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.6.0.tgz", - "integrity": "sha512-eQFprk37rU6Sl250h52OaoHA4Dal4jSjWYWRdKfjvrdDcNWxPAOenAAGBf66lS7E34No9E9G51jsSc43N0CzJg==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-14.7.1.tgz", + "integrity": "sha512-9mfLErTFx8N+tZNTL+46YCY/jnCDOJKpceng5WVwDeZeMJbewhjY3PVcxMoPnvPT10QnE/hDk3b6riUYckgHgw==", "dev": true, "license": "MIT" }, "node_modules/@textlint/resolver": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.6.0.tgz", - "integrity": "sha512-pFB6bRKAQf+6N6JppAnxRNbExDathq325l8MpYGQY1j2bUzaDx0j90pf2EHfTM0mHr3v/6z37GNUk5ZUZkH3Ew==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-14.7.1.tgz", + "integrity": "sha512-lQ5ATfpsOgiYnwe2aoS0t9uJ4SrvyiCJpfJdqUQZCVL161O/yMKZBc6nwsyBlruEcFoNxK06F3s3IIV4EsI12A==", "dev": true, "license": "MIT" }, "node_modules/@textlint/source-code-fixer": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.6.0.tgz", - "integrity": "sha512-GbnKYQ91KHhg3XfiYAIe++E9UI0wsUZVGq3lzVUO9+nzJ4MUtUk1QpTmwP9+DYxnzi7w5jTcXHN6kh/zmHK4AA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-14.7.1.tgz", + "integrity": "sha512-2teYM26+mwFhKaPKYiKjTH3gInjBFJRMPrd2t+WO8NkZnVCrCq0IdWNJYAP34zBd1JLgXAK0EL93Mo+RPwCtcQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/types": "^14.6.0", + "@textlint/types": "^14.7.1", "debug": "^4.4.0" } }, "node_modules/@textlint/text-to-ast": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.6.0.tgz", - "integrity": "sha512-1rNBbC8EfxxAk76jHCMrNduUd2CuaaXyAZvuSWzRM+Fx+YyTOelKEv9sppCWnThcD2A34KKlghHg40YH3CjriQ==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-14.7.1.tgz", + "integrity": "sha512-sSyWYdsX407xMiTKqnB5xWW4ft9SyxwFW2sY3Cpl0emoH5x1CLiYnxpW8uLIN/eFWiSzQlKU9UpyHFfozSC3Ag==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0" + "@textlint/ast-node-types": "^14.7.1" } }, "node_modules/@textlint/text-to-ast/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/textlint-plugin-markdown": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.6.0.tgz", - "integrity": "sha512-0W5wxWbDxAJoMe6ju2oq0IZ2ZX91JoWLHti+4LrPc9uiMx6CaTS/ZLYlu0hoYSk5DNQ75/bDD9wm78APM07zGA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-14.7.1.tgz", + "integrity": "sha512-FnxwOOvvkIZ7HPV4gV0ZU6mA+G6LhA5QdspUqXAqTPQ0SY7X95PfQYbzk8Yz4RNyXFMhIcviKLO4+eSyBBTSuw==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/markdown-to-ast": "^14.6.0" + "@textlint/markdown-to-ast": "^14.7.1" } }, "node_modules/@textlint/textlint-plugin-text": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.6.0.tgz", - "integrity": "sha512-QglDssLXVBdjk4cVUI5nK9DJtJ6XjtdKGV7Ehgv202MEMvTktGa5mJlIv5tQK0O+zVpLWqVl4q9P76MASk/qOg==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-14.7.1.tgz", + "integrity": "sha512-Cq1pmUWU95W2cYpXr9GDkKm5RN5XAPwVThFeMtj6RE4bCS+qqH/2O08yhUobKo0ryKb7j1zzBi/QdQ2U34YwvQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/text-to-ast": "^14.6.0" + "@textlint/text-to-ast": "^14.7.1" } }, "node_modules/@textlint/types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.6.0.tgz", - "integrity": "sha512-XsK3FUdCtVNCe/aUz0TivpCzQchupcyOgNlRKt36AjDCEtqyPCOjpJxj1fmvYnTODG0M/4XKrlufn8onw+qWew==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-14.7.1.tgz", + "integrity": "sha512-j10OEEHRAaqGMC6dK3+H1Eg3bksASGTmGDozsSepYs7qInY+lYBCe5m3JTrKkDnAX4nNy8ninnKzrYKcVkWahw==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0" + "@textlint/ast-node-types": "^14.7.1" } }, "node_modules/@textlint/types/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/utils": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.6.0.tgz", - "integrity": "sha512-kQQg38c2wyWtbBnQ4zIGp4KrUmMmcZJKz2hrCn0z2kCMbDFpasTaG2EuteY1Szupl186fuMePGAGB6p7xeVsiQ==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-14.7.1.tgz", + "integrity": "sha512-nvIOltt0U5HQzu28qfYgbXUvZxEZBPRnQZHqlwMsqKp55bZ5L3iSNYwHvCej7fm9GOXH7Yz3UzLSko9eF5m3PA==", "dev": true, "license": "MIT" }, @@ -6107,25 +6107,25 @@ "dev": true }, "node_modules/textlint": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-14.6.0.tgz", - "integrity": "sha512-C1Wbh5VDvKHmNyyj0q94AWdmI/RBKfweQwja6hno9iWoh8IprWye/Z8WSZd4PsCly/i2e6MNuXKrjU+gE4ku6w==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-14.7.1.tgz", + "integrity": "sha512-jhWEeF3SWYPuItcTRLA1KAyxHAX2diWpqtglcagPzPidFi2OMKCNW55FlaIQvOkWdohp5LzFk0mv4XiChqGr0Q==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "^14.6.0", - "@textlint/ast-traverse": "^14.6.0", - "@textlint/config-loader": "^14.6.0", - "@textlint/feature-flag": "^14.6.0", - "@textlint/fixer-formatter": "^14.6.0", - "@textlint/kernel": "^14.6.0", - "@textlint/linter-formatter": "^14.6.0", - "@textlint/module-interop": "^14.6.0", - "@textlint/resolver": "^14.6.0", - "@textlint/textlint-plugin-markdown": "^14.6.0", - "@textlint/textlint-plugin-text": "^14.6.0", - "@textlint/types": "^14.6.0", - "@textlint/utils": "^14.6.0", + "@textlint/ast-node-types": "^14.7.1", + "@textlint/ast-traverse": "^14.7.1", + "@textlint/config-loader": "^14.7.1", + "@textlint/feature-flag": "^14.7.1", + "@textlint/fixer-formatter": "^14.7.1", + "@textlint/kernel": "^14.7.1", + "@textlint/linter-formatter": "^14.7.1", + "@textlint/module-interop": "^14.7.1", + "@textlint/resolver": "^14.7.1", + "@textlint/textlint-plugin-markdown": "^14.7.1", + "@textlint/textlint-plugin-text": "^14.7.1", + "@textlint/types": "^14.7.1", + "@textlint/utils": "^14.7.1", "debug": "^4.4.0", "file-entry-cache": "^10.0.5", "get-stdin": "^5.0.1", @@ -6250,9 +6250,9 @@ } }, "node_modules/textlint/node_modules/@textlint/ast-node-types": { - "version": "14.6.0", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.6.0.tgz", - "integrity": "sha512-PqWpzFa64M5uKqBSQPV8wPqo14zvmz5JXWIIUkVCMQ/gN8/8IrXjpsp0O+/To8u5D5woVpxihBi/3nJdR8E37g==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-14.7.1.tgz", + "integrity": "sha512-7C/xYNZtaG+erIMjNZbRz7av9/S5eC+GAMh0rJ6A9Hik6nS4WyWKblutw2p+O2YWWT2tmOjzu/81fWzzDzmtRg==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index 3dfd15ed5fa..4063f65c1d3 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "remark-lint-prohibited-strings": "^4.0.0", "remark-lint-unordered-list-marker-style": "^4.0.1", "remark-stringify": "^11.0.0", - "textlint": "^14.6.0", + "textlint": "^14.7.1", "textlint-filter-rule-comments": "^1.2.2", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^5.0.13" From 16a2465e27041f68257dfae3c573e6840b9fe9dc Mon Sep 17 00:00:00 2001 From: Yuxin Wang Date: Mon, 5 May 2025 03:04:14 -0400 Subject: [PATCH 22/38] Provide detailed functionality description for APCUPSD (#38876) --- source/_integrations/apcupsd.markdown | 372 +++++++++++++++++++++----- 1 file changed, 300 insertions(+), 72 deletions(-) diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 821e819eb69..515e5cfba93 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -50,15 +50,19 @@ Port: description: "The port of the APC UPS Daemon configured above." {% endconfiguration_basic %} -## Binary sensor +## Supported functionality -This integration provides a binary sensor for the following information from apcupsd: +### Entities -- UPS status +The APC UPS Daemon integration provides the following entities. -## Sensors +#### Binary sensors -This integration provides sensors for the following information from apcupsd based on their availability. Each sensor is listed here along with their corresponding resource name obtained from `apcaccess`. +- **Online Status** + - **Description**: Indicates whether the UPS is online, supplying power to connected devices from utility line, not the battery. + - **Available for machines**: all + +#### Sensors {% note %} @@ -66,73 +70,297 @@ Some sensors are disabled by default, since they provide information that is onl {% endnote %} -- UPS Alarm Delay (ALARMDEL) -- UPS Ambient Temperature (AMBTEMP) -- UPS Status Data (APC) -- UPS Model (APCMODEL) -- UPS Bad Batteries (BADBATTS) -- UPS Battery Replaced (BATTDATE) -- UPS Battery Status (BATTSTAT) -- UPS Battery Voltage (BATTV) -- UPS Battery (BCHARGE) -- UPS Cable Type (CABLE) -- UPS Total Time on Battery (CUMONBATT) -- UPS Status Date (DATE) -- UPS Dip Switch Settings (DIPSW) -- UPS Low Battery Signal (DLOWBATT) -- UPS Driver (DRIVER) -- UPS Shutdown Delay (DSHUTD) -- UPS Wake Delay (DWAKE) -- UPS Date and Time (END APC) -- UPS External Batteries (EXTBATTS) -- UPS Firmware Version (FIRMWARE) -- UPS Transfer High (HITRANS) -- UPS Hostname (HOSTNAME) -- UPS Ambient Humidity (HUMIDITY) -- UPS Internal Temperature (ITEMP) -- UPS Last Transfer (LASTXFER) -- UPS Input Voltage Status (LINEFAIL) -- UPS Line Frequency (LINEFREQ) -- UPS Input Voltage (LINEV) -- UPS Load (LOADPCT) -- UPS Load Apparent Power (LOADAPNT) -- UPS Transfer Low (LOTRANS) -- UPS Manufacture Date (MANDATE) -- UPS Master Update (MASTERUPD) -- UPS Input Voltage High (MAXLINEV) -- UPS Battery Timeout (MAXTIME) -- UPS Battery Shutdown (MBATTCHG) -- UPS Input Voltage Low (MINLINEV) -- UPS Shutdown Time (MINTIMEL) -- UPS Model (MODEL) -- UPS Battery Nominal Voltage (NOMBATTV) -- UPS Nominal Input Voltage (NOMINV) -- UPS Nominal Output Voltage (NOMOUTV) -- UPS Nominal Output Power (NOMPOWER) -- UPS Nominal Apparent Power (NOMAPNT) -- UPS Transfer Count (NUMXFERS) -- UPS Output Current (OUTCURNT) -- UPS Output Voltage (OUTPUTV) -- UPS Register 1 Fault (REG1) -- UPS Register 2 Fault (REG2) -- UPS Register 3 Fault (REG3) -- UPS Restore Requirement (RETPCT) -- UPS Last Self Test (LASTSTEST) -- UPS Self Test Result (SELFTEST) -- UPS Sensitivity (SENSE) -- UPS Serial Number (SERIALNO) -- UPS Startup Time (STARTTIME) -- UPS Status Flag (STATFLAG) -- UPS Status (STATUS) -- UPS Self Test Interval (STESTI) -- UPS Time Left (TIMELEFT) -- UPS Time on Battery (TONBATT) -- UPS Mode (UPSMODE) -- UPS Name (UPSNAME) -- UPS Daemon Info (VERSION) -- UPS Transfer from Battery (XOFFBAT) -- UPS Transfer from Battery (XOFFBATT) -- UPS Transfer to Battery (XONBATT) +- **Alarm Delay** + - **Description**: The delay period for the UPS alarm. + - **Available for machines**: all + +- **Battery Replaced** + - **Description**: The date that batteries were last replaced. + - **Available for machines**: all + +- **Battery Voltage** + - **Description**: Battery voltage as supplied by the UPS. + - **Available for machines**: all + +- **Battery** + - **Description**: The percentage charge on the batteries. + - **Available for machines**: all + +- **Total Time on Battery** + - **Description**: Total (cumulative) time on batteries in seconds since apcupsd startup. + - **Available for machines**: all + +- **Date and Time** + - **Description**: The time and date that the STATUS record was written. + - **Available for machines**: all + +- **Transfer High** + - **Description**: The line voltage above which the UPS will switch to batteries. + - **Available for machines**: all + +- **Input Voltage** + - **Description**: The current line voltage as returned by the UPS. + - **Available for machines**: all + +- **Load** + - **Description**: The percentage of load capacity as estimated by the UPS. + - **Available for machines**: all + +- **Transfer Low** + - **Description**: The line voltage below which the UPS will switch to batteries. + - **Available for machines**: all + +- **Battery Timeout** + - **Description**: apcupsd will shut down your system if the time on batteries exceeds this value. A value of zero disables the feature. Value is set in the configuration file (TIMEOUT). + - **Available for machines**: all + +- **Battery Shutdown** + - **Description**: If the battery charge percentage (BCHARGE) drops below this value, apcupsd will shut down your system. Value is set in the configuration file (BATTERYLEVEL). + - **Available for machines**: all + +- **Shutdown Time** + - **Description**: apcupsd will shut down your system if the remaining runtime equals or is below this point. Value is set in the configuration file (MINUTES). + - **Available for machines**: all + +- **Battery Nominal Voltage** + - **Description**: The nominal battery voltage. + - **Available for machines**: all + +- **Nominal Input Voltage** + - **Description**: The input voltage that the UPS is configured to expect. + - **Available for machines**: all + +- **Nominal Output Power** + - **Description**: The maximum power in Watts that the UPS is designed to supply. + - **Available for machines**: all + +- **Transfer Count** + - **Description**: The number of transfers to batteries since apcupsd startup. + - **Available for machines**: all + +- **Last Self-test** + - **Description**: The date and time of the last self-test performed by the UPS. + - **Available for machines**: all + - **Remarks**: This only becomes available when a self-test (either automatic or manual) is performed. + +- **Self Test Result** + - **Description**: The results of the last self test, and may have the following values: + - OK: self test indicates good battery + - BT: self test failed due to insufficient battery capacity + - NG: self test failed due to overload + - NO: No results + - **Available for machines**: all + +- **Startup Time** + - **Description**: The time/date that apcupsd was started. + - **Available for machines**: all + +- **Status** + - **Description**: The current status of the UPS (ONLINE, CHARGING, ONBATT, etc.) + - **Available for machines**: all + +- **Time Left** + - **Description**: The remaining runtime left on batteries as estimated by the UPS. + - **Available for machines**: all + +- **Time on Battery** + - **Description**: Time in seconds currently on batteries, or 0. + - **Available for machines**: all + +- **Mode** + - **Description**: The mode in which apcupsd is operating as specified in the configuration file (UPSMODE) + - **Available for machines**: all + +- **Transfer from Battery** + - **Description**: Time and date of last transfer from batteries. + - **Available for machines**: all + +- **Transfer to Battery** + - **Description**: Time and date of last transfer to batteries. + - **Available for machines**: all + - **Remarks**: This entity only becomes available after a tranfer to battery event happens. + +- **Battery Status** + - **Description**: The status of the batteries. + - **Available for machines**: Back-UPS Pro and Smart-UPS + +- **Line Frequency** + - **Description**: Line frequency in hertz as given by the UPS. + - **Available for machines**: Back-UPS Pro and Smart-UPS + +- **Load Apparent Power** + - **Description**: An "apparent load" condition, indicating the calculated load on the UPS based on the voltage and current. This is a measure of how much power the UPS is supplying to connected devices, often reported as a percentage of its capacity. + - **Available for machines**: Back-UPS Pro and Smart-UPS + +- **Output Voltage** + - **Description**: The voltage the UPS is supplying to your equipment + - **Available for machines**: Back-UPS Pro and Smart-UPS + +- **Bad Batteries** + - **Description**: The number of bad battery packs. + - **Available for machines**: Smart-UPS + +- **Dip Switch Settings** + - **Description**: The current dip switch settings on UPSes that have them. + - **Available for machines**: Smart-UPS + +- **Low Battery Signal** + - **Description**: The remaining runtime below which the UPS sends the low battery signal. At this point apcupsd will force an immediate emergency shutdown. + - **Available for machines**: Smart-UPS + +- **Shutdown Delay** + - **Description**: The grace delay that the UPS gives after receiving a power down command from apcupsd before it powers off your equipment. + - **Available for machines**: Smart-UPS + +- **Wake Delay** + - **Description**: The amount of time the UPS will wait before restoring power to your equipment after a power off condition when the power is restored. + - **Available for machines**: Smart-UPS + +- **External Batteries** + - **Description**: The number of external batteries as defined by the user. A correct number here helps the UPS compute the remaining runtime more accurately. + - **Available for machines**: Smart-UPS + +- **Internal Temperature** + - **Description**: Internal UPS temperature as supplied by the UPS. + - **Available for machines**: Smart-UPS + +- **Input Voltage Status** + - **Description**: The input line voltage status. "OK" indicates normal operation. + - **Available for machines**: Smart-UPS + +- **Master Update** + - **Description**: The last time the master sent an update to the device. + - **Available for machines**: Smart-UPS + +- **Input Voltage High** + - **Description**: The maximum line voltage since the UPS was started, as reported by the UPS. + - **Available for machines**: Smart-UPS + +- **Input Voltage Low** + - **Description**: The minimum line voltage since the UPS was started, as returned by the UPS. + - **Available for machines**: Smart-UPS + +- **Nominal Output Voltage** + - **Description**: The output voltage that the UPS will attempt to supply when on battery power. + - **Available for machines**: Smart-UPS + +- **Nominal Apparent Power** + - **Description**: The rated apparent power capacity. + - **Available for machines**: Smart-UPS + +- **Output Current** + - **Description**: The output current being supplied by the UPS to the connected devices + - **Available for machines**: Smart-UPS + +- **Restore Requirement** + - **Description**: The percentage charge that the batteries must have after a power off condition before the UPS will restore power to your equipment. + - **Available for machines**: Smart-UPS + +- **Self Test Interval** + - **Description**: The interval in hours between automatic self tests. + - **Available for machines**: Smart-UPS + +- **Transfer from Battery** + - **Description**: The date and time of last transfer off battery since apcupsd startup. + - **Available for machines**: Smart-UPS + +- **Ambient Humidity** + - **Description**: The humidity as measured by the UPS. + - **Available for machines**: Smart-UPS with optional accessories (e.g., temperature/humidity sensors or SNMP network cards). + +- **Ambient Temperature** + - **Description**: The ambient temperature as measured by the UPS. + - **Available for machines**: Smart-UPS with optional accessories (e.g., temperature/humidity sensors or SNMP network cards). + +- **Status Data** + - **Description**: Header record indicating the STATUS format revision level, the number of records that follow the APC statement, and the number of bytes that follow the record. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Model** + - **Description**: The old APC model identification code. + - **Available for machines**: Smart-UPS + - **Remarks**: Disabled by default for advanced uses. + +- **Cable Type** + - **Description**: The cable as specified in the configuration file (UPSCABLE). + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Status Date** + - **Description**: The date and time that the information was last obtained from the UPS. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Driver** + - **Description**: The driver used to communicate with the UPS. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Firmware Version** + - **Description**: The firmware revision number as reported by the UPS. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Hostname** + - **Description**: The name of the machine that collected the UPS data. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Last Transfer** + - **Description**: The reason for the last transfer to batteries. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Manufacture Date** + - **Description**: The date the UPS was manufactured. + - **Available for machines**: Smart-UPS + - **Remarks**: Disabled by default for advanced uses. + +- **Model** + - **Description**: The UPS model as derived from information from the UPS. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Register 1 Fault** + - **Description**: The value from the UPS fault register 1. + - **Available for machines**: Smart-UPS + - **Remarks**: Disabled by default for advanced uses. + +- **Register 2 Fault** + - **Description**: The value from the UPS fault register 2. + - **Available for machines**: Smart-UPS + - **Remarks**: Disabled by default for advanced uses. + +- **Register 3 Fault** + - **Description**: The value from the UPS fault register 3. + - **Available for machines**: Smart-UPS + - **Remarks**: Disabled by default for advanced uses. + +- **Sensitivity** + - **Description**: The sensitivity level of the UPS to line voltage fluctuations. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Serial Number** + - **Description**: The UPS serial number. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Status Flag** + - **Description**: Status flag. English version is given by STATUS. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Name** + - **Description**: The name of the UPS as stored in the EEPROM or in the UPSNAME directive in the configuration file. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. + +- **Daemon Info** + - **Description**: The apcupsd release number, build date, and platform. + - **Available for machines**: all + - **Remarks**: Disabled by default for advanced uses. ## Examples From 0fed97c920572d842092cdd595a1983cf4f94a31 Mon Sep 17 00:00:00 2001 From: Glenn Waters Date: Mon, 5 May 2025 03:56:11 -0400 Subject: [PATCH 23/38] Update environment_canada.markdown (#38877) --- source/_integrations/environment_canada.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown index 6e28177f92b..3b9d38910d2 100644 --- a/source/_integrations/environment_canada.markdown +++ b/source/_integrations/environment_canada.markdown @@ -152,7 +152,7 @@ The configuration snippet below adds a template sensor containing the current fo action: - service: environment_canada.get_forecasts target: - entity_id: weather.ottawa_kanata_orleans_forecast + entity_id: weather.NAME response_variable: forecasts sensor: - name: Weather Forecast Daily From 770198939924fc768c25c4de8cd16a2376862593 Mon Sep 17 00:00:00 2001 From: Justin Bull Date: Mon, 5 May 2025 03:59:54 -0400 Subject: [PATCH 24/38] Google Assistant Integration: Use `SERVICE_ACCOUNT.json` in yaml snippet (#38864) --- source/_integrations/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index de73cf787a2..605d8ccd503 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -160,7 +160,7 @@ Now add your setup to your {% term "`configuration.yaml`" %} file, such as: # Example configuration.yaml entry google_assistant: project_id: YOUR_PROJECT_ID - service_account: !include SERVICE_ACCOUNT.JSON + service_account: !include SERVICE_ACCOUNT.json report_state: true exposed_domains: - switch From 88ff53de2498132dd3f2f86b0724fa3023751a15 Mon Sep 17 00:00:00 2001 From: "Wang, Xiao" <24860335+xwang233@users.noreply.github.com> Date: Mon, 5 May 2025 01:00:37 -0700 Subject: [PATCH 25/38] Update command signing section of tesla-fleet document (#38865) --- source/_integrations/tesla_fleet.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/tesla_fleet.markdown b/source/_integrations/tesla_fleet.markdown index b266d4d4085..ff30570ade4 100644 --- a/source/_integrations/tesla_fleet.markdown +++ b/source/_integrations/tesla_fleet.markdown @@ -191,6 +191,7 @@ Certain vehicles, including all vehicles manufactured since late 2023, require v The integration expects your private key to be located at `config/tesla_fleet.key`. Your public key must be added to each of your vehicles by visiting https://tesla.com/_ak/YOUR.DOMAIN and following the instructions in the Tesla app. +If you're using an iPhone, you may need to use Safari to open the webpage and finish the setup. For more details see [Tesla Fleet API vehicle commands documentation](https://developer.tesla.com/docs/fleet-api/endpoints/vehicle-commands#key-pairing). From e44b1538296f96bf6b10888fe06068da14e5f9ee Mon Sep 17 00:00:00 2001 From: Jack Journeyman <145021130+jackjourneyman@users.noreply.github.com> Date: Mon, 5 May 2025 09:56:38 +0100 Subject: [PATCH 26/38] Update statistics-graph.markdown (#38859) --- source/_dashboards/statistics-graph.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_dashboards/statistics-graph.markdown b/source/_dashboards/statistics-graph.markdown index 2860351b433..6f6c27e7905 100644 --- a/source/_dashboards/statistics-graph.markdown +++ b/source/_dashboards/statistics-graph.markdown @@ -22,7 +22,7 @@ Screenshot of the statistics graph card with none metered entities and `chart_ty Screenshot of the statistics graph card with a metered entity and `chart_type` `bar`.

-Statistics are gathered every 5 minutes and also hourly for sensors that support it. The 5-minute statistics will be retained for the duration set in the [recorder configuration](/integrations/recorder/#purge_keep_days), and hourly statistics will be retained indefinitely. It will either keep the `min`, `max`, and `mean` of a sensor's value for a specific hour or the `sum` for a metered entity. +Statistics are gathered every 5 minutes and also hourly for sensors with a state_class of measurement, total or total_increasing. The 5-minute statistics will be retained for the duration set in the [recorder configuration](/integrations/recorder/#purge_keep_days), and hourly statistics will be retained indefinitely. It will either keep the `min`, `max`, and `mean` of a sensor's value for a specific hour or the `sum` for a metered entity. If your sensor doesn't work with statistics, check [this](/more-info/statistics/). From 5e147e0d5ba21920f92736677d94405f0413254f Mon Sep 17 00:00:00 2001 From: Jack Journeyman <145021130+jackjourneyman@users.noreply.github.com> Date: Mon, 5 May 2025 09:57:48 +0100 Subject: [PATCH 27/38] Update history.markdown (#38860) --- source/_integrations/history.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown index b6695317c50..ef5a89a6725 100644 --- a/source/_integrations/history.markdown +++ b/source/_integrations/history.markdown @@ -44,7 +44,7 @@ You can access the **History** panel from the side bar. To export the data, foll By default, the recorder stores the sensor data for 10 days. Older data is purged automatically. The data for the last 10 days is taken from the recorder. -If you select a time frame that exceeds 10 days, the data is taken from the long term statistics table. The long term statistics data is sampled and averaged once per hour, to save storage. Therefore, the values might look different from what you see from the recorder data, which shows the measured values at the sample rate defined for that sensor. The detailed data will be shown with a darker line on graphs. +If you select a time frame that exceeds 10 days, the data is taken from the long term statistics table. Long term statistics are saved for sensors with a state_class of measurement, total or total_increasing. The long term statistics data is sampled and averaged once per hour, to save storage. Therefore, the values might look different from what you see from the recorder data, which shows the measured values at the sample rate defined for that sensor. The detailed data will be shown with a darker line on graphs. If the chosen time frame exceeds the retention period defined in the recorder, the long term statistics table is used as a data source. From c42a96305c334b7f843c461ed9d2623992350f87 Mon Sep 17 00:00:00 2001 From: Jack Journeyman <145021130+jackjourneyman@users.noreply.github.com> Date: Mon, 5 May 2025 10:00:44 +0100 Subject: [PATCH 28/38] Update history-graph.markdown (#38858) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_dashboards/history-graph.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_dashboards/history-graph.markdown b/source/_dashboards/history-graph.markdown index b1f6bdf0ef8..3a0e1e8b3b7 100644 --- a/source/_dashboards/history-graph.markdown +++ b/source/_dashboards/history-graph.markdown @@ -93,6 +93,12 @@ name: type: string {% endconfiguration %} +### Long term statistics + +Home Assistant saves long-term statistics for a sensor if the entity has a state_class of measurement, total, or total_increasing. For short-term statistics, a snapshot is taken every 5 minutes. For long-term statistics, an hourly aggregate is stored of the short-term statistics. Short-term statistics are automatically purged after a predefined period (default is 10 days). Long-term statistics are never purged. + +In the history graph card, if the hours to show variable is set to a figure higher than the purge_keep period, long-term statistics will be used, with short term statistics shown in bold. + ### Examples ```yaml From 33cd8c6e1e8811d7f8018c6db5ea2aa95b0700d4 Mon Sep 17 00:00:00 2001 From: mithomas Date: Tue, 6 May 2025 08:08:39 +0200 Subject: [PATCH 29/38] Update cover.markdown (#38889) Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/cover.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown index b0d8000d221..48f9a87696b 100644 --- a/source/_integrations/cover.markdown +++ b/source/_integrations/cover.markdown @@ -58,7 +58,7 @@ The following device classes are supported for covers. - **garage**: Control of a garage door that provides access to a garage. - **gate**: Control of a gate. Gates are found outside of a structure and are typically part of a fence. - **shade**: Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades. -- **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters. +- **shutter**: Control of shutters. Shutters are linked slats that can be raised or lowered to cover an opening, such as window or door roller shutters. Some shutters (for example, some indoor or exterior window shutters) swing out/in to cover an opening or may be tilted to provide partial cover. - **window**: Control of a physical window that opens and closes or may tilt. ## Actions From 864ffd3d76243e2232bc775941d0432d398e8b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 08:34:12 +0200 Subject: [PATCH 30/38] build(deps-dev): bump sorbet-runtime from 0.5.12060 to 0.5.12067 (#38891) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 43c170a6167..0bd021ee7f6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -159,7 +159,7 @@ GEM rack-protection (= 4.1.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) - sorbet-runtime (0.5.12060) + sorbet-runtime (0.5.12067) stringex (2.8.6) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From afcc69998b49b0f9f434e750a6c905213742749d Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 6 May 2025 09:41:29 +0200 Subject: [PATCH 31/38] Areas: add links (#38895) --- source/_dashboards/area.markdown | 2 ++ source/_data/glossary.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/source/_dashboards/area.markdown b/source/_dashboards/area.markdown index 86cfe5e343f..13d009bdb0d 100644 --- a/source/_dashboards/area.markdown +++ b/source/_dashboards/area.markdown @@ -10,6 +10,8 @@ related: title: Dashboard cards - docs: /dashboards/dashboards/#areas-dashboard title: Areas dashboard + - docs: /docs/organizing/areas/ + title: About areas --- The area card lets you control and monitor an individual {% term area %}. diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml index 819b91ce014..97346762b49 100644 --- a/source/_data/glossary.yml +++ b/source/_data/glossary.yml @@ -56,6 +56,7 @@ room. aliases: - areas + link: /docs/organizing/areas/ - term: Automation definition: >- Automations connect one or more triggers to one or more actions in a 'when From c95f4f66d575a58289bc0584e194a37de8d25ada Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 6 May 2025 10:37:13 +0200 Subject: [PATCH 32/38] Blog: add links to related docs (#38897) --- .../_posts/2025-04-02-release-20254.markdown | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/_posts/2025-04-02-release-20254.markdown b/source/_posts/2025-04-02-release-20254.markdown index 32e27f6954a..da9d3bd660b 100644 --- a/source/_posts/2025-04-02-release-20254.markdown +++ b/source/_posts/2025-04-02-release-20254.markdown @@ -103,12 +103,12 @@ own dashboards, many simply want something that works for their household. Screenshot viewing an area of the new experimental Areas dashboard -The new experimental Areas Dashboard automatically generates a ready-to-use -dashboard based on the areas you’ve set up in your home. It uses sections and -tile cards for a modern, clean, and intuitive look—instantly. No more starting +The new experimental [Areas dashboard](/dashboards/dashboards/#areas-dashboard) automatically generates a ready-to-use +dashboard based on the areas you’ve set up in your home. It uses [sections](/dashboards/sections/) and +[tile cards](/dashboards/tile/) for a modern, clean, and intuitive look—instantly. No more starting from a blank slate! -Each area now has its own dedicated page, giving you a clear and organized view +Each [area](/docs/organizing/areas/) now has its own dedicated page, giving you a clear and organized view of the devices in that space. Entities, such as lights, covers, cameras, and more, are automatically grouped by domain so you can easily locate the ones you need. @@ -125,20 +125,20 @@ based on your preferences. Screenshot showing the overview page of the new Areas dashboard -If you haven’t organized your devices into areas yet, now’s the perfect time to +If you haven’t [organized your devices into areas](/docs/organizing/areas/) yet, now’s the perfect time to start—it’s key to unlocking this new dashboard experience. To get -started with the Areas dashboard, go to +started with the [Areas dashboard](/dashboards/dashboards/#areas-dashboard), go to **{% my lovelace_dashboards title="Settings > Dashboards" %}**, and select **Add Dashboard** in the bottom right, next select the **Areas (experimental)** option from the dialog: Screenshot of the dialog when adding a new dashboard, showing the new option to add the new experimental Area dashboard -The new experimental Areas Dashboard previews what’s to come. We’ve learned from +The new experimental [Areas dashboard](/dashboards/dashboards/#areas-dashboard) previews what’s to come. We’ve learned from our users that they organize their homes in different ways—by rooms, by function, by device, and more. They often combine all of the above, and therefore, our upcoming default dashboard will accommodate -all these methods of organization. +all these methods of [organization](/docs/organizing/). Over time, this foundation will grow into a flexible system that adapts to your priorities, whether that’s keeping an eye on security, managing energy use, @@ -158,7 +158,7 @@ dashboard built for your home, try it! It has been a while since we introduced a new card, but this release, we thought it might be _**time**_ to add a new one! Thanks to [@mrdarrengriffin], -Home Assistant now features a Clock card! +Home Assistant now features a [Clock card](/dashboards/clock/)! Screenshot showing a dashboard with a large clock card on it, indicating the current time From 3c65421e2504445a288d71f92e6d00bfa79c2fad Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 6 May 2025 10:45:24 +0200 Subject: [PATCH 33/38] rename page 'mutliple dashboard' to 'dashboard types' (#38898) --- source/_includes/asides/dashboards_navigation.html | 2 +- source/_includes/asides/docs_sitemap.html | 2 +- source/getting-started/onboarding_dashboard.markdown | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/_includes/asides/dashboards_navigation.html b/source/_includes/asides/dashboards_navigation.html index 6e4340a4e7e..f204d9496ac 100644 --- a/source/_includes/asides/dashboards_navigation.html +++ b/source/_includes/asides/dashboards_navigation.html @@ -5,7 +5,7 @@

Dashboards