Skip to content

Document preannounce/preannounce_media_id #38294

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

Merged
merged 1 commit into from
Mar 31, 2025

Conversation

synesthesiam
Copy link
Contributor

@synesthesiam synesthesiam commented Mar 31, 2025

Proposed change

Documents the preannounce boolean and preannounce_media_id field for Assist satellite announce and start_conversation actions.

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

    • Introduced several new integrations and expanded functionalities for enhanced control of smart appliances, energy devices, and home automation sensors.
    • Added interactive actions and additional configuration options for task management, audio cues, and climate controls.
  • Documentation

    • Updated guides with expanded examples and clearer setup instructions across many integrations.
    • Refined configuration details and updated redirects to ensure users accessing legacy or removed integrations are directed to current, relevant information.

@home-assistant home-assistant bot added current This PR goes into the current branch has-parent This PR has a parent PR in a other repo in-progress This PR/Issue is currently being worked on needs-rebase The PR has been branched of the wrong base branch or targets an incorrect target branch labels Mar 31, 2025
@home-assistant
Copy link

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.

@synesthesiam synesthesiam changed the base branch from current to next March 31, 2025 15:15
@home-assistant home-assistant bot removed needs-rebase The PR has been branched of the wrong base branch or targets an incorrect target branch current This PR goes into the current branch labels Mar 31, 2025
Copy link

netlify bot commented Mar 31, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit c2cd7d9
🔍 Latest deploy log https://app.netlify.com/sites/home-assistant-docs/deploys/67eab17141ca9c00083a919e
😎 Deploy Preview https://deploy-preview-38294--home-assistant-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@home-assistant home-assistant bot added the next This PR goes into the next branch label Mar 31, 2025
Copy link
Contributor

coderabbitai bot commented Mar 31, 2025

📝 Walkthrough

Walkthrough

A comprehensive update was made across the documentation. Multiple dashboard and integration files were added, updated, or removed. New configuration options, parameters, sensors, actions, and supported device types have been introduced across dashboards, templating, selectors, and integrations. In addition, outdated documentation was removed and redirect rules were updated.

Changes

File(s) Change Summary
CODEOWNERS, _redirects Added a new owner entry for motionblinds_matter.markdown, removed the owner for sunweg.markdown, added a new redirect for /integrations/sunweg, and updated the redirect target for /integrations/zengge.
source/_dashboards/clock.markdown, …/heading.markdown, …/iframe.markdown, …/map.markdown, source/_docs/blueprint/selectors.markdown, …/templating.markdown, …/scripts.markdown New Clock card file added; heading dashboard now supports hold_action and double_tap_action; iframe card got a new disable_sandbox option; map card updated with an attribute field; selectors got a new model_id; templating functions enhanced; script variable scope clarified.
…/integrations/balay.markdown, …/bosch_alarm.markdown, …/constructa.markdown, …/frankever.markdown, …/gaggenau.markdown, …/linkedgo.markdown, …/neff.markdown, …/pitsos.markdown, …/profilo.markdown, …/pterodactyl.markdown, …/remote_calendar.markdown, …/thermador.markdown, …/siemens.markdown, …/motionblinds_matter.markdown New integration documentation files created for various devices (e.g., Motionblinds Matter, Thermador, Siemens, Constructa) and integration types.
Multiple existing integration docs
(e.g. …/advantage_air.markdown, …/anthropic.markdown, …/assist_satellite.markdown, …/backup.markdown, …/balboa.markdown, …/cover.mqtt.markdown, …/demo.markdown, …/generic_thermostat.markdown, …/gios.markdown, …/google_assistant.markdown, …/govee_light_local.markdown, …/habitica.markdown, …/heos.markdown, …/home_connect.markdown, …/homee.markdown, …/homematicip_cloud.markdown, …/husqvarna_automower.markdown, …/inkbird.markdown, …/iometer.markdown, …/iron_os.markdown, …/jewish_calendar.markdown, …/linak.markdown, …/mcp.markdown, …/modbus.markdown, …/mqtt.markdown, …/nam.markdown, …/ness_alarm.markdown, …/nibe_heatpump.markdown, …/number.markdown, …/nut.markdown, …/ogemray.markdown, …/ohme.markdown, …/onedrive.markdown, …/openai_conversation.markdown, …/pglab.markdown, …/qbus.markdown, …/reolink.markdown, …/sensibo.markdown, …/sensor.markdown, …/smartthings.markdown, …/smlight.markdown, …/snoo.markdown, …/squeezebox.markdown, …/tado.markdown, …/vesync.markdown, …/wallbox.markdown, …/watergate.markdown, …/weheat.markdown
Updates across existing integrations include new configuration options, additional parameters (e.g. “Thinking budget”, payload_stop_tilt), new sensors, new actions (e.g. Habitica task actions, HEOS queue actions, onedrive.upload, openai_conversation.generate_content, ohme price cap), and expanded device/platform support as well as polling and terminology refinements.
…/sunweg.markdown, …/zengge.markdown Removed outdated integration documentation files.

Sequence Diagram(s)

sequenceDiagram
    participant U as User
    participant AS as Assist Satellite
    participant A as Audio System

    U->>AS: Trigger announce action
    AS->>AS: Check preannounce configuration
    alt Preannounce enabled
        AS->>A: Play preannounce chime (default or custom via preannounce_media_id)
        A-->>AS: Chime played confirmation
    end
    AS->>A: Play announcement media
    A-->>AS: Media playback confirmed
    AS->>U: Return announcement confirmation
Loading

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 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/smartthings.markdown (1)

57-74: 🛠️ Refactor suggestion

Supported Functionality List: Missing Bullet Entries
The Supported functionality bullet list now includes several links; however, it omits the Event and Update entries even though there are dedicated sections for them elsewhere in the document, and they are added in the YAML frontmatter. For completeness and consistency, please add bullets for Event and Update so users can easily locate the documentation for these platforms.

🧹 Nitpick comments (76)
source/_integrations/weheat.markdown (1)

70-70: Documentation Update: Updated Polling Intervals Provided
The new sentence clearly explains the updated polling strategy: data is retrieved every 120 seconds for a single heat pump (and proportionally longer for multiple units) with energy data refreshed every 1800 seconds. This description is concise and informative.

source/_integrations/wallbox.markdown (2)

12-12: Add select to the Supported Platforms List
The addition of - select in the ha_platforms metadata correctly signals that the integration now supports a select entity for controlling Solar Charging options. Please ensure that the corresponding integration code fully supports this new platform.


58-61: Document the New Select Entity for Solar Charging
This new "Select" section clearly describes the functionality of the select entity—offering options such as Eco Mode, Full Solar, or disabling Solar Charging. To further enhance clarity for end users, consider including an example configuration or a brief explanation of what each option entails.

source/_integrations/siemens.markdown (1)

1-33: Review Metadata Block Consistency.

The metadata block is well-structured and clearly outlines the attributes for the Siemens integration, including title, description, categories, IoT class, release version, domain, code owners, config flow, platforms, integration type, and supporting details. Please verify that these metadata keys align with the latest Home Assistant documentation standards. Additionally, since the PR’s objective mentions documenting the preannounce and preannounce_media_id fields, ensure that if these fields are applicable to this integration, they are incorporated appropriately—either here or in a related section.

source/_integrations/smartthings.markdown (8)

5-22: New Categories in YAML Frontmatter: Consistency & Clarity Check
You added several new categories in the ha_category list—Button, Event, Media player, Number, Select, Update, and Valve—which align with the new integration capabilities. Please double-check that these additions are reflected in all related sections (e.g. the Supported functionality bullet list) for consistency.


27-43: New Platforms in YAML: Verify Consistency
The new platforms button, event, media_player, number, select, update, and valve have been added to the ha_platforms list. Ensure that these entries are used consistently within the documentation and that any cross-references (for example in links or examples) match these names exactly.


94-97: Button Section: Terminology Clarification
The new Button section states:

"The SmartThings Button platform provides stop buttons for devices with the ovenOperatingState capability."
Consider clarifying what "stop buttons" means in this context. For example: Does it refer to buttons that stop an ongoing operation, or are they meant to trigger a specific action? A brief clarification can help users understand the intended functionality.


140-144: Event Section: Reword for Clarity
In the Event section, the text reads:

"The SmartThings Event platform will create entities for every button. It will show any button presses and allows you to automate on these events."
Consider revising the wording to improve clarity. For instance, you might say:
"The SmartThings Event platform creates entities to capture button press events, allowing you to automate actions based on these events."
This makes it clearer that the events originate from button presses rather than from the button entities themselves.


166-168: Media Player Section: Article for Clarity
The Media player section states:

"For a SmartThings device to be represented by the media player entity, it must have all required capabilities."
To enhance clarity, consider adding an article so that it reads:
"...it must have all the required capabilities."
This minor change improves grammatical correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~168-~168: You might be missing the article “the” here.
Context: ...e media player entity, it must have all required capabilities. | SmartThings capability...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


181-183: Number Section: Wording Suggestion
The Number section currently reads:

"The SmartThings number platform lets you control the amount of washer rinse cycles."
It might be clearer to say:
"The SmartThings number platform lets you control the number of washer rinse cycles."
This change avoids the use of "amount" with countable items and improves readability.


185-189: Select Section: Clarify 'Remote control' Requirement
The Select section mentions:

"Be aware that for them to work, the Remote control has to be turned on."
Consider clarifying what "Remote control" refers to. For example, if it is a specific feature or setting on the device, include a brief note or link to further information. Also, consider using lowercase for “remote control” unless it’s a proper noun, to maintain consistency across the documentation.


269-273: Valve Section: Improve Description for Consistency
The new Valve section reads:

"The SmartThings Valve platform lets you control devices that have the valve capability, showing the valve status and opening and closing."
Consider rephrasing to align with similar sections. For example:
"The SmartThings Valve platform lets you control devices with the valve capability, displaying the valve’s status and supporting open and close commands."
This provides a consistent structure similar to other platform descriptions.

source/_integrations/reolink.markdown (2)

66-66: Clarify Disabled Entities Guidance
The added sentence clearly communicates that entities marked with an asterisk (*) are disabled by default and provides a link to enable them. Please double-check that the URL /common-tasks/general/#enabling-entities is still correct with the current documentation structure.


311-311: Introduction of Day Night State Sensor
The addition of the “Day night state+” sensor is a valuable update. Consider adding a brief note or link to additional documentation regarding its possible states (e.g. “day”, “night”, “transition”) to aid users in understanding its output if not documented elsewhere.

source/_integrations/snoo.markdown (3)

34-39: New Section: Binary Sensors
The "Binary Sensors" section now documents the functionality related to the left and right safety clips. The description is concise and clear. Consider adding an example or further elaboration if space permits to help users better understand the expected behavior.


76-88: New Section: Select
The "Select" section describes the available settings for the Snoo's intensity levels, with a clear ordered list. Enhancing this section with example configuration snippets or usage scenarios could further improve user guidance.


96-98: Grammar Suggestion
In the "Sleepytime sounds" description, consider adding a comma before "or" to better separate the two independent clauses. For example:
"Allows you to turn on SNOO’s soothing sounds before you put your baby in SNOO, or after you took your baby out of SNOO for a diaper change or feeding."

🧰 Tools
🪛 LanguageTool

[uncategorized] ~97-~97: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... sounds before you put your baby in SNOO or after you took your baby out of SNOO fo...

(COMMA_COMPOUND_SENTENCE)

source/_integrations/govee_light_local.markdown (8)

25-28: New Device Identifiers Added: H6008, H6022, H6042
These entries have been added to the supported devices list. Please verify that the ordering and formatting are consistent with the integration’s guidelines—and check for any potential duplicates with existing models.


35-35: New Device Identifier Added: H605D
Please ensure that this identifier is unique within the list and matches the official documentation.


60-60: New Device Identifier Added: H612B
Confirm that the inclusion of H612B is intentional and that its format follows the established naming conventions.


70-70: New Device Identifier Added: H6167
Check that this new entry is correct and consistent with related device models.


93-93: New Device Identifier Added: H61B3
Ensure that this identifier is documented correctly and follows the naming pattern used throughout the file.


98-98: New Device Identifier Added: H61C2
Please confirm that H61C2 is valid and integrates seamlessly with the overall device list format.


108-108: New Device Identifier Added: H6609
This new addition looks appropriate—double-check that it appears in the correct sequence relative to other models.


153-154: New Device Identifiers Added: H805C and H8072
Both identifiers have been appended at the end of the list. Verify that H8072 is indeed a new supported device and that these entries are correctly reflected in downstream documentation if necessary.

source/_integrations/gios.markdown (1)

22-27: New Configuration Block Added
A new configuration section has been introduced detailing the "Measuring station" and "Name" parameters. For better clarity and adherence to stylistic guidelines, consider adding a comma after “For example” on line 26 (i.e., change to “For example, Home”).

🧰 Tools
🪛 LanguageTool

[typographical] ~26-~26: After the expression ‘for example’ a comma is usually used.
Context: ...me of your Home Assistant instance. For example Home." {% endconfiguration_basic %}

(COMMA_FOR_EXAMPLE)

source/_integrations/smlight.markdown (1)

43-46: Update Device List with New Supported Devices
The additions of the [SLZB-06Mg24](https://smlight.tech/product/slzb-06mg24) entry and the detailed description for SLZB-MR1 clearly expand the list of supported devices. Consider verifying that the URL for SLZB-06Mg24 is correct and, if available, formatting the SLZB-MR1 entry as a markdown link for consistency.

source/_integrations/tado.markdown (2)

43-43: Consider Hyphenating Compound Adjectives
In the sentence “The Tado thermostats are internet connected thermostats…”, consider changing “internet connected” to “internet‐connected” for improved clarity and grammatical precision.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~43-~43: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...orted devices The Tado thermostats are internet connected thermostats. There exists an unofficial...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


49-57: New "Connect with Tado" Section Added
The newly added section outlines the updated authentication process as of March 21st, 2025. A couple of minor language adjustments are recommended:

  • Replace “setup a 'Device Code'” with “set up a 'Device Code'” (line 53) to correctly use the verb form.
  • Consider using “log in” instead of “login” (line 55) when referring to the action.
🧰 Tools
🪛 LanguageTool

[style] ~51-~51: Consider a shorter alternative to avoid wordiness.
Context: ...s a few extra steps need to be followed in order to log in: 1. When you set up this integr...

(IN_ORDER_TO_PREMIUM)


[grammar] ~53-~53: The word “setup” is a noun. The verb is spelled with a space.
Context: ... this integration, the integration will setup a "Device Code" and provide a URL to Ta...

(NOUN_VERB_CONFUSION)


[grammar] ~55-~55: The word “login” is a noun. The verb is spelled with a space.
Context: ... automatically). 3. Follow the steps to login and authenticate your account. 4. Once ...

(NOUN_VERB_CONFUSION)

source/_integrations/remote_calendar.markdown (1)

21-21: Grammar Correction Needed

The current text reads “...connect to an resource that requires authentication or special headers.” Since “resource” starts with a consonant sound, please update it to “a resource.”

🧰 Tools
🪛 LanguageTool

[misspelling] ~21-~21: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...s not provide the ability to connect to an resource that requires authentication o...

(EN_A_VS_AN)

source/_integrations/anthropic.markdown (1)

70-73: Enhanced Parameter Descriptions

The updated description for the Temperature parameter and the addition of the new Thinking budget parameter provide detailed guidance for users—especially regarding the extended thinking feature. Consider a slight rewording for clarity, for example, changing “allowed use for its internal reasoning process” to “allowed to be used for its internal reasoning process.”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~70-~70: You might be missing the article “a” here.
Context: ...d generative tasks. Note that even with temperature of 0.0, the results will ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

source/_integrations/igloohome.markdown (1)

74-74: Sentence Structure Improvement

The troubleshooting note currently states:
“If you do not have a bridge. Sync the device with the igloohome mobile app, then reload the config entry associated to the device.”
To improve clarity, consider rephrasing it as:
“If you do not have a bridge, sync the device with the igloohome mobile app and then reload the associated config entry.”

source/_dashboards/clock.markdown (4)

11-12: Consider Simplifying the Wording.
The phrase “a variety of formats and sizes” might be streamlined to “multiple formats and sizes” for improved 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 and sizes.

<im...

(A_VARIETY_OF)


25-32: Enhance Readability in Configuration Descriptions.
In the "Clock Size" description, inserting a comma—e.g., “Adjusts the size of the text, allowing for a wider range of use with different types of dashboards. Defaults to small.”—can improve readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~27-~27: Possible missing comma found.
Context: ... description: Adjusts the size of the text allowing a wider range of use with diff...

(AI_HYDRA_LEO_MISSING_COMMA)


22-22: Formatting: Reduce Consecutive Blank Lines.
It appears there are multiple consecutive blank lines. Reducing them to a single blank line will result in cleaner formatting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD012, no-multiple-blanks)


