🔋 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 2130
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
£30.23
Per Month
£367.83/year
⚡ Grid Avoided
8.6 kWh
Per Day (avg)
180.1 kWh over 21 days
☀️ Solar Captured
9.5 kWh
Per Day (avg)
Currently exported, would be stored
🌱 Self-Sufficiency
14%
31%
Current → With Battery
📅 Est. Payback
13.6 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
£72.37
Per Month
Solar + Arbitrage: £880.53/year
📅 Improved Payback
5.7 years
With Arbitrage
vs 13.6 years solar only
📊 Monthly Savings Breakdown
Solar Storage: £30.23
Flux Arbitrage: £42.14
Total: £72.37/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: £100.38/month
🏆 Best for Battery
Octopus Flux
Battery savings: £100.38/month
Tariff Spread Arbitrage Solar Monthly Payback
🥇 Octopus Flux
Best for battery export
22.6p £42.14 £72.59 £100.38 4.1 yrs
🥈 Octopus Go
Best for EV charging
22.6p £42.25 £50.98 £93.23 4.4 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":"69bded919205d","date":"2026-03-20","timestamp":1773964800,"solar_kwh":59.465,"grid_kwh":31.052,"solar_export_kwh":31.495,"heat_pump_kwh":19.177,"rest_of_house_kwh":11.876,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":0.037,"octopus_cost":0.01,"meter_variance_kwh":31.015,"meter_variance_percent":83824.32,"notes":"Auto-imported: tigo_api, shelly_em [\u26a0 Backfilled variance: 83824.324324324%]","sources":["tigo_api","shelly_em","octopus_api"],"from_shelly":true,"weather_code":3,"temp_max":16.7,"temp_min":2.6,"temperature":9.65,"sunrise":"06:14","sunset":"18:26","sunshine_hours":8.04,"precipitation":0,"uv_index":1.15,"cloud_cover":42,"daylight_hours":12.2,"usage_by_rate":{"cheap_kwh":10.825,"peak_kwh":0.026,"day_kwh":20.202},"solar_source":"tigo","net_grid_kwh":-0.4430000000000014,"self_sufficiency":47.39,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":7.54,"export_income":3.14,"cost_method":"half-hourly","total_cost":5.02,"cost_without_solar":17.28,"savings":12.26,"blended_rate":28.22},{"id":"69bf3f11c4e6d","date":"2026-03-21","timestamp":1774051200,"solar_kwh":21.699,"grid_kwh":15.628,"solar_export_kwh":0,"heat_pump_kwh":15.628,"rest_of_house_kwh":0,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":6.325,"octopus_cost":1.77,"meter_variance_kwh":9.303,"meter_variance_percent":147.08,"notes":"Auto-imported: tigo_api, shelly_em [\u26a0 Backfilled variance: 147.08300395257%]","sources":["tigo_api","shelly_em","octopus_api"],"from_shelly":true,"weather_code":51,"temp_max":8.9,"temp_min":6.5,"temperature":7.7,"sunrise":"06:11","sunset":"18:29","sunshine_hours":0,"precipitation":0.4,"uv_index":0.25,"cloud_cover":96,"daylight_hours":12.3,"usage_by_rate":{"cheap_kwh":1.476,"peak_kwh":0.929,"day_kwh":13.223},"solar_source":"tigo","net_grid_kwh":15.628,"self_sufficiency":58.13,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":4.35,"export_income":0,"cost_method":"half-hourly","total_cost":4.97,"cost_without_solar":11.15,"savings":6.18,"blended_rate":28.22},{"id":"69c0909209169","date":"2026-03-22","timestamp":1774137600,"solar_kwh":38.16,"grid_kwh":15.92,"solar_export_kwh":0,"heat_pump_kwh":15.92,"rest_of_house_kwh":0,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":0.006,"octopus_cost":0,"meter_variance_kwh":15.914,"meter_variance_percent":265233.33,"notes":"Auto-imported: tigo_api, shelly_em [\u26a0 Backfilled variance: 265233.33333333%]","sources":["tigo_api","shelly_em","octopus_api"],"from_shelly":true,"weather_code":53,"temp_max":9.9,"temp_min":2.1,"temperature":6,"sunrise":"06:08","sunset":"18:31","sunshine_hours":5,"precipitation":2.8,"uv_index":1.4,"cloud_cover":77,"daylight_hours":12.38,"usage_by_rate":{"cheap_kwh":2.566,"peak_kwh":0,"day_kwh":13.354},"solar_source":"tigo","net_grid_kwh":15.92,"self_sufficiency":70.56,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":4.2,"export_income":0,"cost_method":"half-hourly","total_cost":4.82,"cost_without_solar":15.88,"savings":11.06,"blended_rate":28.22},{"id":"69c1e211d0a1d","date":"2026-03-23","timestamp":1774224000,"solar_kwh":11.366,"grid_kwh":31.347,"solar_export_kwh":0,"heat_pump_kwh":31.347,"rest_of_house_kwh":0,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":0,"shelly_battery_kwh":0,"octopus_consumption_kwh":0.026,"octopus_cost":0.01,"meter_variance_kwh":31.321,"meter_variance_percent":120465.38,"notes":"Auto-imported: tigo_api, shelly_em [\u26a0 Backfilled variance: 120465.38461538%]","sources":["tigo_api","shelly_em","octopus_api"],"from_shelly":true,"weather_code":53,"temp_max":9.4,"temp_min":1.7,"temperature":5.55,"sunrise":"06:05","sunset":"18:33","sunshine_hours":1.33,"precipitation":1.9,"uv_index":0.9,"cloud_cover":92,"daylight_hours":12.47,"usage_by_rate":{"cheap_kwh":4.626,"peak_kwh":0.807,"day_kwh":25.914},"solar_source":"tigo","net_grid_kwh":31.347,"self_sufficiency":26.61,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":8.41,"export_income":0,"cost_method":"half-hourly","total_cost":9.03,"cost_without_solar":12.67,"savings":3.64,"blended_rate":28.22},{"id":"69c33391f090b","date":"2026-03-24","timestamp":1774310400,"solar_kwh":51.867,"grid_kwh":21.605,"solar_export_kwh":0,"heat_pump_kwh":21.605,"rest_of_house_kwh":0,"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":55,"temp_max":10.7,"temp_min":2.5,"temperature":6.6,"sunrise":"06:03","sunset":"18:35","sunshine_hours":7.14,"precipitation":4,"uv_index":1.4,"cloud_cover":72,"daylight_hours":12.53,"usage_by_rate":{"cheap_kwh":2.893,"peak_kwh":1.376,"day_kwh":17.336},"solar_source":"tigo","net_grid_kwh":21.605,"self_sufficiency":70.59,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":5.93,"export_income":0,"cost_method":"half-hourly","total_cost":6.55,"cost_without_solar":21.35,"savings":14.8,"blended_rate":28.22},{"id":"69c5d6915d444","date":"2026-03-26","timestamp":1774483200,"solar_kwh":16.151,"grid_kwh":54.341,"solar_export_kwh":0,"heat_pump_kwh":54.341,"rest_of_house_kwh":0,"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":71,"temp_max":6.6,"temp_min":1.1,"temperature":3.8499999999999996,"sunrise":"05:57","sunset":"18:40","sunshine_hours":0.93,"precipitation":1.8,"uv_index":0.75,"cloud_cover":96,"daylight_hours":12.72,"solar_source":"tigo","net_grid_kwh":54.341,"self_sufficiency":22.91,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":15.34,"export_income":0,"cost_method":"estimated","total_cost":15.96,"cost_without_solar":20.51,"savings":4.55,"blended_rate":28.22},{"id":"69c72811ca96b","date":"2026-03-27","timestamp":1774569600,"solar_kwh":47.426,"grid_kwh":25.431,"solar_export_kwh":0,"heat_pump_kwh":25.431,"rest_of_house_kwh":0,"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":8.2,"temp_min":2.6,"temperature":5.3999999999999995,"sunrise":"05:54","sunset":"18:42","sunshine_hours":7.76,"precipitation":1.6,"uv_index":1.4,"cloud_cover":62,"daylight_hours":12.8,"usage_by_rate":{"cheap_kwh":3.571,"peak_kwh":1.77,"day_kwh":20.091},"solar_source":"tigo","net_grid_kwh":25.431,"self_sufficiency":65.09,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":6.97,"export_income":0,"cost_method":"half-hourly","total_cost":7.59,"cost_without_solar":21.18,"savings":13.59,"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' } } } } }); */