A fully configurable Home Assistant Lovelace dashboard for monitoring solar, battery, and grid energy systems. Features animated power flow visualization, real-time energy charts with EMHASS, HAEO, and Energy Manager forecast overlays, battery pack monitoring, and a 4-tab settings UI for complete customization — no YAML editing required.
New in
v2.26.1: Sankey card height scaling fix (now uses aspect-ratio instead of fixed pixels) and dashboard column rebalance (house card gets more room, Sankey narrower).New in
v2.26.0: Major Cable Path Editor overhaul with full-screen modal, scroll-to-zoom (cursor-centered, 0.5x-5x), drag-to-pan, click-to-place points, right-click-to-delete, and active-path focus (inactive paths fade to thin lines, no more visual clutter). Plus EV 2 in Sankey as a separate destination node, dashboard section visibility toggles (show/hide House Card, Sankey, Chart, Smart Loads, Insights independently), a new simplified chart mode, solar coverage stat card, improved self-sufficiency calculation, and HA-stored config profiles.New in
v2.25.1: Sankey energy flow accuracy fix (issue #36) with conservation seed flows, EV 2 clickable detail modal on the house card, and an optional Time to Full Charge entity field for both EVs.New in
v2.25.0: a two-EV / two-car garage house scene, latest EMS event cards, Forecasts "Past Events" tab working on non-Sigenergy inverters (Deye/SolaX/Goodwe) with real prices, and forecast-chart fixes.
Inverter-agnostic: Works with any solar/battery inverter (Deye, SunSynk, Sigenergy, Huawei, Fronius, SolarEdge, Enphase, etc.) — just map your entity IDs in the Settings tab.
Animated house card with real-time power flow, sankey energy diagram, and battery system status — all in one view.
48-hour time-series chart with solar, battery, grid, and consumption traces — plus EMHASS MPC or HAEO optimization forecast overlays, price curves, deferrable load schedules, and a collapsible forecast timeline table with per-timeslot data.
4-tab configuration UI with live entity validation — no YAML editing required. Map your entities, toggle features, configure pricing, and set display preferences.
Toggle EV Charger and Heat Pump in the settings to dynamically update the house card — the garage gate opens to show the EV charging, and the heat pump unit appears on the side of the house.
Built-in visual cable path editor for customizing the animated power flow routes on the house card. Drag control points to reposition cables, snap to grid, and apply changes instantly.
- Screenshots
- Features
- Prerequisites
- Installation
- Automated Prerequisite Detection
- Quick Start Guide
- Configuration Guide
- Entity Reference
- Feature Toggles
- Pricing Configuration
- Display Preferences
- House Card Customization
- Responsive Layout
- Dependencies
- Troubleshooting
- Project Structure
- Contributing
- License
- Animated House Card — Isometric 3D house with real-time animated power flow "comets" showing solar generation, battery charge/discharge, grid import/export, EV charging, and heat pump usage. Optional EV SoC/range labels and automatic EV visibility keep the vehicle, charger, cable, and flow hidden until the EV is connected or charging
- Battery Runtime Estimate — Shows estimated time-to-full (charging) or time-to-empty (discharging) below the battery status on the house card. Uses configurable SoC targets from your inverter's charge cutoff and discharge reserve settings, with auto-detection for all major brands
- Responsive House Design — Toggle EV charger/heat pump in settings and the house card updates dynamically: garage gate opens to show EV charging, heat pump unit appears on the house exterior. With two EV chargers it switches to a two-car garage where each bay opens independently for its connected vehicle, each with its own charger and flow cable
- Cable Path Editor — Built-in visual editor for customizing animated power flow cable routes with drag-to-reposition control points and snap-to-grid
- Native Energy Flow Card — Built-in SVG energy flow visualization (
sigenergy-energy-flow-card) with thick gradient ribbon flows, proportional bar sizing, and interactive hover highlighting. Replaces the third-partyha-sankey-chartdependency — no external HACS plugin needed. Three adaptive label modes (Normal/Compact/Inline) based on bar height, with Safari/Chrome/Firefox cross-browser compatibility. Entities below 0.1 kWh are automatically hidden for a cleaner chart - Dual-Tariff Grid Support — When your inverter exposes separate high/low tariff daily import or export sensors, the Sankey chart and breakdown panel automatically sum both tariffs if no combined daily total entity is available
- Battery System Card — SVG-based battery stack visualization with expandable detail panels for each inverter and battery pack (SoC, SoH, voltage, current, cycles, cell voltages, temperatures)
- Status Cards — Real-time power values (Solar, Home, Battery, Grid) and daily energy totals (kWh)
- ApexCharts Integration — 24h or 48h time-series chart with Solar, Battery, Grid, and Consumption traces
- Solar Forecast Chart Overlay — Overlays Solcast PV forecast as a dashed gold area series on the energy chart, using the
detailedForecastattribute from your Solcast sensor. Chart automatically extends to 48h when enabled - EMS Forecast Overlays — Supports EMHASS (MPC forecast), HAEO (optimization schedule via
forecastattribute), and Energy Manager as energy management system providers. Dashed forecast lines for planned PV, battery, grid, load, SOC, and price targets - Forecast Timeline Table — V2 event-card timeline for upcoming EMS decisions and historical events. Displays Time, Buy/Sell prices, PV, Load, Grid, Battery power (kW), and SoC (%), with day dividers, current-time indicators, colored prices, and per-timeslot cost/profit data. Supports EMHASS, HAEO, and Energy Manager providers
- Price Overlay — Import/export electricity price curves on secondary Y-axis
- Deferrable Load Tracking — Heat pump, boiler, and other deferrable load schedules
- 4-tab configuration card with live entity validation
- Kiosk Mode — Dedicated display mode that hides the HA sidebar, header, and toolbar for tablets/wall displays. Resolution-aware spacing (1080p, 1440p, 4K) with a floating exit button. Enable in Display → Kiosk Mode
- Entity Configuration — Map your HA entities to ~70 dashboard slots with real-time state badges
- Auto-Detect from HA Energy Dashboard — One-click detection of grid sources, solar, battery, Solcast, EV chargers, and heat pumps from your HA Energy Dashboard configuration. Supports broadened keyword matching for EV charger and vehicle integrations (Tesla/Teslemetry, Zappi, Easee, Zaptec, Wallbox, ChargePoint, OCPP, BMW, FordPass, Hyundai/Kia, Volkswagen, Polestar, Volvo, BYD, MG, etc.) and 20+ heat pump brands (Daikin, Nibe, Vaillant, Viessmann, etc.)
- Cumulative Sensor Support — Automatically detects cumulative (lifetime total) energy sensors and creates HA utility_meter helpers for daily tracking. Works with both daily-resetting and always-increasing sensor types
- EV & Heat Pump in Sankey — Add EV and/or heat pump energy as destination nodes in the Sankey flow chart, with auto-detect and daily meter auto-creation for cumulative sensors
- Feature Toggles — Enable/disable EV charger, automatic EV visibility, heat pump, EMS provider (None/EMHASS/HAEO/Energy Manager), solar forecast, financial tracking
- Pricing Setup — Configure price entities, thresholds, currency
- Display Preferences — Decimal places, chart range, SoC ring thresholds, power auto-scaling
- Responsive Toggle UI — Optimized event handling prevents missed clicks and lag; hass state updates no longer trigger full DOM rebuilds
- Bundled dark theme (
sigenergy_dark) — consistent appearance regardless of your HA theme - Responsive layout — Adapts from 3-column desktop to 2-column tablet to single-column mobile
- Home Assistant 2024.1.0 or newer
- HACS (Home Assistant Community Store) — Installation Guide
The dashboard requires the following HACS frontend plugins. The integration automatically detects missing cards and shows a banner in the Settings view with direct install links for each one:
You can also install them manually:
| Plugin | Install Link | Purpose |
|---|---|---|
| Layout Card | Responsive grid layout | |
| ApexCharts Card | Energy time-series charts | |
| Mushroom Cards | Status pills and cards | |
| Card Mod | CSS styling injection | |
| HTML Jinja2 Template Card | HTML forecast tables |
Note: After installing the plugins, restart Home Assistant and hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R).
| Integration | Purpose |
|---|---|
| EMHASS | Energy optimization (add-on), MPC forecasts, financial tracking |
| HAEO | Energy optimization (HACS integration), LP-based schedule with forecast attributes |
| Nordpool | Electricity spot prices (Europe) |
| Solcast PV Forecast | Solar production forecasts |
| Gobel Battery Monitor or similar BMS | Per-pack cell voltage and temperature monitoring |
The integration will automatically detect missing HACS frontend plugins and guide you through installation (see Prerequisites). You can also pre-install them via the install links above.
🔴 RESTART REQUIRED: After installing any new HACS plugins, you must restart Home Assistant (Settings → System → Restart). Without a restart, the integration cannot detect the newly installed cards and auto-detection will not work.
- Click the button above, or open HACS → Integrations → click the three dots (⋮) → Custom repositories
- Paste the GitHub repository URL, select Integration as category, click Add
- Search for Genergy Dashboard and click Install
- 🔴 Restart Home Assistant (Settings → System → Restart)
- Download the latest release ZIP
- Copy the
custom_components/genergy_dashboard/folder to your HA config directory:custom_components/genergy_dashboard/ → /config/custom_components/genergy_dashboard/ - 🔴 Restart Home Assistant (Settings → System → Restart)
- In Home Assistant go to Settings → Devices & Services → Add Integration
- Search for Genergy Dashboard
- A guided config flow walks you through entity mapping:
- Step 1 — Core Sensors: Map your solar, battery, grid, and load power entities
- Step 2 — Energy Totals: Map daily energy sensors (solar, consumption, grid import/export, battery charge/discharge)
- Step 3 — Features: Enable optional features (EMS: EMHASS, HAEO, or Energy Manager; Solcast; EV charger; heat pump) and map their entities
- Click Submit — the integration automatically:
- Registers the dashboard in Lovelace with Show in Sidebar enabled
- Generates the full dashboard configuration from the template + your entity mappings
- Installs the bundled
sigenergy_darktheme - Registers the JS resources for custom cards (house card, settings card, device card)
- The Genergy dashboard appears in the sidebar immediately — no restart required
All inverter brands (Huawei, Deye, Goodwe, SolarEdge, Fronius, Enphase, etc.): Leave the Sigenergy toggle OFF on the first step. The config flow walks you through selecting your entities manually — just pick the right sensors from the dropdowns. After setup, the Settings card's Auto-Detect button can find common entities automatically.
Sigenergy users only: Check the "I have a Sigenergy inverter" toggle on the first step. This pre-fills all entity IDs with the correct Sigenergy naming convention (
sensor.sigen_plant_*/sensor.sigen_inverter_*) and creates the dashboard immediately — no manual entity mapping required.
Note: The dashboard is created with URL path
dashboard-sigenergy. The settings card uses this path to persist your configuration.
🟡 IMPORTANT — Save & Apply: After changing any entities or feature toggles, you must click "🔄 Apply Settings to Dashboard" at the bottom of the Settings card. This button is visible on every tab. Without applying, the dashboard will not reflect your changes. Settings are saved automatically, but the dashboard layout only rebuilds when you explicitly Apply.
The integration includes a two-layer detection system that automatically checks for required HACS frontend plugins:
When the integration loads, it scans your Lovelace resource list for the required cards. If any are missing:
- A persistent notification appears in Home Assistant with direct install links for each missing card
- A Repair issue is created in Settings → System → Repairs with a warning
When you open the Settings tab, the dashboard checks if required custom elements are registered in the browser. If any are missing:
- A red banner appears at the top of the Settings card listing each missing card with:
- Card name and purpose
- "Install via HACS" button that links directly to the correct HACS repository page (via my.home-assistant.io)
- Fallback search terms for manual HACS browsing
- Dismiss button to hide the banner (stored in localStorage)
- Re-check button to verify after installing
🔴 After installing missing cards: You must restart Home Assistant (Settings → System → Restart), then hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R). The banner will automatically disappear once all cards are detected.
After adding the integration, the dashboard is pre-configured with your entity mappings:
- Navigate to the Genergy dashboard in the sidebar
- Verify your data is showing correctly in the overview
- Open the Settings tab (⚙️ gear icon) to fine-tune:
- ⚡ Entities — Adjust or add entity mappings (each field shows a live state badge)
- 🔧 Features — Toggle EV charger, automatic EV visibility, heat pump, EMS provider (EMHASS/HAEO/Energy Manager), solar forecast, etc.
- 💰 Pricing — Configure price entities, thresholds, currency
- 🎨 Display — Theme, decimal places, chart range
- 🟡 Click "🔄 Apply Settings to Dashboard" at the bottom of any tab to rebuild the dashboard with your settings
- The dashboard rebuilds automatically with your updated configuration
Tip: If you skipped any optional entities during the config flow, you can add them later in the Settings tab.
Restarting HA is required for the integration to register its JS resources, detect prerequisites, and load new versions. You must restart after:
| Scenario | Restart Required? |
|---|---|
| First install of Genergy Dashboard | ✅ Yes |
| Updating Genergy Dashboard to a new version | ✅ Yes |
| Installing a missing HACS frontend plugin (ApexCharts, Mushroom, etc.) | ✅ Yes |
| Changing entities or toggling features in Settings | ❌ No — click 🔄 Apply Settings to Dashboard instead |
| Changing display/pricing settings | ❌ No — settings save automatically |
💡 After every restart, do a hard-refresh in your browser (Ctrl+Shift+R / Cmd+Shift+R) to clear cached JS files.
After changing entities or feature toggles, you must click "🔄 Apply Settings to Dashboard" to rebuild the dashboard. This button is now visible at the bottom of every tab (Entities, Features, Pricing, Display).
Without clicking Apply, the dashboard will continue showing the old configuration, even though your settings are saved.
What "Apply" does:
- Rebuilds the overview chart (adds/removes forecast series, financial tracking, etc.)
- Updates the Sankey energy flow diagram with your entity mappings
- Regenerates all cards based on enabled features (EV, heat pump, EMS, etc.)
Go to Developer Tools → States in Home Assistant and search for your inverter's entities. Common patterns by brand:
| Inverter | Solar Power | Battery Power | Grid Power |
|---|---|---|---|
| Deye | sensor.deyeinverter_pv_power |
sensor.deyeinverter_battery_output_power |
sensor.deyeinverter_grid_load_l1 |
| SunSynk | sensor.sunsynk_pv_power |
sensor.sunsynk_battery_power |
sensor.sunsynk_grid_power |
| Sigenergy | sensor.sigen_plant_pv_power |
sensor.sigen_plant_battery_power |
sensor.sigen_plant_grid_active_power |
| Huawei | sensor.inverter_input_power |
sensor.battery_charge_discharge_power |
sensor.power_meter_active_power |
| SolarEdge | sensor.solaredge_current_power |
sensor.solaredge_storage_power |
sensor.solaredge_grid_power |
| Fronius | sensor.fronius_pv_power |
sensor.fronius_battery_power |
sensor.fronius_grid_power |
These are examples — actual entity names depend on your specific setup. Check Developer Tools → States.
Your settings are stored in two places for reliability:
- Browser localStorage — instant load on page open (fast cache)
- HA dashboard config — synced via WebSocket, survives browser cache clears
Settings auto-sync between browsers on the same HA instance.
If you have a Sigenergy inverter system, the integration includes a comprehensive auto-detect feature that scans for sensor.sigen_* entities in your Home Assistant instance and automatically maps:
- Plant-level: solar power, load power, battery power, battery SoC, grid active power, and all daily energy totals
- Inverter-level: inverter temperature, battery temperature, and PV string power (PV1–PV6)
- Battery sign convention: Automatically sets
battery_positive_charging: true(Sigenergy uses positive values for charging) - PV string count: Detects how many PV strings are connected and sets the count accordingly
To use: check the "I have a Sigenergy inverter" toggle on the first step of the config flow. Or in the Settings tab, click Auto-Detect and the Sigenergy entities will be mapped automatically.
| Settings Field | Description | Example |
|---|---|---|
solar_power |
Real-time solar generation (W) | sensor.inverter_pv_power |
load_power |
Real-time home consumption (W) | sensor.inverter_load_power |
battery_power |
Battery charge/discharge power (W) | sensor.inverter_battery_power |
battery_soc |
Battery state of charge (%) | sensor.inverter_battery_soc |
grid_power |
Live grid import/export power (W/kW), not a daily kWh energy counter | sensor.inverter_grid_power |
| Settings Field | Description | Example |
|---|---|---|
battery_capacity |
Battery rated capacity (kWh, Wh, or Ah) | sensor.battery_rated_capacity_kwh |
battery_max_soc |
Charge cutoff / max SoC target (%) | number.ess_charge_cut_off_soc |
battery_min_soc |
Discharge cutoff / min SoC target (%) | number.ess_discharge_cut_off_soc |
battery_reserved_soc |
Backup reserve SoC for grid outages (%) | number.ess_backup_state_of_charge |
Tip: If no capacity entity is available, enter the value manually in Settings → Features → Battery → "Manual Capacity (kWh)". SoC targets can also be set as manual percentages in the same section. Ah-based entities are auto-converted using nominal battery voltage (default 51.2V for LFP).
| Settings Field | Description | Example |
|---|---|---|
solcast_forecast_power |
Solcast PV forecast power sensor | sensor.solcast_pv_forecast_power_now |
The solar forecast overlay reads
detailedForecastfromsensor.solcast_pv_forecast_today(and tomorrow). The forecast power entity is used for current forecast display.
Note: If your inverter provides only cumulative (lifetime total) energy sensors, the dashboard will auto-detect this and offer to create a daily utility meter helper. After creation, the helper may show "unknown" for a few minutes until the source sensor updates — this is normal Home Assistant behaviour and resolves automatically.
ℹ️ Important: Utility meter helpers only start tracking energy from the moment they are created — they do not retroactively import historical data. If a helper is created mid-day, it will show only the energy accumulated since creation, not the full day's total. The first complete daily reading will appear after midnight when the meter resets. If your inverter already provides native daily sensors (e.g. Deye
summary_day_*, SunSynkgrid_daily_*), prefer those over auto-created helpers for accurate same-day values.
| Settings Field | Description |
|---|---|
solar_energy_today |
Total solar generation today (kWh) |
load_energy_today |
Total consumption today (kWh) |
battery_charge_today |
Energy charged into battery today (kWh) |
battery_discharge_today |
Energy discharged from battery today (kWh) |
grid_import_today |
Grid import today (kWh) |
grid_export_today |
Grid export today (kWh) |
The Settings card warns if a live power entity is used in a daily energy slot, if a kWh energy entity is used in a live power slot, or if a likely lifetime counter is used where a daily reset sensor is expected.
| Settings Field | Description |
|---|---|
ev_charger_power |
EV charger power draw (W) |
ev_charger_state |
Charger or vehicle connection state (charging/connected/plugged/idle/etc.) |
ev_soc |
Electric vehicle battery state of charge (%) |
ev_range |
Electric vehicle remaining range (km/mi) |
ev_energy_today |
Daily EV energy sensor for Sankey graph (kWh) — auto-detected from HA Energy Dashboard |
ev_energy_daily_meter |
Auto-created utility_meter entity for cumulative EV sensors (read-only) |
| Settings Field | Description |
|---|---|
heat_pump_power |
Heat pump power consumption (W) |
heat_pump_energy_today |
Daily heat pump energy for Sankey graph (kWh) — auto-detected from HA Energy Dashboard |
hp_energy_daily_meter |
Auto-created utility_meter entity for cumulative HP sensors (read-only) |
Forecast Timeline: Current releases use the native V2 event cards and modal overlay for forecast timelines. No
input_boolean.genergy_forecast_tablehelper is required.
| Settings Field | Description |
|---|---|
emhass_mode |
Current optimization mode (CHARGE/DISCHARGE/IDLE) |
emhass_reason |
Human-readable decision reason |
emhass_battery_action |
Battery action command summary |
mpc_battery |
MPC battery power forecast (attribute: battery_scheduled_power) |
mpc_grid |
MPC grid power forecast (attribute: forecasts) |
mpc_pv |
MPC PV generation forecast (attribute: forecasts) |
mpc_soc |
MPC battery SoC forecast (attribute: battery_scheduled_soc) |
mpc_load |
MPC load forecast (attribute: forecasts) |
| Settings Field | Description |
|---|---|
haeo_battery_charge |
HAEO battery charge power schedule (attribute: forecast) |
haeo_battery_discharge |
HAEO battery discharge power schedule (attribute: forecast) |
haeo_battery_soc |
HAEO planned battery SoC (attribute: forecast) |
haeo_grid_power |
HAEO grid power schedule (attribute: forecast) |
haeo_solar_power |
HAEO solar power schedule (attribute: forecast) |
haeo_load_power |
HAEO load power schedule (attribute: forecast) |
haeo_optim_status |
Optimization status: success / failed / pending |
haeo_optim_cost |
Total optimized cost over the horizon |
haeo_optim_duration |
Time to solve optimization (seconds) |
| Settings Field | Description |
|---|---|
buy_price |
EMHASS buy price forecast (attribute: unit_load_cost_forecasts) |
sell_price |
EMHASS sell price forecast (attribute: unit_prod_price_forecasts) |
cost_today |
Today's electricity cost |
savings_today |
Today's estimated savings |
| Settings Field | Description |
|---|---|
nordpool |
Nordpool spot price sensor |
current_import_price |
Live import electricity price (€/kWh) |
current_export_price |
Live export electricity price (€/kWh) |
| Settings Field | Description |
|---|---|
battery_pack1_soc – battery_pack8_soc |
Individual pack SoC sensors (up to 8 packs) |
battery_pack_prefix |
BMS entity prefix (e.g., sensor.battery_monitor_pack_) for expandable detail panels showing cell voltages, temperatures, SoH, and cycle count |
| Settings Field | Description |
|---|---|
inverter_temp |
Inverter temperature |
inverter_output_power |
Inverter output power (W) |
rated_power |
Inverter rated power (W) |
pv1_power – pv6_power |
Individual PV string power (up to 6 strings) |
grid_voltage |
Grid voltage (V) |
grid_frequency |
Grid frequency (Hz) |
| Settings Field | Description |
|---|---|
solar_forecast_today |
Forecast total solar production today (kWh) |
solar_forecast_tomorrow |
Forecast total solar production tomorrow (kWh) |
solar_forecast_remaining |
Remaining forecast production today (kWh) |
solar_forecast_power |
Current forecast power (W) |
| Settings Field | Description |
|---|---|
automation_charge |
Automation entity for force charge |
automation_discharge |
Automation entity for force discharge |
| Settings Field | Description |
|---|---|
deferrable_load_1 – deferrable_load_3 |
Deferrable load power sensors (heat pump, boiler, etc.) |
deferrable_load_1_name – deferrable_load_3_name |
Display names for deferrable loads |
Configure in Settings → 🔧 Features tab:
| Toggle | Default | What It Does |
|---|---|---|
| EV Charger | Off | Shows EV charger power flow on house card, adds EV comet animation path |
| EV Vehicle | Off | Shows car in garage illustration on house card |
| Auto EV Gate / Vehicle + Charger | Off | Dynamically shows the EV vehicle, charger, cable, labels, and flow only when the EV is connected or charging |
| Heat Pump | Off | Shows heat pump power flow on house card |
| EV in Sankey | Off | Adds EV consumption as a destination node in the Sankey energy flow chart (configure in ⚡ Entities tab) |
| HP in Sankey | Off | Adds heat pump/HVAC energy as a destination node in the Sankey chart (configure in ⚡ Entities tab) |
| Grid Connection | On | Turn off for off-grid systems — hides grid cable and animation |
| Hide Cables | Off | Hides static cable lines, shows only animated power flow comets |
| Battery Packs | 2 | Number of battery modules (1–8) — controls device card layout and entity slots |
| PV Strings | 2 | Number of PV strings (1–6) — controls individual PV string entity slots in Settings |
| Battery Runtime | On | Shows estimated time-to-full/empty on the house card. Configurable SoC targets |
| Positive = Charging | On | Battery sign convention. On: positive = charging (Sigenergy, Huawei). Off: positive = discharging (Deye, Goodwe) |
| EMS Provider | EMHASS | Energy Management System: None / EMHASS / HAEO / Energy Manager. Controls status card, forecast overlays, timeline cards, and entity slots |
| EMHASS Forecasts | On | Adds MPC forecast dashed lines to energy chart (when EMS = EMHASS) |
| EMHASS Forecast Table | On | Shows collapsible forecast timeline table below the energy chart (when EMS = EMHASS) |
| HAEO Forecasts | On | Adds HAEO forecast dashed lines to energy chart (when EMS = HAEO) |
| HAEO Forecast Table | On | Shows collapsible forecast timeline table below the energy chart (when EMS = HAEO) |
| Deferrable Loads | Off | Enables 3 deferrable load entity slots and schedule display |
| Financial Tracking | On | Shows Cost Today and Savings Today metrics in chart header |
| Solar Forecast | Off | Enables Solcast/forecast.solar entity slots and chip display |
| Weather Widget | On | Shows weather emoji + temperature badge on house card |
| Sunrise/Sunset | On | Shows sunrise/sunset times on house card |
| Kiosk Mode | Off | Hides HA sidebar, header, and toolbar for dedicated display/tablet setups. Floating exit button to disable |
Note: Changing EMS Provider, toggling Forecasts, Deferrable Loads, Financial Tracking, or Solar Forecast triggers a full dashboard rebuild to add/remove the relevant chart series and cards.
Configure in Settings → 💰 Pricing tab:
| Setting | Default | Description |
|---|---|---|
| Price Source | Nordpool | Label selector: Nordpool, Tibber, Amber, or Custom |
| Cheap Threshold | 0.10 | Prices below this are highlighted green |
| Expensive Threshold | 0.25 | Prices above this are highlighted red |
| Currency | € | Currency symbol for price display |
| Price Overlay | On | Show import/export price curves on energy chart (secondary Y-axis) |
| Price Badge | On | Show current electricity price on house card |
| Color Coding | On | Green/yellow/red price bands based on thresholds |
⚠️ Important: The price source buttons (Nordpool / Tibber / Amber / Custom) are display labels only — they do not automatically configure any entities or change behavior. You must manually set the price-related entity fields (buy_price,sell_price,nordpool,current_import_price,current_export_price) in the Entities tab for price features to work.
Configure in Settings → 🎨 Display tab:
| Setting | Default | Description |
|---|---|---|
| Power Threshold | 1000 W | Below: show Watts. Above: auto-scale to kW |
| Decimal Places | 1 | Number formatting precision (0, 1, or 2) |
| Battery Label | BATTERY | Name displayed on house card battery (e.g. "SigenStor", "LUNA 2000", "PowerWall") |
| Heat Pump Label | HEAT PUMP | Name displayed on the house card heat pump tile |
| EV Charger Label | AC CHARGER | Optional label override for the EV charger tile |
| Battery Flow Colors | Default | Swap charge/discharge flow colors when your installation's battery color convention feels reversed |
| Chart Range | Today | Default chart time span: Today, 24h, or 7 days |
| Refresh Interval | 60 seconds | ApexCharts refresh interval. Longer intervals preserve zoom/pan interactions better |
| SoC Ring Low | 40% | Below this: SoC ring pulses red on house card |
| SoC Ring High | 60% | Above this: green ring. Between low and high: orange |
The house card (custom:sigenergy-house-card) supports customization through its YAML configuration:
type: custom:sigenergy-house-card
colors:
solar: "#f5c542"
battery_charge: "#e74c3c"
battery_discharge: "#2ecc71"
grid_import: "#e74c3c"
grid_export: "#2ecc71"
home: "#3498db"
ev: "#ff69b4"
heat_pump: "#e67e22"For advanced users who want to customize cable routing on the house card:
- Add
edit_paths: trueto the house card YAML config - Reload the dashboard
- Control points appear on each cable path — drag to reposition
- The SoC ring position and perspective skew are also adjustable
- Copy the resulting path coordinates from the browser console as JSON
- Remove
edit_paths: truewhen done
The house card composites multiple PNG layers:
- House:
home_has_solar_has_car.png(day) /dark_home_has_solar_has_car.png(night) — switches automatically - No-EV variant:
home_has_solar_no_car.png— used when no EV charger entity is configured - Overlays:
sigenstor_home.png(battery),ammeter_home.png(meter),ac_charger_bg.png(EV charger),device_heat_pump.png(heat pump) - SVG Overlay: Animated cable paths with power flow comets
- SoC Ring: Battery percentage indicator with color + pulse based on thresholds
- Weather Badge: Top-right weather icon + temperature
- Power Labels: Real-time wattage at each connection point
| Viewport Width | Columns | Layout Description |
|---|---|---|
| ≤ 500px | 1 | Compact mobile — cards stacked vertically |
| 501–800px | 1 | Standard mobile — single column with full-width cards |
| 801–1200px | 2 | Tablet — house card + charts side by side |
| ≥ 1201px | 3 | Desktop — House (33%) / Energy Flow (29%) / Battery (38%) |
| Problem | Solution |
|---|---|
| Dashboard not in sidebar | Go to Settings → Devices & Services, find Genergy Dashboard, check it's loaded. Try a hard refresh (Ctrl+Shift+R) |
| Cards not appearing | Clear browser cache (Ctrl+Shift+Delete), hard-refresh (Ctrl+Shift+R) |
| Configuration error (after update on house/battery card sections | Usually this is a cache issue. Clear browser cache (Ctrl+Shift+Delete), hard-refresh (Ctrl+Shift+R) |
| "Custom element doesn't exist: sigenergy-settings-card" (or sigenergy-house-card) | This is auto-recovered by the built-in watchdog. 1) Try a hard refresh (Ctrl+Shift+R / Cmd+Shift+R). 2) If it persists, restart Home Assistant — the integration registers JS resources on startup. 3) Check Settings → Devices & Services and confirm Genergy Dashboard is loaded without errors. |
| "Custom element doesn't exist: layout-card" (or apexcharts/mushroom/etc.) | The integration will detect and notify you about missing cards automatically. Open the Settings tab to see the prerequisite banner with direct install links. Or install the required HACS dependencies manually (see Prerequisites) and restart HA |
| Entity not found (red ✗ badge) | Check entity ID in Developer Tools → States. Entity IDs are case-sensitive |
| Light/wrong theme | The integration auto-installs and reloads the sigenergy_dark theme. If the dashboard shows a white background: 1) Ensure /config/themes/sigenergy_dark.yaml exists. 2) Ensure configuration.yaml has frontend: with themes: !include_dir_merge_named themes. 3) Restart HA or call frontend.reload_themes from Developer Tools → Services. The theme forces dark styling on the dashboard regardless of your HA light/dark mode setting. |
| House card shows no image | Ensure the integration is properly installed — images are bundled in the frontend/images/ directory |
| Charts show no data | Ensure core entities (solar_power, load_power, etc.) are correctly set and have history data |
| EMHASS forecast lines not showing | Set EMS Provider to EMHASS in Features tab, enable EMHASS Forecasts, then set MPC entity fields in Entities tab |
| HAEO forecast lines not showing | Set EMS Provider to HAEO in Features tab, enable HAEO Forecasts, then set HAEO entity fields in Entities tab. Ensure HAEO sensors have a forecast attribute |
| Forecast timeline not showing | Enable "Forecast Table" in Features → EMS section, choose an EMS provider, and configure the matching EMHASS, HAEO, or Energy Manager entities. Current releases use native V2 event cards; no input_boolean.genergy_forecast_table helper is required |
| Forecast timeline looks stale after updating | Clear browser cache and hard-refresh (Ctrl+Shift+R / Cmd+Shift+R), then restart Home Assistant if the old card is still cached |
| Settings don't persist across browsers | Make sure dashboard URL is exactly dashboard-sigenergy (case-sensitive) |
| Battery detail panel empty | Set battery_pack_prefix (e.g., sensor.battery_monitor_pack_) in Entities tab |
| Cards overlap or misaligned | Ensure layout-card is installed. Try: Settings → Dashboards → Resources → check JS resources are listed |
| Price badge not showing | Enable Price Badge in Pricing tab AND set a price entity in Entities tab |
| Integration not found | Make sure custom_components/genergy_dashboard/ exists in your HA config dir and restart HA |
| Daily helpers show "unknown" | Newly created utility meter helpers start as "unknown" — this is normal HA behavior. The helper needs the source sensor to report at least one state change after creation. This resolves automatically within minutes (next inverter update) or at the latest by midnight when the daily cycle resets. If still unknown after 24h, check Settings → Devices & Services → Utility Meter to verify the source entity is correct |
| Daily helpers show very low values | Utility meter helpers only track energy from the moment they are created. If created mid-day, the value represents only the delta since creation — not the full day's total. The first accurate full-day reading appears after midnight. If your inverter provides native daily sensors (Deye summary_day_*, SunSynk grid_daily_*, etc.), re-run auto-detect to use those instead |
genergy-dashboard/
├── .github/
│ └── workflows/
│ └── validate.yaml # HACS validation CI
├── hacs.json # HACS integration metadata
├── LICENSE # CC BY-NC-SA 4.0 license
├── README.md # This file
├── custom_components/
│ └── genergy_dashboard/
│ ├── __init__.py # Integration setup: JS/theme registration, dashboard creation
│ ├── config_flow.py # Guided config flow for entity mapping
│ ├── const.py # Constants, entity keys, placeholder map, defaults
│ ├── dashboard_generator.py # Template-based dashboard config generator
│ ├── default_dashboard.json # Dashboard template with placeholders
│ ├── manifest.json # HA integration manifest
│ ├── strings.json # Config flow UI strings
│ ├── translations/
│ │ └── en.json # English translations
│ ├── frontend/
│ │ ├── genergy-dashboard.js # Bridge JS (HACS resource entry point)
│ │ ├── sigenergy-dashboard.js # Bundle: settings card + energy flow card + device card + dashboard builder
│ │ ├── sigenergy-house-card.js# Animated house card (Lit Element)
│ │ ├── sigenergy-smart-load-card.js # Smart load monitoring grid card
│ │ └── images/ # Runtime images (battery renders, house card assets, smart load icons)
│ │ ├── 1inverter[1-8]battery.png
│ │ ├── home_has_solar_has_car.png
│ │ ├── dark_home_has_solar_has_car.png
│ │ ├── home_has_solar_no_car.png
│ │ ├── sigenstor_home.png
│ │ ├── ammeter_home.png
│ │ ├── ac_charger_bg.png
│ │ └── device_heat_pump.png
│ └── themes/
│ ├── sigenergy_dark.yaml # Bundled dark theme (auto-installed)
│ └── sigenergy_light.yaml # Bundled light theme (auto-installed)
├── dashboards/
│ └── sigenergy.yaml # Bootstrap dashboard YAML (legacy manual install)
├── dist/
│ ├── sigenergy-dashboard.js # Standalone JS bundle (legacy HACS plugin mode)
│ ├── sigenergy-house-card.js # Standalone house card JS (legacy)
│ └── images/ # Runtime images (legacy)
├── screenshots/ # README screenshots
├── src/
│ ├── cards/
│ │ └── sigenergy-settings-card.js # Settings UI source
│ ├── styles/
│ │ └── theme.js # Design tokens & color constants
│ └── utils/
│ ├── config-store.js # Config persistence (localStorage + HA WebSocket)
│ └── entity-helpers.js # Entity state formatting helpers
└── themes/
└── sigenergy_dark.yaml # HA theme source (copied by integration during setup)
See CHANGELOG.md for the full version history.
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Test with multiple HA themes and viewport sizes
- Submit a pull request
- Roving-Ronin — V2 Event Cards for HAEO, EMHASS, and Energy Manager. Features Future Decisions / Past Events timeline tables with event classification, 16 color-coded energy scenarios, per-slot cost calculation, historical kWh delta tracking, and three-tier sensor fallback
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
You are free to:
- Share — copy and redistribute the material
- Adapt — remix, transform, and build upon the material
Under the following terms:
- Attribution — You must give appropriate credit
- NonCommercial — You may not use the material for commercial purposes
- ShareAlike — Derivative works must use the same license
See LICENSE for the full license text.





