يوضّح هذا القسم كيفية إجراء العمليات الحسابية التي تتيح لك تحديد أفضل إعدادات للطاقة الشمسية للمنازل في المواقع الجغرافية خارج الولايات المتحدة. لاحتساب الاقتراحات، عليك وضع نماذج لتكاليف تركيب الألواح الشمسية والتوفير الذي يوفّره باستخدام البيانات الواردة في ردّ واجهة برمجة التطبيقات لنظام الطاقة الشمسية.
بالنسبة إلى المواقع الجغرافية في الولايات المتحدة، تعرض Solar API مثيلًا لكائن FinancialAnalysis لكل حجم فاتورة كهربائية للموقع الجغرافي الذي تم إدخاله. ويمكنك استخدام المعلومات في هذه الحالات لتحديد الفاتورة واستهلاك الطاقة، وفي النهاية، التوفير المرتبط بكل حجم تركيب شمسي.
بالنسبة إلى المواقع الجغرافية خارج الولايات المتحدة، لا يتضمّن ردّ واجهة برمجة التطبيقات عناصر FinancialAnalysis ، لذا عليك احتساب التكلفة والتوفير لكل ملف شخصي لنظام توليد الطاقة الشمسي بنفسك قبل أن تتمكّن من اقتراح أفضل نظام. لإجراء الحسابات، عليك جمع بيانات خاصة بالموقع الجغرافي واتّباع الإرشادات الواردة في هذا المستند.
يمكنك وضع نماذج لعمليات الحساب استنادًا إلى العمليات الحسابية التي تستخدمها واجهة برمجة التطبيقات Solar API للمواقع الجغرافية في الولايات المتحدة. للحصول على شرح لهذه العمليات الحسابية، يُرجى الاطّلاع على مقالة احتساب التوفير في التكلفة (الولايات المتحدة).
إعدادات الألواح الشمسية
بالنسبة إلى المواقع الجغرافية خارج الولايات المتحدة، يتم توفير معلومات عن كل إعدادات الألواح الشمسية التي تحتاج إليها للقيام بالتحليل المالي في حقل SolarPanelConfig
.
يعتمد عدد نُسخ SolarPanelConfig
التي يتم عرضها على سقف
حجم الموقع الجغرافي الذي تم إدخاله. لإجراء عملياتك الحسابية، تحتاج إلى القيم من
الحدّين التاليين:
panelsCount
: عدد اللوحات المستخدَمة في هذا الإعداد.-
yearlyEnergyDcKwh
: كمية الطاقة الشمسية، بالكيلوواط ساعة من كهرباء التيار المستمر، التي تنتجها هذه الإعدادات على مدار عام، استنادًا إلى حجم الواح الشمسية المحدّد بالحقول التالية في عنصرSolarPotential
:-
panelHeightMeters
: ارتفاع اللوحة بالمتر panelWidthMeters
: عرض اللوحة بالمترpanelCapacityWatts
: تقييم طاقة اللوحة بالواط
-
يعرض المثال التالي مثيلًا واحدًا للعنصر SolarPanelConfig
في حقل
solarPanelConfigs
في استجابة طلب:
"solarPanelConfigs": [ { "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424, "roofSegmentSummaries": [ { "pitchDegrees": 16.253168, "azimuthDegrees": 169.41516, "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424 } ] } ]
بالنسبة إلى عمليات تركيب الألواح الشمسية، يشير installationSize
إلى قدرة الخرج بالواط بدلاً من
المساحة أو عدد الألواح، ويتم تعريفه على النحو التالي:
installationSize = panelsCount * panelCapacityWatts/1000 kW
تعديل تقديرات إنتاج الطاقة لتقييمات الألواح المختلفة
لاحتساب قيمة yearlyEnergyDcKwh
، تستخدِم Solar API تقييم القوة
في حقل panelCapacityWatts
، والذي يبلغ حاليًا 250 واط.
إذا كنت بحاجة إلى استخدام تصنيف مختلف لطاقة الألواح في عمليات الحساب وكانت
أبعاد الألواح مشابهة تقريبًا للقيم الواردة في حقلَي
panelHeightMeters
وpanelWidthMeters
، يمكنك تعديل
عمليات الحساب من خلال ضرب القيمة التي تعرضها واجهة برمجة التطبيقات في حقل
yearlyEnergyDcKwh
بنسبة تصنيف الطاقة إلى القيمة الواردة في
panelCapacityWatts
.
على سبيل المثال، إذا كان تقييم الطاقة للوحات هو 400 واط وكانت قيمة panelCapacityWatts
تساوي 250 واط، اضرب قيمة yearlyEnergyDcKwh
التي تحتسبها واجهة برمجة التطبيقات باستخدامpanelCapacityWatts
، بمقدار 400/250 أو 1.6. إذا كان تقييم قدرة اللوحة الكهربائية
هو 200 واط، اضرب yearlyEnergyDcKwh
في 200/250 أو 0.8.
إنتاج الطاقة الزائدة
إنّ احتساب الطاقة الزائدة التي قد يتم إنتاجها من خلال تركيب أنظمة الطاقة الشمسية هو خارج نطاق عمليات حساب Solar API. في الواقع، إذا كانت واجهة برمجة التطبيقات
Solar API تعرِض عدّة حالات محتملة لSolarPanelConfig
لعائله معيّنة، لا تأخذ واجهة برمجة التطبيقات
Solar API في الاعتبار النتائج أو الإعدادات التي تنتج طاقة أكبر من متوسط استهلاك المنازل في الولايات المتحدة في
FinancialAnalysis
.
ومع ذلك، قد تكون لديك أسباب لتضمين عمليات التركيب التي تنتج طاقة كهربائية زائدة في اقتراحاتك. على سبيل المثال، قد تحتاج إلى تعويض الانخفاض التدريجي في كفاءة الألواح (efficiencyDepreciationFactor) من خلال السماح بإنتاج زائد في الجزء الأول من مدة التركيب. لمزيد من المعلومات، يُرجى الاطّلاع على القيم المطلوبة للتحليل المالي.
مهما كانت الأسباب، إذا كنت تُدرِج في عمليات الحساب تركيبات الطاقة الشمسية التي تُنتج طاقة كهربائية زائدة، يُرجى العِلم أنّ العمليات الحسابية التي تتم شرحها هنا لا تتناول هذا السيناريو.
القيم المطلوبة للتحليل المالي للمواقع الجغرافية خارج الولايات المتحدة
من كل مثيل SolarPanelConfig
في استجابة واجهة برمجة التطبيقات، تحتاج إلى قيمتَين للقيام بالتحليل المالي لذلك المثيل:
-
panelsCount
: عدد الألواح الشمسية في عملية التركيب ويمكنك استخدام هذه القيمة في احتسابinstallationSize
. -
yearlyEnergyDcKwh
: مقدار الطاقة الشمسية التي يجمعها التصميم على مدار العام، بالكيلوواط ساعة من كهرباء التيار المباشر، استنادًا إلىpanelsCount
محدّد يمكنك استخدام هذه القيمة في احتساب الطاقة الشمسية القابلة للاستخدام كهربائية مترددة في منزل (initialAcKwhPerYear
) من كلinstallationSize
، مع مراعاة أي خسارة في الطاقة أثناء التحويل من التيار المباشر إلى التيار المتردد.
بالإضافة إلى ذلك، عليك جمع قيم خاصة بالموقع الجغرافي للمتغيّرات التالية التي ستستخدمها في العمليات الحسابية:
- billCostModel(): نموذجك لتحديد التكلفة، بالعملة المحلية، التي تدفعها الأسرة مقابل استخدام عدد معيّن من كيلوواط ساعة. يمكن أن تختلف رسوم استهلاك الكهرباء التي تفرضها شركة الخدمات من يوم لآخر أو من ساعة لأخرى، وذلك استنادًا إلى عوامل مثل الطلب ووقت اليوم وكمية الكهرباء التي يستهلكها المنزل. قد تحتاج إلى تقدير متوسط التكلفة.
- costIncreaseFactor: العامل الذي يتم بناءً عليه زيادة تكلفة الكهرباء سنويًا. تستخدِم واجهة برمجة التطبيقات Solar API قيمة 1.022 (زيادة سنوية تبلغ 2.2%) للمواقع الجغرافية في الولايات المتحدة. عدِّل هذه القيمة حسب الحاجة لتناسب منطقتك.
- dcToAcDerate: كفاءة محوِّل التيار الكهربائي في تحويل تيار التحويل المباشر الذي تنتجه الألواح الشمسية إلى تيار متناوب يُستخدَم في المنزل تستخدِم واجهة برمجة التطبيقات Solar API نسبة %85 لمواقع الولايات المتحدة. عدِّل هذه القيمة حسب الحاجة لتناسب منطقتك.
- discountRate: تستخدِم Solar API القيمة 1.04 (زيادة سنوية تبلغ 4%) للمواقع الجغرافية في الولايات المتحدة. عدِّل هذه القيمة حسب الحاجة لتناسب منطقتك.
- efficiencyDepreciationFactor: مقدار انخفاض كفاءة الألواح الشمسية كل عام تستخدِم واجهة برمجة التطبيقات Solar API قيمة 0.995 (انخفاض سنوي بنسبة 0.5%) للمواقع الجغرافية في الولايات المتحدة. عدِّل هذه القيمة حسب الحاجة لمنطقة الاستهداف.
- الحوافز: أدرِج أي حوافز مالية تمنحها الجهات الحكومية في منطقتك لتثبيت ألواح الطاقة الشمسية.
- installationCostModel(): طريقة تقدير تكلفة
تركيب الألواح الشمسية بالعملة المحلية لنظام
installationSize
معيّن. عادةً ما يأخذ نموذج التكلفة في الاعتبار تكاليف العمالة والمواد المحلية لinstallationSize
معيّن. - installationLifeSpan: العمر المتوقّع لنظام الطاقة الشمسية. تستخدِم واجهة برمجة التطبيقات Solar API فترة 20 عامًا. عدِّل هذه القيمة حسب الحاجة لمنطقة الاستهداف.
- kWhConsumptionModel(): نموذجك لتحديد كمية الطاقة التي يستهلكها المنزل استنادًا إلى الفاتورة الشهرية في أبسط صورها، عليك تقسيم الفاتورة على متوسط تكلفة كيلوواط ساعة في موقع المنزل.
- monthlyBill: متوسط فاتورة الكهرباء الشهرية لمنزل تابع لموضوع الدراسة
- monthlyKWhEnergyConsumption: تقدير لمتوسط كمية الكهرباء التي تستهلكها الأسرة في موقع جغرافي معيّن خلال شهر، ويتم قياسه بالكيلوواط في الساعة.
باستخدام هذه القيم والمعلومات المقدَّمة في ردّ واجهة برمجة التطبيقات، يمكنك
إجراء العمليات الحسابية اللازمة لاقتراح أفضل installationSize
ل
المواقع الجغرافية التي لا تغطّيها واجهة برمجة التطبيقات Solar API.
خطوات الحساب
تستند الخطوات التالية إلى منهجية Solar API. قد تحتاج إلى تعديل المنهجية استنادًا إلى المعلومات المتاحة لمكان إقامتك.
حساب الاستهلاك السنوي للطاقة في المنزل في الموقع الجغرافي الذي تم إدخاله:
- تقدير الفاتورة الشهرية للمنزل أو طلبها
- احتسِب monthlyKWhEnergyConsumption من الفاتورة الشهرية. (إذا كان لديك معلومات عن monthlyKWhEnergyConsumption، يمكنك تخطّي هذه الخطوة). على سبيل المثال:
monthlyKWhEnergyConsumption = kWhConsumptionModel(monthlyBill)
- احتسِب annualKWhEnergyConsumption عن طريق ضرب monthlyKWhEnergyConsumption في 12:
annualKWhEnergyConsumption = monthlyKWhEnergyConsumption x 12
الحصول على استجابة واجهة برمجة التطبيقات للمنزل المستهدَف:
https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=lat-number&location.longitude=long-number&key=yourAPIKey
يتضمّن الردّ ضوء الشمس القابل للاستخدام ومساحة السطح القابلة للاستخدام وأحد أو أكثر من إعدادات الألواح الشمسية المحتملة.
احتساب الإنتاج السنوي للطاقة الشمسية بالتيار المتّصل لكل
installationSize
تقترحها واجهة برمجة التطبيقات من خلال ضرب قيمةyearlyEnergyDcKwh
المقدَّمة من واجهة برمجة التطبيقات في كل مثيلSolarPanelConfig
بقيمة dcToAcDerate المحلية:initialAcKwhPerYear =
yearlyEnergyDcKwh
x dcToAcDerateيمكنك اختياريًا إزالة أي مثيل من
SolarPanelConfig
يصنّف على أنّه يستهلك طاقة أكثر مما يستهلكه المنزل سنويًا (initialAcKwhPerYear > annualKWhEnergyConsumption).احتساب إجمالي إنتاج الطاقة الشمسية منذ بدء تركيب ألواح الطاقة الشمسية وحتى انتهاء عمرها الافتراضي (LifetimeProductionAcKwh) لكل installationSize معروض:
- في كل عام من عمر تركيب الطاقة الشمسية، احسب كمية الكهرباء التي سينتجها التركيب سنويًا، مع تطبيق efficiencyDepreciationFactor بشكلٍ تصاعدي على كل عام بعد السنة الأولى.
- أضِف القيم الإجمالية لجميع السنوات.
يعرض الجدول التالي مثالاً على كيفية احتساب إنتاج الطاقة خلال فترة عمر النظام بافتراض أنّ مدة التثبيت هي 20 عامًا. يمثّل كل صف عامًا من الإنتاج. بعد السنة الأولى، يتم تطبيق الانخفاض في الكفاءة بشكلٍ تصاعدي. أخيرًا، يمثّل مجموع جميع الصفوف إجمالي الطاقة التي تم إنتاجها خلال عمر تركيب الطاقة الشمسية.
سنة الإنتاج السنوي للطاقة الشمسية (بالكيلوواط ساعة) 1 initialAcKwhPerYear 2 + initialAcKwhPerYear x efficiencyDepreciationFactor : : 20 + initialAcKwhPerYear x efficiencyDepreciationFactor19 المجموع LifetimeProductionAcKwh
بما أنّ كفاءة الألواح الشمسية تنخفض بمعدّل ثابت، فإنّها تشكل أساسًا
سلسلة هندسية حيث أ = القيمة الأولية لـ AcKwhPerYear ور =
معامل الاستهلاك. يمكننا استخدام مجموع هندسي لاحتساب
LifetimeProductionAcKwh
:
LifetimeProductionAcKwh = (dcToAcDerate * initialAcKwhPerYear * (1 - pow(efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
تحسب رمز Python التالي مجموع القيم الهندسية أعلاه:
def LifetimeProductionAcKwh( dcToAcDerate, yearlyEnergyDcKwh, efficiencyDepreciationFactor, installationLifeSpan): return ( dcToAcDerate * yearlyEnergyDcKwh * (1 - pow( efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
بالنسبة إلى كل
installationSize
تم إرجاعه، احتسِب التكلفة الدائمة لاستهلاك الطاقة في حال تركيبinstallationSize
:- في كل عام من عمر تركيب الطاقة الشمسية، احتسب تكلفة الكهرباء التي ستحتاج الأسرة إلى شرائها سنويًا لتغطية استهلاك الطاقة الذي لا توفّره الطاقة الشمسية. استخدِم قيم annualKWhEnergyConsumption وinitialAcKwhPerYear التي سبق أن احتسبتها. لكل عام بعد السنة الأولى، طبِّق معامل_استهلاك_الكفاءة ومعامل_زيادة_التكلفة و معدّل_الخصم على القيم.
- أضِف القيم الإجمالية لجميع السنوات.
يعرض الجدول التالي مثالاً على كيفية احتساب التكلفة الكلية للكهرباء. يمثّل كل صف تكلفة الكهرباء لمدة عام خلال فترة تركيب الطاقة الشمسية. بعد السنة الأولى، يتم تطبيق كل من تكلفة الكهرباء المتزايدة ونسبة الخصم بشكلٍ تصاعدي. أخيرًا، يمثّل مجموع جميع الصفوف تكلفة توليد الكهرباء خلال فترة استخدام تركيب الطاقة الشمسية.
سنة فاتورة الخدمات السنوية بقيمة العملة المحلية الحالية (بالدولار الأمريكي) (annualUtilityBillEstimate) 1 annualUtilityBillEstimateYear1 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear) 2 annualUtilityBillEstimateYear2 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x efficiencyDepreciationFactor) x costIncreaseFactor / discountRate : : 20 annualUtilityBillEstimateYear20 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x efficiencyDepreciationFactor19) x costIncreaseFactor19 / discountRate19 المجموع remainingLifetimeUtilityBill
تعرِض التعليمة البرمجية التالية في Python صفيفًا من annualUtilityBillEstimate
لكل عام منinstallationLifeSpan
:
def annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate): return ( billCostModel( yearlyKWhEnergyConsumption - annualProduction( initialAcKwhPerYear, efficiencyDepreciationFactor, year)) * pow(costIncreaseFactor, year) / pow(discountRate, year)) def lifetimeUtilityBill( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, installationLifeSpan, costIncreaseFactor, discountRate): bill = [0] * installationLifeSpan for year in range(installationLifeSpan): bill[year] = annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate) return bill
احسب تكلفة الكهرباء على مدار عمرها الافتراضي في حال عدم تركيب منظومة طاقة شمسية:
- في كل عام من عمر تركيب الطاقة الشمسية، احسب تكلفة الكهرباء التي ستحتاج الأسرة إلى شرائها سنويًا في حال عدم تركيب أنظمة توليد الطاقة الشمسية. استخدِم قيمة monthlyBill. لكل عام بعد السنة الأولى، طبِّق قيمتَي مُضاعِف زيادة التكلفة و معدّل الخصم على الفاتورة الشهرية.
- أضِف القيم الإجمالية لجميع السنوات.
يعرض الجدول التالي مثالاً على كيفية احتساب التكلفة الدائمة للكهرباء بدون الطاقة الشمسية. يمثّل كل صف تكلفة توليد الكهرباء لمدة عام على مدار العدد نفسه من السنوات التي يمثّلها عمر محطة الطاقة الشمسية. بعد السنة الأولى، يتم تطبيق كل من التكلفة المتزايدة للكهرباء ونسبة الخصم بشكلٍ تصاعدي. أخيرًا، يمثّل مجموع جميع الصفوف تكلفة الكهرباء طوال فترة استخدامها بدون تركيب أنظمة شمسية.
سنة قيمة فاتورة الخدمات السنوية بالعملة المحلية الحالية 1 الفاتورة السنوية = الفاتورة الشهرية × 12 2 الفاتورة السنوية = الفاتورة الشهرية × 12 × مُضاعِف الزيادة في التكلفة / معدّل الخصم : : 20 الفاتورة السنوية = الفاتورة الشهرية × 12 × مُضاعِف الزيادة في التكلفة لعام 19 / معدّل الخصم لعام 19 المجموع costOfElectricityWithoutSolar
تُجري التعليمة البرمجية التالية العملية الحسابية أعلاه:
lifetimeBill = ( monthlyBill * 12 * (1 - pow(costIncreaseFactor / discountRate, installationLifeSpan)) / (1 - costIncreaseFactor / discountRate))
احسب تكلفة التركيب لكل حجم تثبيت:
installationCost = localInstallationCostModel(
installationSize
)أضِف أي حوافز مالية متاحة في موقع المنزل.
لكل حجم تركيب، احتسِب إجمالي التكاليف المرتبطة بتركيب الألواح الشمسية:
totalCostWithSolar = installationCost + remainingLifetimeUtilityBill - incentives
احسب إجمالي التوفير لكل حجم تركيب مرتبط بتركيب الألواح الشمسية:
savings = costOfElectricityWithoutSolar - totalCostWithSolar
اختَر حجم التثبيت الذي يحقّق أكبر قدر من التوفير.
عند الانتهاء من العمليات الحسابية
باستخدام المعلومات التي تقدّمها والمعلومات التي تعرضها واجهة برمجة التطبيقات Solar API والحسابات أعلاه، من المفترض أن تتمكّن من اقتراح أحجام تركيب أنظمة توليد الطاقة الشمسية التي توفّر الحد الأقصى من التوفير في التكلفة للمنازل في منطقتك.
في الاقتراحات التي تقدّمها للمستخدم النهائي، يمكنك أيضًا تضمين
المعلومات التالية التي تعرضها واجهة برمجة التطبيقات في عنصر SolarPotential
لحقل solarPotential
:
- مقدار ضوء الشمس المفيد الذي يتلقّاه المنزل سنويًا، والذي يتم عرضه في حقل
maxSunshineHoursPerYear
لعنصرSolarPotential
. - عدد الأقدام المربّعة من السقف التي يمكن استخدامها لتركيب منظومة شمسية، والتي يتم عرضها في حقل
wholeRoofStats
لعنصرSolarPotential
- متوسط فاتورة الكهرباء الشهرية للمنزل