Monitor your Dominion Energy electricity usage in Home Assistant with high-resolution 30-minute interval data.
- 30-minute interval energy usage data
- Daily and monthly usage totals
- Cost estimation with multiple calculation modes:
- API Estimate: Derives rate from your actual bill (charges / usage)
- Fixed Rate: Single $/kWh rate
- Time-of-Use: Peak and off-peak rates by hour
- Full Energy Dashboard compatibility
- Automatic token refresh
- Open HACS in Home Assistant
- Click the three dots in the top right corner
- Select "Custom repositories"
- Add this repository URL and select "Integration" as the category
- Click "Add"
- Search for "Dominion Energy" and install it
- Restart Home Assistant
- Copy the
custom_components/dominion_energyfolder to your Home Assistantconfig/custom_components/directory - Restart Home Assistant
- Go to Home Assistant Settings > Devices & Services
- Click "Add Integration"
- Search for "Dominion Energy"
- Enter your Dominion Energy username (email) and password
- Complete the two-factor authentication (TFA) when prompted
- Select your account and meter if you have multiple
Note: SMS-based TFA is recommended. Email TFA may have reliability issues.
- After setup, click "Configure" on the integration
- Choose your cost calculation method:
- API Estimate: Uses your actual bill rate (recommended)
- Fixed Rate: Enter a single $/kWh rate
- Time-of-Use: Configure peak/off-peak rates and hours
| Sensor | Description | State Class |
|---|---|---|
| Latest Interval Usage | Most recent 30-minute reading (kWh) | measurement |
| Yesterday's Usage | Previous day's total consumption (kWh) | total_increasing |
| Current Month Usage | Month-to-date consumption (kWh) | total_increasing |
| Yesterday's Cost | Estimated cost for previous day ($) | total |
| Current Month Cost | Estimated cost for month-to-date ($) | total |
| Current Billing Period Usage | Usage in current billing cycle (kWh) | total_increasing |
| Last Bill Charges | Charges from previous bill ($) | total |
| Last Bill Usage | Usage from previous bill (kWh) | total |
| Effective Rate | Derived cost per kWh ($/kWh) | measurement |
Note: The Dominion Energy API only provides data for completed days. Yesterday's data typically becomes available the following morning. Sensors include a
data_dateattribute showing which day the data represents.
This integration provides external statistics for the Home Assistant Energy Dashboard with hourly granularity.
- Go to Settings → Dashboards → Energy
- Under Electricity grid, click Add consumption
- Search for your account number or "dominion"
- Select the statistic:
dominion_energy:{account_number}_energy_consumption - For cost tracking, select "Use an entity tracking the total costs"
- Select the cost statistic:
dominion_energy:{account_number}_energy_cost
| Statistic ID | Description |
|---|---|
dominion_energy:{account}_energy_consumption |
Cumulative energy consumption (kWh) |
dominion_energy:{account}_energy_cost |
Cumulative energy cost (uses configured cost mode) |
- The integration creates external statistics (not sensor entities) for the Energy Dashboard
- Data is aggregated from 30-minute intervals into hourly statistics
- 60 days of historical data are automatically backfilled on first setup
- Cost is calculated using your configured cost mode (API estimate, fixed rate, or TOU)
- Statistics update daily with the previous day's data
The Energy Dashboard works best with cumulative statistics that track total consumption over time. External statistics allow the integration to:
- Backfill historical data that existed before you installed the integration
- Provide accurate hourly breakdowns for energy analysis
- Handle the 1-day data delay gracefully
Tip: You can find your account number in the integration's device info or on your Dominion Energy bill.
Tokens automatically refresh in the background. If authentication fails:
- Home Assistant will show a notification to re-authenticate
- Click the notification to start the re-authentication flow
- Enter your username/password and complete TFA again
- Check your internet connection
- Verify Dominion Energy services are online
- Tokens may have expired after extended inactivity
- Use the re-authentication flow to log in again
- Data may take up to 30 minutes to appear after setup
- Historical data availability depends on Dominion Energy's API
The Dominion Energy API uses SAP Customer Data Cloud (Gigya) for authentication. The following API key is the default for all users:
GIGYA_API_KEY = "4_6zEg-HY_0eqpgdSONYkJkQ"
This is a public client identifier embedded in the Dominion Energy web app. It can be overridden via the GIGYA_API_KEY environment variable if Dominion updates it.
MIT License