A native Home Assistant Backup Agent integration for pCloud, enabling users to store, restore, and manage encrypted Home Assistant backups directly in their pCloud account.
- ✅ OAuth2 Authentication - Secure OAuth2 authentication with full 2FA support
- ✅ Region Support - Choose between EU or US pCloud datacenters
- ✅ Automatic Uploads - Integrates seamlessly with Home Assistant's backup system
- ✅ Backup Management - List, download, and delete backups from pCloud directly in Home Assistant
- ✅ Monitoring Sensors - Track backup count, last backup time, and sync status
- ✅ Encrypted Backups - Uses Home Assistant's built-in backup encryption
- ✅ Native Backup Agent - Fully integrated with Home Assistant's backup UI
- ✅ 2FA Compatible - Works seamlessly with pCloud accounts that have two-factor authentication enabled
- Open HACS in Home Assistant
- Go to Integrations tab
- Click Explore & Download Repositories (bottom right)
- Search for "pCloud Backup"
- Click on the integration and then click Download
- Restart Home Assistant (required after installation)
- After restart, go to Settings → Devices & Services
- Click Add Integration (bottom right)
- Search for "pCloud Backup" and select it
- Download the latest release
- Extract the
pcloud_backupfolder to yourcustom_componentsdirectory:config/custom_components/pcloud_backup/ - Restart Home Assistant (required after installation)
- After restart, go to Settings → Devices & Services
- Click Add Integration (bottom right)
- Search for "pCloud Backup" and select it
The integration uses OAuth2 authentication for secure access to your pCloud account. The setup process is straightforward:
- After installation, go to Settings → Devices & Services
- Click Add Integration
- Search for "pCloud Backup" and select it
- You'll be redirected to pCloud's OAuth2 authorization page in your browser
- Log in to your pCloud account (works with 2FA-enabled accounts)
- Review the permissions and click Allow or Authorize to grant access
- You'll be redirected back to the cloud Home Assistant redirect page
- If not already entered, enter the address to your Homeassistant installation and click on link account.
- You'll be prompted to enter the pCloud folder path where backups will be stored
- Default path:
/HomeAssistant/Backups - You can customize this path (e.g.,
/Backups/HomeAssistantor/MyBackups) - Click Submit
Note: The storage path can only be set during initial setup. To change it later, you'll need to remove and re-add the integration.
- The integration will automatically:
- Detect your pCloud region (EU or US datacenter)
- Test the connection to pCloud
- Register as a backup agent in Home Assistant
- You'll see a success message confirming the integration is set up
- The integration is now ready to use!
Once configured, the integration will:
- ✅ Appear in Settings → System → Backups as a backup destination
- ✅ Automatically upload all Home Assistant backups to pCloud
- ✅ Display pCloud backups alongside local backups in the backup manager
- ✅ Provide sensors for monitoring backup status
OAuth2 Redirect URI: The integration uses Home Assistant's OAuth2 redirect system. For Home Assistant Cloud users, the redirect URI is https://my.home-assistant.io/redirect/oauth. For local instances, Home Assistant automatically handles the redirect URI.
Region Detection: The integration automatically detects whether your pCloud account uses the EU or US datacenter based on the OAuth2 callback response. No manual configuration needed!
The integration provides the following sensors:
sensor.pcloud_remote_backup_count- Number of backups stored in pCloudsensor.pcloud_last_remote_backup- Timestamp of the last successful backup uploadsensor.pcloud_last_sync_status- Status of the last sync operation (OK/Failed)
- Go to Settings → System → Backups
- Click the three dots menu (⋮) in the top right corner
- Select Create Backup
- The backup will be created locally and automatically uploaded to pCloud
The integration automatically uploads every Home Assistant backup to pCloud.
Retention, encryption, scheduling and all other logic are entirely handled by the standard Home Assistant backup system—pCloud simply provides the remote storage destination.
All backups (both local and pCloud) are displayed in Settings → System → Backups. Backups stored in pCloud will be automatically shown alongside local backups.
- Go to Settings → System → Backups
- Find the backup you want to restore (local or from pCloud)
- Click the three dots menu next to the backup
- Select Restore
Note: On some Home Assistant installations (particularly Unraid Docker), remote restore directly from pCloud may fail with an error like
OSError: [Errno 39] Directory not empty: '/config/tmp_backups'. This is due to Home Assistant's behavior on certain platforms. If you encounter this issue, see the Troubleshooting section for a workaround.
- Home Assistant 2025.1 or later
- pCloud account (works with 2FA-enabled accounts)
- Active internet connection for backup synchronization
This integration uses OAuth2 authentication as documented in the pCloud OAuth2 documentation.
OAuth2 provides industry-standard secure authentication:
- OAuth2 Flow: Uses the authorization code flow for secure token exchange
- HTTPS Encryption: All API communication uses HTTPS (SSL/TLS)
- Secure Token Storage: Access tokens are stored securely in Home Assistant's credential store
- 2FA Support: Fully compatible with pCloud accounts that have two-factor authentication enabled
- No Password Storage: Your pCloud password is never stored or transmitted to Home Assistant
The integration follows pCloud's OAuth2 flow and ensures your credentials remain secure.
- OAuth2 authorization failed: Make sure you complete the authorization flow in your browser
- Authentication failed: Check that your pCloud account is active and accessible
- Region mismatch: The integration automatically detects your region, but you can verify it matches your account (EU vs US)
- Token expired: If you encounter authentication errors, try removing and re-adding the integration
- Verify your pCloud region selection matches your account (EU vs US datacenter)
- Check your internet connection
- Review Home Assistant logs for detailed error messages
- Ensure your pCloud account is active and accessible
- Ensure you have sufficient pCloud storage space
- Check network connectivity
- Verify the backup folder path is accessible
- Check Home Assistant logs for specific API error messages
On some Home Assistant installations (particularly Unraid Docker), remote restore directly from pCloud may fail with an error like:
OSError: [Errno 39] Directory not empty: '/config/tmp_backups'
This is a known issue related to Home Assistant's behavior on certain platforms and how it manages temporary backup files during the restore process.
Workaround: If you encounter this issue, you can restore backups using the following method:
-
Download the backup directly from pCloud:
- Log in to your pCloud account via web browser
- Navigate to your backup folder (default:
/HomeAssistant/Backups) - Download the
.tarbackup file to your computer
-
Upload and restore in Home Assistant:
- Go to Settings → System → Backups in Home Assistant
- Click the three dots menu (⋮) in the top right corner
- Select Upload Backup
- Choose the downloaded
.tarfile from your computer - Click Restore on the uploaded backup
⚠️ Important: This workaround requires your Home Assistant Backup encryption key. Make sure you have saved your backup encryption key before attempting to restore. Without the correct encryption key, you will not be able to restore the backup.
This integration follows Home Assistant's integration development guidelines:
- Python 3.11+
- Async/await patterns
- Type hints throughout
- Follows integration quality scale
This project uses Semantic Versioning with manual release workflow:
- PATCH (0.0.1): Bug fixes (
fix:) - MINOR (0.1.0): New features (
feat:) - MAJOR (1.0.0): Breaking changes (
feat!:orBREAKING CHANGE:)
Releases are created manually via GitHub Actions workflow dispatch with automatic changelog generation since the last version. See CONTRIBUTING.md for commit message guidelines.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- pCloud for their cloud storage service
- Home Assistant team for the backup system architecture
- Community contributors
last updated: 13.11.2025
