Skip to content

Add Zimi Cloud Controller Documentation #36668

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 25 commits into from
May 5, 2025

Conversation

markhannon
Copy link

@markhannon markhannon commented Jan 3, 2025

Proposed change

Add documentation for new integration for Zimi Cloud Connect support.

Replaces #35578

Type of change

  • Spelling, grammar or other readability improvements (current branch).
  • Adjusted missing or incorrect information in the current documentation (current branch).
  • [ X] 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

  • [ X] 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.
  • [ X] The documentation follows the Home Assistant documentation standards.

Summary by CodeRabbit

  • New Features

    • Added Zimi Cloud Controller integration for Home Assistant.
    • Supports control of Zimi-based devices through Cloud Connect.
    • Enables instant device data updates via Zimi API.
    • Step-by-step setup guide for integration configuration.
  • Limitations

    • Zimi Matter Connect currently unsupported.
    • Entity name changes require Home Assistant restart.
  • Chores

    • Added "Zimi" to the spell checker dictionary.
    • Updated command strings for "Generate" and "Preview" tasks to include --trace option for detailed output.

@home-assistant home-assistant bot added has-parent This PR has a parent PR in a other repo next This PR goes into the next branch labels Jan 3, 2025
Copy link

netlify bot commented Jan 3, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit 6fbb2cb
🔍 Latest deploy log https://app.netlify.com/sites/home-assistant-docs/deploys/6818575dfde1860008202600
😎 Deploy Preview https://deploy-preview-36668--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.

Copy link
Contributor

coderabbitai bot commented Jan 3, 2025

📝 Walkthrough

Walkthrough

The pull request introduces a new Home Assistant integration for the Zimi Cloud Controller, allowing users to connect and control Zimi-based devices through a cloud platform. It includes detailed setup instructions, configuration parameters, and troubleshooting guidelines. The integration specifically supports the Zimi Cloud Connect device, while the Zimi Matter Connect is noted as unsupported. Additionally, the pull request updates spell checker settings and modifies task commands in the development environment for enhanced output during execution.

Changes

File Change Summary
source/_integrations/zimi.markdown Added new integration documentation for Zimi Cloud Controller, including setup instructions, configuration parameters, supported device types, and troubleshooting guidelines.
.vscode/cSpell.json Added the word "Zimi" to the spell checker's recognized words list.
.vscode/tasks.json Updated commands for "Generate" and "Preview" tasks to include the --trace option for detailed output.

Sequence Diagram

sequenceDiagram
    participant User
    participant HomeAssistant
    participant ZimiCloudController
    participant ZimiDevices

    User->>HomeAssistant: Configure Zimi Integration
    HomeAssistant->>ZimiCloudController: Connect with credentials
    ZimiCloudController-->>HomeAssistant: Authenticate and discover devices
    HomeAssistant->>ZimiDevices: Establish control connections
    ZimiDevices-->>HomeAssistant: Enable real-time updates
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.

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.

Actionable comments posted: 0

🧹 Nitpick comments (7)
source/_integrations/zimi.markdown (7)

19-19: Improve conciseness

Consider revising to: "The Zimi integration allows you to control local devices connected to the Zimi mesh through your Zimi Cloud Controller in Home Assistant."

🧰 Tools
🪛 LanguageTool

[style] ~19-~19: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


42-42: Add details about locating device information

Consider adding specific instructions on how to find the IP and MAC address within the Zimi app interface.


51-55: Improve text formatting and readability

Please apply these improvements to the configuration descriptions:

  1. Add missing commas after conditional clauses
  2. Remove multiple consecutive spaces
  3. Use consistent punctuation

Example fix for the host description:

-    description: "The IP address of your Zimi Cloud Connect. You can find it via your router admin interface.    If no IP address is entered the integration will attempt to discover a Zimi Cloud Connect via a broadcast message on the local LAN."
+    description: "The IP address of your Zimi Cloud Connect. You can find it via your router admin interface. If no IP address is entered, the integration will attempt to discover a Zimi Cloud Connect via a broadcast message on the local LAN."
🧰 Tools
🪛 LanguageTool

[uncategorized] ~51-~51: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~53-~53: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


80-81: Remove extra blank lines

Remove the multiple consecutive blank lines to maintain consistent formatting.

🧰 Tools
🪛 Markdownlint (0.37.0)

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

(MD012, no-multiple-blanks)


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

(MD012, no-multiple-blanks)


66-78: Enhance entity capability descriptions

Consider adding more details about the capabilities of each entity type, such as:

  • Supported cover positions or tilt functionality
  • Available fan speeds or modes
  • Light color/temperature support if applicable
  • Any special features or limitations

84-84: Add details about the update mechanism

Consider adding more information about:

  • Expected update frequency
  • Any potential delays or timeouts
  • Network requirements for reliable updates

112-112: Use en dash for number ranges

Replace the hyphen with an en dash in "3-5 requests" for proper typography.

-typically more than 3-5 requests
+typically more than 3–5 requests
🧰 Tools
🪛 LanguageTool

[typographical] ~112-~112: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between c6b0128 and 603249b.

📒 Files selected for processing (1)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[style] ~19-~19: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


[uncategorized] ~51-~51: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~53-~53: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~112-~112: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

🪛 Markdownlint (0.37.0)
source/_integrations/zimi.markdown

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

(MD012, no-multiple-blanks)


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

(MD012, no-multiple-blanks)

🔇 Additional comments (2)
source/_integrations/zimi.markdown (2)

5-5: Verify IoT class classification

The integration is marked as Local Push, but the description mentions cloud connectivity. Please verify if this should be Cloud Push instead, as the integration seems to be cloud-based according to the documentation.


27-33: Verify product specification links

Both the Cloud Connect and Matter Connect products link to the same URL. Please verify if these should be different links.

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

🧹 Nitpick comments (5)
source/_integrations/zimi.markdown (5)

19-19: Consider a more concise introduction.

The sentence can be more concise by removing "of":

-The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and via this integration control all of the local devices connected to the Zimi mesh.
+The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and via this integration control all local devices connected to the Zimi mesh.
🧰 Tools
🪛 LanguageTool

[style] ~19-~19: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


53-53: Add the default port number in the description.

For completeness and to help users troubleshoot, consider including the actual default port number in the description.


62-79: Consider enhancing entity documentation.

While the basic functionality is covered, users would benefit from:

  • Examples of supported features (e.g., supported cover positions, fan speeds)
  • Available attributes and states
  • Example service calls or automations

Would you like me to help generate more detailed entity documentation with examples?


80-81: Remove extra blank lines.

Remove the extra blank lines to follow markdown formatting guidelines.

## Data updates

-

-
The integration is pushed updates from the Zimi Cloud Controller instantly via the Zimi API.
+
+The integration is pushed updates from the Zimi Cloud Controller instantly via the Zimi API.
🧰 Tools
🪛 Markdownlint (0.37.0)

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

(MD012, no-multiple-blanks)


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

(MD012, no-multiple-blanks)


109-111: Improve rate limiting documentation.

Consider:

  1. Using an en dash for the range: "3–5 requests"
  2. Adding more specific information about the rate limiting window
  3. Clarifying if these limits are per device or per network
🧰 Tools
🪛 LanguageTool

[typographical] ~110-~110: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 603249b and e19a46f.

📒 Files selected for processing (1)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[style] ~19-~19: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


[typographical] ~110-~110: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

🪛 Markdownlint (0.37.0)
source/_integrations/zimi.markdown

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

(MD012, no-multiple-blanks)


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

(MD012, no-multiple-blanks)

🔇 Additional comments (2)
source/_integrations/zimi.markdown (2)

1-17: LGTM! Metadata follows Home Assistant documentation standards.

The frontmatter is well-structured with appropriate categories matching the supported entities and correct IoT classification.


27-33: Verify device specification URLs.

Both the Cloud Connect and Matter Connect devices link to the same specifications URL. Please verify if these should be different URLs.

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

🧹 Nitpick comments (3)
source/_integrations/zimi.markdown (3)

15-18: Introduction and Wording Refinement

The introductory paragraph effectively explains the integration's purpose and includes a link to Zimi’s website. Consider rephrasing for brevity—e.g., removing unnecessary words such as "all of"—to further improve clarity (see static analysis hint).

🧰 Tools
🪛 LanguageTool

