Thanks to visit codestin.com
Credit goes to github.com

Skip to content

dev add new device [Circulator Fan & Battery Circulator Fan] #39399

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

Draft
wants to merge 1 commit into
base: next
Choose a base branch
from

Conversation

XiaoLing-git
Copy link

@XiaoLing-git XiaoLing-git commented Jun 5, 2025

Proposed change

add new device [Circulator Fan & Battery Circulator Fan]

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

    • Added documentation for several new integrations: Amazon Devices, Immich, Kaiser Nienhaus, Paperless-ngx, Probe Plus, Shelly Z-Wave, Smarla, and Zimi Cloud Controller.
    • Expanded documentation for existing integrations with new entity types, configuration options, and device support (e.g., Template, SwitchBot, Wallbox, Telegram Bot, Teslemetry, Miele, Qbus, Squeezebox, EHEIM Digital, Bluesound, Bosch Alarm, Backup, and more).
  • Bug Fixes

    • Improved and clarified naming conventions, configuration schemas, and usage instructions across multiple integrations.
  • Documentation

    • Removed outdated or redundant documentation for deprecated or removed integrations (e.g., CUPS, Decora, Dlib, Eddystone, GStreamer, Keyboard, LIRC, Pandora, SMS, Snips, TensorFlow, Telegram broadcast/polling/webhooks).
    • Enhanced and reorganized documentation for various integrations, including new examples, troubleshooting advice, and detailed feature descriptions.
    • Updated and unified redirect paths for removed or consolidated integrations.
  • Chores

    • Updated code ownership and spelling configuration files to reflect new integrations and terminology.

Copy link

netlify bot commented Jun 5, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit 0f90680
🔍 Latest deploy log https://app.netlify.com/projects/home-assistant-docs/deploys/68413a3f2892b60008d17e79
😎 Deploy Preview https://deploy-preview-39399--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 project configuration.

@XiaoLing-git XiaoLing-git changed the base branch from current to next June 5, 2025 06:34
@home-assistant home-assistant bot removed the current This PR goes into the current branch label Jun 5, 2025
@home-assistant
Copy link

home-assistant bot commented Jun 5, 2025

It seems that this PR is targeted against an incorrect branch. Documentation updates which apply to our current stable release should target the current branch. Please change the target branch of this PR to current and rebase if needed. If this is documentation for a new feature, please add a link to that PR in your description.

@home-assistant home-assistant bot added the has-parent This PR has a parent PR in a other repo label Jun 5, 2025
Copy link
Contributor

coderabbitai bot commented Jun 5, 2025

📝 Walkthrough

Walkthrough

This update introduces several new integration documentation files, expands configuration options and supported entities for multiple existing integrations, and removes documentation for several deprecated or unsupported integrations. Numerous documentation sections were revised for clarity, accuracy, and to reflect new features, platforms, or configuration parameters. Redirects were updated to consolidate Telegram bot documentation and to mark removed integrations.

Changes

File(s) / Group Change Summary
.vscode/cSpell.json Added "Zimi" to cSpell dictionary.
CODEOWNERS Assigned source/_integrations/shelly_zwave.markdown to @home-assistant/z-wave.
source/_dashboards/gauge.markdown Added optional attribute parameter to gauge card config and example.
source/_dashboards/map.markdown Added optional cluster (bool) and unit (string) parameters to map card config.
source/_docs/configuration/templating.markdown Documented new Jinja extensions, filters (from_hex, base64_encode), macro patterns, and utility functions.
source/_integrations/amazon_devices.markdown New integration doc for Amazon Devices, including setup, supported devices, platforms, and automations.
source/_integrations/aquacell.markdown Added "Last update time" sensor data point.
source/_integrations/backup.markdown Added "Event" category, event platform, event entity, and notification automation example.
source/_integrations/beewi_smartclim.markdown Removed Bluetooth backend dependency installation instructions.
source/_integrations/blue_current.markdown Updated codeowners, added button entity documentation.
source/_integrations/bluesound.markdown Added button entities for sleep timer, deprecated related actions.
source/_integrations/bluetooth.markdown Removed references to Core/Supervised install methods; updated OS requirements text.
source/_integrations/bosch_alarm.markdown Added binary_sensor and switch platforms/entities, new service action, and automation example.
source/_integrations/caldav.markdown Removed troubleshooting section for Home Assistant Core installations.
source/_integrations/cambridge_audio.markdown Added documentation for new "Control Bus mode" configuration.
source/_integrations/command_line.markdown Changed command type for notify platform from string to template in docs.
source/_integrations/cups.markdown, .../decora.markdown, .../dlib_face_detect.markdown, .../dlib_face_identify.markdown, .../eddystone_temperature.markdown, .../gstreamer.markdown, .../keyboard.markdown, .../lirc.markdown, .../pandora.markdown, .../sms.markdown, .../snips.markdown, .../tensorflow.markdown, .../telegram_broadcast.markdown, .../telegram_polling.markdown, .../telegram_webhooks.markdown Deleted documentation files for deprecated or removed integrations.
source/_integrations/dlib_face_detect.markdown, .../dlib_face_identify.markdown Deleted Dlib face detection/identification documentation.
source/_integrations/eheimdigital.markdown Added select platform, documented filter mode select and system LED brightness number entities.
source/_integrations/energenie_power_sockets.markdown Removed mention of Core installs in troubleshooting USB access.
source/_integrations/fritz.markdown Added "Enable network device tracking" option, unquoted config descriptions.
source/_integrations/fritzbox.markdown Reorganized sensor/binary sensor documentation; removed thermostat attribute table.
source/_integrations/fyta.markdown Renamed heading, clarified image entity description.
source/_integrations/gpsd.markdown Removed installation/setup instructions.
source/_integrations/habitica.markdown Added "Pending damage" and "Pending quest items" sensor descriptions.
source/_integrations/homee.markdown Added alarm-control-panel, event, fan, siren platforms; added reconfiguration instructions.
source/_integrations/homekit.markdown Added h264_qsv as available camera video_codec option.
source/_integrations/immich.markdown New integration doc for Immich, including setup, sensors, and troubleshooting.
source/_integrations/kaiser_nienhaus.markdown New integration doc for Kaiser Nienhaus (metadata, platforms, config).
source/_integrations/knx.markdown Added YAML configuration details for covers, new example with more parameters.
source/_integrations/kostal_plenticore.markdown Added "Installer access" section with warnings and setup instructions.
source/_integrations/lamarzocco.markdown Revised data update explanation, added "Brew start time" sensor.
source/_integrations/lektrico.markdown Added charging_schedule_override button command for chargers.
source/_integrations/metoffice.markdown Updated for DataHub API usage, revised entity/forecast descriptions.
source/_integrations/miele.markdown Added vacuum category/platform, new vacuum and sensor entities.
source/_integrations/modbus.markdown Added light config options: brightness_address, color_temp_address, min_temp, max_temp; clarified nan_value behavior.
source/_integrations/motion_blinds.markdown Added Kaiser Nienhaus brand/bridge support.
source/_integrations/mqtt.markdown Added Binary sensor, Button, Cover, Fan to MQTT subentry integration list.
source/_integrations/nexia.markdown Documented RoomIQ sensor include/exclude switches for zone averaging.
source/_integrations/nmap_tracker.markdown Removed package install instructions for Core users.
source/_integrations/number.markdown, .../sensor.markdown Added/clarified units for energy_distance, gas, reactive_energy, and volatile_organic_compounds device classes.
source/_integrations/nut.markdown Expanded outlet sensors to include apparent power, current, real power, and voltage.
source/_integrations/ollama.markdown Added "Think before responding" config option.
source/_integrations/onvif.markdown Removed dependency installation note for Core users.
source/_integrations/paperless_ngx.markdown New integration doc for Paperless-ngx, including setup and sensor list.
source/_integrations/probe_plus.markdown New integration doc for Probe Plus, including supported devices, sensors, and troubleshooting.
source/_integrations/ps4.markdown Removed Debian-based port access instructions for Core users.
source/_integrations/qbus.markdown Added scene entity support, removed Toggle/Dimmer device types, added scene activation automation example.
source/_integrations/rehlko.markdown Added binary sensors: Auto run, Connectivity, Oil pressure.
source/_integrations/reolink.markdown Added "Hardwired chime enabled" switch and polling behavior note.
source/_integrations/scrape.markdown Removed libxml2 install note for non-Container/OS setups.
source/_integrations/seven_segments.markdown Removed ssocr installation notes for Core users.
source/_integrations/seventeentrack.markdown Added documentation for new action seventeentrack.add_package.
source/_integrations/shelly.markdown Expanded/clarified entity naming conventions for Gen 1 and Gen 2+ devices, with sub-device and channel name rules.
source/_integrations/shelly_zwave.markdown New integration doc for Shelly Z-Wave, listing supported devices and setup.
source/_integrations/smarla.markdown New integration doc for Swing2Sleep Smarla, including setup and switch entities.
source/_integrations/smartthings.markdown Added water heater platform/category and documentation.
source/_integrations/smlight.markdown Expanded multi-radio device support section, listed more models.
source/_integrations/switchbot.markdown Added Vacuum and Fan categories/platforms, new device models, and expanded feature lists.
source/_integrations/switchbot_cloud.markdown Added binary_sensor platform/category, new devices, webhook support section, and setup reference link.
source/_integrations/suez_water.markdown Moved "Extra attributes" section, added "Energy" section for water usage/cost statistics.
source/_integrations/sun.markdown Added binary sensors section with "Solar rising" sensor.
source/_integrations/squeezebox.markdown Added switch and update platforms, documented new entities.
source/_integrations/template.markdown Added support/configuration docs for alarm_control_panel, fan, lock, vacuum, and weather template entities.
source/_integrations/teslemetry.markdown Added new entities: hazard lights (binary sensor), left/right temperature request (sensor), valet mode (switch), teslemetry credits (sensor).
source/_integrations/totalconnect.markdown Removed Raspbian dependency install instructions.
source/_integrations/tradfri.markdown Removed compilation issues troubleshooting section.
source/_integrations/tuya.markdown Added Event category/platform to integration metadata.
source/_integrations/wallbox.markdown Added select platform, new energy sensors, and select entity for solar charging options.
source/_integrations/wmspro.markdown Added button platform/category, documented button entities, clarified cover support.
source/_integrations/xiaomi_aqara.markdown Removed troubleshooting note about dependency installation.
source/_integrations/zerproc.markdown Removed Bluetooth stack requirements section for Core users.
source/_integrations/zimi.markdown New integration doc for Zimi Cloud Controller, including setup, device mapping, and troubleshooting.
source/_integrations/zwave_js.markdown Removed "Home Assistant Core" from advanced installation instructions.
source/_redirects Consolidated Telegram bot redirects; added removed integration redirects for deleted docs.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant HomeAssistant
    participant IntegrationDoc

    User->>HomeAssistant: Access integration documentation
    HomeAssistant->>IntegrationDoc: Provide updated documentation
    IntegrationDoc-->>User: Show new/updated config options, platforms, and entities

    Note over IntegrationDoc,User: For new integrations, user follows setup instructions
    User->>HomeAssistant: Configure new integration (e.g., Zimi, Amazon Devices)
    HomeAssistant-->>User: Integration entities and features become available

    Note over IntegrationDoc,User: For deprecated integrations, user redirected to removal info
    User->>HomeAssistant: Access removed integration doc URL
    HomeAssistant-->>User: Redirect to removal info page
