📊 Energy Analytics

Comprehensive energy flow analysis with battery, solar, and consumption metrics

No analytics data available. Battery data will appear after running smart_merge.php

🔋 Battery Storage

Solar battery storage system • Watten, Scottish Highlands

🔧
Duracell Battery System
Battery integration in progress • API connectivity being established
🔋

Battery Storage System

Installation Scheduled: February 2026


Warning: Undefined variable $hanchuConnected in /var/www/html/index.php on line 2504
Battery Capacity
15 kWh
3× Duracell Dura5 5.12kWh
Solar System
12.6 kW
28 × 450W Panels
Inverters
2× Dura-i
Hybrid Master/Slave
📊 Battery Simulation (Based on Last 30 Days)

What would an 18.8kWh battery save you based on your actual usage patterns?

💷 Projected Savings
£36.70
Per Month
£446.53/year
⚡ Grid Avoided
10.4 kWh
Per Day (avg)
312.3 kWh over 30 days
☀️ Solar Captured
11.6 kWh
Per Day (avg)
Currently exported, would be stored
🌱 Self-Sufficiency
30%
48%
Current → With Battery
📅 Est. Payback
11.2 years
At ~£5,000 system cost
📈 Simulation Details
Assumptions:
  • 15kWh capacity (3× Duracell Dura5 5.12kWh)
  • 90% usable capacity (10-100% DoD)
  • 90% round-trip efficiency
  • Blended rate: 28.42p/kWh
Notes:
  • Based on your actual 30-day history
  • Real savings may be higher with Flux tariff optimisation
  • Doesn't account for seasonal variation
  • Summer months will show better returns
⚡ Flux Tariff Arbitrage

Extra savings by charging during Cheap period (16.93p) and discharging during Peak (39.51p)

💰 Arbitrage Spread
29.5p/kWh
Peak (39.51p) - Cheap (16.93p)
After 90% efficiency: 20.3p/kWh profit
🔄 Daily Arbitrage
£1.40
Per Day (est.)
Using ~6.9 kWh for arbitrage
🎯 Combined Savings
£78.84
Per Month
Solar + Arbitrage: £959.23/year
📅 Improved Payback
5.2 years
With Arbitrage
vs 11.2 years solar only
📊 Monthly Savings Breakdown
Solar Storage: £36.70
Flux Arbitrage: £42.14
Total: £78.84/month
⏰ Optimal Battery Schedule for Flux
🔋 CHARGE (Cheap: 16.93p)
  • 04:00 - 07:00 (3 hours)
  • 13:00 - 16:00 (3 hours)
  • 22:00 - 00:00 (2 hours)
⚡ DISCHARGE (Peak: 39.51p)
  • 16:00 - 19:00 (3 hours)
  • Power home from battery
  • Avoid expensive peak grid
☀️ SOLAR PRIORITY
  • Daytime: Store excess solar
  • Evening: Use solar first
  • Export only when full
💷 Battery Savings by Tariff

Compare potential battery savings across different Octopus tariffs

✓ Your Current Tariff
Octopus Flux
Battery savings: £112.84/month
🏆 Best for Battery
Octopus Flux
Battery savings: £112.84/month
Tariff Spread Arbitrage Solar Monthly Payback
🥇 Octopus Flux
Best for battery export
22.6p £42.14 £88.12 £112.84 3.6 yrs
🥈 Octopus Go
Best for EV charging
22.6p £42.25 £61.89 £104.14 3.9 yrs
💡
Key Insights:
  • Flux has a 22.58p arbitrage spread plus 28.73p peak export rate
  • Go has cheap overnight rates but smaller spread for arbitrage
  • Flux offers better export rates which boosts returns if you export
  • Agile rates vary - can be very profitable on high-spread days
  • Flexible has no arbitrage benefit (flat rate)
📅 Seasonal Projections

Projected battery savings across seasons based on Scottish Highlands solar potential and heating patterns

☀️ Annual Solar
6,325 kWh
Projected generation
🔥 Annual Heat Pump
6,552 kWh
Projected usage
💷 Annual Battery Savings
£389.43
Projected total
📅 Realistic Payback
12.8 years
Seasonal adjusted
❄️ Winter
Dec - Feb
Minimal solar, high heating
Solar
3.5 kWh/day
Heat Pump
35.0 kWh/day
Grid Avoided
16 kWh
Battery Savings
£129.75
Solar vs Demand 8%
🌸 Spring
Mar - May
Good solar, moderate heating
Solar
19.0 kWh/day
Heat Pump
15.0 kWh/day
Grid Avoided
246 kWh
Battery Savings
£113.95
Solar vs Demand 83%
☀️ Summer
Jun - Aug
Peak solar, minimal heating
Solar
35.0 kWh/day
Heat Pump
2.0 kWh/day
Grid Avoided
0 kWh
Battery Savings
£27.74
Solar vs Demand 350%
🍂 Autumn
Sep - Nov
Declining solar, rising heating
Solar
12.0 kWh/day
Heat Pump
20.0 kWh/day
Grid Avoided
123 kWh
Battery Savings
£118.00
Solar vs Demand 43%
📊 Seasonal Comparison
£130
❄️
Winter
£114
🌸
Spring
£28
☀️
Summer
£118
🍂
Autumn
🌍
Scottish Highlands Factors:
  • Summer: Up to 18+ hours daylight, solar panels can generate 15+ kWh/day. Battery captures excess for evening use.
  • Winter: Only ~7 hours daylight with low sun angle. Battery value comes mainly from tariff arbitrage, not solar storage.
  • Heat Pump: Major consumer in winter (~35 kWh/day), minimal in summer (~2 kWh for hot water only).
  • Best ROI: Summer months provide best battery returns due to excess solar capture.
/* Battery chart disabled - awaiting Duracell integration const last7Bat = [{"id":"6a123f8180e1d","date":"2026-05-23","timestamp":1779494400,"solar_kwh":36.762,"grid_kwh":21.467,"solar_export_kwh":23.097,"heat_pump_kwh":11.785,"rest_of_house_kwh":9.681,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em","sources":["tigo_api","shelly_em"],"from_shelly":true,"usage_by_rate":{"cheap_kwh":9.301,"peak_kwh":0.015,"day_kwh":12.151},"solar_source":"tigo","net_grid_kwh":-1.6300000000000026,"self_sufficiency":38.9,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":5.01,"export_income":2.3,"cost_method":"half-hourly","total_cost":3.33,"cost_without_solar":10.53,"savings":7.2,"blended_rate":28.22},{"id":"6a1391021c564","date":"2026-05-24","timestamp":1779580800,"solar_kwh":15.085,"grid_kwh":17.477,"solar_export_kwh":5.268,"heat_pump_kwh":9.206,"rest_of_house_kwh":8.271,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em","sources":["tigo_api","shelly_em"],"from_shelly":true,"weather_code":51,"temp_max":17.7,"temp_min":12.2,"temperature":14.95,"sunrise":"04:27","sunset":"21:52","sunshine_hours":1.41,"precipitation":0.7,"uv_index":3.4,"cloud_cover":99,"daylight_hours":17.42,"usage_by_rate":{"cheap_kwh":8.599,"peak_kwh":0.203,"day_kwh":8.675},"solar_source":"tigo","net_grid_kwh":12.209,"self_sufficiency":35.97,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":3.98,"export_income":0.53,"cost_method":"half-hourly","total_cost":4.07,"cost_without_solar":8.32,"savings":4.25,"blended_rate":28.22},{"id":"6a14e2820ce5a","date":"2026-05-25","timestamp":1779667200,"solar_kwh":42.525,"grid_kwh":20.277,"solar_export_kwh":28.464,"heat_pump_kwh":10.817,"rest_of_house_kwh":9.46,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em","sources":["tigo_api","shelly_em"],"from_shelly":true,"weather_code":3,"temp_max":18.5,"temp_min":11.9,"temperature":15.2,"sunrise":"04:26","sunset":"21:53","sunshine_hours":10.83,"precipitation":0,"uv_index":3.2,"cloud_cover":69,"daylight_hours":17.45,"usage_by_rate":{"cheap_kwh":11.821,"peak_kwh":0.292,"day_kwh":8.163},"solar_source":"tigo","net_grid_kwh":-8.186999999999998,"self_sufficiency":40.95,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":4.42,"export_income":2.84,"cost_method":"half-hourly","total_cost":2.2,"cost_without_solar":10.31,"savings":8.11,"blended_rate":28.22},{"id":"6a163401d940d","date":"2026-05-26","timestamp":1779753600,"solar_kwh":20.643,"grid_kwh":22.327,"solar_export_kwh":45.406,"heat_pump_kwh":11.748,"rest_of_house_kwh":10.579,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":20.643,"shelly_battery_kwh":2.75,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"usage_by_rate":{"cheap_kwh":8.579,"peak_kwh":0,"day_kwh":13.748},"solar_source":"shelly_205","net_grid_kwh":-23.078999999999997,"self_sufficiency":0,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":5.33,"export_income":4.53,"cost_method":"half-hourly","total_cost":1.42,"cost_without_solar":6.92,"savings":5.5,"blended_rate":28.22},{"id":"6a17858221301","date":"2026-05-27","timestamp":1779840000,"solar_kwh":66.651,"grid_kwh":24.22,"solar_export_kwh":59.963,"heat_pump_kwh":13.38,"rest_of_house_kwh":10.84,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":66.651,"shelly_battery_kwh":3.259,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"usage_by_rate":{"cheap_kwh":13.147,"peak_kwh":2.787,"day_kwh":8.286},"solar_source":"shelly_205","net_grid_kwh":-35.743,"self_sufficiency":21.64,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":5.67,"export_income":5.98,"cost_method":"half-hourly","total_cost":0.31,"cost_without_solar":9.34,"savings":9.03,"blended_rate":28.22},{"id":"6a18d701ba2c0","date":"2026-05-28","timestamp":1779926400,"solar_kwh":60.382,"grid_kwh":16.284,"solar_export_kwh":55.642,"heat_pump_kwh":9,"rest_of_house_kwh":7.285,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":60.382,"shelly_battery_kwh":4.135,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"usage_by_rate":{"cheap_kwh":10.154,"peak_kwh":0,"day_kwh":6.13},"solar_source":"shelly_205","net_grid_kwh":-39.358000000000004,"self_sufficiency":22.55,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":3.45,"export_income":5.55,"cost_method":"half-hourly","total_cost":-1.48,"cost_without_solar":6.55,"savings":8.03,"blended_rate":28.22},{"id":"6a1a2881de1cf","date":"2026-05-29","timestamp":1780012800,"solar_kwh":14.648,"grid_kwh":20.299,"solar_export_kwh":6.881,"heat_pump_kwh":10.52,"rest_of_house_kwh":9.779,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":14.648,"shelly_battery_kwh":7.039,"octopus_consumption_kwh":null,"octopus_cost":null,"meter_variance_kwh":null,"meter_variance_percent":null,"notes":"Auto-imported: tigo_api, shelly_em, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":3,"temp_max":18,"temp_min":10.9,"temperature":14.45,"sunrise":"04:19","sunset":"22:01","sunshine_hours":6.2,"precipitation":0,"uv_index":3.7,"cloud_cover":78,"daylight_hours":17.7,"usage_by_rate":{"cheap_kwh":6.762,"peak_kwh":3.249,"day_kwh":10.288},"solar_source":"shelly_205","net_grid_kwh":13.418,"self_sufficiency":27.67,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":5.33,"export_income":0.69,"cost_method":"half-hourly","total_cost":5.26,"cost_without_solar":8.54,"savings":3.28,"blended_rate":28.22}]; const datesBat = last7Bat.map(e => new Date(e.date).toLocaleDateString('en-GB', { day: 'numeric', month: 'short' })); const batData = last7Bat.map(e => e.battery_kwh || 0); new Chart(document.getElementById('batteryChart'), { type: 'bar', data: { labels: datesBat, datasets: [{ label: 'Battery kWh', data: batData, backgroundColor: '#8b5cf6', borderRadius: 4 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false } }, scales: { x: { ticks: { color: '#6b6b6b' }, grid: { display: false } }, y: { ticks: { color: '#6b6b6b' }, grid: { color: '#333333' }, title: { display: true, text: 'kWh', color: '#6b6b6b' } } } } }); */