78-78: Ensure a Trailing Newline.
Please add a single newline at the end of the file to comply with markdown formatting guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD047, single-trailing-newline)

source/_integrations/homee.markdown (2)

13-22: Updated ha_platforms List Reflects Expanded Capabilities.
The inclusion of new entries—“binary_sensor”, “lock”, and “select”—in the ha_platforms array enhances the integration’s device support. Please verify that these additions align with the actual supported device types in the integration.


31-40: Expanded Supported Device Types Deserve Consistency.
The supported devices list now includes “binary sensor”, “lock”, and “select”. Consider ensuring that naming conventions are consistent between the ha_platforms list (which uses underscores) and this descriptive list to avoid any ambiguity.

source/_integrations/homematicip_cloud.markdown (1)

155-157: New Event Details with Minor Trailing Whitespace Issue
The new entry for homematicip_cloud.event effectively documents the “Doorbell Event” for devices (e.g. HmIP-DSD-PCB) using the ChannelRole condition.

  • Nitpick: There is a trailing space at the end of line 156 that should be removed for cleaner markdown formatting.

Proposed diff:

-  - Doorbell Event for devices *HmIP-DSD-PCB* and others where ChannelRole equals DOOR_BELL_INPUT 
+  - Doorbell Event for devices *HmIP-DSD-PCB* and others where ChannelRole equals DOOR_BELL_INPUT
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)

source/_dashboards/map.markdown (2)

131-139: Enhanced Label Mode Documentation for Entities
The updated description for the label_mode field now explicitly mentions the attribute option in addition to icon and state. This added clarity is very useful. Consider if a brief YAML snippet or a reference in the examples section could further illustrate the usage of the attribute field.


155-163: Consistent Configuration in Geolocation Sources
The analogous addition of the attribute field under the geolocation sources configuration mirrors the entity configuration well. The documentation clearly indicates when this option applies. If possible, a short example showing how to set label_mode: attribute with the corresponding attribute field would help users understand the application.

source/_integrations/jewish_calendar.markdown (1)

87-90: Formatting and punctuation consistency in Holiday sensor attributes.
Consider using underscores for emphasis (e.g., _type_ and _id_) instead of asterisks to comply with markdownlint MD049 guidelines. Also, verify if a comma is needed after "type" in the phrase "The holiday sensor includes 2 attributes: type, and id."

🧰 Tools
🪛 LanguageTool

[uncategorized] ~89-~89: Possible missing comma found.
Context: ...ype*, and id. The id is useful for automations so they're not language-dependent. On ...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)

87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


89-89: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


89-89: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)

source/_integrations/nut.markdown (1)

66-76: Clarify user credential requirements for advanced functionalities.
The supported functionality section clearly states that the username and password must have instcmds permissions for buttons and switches to work. Consider emphasizing this requirement further (perhaps with an additional note or rewording) to help prevent misconfigurations by users.

source/_integrations/squeezebox.markdown (2)

145-149: Enhance clarity in the new Switches section.
The newly added entries for Alarm and Alarms Enabled provide useful information. Consider rewording or splitting the descriptions to clearly distinguish between enabling the alarm feature and toggling the overall alarm functionality on the player.


155-161: Improve formatting in the new Buttons section.
While aggregating commands like "Preset 1 ... Preset 6" and combining pairs (e.g., "Brightness Up, Brightness Down") is concise, splitting them into individual bullet points could enhance readability and allow for easier reference for users.

source/_docs/scripts.markdown (4)

63-69: Clarify Variable Example with “entities” Key
In the “Set variables” YAML example (lines 63–69), the variables action now uses an “entities” key (e.g. listing “light.kitchen” and “light.living_room”). It would be helpful to include a brief note (either inline or in the accompanying prose) explaining that “entities” must be defined as a list and clarifying its role in variable scoping.


112-115: Document the New “paulus_home” Variable
At line 114, the example now sets paulus_home: true in the “if” branch. Please ensure that the documentation explains the purpose and later usage of this variable (for instance, in the final notification message) so that users understand its significance in your script’s logic.


508-512: Placeholder in Repeat Loop Example
In the repeat loop example (lines 508–512), a placeholder action (“- …”) is used. For clarity, consider replacing the ellipsis with a more descriptive example or a comment indicating that users should insert their own actions here.


857-860: Highlight Parallel Action Variable Conflicts
The note on parallel actions (lines 857–860) now warns that variables modified in one parallel action can conflict with variables from another. This is an important caution. It might be helpful to include a brief example or tip on how to avoid such conflicts (for example, by using uniquely named variables).

source/_integrations/openai_conversation.markdown (2)

161-172: Document New Service: openai_conversation.generate_content
The new service documentation for openai_conversation.generate_content is well structured. To further improve clarity, consider adding a brief example (beyond the YAML snippet) which explains a typical use case for this service and details when and why a user might include an image_filename in the data payload.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)


169-169: Remove Trailing Whitespace
A trailing space was detected on line 169. Please remove it to keep the markdown formatting clean.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)

source/_integrations/mqtt.markdown (3)

52-56: Enhance Subentry Configuration Introduction
In line 54, the documentation now explains that MQTT devices and entities can be set up through MQTT discovery or added manually via YAML/subentries. This is a useful addition. Consider adding a short note that highlights any prerequisites or differences when using subentries compared to standard YAML configuration.


170-171: Typo Correction: “bve” → “be”
On line 171, “an entity can bve removed from the sub entry” contains a typo. Please change “bve” to “be”.


1382-1388: Work-in-Progress Note on Manual Subentry Configuration
The note stating that support for adding manual items as a subentry via a config flow is work in progress (lines 1382–1388) is clear. It might be helpful to also include a link to a tracking issue or a “coming soon” message so that users know when to expect full functionality.

source/_integrations/watergate.markdown (3)

25-29: Document Valve Shut-Off Notification
A new bullet (“Receive information when Sonic shuts off the valve due to potential leak”) has been added (line 28). This new feature is critical for user awareness. Consider adding a note or example later in the file that details what kind of notification is sent and how users can automate responses to it.