Loading
sequenceDiagram
    participant User
    participant Dashboard
    participant CardConfig

    User->>Dashboard: Edit Gauge/Map card
    Dashboard->>CardConfig: Show new parameters (attribute/unit/cluster)
    User->>Dashboard: Set new config options
    Dashboard-->>User: Render card with updated data/behavior
Loading
sequenceDiagram
    participant User
    participant TemplateEngine

    User->>TemplateEngine: Use new filters/extensions/macros
    TemplateEngine-->>User: Process templates with new capabilities
Loading

These diagrams represent the primary control and information flow for new/updated integration documentation, dashboard card configuration, and template engine features.


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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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 generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @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.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 12

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

276-282: 💡 Verification agent

🧩 Analysis chain

Verify implementation of new h264_qsv codec
The documentation adds h264_qsv to the video_codec options. Ensure the integration code supports this codec or remove/implement it accordingly.

Run:


🏁 Script executed:

#!/bin/bash
# Verify support for h264_qsv in HomeKit integration code
rg -R --heading "h264_qsv" -n src/homeassistant/components/homekit

Length of output: 471


🏁 Script executed:

#!/bin/bash
# Search for references to h264_qsv in HomeKit integration code
rg -n "h264_qsv" src/homeassistant/components/homekit

# Inspect where video_codec options are handled
rg -n "video_codec" src/homeassistant/components/homekit

Length of output: 264


🏁 Script executed:

#!/bin/bash
# Locate HomeKit integration directory
find . -type d -path "*/components/homekit*" 

# Search for usage of video_codec and related constants in the codebase
rg -n "video_codec" .
rg -n "CONF_VIDEO_CODEC" .

Length of output: 1104


Implement or Remove h264_qsv in HomeKit Integration
We added h264_qsv to the YAML docs but I can’t find any support for it in the integration code. Please either implement handling for this codec in your config schema and FFmpeg pipeline or remove it from the documentation.

• No occurrences of h264_qsv found in the codebase (run rg -n "h264_qsv" .)
• Ensure the HomeKit camera config schema (likely in homeassistant/components/homekit/...) accepts h264_qsv
• Update any FFmpeg command‐builder logic to pass through h264_qsv correctly
• Add tests or validation to prevent unsupported codecs from being set via the UI or YAML

🧰 Tools
🪛 LanguageTool

