Skip to content

Documenation for a new integration - ActronAir #38398

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

JagadishDhanamjayam
Copy link

@JagadishDhanamjayam JagadishDhanamjayam commented Apr 5, 2025

Proposed change

Documentation for a new integration named ActronAir (Neo)

Type of change

  • Spelling, grammar or other readability improvements (current branch).
  • Adjusted missing or incorrect information in the current documentation (current branch).
  • Added documentation for a new integration I'm adding to Home Assistant (next branch).
  • Added documentation for a new feature I'm adding to Home Assistant (next branch).
  • Removed stale or deprecated documentation.

Additional information

Checklist

  • This PR uses the correct branch, based on one of the following:
    • I made a change to the existing documentation and used the current branch.
    • I made a change that is related to an upcoming version of Home Assistant and used the next branch.
  • The documentation follows the Home Assistant documentation standards.

Summary by CodeRabbit

  • New Features

    • Introducing an experimental Areas dashboard for intuitive device organization.
    • Enhanced voice assistant interactions enable proactive, continuous conversations.
    • New integrations now offer expanded control options for air conditioning.
  • Improvements

    • Expanded integration support adds new control platforms (e.g., locks, sensors, water heaters, diagnostics) and enhanced quality ratings.
    • Refined configuration options deliver a richer, more reliable experience.
  • Documentation

    • Updated user guides improve clarity for backup management and troubleshooting.
    • Release version details and dates have been refreshed.

Sorry, something went wrong.

JagadishDhanamjayam and others added 30 commits February 26, 2025 19:59
* 2025.4: Beta release notes

* Update changelog
Correct spelling for new bosch_alarm integration and link to @sanjay900

* home-assistant/core#138497
* home-assistant/core#138497
* home-assistant/brands#6557

For reference, it is for Bosch alarm panels from Bosch Intrusion Alarm Systems (i.e. intruder/burglar alarm) solutions from Bosch Security and Safety Systems:

* https://www.boschsecurity.com/us/en/solutions/intrusion-alarm-systems/
Fix the plurality of the introduction paragraph before the list of new virtual integrations added in 2025.4.
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve clock docs

* Fix caption

* Fix typos
@home-assistant home-assistant bot added the has-parent This PR has a parent PR in a other repo label Apr 5, 2025
@home-assistant home-assistant bot removed the needs-rebase The PR has been branched of the wrong base branch or targets an incorrect target branch label Apr 5, 2025
Copy link
Contributor

coderabbitai bot commented Apr 5, 2025

📝 Walkthrough

Walkthrough

The changes update documentation and configuration files in Home Assistant. Modifications in the CODEOWNERS file adjust review responsibilities for integration docs. The _config.yml file has updated release version details. Numerous integration markdown files have been revised—adding new integrations, updating metadata (such as platforms, quality scales, categories, and code owners), clarifying instructions, and performing minor formatting fixes. A new release notes file and a backup emergency kit guide with improved instructions have also been introduced.

Changes

File(s) Change Summary
CODEOWNERS Added new code owner entries for several integration docs, modified ownership for google_generative_ai_conversation.markdown, and removed the entry for sunweg.markdown.
_config.yml Updated release details: minor version from 3 to 4, patch version from 4 to 1, and release date from 2025-03-21 to 2025-04-04.
source/_dashboards/clock.markdown
source/_includes/common-tasks/backups.md
Removed extra whitespace in the clock file and reorganized backup instructions for clarity.
source/_integrations/.../*.markdown Multiple integration docs were updated. Changes include adjustments to metadata fields (e.g., ha_platforms, ha_quality_scale, ha_category, ha_release), new code owner entries, removal or addition of platform entries, new integration introduction (e.g. ActronAir), and improved troubleshooting/configuration details.
source/_posts/2025-04-02-release-20254.markdown
source/more-info/backup-emergency-kit.markdown
A new release notes file was created detailing experimental features (such as the Areas dashboard and enhanced voice assistant capabilities), and the backup emergency kit instructions were restructured.

Sequence Diagram(s)

Loading
sequenceDiagram
    participant U as User
    participant HA as Home Assistant
    participant AG as Area Generator
    U->>HA: Provide area configuration
    HA->>AG: Request dashboard generation
    AG-->>HA: Return generated dashboards per area
    HA-->>U: Display the Areas Dashboard
Loading
sequenceDiagram
    participant U as User
    participant VA as Voice Assistant
    participant HA as Home Assistant Backend
    U->>VA: Issue voice command
    VA->>HA: Forward command for processing
    HA->>VA: Process command (engaging LLM if required)
    VA-->>U: Return processed voice response

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 32d94e0 and 93e92b0.

⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • source/_dashboards/clock.markdown (0 hunks)
  • source/_integrations/home_connect.markdown (1 hunks)
  • source/_integrations/nut.markdown (2 hunks)
  • source/_integrations/ohme.markdown (1 hunks)
  • source/_integrations/squeezebox.markdown (1 hunks)
💤 Files with no reviewable changes (1)
  • source/_dashboards/clock.markdown
🚧 Files skipped from review as they are similar to previous changes (4)
  • source/_integrations/nut.markdown
  • source/_integrations/home_connect.markdown
  • source/_integrations/ohme.markdown
  • source/_integrations/squeezebox.markdown
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🔭 Outside diff range comments (1)
source/_integrations/lg_thinq.markdown (1)

8-12: 🛠️ Refactor suggestion

Inconsistent Code Owner Field Naming
The file uses ha_code_owners: (with an underscore) rather than the more common ha_codeowners: seen in other integration documents. For consistency across the documentation, consider renaming this key so that it matches the standard format.

🧹 Nitpick comments (35)
source/_integrations/sun.markdown (1)

21-22: Enhance Clarity with the New Explanatory Sentence

The newly added sentence clearly explains that the sun integration calculates all sun-related times (sunrise, sunset, dawn, dusk, etc.) based on the configured home location. This addition helps users understand that all time-based calculations and triggers will be accurate for their specific setup. Consider a minor rewording for consistency with our documentation style if needed, though the current phrasing is clear and informative.

source/_integrations/iometer.markdown (1)

16-18: Enhance Integration Metadata with binary_sensor Support

The addition of the binary_sensor entry under ha_platforms correctly signals expanded platform support. Please ensure that the integration documentation (e.g., the “Available sensors” section) either includes details about the binary sensor functionality or clearly references where users can find more information about it. This will help maintain consistency between the metadata declaration and the user-facing documentation.

source/_dashboards/clock.markdown (7)

1-9: Front Matter Metadata Review
The metadata block is well structured and includes the necessary fields (type, title, sidebar_label, description, and related links). Consider rephrasing the description to replace "a variety of" with "various" for improved clarity and conciseness (e.g. "The Clock card shows the current time in various formats, sizes, and time zones.").


11-11: Introductory Text Tone
The introductory sentence on line 11 repeats the description from the metadata. While this can provide context, consider simplifying the phrase by replacing "a variety of" with "various" to enhance clarity.

🧰 Tools
🪛 LanguageTool

[style] ~11-~11: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...he Clock card shows the current time in a variety of formats, sizes and time zones. <p clas...

(A_VARIETY_OF)


20-23: Blank Line Consolidation
There are multiple consecutive blank lines between the text and the "## Card settings" header. To comply with markdown lint guidelines (MD012), please reduce them to a single blank line.
For example, consider this diff:

-All options for this card can be configured via the user interface.
-
-
-## Card settings
+All options for this card can be configured via the user interface.
+
+## Card settings
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

22-22: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


51-51: Excess Blank Line Removal
There is an extra blank line (line 51) before the next example section. Please remove the surplus to meet markdown style guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

51-51: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


80-89: Hyphenation for Numeric Modifiers (London Example)
On lines 80–89, the example description uses "24 hour" as a modifier. It is customary to hyphenate such expressions. Please update it to "24‑hour".
For example, you could apply this change:

-A medium-sized, 24 hour clock using the London timezone with a title
+A medium-sized, 24-hour clock using the London timezone with a title
🧰 Tools
🪛 LanguageTool

[grammar] ~80-~80: When ‘24-hour’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ock showing am/pm

A medium-sized, 24 hour clock using the London timezone with a ...

(HOUR_HYPHEN)


94-103: Hyphenation for Numeric Modifiers (New York Example)
Similarly, on lines 94–103 the description "12 hour" should be hyphenated to "12‑hour" when used as a modifier.
A suggested diff:

- A medium-sized, 12 hour clock using the New York timezone with a title
+ A medium-sized, 12-hour clock using the New York timezone with a title
🧰 Tools
🪛 LanguageTool

[grammar] ~95-~95: When ‘12-hour’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...long with a title

A medium-sized, 12 hour clock using the New York timezone with ...

(HOUR_HYPHEN)


105-107: Trailing Newline Enforcement
Ensure that the file ends with a single newline character as required by markdown lint rule MD047. This helps avoid formatting issues in various renderers.

source/_docs/scripts/perform-actions.markdown (1)

8-8: Documentation Wording Clarification: The updated sentence now uses "perform action" instead of "to call a configuration," which improves clarity. For even better readability, consider rephrasing the sentence as follows:

-The configuration options to perform action are the same between all integrations and are described on this page.
+The configuration options for performing actions are the same across all integrations and are described on this page.

This slight adjustment provides a smoother read and emphasizes consistency.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~8-~8: Possible missing article found.
Context: .... The configuration options to perform action are the same between all integrations a...

(AI_HYDRA_LEO_MISSING_THE)

source/_integrations/group.markdown (1)

490-490: Grammatical Refinement

The sentence beginning with “The following actions to modify groups and a action to reload the configuration…” would read better with correct article usage. Consider replacing “a action to reload…” with “an action to reload…”.
[highlight_typographical_issue]

Proposed diff:

-The following actions to modify groups and a action to reload the configuration without restarting Home Assistant itself.
+The following actions to modify groups and an action to reload the configuration without restarting Home Assistant itself.
🧰 Tools
🪛 LanguageTool

[misspelling] ~490-~490: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... following actions to modify groups and a action to reload the configuration with...

(EN_A_VS_AN)

source/_docs/blueprint/schema.markdown (1)

31-34: New Field Addition: domain
The addition of the domain: automation field in the YAML snippet clearly categorizes the blueprint and enhances metadata clarity. Please double-check that any accompanying documentation (e.g., validation rules or examples) is updated to reflect this additional field.

source/_docs/automation/templating.markdown (1)

50-52: Consistency in Trigger Naming
The change around the "Device" section indicates a move toward using a pluralized reference (as implied by the anchor #device-triggers). To improve clarity and consistency across trigger documentation, consider updating the visible text to “Device triggers” rather than “Device trigger.”

source/_integrations/prusalink.markdown (1)

25-25: Updated Title for Clearer Guidance

The title now reads "PrusaLink installation guide for Prusa MK2.5/MK3 with Raspberry Pi 3/4," which clearly specifies the target printer models and hardware. Please verify that all linked sections and instructions in the document accurately reflect this scope.

source/_integrations/webdav.markdown (1)

63-63: Rephrase for Conciseness

The line stating “pCloud WebDAV implementation proved to be unstable…” might be reworded for conciseness. Consider changing it to something like “pCloud WebDAV implementation has been unstable and is not recommended for backups” to enhance readability.

🧰 Tools
🪛 LanguageTool

[style] ~63-~63: Consider replacing ‘prove to be’ with a shorter or less frequently used alternative.
Context: ...perties. - pCloud WebDAV implementation proved to be unstable and is not recommended for bac...

(PROVE_TO_BE_WORDY)

source/_integrations/jvc_projector.markdown (1)

36-43: Add "Password hashing" section for newer models.

The new section clearly explains the steps to generate a SHA256 hash for models NZ800 and NZ900. The instructions are detailed and should help users correctly transform their passwords. Consider adding a brief note that this step is required only for the specified models if that isn’t already clear elsewhere in the documentation.

source/_docs/z-wave/controllers.markdown (1)

60-64: Review Bullet List Update for Z-Wave.Me UZB1 Stick.

The updated bullet point now explicitly reminds users to refer to the Aeotec Z-Stick note, which is a helpful clarification. Ensure that the bullet ordering and the reference are consistent with the rest of the list.

Gemfile (2)

13-16: Sort Gems Alphabetically in the Development Group.

Static analysis recommends sorting gems alphabetically. In the development group, rubocop should come before sass-embedded. Sorting the gems improves readability and maintenance.

Apply this diff:

-  gem 'sass-embedded', '1.86.3'
-  gem 'rubocop', '1.75.2'
-  gem 'ruby-lsp', '0.23.13'
+  gem 'rubocop', '1.75.2'
+  gem 'ruby-lsp', '0.23.13'
+  gem 'sass-embedded', '1.86.3'
🧰 Tools
🪛 RuboCop (1.73)

[convention] 14-14: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem rubocop should appear before sass-embedded.

(Bundler/OrderedGems)


[convention] 16-16: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem rackup should appear before ruby-lsp.

(Bundler/OrderedGems)


26-28: Sort Gems Alphabetically in the Main Group.

According to the convention, nokogiri should appear before sinatra alphabetically. This improvement aligns with bundler’s ordered gems guidelines.

Apply this diff:

- gem 'sinatra', '4.1.1'
- gem 'nokogiri', '1.18.7'
+ gem 'nokogiri', '1.18.7'
+ gem 'sinatra', '4.1.1'
🧰 Tools
🪛 RuboCop (1.73)

[convention] 27-27: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem nokogiri should appear before sinatra.

(Bundler/OrderedGems)

source/_integrations/heos.markdown (1)

214-231: New "Play a queue item" Section Added Correctly
The added section provides a clear explanation and example for how to play or move to an item within the player's queue using the media_player.play_media action. The instruction to set media_content_type to "queue" and the index-based selection (starting from 1) is clear and consistent with similar examples in the document.

source/_integrations/snoo.markdown (1)

57-57: Punctuation Consistency in Event List
The static analysis tool flagged a possible missing comma or punctuation inconsistency in the events list (specifically around the “Sleepytime sounds updated” and subsequent “Config change” event). Please review the punctuation for consistency with similar list items.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~57-~57: Possible missing comma found.
Context: ... or off. - Config change - A config has changed such as the motion limiter. ## Sensors...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/nut.markdown (1)

84-84: Punctuation Consistency (Optional Refinement)
A static analysis hint flagged a possible missing comma on the list item for “Power cycle outlet NAME”. Although markdown lists generally do not require a trailing comma, please double-check if a comma is preferred per the Home Assistant documentation style guidelines.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~84-~84: Possible missing comma found.
Context: ...: - Power cycle outlet NAME: Power cycle the named outlet ### Switches This NU...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/rpi_power.markdown (2)

18-24: Enhanced Integration Overview with Detailed Note Block

The updated description effectively introduces the integration and its key limitation—that it only monitors the Raspberry Pi running Home Assistant. The note block is well used to highlight this constraint.


27-34: Clear "Supported Functionality" Section

The "Supported functionality" section clearly explains how the integration assesses the power supply via kernel data and sets up a binary sensor. Ensure that the technical details and terminology remain consistent with similar integrations.

source/_integrations/reolink.markdown (1)

771-780: Detailed Guidelines on Battery Drain Mitigation

This new "Battery drains fast" section provides clear and actionable advice to minimize unnecessary power consumption on battery-operated cameras. To further polish the text:

  • Consider inserting “a” before “big impact” in the opening sentence.
  • In the Preload camera stream bullet, change “keep a active stream” to “keep an active stream” for correct article usage.
  • For the duration range, replace the hyphen with an en dash (10–30 seconds) for typographical precision.

These minor tweaks will enhance clarity and grammatical accuracy.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~773-~773: You might be missing the article “a” here.
Context: ...there are several factors that can have significant impact on battery life: - Make sure th...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[misspelling] ~775-~775: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...%}. The Preload camera stream will keep a active stream open, keeping the camera ...

(EN_A_VS_AN)


[typographical] ~777-~777: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...apshot will wake the battery camera for 10-30 seconds. When automations trigger very ...

(HYPHEN_TO_EN)


[uncategorized] ~777-~777: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...era for 10-30 seconds. When automations trigger very often, this can cause excessive ba...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

source/_integrations/actronair.markdown (3)

19-24: Clear Integration Overview and Prerequisites

The introductory paragraph succinctly explains what the ActronAir integration does. The prerequisites section clearly conveys that the NEO system requires proper user configuration and cloud connectivity. A minor note: double-check the spelling of “credentails” in line 23.


29-32: Select Entity Details

The "Select" entity section efficiently explains how multiple A/C systems are handled. Consider inserting the article “the” before “names and serial numbers” for grammatical clarity.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~31-~31: Possible missing article found.
Context: ...d with their names and serial numbers. User has an option to choose from the list. ...

(AI_HYDRA_LEO_MISSING_THE)

🪛 markdownlint-cli2 (0.17.2)

31-31: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


34-40: Comprehensive Climate Entity Description

The "Climate" section clearly outlines the functionality for both master and zone controllers. To improve clarity:

  • Correct “creats” to “creates” in line 36.
  • Insert “the” before “ability” in both lines 39 and 40 for proper article usage.

These small adjustments will make the instructions even clearer for the end user.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~37-~37: Possible missing comma found.
Context: ...as each of the zones. Based on the zone capability such as temperature-controlled, control...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~38-~38: A determiner appears to be missing. Consider inserting it.
Context: ...enabled for each of the enabled zones. Master controller provides ability to change t...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~39-~39: You might be missing the article “the” here.
Context: ...bled zones. Master controller provides ability to change the AC Mode and Fan Speed bes...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~40-~40: You might be missing the article “the” here.
Context: ...ure set point. Zone controller provides ability to turn ON/OFF a zone. Depending on the...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~40-~40: You might be missing the article “the” here.
Context: ...availability of zone sensor/controller, option to change the set point temperature is ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

source/_integrations/template.markdown (1)

312-408: Comprehensive Light Entity Configuration Enhancements
The light configuration section is now extensively documented with detailed templates for state, brightness, color (HS, RGB, RGBW, RGBWW), transition support, and effect handling. The consistent use of defaults (e.g. “optimistic”) and clear, descriptive texts significantly improve clarity and usability for integrators.

source/_integrations/nuki.markdown (5)

22-23: Typo Correction in WiFi Descriptor:
The text currently states “Nuki Smart Lock with [Build-in WiFi]”. To maintain consistency with standard terminology, consider changing “Build-in” to “Built-in”.

- Nuki Smart Lock with [Build-in WiFi]
+ Nuki Smart Lock with [Built-in WiFi]
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

22-22: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


23-23: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


27-27: Preposition Usage Improvement:
The sentence “...check the details in the screen” could be improved by using “on the screen” instead. This minor change will enhance readability.

- check the details in the screen.
+ check the details on the screen.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~27-~27: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...n on the HTTP API and check the details in the screen. Please note that the API to...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)


[typographical] ~27-~27: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...lease note that the API token should be 6-20 characters long, even though the app al...

(HYPHEN_TO_EN)


22-23: Formatting – Trailing Spaces:
There appear to be trailing spaces on lines 22 and 23. Removing these will ensure consistent markdown formatting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

22-22: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


23-23: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


77-77: Formatting – Trailing Spaces:
Line 77 seems to have extra trailing spaces; please trim them to adhere to markdown standards.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

77-77: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


88-88: Formatting – Trailing Spaces:
There are extra trailing spaces on this line as well. Removing them will help maintain clean formatting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

88-88: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

source/_integrations/mcp_server.markdown (1)

134-160: New Cursor configuration example needs formatting fixes

The Cursor example is a helpful addition, but there are minor formatting issues with the code blocks.

Add blank lines before and after the fenced code blocks to comply with markdown formatting standards:

 3. Open the main Cursor Settings and select **MCP**.
 4. Click **Add new global MCP server** and add the Home Assistant server configuration:
+
   ```json
    {
      "mcpServers": {
        "Home Assistant": {
          "command": "mcp-proxy",
          "args": [
            "http://localhost:8123/mcp_server/sse"
          ],
          "env": {
            "API_ACCESS_TOKEN": "<your_access_token_here>"
          }
        }
      }
    }
    ```
+
 5. Save your `mcp.json` file. You can also find this file in the `$HOME/.cursor/mcp.json` directory.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

141-141: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


155-155: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 386d4c5 and 32d94e0.

⛔ Files ignored due to path filters (20)
  • Gemfile.lock is excluded by !**/*.lock
  • package-lock.json is excluded by !**/package-lock.json
  • source/images/blog/2025-03-motionblinds/art.jpg is excluded by !**/*.jpg
  • source/images/blog/2025-03-motionblinds/matter-hub.jpg is excluded by !**/*.jpg
  • source/images/blog/2025-03-motionblinds/powered-by-eve.png is excluded by !**/*.png
  • source/images/blog/2025-04/areas-dashboard-detail.png is excluded by !**/*.png
  • source/images/blog/2025-04/areas-dashboard-overview.png is excluded by !**/*.png
  • source/images/blog/2025-04/areas-experimental-dialog.png is excluded by !**/*.png
  • source/images/blog/2025-04/card-clock.png is excluded by !**/*.png
  • source/images/blog/2025-04/energy-management-device-hierarchy.png is excluded by !**/*.png
  • source/images/blog/2025-04/restore-from-cloud.png is excluded by !**/*.png
  • source/images/blog/2025-04/social.jpg is excluded by !**/*.jpg
  • source/images/blog/2025-04/voice-wizard.png is excluded by !**/*.png
  • source/images/dashboards/clock_card_default.png is excluded by !**/*.png
  • source/images/dashboards/clock_card_large.png is excluded by !**/*.png
  • source/images/dashboards/clock_card_london.png is excluded by !**/*.png
  • source/images/dashboards/clock_card_medium.png is excluded by !**/*.png
  • source/images/dashboards/clock_card_new_york.png is excluded by !**/*.png
  • source/images/integrations/mcp_server/cursor-lights-control.png is excluded by !**/*.png
  • source/images/screenshots/nmbs-card-example.png is excluded by !**/*.png