77-86: New Auto Shut-Off Event Section
The documentation now includes an “Events” section detailing the Auto Shut-Off event (lines 77–86). This section is well organized. For extra clarity, you might add an example payload or a brief automation snippet showing how to act on this event.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~80-~80: You might be missing the article “a” here.
Context: ...he valve automatically shuts off due to detected leak. - Event Type: Either `volum...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


94-94: Clarify Auto Shut-Off Threshold Limitation
Line 94 notes that the integration does not provide the ability to set auto shut-off thresholds. It would be beneficial to (if possible) briefly explain the rationale or suggest any available workarounds so that users have additional context.

source/_integrations/ohme.markdown (4)

106-109: New “Price cap” Switch Documentation
The new Price cap switch (lines 106–109) is now documented. The description is clear; however, consider adding an explicit reference to the ohme.set_price_cap service (perhaps as a hyperlink to its documentation) so that users can easily find more detailed usage instructions.


137-145: Document Action: Set Price Cap
The new action Set price cap (lines 137–145) is documented using a simple table of data attributes. To further assist users, you might include a short YAML snippet example of a service call invocation. This extra context can help clarify the expected format for the price_cap value (e.g. in 1/100ths of the currency).


167-180: Example Automation for Status Change Notification
The provided automation example (lines 167–180) is clear and helps illustrate how to send a notification when the charger status changes. Ensure that the YAML indentation and syntax are verified in preview mode so that users can copy it with confidence.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD031, blanks-around-fences)


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

(MD031, blanks-around-fences)


188-191: Minor Punctuation for Data Updates Section
In the “Data updates” section (lines 188–191), a static analysis hint noted a possible missing comma. A slight rephrasing may improve readability. For example, consider: “This integration fetches data every 30 seconds, with the following exceptions:”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~190-~190: Possible missing comma found.
Context: ... This integration fetches data every 30 seconds with the following exceptions: - CT rea...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)

191-191: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)

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

1243-1258: Added Flatten Filter Documentation
The section on flattening nested lists is a useful new addition. The explanation and examples are generally clear; however, some examples use an unconventional syntax (e.g. using commas in the filter invocation). It might be beneficial to verify and, if necessary, clarify the correct syntax for using flatten as both a function and a filter.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~1243-~1243: Possible missing comma found.
Context: ... 1] (reproducible) {% endraw %} ### Flatten a list of lists The template engine pr...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/modbus.markdown (1)

655-705: Added hvac_action_register Configuration
A new configuration parameter, hvac_action_register, has been added with detailed keys for mapping register values to various HVAC actions. The documentation is comprehensive. Consider revising some of the action descriptions slightly to include a definite article (for instance, “Value corresponding to the HVAC Off action” instead of “Value corresponding to HVAC Off action”) to address stylistic suggestions from static analysis.

🧰 Tools
🪛 LanguageTool

[typographical] ~674-~674: Do not use a colon (:) before a series that is introduced by a preposition (‘off’). Remove the colon or add a noun or a noun phrase after the preposition.
Context: ... map keys: action_off: description: "Value corre...

(RP_COLON)

source/_integrations/home_connect.markdown (3)

118-129: New Binary Sensor Definitions for Chiller Doors

The additions for the Common chiller door, Left chiller door, and Right chiller door binary sensor entities are clear and consistent with the style of other entities. Consider including a brief note (or a link) that explains in which appliance models these sensors are available or what triggers them.


879-882: Language Precision in "Keep milk tank cool" Description

The static analysis tool flagged a possible missing preposition in the Keep milk tank cool description. Please double-check the wording to ensure that it reads clearly (for example, verify if the phrase “remove the milk container and put it in a cool place” is correct or if a slight rephrasing is needed).

🧰 Tools
🪛 LanguageTool

[uncategorized] ~879-~879: Possible missing preposition found.
Context: ... - Availability: Coffee maker - Keep milk tank cool: - Description: ...

(AI_HYDRA_LEO_MISSING_TO)


941-945: Review Duplicate Phrasing in Cleaning Robot Event Sensors

A static analysis hint noted a possible repetition in the descriptions related to the cleaning robot (e.g. for events like Empty dust box and clean filter and Cleaning robot is stuck). Consider revising the wording to avoid redundancy and enhance clarity.

🧰 Tools
🪛 LanguageTool

[grammar] ~941-~941: This phrase is duplicated. You should probably use “Cleaning robot” only once.
Context: ...clean the filter. - Availability: Cleaning robot - Cleaning robot is stuck: - Description: Event ...

(PHRASE_REPETITION)

source/_integrations/habitica.markdown (2)

313-331: New Action: habitica.update_habit

The update habit action is well-documented with clear attribute descriptions. It may be helpful to mention the accepted values for the up_down attribute (for example, whether it accepts "up", "down", or an array like [up, down]) and note any default behaviors in case some attributes aren’t provided.


387-414: New Action: habitica.update_daily

The update daily action is comprehensive and covers checklist management, due dates, frequency, and even streak adjustments. It might be useful to include an example or specify what default behavior should be expected if, for instance, the streak attribute is not provided.

source/_integrations/sensibo.markdown (8)

78-117: Sensor Details in "Sensibo Sky, Air, Air Pro, Pure, Elements and Room sensor" Section.
The breakdown into subsections for Numbers, Updates, Binary sensors, Buttons, Climates, and Selects is very comprehensive.

  • Suggestion: For the items under Climate sensors (e.g. “Climate React type”, “Climate React low temperature threshold”, “Climate React high temperature threshold”), please verify whether “Climate React” is intended as a proper noun or if it should be a hyphenated compound adjective (e.g. “Climate-React low temperature threshold”) for greater clarity and consistency.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ls like, or Humidity. - Climate React low temperature threshold: Low temperature threshold ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...mate React low temperature threshold**: Low temperature threshold setting for Climate react. - ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ng for Climate react. - Climate React high temperature threshold: High temperature threshold...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ate React high temperature threshold**: High temperature threshold setting for Climate react. #...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


124-129: Sensor Descriptions in "Sensibo Air, Air Pro, and Elements" Section.
The list items for sensors are clear; however, the descriptions for TVOC and Co2 (lines 128–129) would be even clearer if you added an article.

  • Suggestion: Change
    - **TVOC**: TVOC reading from device.
    to
    - **TVOC**: TVOC reading from a device.
    and similarly for Co2.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~128-~128: You might be missing the article “a” here.
Context: ... Sensors - TVOC: TVOC reading from device. - Co2: Co2 reading from device. #...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


166-190: "Actions" & "Get device mode capabilities" Section – Approved with Minor Rewording Suggestion.
The description and action configuration for getting device mode capabilities are detailed and clear.

  • Suggestion: In line 170, consider rephrasing the sentence slightly (e.g., "…to help users utilize these actions correctly") for smoother reading.

284-312: "Enable Climate React" Action Configuration – Approved with a Style Suggestion.
The explanation and configuration are comprehensive.

  • Suggestion: Revisit the wording in the note block regarding Climate React to ensure consistency with the compound adjective usage. For example, if “Climate React” is meant to be read as a compound modifier, consider the uniform use of hyphens (e.g., “Climate-React”) throughout this section.

413-416: Data Fetching and Limitations Section – Suggestion for Clarity.
The description of polling data from the Sensibo API is generally clear. However, the sentence on line 415–416 could be streamlined to avoid any redundancy.

  • Suggestion: Consider rephrasing to: "Data is polled from the Sensibo API every minute for all devices. If polling fails due to connectivity issues or API malfunctions, it will retry a few times before failing."
🧰 Tools
🪛 LanguageTool

[grammar] ~416-~416: You’ve repeated a verb. Did you mean to only write one of them?
Context: ...tching and limitations Data is {% term polling polled %} from the Sensibo API once every ...

(REPEATED_VERBS)


421-427: "Troubleshooting" Section – Minor Grammatical Suggestion.
The troubleshooting steps are clear.

  • Suggestion: In line 425, consider changing "Check that internet is available in your Home Assistant instance." to "Check that the internet is available in your Home Assistant instance."
🧰 Tools
🪛 LanguageTool

[uncategorized] ~425-~425: You might be missing the article “the” here.
Context: ... before raising an issue: - Check that internet is available in your Home Assistant ins...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


211-219: YAML Configuration Punctuation – Verification Recommended.
Static analysis hints suggest there might be missing commas in the configuration descriptions (e.g., for the target temperature and light settings). Please verify that the YAML formatting in these configuration blocks meets the syntax requirements of Home Assistant’s configuration schema.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~211-~211: Possible missing comma found.
Context: ...rature: description: Provide a target temperature if applicable. Fan mode: description:...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~219-~219: Possible missing comma found.
Context: ... description: Provide a setting for the light if applicable. {% endconfiguration_basi...

(AI_HYDRA_LEO_MISSING_COMMA)


115-117: Compound Adjective Formatting in Climate React Items – Verification Recommended.
As noted, the items "Climate React low temperature threshold" and "Climate React high temperature threshold" could be hyphenated if they are intended as compound adjectives (e.g., "Climate-React low temperature threshold"). If “Climate React” is an established proper noun within the integration, then the current format is acceptable. Please confirm consistency with the overall documentation style.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ls like, or Humidity. - Climate React low temperature threshold: Low temperature threshold ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...mate React low temperature threshold**: Low temperature threshold setting for Climate react. - ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ng for Climate react. - Climate React high temperature threshold: High temperature threshold...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ate React high temperature threshold**: High temperature threshold setting for Climate react. #...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 88c142f and c2cd7d9.

⛔ Files ignored due to path filters (3)
  • 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_medium.png is excluded by !**/*.png
📒 Files selected for processing (77)
  • CODEOWNERS (1 hunks)
  • source/_dashboards/clock.markdown (1 hunks)
  • source/_dashboards/heading.markdown (2 hunks)
  • source/_dashboards/iframe.markdown (1 hunks)
  • source/_dashboards/map.markdown (2 hunks)
  • source/_docs/blueprint/selectors.markdown (5 hunks)
  • source/_docs/configuration/templating.markdown (7 hunks)
  • source/_docs/scripts.markdown (11 hunks)
  • source/_integrations/advantage_air.markdown (1 hunks)
  • source/_integrations/anthropic.markdown (1 hunks)
  • source/_integrations/assist_satellite.markdown (2 hunks)
  • source/_integrations/backup.markdown (2 hunks)
  • source/_integrations/balay.markdown (1 hunks)
  • source/_integrations/balboa.markdown (2 hunks)
  • source/_integrations/bosch_alarm.markdown (1 hunks)
  • source/_integrations/constructa.markdown (1 hunks)
  • source/_integrations/cover.mqtt.markdown (1 hunks)
  • source/_integrations/demo.markdown (2 hunks)
  • source/_integrations/frankever.markdown (1 hunks)
  • source/_integrations/gaggenau.markdown (1 hunks)
  • source/_integrations/generic_thermostat.markdown (1 hunks)
  • source/_integrations/gios.markdown (1 hunks)
  • source/_integrations/google_assistant.markdown (1 hunks)
  • source/_integrations/govee_light_local.markdown (6 hunks)
  • source/_integrations/habitica.markdown (1 hunks)
  • source/_integrations/heos.markdown (5 hunks)
  • source/_integrations/home_connect.markdown (3 hunks)
  • source/_integrations/homee.markdown (2 hunks)
  • source/_integrations/homekit.markdown (1 hunks)
  • source/_integrations/homematicip_cloud.markdown (3 hunks)
  • source/_integrations/husqvarna_automower.markdown (2 hunks)
  • source/_integrations/igloohome.markdown (2 hunks)
  • source/_integrations/inkbird.markdown (1 hunks)
  • source/_integrations/iometer.markdown (1 hunks)
  • source/_integrations/iron_os.markdown (3 hunks)
  • source/_integrations/jewish_calendar.markdown (1 hunks)
  • source/_integrations/linak.markdown (1 hunks)
  • source/_integrations/linkedgo.markdown (1 hunks)
  • source/_integrations/mcp.markdown (3 hunks)
  • source/_integrations/mcp_server.markdown (1 hunks)
  • source/_integrations/modbus.markdown (2 hunks)
  • source/_integrations/motionblinds_matter.markdown (1 hunks)
  • source/_integrations/mqtt.markdown (8 hunks)
  • source/_integrations/nam.markdown (1 hunks)
  • source/_integrations/neff.markdown (1 hunks)
  • source/_integrations/ness_alarm.markdown (1 hunks)
  • source/_integrations/nibe_heatpump.markdown (1 hunks)
  • source/_integrations/number.markdown (1 hunks)
  • source/_integrations/nut.markdown (3 hunks)
  • source/_integrations/ogemray.markdown (1 hunks)
  • source/_integrations/ohme.markdown (3 hunks)
  • source/_integrations/onedrive.markdown (2 hunks)
  • source/_integrations/openai_conversation.markdown (2 hunks)
  • source/_integrations/pglab.markdown (2 hunks)
  • source/_integrations/pitsos.markdown (1 hunks)
  • source/_integrations/profilo.markdown (1 hunks)
  • source/_integrations/pterodactyl.markdown (1 hunks)
  • source/_integrations/pyload.markdown (2 hunks)
  • source/_integrations/qbus.markdown (2 hunks)
  • source/_integrations/remote_calendar.markdown (1 hunks)
  • source/_integrations/reolink.markdown (5 hunks)
  • source/_integrations/sensibo.markdown (6 hunks)
  • source/_integrations/sensor.markdown (1 hunks)
  • source/_integrations/siemens.markdown (1 hunks)
  • source/_integrations/smartthings.markdown (6 hunks)
  • source/_integrations/smlight.markdown (1 hunks)
  • source/_integrations/snoo.markdown (3 hunks)
  • source/_integrations/squeezebox.markdown (3 hunks)
  • source/_integrations/sunweg.markdown (0 hunks)
  • source/_integrations/tado.markdown (1 hunks)
  • source/_integrations/thermador.markdown (1 hunks)
  • source/_integrations/vesync.markdown (2 hunks)
  • source/_integrations/wallbox.markdown (2 hunks)
  • source/_integrations/watergate.markdown (5 hunks)
  • source/_integrations/weheat.markdown (1 hunks)
  • source/_integrations/zengge.markdown (0 hunks)
  • source/_redirects (2 hunks)
💤 Files with no reviewable changes (2)
  • source/_integrations/sunweg.markdown
  • source/_integrations/zengge.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/_integrations/gios.markdown

[typographical] ~26-~26: After the expression ‘for example’ a comma is usually used.
Context: ...me of your Home Assistant instance. For example Home." {% endconfiguration_basic %}

(COMMA_FOR_EXAMPLE)

source/_integrations/anthropic.markdown

[uncategorized] ~70-~70: You might be missing the article “a” here.
Context: ...d generative tasks. Note that even with temperature of 0.0, the results will ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

source/_integrations/motionblinds_matter.markdown

[uncategorized] ~33-~33: Possible missing comma found.
Context: ... 433MHz To connect to these motors via Matter you will need the Motionblinds Matter b...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~42-~42: This word is normally spelled with a hyphen.
Context: ...roducts/venetian) - [CM-07 Motionblinds Mid Motor Battery/Wired 0.8Nm](https://motionblin...

(MID_HYPHEN)


[uncategorized] ~43-~43: This word is normally spelled with a hyphen.
Context: ...products/roman) - [CM-07V2 Motionblinds Mid Motor Battery/Wired 0.8Nm](https://motionblin...

(MID_HYPHEN)


[uncategorized] ~63-~63: This word is normally spelled with a hyphen.
Context: ... - [CM-07-E-R Eve Motionblinds Venetian Mid Motor Battery/Wired 0.8Nm](https://motionblin...

(MID_HYPHEN)


[uncategorized] ~64-~64: This word is normally spelled with a hyphen.
Context: ... - [CM-07-E-V Eve Motionblinds Venetian Mid Motor Battery/Wired 0.8Nm](https://motionblin...

(MID_HYPHEN)


[misspelling] ~74-~74: This word is normally spelled with a hyphen.
Context: ... To find where to buy these motors with custom made blinds, visit the [Motionblins store lo...

(EN_COMPOUNDS_CUSTOM_MADE)


[uncategorized] ~76-~76: Possible missing comma found.
Context: ...more about the motors and the technical information visit the [Motionblinds website](https:...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/tado.markdown

[uncategorized] ~43-~43: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...orted devices The Tado thermostats are internet connected thermostats. There exists an unofficial...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~51-~51: Consider a shorter alternative to avoid wordiness.
Context: ...s a few extra steps need to be followed in order to log in: 1. When you set up this integr...

(IN_ORDER_TO_PREMIUM)


[grammar] ~53-~53: The word “setup” is a noun. The verb is spelled with a space.
Context: ... this integration, the integration will setup a "Device Code" and provide a URL to Ta...

(NOUN_VERB_CONFUSION)


[grammar] ~55-~55: The word “login” is a noun. The verb is spelled with a space.
Context: ... automatically). 3. Follow the steps to login and authenticate your account. 4. Once ...

(NOUN_VERB_CONFUSION)

source/_integrations/remote_calendar.markdown

[misspelling] ~21-~21: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...s not provide the ability to connect to an resource that requires authentication o...

(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/_docs/scripts.markdown

[misspelling] ~455-~455: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...e, each item can be a template, or even an mapping of key/value pairs. {% raw %} ...

(EN_A_VS_AN)

source/_integrations/jewish_calendar.markdown

[uncategorized] ~89-~89: Possible missing comma found.
Context: ...ype*, and id. The id is useful for automations so they're not language-dependent. On ...

(AI_HYDRA_LEO_MISSING_COMMA)

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 and sizes.

<im...

(A_VARIETY_OF)


[uncategorized] ~27-~27: Possible missing comma found.
Context: ... description: Adjusts the size of the text allowing a wider range of use with diff...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/ohme.markdown

[uncategorized] ~190-~190: Possible missing comma found.
Context: ... This integration fetches data every 30 seconds with the following exceptions: - CT rea...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/generic_thermostat.markdown

[style] ~86-~86: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...the target temperature that must change prior to being switched on. For example, if the ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)

source/_integrations/sensibo.markdown

[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ls like, or Humidity. - Climate React low temperature threshold: Low temperature threshold ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~116-~116: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...mate React low temperature threshold**: Low temperature threshold setting for Climate react. - ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ng for Climate react. - Climate React high temperature threshold: High temperature threshold...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~117-~117: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ate React high temperature threshold**: High temperature threshold setting for Climate react. #...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~128-~128: You might be missing the article “a” here.
Context: ... Sensors - TVOC: TVOC reading from device. - Co2: Co2 reading from device. #...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~211-~211: Possible missing comma found.
Context: ...rature: description: Provide a target temperature if applicable. Fan mode: description:...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~219-~219: Possible missing comma found.
Context: ... description: Provide a setting for the light if applicable. {% endconfiguration_basi...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~416-~416: You’ve repeated a verb. Did you mean to only write one of them?
Context: ...tching and limitations Data is {% term polling polled %} from the Sensibo API once every ...

(REPEATED_VERBS)


[uncategorized] ~425-~425: You might be missing the article “the” here.
Context: ... before raising an issue: - Check that internet is available in your Home Assistant ins...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

source/_integrations/mqtt.markdown

[uncategorized] ~204-~204: A comma might be missing here.
Context: ... set the client certificate and private key turn on the option `Use a client certif...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[grammar] ~204-~204: Please check whether ‘Both’ should be followed by a plural form.
Context: ...ate key must be uploaded together. Both client certificate and private key must be eit...

(AGREEMENT_SENT_START)


[style] ~1608-~1608: Consider using a more polite wording.
Context: ...etting-up-a-broker) or its data. If you want to completely remove MQTT: 1. Check yo...

(IF_YOU_WANT)

source/_integrations/snoo.markdown

[uncategorized] ~97-~97: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... sounds before you put your baby in SNOO or after you took your baby out of SNOO fo...

(COMMA_COMPOUND_SENTENCE)

source/_integrations/modbus.markdown

[typographical] ~674-~674: Do not use a colon (:) before a series that is introduced by a preposition (‘off’). Remove the colon or add a noun or a noun phrase after the preposition.
Context: ... map keys: action_off: description: "Value corre...

(RP_COLON)

source/_docs/configuration/templating.markdown

[style] ~473-~473: To form a complete sentence, be sure to include a subject.
Context: ... name or alias, entity ID or device ID. Can also be used as a filter. - `floor_name...

(MISSING_IT_THERE)


[style] ~474-~474: To form a complete sentence, be sure to include a subject.
Context: ...ce ID, entity ID, area ID, or floor ID. Can also be used as a filter. - `floor_area...

(MISSING_IT_THERE)


[style] ~475-~475: To form a complete sentence, be sure to include a subject.
Context: ...a IDs tied to a given floor ID or name. Can also be used as a filter. - `floor_enti...

(MISSING_IT_THERE)


[style] ~476-~476: To form a complete sentence, be sure to include a subject.
Context: ...y IDs tied to a given floor ID or name. Can also be used as a filter. #### Floors ...

(MISSING_IT_THERE)


[style] ~523-~523: To form a complete sentence, be sure to include a subject.
Context: ... name or alias, entity ID or device ID. Can also be used as a filter. - `area_name(...

(MISSING_IT_THERE)


[uncategorized] ~1223-~1223: You might be missing the article “a” here.
Context: ...e template engine contains a filter and function to shuffle a list. Shuffling can happe...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~1243-~1243: Possible missing comma found.
Context: ... 1] (reproducible) {% endraw %} ### Flatten a list of lists The template engine pr...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~1284-~1284: Possible missing comma found.
Context: ...% endraw %} ### Find elements in first list not in second list The template engine...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~1685-~1685: 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: ...the returned value from a method or the type of a variable at times. For this, Home Assi...

(KIND_OF_A)

source/_integrations/watergate.markdown

[uncategorized] ~80-~80: You might be missing the article “a” here.
Context: ...he valve automatically shuts off due to detected leak. - Event Type: Either `volum...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

source/_integrations/home_connect.markdown

[uncategorized] ~879-~879: Possible missing preposition found.
Context: ... - Availability: Coffee maker - Keep milk tank cool: - Description: ...

(AI_HYDRA_LEO_MISSING_TO)


[grammar] ~941-~941: This phrase is duplicated. You should probably use “Cleaning robot” only once.
Context: ...clean the filter. - Availability: Cleaning robot - Cleaning robot is stuck: - Description: Event ...

(PHRASE_REPETITION)

source/_integrations/smartthings.markdown

[uncategorized] ~168-~168: You might be missing the article “the” here.
Context: ...e media player entity, it must have all required capabilities. | SmartThings capability...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

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

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

(MD012, no-multiple-blanks)


73-73: Multiple consecutive blank lines
Expected: 1; Actual: 3

(MD012, no-multiple-blanks)

source/_integrations/homematicip_cloud.markdown

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

(MD009, no-trailing-spaces)

source/_integrations/remote_calendar.markdown

44-44: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)

source/_integrations/jewish_calendar.markdown

87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


87-87: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


89-89: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


89-89: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)

source/_dashboards/clock.markdown

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

(MD012, no-multiple-blanks)


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

(MD047, single-trailing-newline)

source/_integrations/ohme.markdown

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

(MD012, no-multiple-blanks)


151-151: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


153-153: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


156-156: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


158-158: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


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

(MD031, blanks-around-fences)


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

(MD031, blanks-around-fences)


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

(MD012, no-multiple-blanks)


185-185: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


191-191: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)

source/_integrations/openai_conversation.markdown

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

(MD009, no-trailing-spaces)

source/_docs/configuration/templating.markdown

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

(MD012, no-multiple-blanks)

🔇 Additional comments (143)
source/_integrations/weheat.markdown (1)

1-69: Alignment Check: PR Objectives vs. Updated Documentation
The PR title and objectives focus on documenting the preannounce boolean and preannounce_media_id field related to Assist satellite actions. However, this file exclusively addresses the Weheat integration's polling intervals. Please ensure that the documentation for the new preannounce-related fields is updated in the appropriate files so that all new features are fully covered and consistent across the documentation set.

Also applies to: 71-89

🧰 Tools
🪛 LanguageTool

[grammar] ~45-~45: “Heat” is a singular noun. It appears that the verb form is incorrect.
Context: ...- Water inlet temperature: The heat pump water inlet temperature in °C - **Water...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[grammar] ~46-~46: “Heat” is a singular noun. It appears that the verb form is incorrect.
Context: ... Water outlet temperature: The heat pump water outlet temperature in °C - **Wate...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)

source/_integrations/siemens.markdown (1)

35-36: Confirm Supported Brand Inclusion.

The inclusion of the supported brand markdown via {% include integrations/supported_brand.md %} is consistent with the documentation's approach to maintaining brand-standard information. Verify that the referenced file is current with the latest brand guidelines.

source/_integrations/smartthings.markdown (1)

265-269: Update Section: Documentation Review
The Update section is clear in explaining the firmware update capability of devices with the firmwareUpdate feature. No issues detected here, but please ensure that any examples or cross-references in adjacent documentation reflect this new platform consistently.

source/_integrations/reolink.markdown (5)

103-113: New AI Detection Binary Sensors Added
A comprehensive list of new AI binary sensors (crossline, intrusion, linger, item forgotten, and item taken) is introduced with clear indications of limits (e.g. “up to 3 lines/zones”). Ensure that these labels accurately reflect the hardware capabilities and that the plus sign notation aligns with the update method explained in the “Data updates” section.


143-147: Addition of AI Sensitivity Numeric Controls
The new numeric entries for AI crossline, intrusion, linger, item forgotten, and item taken sensitivities are clear and consistent. It would be good to verify that “up to 3 lines/zones” exactly mirrors the integration’s configuration limits.


154-157: Documentation for AI Delay Settings
The added delay settings for intrusion, linger, item forgotten, and item taken events are a useful enhancement. Please ensure that the descriptions (using “+” to denote push update support) correctly describe the expected delay behavior and any user-configurable ranges.


232-232: Hub Scene Mode Select Option
The new entry for Hub scene mode (Off, Disarmed, Home, Away) is clearly documented. Confirm that the available options match those implemented in the integration and that this addition is reflected in relevant configuration examples elsewhere if needed.


1-790: Overall Consistency Check Relative to PR Objectives
While this file shows extensive updates for the Reolink integration—including new AI sensor and control options—the PR’s title and objectives mention documentation for the preannounce boolean and preannounce_media_id field. These fields are not referenced in this file. Please confirm that the preannounce documentation is intended for another part of the repository or if additional updates are forthcoming so that all new features are properly documented.

🧰 Tools
🪛 LanguageTool

[formatting] ~44-~44: Did you mean “?”
Context: ...link device can only contain characters a-z, A-Z, 0-9 or @$*~_-+=!?.,:;'()[]. Other special characters will...

(MULTIPLE_PUNCTATION_MARKS_1)


[uncategorized] ~81-~81: This word is normally spelled with a hyphen.
Context: ... - Fluent (Low resolution) - Balanced* (Mid resolution) - Clear* (High resolution, resource in...

(MID_HYPHEN)


[misspelling] ~176-~176: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...racking** switch entity is enabled, and a object disappears from view OR stops mo...

(EN_A_VS_AN)


[style] ~176-~176: This phrase is redundant. Consider writing “disappears”.
Context: ... switch entity is enabled, and a object disappears from view OR stops moving for the **Auto track di...

(DISAPPEAR_FROM_SIGHT)


[uncategorized] ~196-~196: Use a comma before “or” if it connects two independent clauses (unless they are closely connected and short).
Context: ...osition until the PTZ stop is called or the hardware limit is reached. **Guard...

(COMMA_COMPOUND_SENTENCE_2)


[typographical] ~207-~207: After the expression ‘for example’ a comma is usually used.
Context: ...t, and zoom">PTZ move speed. For example 10. ...

(COMMA_FOR_EXAMPLE)


[typographical] ~247-~247: After the expression ‘for example’ a comma is usually used.
Context: ... | no | The ringtone to play. For example operetta. ...

(COMMA_FOR_EXAMPLE)


[uncategorized] ~276-~276: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...event - FTP upload - PIR enabled* - PIR reduce false alarm* - Chime LED When the **Pr...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~294-~294: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...urn off automatically after 10 minutes. Therefore the recording will end as soon as the m...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~322-~322: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...(https://reolink.com/download-center/). Therefore the update entity in Home Assistant can...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[uncategorized] ~329-~329: It seems that hyphens are missing.
Context: ...hat day will be shown. Recordings up to 1 month old can be viewed in Home Assistant. ## Te...

(YEAR_OLD_HYPHEN)


[uncategorized] ~391-~391: You might be missing the article “the” here.
Context: ...between the battery-powered cameras and Home Assistant, conserving the battery life....

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[grammar] ~407-~407: This phrase is duplicated. You should probably use “Argus Eco” only once.
Context: ...://reolink.com/product/argus-4-pro/) - Argus Eco - [Argus Eco Ultra](https://reolink.com/product/argu...

(PHRASE_REPETITION)


[uncategorized] ~417-~417: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...ng a NVR/Home Hub The following models are lacking the HTTP web server API and can, theref...

(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)


[grammar] ~465-~465: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...low the on-screen instructions to first setup the credentials (use the same credentia...

(NOUN_VERB_CONFUSION)


[typographical] ~469-~469: Consider adding a comma here.
Context: ...erating frequency is supported. - After that you can disconnect the LAN cable and th...

(FOR_THAT_COMMA)


[uncategorized] ~502-~502: A comma might be missing here.
Context: ...g the device following these steps: 1. First physically disconnect the ethernet cabl...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~522-~522: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...d. ## Examples ### Showing the camera in the dashboard One way to show the came...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)


[style] ~544-~544: Consider a shorter alternative to avoid wordiness.
Context: ...the same network as Home Assistant. 1. In order to receive such a rich notification, we ar...

(IN_ORDER_TO_PREMIUM)


[style] ~578-~578: Consider using a more polite wording.
Context: ...s. You can add multiple triggers if you want to send the same message for multiple c...

(IF_YOU_WANT)


[typographical] ~588-~588: After the expression ‘for example’ a comma is usually used.
Context: ...e notifications need to be sent. - For instance only when you are not home. The compani...

(COMMA_FOR_EXAMPLE)


[uncategorized] ~588-~588: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... the app. We will use this as an example but you can add as many conditions as you l...

(COMMA_COMPOUND_SENTENCE)


[style] ~596-~596: Consider using a more polite wording.
Context: ...vice tracker condition'>

- If you want to limit the amount of notifications be...

(IF_YOU_WANT)


[uncategorized] ~596-~596: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...tion'>

- If you want to limit the amount of notifications being sent using a coo...

(AMOUNTOF_TO_NUMBEROF)


[uncategorized] ~596-~596: A comma might be missing here.
Context: ...tifications being sent using a cooldown time you can use the following template cond...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~638-~638: Consider using a more polite wording.
Context: ..., “Someone rang the doorbell”. If you want to give the notification a title, selec...

(IF_YOU_WANT)


[style] ~651-~651: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...emember the conditions under And if need to be met, otherwise you will not receive ...

(REP_NEED_TO_VB)


[typographical] ~651-~651: The word “otherwise” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ... conditions under And if need to be met, otherwise you will not receive the notification. ...

(THUS_SENTENCE)


[uncategorized] ~675-~675: A comma might be missing here.
Context: ...ng) 2. Next, also from the Helpers menu create a Timer. - Leave the tim...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[typographical] ~721-~721: It seems that a comma is missing.
Context: ...h notifications automation, or for that matter any automation that you would like to h...

(FOR_THIS_REASON_COMMA)


[uncategorized] ~726-~726: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...wn box and the timer onto your dashboard and you are all set. - Here is what it...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~745-~745: You might be missing the article “the” here.
Context: ...en someone rings the doorbell. - Switch HDR mode of the camera based on sunset/sunr...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~751-~751: Did you mean: “By default,”?
Context: ...es in the Home Assistant Companion app. By default only the lower resolution Fluent camera...

(BY_DEFAULT_COMMA)


[grammar] ~755-~755: The word “setup” is a noun. The verb is spelled with a space.
Context: ...r phone. ## Troubleshooting ### Can’t setup the integration - Older firmware versi...

(NOUN_VERB_CONFUSION)


[style] ~757-~757: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...](https://reolink.com/download-center/) prior to setting up the integration. Note that R...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[uncategorized] ~757-~757: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ... the latest available firmware version. Therefore check the version in the [Reolink downl...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[style] ~760-~760: Consider using a different verb for a more formal wording.
Context: ...o create a new user on the camera; that fixes the problem in some cases. - Using a VL...

(FIX_RESOLVE)


[uncategorized] ~767-~767: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...dress changes. - Do not set a static IP in the Reolink device itself, but leave th...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)


[uncategorized] ~768-~768: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...ted amount of simultaneous connections. Therefore using third-party software like Frigate...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[grammar] ~769-~769: The word ‘unavailable’ is an adjective, but you should probably use a verb in this context. Check to see if you’re missing a verb, and ensure that you’re using the correct part of speech.
Context: ...camera. - If the Reolink entities go to unavailable for short periods, the camera may be ov...

(VB_TO_JJ)


[uncategorized] ~773-~773: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...olink cameras use h265 encoding for the high resolution recording and clear stream to save stor...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~781-~781: Unless you want to emphasize “not”, use “cannot” which is more common.
Context: ...ation requirements: - Reolink products can not push ONVIF motion events to an HTTPS ad...

(CAN_NOT_PREMIUM)


[misspelling] ~785-~785: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... of the Home Assistant device. - Since a HTTP address is needed, Reolink push is...

(EN_A_VS_AN)

🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


286-286: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


450-450: Trailing punctuation in heading
Punctuation: '.'

(MD026, no-trailing-punctuation)


540-540: Link fragments should be valid
null

(MD051, link-fragments)


554-554: Ordered list item prefix
Expected: 1; Actual: 2; Style: 1/1/1

(MD029, ol-prefix)


580-580: Ordered list item prefix
Expected: 1; Actual: 3; Style: 1/1/1

(MD029, ol-prefix)


586-586: Ordered list item prefix
Expected: 1; Actual: 4; Style: 1/1/1

(MD029, ol-prefix)


602-602: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


614-614: Ordered list item prefix
Expected: 1; Actual: 5; Style: 1/1/1

(MD029, ol-prefix)


631-631: Ordered list item prefix
Expected: 1; Actual: 6; Style: 1/1/1

(MD029, ol-prefix)


647-647: Ordered list item prefix
Expected: 1; Actual: 7; Style: 1/1/1

(MD029, ol-prefix)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


769-769: Link fragments should be valid
null

(MD051, link-fragments)

source/_integrations/snoo.markdown (4)

4-9: Enhanced ha_category Configuration
The ha_category field has been updated with new entries: "Binary Sensor", "Event", "Select", and "Switch". This update broadens the categorization for the integration. Ensure that these new categories align with the actual capabilities of the integration and remain consistent with similar integrations in Home Assistant.


16-21: Expanded ha_platforms List
The addition of platforms "binary_sensor", "event", "select", and "switch" in the ha_platforms field clearly reflects the new functionalities documented. Confirm that these entries properly match the integration's supported platforms as implemented in Home Assistant.


40-58: New Section: Events
The "Events" section provides a comprehensive list of device events (e.g., Timer, Cry, Command sent, etc.), which is valuable for users to understand the integration’s dynamic behaviors. Please verify that these events are consistent with the core integration implementation in Home Assistant.


89-98: New Section: Switch
This section introduces controls for "Level lock" and "Sleepytime sounds". The descriptions are straightforward and effectively convey the available options. Consider expanding the details or including usage examples to assist users in understanding when and how to use these features.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~97-~97: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... sounds before you put your baby in SNOO or after you took your baby out of SNOO fo...

(COMMA_COMPOUND_SENTENCE)

source/_integrations/linak.markdown (1)

1-9: Correct Spelling in Supporting Integration
The update on line 9 correctly adjusts the spelling to "IKEA Idåsen Desk". Ensure that this change is consistent with other documentation references and that diacritics are properly supported across the site.

source/_integrations/google_assistant.markdown (1)

260-263: Addition of New Domain: lawn_mower
The new bullet at line 262 adds the lawn_mower domain (supporting dock/start/pause) which is a clear addition to the available domains. Verify that any accompanying documentation (or linked sections) explains its usage and behavior clearly.

source/_integrations/nam.markdown (1)

20-26: Expansion of Supported Sensors: Addition of BH1750
Line 24 adds the BH1750 sensor to the list of supported sensors. This enhances the integration’s capabilities. Please confirm that any necessary configuration details or requirements for BH1750 support are documented elsewhere if applicable.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~20-~20: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... DIY air quality monitoring system with open source firmware, based on an open hardware pro...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

source/_integrations/ness_alarm.markdown (1)

125-129: Updated Output ID Range for Action aux
The update on line 127 revises the description to indicate that output_id now accepts numbers from 1–8. Ensure that this change is in tandem with hardware or firmware capabilities and that there is no inconsistency with other documentation sections referencing aux outputs.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~128-~128: A determiner appears to be missing. Consider inserting it.
Context: ...n/Off State, represented as true/false. Default is true. If P14xE 8E is enabled then a...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~128-~128: Possible missing comma found.
Context: ...false. Default is true. If P14xE 8E is enabled then a value of true will pulse output ...

(AI_HYDRA_LEO_MISSING_COMMA)

source/_integrations/sensor.markdown (1)

62-65: Extended Duration Units
The modified description on line 64 for the duration device class now includes microseconds (µs), aligning with similar updates in related documentation (e.g., in the number integration). This improvement provides more granularity for duration measurements.

source/_integrations/number.markdown (1)

54-54: Improved documentation for duration device class

The addition of microseconds (µs) as a supported unit for the duration device class enhances precision options for measurements. This update ensures consistency with similar changes in other integration files.

source/_integrations/generic_thermostat.markdown (1)

86-86: Clarification of cold_tolerance behavior

This change improves accuracy in the documentation by clarifying that the heater starts when the temperature goes below the threshold, not when it equals the threshold. This provides users with more precise information about how the thermostat operates.

🧰 Tools
🪛 LanguageTool

[style] ~86-~86: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...the target temperature that must change prior to being switched on. For example, if the ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)

source/_integrations/homekit.markdown (1)

409-409: Added lawn_mower to supported HomeKit integrations

The addition of the lawn_mower integration type to the list of integrations represented as switches in HomeKit expands device compatibility. This change appropriately documents that lawn mower devices can now be controlled through HomeKit.

source/_integrations/demo.markdown (2)

45-45: Added valve platform to ha_platforms list

This addition properly registers the valve platform as a supported platform in the demo integration.


85-85: Added valve to available demo platforms list

This addition ensures users are informed about the valve platform's availability in the demo integration, with appropriate linking to its documentation.

CODEOWNERS (1)

560-560: Added motionblinds_matter integration to CODEOWNERS

Assigning the motionblinds_matter integration documentation to @home-assistant/matter team ensures proper ownership and maintenance accountability.

source/_integrations/ogemray.markdown (2)

1-47: New Ogemray Integration Documentation Added
The metadata section is comprehensive and correctly formatted, including details on categories, release version, and supported platforms. This documentation appears ready for use.


49-50: Included Supported Brand Snippet
The inclusion of the supported brand snippet ensures that users see the correct branding information. Please verify that the brand information displayed by the snippet is up to date.

source/_integrations/iometer.markdown (1)

54-55: New Sensor Additions: Core/Bridge Connection and Core Attachment Status
These new sensors complement the integration by providing additional status information. Confirm that the descriptions accurately reflect the behavior of the IOmeter Core and Bridge, and consider whether any further clarifications might benefit users.

source/_integrations/advantage_air.markdown (1)

71-71: Updated Switch Entities Description to Include MySleep$aver
The documentation now mentions the additional MySleep$aver toggle. Please ensure that this feature is supported by the hardware and that any dependent documentation (for example, release notes or configuration examples) is updated accordingly.

source/_integrations/balay.markdown (1)

1-36: Documentation looks good and follows integration standards.

The Balay integration documentation is correctly structured with all required metadata fields, following the integration pattern for Home Connect-based brands.

source/_integrations/balboa.markdown (2)

16-16: Addition of event platform is properly listed.

The event platform is correctly added to the ha_platforms list.


36-36: Event type documentation added correctly.

The new event type for "Last known fault, if any" is properly documented in the device types section.

source/_integrations/husqvarna_automower.markdown (2)

151-151: New sensor "Downtime" documented properly.

The "Downtime (if available)" sensor has been added to the list of sensors created by the integration.


162-162: New sensor "Uptime" documented properly.

The "Uptime (if available)" sensor has been added to the list of sensors created by the integration.

source/_redirects (2)

630-630: New redirect for sunweg integration added correctly.

The redirect for the removed sunweg integration is properly configured to point to the removal information page.


652-652: Updated redirect for zengge integration.

The redirect for zengge integration has been correctly updated to point to the led_ble integration instead of the removal page.

source/_integrations/linkedgo.markdown (2)

1-47: Integration Metadata Validation
The metadata front matter is comprehensive and follows the established structure for new integrations. All keys (e.g., title, description, ha_category, ha_release, etc.) are properly specified.


49-50: Supported Brand Include Directive
The inclusion of {% include integrations/supported_brand.md %} ensures that the supported brand information is consistently referenced. Its placement at the end of the file is appropriate.

source/_integrations/smlight.markdown (1)

1-42: Overall Documentation Quality
The rest of the documentation—including the metadata, introductory description, prerequisites, and configuration flow instructions—is clear and consistent with other integration files.

Also applies to: 47-51

source/_integrations/thermador.markdown (2)

1-33: Thermador Integration Documentation
The new Thermador integration document captures all the necessary metadata, including category, supported platforms, and configuration details. The use of quotes for the release version and the overall style is consistent with similar Home Connect integrations.


35-36: Supported Brand Directive
The inclusion of {% include integrations/supported_brand.md %} is correctly positioned and ensures consistency with the project’s documentation standards.

source/_integrations/neff.markdown (2)

1-33: Neff Integration Documentation
The metadata section is well-structured and mirrors that of other Home Connect integrations. All essential details (such as ha_release, ha_codeowners, etc.) are provided accurately.


35-36: Supported Brand Directive
The include directive for the supported brand file is properly placed, contributing to consistency in how supported brands are referenced across integrations.

source/_integrations/mcp_server.markdown (2)

36-40: Revised "Control Home Assistant" Configuration Option
The updated description under the Control Home Assistant configuration option is concise and clearly states that MCP clients can only control or retrieve information from exposed entities. This simplification should help users understand the limitation without confusion.


1-35: Overall MCP Server Documentation Quality
The overall structure of the MCP Server documentation remains solid. The metadata, configuration details, and troubleshooting sections are all well organized. The updated configuration block integrates smoothly with the rest of the document.

Also applies to: 41-57

source/_integrations/vesync.markdown (2)

137-140: New "night_light_level" Attribute Documentation Added
A new table entry for the night_light_level attribute is introduced with values “off, dim, on”. This addition clearly documents the attribute for select-type fields in the VeSync integration.


155-156: Review Inconsistency in Attribute Values
The night_light_level attribute is documented with different value sets: “off, dim, on” in one table and “off, dim, bright” in another. Please verify whether this discrepancy is intentional or if the values should be aligned across the documentation.

source/_dashboards/iframe.markdown (1)

64-68: New Configuration Option: disable_sandbox
The new disable_sandbox option is clearly defined with a default value of false and includes a concise description that explains its use case (e.g., for Chrome when viewing PDFs). This addition is well documented and provides users with the necessary information regarding the security implications.

source/_integrations/mcp.markdown (2)

31-35: Enhanced Prerequisites for MCP Integration
The prerequisites now include an additional requirement (Item 3) for cases where the MCP server requires authentication. This change clearly informs users that they will need OAuth credentials (Client ID and Secret) if applicable.


44-49: New Configuration Options Added: Client ID and Client Secret
The configuration block now introduces Client ID and Client Secret with descriptive text that instructs users on their necessity when authentication is enabled on the MCP server. This update improves clarity in setup.

source/_integrations/tado.markdown (1)

58-60: "Migrate to new authentication method" Section
The section on migrating to the new authentication method is concise and clear. It directs users appropriately to follow the updated login process as described above.

source/_integrations/assist_satellite.markdown (2)

47-48: New Preannounce Options in announce Action
The documentation for the assist_satellite.announce action now includes details about playing a chime before announcements. It explains how to override the default chime with a custom sound using preannounce_media_id or disable it by setting preannounce to false. This addition is clear and informative.


93-95: New Preannounce Options in start_conversation Action
Similarly, the assist_satellite.start_conversation action now documents how to control the preannouncement chime using preannounce_media_id and preannounce. The instructions are consistent with those in the announce action and appropriately detail the customization options.

source/_integrations/inkbird.markdown (1)

29-31: New Supported Devices Added

The addition of three supported device entries—INKBIRD Bluetooth Hygrometer Thermometer ITH-11-B, ITH-13-B, and ITH-21-B—expands the integration’s coverage. Please verify that the product titles and URLs are correct and reflect the latest models.

source/_integrations/cover.mqtt.markdown (1)

206-210: New Parameter: payload_stop_tilt

A new configuration parameter payload_stop_tilt has been introduced to allow a dedicated command to stop the cover’s tilt. The description, type, and default value are clearly defined and consistent with similar parameters.

source/_integrations/remote_calendar.markdown (1)

17-25: Overall Documentation Clarity

The document clearly explains the remote calendar integration, covering installation instructions, data update intervals, and supported functionality. Ensure that the terminology remains consistent with similar calendar integrations for a cohesive user experience.

🧰 Tools
🪛 LanguageTool

[misspelling] ~21-~21: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...s not provide the ability to connect to an resource that requires authentication o...

(EN_A_VS_AN)

source/_integrations/igloohome.markdown (1)

18-23: Clarification of Integration Features

The updated integration description now clearly differentiates between bridge owners and non–bridge owners, outlining features such as lock/unlock/open operations for bridge-linked devices and regular battery updates. This additional detail improves user comprehension—please ensure that all referenced URLs (for the igloodeveloper API and product pages) are current.

source/_integrations/onedrive.markdown (2)

21-21: Enhanced Integration Functionality Documentation
The sentence added on line 21 now clearly states that OneDrive can be used both for Home Assistant Backups and for uploading generic files. This expanded functionality is well communicated.


88-105: Clear and Detailed Action Documentation
The new Actions section (lines 88–105) introduces the onedrive.upload action with detailed information on each required attribute. The example and attribute descriptions are clear; please verify that these definitions match the intended integration behavior.

source/_integrations/heos.markdown (2)

32-33: Expanded Supported Functionality for HEOS
The updated list now highlights that users can browse HEOS music services (e.g. Tidal)—a useful enhancement for those wanting to explore more streaming options. Ensure that this clarification reflects the current capabilities of the integration.


90-148: Comprehensive New Queue Management Actions
The documentation now includes two new actions, heos.get_queue and heos.remove_from_queue, along with detailed examples and data attribute tables. This is very useful for users managing play queues. Please confirm that the YAML examples render as intended and that the attribute descriptions align with actual functionality.

source/_dashboards/heading.markdown (2)

61-64: Enhanced Heading Badge Interactivity
The updated paragraph (lines 61–64) now informs users that heading badges support actions; this is an excellent addition for improving the card’s interactivity awareness.


111-118: New Action Configurations for Dashboard Interaction
The addition of hold_action and double_tap_action (lines 111–118) gives users further interaction options with heading cards. The descriptions are clear and consistent with other action-related configurations. Consider a quick check that default behaviors (“does nothing” when not configured) are uniformly described throughout related documentation.

source/_integrations/motionblinds_matter.markdown (2)

1-20: Well-Structured New Integration Documentation
The new file “Motionblinds Matter” starts with a clear YAML header that includes all the necessary metadata (title, description, category, etc.), followed by a concise introduction. This format is easy to follow and adheres to documentation guidelines.


21-29: Clear Device Support and Connectivity Overview
The following sections clearly outline which Motionblinds devices are supported and describe the need for the Motionblinds Matter bridge and Thread Border Router when applicable. All external resource links (e.g., to the Motionblinds website or store locator) further assist users in verifying product compatibility.

source/_integrations/pterodactyl.markdown (5)

1-16: Comprehensive New Integration Metadata
The YAML front matter (lines 1–16) is well formatted with clear metadata including release, category, code owners, and quality scale details. This structure meets our documentation standards.


18-21: Concise Integration Overview
The descriptive section (lines 18–21) efficiently explains what Pterodactyl is and highlights its role in managing game servers. The language is clear and accessible.


22-32: Detailed Prerequisites for API Key Generation
The step-by-step instructions (lines 22–32) for generating an account API key from the Pterodactyl panel are thorough and user-friendly. Emphasizing that only account API keys (and not application API keys) are supported is particularly helpful.


41-46: Well-Defined Configuration Parameters
The configuration block (lines 41–46) clearly details the required URL and account API key, complete with an illustrative example. This should simplify the setup process for new users.


48-59: Concise Information on Sensor Functionality and Removal Process
The sections on binary sensors (lines 48–53) and removal instructions (lines 54–59) are succinct and align with standard integration documentation practices.

source/_integrations/bosch_alarm.markdown (2)

1-16: Metadata Block is Well-Structured.
The YAML front matter clearly defines the integration details (title, description, release version, categories, code owners, etc.) in accordance with Home Assistant documentation guidelines.


18-66: Content Documentation is Clear and Comprehensive.
The narrative—from the integration introduction through supported devices, authentication, and removal sections—is detailed and well-formatted. As the documentation evolves, ensure that any additional future features (e.g., preannounce-related fields if applicable) are integrated consistently.

source/_dashboards/clock.markdown (1)

1-9: Metadata and Front Matter are Correct.
The metadata (card type, title, sidebar label, and related links) is clearly defined and meets the project's standards.

source/_integrations/pyload.markdown (2)

42-42: Updated Setup Instructions with URL Parameter.
The setup instructions now require the full URL—encompassing the protocol, hostname/IP, port, and path prefix—which simplifies configuration by consolidating former host and port details.


55-63: Clear Documentation for the URL Configuration.
The new “URL” configuration parameter is well-documented with a clear description and a practical example. The adjacent parameters (Verify SSL certificate, Username, Password) maintain consistency with existing documentation standards.

source/_integrations/iron_os.markdown (2)

105-107: Addition of New Configuration Options.
The introduction of “Soldering tip type” and “Hall effect sleep timeout” enhances the device configuration capabilities. Their inclusion—with explicit version requirements (IronOS v2.23 or higher)—is both clear and informative.


128-131: Updated Power Delivery 3.1 EPR Description is Informative.
The revised description for the Power Delivery 3.1 EPR option concisely outlines available settings (on, off, safe) and the version dependency, helping users understand configuration limits and requirements.

source/_docs/blueprint/selectors.markdown (4)

153-158: Consistent Addition of model_id in Area Selector
The new model_id field is clearly defined and follows the same structure as existing filtering options. This improves the configurability by leveraging device model IDs for area filtering.


570-574: Clear Documentation for model_id in Device Selector
The addition of the model_id field here is consistent with the area selector section. The description is clear and specifies that it limits the devices to those with the provided model ID.


806-811: Well-Defined model_id Parameter in Floor Selector
The new model_id field for filtering floors (based on the devices they host) is well documented. It aligns with similar additions in other selectors.


1362-1365: Proper Extension of Target Selector with model_id
Including the model_id field in the target configuration enhances filtering specificity for devices. The documentation here is consistent and clear.

source/_integrations/nibe_heatpump.markdown (1)

28-47: Updated Supported Devices List for Nibe Heat Pump Integration
The devices listing has been updated and consolidated (e.g., consolidating F1145/F1245 and updating the VVM series). This update reflects the current models accurately. Please double-check these model names against the latest integration specs to ensure correctness.

source/_integrations/backup.markdown (3)

4-7: Expanded Categories with Sensor Support
Adding - Sensor to the ha_category field increases visibility of the integration’s sensor capabilities. This new category, together with the corresponding platform update, clearly communicates the extended functionality.


13-15: New ha_platforms Entry for Sensor Devices
Including sensor in ha_platforms accurately reflects the integration’s sensor offerings. The change is straightforward and aligns with similar updates in other integrations.


87-107: Comprehensive Sensor Section for Backup Integration
The newly added "Sensors" section provides detailed information on the sensor outputs (Backup Manager State, Next scheduled automatic backup, Last successful automatic backup). The descriptions and enumeration of possible states are clear. Verify that these sensor values are aligned with the actual behavior in the Backup integration.

source/_integrations/pglab.markdown (2)

4-7: Enhanced Documentation of Categories and Platforms
Updating the ha_category to include “Cover” and “Sensor” and reflecting these changes in ha_platforms (with entries for cover, switch, sensor) clearly indicates the expanded support. This makes the integration more discoverable and improves user guidance.

Also applies to: 15-17


55-61: Detailed Supported Features for PG LAB Electronics
The Supported features section now specifically mentions that PG LAB Shutters are represented as cover entities and PG LAB Sensors as sensor entities. This clarifies the mapping between physical devices and Home Assistant entities.

source/_integrations/qbus.markdown (2)

4-7: Updated Categories and Platforms for Qbus Integration
The addition of “Climate” and “Light” to ha_category and the corresponding inclusion of climate and light in ha_platforms effectively highlight the integration’s new capabilities. This update is consistent with similar expansions in other integrations.

Also applies to: 9-11


41-45: Expanded Device Support and Entity Availability for Qbus
The Supported devices section now includes a new “Dimmer” entry, and the Available entities section clearly introduces a “Climate” entity along with “Light” and “Switch.” This change accurately reflects the current functionality and helps users understand the types of devices they can control with the Qbus integration.

Also applies to: 48-51

source/_integrations/profilo.markdown (2)

1-33: Integration Metadata is Well Structured
The new “Profilo” integration’s front matter is clear, and all required metadata fields (title, description, categories, IoT class, release, domain, code owners, config flow, platforms, integration type, and supporting integration/domain) are present and formatted consistently with our documentation standards.


35-36: Inclusion of Supported Brand
The inclusion of the supported brand markdown file via {% include integrations/supported_brand.md %} is correctly placed at the end of the file. This helps standardize brand assets across integrations.

source/_integrations/homematicip_cloud.markdown (2)

10-10: Added “Event” Category in Metadata
The addition of “- Event” to the ha_category list broadens the integration’s scope to include event-driven devices. Please verify that this category is semantically consistent with other integrations and reflects the actual functionality added downstream.


25-26: Inclusion in Supported Platforms
Adding “- event” in the ha_platforms list is a concise way to indicate support for event-based features. Ensure that any examples or further documentation reflect how events are handled in this integration.

source/_integrations/gaggenau.markdown (2)

1-33: Gaggenau Integration Metadata Looks Consistent
The front matter for the Gaggenau integration is formatted in line with similar integrations. All necessary metadata fields are provided, ensuring consistency in documentation.


35-36: Supported Brand Inclusion Verified
The {% include integrations/supported_brand.md %} directive at the end of the file is correctly added, ensuring the branding assets remain up to date.

source/_integrations/frankever.markdown (2)

1-47: FrankEver Integration Metadata is Clear and Detailed
The metadata for the FrankEver integration is comprehensive. It includes an extensive list of supported categories and platforms, configuration flow, and Zeroconf support. This detail will be beneficial for users integrating FrankEver devices.


49-50: Consistent Branding Inclusion
The inclusion directive {% include integrations/supported_brand.md %} at the end is correctly positioned and maintains consistency with other integration documentation files.

source/_integrations/jewish_calendar.markdown (2)

93-94: Review the clarity of holiday sensor examples.
Ensure that the example phrasing (e.g., describing the reported values in Israel) clearly communicates the expected output format and adheres to consistent punctuation standards.


147-159: Document the 'jewish_calendar.count_omer' action thoroughly.
The action description and provided examples are clear. Please verify that the documented data attributes and the example response (with keys like message, weeks, days, and total_days) accurately reflect the integration’s implementation in Home Assistant.

source/_integrations/constructa.markdown (1)

1-36: Constructa integration metadata appears complete and consistent.
All required metadata fields (title, description, categories, etc.) are correctly specified, and the inclusion of the supported brand documentation is properly formatted.

source/_integrations/pitsos.markdown (1)

1-36: Pitsos integration metadata appears complete and consistent.
The metadata is well-defined with all the needed fields, and the supported brand documentation inclusion follows the established formatting standards.

source/_integrations/nut.markdown (3)

5-7: Updated categories in NUT integration metadata.
The addition of the "Button" and "Switch" categories in the ha_category section aligns with the intended expansion of functionality. Verify that these changes are consistently reflected throughout the documentation.


19-22: Updated platforms in NUT integration metadata.
The integration now includes both "button" and "switch" in the ha_platforms list. Please ensure that configuration examples and user guidance elsewhere are updated to reference these new platforms as needed.


77-94: Review the Buttons and Switches sections for consistency.
The descriptions for "Power cycle outlet NAME" under Buttons and "Power outlet NAME" under Switches are straightforward. Please double-check that these details match the actual command implementations available in the NUT integration.

🧰 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/openai_conversation.markdown (1)

67-73: New Web Search Parameters for OpenAI Integration
The documentation now introduces three new configuration options: Enable web search, Search context size, and Include home location. The descriptions are clear. Please double‐check that these options are consistent with the integration’s implementation and consider linking to detailed usage guidelines or examples if available.

source/_integrations/mqtt.markdown (1)

122-129: Review and Verify Subentry Instructions
The new “Configuration of MQTT components via Subentries” section (lines 122–129) is a welcome update. Please ensure that the embedded templating (e.g. the use of {% my integrations title="..." %} and icon tags) renders correctly in the final docs. A quick verification of the rendered output would be beneficial.

source/_integrations/watergate.markdown (2)

14-18: New “event” Platform Added
The update to the ha_platforms list now includes event (line 16). This change clearly indicates that the Watergate integration now supports event‐driven capabilities. Verify that this addition aligns with the integration’s functionality and that any related examples are updated accordingly.


116-122: Standard Integration Removal Section
The removal instructions (lines 116–122) follow standard procedures and are concise. No extra steps are required here; just ensure that if specific caveats arise from the Watergate integration, they are addressed in future updates.

source/_integrations/ohme.markdown (1)

73-79: New “Vehicle” Select Entity Added
The addition of the Vehicle select (lines 73–79) is clearly documented. It’s a useful update that shows vehicles configured in the Ohme app. Please confirm that the example reflects the actual implementation and that any dependencies (e.g. required configuration in the Ohme app) are documented elsewhere.

source/_docs/configuration/templating.markdown (9)

475-494: New Alias Example for floor_id
The new example using an alias (i.e.

{{ floor_id('First floor alias') }}  # 'first_floor'
```) clearly demonstrates that the function accepts floor name aliases. This addition improves clarity for users who might provide aliases rather than literal floor names.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[style] ~475-~475: To form a complete sentence, be sure to include a subject.
Context: ...a IDs tied to a given floor ID or name. Can also be used as a filter. - `floor_enti...

(MISSING_IT_THERE)

---

[style] ~476-~476: To form a complete sentence, be sure to include a subject.
Context: ...y IDs tied to a given floor ID or name. Can also be used as a filter.  #### Floors ...

(MISSING_IT_THERE)

</details>

</details>

---

`538-543`: **New Alias Example for `area_id`**  
The added example  

{{ area_id('Living Room Alias') }} # 'deadbeefdeadbeefdeadbeefdeadbeef'

illustrates that `area_id` now accepts area name aliases. This helps resolve potential ambiguity and enhances the documentation’s usefulness.

---

`1185-1207`: **Added Hashing Functions Documentation**  
A new “Hashing” section has been introduced which documents the supported algorithms (`md5`, `sha1`, `sha256`, `sha512`) along with clear examples. This is a valuable addition that makes it easier for users to understand and use these filters.

---

`1221-1235`: **Added Shuffling Filter Documentation**  
The “Shuffling” section explains both random and reproducible shuffling using a seed. The provided examples are clear and informative. Consider verifying that the syntax and output of each example match what the templating engine produces.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[uncategorized] ~1223-~1223: You might be missing the article “a” here.
Context: ...e template engine contains a filter and function to shuffle a list.  Shuffling can happe...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

</details>

</details>

---

`1267-1277`: **Added Intersect Filter Documentation**  
The new “Find common elements” section (using the `intersect` filter) is well documented with a range of examples. This addition clearly demonstrates how to obtain common items from two lists.

---

`1284-1294`: **Added Difference Filter Documentation**  
The “Difference” section, which explains how to select elements present in one list but not in the second, is clear and complete. The examples illustrate the filter’s usage effectively.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[uncategorized] ~1284-~1284: Possible missing comma found.
Context: ...% endraw %}  ### Find elements in first list not in second list  The template engine...

(AI_HYDRA_LEO_MISSING_COMMA)

</details>

</details>

---

`1300-1310`: **Added Symmetric Difference Filter Documentation**  
The new section for `symmetric_difference` is concise yet comprehensive. The examples accurately illustrate how to extract elements that are in either list but not in both.

---

`1316-1326`: **Added Union Filter Documentation**  
The “Union” section provides several examples that demonstrate combining two lists while maintaining unique elements. This is a welcome addition that enhances the utility of the templating documentation.

---

`1330-1342`: **Added Combine Dictionaries Functionality**  
The documentation for the `combine` function/filter is clear and detailed. The examples cover both non-recursive and recursive merging of dictionaries. This comprehensive explanation will be very helpful for users who need to merge configuration dictionaries.

</details>
<details>
<summary>source/_integrations/modbus.markdown (1)</summary>

`530-531`: **Climate Entities Documentation Update**  
The introductory description for the Modbus climate platform now includes “HVAC action” in addition to target temperature, HVAC mode, swing mode, and fan state. This update provides clearer guidance on the expanded functionality available for climate integrations.

</details>
<details>
<summary>source/_integrations/home_connect.markdown (2)</summary>

`202-205`: **Removal of the "Alarm clock" Entity**

It appears that the **Alarm clock** number entity has been removed (as indicated in the AI summary). Please confirm that this removal is intentional and that any automation or UI references in Home Assistant have been updated accordingly.

---

`846-903`: **Addition of New Event Sensor Entities**

A comprehensive set of new event sensors has been introduced—including **Program aborted**, **Program finished**, **Alarm clock elapsed**, **Pre-heat finished**, **Regular pre-heat finished**, **Drying process finished**, **Salt nearly empty**, and **Rinse aid nearly empty**. The descriptions are informative; however, please verify that these events align with the triggers from the Home Connect API. If possible, including a reference to the API documentation could further help users understand when these events occur.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[uncategorized] ~879-~879: Possible missing preposition found.
Context: ...   - **Availability**: Coffee maker - **Keep milk tank cool**:   - **Description**: ...

(AI_HYDRA_LEO_MISSING_TO)

</details>

</details>

</details>
<details>
<summary>source/_integrations/habitica.markdown (5)</summary>

`300-312`: **New Action: habitica.create_reward**

The documentation for creating a reward is clear and follows the established format. Please ensure that the constraints on the alias (allowing only dashes, underscores, and alphanumeric characters) are consistently mentioned across all actions.

---

`332-346`: **New Action: habitica.create_habit**

This new action for creating a habit is concise and follows the pattern of its update counterpart. Consider clarifying any default values (if applicable) and ensuring that the description for the **up_down** attribute mirrors that in the update habit action.

---

`347-370`: **New Action: habitica.update_todo**

The update to-do action is detailed and includes useful information about checklist items, reminders, and tag management. Be sure that users understand any nuances in updating checklist items (for example, whether items are appended or replace existing ones) through additional examples or notes if needed.

---

`371-386`: **New Action: habitica.create_todo**

The create to-do action is straightforward and consistent with the update action. Verify that the guidelines for adding checklist items and setting reminders are consistent between both actions.

---

`415-434`: **New Action: habitica.create_daily**

The documentation for creating a daily task is complete and mirrors the structure of the update daily action. Please confirm that any default behaviors or assumptions (for example, regarding frequency or streak initialization) are clearly explained either here or in a shared documentation section.

</details>
<details>
<summary>source/_integrations/sensibo.markdown (19)</summary>

`36-36`: **Introduction Clarity – Approved.**  
The updated introductory sentence clearly states that the Sensibo integration connects [Sensibo](https://sensibo.com) devices with Home Assistant.

---

`48-57`: **New "Supported devices" Section – Approved.**  
The new section is well structured and the list of devices (Sensibo Sky, Air, Air Pro, Pure, Elements, and Room Sensor) is clearly presented with descriptive, yet concise details.

---

`61-64`: **API Key Configuration Block – Approved.**  
The configuration block using `{% configuration_basic %}` to describe the API key is formatted consistently and clearly.

---

`66-71`: **"Supported functionality" Section – Approved.**  
The note about entities being disabled by default and the overall explanation in this section are clear and useful.

---

`131-137`: **"Sensibo Elements" Section – Approved.**  
The sensor details (PM2.5, Ethanol, Air quality) are presented clearly and follow the established style.

---

`139-156`: **"Sensibo Pure" Section – Approved.**  
Both the binary sensors and sensor details in this section are well defined and informative.

---

`157-165`: **"Sensibo Room sensor" Section – Approved.**  
The list of binary sensors (Motion, Connectivity, Main sensor, Room occupied) is clear and concise.

---

`191-200`: **"Set full state" Action – Approved.**  
The introduction to the full state command, including the informative note emphasizing API case sensitivity, is well written.

---

`202-219`: **Full State Action Configuration Block – Approved.**  
The structured configuration block using `{% configuration_basic %}` for full state action parameters is clear and adheres to the documentation style.

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[uncategorized] ~211-~211: Possible missing comma found.
Context: ...rature:   description: Provide a target temperature if applicable. Fan mode:   description:...

(AI_HYDRA_LEO_MISSING_COMMA)

---

[uncategorized] ~219-~219: Possible missing comma found.
Context: ... description: Provide a setting for the light if applicable. {% endconfiguration_basi...

(AI_HYDRA_LEO_MISSING_COMMA)

</details>

</details>

---

`221-223`: **Tip Block for Capabilities – Approved.**  
The tip reminding users to refer to the "Get device mode capabilities" action is concise and helpful.

---

`228-241`: **"Assume state" Action – Approved.**  
The explanation and configuration for the `sensibo.assume_state` action are straightforward and clear.

---

`243-250`: **"Enable Pure Boost" Action Introduction – Approved.**  
The note emphasizing pre-configuration via the app is a useful addition for user clarity.

---

`253-268`: **"Enable Pure Boost" Action Configuration Block – Approved.**  
The configuration details for Pure Boost, including integration options and sensitivity settings, are clearly specified.

---

`270-282`: **"Enable timer" Action Configuration – Approved.**  
The instructions and configuration for the timer action are clear, with the mandatory parameter well indicated.

---

`319-334`: **"Example full state" Block – Approved.**  
The YAML example is clear and effectively demonstrates how to configure a full state command.

---

`336-364`: **Template Switch Example – Approved.**  
The example demonstrating a template switch for HVAC control is concise and correctly formatted.

---

`366-386`: **"Start the timer" Example – Approved.**  
The automation example for enabling a timer when arriving home is clear and provides a practical use case.

---

`388-411`: **"Set a full state at 6pm" Example – Approved.**  
The YAML automation for setting a full state at a specific time is well structured and informative.

---

`429-435`: **"Specific log entries" and "Remove the integration" Sections – Approved.**  
The log entry description and the inclusion of the removal instructions are properly formatted and informative.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link
Member

@frenck frenck left a comment

Choose a reason for hiding this comment

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

✅ Approved. Can be merged as soon as the parent PR gets merged.

@github-project-automation github-project-automation bot moved this from Todo to Approved in Documentation PRs Mar 31, 2025
@frenck frenck added the awaits-parent Awaits the merge of an parent PR label Mar 31, 2025
@home-assistant home-assistant bot added the parent-merged The parent PR has been merged already label Mar 31, 2025
@frenck frenck merged commit 60a3df2 into next Mar 31, 2025
9 checks passed
@frenck frenck deleted the synesthesiam-20250331-preannounce-boolean branch March 31, 2025 18:29
@home-assistant home-assistant bot removed in-progress This PR/Issue is currently being worked on parent-merged The parent PR has been merged already awaits-parent Awaits the merge of an parent PR labels Mar 31, 2025
@github-project-automation github-project-automation bot moved this from Approved to Done in Documentation PRs Mar 31, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Apr 1, 2025
@frenck frenck added the cherry-picked This PR has been manually picked and merged into the current branch label Apr 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cherry-picked This PR has been manually picked and merged into the current branch has-parent This PR has a parent PR in a other repo next This PR goes into the next branch
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants