يمكن استخدام التكامل التالي لإرسال قياسات الموقع عبر MQTT، واستلام الأوامر لأنواع الأجهزة المختلفة المثبتة.
يقوم هذا الكود التجريبي بمهمة بسيطة تتمثل في إرسال قياسات تجريبية باستمرار إلى تركيب ما، واستقبال الأوامر:
يرجى تحميل الملف أدناه في بيئة تطوير Python المفضلة لديك. املأ رقم السيريال، وفلتر الموقع، وبيانات اعتماد MQTT وقم بتنفيذ البرنامج:
SmartgridOne
سيتم التحكم في المواقع عبر وحدة تحكم سحابية. يرجى التواصل مع Controller لإعداد وحدة تحكم سحابية جديدة
بمجرد إنشاء وحدة تحكم سحابية، ستحتوي على رقم تسلسلي فريد (standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>).
يمكن إنشاء مواقع جديدة على وحدة التحكم السحابية باستخدام فلاتر موقع فريدة standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
يجب استخدام هذين المتغيرين في مواضيع MQTT ومحتوى الرسالة.
تحذيرتحذير
استخدام فلاتر موقع متطابقة سيؤدي إلى حدوث أخطاء.
| Device Type | مدعوم |
|---|
| محولات الطاقة الشمسية | ✅ |
| أجهزة التخزين |
| مضخات الحرارة |
| عدادات الشبكة والاستهلاك |
| شواحن السيارات الكهربائية | ❌ |
ملاحظةملاحظة
لا يمكن تحرير الأجهزة في الموقع بعد إنشائه.
SmartgridOne ستوفر بيانات اعتماد MQTT. يجب إدخال اسم مستخدم MQTT عند إنشاء موقع جديد.
ملاحظةملاحظة
يجب توفير بيانات الاعتماد مرة واحدة فقط. يمكن استخدام مجموعة بيانات اعتماد MQTT واحدة للتحكم في جميع المواقع.
لإرسال القياسات إلى SmartgridOne Controller، يمكن استخدام موضوع MQTT التالي للنشر: standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
الحقول الاختيارية مذكورة بخط مائل *.
يمكن إرسال الحقول التالية حسب نوع الجهاز:
-
التخزين
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
الطاقة الشمسية
- active_power_W
- today_energy_Wh
-
مضخات الحرارة
- operation_modes
- أوضاع التشغيل المحتملة هي off, on
- active_power_W
- تعادل الطاقة الاسمية عندما تكون مضخة الحرارة on
-
العدادات
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
يجب أن تكون رسالة القياس مهيكلة بالشكل التالي:
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <الطاقة النشطة في الشبكة بالواط>,
"today_imported_energy_Wh": <الطاقة المستوردة اليوم بالشبكة بالواط-ساعة>
عندما يتم استلام القياس بنجاح، سيتم إرسال تأكيد على الموضوع التالي: standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
يمكن استخدام هذا التأكيد لـ:
- التحقق من أن رسالة القياس تم استلامها بنجاح.
- التحقق من أن رسالة القياس تحتوي على جميع البيانات اللازمة.
لاستلام الأوامر من SmartgridOne Controller، اشترك في موضوع MQTT التالي: standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
{
"extraTags": {
"nodeId": "<رقم تسلسلي لوحدة التحكم>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<السياسة>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<السياسة>",
"storage_power_setpoint_w": -5000
}
}
قائمة السياسات التي يمكن استقبالها موجودة هنا:
,
"today_exported_energy_Wh": <الطاقة المصدرة اليوم بالشبكة بالواط-ساعة>,
},
"meter": {
"active_power_W": <الطاقة النشطة في الشبكة بالواط>,
"today_imported_energy_Wh": <الطاقة المستوردة اليوم بالشبكة بالواط-ساعة>,
"today_exported_energy_Wh": <الطاقة المصدرة اليوم بالشبكة بالواط-ساعة>,
},
"storage": {
"energy_stored_Wh": <الطاقة المخزنة بالواط-ساعة>,
"mean_soc_perc": <متوسط نسبة حالة الشحن>,
"active_power_W": <الطاقة النشطة بالواط>,
"today_charged_Wh": <الطاقة المشحونة اليوم بالواط-ساعة>,
"today_discharged_Wh": <الطاقة المفروغة اليوم بالواط-ساعة>,
},
"solar": {
"active_power_W": <الطاقة النشطة للشمس بالواط>,
"today_energy_Wh": <الطاقة المنتجة اليوم بالواط-ساعة>.
},
"heat_pump": {
"active_power_W": <الطاقة النشطة لمضخة الحرارة بالواط>,
شولت | SmartgridOne Documentation "operation_modes": <وضع تشغيل مضخة الحرارة>
}
},
"response_code": <رمز الاستجابة>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}