📒 Files selected for processing (79)
  • CODEOWNERS (10 hunks)
  • Gemfile (2 hunks)
  • _config.yml (1 hunks)
  • package.json (1 hunks)
  • source/_dashboards/clock.markdown (1 hunks)
  • source/_docs/automation/templating.markdown (1 hunks)
  • source/_docs/blueprint/schema.markdown (1 hunks)
  • source/_docs/configuration/state_object.markdown (1 hunks)
  • source/_docs/scripts/perform-actions.markdown (1 hunks)
  • source/_docs/z-wave/controllers.markdown (2 hunks)
  • source/_includes/common-tasks/backups.md (1 hunks)
  • source/_includes/custom/news.html (1 hunks)
  • source/_integrations/actronair.markdown (1 hunks)
  • source/_integrations/aemet.markdown (1 hunks)
  • source/_integrations/airgradient.markdown (1 hunks)
  • source/_integrations/airthings.markdown (1 hunks)
  • source/_integrations/airzone.markdown (1 hunks)
  • source/_integrations/airzone_cloud.markdown (1 hunks)
  • source/_integrations/apollo_automation.markdown (1 hunks)
  • source/_integrations/assist_satellite.markdown (2 hunks)
  • source/_integrations/azure_storage.markdown (1 hunks)
  • source/_integrations/backup.markdown (2 hunks)
  • source/_integrations/bosch_alarm.markdown (1 hunks)
  • source/_integrations/comelit.markdown (2 hunks)
  • source/_integrations/eve.markdown (1 hunks)
  • source/_integrations/file.markdown (2 hunks)
  • source/_integrations/frankever.markdown (3 hunks)
  • source/_integrations/fronius.markdown (1 hunks)
  • source/_integrations/google_generative_ai_conversation.markdown (2 hunks)
  • source/_integrations/gree.markdown (1 hunks)
  • source/_integrations/group.markdown (1 hunks)
  • source/_integrations/heos.markdown (1 hunks)
  • source/_integrations/hikvision.markdown (1 hunks)
  • source/_integrations/home_connect.markdown (1 hunks)
  • source/_integrations/homeassistant_hardware.markdown (1 hunks)
  • source/_integrations/homeassistant_sky_connect.markdown (1 hunks)
  • source/_integrations/homeassistant_yellow.markdown (1 hunks)
  • source/_integrations/igloohome.markdown (1 hunks)
  • source/_integrations/incomfort.markdown (1 hunks)
  • source/_integrations/iometer.markdown (1 hunks)
  • source/_integrations/iron_os.markdown (1 hunks)
  • source/_integrations/jvc_projector.markdown (1 hunks)
  • source/_integrations/konnected.markdown (1 hunks)
  • source/_integrations/lg_thinq.markdown (2 hunks)
  • source/_integrations/linkedgo.markdown (3 hunks)
  • source/_integrations/mcp_server.markdown (2 hunks)
  • source/_integrations/music_assistant.markdown (2 hunks)
  • source/_integrations/nmbs.markdown (0 hunks)
  • source/_integrations/nuki.markdown (2 hunks)
  • source/_integrations/nut.markdown (4 hunks)
  • source/_integrations/ogemray.markdown (3 hunks)
  • source/_integrations/ohme.markdown (1 hunks)
  • source/_integrations/onedrive.markdown (1 hunks)
  • source/_integrations/opower.markdown (1 hunks)
  • source/_integrations/pglab.markdown (2 hunks)
  • source/_integrations/prusalink.markdown (1 hunks)
  • source/_integrations/qnap_qsw.markdown (1 hunks)
  • source/_integrations/remote_calendar.markdown (2 hunks)
  • source/_integrations/reolink.markdown (1 hunks)
  • source/_integrations/roborock.markdown (1 hunks)
  • source/_integrations/rpi_power.markdown (1 hunks)
  • source/_integrations/sensibo.markdown (1 hunks)
  • source/_integrations/smartthings.markdown (2 hunks)
  • source/_integrations/snoo.markdown (3 hunks)
  • source/_integrations/squeezebox.markdown (1 hunks)
  • source/_integrations/sun.markdown (1 hunks)
  • source/_integrations/sunweg.markdown (0 hunks)
  • source/_integrations/template.markdown (10 hunks)
  • source/_integrations/vodafone_station.markdown (1 hunks)
  • source/_integrations/wallbox.markdown (0 hunks)
  • source/_integrations/watergate.markdown (1 hunks)
  • source/_integrations/webdav.markdown (2 hunks)
  • source/_integrations/worxlandroid.markdown (1 hunks)
  • source/_posts/2025-03-27-motionblinds-joins-wwha.markdown (1 hunks)
  • source/_posts/2025-04-02-release-20254.markdown (1 hunks)
  • source/_redirects (1 hunks)
  • source/integrations/index.html (1 hunks)
  • source/more-info/backup-emergency-kit.markdown (2 hunks)
  • source/voice_control/voice_remote_cloud_assistant.markdown (1 hunks)
💤 Files with no reviewable changes (3)
  • source/_integrations/nmbs.markdown
  • source/_integrations/wallbox.markdown
  • source/_integrations/sunweg.markdown
🧰 Additional context used
📓 Path-based instructions (6)
`*/**(html|markdown|md)`: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure t...

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'
  • source/_redirects
`*/**(html|markdown|md)`: - Use bold to mark UI strings. - If "" are used to mark UI strings, replace them by bold.

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.
  • source/_redirects
`*/**(html|markdown|md)`: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

*/**(html|markdown|md): - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • source/_redirects
`*/**(html|markdown|md)`: - Use sentence-style capitalization also in headings.

*/**(html|markdown|md): - Use sentence-style capitalization also in headings.

  • source/_redirects
`*/**(html|markdown|md)`: do not comment on HTML used for icons

*/**(html|markdown|md): do not comment on HTML used for icons

  • source/_redirects
`*/**(html|markdown|md)`: Avoid flagging inline HTML for embedding videos in future reviews for this repository.

*/**(html|markdown|md): Avoid flagging inline HTML for embedding videos in future reviews for this repository.

  • source/_redirects
🪛 LanguageTool
source/_docs/scripts/perform-actions.markdown

[uncategorized] ~8-~8: Possible missing article found.
Context: .... The configuration options to perform action are the same between all integrations a...

(AI_HYDRA_LEO_MISSING_THE)

source/_integrations/group.markdown

[misspelling] ~490-~490: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... following actions to modify groups and a action to reload the configuration with...

(EN_A_VS_AN)

source/_integrations/nut.markdown

[uncategorized] ~84-~84: Possible missing comma found.
Context: ...: - Power cycle outlet NAME: Power cycle the named outlet ### Switches This NU...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/webdav.markdown

[style] ~63-~63: Consider replacing ‘prove to be’ with a shorter or less frequently used alternative.
Context: ...perties. - pCloud WebDAV implementation proved to be unstable and is not recommended for bac...

(PROVE_TO_BE_WORDY)

source/_integrations/actronair.markdown

[uncategorized] ~31-~31: Possible missing article found.
Context: ...d with their names and serial numbers. User has an option to choose from the list. ...

(AI_HYDRA_LEO_MISSING_THE)


[uncategorized] ~37-~37: Possible missing comma found.
Context: ...as each of the zones. Based on the zone capability such as temperature-controlled, control...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~38-~38: A determiner appears to be missing. Consider inserting it.
Context: ...enabled for each of the enabled zones. Master controller provides ability to change t...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~39-~39: You might be missing the article “the” here.
Context: ...bled zones. Master controller provides ability to change the AC Mode and Fan Speed bes...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~40-~40: You might be missing the article “the” here.
Context: ...ure set point. Zone controller provides ability to turn ON/OFF a zone. Depending on the...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~40-~40: You might be missing the article “the” here.
Context: ...availability of zone sensor/controller, option to change the set point temperature is ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

source/_dashboards/clock.markdown

[style] ~11-~11: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...he Clock card shows the current time in a variety of formats, sizes and time zones. <p clas...

(A_VARIETY_OF)


[grammar] ~80-~80: When ‘24-hour’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ock showing am/pm

A medium-sized, 24 hour clock using the London timezone with a ...

(HOUR_HYPHEN)


[grammar] ~95-~95: When ‘12-hour’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...long with a title

A medium-sized, 12 hour clock using the New York timezone with ...

(HOUR_HYPHEN)

source/_integrations/reolink.markdown

[uncategorized] ~773-~773: You might be missing the article “a” here.
Context: ...there are several factors that can have significant impact on battery life: - Make sure th...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[misspelling] ~775-~775: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...%}. The Preload camera stream will keep a active stream open, keeping the camera ...

(EN_A_VS_AN)


[typographical] ~777-~777: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...apshot will wake the battery camera for 10-30 seconds. When automations trigger very ...

(HYPHEN_TO_EN)


[uncategorized] ~777-~777: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...era for 10-30 seconds. When automations trigger very often, this can cause excessive ba...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

source/_integrations/snoo.markdown

[uncategorized] ~57-~57: Possible missing comma found.
Context: ... or off. - Config change - A config has changed such as the motion limiter. ## Sensors...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_posts/2025-03-27-motionblinds-joins-wwha.markdown

[grammar] ~15-~15: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...nds.com/)! And if you're wondering what type of products they provide, the clue really is in the...

(TYPE_OF_PLURAL)


[grammar] ~33-~33: The noun should probably be in the singular form.
Context: ...ng to give a seamless experience. Every Works with Home Assistant product is tested b...

(EVERY_EACH_SINGULAR)


[formatting] ~47-~47: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...e big fans of open standards like Matter, because they bring great benefits when it comes...

(COMMA_BEFORE_BECAUSE)

source/_integrations/nuki.markdown

[uncategorized] ~27-~27: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...n on the HTTP API and check the details in the screen. Please note that the API to...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)


[typographical] ~27-~27: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...lease note that the API token should be 6-20 characters long, even though the app al...

(HYPHEN_TO_EN)

source/_posts/2025-04-02-release-20254.markdown

[grammar] ~126-~126: Did you mean “unlock”?
Context: ...s the perfect time to start—it’s key to unlocking this new dashboard experience. To get s...

(IT_IS_JJ_TO_VBG)


[style] ~190-~190: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...h-to-Phrase, we wanted to make sure you are able to make the right choices for your use cas...

(BE_ABLE_TO)


[style] ~254-~254: Consider replacing ‘giving’ with a different word to let your writing stand out.
Context: ...when your morning commute gets delayed, giving you extra time to grab that coffee before h...

(GIVE_TIME_STYLE)


[style] ~266-~266: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...id happen, maybe a hardware failure, or maybe you are migrating to a new [Home Assist...

(REP_MAYBE)


[grammar] ~305-~305: In formal contexts, “These” is sufficient.
Context: ... integrations to help with findability. These ones are new: - [FrankEver], provided b...

(THESE_ONES)


[uncategorized] ~332-~332: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...andling. Awesome work there! - Not only SmartThings is receiving love, [@Diegorro98] has been ...

(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)


[style] ~410-~410: Consider an alternative to strengthen your wording.
Context: ...ther noteworthy changes There are many more improvements in this release; here are some of the o...

(IMPROVEMENTS_REFINEMENTS)


[uncategorized] ~462-~462: Loose punctuation mark.
Context: ... common elements between lists. - [md5, sha1, sha256, sha512](/docs/confi...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~465-~465: If ‘type’ is a classification term, ‘a’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...ing/#determining-types) – Determine the type of a variable or object for debugging. - [`u...

(KIND_OF_A)


[style] ~587-~587: Using many exclamation marks might seem excessive (in this case: 53 exclamation marks for a text that’s 23035 characters long)
Context: ...-assistant/core/issues), to get it fixed! Or, check our help page for gu...

(EN_EXCESSIVE_EXCLAMATION)


[style] ~596-~596: Consider shortening or rephrasing this to strengthen your wording.
Context: ...atible changes We do our best to avoid making changes to existing functionality that might unexp...

(MAKE_CHANGES)


[style] ~670-~670: This phrase might be wordy. Consider a simpler alternative.
Context: ...igured your Reolink password years ago, it is possible it is longer than 31 characters. In that case...

(IT_IS_POSSIBLE_IT_IS)


[formatting] ~671-~671: Consider inserting a comma after an introductory phrase for better readability.
Context: ...ssible it is longer than 31 characters. In that case you will get a reauthentication flow as...

(IN_THAT_CASE_COMMA)

source/_integrations/template.markdown

[style] ~192-~192: In American English, abbreviations like “etc.” require a period.
Context: ...nd (Open/Closed, Detected/Clear etc) depends on the sensor's device_class v...

(ETC_PERIOD)


[grammar] ~308-~308: Did you mean “too false to”?
Context: ...sable SSL certificate verification. Set to false to use an http-only URL, or you have a sel...

(TOO_ADJECTIVE_TO)


[uncategorized] ~583-~583: Possible missing comma found.
Context: ...provides a more responsive UI experience but may not reflect the actual state if the...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~1113-~1113: In American English, abbreviations like “etc.” require a period.
Context: ...nd (Open/Closed, Detected/Clear etc) depends on the sensor's device_class v...

(ETC_PERIOD)

🪛 markdownlint-cli2 (0.17.2)
source/_integrations/actronair.markdown

31-31: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

source/_dashboards/clock.markdown

22-22: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


51-51: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


109-109: Files should end with a single newline character
null

(MD047, single-trailing-newline)

source/_integrations/nuki.markdown

22-22: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


23-23: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


77-77: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


88-88: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

source/_integrations/mcp_server.markdown

141-141: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


155-155: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

source/_integrations/music_assistant.markdown

34-34: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

source/_posts/2025-04-02-release-20254.markdown

155-155: Trailing punctuation in heading
Punctuation: '!'

(MD026, no-trailing-punctuation)


256-256: Link and image reference definitions should be needed
Duplicate link or image reference definition: "pve"

(MD053, link-image-reference-definitions)


396-396: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@farmio"

(MD053, link-image-reference-definitions)


398-398: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Lash-L"

(MD053, link-image-reference-definitions)


399-399: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@tr4nt0r"

(MD053, link-image-reference-definitions)


400-400: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@zweckj"

(MD053, link-image-reference-definitions)


494-494: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@karwosts"

(MD053, link-image-reference-definitions)


530-530: Link and image reference definitions should be needed
Unused link or image reference definition: "#141505"

(MD053, link-image-reference-definitions)


555-555: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Diegorro98"

(MD053, link-image-reference-definitions)


558-558: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Petro31"

(MD053, link-image-reference-definitions)


559-559: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@bdraco"

(MD053, link-image-reference-definitions)


562-562: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@chemelli74"

(MD053, link-image-reference-definitions)


567-567: Link and image reference definitions should be needed
Unused link or image reference definition: "@frenck"

(MD053, link-image-reference-definitions)


569-569: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@joostlek"

(MD053, link-image-reference-definitions)


572-572: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@piitaya"

(MD053, link-image-reference-definitions)


573-573: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@puddly"

(MD053, link-image-reference-definitions)


575-575: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@zweckj"

(MD053, link-image-reference-definitions)


578-578: Trailing punctuation in heading
Punctuation: '!'

(MD026, no-trailing-punctuation)


630-630: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@arturpragacz"

(MD053, link-image-reference-definitions)


661-661: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@emontnemery"

(MD053, link-image-reference-definitions)


677-677: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@starkillerOG"

(MD053, link-image-reference-definitions)

🪛 RuboCop (1.73)
Gemfile

[convention] 14-14: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem rubocop should appear before sass-embedded.

(Bundler/OrderedGems)


[convention] 27-27: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem nokogiri should appear before sinatra.

(Bundler/OrderedGems)

🔇 Additional comments (113)
source/_redirects (1)

630-630: The addition of the redirect for the SunWEG integration is properly formatted.

The new entry correctly follows the established pattern for removed integrations, redirecting users from /integrations/sunweg to the removed integration information page with a 301 (permanent) redirect status code.

source/_integrations/igloohome.markdown (1)

12-14: Validate the New Platform Addition for the Integration

The addition of the - lock entry in the ha_platforms section correctly indicates that the igloohome integration now supports lock devices. This update aligns with the features described later (e.g., Lock/Unlock/Open locks for Bridge owners) and helps clarify the integration’s device support.

source/_integrations/homeassistant_yellow.markdown (2)

7-7: Metadata Update: Added "Update" Category
The addition of - Update under the ha_category field further refines the categorization and signals the integration’s updated status.


12-13: Metadata Enhancement: Introducing the ha_platforms Field
The new ha_platforms field with the value - update correctly extends the metadata, aligning it with recent documentation standardization.

source/_integrations/homeassistant_sky_connect.markdown (2)

7-7: Metadata Update: Added "Update" Category
Adding - Update to the ha_category field enriches the classification and makes the integration’s metadata more descriptive.


13-14: Enhanced Metadata: New ha_platforms Field
The introduction of the ha_platforms field with the - update entry is consistent with updated metadata practices across integrations.

source/_integrations/homeassistant_hardware.markdown (2)

7-7: Metadata Update: Added "Update" Category
The update adding - Update to the ha_category field helps in the improved categorization of the integration.


12-13: New Metadata Field: ha_platforms
The addition of the ha_platforms field with the value - update standardizes the metadata across integrations, ensuring consistency.

source/_dashboards/clock.markdown (6)

13-16: Image Block Verification
The image block (lines 13–16) is clear with proper alt text and caption. Ensure that the referenced image file (clock_card_large.png) is correct and displays as intended in the documentation.


18-18: Include Directive Check
The include statement on line 18 ({% include dashboard/edit_dashboard.md %}) is a useful way to incorporate shared content. Please verify that the referenced file exists and that its contents render correctly within this context.


25-36: Card Settings Configuration Block
The configuration block under "## Card settings" is clear and informative, with well-described options. No changes are necessary here.


38-45: Basic Example Review
The basic example provided (lines 40–45) is succinct and the YAML snippet is correctly formatted.


52-60: Tablet Dashboard Example
The example for a larger clock card for tablet dashboards is clear and the YAML configuration is appropriately detailed. The accompanying image block is also well implemented.


66-74: Desktop Dashboard Example
The medium-sized clock card example for desktop dashboards is straightforward and well formatted. No issues detected in this section.

source/_integrations/home_connect.markdown (1)

30-30: Clarify Integration Documentation Alignment:
The addition of the time platform here extends the supported platforms for the Home Connect integration. Please verify that this update is intentional within the context of this file. Notably, the PR objectives mention documentation for the ActronAir integration—confirm that this change isn’t mistakenly applied here. If the intent is to update multiple integrations, ensure that the ActronAir documentation is also updated accordingly.

source/_integrations/hikvision.markdown (1)

66-66: New Camera Model Added: The addition of model DS-2CD2686G2 extends the list of confirmed supported devices. Please ensure that this model has been fully validated for compatibility with the platform.

source/_integrations/airgradient.markdown (1)

75-75: Improved Formatting Through Newline Addition: Inserting a newline after the include statement ({% include integrations/remove_device_service.md %}) enhances readability and ensures that the documentation block is cleanly separated from preceding content.

package.json (1)

18-18: Dependency Version Bump for textlint: The textlint dependency has been updated from ^14.5.0 to ^14.6.0. This minor upgrade may incorporate bug fixes or minor improvements. It is advisable to verify that the new version does not introduce unexpected behavior in your linting workflows.

source/_integrations/fronius.markdown (1)

18-18: Quality Scale Enhancement: Changing ha_quality_scale to platinum signals an upgrade in the integration’s quality ranking. Please confirm that this update aligns with internal branding guidelines and that any related documentation or configuration references are updated accordingly.

source/_integrations/azure_storage.markdown (1)

13-13: Quality Scale Update

The change from a lower quality scale (presumably "bronze") to platinum clearly indicates an upgrade in the reliability or perceived quality of the Azure Storage integration. Please ensure that any related backend or categorization changes are documented elsewhere if applicable.

source/_integrations/vodafone_station.markdown (1)

21-21: Quality Scale Upgrade

The update to ha_quality_scale: platinum reflects an elevation in the integration’s quality classification for Vodafone Station. This change is coherent with similar updates in other integrations.

source/_integrations/iron_os.markdown (1)

28-28: New Quality Scale Attribute

Adding the ha_quality_scale: platinum attribute helps standardize the quality classification across integrations. This provides a clear signal to users regarding the enhanced performance or reliability of the IronOS integration.

source/_integrations/sensibo.markdown (1)

34-34: Enhanced Quality Indicator

The inclusion of ha_quality_scale: platinum in the Sensibo integration’s metadata aligns it with the broader initiative to upgrade integration quality labels. This is a straightforward and useful enhancement.

source/voice_control/voice_remote_cloud_assistant.markdown (1)

34-34: Improved Troubleshooting Link
The updated Troubleshooting section now directly links to the default configuration documentation. This enhancement should help users quickly access the relevant information. Please verify that the linked URL (/integrations/default_config) is accurate and reflects the intended target.

source/_integrations/incomfort.markdown (1)

23-23: Added Quality Scale Metadata
The inclusion of ha_quality_scale: platinum enhances the integration's metadata by clearly defining its quality classification. Ensure this quality scale aligns with our overall documentation standards for integration ratings.

source/_integrations/squeezebox.markdown (1)

16-19: New Platform Support in Integration
The addition of button to the ha_platforms list expands the functionality of the Squeezebox integration. This improvement supports additional interactivity and should be accompanied by corresponding usage details in related documentation.

source/_docs/configuration/state_object.markdown (1)

35-36: Clarified Screenshot Source
Updating the description to specify that the screenshot is from the Developer Tools States page improves clarity and context for users. This change aligns well with our aim of enhancing documentation precision.

source/_integrations/opower.markdown (1)

56-59: Grammar Correction for Clarity
The revision from “requires” to “require” in the utility authentication section corrects the grammatical error and improves readability. This small but important fix ensures the text is clear and professional.

_config.yml (1)

110-113: Release Version Update Verification
The updates to the release details—updating current_minor_version to 4, resetting current_patch_version to 1, and adjusting the date_released—are correctly reflected. Please verify that these version changes align with your overall release strategy and that any related changelogs or release notes are updated accordingly.

source/_integrations/gree.markdown (1)

63-66: Enhanced Switch Feature Formatting
Formatting the list items with bolded labels (e.g., Panel light) followed by a colon improves readability and clearly distinguishes the switch names from their descriptions. This change enhances user comprehension without altering functionality.

source/_integrations/airthings.markdown (1)

24-25: Clarification on SmartLink Hub Functionality
The newly added paragraph explains that while the integration functions without an Airthings SmartLink hub, using one provides live sensor updates, and without it, users must rely on the mobile app. This is a valuable clarification that should help users better understand the operational trade-offs.

source/integrations/index.html (1)

731-734: Clear Brand Filter on Category Selection

When the category filter (data-id "cat") is selected, the code now removes any existing brand filter by calling removeQueryFromURL('brands'). This helps avoid conflicting filter states and improves the user experience. Please double-check that this change behaves as intended in all filtering scenarios.

source/_integrations/webdav.markdown (1)

44-44: New Seafile Entry Addition

A Seafile entry has been added to the "Common WebDAV URLs" section, offering users the correct URL format and noting the port requirement when behind a reverse proxy. Ensure that this information is consistent with any further documentation or FAQs regarding WebDAV usage.

source/_integrations/watergate.markdown (1)

14-17: Review Platform List Consistency

The updated “ha_platforms” section currently lists:

  • event
  • sensor
  • valve

According to the PR summary, the integration should support only “sensor” and “valve” (with “event” removed). Please confirm whether the "event" entry is intended to remain or if it should be removed to match the intended update.

source/_integrations/konnected.markdown (1)

107-109: Standardized API Host URL Terminology

The descriptions now clearly distinguish between the checkbox option (which enables overriding the default internal URL) and the "Custom API host URL" field. This improves clarity and should help users understand when and how a custom URL applies. Please verify that the configuration logic on the backend is updated accordingly.

source/_integrations/file.markdown (2)

57-59: Update File Path and Value Template for JSON Extraction.

The updated file path (/config/sensor.json) and the revised value template using {% raw %} tags are clear and conform to the updated documentation standards. This change improves clarity by removing the previously hardcoded path.


73-76: Update File Path and Value Template for CSV Extraction.

The new file path /config/sensor.csv along with the simplified value template for extracting the temperature (using {{ value.split(",")[1] }}) makes the documentation more consistent with other integrations. The removal of extra quotes enhances usability.

source/_integrations/comelit.markdown (2)

33-34: Clarify Integration Capabilities.

The added sentence at line 33 describing that the integration provides information on connected devices and enables control of the alarm system enhances the introductory context. This extra detail helps set user expectations about the integration’s functionalities.


72-80: Introduce Troubleshooting Section.

The new Troubleshooting block is a valuable addition. It clearly outlines the symptom ("Cannot connect"), provides a description, and offers a straightforward resolution by advising the user to verify the device’s IP address and port. This should reduce support queries regarding connection issues.

source/_docs/z-wave/controllers.markdown (1)

96-98: Clarify Compatibility Note for Aeotec Z-Stick.

The updated note explains the potential Linux kernel compatibility issues with the Aeotec Z-Stick (and its variants) and recommends using a USB hub as a workaround. This is clear and useful for troubleshooting.

source/_integrations/google_generative_ai_conversation.markdown (2)

9-11: New Code Owner Entry Added
The inclusion of @ivanlh in the ha_codeowners section ensures later changes will notify the appropriate team members. Please confirm that this change aligns with your internal ownership processes.


73-75: New Configuration Option: "Enable Google Search tool"
The documentation for the new configuration option is well written: it clearly describes that enabling this option allows the model to query Google Search, under the condition that the AI does not interact with exposed entities. Verify that the linked URL remains current and that this option is properly integrated with the overall configuration flow.

source/_integrations/snoo.markdown (2)

4-9: Addition of 'Sensor' Category in Integration Metadata
The update in the ha_category section by adding - Sensor broadens the classification of the Snoo integration. This enhancement helps users quickly identify the capabilities available.


17-21: Inclusion of 'sensor' Platform in Supported Platforms
The revised ha_platforms now includes sensor in addition to the existing platforms. This update aligns the documentation with the integration’s expanded functionality.

source/_integrations/lg_thinq.markdown (1)

12-23: Addition of 'water_heater' Platform
The addition of the water_heater platform successfully extends device support for the LG ThinQ integration. Verify that any related sections or examples elsewhere in the documentation reflect this update if necessary.

source/_integrations/pglab.markdown (2)

4-7: Updated Categories to Include "Switch"
The update in the ha_category section to add - Switch effectively broadens the integration’s classification and signals additional functionality. This change is consistent with the overall documentation enhancements.


14-18: Reinstatement of the "switch" Platform
The inclusion of - switch in the ha_platforms section clearly reflects the integration’s support for switch entities. This update aligns with similar changes in related documentation files.

source/_integrations/worxlandroid.markdown (1)

25-29: YAML Configuration: List Structure Update
The updated YAML snippet now uses a list (with the leading “–”) for the sensor configuration. This change aligns the configuration with Home Assistant’s standard for multiple sensor entries and makes it easier to add additional entries in the future.

source/_integrations/assist_satellite.markdown (2)

47-48: Enhanced Audio Chime Documentation for Announcement Action
The added description clearly explains that a chime is automatically played before an announcement and provides users with the option to override or disable it using preannounce_media_id or preannounce: false. This clarification will help users customize the behavior to their needs.


94-95: Enhanced Audio Chime Documentation for Start Conversation Action
The new documentation for the assist_satellite.start_conversation action now explains the preannouncement chime behavior and how to override or disable it. This improvement brings consistency with the announce action and enhances overall clarity.

source/_integrations/nut.markdown (2)

4-7: Category Enhancement: Inclusion of “System monitor”
The addition of “System monitor” to the list under ha_category better reflects the integration’s monitoring capabilities. This extra categorization is appropriate given the nature of the NUT integration.


60-63: Optional Credential Descriptions Updated
Updating the descriptions for the Username and Password fields to state that they are optional is a welcome change for clarity. This helps users understand that credentials are needed only when authentication is required by the NUT server.

source/_integrations/roborock.markdown (1)

32-34: Updated Integration Metadata and Options
The addition of ha_quality_scale: silver and ha_dhcp: true is clear and consistent with the recent trend to enrich integration metadata. The removal of the “scene” platform (as noted in the summary) simplifies the list of supported platforms. It would be beneficial to ensure that any users previously relying on the “scene” capability are well informed through release notes or changelogs.

source/_integrations/eve.markdown (2)

1-16: New Integration Documentation for Eve
The metadata block for the new Eve integration is thorough. It correctly specifies key attributes such as the release version, IoT class, integration type, platforms, and standards. This adheres to Home Assistant’s documentation standards and provides a solid base for users.


18-38: Clear Introduction and Supported Devices List
The introductory content and the list of supported Eve devices are clear and user-friendly. Including direct links to the product pages assists users in understanding the capabilities and available hardware. This makes the integration documentation comprehensive and easy to navigate.

source/_posts/2025-03-27-motionblinds-joins-wwha.markdown (6)

1-11: Solid Front Matter Metadata

The YAML header neatly defines all required metadata such as title, description, date, author, categories, and the OG image. This provides good context and adheres to documentation standards.


13-17: Engaging Introduction and Visual Element

The introductory image and text create an engaging opening. The announcement clearly outlines the partnership and its significance to the Works with Home Assistant program.

🧰 Tools
🪛 LanguageTool

[grammar] ~15-~15: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...nds.com/)! And if you're wondering what type of products they provide, the clue really is in the...

(TYPE_OF_PLURAL)


15-17: Compelling Partnership Announcement

The opening paragraphs clearly communicate Motionblinds’ milestone as the first partner to certify smart window blinds. The narrative is engaging and sets the stage well for the detailed sections that follow.

🧰 Tools
🪛 LanguageTool

[grammar] ~15-~15: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...nds.com/)! And if you're wondering what type of products they provide, the clue really is in the...

(TYPE_OF_PLURAL)


19-24: Clear Sectioning and Narrative Flow

The sections titled "Shades of innovation" and "A window to the future" set a coherent narrative by combining the brand's heritage with its innovative approach. Ensure heading formatting remains consistent across similar posts.


27-34: Detailed Features and Certification Insights

The inclusion of the integrations configuration snippet and the supported functionality details bolster the technical credibility of the post. It might be worthwhile to periodically verify that external links (e.g., to the integrations page) remain current.

🧰 Tools
🪛 LanguageTool

[grammar] ~33-~33: The noun should probably be in the singular form.
Context: ...ng to give a seamless experience. Every Works with Home Assistant product is tested b...

(EVERY_EACH_SINGULAR)


35-52: Comprehensive Device Certification and Closing Thoughts

The certification list is well organized, and the closing remarks effectively summarize the benefits of choosing certified devices. Overall, the post offers a thorough and engaging overview of the Motionblinds addition.

🧰 Tools
🪛 LanguageTool

[formatting] ~47-~47: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...e big fans of open standards like Matter, because they bring great benefits when it comes...

(COMMA_BEFORE_BECAUSE)

source/_integrations/actronair.markdown (1)

1-11: Well-Structured Front Matter for ActronAir

The YAML front matter clearly defines all integration metadata including title, description, categories, release version, IoT class, and supported platforms. This setup provides a strong foundation for the documentation.

source/_integrations/frankever.markdown (2)

2-22: Updated Front Matter for FrankEver Integration

The revamped YAML header now accurately reflects the integration’s details—including a numeric release version, domain, virtual integration type, and supporting integration metadata. This update improves the document’s clarity and aligns it with current documentation standards.


45-46: Clarification on IoT Class and Zeroconf Settings

The inclusion of ha_iot_class: Local Push and ha_zeroconf: true provides clear integration behavior metadata. These settings help users understand the local push capabilities and service discovery features for FrankEver.

source/more-info/backup-emergency-kit.markdown (2)

11-12: Enhanced Explanation of Backup Encryption
The revised paragraph clearly explains that backups stored on Home Assistant Cloud are always encrypted using AES-128 and distinguishes them from backups on other locations. This extra detail improves clarity for users concerned about encryption.


43-53: Clear Distinction for Lost Encryption Key Retrieval Options
Splitting the instructions into two distinct options—one for unchanged keys and one for changed keys—greatly improves the guidance. The step‐by‐step instructions are now more accessible and easier to follow.

source/_integrations/music_assistant.markdown (2)

26-34: Comprehensive Media Content ID Guidelines
The newly added examples for the media_content_id payload (for both play_media and browse_media) offer precise examples (e.g. track names, combined artist and title, and streaming URIs). This clear documentation is very helpful for users configuring the integration.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

34-34: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


198-205: Streamlined Integration Removal Instructions
The section on removing the integration is concise and aligns well with standard procedures. It succinctly instructs users on what to do after the integration is deleted, reinforcing consistency across documentation.

source/_integrations/template.markdown (7)

16-18: Updated Codeowners for the Template Integration
Adding @Petro31 to the ha_codeowners list ensures that the documentation ownership is current and that the appropriate contributors are included.


57-60: Clarification Regarding Legacy Types
The added note and links for legacy types for Light and Switch integrations help users quickly locate legacy documentation if needed. This additional guidance improves the overall navigability of the document.


262-267: Enhanced Optimistic Mode Explanation for Numbers
The updated description and default setting for the optimistic flag in the number configuration clearly convey how state updates are handled, improving understandability for those configuring interactive number entities.


307-311: Improved SSL Verification Field Description
The revised explanation for the verify_ssl field clarifies its use—especially for environments with self-signed certificates or for http-only URLs—which is helpful for users configuring image integrations securely.

🧰 Tools
🪛 LanguageTool

[grammar] ~308-~308: Did you mean “too false to”?
Context: ...sable SSL certificate verification. Set to false to use an http-only URL, or you have a sel...

(TOO_ADJECTIVE_TO)


414-430: Clear and Consistent Switch Configuration
The switch entity configuration now clearly defines the state template and the required actions for turning the switch on/off. This helps ensure predictable behavior and a more uniform configuration style across entity types.


516-520: Standardized Fields for Common Entity Configurations
The added configuration block for shared fields (applicable to sensors, binary sensors, buttons, images, lights, numbers, selects, switches, and weather entities) promotes consistent definitions of properties such as name, unique ID, icon, and availability. This standardization will facilitate easier maintenance and a more predictable user experience.


577-592: Detailed Overview of Optimistic Mode Behavior
The new “Optimistic mode” section provides a thorough explanation of how state updates behave both with and without optimistic mode. The clear breakdown—including scenarios and the trade-offs between immediacy and accuracy—enhances the usability of this configuration option for power users.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~583-~583: Possible missing comma found.
Context: ...provides a more responsive UI experience but may not reflect the actual state if the...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_posts/2025-04-02-release-20254.markdown (1)

1-564: Comprehensive and Engaging Release Notes for Home Assistant 2025.4
This new release note file is detailed and well formatted. It provides a clear and engaging overview of new features and improvements—including the experimental Areas dashboard, enhanced voice assistant capabilities, new template functions, and energy management enhancements—that will help users understand what to expect with this release.

🧰 Tools
🪛 LanguageTool

[grammar] ~126-~126: Did you mean “unlock”?
Context: ...s the perfect time to start—it’s key to unlocking this new dashboard experience. To get s...

(IT_IS_JJ_TO_VBG)


[style] ~190-~190: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...h-to-Phrase, we wanted to make sure you are able to make the right choices for your use cas...

(BE_ABLE_TO)


[style] ~254-~254: Consider replacing ‘giving’ with a different word to let your writing stand out.
Context: ...when your morning commute gets delayed, giving you extra time to grab that coffee before h...

(GIVE_TIME_STYLE)


[style] ~266-~266: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...id happen, maybe a hardware failure, or maybe you are migrating to a new [Home Assist...

(REP_MAYBE)


[grammar] ~305-~305: In formal contexts, “These” is sufficient.
Context: ... integrations to help with findability. These ones are new: - [FrankEver], provided b...

(THESE_ONES)


[uncategorized] ~332-~332: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...andling. Awesome work there! - Not only SmartThings is receiving love, [@Diegorro98] has been ...

(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)


[style] ~410-~410: Consider an alternative to strengthen your wording.
Context: ...ther noteworthy changes There are many more improvements in this release; here are some of the o...

(IMPROVEMENTS_REFINEMENTS)


[uncategorized] ~462-~462: Loose punctuation mark.
Context: ... common elements between lists. - [md5, sha1, sha256, sha512](/docs/confi...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~465-~465: If ‘type’ is a classification term, ‘a’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...ing/#determining-types) – Determine the type of a variable or object for debugging. - [`u...

(KIND_OF_A)

🪛 markdownlint-cli2 (0.17.2)

155-155: Trailing punctuation in heading
Punctuation: '!'

(MD026, no-trailing-punctuation)


256-256: Link and image reference definitions should be needed
Duplicate link or image reference definition: "pve"

(MD053, link-image-reference-definitions)


396-396: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@farmio"

(MD053, link-image-reference-definitions)


398-398: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Lash-L"

(MD053, link-image-reference-definitions)


399-399: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@tr4nt0r"

(MD053, link-image-reference-definitions)


400-400: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@zweckj"

(MD053, link-image-reference-definitions)


494-494: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@karwosts"

(MD053, link-image-reference-definitions)


530-530: Link and image reference definitions should be needed
Unused link or image reference definition: "#141505"

(MD053, link-image-reference-definitions)


555-555: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Diegorro98"

(MD053, link-image-reference-definitions)


558-558: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@Petro31"

(MD053, link-image-reference-definitions)


559-559: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@bdraco"

(MD053, link-image-reference-definitions)


562-562: Link and image reference definitions should be needed
Duplicate link or image reference definition: "@chemelli74"

(MD053, link-image-reference-definitions)

source/_includes/custom/news.html (1)

5-11: New Promotional Link for the State of the Open Home 2025 Event
The newly added anchor element featuring a background image, proper inline styling, and an accessible aria-label creates an attractive promotional block for the “State of the Open Home 2025” event. This addition enhances visibility and user engagement on the front page.

source/_includes/common-tasks/backups.md (3)

129-130: Enhanced Download Steps:
The updated instructions clearly state that users should "Select the backup from the list" and then use the three-dot menu to "Download from this location." This reorganization improves clarity in the download workflow.


133-135: Clear Alternative Download Option:
The additional step for downloading from Home Assistant Cloud—via selecting the download button under “Stored files”—provides users with a straightforward alternate method.


142-154: Improved Backup Deletion Workflow:
The revised deletion steps now break down the process into clear, sequential instructions, covering deletion of a single backup, multiple backups, and handling of backups stored on Home Assistant Cloud (with two distinct options). This enhancement will reduce user confusion when managing obsolete backups.

source/_integrations/bosch_alarm.markdown (2)

1-16: Metadata and Front Matter Verification:
The YAML front matter provides well-defined metadata (including title, description, category, release version, and code owners). Please double-check that the release version (2025.4) aligns with your project roadmap.


18-66: Comprehensive Bosch Alarm Documentation:
The documentation is thorough—it clearly outlines supported devices, provided entities, and authentication details (including a detailed table for device codes). Consider, as a future enhancement, linking directly to official Bosch product pages for users who may want more detailed hardware information.

source/_integrations/nuki.markdown (2)

75-78: Local Integration Alternatives Section:
The addition of the “Local integration alternatives” section is a valuable enhancement. It succinctly informs users of the various integration methods available (e.g., HomeKit, MQTT, Matter), making the documentation more comprehensive.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

77-77: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


79-91: Additional Integration Options Details:
The separate subsections for HomeKit, MQTT, and Matter support are well structured and provide useful links and descriptions. This detailed breakdown helps users quickly locate the integration method that best fits their setup.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

88-88: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

source/_integrations/linkedgo.markdown (2)

1-17: Updated Front Matter for LinkedGo:
The revised metadata (with the updated description, numeric ha_release, and the addition of ha_domain, ha_integration_type, ha_supporting_domain, and ha_supporting_integration) is clear and comprehensive. This structured approach aligns well with documentation standards and improves metadata consistency across integrations.


23-47: Comprehensive Integration Details:
The list of code owners and supported platforms is well organized and complete. These details will help ensure that any future modifications can be promptly reviewed by the appropriate parties.

source/_integrations/ogemray.markdown (2)

1-17: Updated Front Matter for Ogemray:
The front matter now includes a refined description and updated metadata—such as a numeric ha_release and the new attributes (ha_domain, ha_integration_type, ha_supporting_domain, and ha_supporting_integration)—which mirrors the improvements seen in similar integration documents. This update promotes clarity and uniformity.


23-47: Clear Documentation of Supported Platforms and Attributes:
The documentation reinstates key attributes like ha_iot_class and ha_zeroconf, and the supported platforms are clearly listed. This comprehensive detailing ensures that users have a complete understanding of the integration’s scope and capabilities.

source/_integrations/mcp_server.markdown (3)

62-65: Updated authentication standards information

The revised text now correctly reflects that authorization standards for the Model Context Protocol have been recently defined but are still evolving, which is important information for users to understand the current state of the protocol.


69-80: Well-documented OAuth implementation

This new section clearly explains how OAuth is supported in the Model Context Protocol and specifically how Home Assistant's Authentication API implements it. The explanation of how Client IDs work with IndieAuth and the fact that Client Secrets aren't used is valuable information for developers.


82-85: Added long-lived token authentication option

Good addition of an alternative authentication method for clients that don't support OAuth, with a clear reference to the developer documentation.

CODEOWNERS (3)

12-12: Added ownership for integration documentation template

Good addition that assigns the core team as owners of the template that will be used for all integration documentation.


63-63: Added code ownership for multiple integrations

Properly assigned code owners for several integrations, ensuring that the appropriate individuals are notified for reviews when modifications occur.

Also applies to: 297-297, 494-494, 618-618, 690-690, 728-728, 819-819, 891-891


335-335: Added co-owner to google_generative_ai_conversation integration

Expanded ownership of the Google Generative AI Conversation integration to include an additional contributor (@IvanLH).

source/_integrations/apollo_automation.markdown (4)

3-4: Updated description and release version

The description has been simplified to focus on Apollo Automation devices, and the release version has been updated to 0.85, indicating this is a more established integration.


5-10: Revised categorization and integration type

The integration has been recategorized as Alarm, DIY, and Update, and its type changed to "virtual", providing better classification of its functionality.


15-20: Added code owners and config flow support

Properly assigned code owners (@OttoWinter, @jesserockz, @kbx81, @bdraco) and indicated that the integration supports configuration via the UI with ha_config_flow: true.


21-47: Comprehensive platform support and connectivity options

Significantly expanded the list of supported platforms, indicating the integration's broad functionality. Added DHCP and Zeroconf discovery support, which will improve the user experience by allowing automatic discovery of devices.

source/_integrations/ohme.markdown (1)

15-15: Added diagnostics platform support

Added the diagnostics platform to the integration, which will enhance troubleshooting capabilities by allowing users and developers to access diagnostic information about the device.

source/_integrations/onedrive.markdown (1)

17-19: Addition of Diagnostics Platform
The new - diagnostics entry in the ha_platforms list effectively expands the documented capabilities of the OneDrive integration. This change aligns with similar updates in other integrations and appears consistent with the Home Assistant documentation standards.

source/_integrations/qnap_qsw.markdown (1)

88-95: Addition of Removal Section
The new "## Removing the integration" section, along with the explanatory text and the inclusion directive ({% include integrations/remove_device_service.md %}), standardizes the removal instructions for the QNAP QSW integration. This mirrors the approach taken in similar integrations and improves consistency in the documentation.

source/_integrations/airzone.markdown (1)

109-115: Standardized Removal Instructions Added
The added "## Removing the integration" section clearly informs users that no extra steps are required for removing the integration. The inclusion of {% include integrations/remove_device_service.md %} ensures that these instructions remain consistent across different integrations.

source/_integrations/smartthings.markdown (3)

27-33: Addition of Diagnostics Platform to SmartThings
The inclusion of - diagnostics in the ha_platforms list expands the documented functionality and keeps this integration in line with recent updates seen elsewhere.


47-49: New Codeowners and Quality Scale Metadata
Adding the ha_codeowners field with @joostlek and the ha_quality_scale set to bronze enhances maintainability and clarity regarding documentation ownership and integration quality.


286-289: Detailed Removal Instructions Provided
The removal section now includes the standard deletion directive ({% include integrations/remove_device_service.md %}) plus an explicit step for the SmartThings app. This added detail helps ensure users know exactly how to complete the removal process.

source/_integrations/aemet.markdown (1)

76-82: Addition of Standard Removal Section
The new "## Removing the integration" section clearly states that the integration follows standard removal procedures, and the inclusion of {% include integrations/remove_device_service.md %} promotes consistency across the documentation suite.

source/_integrations/airzone_cloud.markdown (1)

120-125: Solid "Removing the integration" Section Addition
The new "Removing the integration" section is clear and consistent with our standard documentation practices. Please verify that the referenced file ({% include integrations/remove_device_service.md %}) exists and follows the updated Home Assistant guidelines for integration removal instructions.

source/_integrations/remote_calendar.markdown (4)

2-2: Title Capitalization Update
Changing the title to "Remote Calendar" improves consistency across integration documentation.


11-12: Addition of Diagnostics Platform
Incorporating "diagnostics" into the ha_platforms list enhances functionality and aligns with recent updates in similar integrations.


16-16: Quality Scale Metadata Addition
Adding ha_quality_scale: silver provides useful metadata for quality assessment. Please ensure this value adheres to our internal criteria for integration quality ratings.


58-62: Standardized Removal Procedure
The "Removing the integration" section is concise and follows our standard removal process. Confirm that the included file covers all necessary details for users.

source/_integrations/backup.markdown (2)

13-15: Enhancement of Integration Platforms
Adding "diagnostics" to the ha_platforms list is a beneficial update that could offer better insights into system status. This change is consistent with similar integrations’ metadata updates.


15-16: Integration Type Revision
Updating ha_integration_type to "service" clarifies the integration’s operational classification. Please verify that this change aligns with our current integration categorization guidelines.

@JagadishDhanamjayam JagadishDhanamjayam changed the base branch from next to current April 8, 2025 16:55
@home-assistant home-assistant bot removed the next This PR goes into the next branch label Apr 8, 2025
@home-assistant home-assistant bot added current This PR goes into the current branch needs-rebase The PR has been branched of the wrong base branch or targets an incorrect target branch labels Apr 8, 2025
@home-assistant
Copy link

home-assistant bot commented Apr 8, 2025

It seems that this PR is targeted against an incorrect branch since it has a parent PR on one of our codebases. Documentation that needs to be updated for an upcoming release should target the next branch. Please change the target branch of this PR to next and rebase if needed.

@JagadishDhanamjayam JagadishDhanamjayam changed the base branch from current to next April 8, 2025 16:56
@home-assistant home-assistant bot removed current This PR goes into the current branch needs-rebase The PR has been branched of the wrong base branch or targets an incorrect target branch labels Apr 8, 2025
@home-assistant home-assistant bot added the next This PR goes into the next branch label Apr 8, 2025
@emontnemery
Copy link
Contributor

There are a lot of irrelevant changes. Please create a new PR, and this time make sure that:

  • Your feature branch is based on the next branch
  • When opening the PR, target the next branch

@home-assistant home-assistant bot removed the in-progress This PR/Issue is currently being worked on label Apr 10, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in Documentation PRs Apr 10, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
has-parent This PR has a parent PR in a other repo next This PR goes into the next branch
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet