A custom Home Assistant integration for monitoring and managing VMware Cloud Foundation (VCF) environments. This integration provides comprehensive monitoring of VCF domains, including update status, resource utilization, and automated upgrade workflows.
This automation integration was developed as a proof of concept for a project offered by EnBW and undertaken by students of Hochschule Karlsruhe.
- Domain Status Monitoring: Track all VCF domains with real-time update status
- Resource Utilization: Monitor CPU, memory, and storage usage across domains, clusters, and hosts
- Connection Status: Binary sensor for VCF connectivity with intelligent state preservation during upgrades
- Update Availability: Automatic detection of available VCF updates across all domains
- Automated Upgrade Workflows: Complete end-to-end VCF upgrade automation
- Domain-specific Upgrade Buttons: Start upgrades for individual domains
- Upgrade Status Tracking: Real-time status updates during upgrade processes
- Upgrade Logs: Detailed markdown-formatted logs for dashboard integration
- Alert Acknowledgment: Interactive buttons to acknowledge alerts during upgrades
VCF Overall Status- System-wide status overviewVCF Active Domains Count- Number of active domainsVCF [Domain] Status- Per-domain update statusVCF [Domain] CPU/Memory/Storage- Resource utilization sensorsVCF [Domain] [Cluster] host count- Host count per clusterVCF [Domain] Upgrade Status- Upgrade workflow statusVCF [Domain] Upgrade Logs- Markdown logs for dashboards
VCF Connection- Connectivity status with smart state preservationVCF Updates Available- Global update availability indicator
VCF Manual Update Check- Force refresh of update statusVCF Refresh Token- Manually refresh authentication tokenVCF [Domain] Start Upgrade- Initiate domain upgrade workflowVCF [Domain] Acknowledge Alerts- Acknowledge upgrade alerts
refresh_token- Refresh VCF authentication tokentrigger_upgrade- Trigger component-specific upgradesdownload_bundle- Download specific VCF bundlesstart_domain_upgrade- Start complete domain upgrade workflowacknowledge_upgrade_alerts- Acknowledge alerts during upgrades
- Open HACS in your Home Assistant instance
- Click on "Integrations"
- Click the three dots menu and select "Custom repositories"
- Add the repository URL:
https://github.com/Waffle-Destroyer/DataCenter-Assistant - Select "Integration" as the category
- Click "Add"
- Search for "DataCenter Assistant" and install
- Download the latest release from the releases page
- Extract the
custom_components/datacenter_assistantfolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
- Go to Settings → Devices & Services
- Click Add Integration
- Search for "DataCenter Assistant"
- Enter your VCF connection details:
- VCF URL: Your SDDC Manager URL (e.g.,
https://sddc-manager.example.com) - VCF Username: Username for VCF API access
- VCF Password: Password for VCF API access
- VCF URL: Your SDDC Manager URL (e.g.,
The integration provides a complete automated upgrade workflow:
- Check for Updates: Automatically detects available updates
- Target Version: Sets the target VCF version for upgrade
- Download Bundles: Downloads required upgrade bundles
- Pre-checks: Runs validation checks before upgrade
- Component Upgrades: Sequentially upgrades SDDC Manager, NSX, vCenter, and ESXi
- Final Validation: Validates successful upgrade completion
Monitor the upgrade process through:
sensor.vcf_[domain]_upgrade_status- Current upgrade stepsensor.vcf_[domain]_upgrade_logs- Detailed progress logs
The current implementation uses simplified, pre-configured request bodies that cover the most common upgrade scenarios.
Enable debug logging for troubleshooting:
logger:
default: warning
logs:
custom_components.datacenter_assistant: debugcustom_components/datacenter_assistant/
├── __init__.py # Integration initialization
├── config_flow.py # Configuration flow
├── coordinator.py # Data update coordinator
├── vcf_api.py # VCF API client
├── upgrade_service.py # Upgrade workflow service
├── entity_factory.py # Sensor entity factory
├── base_sensors.py # Base sensor classes
├── sensor.py # Sensor platform
├── binary_sensor.py # Binary sensor platform
├── button.py # Button platform
├── services.yaml # Service definitions
├── utils.py # Utility functions
├── manifest.json # Integration manifest
└── translations/ # Localization files
├── en.json
└── de.json
This integration was implemented with the assistance of AI tools (Claude Sonnet 4 Preview via GitHub Agent mode). The workflow design, conceptual framework, and prompt preparation were thoroughly done manually before implementation, which was the crucial step for the realization of the project.


