-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
Add Appwrite #36619
base: next
Are you sure you want to change the base?
Add Appwrite #36619
Conversation
✅ Deploy Preview for home-assistant-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
📝 WalkthroughWalkthroughThe pull request introduces a new integration for Appwrite, enabling users to execute functions in both self-hosted and cloud instances. It includes detailed documentation covering configuration requirements such as the Appwrite instance URL, project ID, and API key. The integration allows for triggering functions using the action Changes
Sequence DiagramsequenceDiagram
participant User
participant HomeAssistant
participant AppwriteInstance
User->>HomeAssistant: Trigger Appwrite Function
HomeAssistant->>AppwriteInstance: Execute Function
AppwriteInstance-->>HomeAssistant: Function Execution Result
HomeAssistant-->>User: Return Result
The sequence diagram illustrates the high-level interaction between the user, Home Assistant, and the Appwrite instance when executing a function through the new integration. Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (3)
source/_integrations/appwrite.markdown (3)
17-17
: Clarify action naming pattern and project ID uniquenessThe current description of the action pattern could be clearer. Consider revising to:
-The integration provides `appwrite.execute_function_{id}` action which can be used to trigger a function. Multiple instances of Appwrite are supported as long as the project id is unique. +The integration provides an action in the format `appwrite.execute_function_<instance_id>` which can be used to trigger functions. Multiple Appwrite instances are supported, but each must have a unique project ID in your Home Assistant configuration.
22-34
: Enhance configuration field descriptionsThe configuration fields would benefit from more detailed descriptions:
URL field should specify the expected format and protocol (e.g., "The full URL of your Appwrite instance including protocol, e.g., https://appwrite.yourdomain.com").
API key description should explain why each scope is needed:
execution.write
: Required for executing functionshealth.read
: Required for validating the connection
36-38
: Add context to reference linksConsider adding brief descriptions of what users will find in these references:
-[Appwrite Project ID Reference](https://appwrite.io/docs/references#api) - -[Appwrite API Key Reference](https://appwrite.io/docs/advanced/platform/api-keys) +For more information: +- [How to find your Project ID in Appwrite](https://appwrite.io/docs/references#api) +- [How to create and manage API keys with required scopes](https://appwrite.io/docs/advanced/platform/api-keys)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/appwrite.markdown
(1 hunks)
🔇 Additional comments (1)
source/_integrations/appwrite.markdown (1)
55-59
: LGTM!
The removal instructions are clear and correctly include the standard removal service template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (2)
source/_integrations/appwrite.markdown (2)
15-18
: Enhance introduction with prerequisites and documentation linksConsider adding:
- Prerequisites section mentioning minimum Appwrite version requirements
- Link to Appwrite's main documentation for those unfamiliar with the platform
- Brief mention of what Appwrite functions are and their common use cases
36-40
: Expand documentation resourcesConsider adding links to:
- Appwrite function creation and management documentation
- Troubleshooting guide for common issues
- Best practices for function development
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/appwrite.markdown
(1 hunks)
🔇 Additional comments (2)
source/_integrations/appwrite.markdown (2)
4-5
: Consider revising the integration category
The "Network" category might not be the most appropriate for a function execution service. Consider using "Integration" or "Automation" instead, as this better reflects the integration's purpose.
64-68
: LGTM!
The removal instructions are clear and correctly use the standard template.
There was a problem hiding this 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 (1)
source/_integrations/appwrite.markdown (1)
41-62
: Enhance example clarity and completenessConsider the following improvements to the examples:
- Add common headers to the
function_headers
example:function_headers: Content-Type: "application/json" # Common for JSON payloads X-Custom-Header: "value"
- Show both path and query parameter examples:
function_path: "/process/image?format=jpg" # Path + query parameters
- Add a comment explaining that the instance ID (1234560, 0987654) comes from the integration configuration.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/appwrite.markdown
(1 hunks)
🔇 Additional comments (4)
source/_integrations/appwrite.markdown (4)
4-5
: Consider revising the integration category
The "Network" category might not be the most appropriate for a function execution service. Consider using "Integration" or "Automation" instead, as this better reflects the integration's purpose.
15-17
: LGTM! Clear and informative introduction
The introduction effectively explains the integration's purpose and capabilities, including support for both self-hosted and cloud instances.
21-34
: Enhance configuration validation and security guidance
Please enhance the configuration section with:
- URL format guidance (e.g.,
https://cloud.appwrite.io/v1
orhttp://localhost/v1
) - Security considerations for API key storage
- Explanation of why the
health.read
scope is required
64-68
: LGTM! Clear removal instructions
The removal section correctly follows Home Assistant's standard documentation pattern.
Proposed change
Add Appwrite
Type of change
current
branch).current
branch).next
branch).next
branch).Additional information
Checklist
current
branch.next
branch.Summary by CodeRabbit