[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


47-49: Improve Configuration Parameter Descriptions

In the descriptions for the host and port parameters, consider adding appropriate punctuation (e.g., a missing comma) to enhance readability. Adjusting these descriptions will make the text flow more naturally.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~47-~47: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


89-94: Troubleshooting: Device Authorization Failure

The documentation describes the rate limiting behavior and provides recovery steps. Additionally, consider using an en dash (–) for the range "3–5 requests" for typographical consistency as suggested in the static analysis hint.

🧰 Tools
🪛 LanguageTool

[typographical] ~92-~92: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e19a46f and 2d575f3.

📒 Files selected for processing (3)
  • .vscode/cSpell.json (1 hunks)
  • .vscode/tasks.json (2 hunks)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


[uncategorized] ~47-~47: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~92-~92: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (13)
.vscode/tasks.json (2)

7-7: Updated Generate Task Command with --trace Option

The change correctly adds the --trace option to the generate task command. This will provide more detailed output, which is helpful for troubleshooting command execution during integration development.


16-16: Updated Preview Task Command with --trace Option

The addition of --trace to the preview command ensures consistency and improves diagnostic detail during execution.

.vscode/cSpell.json (1)

96-97: Include "Zimi" in Spell Checker

Adding "Zimi" to the words array ensures that terminology related to the new integration is recognized by the spell checker. This update improves documentation quality by reducing false spelling warnings.

source/_integrations/zimi.markdown (10)

1-13: Integration Metadata Validation

The front matter metadata (title, description, category, release, and code owners) is well defined. Ensure that the ha_release version ("2024.3.0") and ha_domain are correct for this integration release.


19-24: Supported Devices Section Clarity

The supported devices section clearly lists the Zimi Cloud Connect with a link to specifications. This is informative for users evaluating device compatibility.


25-30: Unsupported Devices Section

The unsupported devices section delineates which devices are not covered (e.g., Zimi Matter Connect) and provides appropriate links, ensuring users are clearly informed.


31-39: Prerequisites Section Review

The prerequisites section provides clear, step-by-step instructions for setting up the Zimi Cloud Connect. The numbering and instructions are concise and helpful.


41-52: Configuration Flow Inclusion

Including the configuration flow snippet via {% include integrations/config_flow.md %} is a good practice to maintain consistency across integration documentation. Parameter descriptions are detailed; however, consider revisiting punctuation (see subsequent comment).

🧰 Tools
🪛 LanguageTool

[uncategorized] ~47-~47: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


55-63: Available Entities Section

The section listing available entities, such as the Zimi Light Controller, is concise and clearly informs users about the functionality provided by the integration.


64-67: Data Updates Section

The documentation clearly explains that data updates from the Zimi Cloud Controller are pushed instantly, which is useful for users understanding the integration’s real-time behavior.


68-72: Known Limitations

The known limitations section is thorough, explaining that entity name changes will only update after a full restart. This detail is crucial for user expectations concerning update behavior.


73-75: Integration Removal Instructions

The removal instructions follow standard procedures, making it straightforward for users to reverse the integration if needed.


76-88: Troubleshooting: Missing Zimi Devices

The steps for troubleshooting missing devices are clear and concise, guiding users through re-running the discovery process effectively.

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: 5

🧹 Nitpick comments (4)
source/_integrations/zimi.markdown (4)

15-18: Improve introductory sentence for clarity
Add a comma after "Home Assistant" and remove the extra "of" to tighten the phrasing.

-The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and via this integration control all of the local devices connected to the Zimi mesh.
+The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant, via this integration control all the local devices connected to the Zimi mesh.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~15-~15: A comma might be missing here.
Context: ...Zimi Cloud Controller to Home Assistant and via this integration control all of the...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...ntroller to Home Assistant and via this integration control all of the local devices connec...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


33-39: Refine prerequisites wording
Consider clarifying grammar and parallel structure for better readability.

-A configured Zimi Cloud Connect and internet connection is needed for this integration to work.
+A Zimi Cloud Connect device configured and an internet connection are required for this integration to work.

45-52: Clean up configuration description punctuation
There are missing commas and excessive spaces in the description fields.

-host:
-    description: "The IP address of your Zimi Cloud Connect. You can find it via your router admin interface.    If no IP address is entered the integration will attempt to discover a Zimi Cloud Connect via a broadcast message on the local LAN."
+host:
+    description: "The IP address of your Zimi Cloud Connect. You can find it via your router admin interface. If no IP address is entered, the integration will attempt to discover a Zimi Cloud Connect via a broadcast message on the local LAN."
 port:
-    description: "The port number used to connect to your Zimi Cloud Connect.   If no port number is entered the integration will use the default port.   (The default port will be correct in almost all deployment scenarios)"
+    description: "The port number used to connect to your Zimi Cloud Connect. If no port number is entered, the integration will use the default port (correct in almost all deployment scenarios)."
 mac:
-    description: "The MAC address printed on the back of the Zimi Cloud Connect device (required)."
+    description: "The MAC address printed on the back of the Zimi Cloud Connect device (required)."
🧰 Tools
🪛 LanguageTool

[uncategorized] ~47-~47: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


108-119: Use en dash for numeric ranges
Typographically, use an en dash for ranges like "3–5".

-(typically more than 3-5 requests within a few minutes)
+(typically more than 3–5 requests within a few minutes)
🧰 Tools
🪛 LanguageTool

[typographical] ~111-~111: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2d575f3 and eda9cca.

📒 Files selected for processing (1)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[uncategorized] ~15-~15: A comma might be missing here.
Context: ...Zimi Cloud Controller to Home Assistant and via this integration control all of the...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...ntroller to Home Assistant and via this integration control all of the local devices connec...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


[uncategorized] ~47-~47: Possible missing comma found.
Context: ...admin interface. If no IP address is entered the integration will attempt to discove...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~49-~49: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~60-~60: Possible missing comma found.
Context: ...e to the correct type after the initial integration see [Change device type of a switch] (<...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~77-~77: Did you mean “PowerPoint” (= Microsoft presentation software)?
Context: ...Switch {Name}
Switch {Name}|Future| |Power Point|Outlet|2xOutlet|Outlet {Name}|Future| ...

(MICROSOFT_PRODUCTS)


[typographical] ~111-~111: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

🪛 GitHub Actions: home-assistant.io Test
source/_integrations/zimi.markdown

[warning] 387-417: remark-lint: Use "/" instead of "https://www.home-assistant.io/" (prohibited-strings)


[warning] 168-198: remark-lint: Use "/" instead of "https://www.home-assistant.io/" (prohibited-strings)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (8)
source/_integrations/zimi.markdown (8)

1-13: Verify frontmatter metadata accuracy
Please ensure the ha_release matches the first Home Assistant version that will ship this integration, and confirm that ha_category includes all relevant device categories (e.g., Cover, Fan, Outlet) rather than only Light.


21-23: Supported devices section is clear


41-44: Config flow include section

The {% include integrations/config_flow.md %} directive and accompanying prompt text are correctly implemented and align with Home Assistant standards.


67-78: Entity mapping table is well-formatted

🧰 Tools
🪛 LanguageTool

[grammar] ~77-~77: Did you mean “PowerPoint” (= Microsoft presentation software)?
Context: ...Switch {Name}
Switch {Name}|Future| |Power Point|Outlet|2xOutlet|Outlet {Name}|Future| ...

(MICROSOFT_PRODUCTS)


79-82: Zimi Light Controller subsection is accurate

The description clearly conveys the light entity capabilities.


87-90: Known limitations section is clear

The limitation regarding entity name changes is well explained.


91-94: Removing integration instructions are correct

Standard removal steps are clearly described.


95-106: Missing devices troubleshooting steps are clear

Discovery re-run instructions align with Home Assistant UX.

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

♻️ Duplicate comments (2)
source/_integrations/zimi.markdown (2)

29-29: ⚠️ Potential issue

Fix unsupported-device specification link
The URL for Zimi Matter Connect incorrectly points to the Cloud Connect spec. Update it to reference the Matter Connect product page instead:

- - Zimi Matter Connect ([links to specifications](https://zimi.life/product/cloud-connect/))
+ - Zimi Matter Connect ([links to specifications](https://zimi.life/product/matter-connect/))

64-64: ⚠️ Potential issue

Correct pluralization of "switchs"
Fix the misspelling to “switches”:

- 1. Zimi devices that are generic switchs will be shown in the UI as a switch and not as a light.
+ 1. Zimi devices that are generic switches will be shown in the UI as a switch and not as a light.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~64-~64: A comma might be missing here.
Context: ...e to the correct type after the initial integration see [Change device type of a switch](/i...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🧹 Nitpick comments (3)
source/_integrations/zimi.markdown (3)

15-15: Refine introductory sentence for clarity and conciseness
Add a comma after "Home Assistant" and remove the unnecessary "of" to improve readability:

- The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and via this integration control all of the local devices connected to the Zimi mesh.
+ The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant, and via this integration control local devices connected to the Zimi mesh.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~15-~15: A comma might be missing here.
Context: ...Zimi Cloud Controller to Home Assistant and via this integration control all of the...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...ntroller to Home Assistant and via this integration control all of the local devices connec...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


45-49: Add commas in conditional clauses for better readability
Insert commas before “then” in each conditional to clearly separate the condition from the result:

- If the Zimi discovery process is successful and there is a single Zimi Cloud Connect then the integration will be configured without further user input.
+ If the Zimi discovery process is successful and there is a single Zimi Cloud Connect, then the integration will be configured without further user input.

- If the Zimi discovery process is successful and there are multiple Zimi Cloud Connects present then the user will be prompted to select the desired Zimi Cloud Connect.
+ If the Zimi discovery process is successful and there are multiple Zimi Cloud Connects present, then the user will be prompted to select the desired Zimi Cloud Connect.

- If the Zimi discovery process is unsuccessful (i.e. the Zimi Cloud Connect is not reachable on the local LAN) then the user will be prompted for the following parameters:
+ If the Zimi discovery process is unsuccessful (i.e. the Zimi Cloud Connect is not reachable on the local LAN), then the user will be prompted for the following parameters:
🧰 Tools
🪛 LanguageTool

[uncategorized] ~45-~45: Possible missing comma found.
Context: ...essful and there is a single Zimi Cloud Connect then the integration will be configured...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~47-~47: Possible missing comma found.
Context: ... there are multiple Zimi Cloud Connects present then the user will be prompted to selec...

(AI_HYDRA_LEO_MISSING_COMMA)


89-90: Clarify data-update wording
Use active voice to describe incoming updates:

- The integration is pushed updates from the Zimi Cloud Controller instantly via the Zimi API.
+ The integration receives updates instantly from the Zimi Cloud Controller via the Zimi API.
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between eda9cca and e7f3943.

⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[uncategorized] ~15-~15: A comma might be missing here.
Context: ...Zimi Cloud Controller to Home Assistant and via this integration control all of the...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...ntroller to Home Assistant and via this integration control all of the local devices connec...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~15-~15: Consider removing “of” to be more concise
Context: ...istant and via this integration control all of the local devices connected to the Zimi mes...

(ALL_OF_THE)


[uncategorized] ~45-~45: Possible missing comma found.
Context: ...essful and there is a single Zimi Cloud Connect then the integration will be configured...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~47-~47: Possible missing comma found.
Context: ... there are multiple Zimi Cloud Connects present then the user will be prompted to selec...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~55-~55: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~64-~64: A comma might be missing here.
Context: ...e to the correct type after the initial integration see [Change device type of a switch](/i...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[grammar] ~81-~81: Did you mean “PowerPoint” (= Microsoft presentation software)?
Context: ...Switch {Name}
Switch {Name}|Future| |Power Point|Outlet|2xOutlet|Outlet {Name}|Future| ...

(MICROSOFT_PRODUCTS)


[typographical] ~115-~115: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

@markhannon
Copy link
Author

I see I have a Gemfile.lock merge issue. I think I shouldn't have committed Gemfile.lock??

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

♻️ Duplicate comments (1)
source/_integrations/zimi.markdown (1)

64-64: Insert comma before “see” for a clearer directive.

The phrase “after the initial integration see” should read “after the initial integration, see”.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~64-~64: A comma might be missing here.
Context: ...e to the correct type after the initial integration see [Change device type of a switch](/i...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

🧹 Nitpick comments (5)
source/_integrations/zimi.markdown (5)

15-15: Suggest refining punctuation around the parenthetical phrase for clarity.

The phrase “and, via this integration control” uses a comma only after “and”. For proper parenthetical usage, add a comma after “integration” as well:

-The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and, via this integration control local devices connected to the Zimi mesh.
+The Zimi integration allows you to connect your Zimi Cloud Controller to Home Assistant and, via this integration, control local devices connected to the Zimi mesh.
🧰 Tools
🪛 LanguageTool

[typographical] ~15-~15: The comma may be misplaced. Try moving it before ‘and’, or removing it altogether.
Context: ... Zimi Cloud Controller to Home Assistant and, via this integration control local devi...

(COMMA_AFTER_AND)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...troller to Home Assistant and, via this integration control local devices connected to the ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


55-55: Add missing comma after the introductory clause.

In the sentence “If no port number is entered the integration will…”, insert a comma after “entered”:

-    description: "The port number used to connect to your Zimi Cloud Connect.   If no port number is entered the integration will use the default port.   (The default port will be correct in almost all deployment scenarios)"
+    description: "The port number used to connect to your Zimi Cloud Connect.   If no port number is entered, the integration will use the default port.   (The default port will be correct in almost all deployment scenarios)"
🧰 Tools
🪛 LanguageTool

[uncategorized] ~55-~55: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


89-89: Remove redundant “instantly” for conciseness.

The sentence repeats “instantly”. Consider:

-The integration receives updates instantly from the Zimi Cloud Controller instantly via the Zimi API.
+The integration receives updates instantly from the Zimi Cloud Controller via the Zimi API.

101-101: Standardize heading capitalization.

Use title case for headings: change “Missing Zimi devices” to “Missing Zimi Devices” to match other sections.


69-82: Optional: improve table readability by adding spaces around pipe separators.

Align table rows with the header spacing:

-|Blind Controller|Cover|1xCover|Cover {Name}|Future|
+| Blind Controller | Cover | 1xCover | Cover {Name} | Future |
🧰 Tools
🪛 LanguageTool

[grammar] ~81-~81: Did you mean “PowerPoint” (= Microsoft presentation software)?
Context: ...Switch {Name}
Switch {Name}|Future| |Power Point|Outlet|2xOutlet|Outlet {Name}|Future| ...

(MICROSOFT_PRODUCTS)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e7f3943 and 5fcda97.

📒 Files selected for processing (1)
  • source/_integrations/zimi.markdown (1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/zimi.markdown

[typographical] ~15-~15: The comma may be misplaced. Try moving it before ‘and’, or removing it altogether.
Context: ... Zimi Cloud Controller to Home Assistant and, via this integration control local devi...

(COMMA_AFTER_AND)


[uncategorized] ~15-~15: A comma might be missing here.
Context: ...troller to Home Assistant and, via this integration control local devices connected to the ...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~55-~55: Possible missing comma found.
Context: ...i Cloud Connect. If no port number is entered the integration will use the default po...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~64-~64: A comma might be missing here.
Context: ...e to the correct type after the initial integration see [Change device type of a switch](/i...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[grammar] ~81-~81: Did you mean “PowerPoint” (= Microsoft presentation software)?
Context: ...Switch {Name}
Switch {Name}|Future| |Power Point|Outlet|2xOutlet|Outlet {Name}|Future| ...

(MICROSOFT_PRODUCTS)


[typographical] ~115-~115: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...xceed these limits (typically more than 3-5 requests within a few minutes), the dev...

(HYPHEN_TO_EN)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs

@home-assistant home-assistant bot added the parent-merged The parent PR has been merged already label May 4, 2025
c0ffeeca7
c0ffeeca7 previously approved these changes May 5, 2025
Copy link
Contributor

@c0ffeeca7 c0ffeeca7 left a comment

Choose a reason for hiding this comment

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

Thank you, @markhannon 👍

@c0ffeeca7 c0ffeeca7 merged commit d6e43b0 into home-assistant:next May 5, 2025
7 checks passed
@home-assistant home-assistant bot removed the parent-merged The parent PR has been merged already label May 5, 2025
@markhannon markhannon deleted the zimi-v2 branch May 5, 2025 06:24
@github-actions github-actions bot locked and limited conversation to collaborators May 6, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
has-parent This PR has a parent PR in a other repo next This PR goes into the next branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants