يوضّح هذا القسم كيفية إجراء العمليات الحسابية التي تتيح لك تحديد أفضل إعدادات للطاقة الشمسية للمنازل في مواقع جغرافية خارج الولايات المتحدة. لاحتساب الاقتراحات، عليك وضع نموذج لتكاليف تركيب الألواح الشمسية ونسبة التوفير التي توفّرها باستخدام البيانات الواردة من استجابة Solar API.
بالنسبة إلى المواقع الجغرافية في الولايات المتحدة، تعرض 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
، وهو 400 واط حاليًا.
إذا كنت بحاجة إلى استخدام تقييم مختلف لقدرة اللوحة في حساباتك وكانت أبعاد اللوحات قابلة للمقارنة تقريبًا بالقيم في الحقلَين panelHeightMeters
وpanelWidthMeters
، يمكنك تعديل حساباتك عن طريق ضرب القيمة التي تعرضها واجهة برمجة التطبيقات في الحقل yearlyEnergyDcKwh
بنسبة تقييم القدرة إلى القيمة في panelCapacityWatts
.
على سبيل المثال، إذا كان معدّل الطاقة للوحاتك هو 500 واط وpanelCapacityWatts
يساوي 400 واط، اضرب قيمة yearlyEnergyDcKwh
التي حسبتها واجهة برمجة التطبيقات باستخدام panelCapacityWatts
في عامل 500/400 أو 1.25. إذا كان معدّل استهلاك الطاقة في اللوحة 200 واط، اضرب yearlyEnergyDcKwh
في 200/400، أي 0.5.
إنتاج الطاقة الزائدة
لا تأخذ حسابات 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 بشكل أُسّي على كل عام بعد العام الأول.
- أضِف المجموعات لكل السنوات.
يوضّح الجدول التالي مثالاً على كيفية احتساب إنتاج الطاقة على مدار العمر الافتراضي، بافتراض أنّ installationLifeSpan يبلغ 20 عامًا. يمثّل كل صف سنة إنتاج. بعد السنة الأولى، يتم تطبيق الانخفاض في الكفاءة بشكل كبير. في النهاية، يكون مجموع كل الصفوف هو إجمالي إنتاج الطاقة من ألواح الطاقة الشمسية منذ بدء تثبيتها وحتى انتهاء عمرها الافتراضي.
سنة إنتاج الطاقة الشمسية السنوي (بالكيلوواط ساعة) 1 initialAcKwhPerYear 2 + initialAcKwhPerYear x efficiencyDepreciationFactor : : 20 + initialAcKwhPerYear x efficiencyDepreciationFactor19 المجموع LifetimeProductionAcKwh
بما أنّ كفاءة اللوح الشمسي تتدهور بمعدّل ثابت، فإنّها في الأساس عبارة عن سلسلة هندسية حيث a = initialAcKwhPerYear وr =
efficiencyDepreciationFactor. يمكننا استخدام مجموع هندسي لحساب
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. لكل عام بعد العام الأول، طبِّق قيمتَي costIncreaseFactor وdiscountRate على monthlyBill.
- أضِف المجموعات لكل السنوات.
يوضّح الجدول التالي مثالاً على كيفية احتساب التكلفة الإجمالية للكهرباء بدون استخدام الطاقة الشمسية. يمثّل كل صف تكلفة الكهرباء لمدة عام على مدار عدد السنوات نفسه الذي يمثّل العمر الافتراضي لمنشأة الطاقة الشمسية. بعد السنة الأولى، يتم تطبيق كل من التكلفة المتزايدة للكهرباء ومعدل الخصم بشكل كبير. أخيرًا، يمثّل مجموع كل الصفوف التكلفة الإجمالية للكهرباء بدون تركيب ألواح الطاقة الشمسية.
سنة فاتورة المرافق السنوية بقيمة العملة المحلية الحالية 1 annualBill = monthlyBill x 12 2 annualBill = monthlyBill x 12 x costIncreaseFactor / discountRate : : 20 annualBill = monthlyBill x 12 x costIncreaseFactor19 / discountRate19 المجموع costOfElectricityWithoutSolar
تُجري التعليمة البرمجية التالية العملية الحسابية أعلاه:
lifetimeBill = (
monthlyBill * 12 *
(1 - pow(costIncreaseFactor / discountRate, installationLifeSpan)) /
(1 - costIncreaseFactor / discountRate))
احتساب تكلفة التثبيت لكل حجم:
installationCost = localInstallationCostModel(
installationSize
)أضِف أي حوافز مالية متاحة في الموقع الجغرافي للمنزل.
لكل حجم من أحجام ألواح الطاقة الشمسية، احسب التكاليف الإجمالية المرتبطة بتركيب الألواح الشمسية:
totalCostWithSolar = installationCost + remainingLifetimeUtilityBill - incentives
لكل حجم من أحجام ألواح الطاقة الشمسية المركَّبة، احسب إجمالي الوفورات المرتبطة بتركيب ألواح الطاقة الشمسية:
الوفورات = تكلفة الكهرباء بدون الطاقة الشمسية - التكلفة الإجمالية مع الطاقة الشمسية
اختَر حجم التثبيت الذي يوفّر أكبر قدر من المساحة.
عند الانتهاء من العمليات الحسابية
باستخدام المعلومات التي تقدّمها والمعلومات التي تعرضها Solar API والحسابات المذكورة أعلاه، من المفترض أن تتمكّن من اقتراح أحجام تركيب ألواح الطاقة الشمسية التي توفّر الحد الأقصى من التكاليف للأسر في منطقتك.
في الاقتراحات التي تقدّمها إلى المستخدم النهائي، يمكنك أيضًا تضمين المعلومات التالية التي تعرضها واجهة برمجة التطبيقات في العنصر SolarPotential
للحقل solarPotential
:
- مقدار أشعة الشمس المناسبة لتوليد الكهرباء التي يتلقّاها المنزل سنويًا، ويتم عرضها في الحقل
maxSunshineHoursPerYear
الخاص بالكائنSolarPotential
- عدد الأقدام المربعة من السطح التي يمكن استخدامها لتركيب نظام شمسي، ويتم عرضها في الحقل
wholeRoofStats
الخاص بالكائنSolarPotential
- متوسط فاتورة الكهرباء الشهرية للمنزل