📊 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
£28.34
Per Month
£344.79/year
⚡ Grid Avoided
8.0 kWh
Per Day (avg)
241.1 kWh over 30 days
☀️ Solar Captured
8.9 kWh
Per Day (avg)
Currently exported, would be stored
🌱 Self-Sufficiency
Current → With Battery
📅 Est. Payback
14.5 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
£70.48
Per Month
Solar + Arbitrage: £857.49/year
📅 Improved Payback
5.8 years
With Arbitrage
vs 14.5 years solar only
📊 Monthly Savings Breakdown
⏰ 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: £96.73/month
🏆 Best for Battery
Octopus Flux
Battery savings: £96.73/month
| Tariff |
Spread |
Arbitrage |
Solar |
Monthly |
Payback |
|
🥇 Octopus Flux
Best for battery export
|
22.6p
|
£42.14 |
£68.04 |
£96.73 |
4.2 yrs |
|
🥈 Octopus Go
Best for EV charging
|
22.6p
|
£42.25 |
£47.79 |
£90.04 |
4.6 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
Minimal solar, high heating
Good solar, moderate heating
Peak solar, minimal heating
Declining solar, rising heating
🌍
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":"6a976701c492a","date":"2026-09-01","timestamp":1788220800,"solar_kwh":8.327,"grid_kwh":45.85,"solar_export_kwh":19.852,"heat_pump_kwh":16.409,"rest_of_house_kwh":29.44,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":8.327,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":55,"temp_max":15.3,"temp_min":10.6,"temperature":12.95,"sunrise":"06:12","sunset":"20:14","sunshine_hours":4.33,"precipitation":4.1,"uv_index":3,"cloud_cover":82,"daylight_hours":14.03,"usage_by_rate":{"cheap_kwh":17.924,"peak_kwh":2.636,"day_kwh":25.289},"solar_source":"shelly_205","net_grid_kwh":25.998,"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":11.21,"export_income":1.98,"cost_method":"half-hourly","total_cost":9.85,"cost_without_solar":13.56,"savings":3.71,"blended_rate":28.22},{"id":"6a98b88181e00","date":"2026-09-02","timestamp":1788307200,"solar_kwh":11.431,"grid_kwh":32.013,"solar_export_kwh":23.955,"heat_pump_kwh":15.953,"rest_of_house_kwh":16.059,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":11.431,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":61,"temp_max":13.7,"temp_min":8.7,"temperature":11.2,"sunrise":"06:14","sunset":"20:11","sunshine_hours":3.31,"precipitation":1.8,"uv_index":2.5,"cloud_cover":96,"daylight_hours":13.95,"usage_by_rate":{"cheap_kwh":11.559,"peak_kwh":0.152,"day_kwh":20.302},"solar_source":"shelly_205","net_grid_kwh":8.058,"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":7.75,"export_income":2.39,"cost_method":"half-hourly","total_cost":5.98,"cost_without_solar":9.65,"savings":3.67,"blended_rate":28.22},{"id":"6a9a0a0145bde","date":"2026-09-03","timestamp":1788393600,"solar_kwh":6.145,"grid_kwh":37.064,"solar_export_kwh":22.645,"heat_pump_kwh":10.335,"rest_of_house_kwh":26.729,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":6.145,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":63,"temp_max":17.9,"temp_min":12.2,"temperature":15.049999999999999,"sunrise":"06:16","sunset":"20:08","sunshine_hours":10.97,"precipitation":12.3,"uv_index":2.9,"cloud_cover":62,"daylight_hours":13.87,"usage_by_rate":{"cheap_kwh":16.526,"peak_kwh":1.13,"day_kwh":19.408},"solar_source":"shelly_205","net_grid_kwh":14.419,"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":8.72,"export_income":2.26,"cost_method":"half-hourly","total_cost":7.08,"cost_without_solar":11.08,"savings":4,"blended_rate":28.22},{"id":"6a9b5b817d598","date":"2026-09-04","timestamp":1788480000,"solar_kwh":9.189,"grid_kwh":37.32,"solar_export_kwh":11.903,"heat_pump_kwh":21.134,"rest_of_house_kwh":16.186,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":9.189,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":51,"temp_max":15.8,"temp_min":11.6,"temperature":13.7,"sunrise":"06:18","sunset":"20:05","sunshine_hours":3.64,"precipitation":1.3,"uv_index":2.9,"cloud_cover":81,"daylight_hours":13.78,"usage_by_rate":{"cheap_kwh":10.17,"peak_kwh":3.672,"day_kwh":23.477},"solar_source":"shelly_205","net_grid_kwh":25.417,"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":9.8,"export_income":1.19,"cost_method":"half-hourly","total_cost":9.23,"cost_without_solar":11.15,"savings":1.92,"blended_rate":28.22},{"id":"6a9cad015a101","date":"2026-09-05","timestamp":1788566400,"solar_kwh":18.888,"grid_kwh":48.671,"solar_export_kwh":17.695,"heat_pump_kwh":12.081,"rest_of_house_kwh":36.59,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":18.888,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":63,"temp_max":14.6,"temp_min":10.2,"temperature":12.399999999999999,"sunrise":"06:21","sunset":"20:02","sunshine_hours":5.14,"precipitation":8.1,"uv_index":2.85,"cloud_cover":82,"daylight_hours":13.68,"usage_by_rate":{"cheap_kwh":24.95,"peak_kwh":0.971,"day_kwh":22.75},"solar_source":"shelly_205","net_grid_kwh":30.976,"self_sufficiency":2.39,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":11.03,"export_income":1.77,"cost_method":"half-hourly","total_cost":9.88,"cost_without_solar":14.69,"savings":4.81,"blended_rate":28.22},{"id":"6a9dfe8142714","date":"2026-09-06","timestamp":1788652800,"solar_kwh":42.737,"grid_kwh":53.844,"solar_export_kwh":1.687,"heat_pump_kwh":15.431,"rest_of_house_kwh":38.413,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":42.737,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":63,"temp_max":18.2,"temp_min":10.8,"temperature":14.5,"sunrise":"06:23","sunset":"19:59","sunshine_hours":3.27,"precipitation":14.5,"uv_index":1.65,"cloud_cover":90,"daylight_hours":13.6,"solar_source":"shelly_205","net_grid_kwh":52.157000000000004,"self_sufficiency":43.26,"tariff":"Octopus Flux","rates":{"day":28.22,"cheap":16.93,"peak":39.51},"standing_charge":0.6168,"export_rate":9.98,"energy_cost":15.19,"export_income":0.17,"cost_method":"estimated","total_cost":15.64,"cost_without_solar":27.4,"savings":11.76,"blended_rate":28.22},{"id":"6a9f50016dafb","date":"2026-09-07","timestamp":1788739200,"solar_kwh":18.769,"grid_kwh":56.511,"solar_export_kwh":18.999,"heat_pump_kwh":22.174,"rest_of_house_kwh":34.336,"battery_kwh":0,"battery_soc":0,"shelly_solar_kwh":18.769,"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, shelly_205","sources":["tigo_api","shelly_em","shelly_205"],"from_shelly":true,"weather_code":3,"temp_max":16.7,"temp_min":11.2,"temperature":13.95,"sunrise":"06:25","sunset":"19:56","sunshine_hours":7.82,"precipitation":0,"uv_index":2.95,"cloud_cover":80,"daylight_hours":13.52,"usage_by_rate":{"cheap_kwh":26.018,"peak_kwh":3.019,"day_kwh":27.473},"solar_source":"shelly_205","net_grid_kwh":37.512,"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":13.35,"export_income":1.9,"cost_method":"half-hourly","total_cost":12.07,"cost_without_solar":16.57,"savings":4.5,"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' }
}
}
}
});
*/