-
-
Notifications
You must be signed in to change notification settings - Fork 7.5k
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 documentation for OneDrive #36768
base: next
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for home-assistant-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
📝 WalkthroughWalkthroughA new markdown documentation file for the OneDrive integration has been added to Home Assistant. The file provides comprehensive details about integrating OneDrive with Home Assistant Backups, including setup instructions, configuration requirements, and usage guidelines. It covers obtaining application credentials, supports account linking, and highlights current limitations such as support only for personal OneDrive accounts. Changes
Sequence DiagramsequenceDiagram
participant User
participant HomeAssistant
participant OneDrive
participant AzurePortal
User->>AzurePortal: Create client credentials
AzurePortal-->>User: Provide Client ID and Secret
User->>HomeAssistant: Configure OneDrive Integration
HomeAssistant->>OneDrive: Request Authorization
OneDrive-->>HomeAssistant: Grant Access
HomeAssistant->>OneDrive: Create Backup in App Folder
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: 1
🧹 Nitpick comments (3)
source/_integrations/onedrive.markdown (3)
16-16
: Fix grammatical errorThe sentence structure needs improvement.
-Backups will be created in the `App Folder` of your OneDrive, the integration does have no access to any other parts of your OneDrive except its own folder. +Backups will be created in the `App Folder` of your OneDrive. The integration has no access to any other parts of your OneDrive except its own folder.
32-32
: Fix typo in limitationsThere's a grammatical error in the limitation statement.
-Only personal OneDrives are supported a the moment +Only personal OneDrives are supported at the moment🧰 Tools
🪛 LanguageTool
[grammar] ~32-~32: Two determiners in a row. Choose either “a” or “the”.
Context: ...- Only personal OneDrives are supported a the moment ## Removing the integration Th...(DT_DT)
1-38
: Consider enhancing the documentationTo make the documentation more comprehensive, consider adding:
- A list of prerequisites (e.g., OneDrive account requirements)
- Examples of common use cases
- Troubleshooting section for common issues
- Information about backup retention policies or storage limits
Would you like me to help draft these additional sections?
🧰 Tools
🪛 LanguageTool
[misspelling] ~27-~27: Did you mean “ever”?
Context: ...one in the user context, so nobody will every have access to your data except you. Ho...(EVERY_EVER)
[grammar] ~32-~32: Two determiners in a row. Choose either “a” or “the”.
Context: ...- Only personal OneDrives are supported a the moment ## Removing the integration Th...(DT_DT)
🪛 Markdownlint (0.37.0)
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
28-28: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
🪛 GitHub Actions: home-assistant.io Test
[error] 26-26: Incorrect usage of the term: "Home assistant", use "Home Assistant" instead
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/onedrive.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/onedrive.markdown
[misspelling] ~27-~27: Did you mean “ever”?
Context: ...one in the user context, so nobody will every have access to your data except you. Ho...
(EVERY_EVER)
[grammar] ~32-~32: Two determiners in a row. Choose either “a” or “the”.
Context: ...- Only personal OneDrives are supported a the moment ## Removing the integration Th...
(DT_DT)
🪛 Markdownlint (0.37.0)
source/_integrations/onedrive.markdown
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
28-28: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
🪛 GitHub Actions: home-assistant.io Test
source/_integrations/onedrive.markdown
[error] 26-26: Incorrect usage of the term: "Home assistant", use "Home Assistant" instead
⏰ 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 (2)
source/_integrations/onedrive.markdown (2)
34-38
: LGTM!The removal instructions are clear and follow the standard template.
4-4
: Verify the release versionThe release version is set to
2025.2
. Please ensure this aligns with the planned release schedule and the parent PR in the core repository.✅ Verification successful
Release version 2025.2 is correctly set
The version aligns with other new integrations in the documentation, particularly the Overseerr integration which also targets the 2025.2 release.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check the version in the core PR gh api repos/home-assistant/core/pulls/134584 | jq -r '.body' | grep -i "version\|release"Length of output: 308
Script:
#!/bin/bash # Check manifest.json in the integration directory fd manifest.json --exec cat {} \; | grep -i "version" # Also check other recent integration docs for version patterns fd -e markdown -p 'source/_integrations' --changed-within 3months --exec grep -l "ha_release: 2025" {} \;Length of output: 534
Script:
#!/bin/bash # Check the exact version numbers in the found integration docs for file in ./source/_integrations/{harvey,cookidoo,peblar,slide_local,overseerr,powerfox,ohme,onedrive,eheimdigital}.markdown; do echo "=== $file ===" grep "ha_release:" "$file" doneLength of output: 2834
This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home assistant account linking. | ||
Everything is done in the user context, so nobody will every have access to your data except you. However, because you want to your own credentials this is possible, | ||
follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret |
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.
Fix multiple text issues
There are several issues in this section that need to be addressed:
- Incorrect capitalization of "Home assistant"
- Typo: "every" should be "ever"
- Incomplete/unclear sentence about custom credentials
-This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home assistant account linking.
-Everything is done in the user context, so nobody will every have access to your data except you. However, because you want to your own credentials this is possible,
-follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret
+This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home Assistant account linking.
+Everything is done in the user context, so nobody will ever have access to your data except you. However, if you want to use your own credentials,
+follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret.
📝 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.
This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home assistant account linking. | |
Everything is done in the user context, so nobody will every have access to your data except you. However, because you want to your own credentials this is possible, | |
follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret | |
This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home Assistant account linking. | |
Everything is done in the user context, so nobody will ever have access to your data except you. However, if you want to use your own credentials, | |
follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret. |
🧰 Tools
🪛 LanguageTool
[misspelling] ~27-~27: Did you mean “ever”?
Context: ...one in the user context, so nobody will every have access to your data except you. Ho...
(EVERY_EVER)
🪛 Markdownlint (0.37.0)
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
28-28: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
🪛 GitHub Actions: home-assistant.io Test
[error] 26-26: Incorrect usage of the term: "Home assistant", use "Home Assistant" instead
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
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/onedrive.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/onedrive.markdown
[grammar] ~32-~32: Two determiners in a row. Choose either “a” or “the”.
Context: ...- Only personal OneDrives are supported a the moment ## Removing the integration Th...
(DT_DT)
🪛 Markdownlint (0.37.0)
source/_integrations/onedrive.markdown
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
⏰ 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 (2)
source/_integrations/onedrive.markdown (2)
4-4
: Verify the release versionThe release version
2025.2
seems unusually far in the future. Please confirm if this is the intended version or if it should be adjusted to a closer release.
26-28
: LGTM! Clear and well-structured credentials sectionThe application credentials section provides clear instructions and good security context for users.
🧰 Tools
🪛 Markdownlint (0.37.0)
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
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: 1
🧹 Nitpick comments (1)
source/_integrations/onedrive.markdown (1)
51-51
: Improve precision in limitations statementConsider making the limitation statement more precise.
-Only personal OneDrives are supported at the moment +Only personal OneDrive accounts are currently supported🧰 Tools
🪛 LanguageTool
[style] ~51-~51: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...(AT_THE_MOMENT)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/onedrive.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/onedrive.markdown
[misspelling] ~18-~18: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ive. The integration only has access to a application specific home-assistant
f...
(EN_A_VS_AN)
[uncategorized] ~35-~35: Loose punctuation mark.
Context: ... to work: - Files.ReadWrite.AppFolder
: Grants the application permission to re...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~51-~51: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...
(AT_THE_MOMENT)
🪛 Markdownlint (0.37.0)
source/_integrations/onedrive.markdown
41-41: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
42-42: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
🔇 Additional comments (4)
source/_integrations/onedrive.markdown (4)
20-30
: LGTM! Configuration section is well structuredThe configuration section follows the standard template and clearly documents the required parameters.
31-38
: LGTM! Clear explanation of permissionsThe permissions section clearly explains each required permission and its purpose, helping users understand the security implications.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~35-~35: Loose punctuation mark.
Context: ... to work: -Files.ReadWrite.AppFolder
: Grants the application permission to re...(UNLIKELY_OPENING_PUNCTUATION)
39-48
: LGTM! Application credentials section is clear and accurateThe section provides clear instructions for both default and custom credentials setup, with appropriate warnings about Azure requirements.
🧰 Tools
🪛 Markdownlint (0.37.0)
41-41: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
42-42: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
4-4
: Verify the release versionThe release version is set to
2025.2
. Please ensure this aligns with the planned release schedule and the parent PR in the core repository.✅ Verification successful
Release version 2025.2 is valid
The version aligns with other documented 2025.x releases and follows the established versioning pattern.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if the version exists in the core repository gh api repos/home-assistant/core/branches | jq -r '.[].name' | grep -E "release-202[0-9]\.[0-9]"Length of output: 98
Script:
#!/bin/bash # Find recent ha_release versions in integration files rg "ha_release: 202[0-9]\.[0-9]" "source/_integrations/" -l | while read -r file; do echo "=== $file ===" grep "ha_release:" "$file" doneLength of output: 68983
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/onedrive.markdown (1)
44-46
: Remove trailing spacesPlease remove the trailing spaces at the end of these lines for consistency with markdown formatting standards.
🧰 Tools
🪛 Markdownlint (0.37.0)
44-44: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
45-45: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/onedrive.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/onedrive.markdown
[uncategorized] ~38-~38: Loose punctuation mark.
Context: ... to work: - Files.ReadWrite.AppFolder
: Grants the application permission to re...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~54-~54: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...
(AT_THE_MOMENT)
🪛 Markdownlint (0.37.0)
source/_integrations/onedrive.markdown
44-44: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
45-45: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
⏰ 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 (5)
source/_integrations/onedrive.markdown (5)
4-4
: Verify the release versionThe release version is set to
2025.2
. Please confirm if this is the intended version or if it should be adjusted to match the actual planned release schedule.
18-21
: Well-structured introduction and clear folder access explanation!The introduction effectively communicates the integration's purpose, and the folder structure explanation clearly defines the scope of access.
23-32
: Configuration section follows documentation standards!The configuration section properly uses templates and clearly documents the available options.
34-41
: Clear and comprehensive permissions documentation!The permissions section effectively explains each required permission and its purpose.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~38-~38: Loose punctuation mark.
Context: ... to work: -Files.ReadWrite.AppFolder
: Grants the application permission to re...(UNLIKELY_OPENING_PUNCTUATION)
52-60
: Clear limitations and removal instructions!The section effectively communicates the current limitations and provides appropriate removal instructions.
🧰 Tools
🪛 LanguageTool
[style] ~54-~54: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...(AT_THE_MOMENT)
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 (5)
source/_integrations/onedrive.markdown (5)
26-30
: Enhance configuration descriptionsConsider adding more context about the default values and when users might want to use custom credentials.
Client ID: - description: "Application Id of the app registration to be used with the integration. Uses Home Assistant provided by default." + description: "Application Id of the app registration. Leave empty to use Home Assistant's official credentials (recommended for most users)." Client secret: - description: "Application secret for the app registration. Uses Home Assistant provided by default." + description: "Application secret for the app registration. Leave empty to use Home Assistant's official credentials (recommended for most users)."
37-41
: Improve formatting consistencyThe permissions section would benefit from consistent punctuation.
-The integration will request the following permissions on your OneDrive for the integration to work: +The integration requires the following permissions: - - `Files.ReadWrite.AppFolder`: Grants the application permission to read and write in its own, app-specific folder inside your OneDrive - - `offline_access`: Grants the application permission to refresh its authentication token without requiring your manual intervention +- `Files.ReadWrite.AppFolder`: Grants the application permission to read and write in its own, app-specific folder inside your OneDrive. +- `offline_access`: Grants the application permission to refresh its authentication token without requiring your manual intervention.🧰 Tools
🪛 LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark.
Context: ... to work: -Files.ReadWrite.AppFolder
: Grants the application permission to re...(UNLIKELY_OPENING_PUNCTUATION)
46-46
: Fix grammar in credentials explanationMinor grammatical improvements would enhance readability.
-Nobody will ever have access to your data except you, as the app does not have permission to do anything on its own. It only works with a signed in user (it only has `delegated` not `application permissions`). +Nobody will ever have access to your data except you, as the app does not have permission to do anything on its own. It only works with a signed-in user (it only has `delegated` permissions, not `application permissions`).🧰 Tools
🪛 LanguageTool
[grammar] ~46-~46: When ‘signed-in’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ything on its own. It only works with a signed in user (it only hasdelegated
not `appl...(LOGGED_IN_HYPHEN)
🪛 Markdownlint (0.37.0)
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
55-55
: Enhance limitations descriptionConsider being more specific about future plans or providing a link to track progress.
-Only personal OneDrives are supported at the moment +Only personal OneDrive accounts are currently supported. Business and educational accounts support is planned for a future release.🧰 Tools
🪛 LanguageTool
[style] ~55-~55: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...(AT_THE_MOMENT)
61-61
: Consider adding a troubleshooting sectionIt would be helpful to add a troubleshooting section that covers common issues users might encounter, such as:
- Authentication failures
- Backup creation failures
- Permission-related issues
Would you like me to help draft a troubleshooting section?
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/onedrive.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/onedrive.markdown
[uncategorized] ~39-~39: Loose punctuation mark.
Context: ... to work: - Files.ReadWrite.AppFolder
: Grants the application permission to re...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~46-~46: When ‘signed-in’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ything on its own. It only works with a signed in user (it only has delegated
not `appl...
(LOGGED_IN_HYPHEN)
[style] ~55-~55: For conciseness, consider replacing this expression with an adverb.
Context: ...- Only personal OneDrives are supported at the moment ## Removing the integration This inte...
(AT_THE_MOMENT)
🪛 Markdownlint (0.37.0)
source/_integrations/onedrive.markdown
45-45: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)
⏰ 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 (2)
source/_integrations/onedrive.markdown (2)
4-4
: Verify the release versionThe release version is set to
2025.2
. Please confirm if this is the intended version for the integration's release.
18-22
: Well-structured introduction with clear security boundaries!The introduction effectively communicates the integration's purpose, backup location, and access limitations. The multi-instance support through unique IDs is well explained.
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.
Thank you, @zweckj 👍
Proposed change
SSIA
Type of change
current
branch).current
branch).next
branch).next
branch).Additional information
Checklist
current
branch.next
branch.Summary by CodeRabbit
Summary by CodeRabbit
New Features
Documentation