[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...nd enables GPU Hardware acceleration on Raspberry Pi. required: false ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🧹 Nitpick comments (58)
source/_integrations/aquacell.markdown (1)

56-56: Specify device class and refine phrasing for consistency.

To align with other sensor docs, merge into a single sentence and add that this sensor uses the timestamp device class.

Suggested diff:

@@ -52,5 +52,6 @@
- - Last update time. The time the softener last reported data to the cloud.
+ - Last update timestamp. The time the softener last reported data to the cloud.
+   Device class: `timestamp`
source/_docs/configuration/templating.markdown (1)

1197-1198: Normalize sentence case in filter descriptions

The verbs in the new filter descriptions start with uppercase letters. To match the existing style, switch to lowercase:

- - Filter `value | from_hex` Decodes a hex string to raw bytes.
- - Filter `value | base64_encode` Encodes a string or bytes to a base 64 string.
+ - Filter `value | from_hex` decodes a hex string to raw bytes.
+ - Filter `value | base64_encode` encodes a string or bytes to a base 64 string.
source/_integrations/homekit.markdown (1)

276-282: Sort codec options alphabetically
For improved readability, consider ordering the available options list alphabetically:

copy, h264_omx, h264_qsv, h264_v4l2m2m, libx264
🧰 Tools
🪛 LanguageTool

[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...nd enables GPU Hardware acceleration on Raspberry Pi. required: false ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

source/_integrations/sun.markdown (1)

102-108: Use consistent key formatting
Wrap the Solar rising entry in backticks (e.g., `Solar rising`) to match the formatting of other sensor keys (rising).

source/_integrations/reolink.markdown (1)

300-301: Refine wording for clarity and grammar.

Add a comma after "Therefore", and consider replacing "one time" with "once" for a smoother read.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~300-~300: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...it depending on the model of the chime. Therefore the status of this switch is only polle...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[style] ~300-~300: Consider using “once” instead of ‘one time’.
Context: ...he status of this switch is only polled one time (about 1 minute after the integration s...

(ONCE_TWICE_PREMIUM)

source/_integrations/fritz.markdown (1)

81-86: Extract shared option definitions to avoid duplication.

The Enable network device tracking description is repeated in both configuration blocks. Consider moving this to a shared include for consistency and maintainability.

source/_integrations/seventeentrack.markdown (1)

116-117: Unify boolean indicators.

The Optional column uses mixed-case boolean values (No, yes) across tables. Consider standardizing to either Yes/No or yes/no throughout the documentation.

source/_integrations/homee.markdown (1)

13-25: Suggest alphabetical ordering.

For improved readability, consider ordering the ha_platforms list alphabetically.

source/_integrations/bluetooth.markdown (1)

169-176: Clarify performance requirement.

The new bullet:

- Meets the above requirements with Home Assistant 2022.11.1 or later and Home Assistant Operating System 9.3 or later

bundles two requirements. Consider splitting it into separate bullets or rephrasing to clearly distinguish the Home Assistant version versus the OS version.

source/_integrations/energenie_power_sockets.markdown (1)

23-23: Sentence flow improvement
Consider replacing the colon after "Home Assistant Container" installation with a comma or splitting into two sentences for better readability:

- If you are running a {% term "Home Assistant Container" %} installation: Depending on your system configuration, it may be necessary ...
+ If you are running a {% term "Home Assistant Container" %} installation, it may be necessary ...
source/_integrations/kostal_plenticore.markdown (2)

29-38: Refine warning content and clean up formatting

  • Add a subject to the warning intro (e.g., "When using installer credentials, ...") to form a complete sentence.
  • Remove trailing spaces at the ends of lines 33–36 and 38 to satisfy markdown lint rules.
🧰 Tools
🪛 LanguageTool

[style] ~33-~33: To form a complete sentence, be sure to include a subject.
Context: ...ing %} Using installer credentials: - Should only be done if you fully understand th...

(MISSING_IT_THERE)


[uncategorized] ~36-~36: A period might be missing here.
Context: ...nfigured - Should be done with extreme caution {% endwarning %} To enable installe...

(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)

🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


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

(MD009, no-trailing-spaces)


40-42: Include configuration example
Consider adding a YAML snippet demonstrating how to set the password to the Master Key and include the service_code in the integration config for clarity.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)

source/_integrations/nexia.markdown (1)

93-104: Clarify include/exclude switches section

  • Adjust wording to plural: "The following include/exclude {% term switch %}es are added for each RoomIQ sensor".
  • Confirm the term macro renders correctly for plural switches.
  • Optionally provide an inline example replacing YOUR_SENSOR_NAME for user clarity.
source/_integrations/cambridge_audio.markdown (1)

76-77: Improve Control Bus description readability
The Control Bus description is lengthy and could be split into two sentences; also add a comma after "disabled" for clarity. For example:

- In this case Pre-Amp mode can be disabled, the network player will send the signal with full volume to the power amplifier and the volume of the power amplifier can be controlled using volume up and down controls.
+ In this case, Pre-Amp mode can be disabled. The network player will send the signal at full volume to the power amplifier, and you can control its volume using incremental up/down commands.
🧰 Tools
🪛 LanguageTool

[formatting] ~77-~77: Consider inserting a comma after an introductory phrase for better readability.
Context: ...player using the Control Bus interface. In this case Pre-Amp mode can be disabled, the netwo...

(IN_THAT_CASE_COMMA)


[uncategorized] ~77-~77: You might be missing the article “the” here.
Context: ...lled using volume up and down controls. Control Bus does not support setting the volume...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

source/_integrations/switchbot_cloud.markdown (1)

37-37: Enhance prerequisites with Developer Options steps
The detailed instructions and blog link help users find their token and secret key. Consider simplifying "in succession" wording, e.g., "tap the App Version (e.g. 6.24) 5–15 times to open Developer Options."

🧰 Tools
🪛 LanguageTool

[style] ~37-37: ‘in succession’ might be wordy. Consider a shorter alternative.
Context: ... (e.g. 6.24) several times (5
15 times) in succession to open the Developer Options. See ...

(EN_WORDINESS_PREMIUM_IN_SUCCESSION)

source/_integrations/wmspro.markdown (1)

35-35: Link to device section for details
The "See device section for support information" pointer is useful. Consider adding "the" before "device section" for grammatical accuracy.

source/_integrations/squeezebox.markdown (1)

229-233: Use single-hyphen list syntax
Replace the double-hyphen bullets with a single hyphen for consistency with other lists.

- -- **Lyrion Music Server**: Update of the server software is available.
- -- **Updated plugins**: Named Plugins will be updated on the next restart. For some installation types, the service will be restarted automatically after the **Install** button has been selected. Allow enough time for the service to restart. It will become briefly unavailable.
+ - **Lyrion Music Server**: Update of the server software is available.
+ - **Updated plugins**: Named Plugins will be updated on the next restart. For some installation types, the service will be restarted automatically after the **Install** button has been selected. Allow enough time for the service to restart. It will become briefly unavailable.
source/_integrations/lamarzocco.markdown (2)

62-62: Add missing comma and Oxford comma in update intervals
Insert a comma after “possible” and before the final list item for clarity.

- By default, this integration will receive push updates from the cloud about its general status. If that is not possible it will query the cloud every 15 seconds for an update of general machine information, every 15 minutes for new statistics, every 30 minutes for updated schedules and every 8 hours for a firmware update.
+ By default, this integration will receive push updates from the cloud about its general status. If that is not possible, it will query the cloud every 15 seconds for an update of general machine information, every 15 minutes for new statistics, every 30 minutes for updated schedules, and every 8 hours for a firmware update.
🧰 Tools
🪛 LanguageTool

[typographical] ~62-~62: Consider adding a comma here.
Context: ...bout its general status. If that is not possible it will query the cloud every 15 second...

(IF_THAT_S_NOT_POSSIBLE_COMMA)


109-109: Refine Brew start time description
Use “Indicates” instead of “tells” for a more authoritative tone.

-| **Brew start time** | If a brew is running, tells the exact start time of that brew. | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | - |
+| **Brew start time** | Indicates the exact start time of a running brew. | `all` | {% icon "material-symbols:cloud-outline" title="La Marzocco Cloud" %} | - |
source/_integrations/suez_water.markdown (2)

37-44: Introduce “Energy” section.
The new Energy dashboard integration instructions are clear. Consider linking directly to the Energy docs anchor (/home-assistant-energy/) for quicker navigation.


43-44: Add missing terminal punctuation.
The Note ends without a period. Append “.” after “check” to match the style of other notes.

source/_integrations/immich.markdown (6)

20-27: Prerequisites clarity.
The link to obtain an API key is valuable. Consider adding an example command or path for key retrieval in self-hosted setups.


28-35: Configuration block completeness.
Suggest providing default values or example URLs (http://localhost:3000) and default for SSL verification to guide new users.


37-40: Polling frequency note.
Polling every 60 seconds may impact large instances. Recommend mentioning rate-limit behavior or a configurable interval.


41-44: Media source reference.
Good overview. You might hyperlink directly to the media_source docs (/integrations/media_source/) for end-user convenience.


45-54: Comma for readability.
The sentence before the table needs a comma for clarity.

- The following {% term sensors %} are created. For some of those the API key needs to have admin rights.
+ The following {% term sensors %} are created. For some of those, the API key needs to have admin rights.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~47-~47: A comma might be missing here.
Context: ...erm sensors %} are created. For some of those the API key needs to have admin rights....

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


60-69: Troubleshooting section completeness.
The debugging and diagnostics instructions follow standards. Optionally, link the diagnostics page anchor (/integrations/diagnostics/) directly in the include tag.

source/_integrations/paperless_ngx.markdown (3)

22-29: Prerequisites precision.
Clear requirements. You may want to specify how users can verify they’re on version ≥ 2.15 (e.g., via API endpoint or UI footer).


32-49: Configuration section enhancement.
Consider adding example values (e.g., http://paperless-ngx.local:8000) to guide users through setup.


51-72: Align Markdown table markup.
The sensors table is comprehensive. Add a trailing pipe on the “Software” row to maintain table consistency.

source/_integrations/eheimdigital.markdown (1)

84-90: Detail “Filter mode” options.
The descriptions are clear. For consistency, rephrase as:

- Pulse mode: The filter uses a high and low pulse, the speeds are configured via **high pulse speed** and **low pulse speed**, the durations are configured via **high pulse duration** and **low pulse duration**
+ Pulse mode: Uses high/low pulse speeds configured via **high pulse speed**/**low pulse speed**, and durations via **high pulse duration**/**low pulse duration**.
source/_integrations/smarla.markdown (1)

19-36: Minor punctuation consistency
Steps 1–5 are clear. For uniformity, add a period at the end of step 3:

- 3. Follow the steps for **Configuration** until the access token field appears
+ 3. Follow the steps for **Configuration** until the access token field appears.
source/_dashboards/map.markdown (1)

105-109: Refine description for brevity
To tighten phrasing, consider “with many markers” instead of “with a large number of markers.”

- description: 'When set to `false`, the map will not cluster the markers. This is useful when you want to see all markers at once, but it may cause performance issues with a large number of markers.'
+ description: 'When set to `false`, the map will not cluster the markers. This is useful when you want to see all markers at once, but it may cause performance issues with many markers.'
🧰 Tools
🪛 LanguageTool

[style] ~107-~107: To reduce wordiness, try specifying a number or using “many” or “numerous” instead.
Context: ...ut it may cause performance issues with a large number of markers.' type: boolean default: tr...

(LARGE_NUMBER_OF)

source/_dashboards/gauge.markdown (1)

206-215: Example formatting consistency
The new attribute example works as intended. For uniformity, ensure the code block indentation and captions match other examples.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~206-~206: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ... color: var(--error-color) Display attribute of an entity instead of its state: ...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

source/_integrations/bluesound.markdown (1)

38-43: Typo: missing comma
Add a comma after “For each time you call this” to improve readability.

- Sets a timer that will turn off the speaker. For each time you call this it will increase the time by one step.
+ Sets a timer that will turn off the speaker. For each time you call this, it will increase the time by one step.
🧰 Tools
🪛 LanguageTool

[typographical] ~38-~38: It appears that a comma is missing.
Context: ...hat will turn off the speaker. For each time you call this it will increase the time...

(DURING_THAT_TIME_COMMA)

source/_integrations/amazon_devices.markdown (4)

1-17: Front matter formatting consistency
Metadata is complete. For consistency with other integrations, you may remove quotes around ha_release (ha_release: 2025.6).


28-36: Grammar in supported devices list
Line 36 should read “and all third-party devices with built-in Alexa capabilities.”

- and all 3rd party that has Alexa capabilities built-in
+ - and all third-party devices with built-in Alexa capabilities

57-61: Fix article usage
Change “Open a issue” to “open an issue” for correct grammar.

- Open a issue with all details to investigate
+ Open an issue with all details to investigate
🧰 Tools
🪛 LanguageTool

[misspelling] ~60-~60: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ountry may need a special setting. Open a issue with all details to investigate {...

(EN_A_VS_AN)


108-108: Remove repeated verb
Adjust the polling description to avoid duplication.

- This integration {% term polling polls %} data from the device every 30 seconds by default.
+ This integration {% term polling %} data from the device every 30 seconds by default.
🧰 Tools
🪛 LanguageTool

[grammar] ~108-~108: You’ve repeated a verb. Did you mean to only write one of them?
Context: ... Data updates This integration {% term polling polls %} data from the device every 30 second...

(REPEATED_VERBS)

source/_integrations/modbus.markdown (3)

1242-1261: Use YAML null instead of Python None for defaults
Home Assistant YAML conventions prefer null (or none) over None.


1336-1351: Fix example indentation and remove orphan verify: key
The verify: entry under the second light has no child attributes and is misaligned. Either indent children or remove this empty section to avoid confusion.


1371-1378: Correct grammar and branding

  • Change “home-assistants” → “Home Assistant’s”
  • Consider rephrasing for clarity around encoding arguments.
source/_integrations/backup.markdown (3)

81-85: Remove extra blank lines in raw block
The blank lines before and after the raw YAML fence may render incorrectly. Trim them for consistency.


100-109: Table descriptions should end with a period
Add trailing periods to attribute descriptions in the Event entity table for consistency.


154-157: Title-case sensor heading
Change “Last attempted automatic backup” → “Last Attempted Automatic Backup” to match other sensor headings.

source/_integrations/probe_plus.markdown (4)

19-24: Refine long sentence for readability
Consider splitting the discovery instructions into two sentences or adding a comma before “provided” for clarity.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

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

(MD009, no-trailing-spaces)


50-53: Add comma after first clause
“This integration can be used to monitor food temperatures; you could combine this with…” or add a comma after “cooking” to avoid a run-on sentence.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~52-~52: A comma might be missing here.
Context: ...onus, multiple probes are supported and therefore if you are cooking a large family meal,...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


54-58: Fix comma splice in second bullet
Change “before setting up in case you are using Fahrenheit” → “before setting up, in case you are using Fahrenheit.”


66-71: Correct comma splice
“This integration follows standard integration removal. No extra steps are required.”

source/_integrations/switchbot.markdown (3)

466-474: Header spacing mismatch
Change #### Hub3#### Hub 3 to match naming elsewhere.


477-482: Add trailing period
Append a period to the end of the sentence listing fan entities.


511-518: Consistency in battery terminology
Change “get battery” → “get battery level” to match other feature entries.

source/_integrations/bosch_alarm.markdown (1)

142-148: Clean up raw example formatting
Remove extra blank lines within the raw YAML block for consistency.

source/_integrations/template.markdown (2)

54-54: Consider refining pluralization of “weathers”
In the overview sentence, “weathers” may read awkwardly; consider using “weather entities” or simply “weather” for consistency.


418-424: Clarify “osc state” abbreviation
In the oscillating description, consider expanding “osc” to “oscillation” for clarity (e.g., “Defines a template to get the oscillation state of the fan.”).

source/_integrations/miele.markdown (1)

169-169: Remove comma before “if” in Start in
In “Start in: Shows the number of minutes until a delayed program start, if configured.” remove the comma before “if” for smoother reading: “…program start if configured.”

🧰 Tools
🪛 LanguageTool

[typographical] ~169-~169: Usually, there’s no comma before “if”.
Context: ...of minutes until a delayed program start, if configured. - Plate: Four to six ...

(IF_NO_COMMA)

source/_integrations/kaiser_nienhaus.markdown (1)

9-9: Align supporting integration domain naming.

The ha_supporting_integration value should match the integration’s domain slug (e.g., motion_blinds) for consistency and correct auto-linking.

source/_integrations/shelly.markdown (1)

148-154: Fix extra spacing in entity names table.

Remove the leading space before shellyswitch25-ABC123 Channel 1 in the last column of the first row to ensure proper Markdown table alignment.

🛑 Comments failed to post (12)
source/_docs/configuration/templating.markdown (1)

100-102: ⚠️ Potential issue

Fix raw tag syntax

The closing raw tag is incorrect ({$ endraw %}); it should be {% endraw %} to properly exit the raw block in Jinja.

Apply this diff:

- {$ endraw %}
+ {% endraw %}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

{% endraw %}

Home Assistant also allows you to write macros with non-string return values by
🤖 Prompt for AI Agents
In source/_docs/configuration/templating.markdown around lines 100 to 102, the
closing raw tag is incorrectly written as {$ endraw %}. Replace it with the
correct Jinja syntax {% endraw %} to properly close the raw block.
source/_integrations/matter.markdown (1)

14-14: 🛠️ Refactor suggestion

Add matching platform entry for Pump
The Pump category was added under ha_category, but pump is not listed under ha_platforms. Please add pump to the ha_platforms list to ensure documentation and functionality stay in sync.

🤖 Prompt for AI Agents
In source/_integrations/matter.markdown at line 14, the Pump category was added
under ha_category but the corresponding platform 'pump' is missing from the
ha_platforms list. Add 'pump' to the ha_platforms list in the same file to keep
the documentation consistent and aligned with the new category.
source/_integrations/blue_current.markdown (1)

70-78: ⚠️ Potential issue

Add missing button platform and update heading
A new Button section is documented, but button is not listed under ha_platforms. Add button to the front matter and change the section heading to plural (## Buttons).

 ha_platforms:
-  - sensor
+  - sensor
+  - button
...
-## Button
+## Buttons
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

ha_platforms:
  - sensor
  - button
...
## Buttons

The Blue Current integration provides the following buttons:

### Charge point buttons

- Reset
- Reboot
- Stop charge session
🤖 Prompt for AI Agents
In source/_integrations/blue_current.markdown around lines 70 to 78, the front
matter is missing the `button` platform under `ha_platforms`, and the section
heading should be plural. Add `button` to the `ha_platforms` list in the front
matter and update the heading from `## Button` to `## Buttons` to reflect
multiple buttons.
source/_integrations/smlight.markdown (1)

45-50: 🛠️ Refactor suggestion

Promote multi-radio section to a subheading.

The “Multi radio devices” description appears as an unstyled paragraph within the prerequisites list. Converting it to a proper subheading will improve structure. For example:

- Multi radio devices - Additional entities will be created for the second Zigbee radio...
+ ## Multi-radio devices
+
+ Additional entities will be created for the second Zigbee radio, including Zigbee firmware updates, temperature sensors, router reconnect button, and firmware type (Note: Zigbee restart and flash mode buttons remain shared). Requires core firmware `v2.8.x` or later.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

## Multi-radio devices

Additional entities will be created for the second Zigbee radio, including Zigbee firmware updates, temperature sensors, router reconnect button, and firmware type (Note: Zigbee restart and flash mode buttons remain shared). Requires core firmware `v2.8.x` or later.

- [SLZB-MR1](https://smlight.tech/product/slzb-mr1/)
- [SLZB-MR2](https://smlight.tech/product/slzb-mr2/)
- [SLZB-MR3](https://smlight.tech/product/slzb-mr3/)
🤖 Prompt for AI Agents
In source/_integrations/smlight.markdown around lines 45 to 50, the "Multi radio
devices" text is currently an unstyled paragraph within the prerequisites list.
Convert this text into a proper subheading by using markdown heading syntax
(e.g., prefix with ## or ###) to improve document structure and readability.
source/_integrations/nordpool.markdown (2)

244-249: ⚠️ Potential issue

Missing fallback for empty tomorrow prices
Removing the conditional check may cause a runtime error if data.prices is empty. Consider adding a guard or default value before calling min(data.prices).

🤖 Prompt for AI Agents
In source/_integrations/nordpool.markdown around lines 244 to 249, the code
calls min(data.prices) without checking if data.prices is empty, which can cause
a runtime error. Add a conditional check to ensure data.prices is not empty
before calling min, or provide a default fallback value to use when data.prices
is empty to prevent errors.

253-255: ⚠️ Potential issue

Ensure safe handling of empty attribute data
If tomorrow_price['SE3'] is empty, data.prices will be empty and may lead to unexpected output. Add a default fallback or conditional logic in the template.

🤖 Prompt for AI Agents
In source/_integrations/nordpool.markdown around lines 253 to 255, the template
code appends price data from tomorrow_price['SE3'] without checking if it is
empty, which can cause data.prices to be empty and lead to unexpected output.
Add a conditional check to verify that tomorrow_price['SE3'] contains data
before the loop, or provide a default fallback value for data.prices to ensure
it is never empty when rendered.
source/_integrations/bluesound.markdown (3)

76-78: ⚠️ Potential issue

Deprecated action ID is incorrect
The deprecation note references button.<player_name>_set_set_timer instead of the actual entity ID.

- {% note %} This action is deprecated. Use `button.<player_name>_set_set_timer` instead. {% endnote %}
+ {% note %} This action is deprecated. Use `button.<player_name>_set_sleep_timer` instead. {% endnote %}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

{% note %}
This action is deprecated. Use `button.<player_name>_set_sleep_timer` instead.
{% endnote %}
🤖 Prompt for AI Agents
In source/_integrations/bluesound.markdown around lines 76 to 78, the
deprecation note incorrectly references the action ID as
`button.<player_name>_set_set_timer`. Update this to the correct entity ID by
removing the duplicated "_set" so it reads `button.<player_name>_set_timer` to
accurately reflect the current entity ID.

27-34: ⚠️ Potential issue

Button entity name mismatch
The clear-sleep-timer entity is listed incorrectly as button.speaker_name_sleep_timer. It should be button.speaker_name_clear_sleep_timer.

- - `button.speaker_name_sleep_timer`: Clearing the sleep timer.
+ - `button.speaker_name_clear_sleep_timer`: Clearing the sleep timer.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

## Buttons

These are the available button entities:

- `button.speaker_name_set_sleep_timer`: Setting a sleep timer.
- `button.speaker_name_clear_sleep_timer`: Clearing the sleep timer.

Replace `speaker_name` with the name of your speaker.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~31-~31: Loose punctuation mark.
Context: ... - button.speaker_name_set_sleep_timer: Setting a sleep timer. - `button.speake...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~32-~32: Loose punctuation mark.
Context: ...mer. - button.speaker_name_sleep_timer: Clearing the sleep timer. Replace `spe...

(UNLIKELY_OPENING_PUNCTUATION)

🤖 Prompt for AI Agents
In source/_integrations/bluesound.markdown around lines 27 to 34, the button
entity for clearing the sleep timer is incorrectly named as
`button.speaker_name_sleep_timer`. Update this to the correct entity name
`button.speaker_name_clear_sleep_timer` to match the actual button entity.

89-91: ⚠️ Potential issue

Deprecated action ID is incorrect
The deprecation note references button.<player_name>_clear_set_timer instead of the actual entity ID.

- {% note %} This action is deprecated. Use `button.<player_name>_clear_set_timer` instead. {% endnote %}
+ {% note %} This action is deprecated. Use `button.<player_name>_clear_sleep_timer` instead. {% endnote %}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

{% note %}
This action is deprecated. Use `button.<player_name>_clear_sleep_timer` instead.
{% endnote %}
🤖 Prompt for AI Agents
In source/_integrations/bluesound.markdown around lines 89 to 91, the
deprecation note incorrectly references the action ID as
`button.<player_name>_clear_set_timer`. Update this to use the correct actual
entity ID for the deprecated action to accurately guide users on the replacement
action.
source/_integrations/shelly_zwave.markdown (2)

2-20: ⚠️ Potential issue

Add codeowners for maintainership clarity.

Brand integrations require a ha_codeowners field to assign ownership (e.g., - '@home-assistant/z-wave') in the metadata.

🤖 Prompt for AI Agents
In source/_integrations/shelly_zwave.markdown around lines 2 to 20, the metadata
is missing the ha_codeowners field which is required for brand integrations to
specify maintainership. Add a ha_codeowners field with the appropriate team or
user handle, for example ha_codeowners: ['@home-assistant/z-wave'], to clearly
assign ownership of this integration.

10-10: ⚠️ Potential issue

Correct integration domain slug.

ha_domain is set to shelly but should be shelly_zwave to match this integration’s directory and manifest domain.

🤖 Prompt for AI Agents
In source/_integrations/shelly_zwave.markdown at line 10, the ha_domain is
incorrectly set to shelly. Update the ha_domain value to shelly_zwave to match
the integration's directory name and manifest domain for consistency and
correctness.
source/_integrations/zimi.markdown (1)

24-25: ⚠️ Potential issue

Use consistent frontmatter keys.

Replace quality_scale with ha_quality_scale, and integration_type with ha_integration_type to adhere to the standard metadata schema.

🤖 Prompt for AI Agents
In source/_integrations/zimi.markdown at lines 24 to 25, replace the frontmatter
keys 'quality_scale' with 'ha_quality_scale' and 'integration_type' with
'ha_integration_type' to ensure consistency with the standard metadata schema
used across integrations.

@c0ffeeca7
Copy link
Contributor

Thank you for contributing, @XiaoLing-git 👍

Please also fill out the rest of the PR template
image

@c0ffeeca7
Copy link
Contributor

I'm drafting this PR, as changes are needed. Please undraft it, once the changes have been implemented and the PR is ready for review again.

@c0ffeeca7 c0ffeeca7 marked this pull request as draft June 10, 2025 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has-parent This PR has a parent PR in a other repo in-progress This PR/Issue is currently being worked on next This PR goes into the next branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants