TypeScript kullanarak kendi hesaplamalarınızı oluşturabilirsiniz. Bu sayfanın alt kısmındaki kod bu sayfa, uzun vadede mobil cihazlara daha uygun bir ödemeye devam edebilir veya elektrik faturanızı olduğu gibi ödemeye devam edebilirsiniz.
Kodun güneş paneli maliyetlerini nasıl belirlediğinin üst düzey dökümü aşağıda verilmiştir.
1. Bölüm: Sistem ihtiyaçları ve kurulumu
Öncelikle mevcut elektrik kullanımınızı ve faturalarınızı tanımlayın:
- Her ay ne kadar elektrik kullanıyorsunuz? (
monthlyKwhEnergyConsumption
) - O elektriğin maliyeti ne kadar? (
energyCostPerKwh
)
Sonra güneş sistemi planlarınızı girin:
- Kaç panel var? (
panelsCount
) - Paneller ne kadar güçlü? (
panelCapacityWatts
) - Kurulumun maliyeti ne kadardır? (
installationCostPerWatt
) - Sistemde indirim var mı? (
solarIncentives
)
2. Bölüm: Hesaplamalar
Kod, girilen değerlere bağlı olarak şunları hesaplar:
yearlyProductionAcKwh
: Güneş panellerinizin çekebileceği yıllık toplam elektrik üretir.totalCostWithSolar
: Güneş enerjisi ile yıllar boyunca elektrik maliyeti kullanabilirsiniz.totalCostWithoutSolar
: Yıllar boyunca elektrik maliyeti güneş panelleri.
Bölüm 3: Sonuçlar
Kod ayrıca şunları da belirtir:
savings
: Güneş paneli içeren ve içermeyen maliyetler arasındaki fark.breakEvenYear
: Güneş paneli maliyetinin elektrik tasarrufu yapabilirsiniz.
Örnek kod
// Solar configuration, from buildingInsights.solarPotential.solarPanelConfigs let panelsCount = 20; let yearlyEnergyDcKwh = 12000; // Basic settings let monthlyAverageEnergyBill: number = 300; let energyCostPerKwh = 0.31; let panelCapacityWatts = 400; let solarIncentives: number = 7000; let installationCostPerWatt: number = 4.0; let installationLifeSpan: number = 20; // Advanced settings let dcToAcDerate = 0.85; let efficiencyDepreciationFactor = 0.995; let costIncreaseFactor = 1.022; let discountRate = 1.04; // Solar installation let installationSizeKw: number = (panelsCount * panelCapacityWatts) / 1000; let installationCostTotal: number = installationCostPerWatt * installationSizeKw * 1000; // Energy consumption let monthlyKwhEnergyConsumption: number = monthlyAverageEnergyBill / energyCostPerKwh; let yearlyKwhEnergyConsumption: number = monthlyKwhEnergyConsumption * 12; // Energy produced for installation life span let initialAcKwhPerYear: number = yearlyEnergyDcKwh * dcToAcDerate; let yearlyProductionAcKwh: number[] = [...Array(installationLifeSpan).keys()].map( (year) => initialAcKwhPerYear * efficiencyDepreciationFactor ** year, ); // Cost with solar for installation life span let yearlyUtilityBillEstimates: number[] = yearlyProductionAcKwh.map( (yearlyKwhEnergyProduced, year) => { const billEnergyKwh = yearlyKwhEnergyConsumption - yearlyKwhEnergyProduced; const billEstimate = (billEnergyKwh * energyCostPerKwh * costIncreaseFactor ** year) / discountRate ** year; return Math.max(billEstimate, 0); // bill cannot be negative }, ); let remainingLifetimeUtilityBill: number = yearlyUtilityBillEstimates.reduce((x, y) => x + y, 0); let totalCostWithSolar: number = installationCostTotal + remainingLifetimeUtilityBill - solarIncentives; console.log(`Cost with solar: $${totalCostWithSolar.toFixed(2)}`); // Cost without solar for installation life span let yearlyCostWithoutSolar: number[] = [...Array(installationLifeSpan).keys()].map( (year) => (monthlyAverageEnergyBill * 12 * costIncreaseFactor ** year) / discountRate ** year, ); let totalCostWithoutSolar: number = yearlyCostWithoutSolar.reduce((x, y) => x + y, 0); console.log(`Cost without solar: $${totalCostWithoutSolar.toFixed(2)}`); // Savings with solar for installation life span let savings: number = totalCostWithoutSolar - totalCostWithSolar; console.log(`Savings: $${savings.toFixed(2)} in ${installationLifeSpan} years`);