انتقل إلى المحتوى

Solar AI Optimizer - دليل مستخدم لوحة المعلومات

يتنقل هذا الدليل عبر لوحة معلومات الويب Lit التي يتم تقديمها مع الواجهة الخلفية على http://localhost:8000 (أو عبر لوحة الدخول الإضافية لـ Home Assistant). تستخدم لقطات الشاشة السمة الافتراضية المظلمة بحجم 1280×900 ما لم يُذكر ذلك.

ابدء

افتح لوحة القيادة بعد ذلكتثبيت:

docker compose up -d --build

يعرض الشريط العلوي حالة الاتصال المباشر ووضع التشغيل:

  • ** HA متصل / HA غير متصل ** - رابط WebSocket للمساعد المنزلي
  • SHADOW / LIVE — يقوم وضع الظل بتسجيل الإجراءات دون الكتابة إلى العاكس
  • القواعد / MPC — محرك القرار النشط (يعود MPC إلى القواعد في حالة عدم توفر PuLP)
  • أقراص الحالة مثل SET LOCATION أو FORECAST DEGRADED أو STALE DATA أو SOLCAST MISCONFIGURED تسلط الضوء على مشكلات التكوين أو البيانات (المسؤول فقط)

استخدم تبديل السمة (رمز الشمس/القمر) للتبديل بين الضوء/الظلام؛ إعادة رسم المخططات لتتناسب.

الفتح من مدخل مساعد المنزل

عندما تفتح Solar AI من الشريط الجانبي HA (الوظيفة الإضافية أو hass_ingress)، تظهر بداية التشغيل على الفور بينما يتحقق التطبيق من جلستك (GET /api/me). يؤدي هذا إلى تجنب وجود إطار iframe فارغ أثناء تحميل JavaScript وأثناء تشغيل دقة دور الدخول. يتلاشى البداية بمجرد تسجيل الدخول أو ظهور صفحة تسجيل الدخول.

على الهواتف التي تستخدم تطبيق Home Assistant Companion، تحترم لوحة المعلومات المناطق الآمنة (الشق ومؤشر المنزل) وتستخدم أهداف النقر الأكبر حجمًا. انظردخول المحمول ضمان الجودةقائمة التحقق عند التحقق من صحة التخطيط على iOS أو Android.


أدوار لوحة المعلومات

هناك لوحة تحكم واحدة لجميع المستخدمين. تتحكم الأدوار في علامات التبويب وعناصر التحكم التي تظهر، وليس التطبيقات أو عناوين URL المنفصلة.

الدور الوصول النموذجي علامات التبويب
المسؤول مالك ها،system-adminالمجموعة أو تسجيل الدخول المحلي أوAPI_TOKEN نظرة عامة، توقعات، التاريخ، المساعد، فصل الأحمال، الإعدادات
المشاهد مستخدمو HA الآخرون عبردخول نظرة عامة، توقعات، التاريخ فقط

تحليل الدور وإنفاذ واجهة برمجة التطبيقات:الأدوار والوصول.

مصفوفة الميزة

ميزة المشرف عارض
نظرة عامة على الوضع المباشر والقرار نعم نعم
التوقعات والتاريخ نعم نعم
تبديل الظل / المباشر نعم نعم (واجهة برمجة التطبيقات فقط؛ غير معروض في واجهة المشاهد)
إيقاف الكل / استئناف الكل (المحرك) نعم نعم
إيقاف / استئناف كل نظام فرعي (تخفيف الأحمال، شحن الشبكة، التحسين) نعم نعم
مفتاح الإيقاف (مع التأكيد) نعم نعم
دبوس احتياطي، شحن الشبكة، تجاوزات واضحة نعم لا
تشغيل دورة التحكم، تحديث التوقعات نعم لا
مساعد (ماجستير في القانون) نعم لا
الإعدادات / التكوين / الكيانات نعم لا
لافتات حالة التكوين (تعيين الموقع، الخ) نعم مخفي
وقت نفاد البطارية في نظرة عامة نعم نعم

لوحة تحكم المشرف

يرى المسؤولون جميع علامات التبويب الست ولوحة Overrides الكاملة في النظرة العامة.

Overview tab with status strip and navigation

نظرة عامة (المسؤول)

علامة التبويب "نظرة عامة" هي غرفة التحكم:

المنطقة الغرض
** نظرة عامة البطل ** شريط SOC كبير للبطارية مع علامة احتياطية وحبة خطر انقطاع التيار الكهربائي
بطاقات الحالة الطاقة الكهروضوئية الحية، والحمل، والشبكة، والقياس عن بعد ذي الصلة
** إحصائيات الشبكة ** إحصائيات توفر الشبكة الأخيرة
القرار والأساس المنطقي احتياطي الهدف الحالي ودرجة المخاطر والإجراءات المخططة وتفاصيل السقيفة (توسيع التفاصيل)
تجاوزات الظل/المباشر، الإيقاف المؤقت، مفتاح الإيقاف، الدبوس الاحتياطي، شحن الشبكة، دورة التشغيل - مجمعة حسب القسم

اقرأ لوحة القرار أولاً: فهي تشرح لماذا اختار المُحسِّن احتياطيه وإجراءاته الحالية. استخدم عرض سجل السقيفة أو تكوين روابط السقيفة عندما تكون إجراءات السقيفة نشطة.

لوحة التجاوزات (المسؤول)

يحصل المسؤولون على لوحة التشغيل الكاملة:

  • الظل / المباشر — البدء في الظل؛ انتقل إلى العيش فقط بعد أن تثق في القرارات
  • إيقاف الكل مؤقتًا / استئناف الكل — إيقاف أو إعادة تشغيل جميع الأنظمة الفرعية (تخفيف الأحمال، شحن الشبكة، التحسين)
  • إيقاف / استئناف كل نظام فرعي — مفاتيح تخفيف الأحمال وشحن الشبكة والتحسين (معروضة لجميع الأدوار)
  • متقدم (المسؤول فقط) — الظل/المباشر ومسح التجاوزات
  • مفتاح الإيقاف — توقف الطوارئ؛ شحن الشبكة عند الحد الأقصى (عند التمكين) واستعادة مستوى التساقط (يتطلب تأكيدًا)
  • تجاوز الاحتياطي — فرض الحد الأدنى من SOC المستهدف مؤقتًا (%)
  • فرض شحن الشبكة — تجاوز تعبئة الشبكة الانتهازية (مخفي عند تعطيل شحن الشبكة)
  • دورة التشغيل / تحديث التوقعات — مشغلات يدوية
  • مسح التجاوزات — يتجاوز عامل إعادة التعيين بعد مفتاح الإيقاف

Overrides panel

التنبؤ، التاريخ، المساعد، فصل الأحمال، الإعدادات (المسؤول)

يستخدم المشرفون التوقعات والسجل مثل المشاهدين (انظر أدناه)، بالإضافة إلى:

  • مساعد — دردشة LLM حول القرارات الأخيرة؛ تطبيق أمر اختياري
  • فصل الأحمال — المستويات، وحدود SOC، واكتشاف الكيان المصاحب، وخيارات الاستعادة، والإعداد المسبق نشر السقيفة فقط (تعطيل شحن الشبكة وتحسينها؛ احتياطي استشاري اختياري)
  • الإعدادات — اتصال HA، الكيانات، البطارية، التوقعات، المحرك / شحن الشبكة تمكين التبديل، وما إلى ذلك.

Assistant chat panel

Settings panel (sidebar navigation — Engine section)


لوحة تحكم العارض

عند تسجيل الدخول من خلال دخول Home Assistant كمستخدم غير إداري، تعمل لوحة المعلومات في وضع العارض:

Viewer Overview — three tabs and VIEWER badge

  • علامات التبويب: نظرة عامة، وتوقعات، ومحفوظات فقط - لا يوجد مساعد، أو فصل الأحمال، أو إعدادات
  • الشريط العلوي: العارض شارة؛ قد يظهر اسم العرض HA الخاص بك أسفل عنوان التطبيق
  • تجاوزات النظرة العامة: إيقاف الكل مؤقتًا، استئناف الكل، مفاتيح إيقاف/استئناف كل نظام فرعي، ومفتاح الإيقاف (مع التأكيد) — بدون دبوس احتياطي، أو فرض شحن الشبكة، أو دورة تشغيل، أو تبديل الظل/المباشر، أو مسح التجاوزات
  • لافتات للقراءة فقط في النظرة العامة عندما يقوم المسؤول بتثبيت SOC الاحتياطي أو فرض رسوم على الشبكة - يرى المشاهدون التجاوز النشط ولكن لا يمكنهم تغييره
  • توقعات الحالة الفارغة — إذا لم يتم تكوين الموقع، فسيعرض المخطط رسالة تطلب من المسؤول تعيين خط العرض/خط الطول في الإعدادات (لا يمكن للمشاهدين فتح الإعدادات)
  • مدة نفاد شحن البطارية في نظرة عامة تستخدم بيانات الحالة المباشرة — لا يلزم الوصول إلى الإعدادات

لا يمكن للمشاهدين تثبيت SOC الاحتياطي، أو فرض رسوم على الشبكة، أو تشغيل دورة تحكم، أو تحديث التوقعات، أو مسح التجاوزات، أو استخدام المساعد، أو تغيير التكوين.

يرىالأدوار والوصوللمعرفة كيفية تحديد أدوار المشرف مقابل أدوار المشاهد.


ملخص

تمت مشاركتها بواسطة المشرف والعارض (تختلف عناصر التحكم - راجعلوحة التجاوزات (المسؤول)ولوحة تحكم العارض).

Overview layout with decision and overrides


تنبؤ بالمناخ

تعرض علامة التبويب التوقعات مخططًا لتوقعات الطاقة الشمسية والأحمال لمدة 48 ساعة، ورؤى (الطاقة الشمسية الزائدة، ونافذة الحمل القصوى، والمدرج الاحتياطي)، وإجماليات الطاقة اليومية.

  • سلسلة الطاقة الشمسية/الحمل تستخدم محور الطاقة الأيسر (واط)
  • درجة الحرارة (عند تكوينها) تستخدم محور درجة مئوية منفصلاً على الجانب الأيمن
  • حبوب منع الحمل تحذر من غائم غدًا أو توقعات متدهورة (مرّر مؤشر الماوس للأسباب)
  • يمكن للمسؤولين تحديث التوقعات يدويًا من علامة التبويب هذه

المسؤولون: قم بتعيين خط العرض وخط الطول والمصفوفات الكهروضوئية وموفر التنبؤ ضمن الإعدادات إذا كان المخطط فارغًا. المشاهدون: اتصل بالمسؤول إذا كان المخطط يعرض رسالة تكوين.

Forecast chart and grid statistics


تاريخ

يجمع التاريخ بين مخططات القياس عن بعد وجداول التدقيق. اختر نافذة زمنية (6 ساعات - 7 أيام) وعلامة تبويب فرعية:

علامة التبويب الفرعية المحتويات
الجدول الزمني SOC (%)، والطاقة (W)، ودرجات الحرارة الاختيارية، وتظليل انقطاع الشبكة
القرارات القرارات السابقة ذات المخاطرة وتسليط الضوء على الإجراءات
النشاط عمليات الكتابة والعاكس الأخيرة وأحداث الشبكة (تبديل المقطع داخل علامة التبويب)

History telemetry chart

History decisions table


مساعد

المسؤول فقط. يجيب المساعد على الأسئلة المتعلقة بالقرارات الأخيرة ويمكنه تطبيق الأوامر المحللة عند تمكين السماح للمساعد بتطبيق أوامر التحكم.

أمثلة:

  • "لماذا قمت بشحن الشبكة؟"
  • "ضبط الاحتياطي على 60%" (مع تحديد تطبيق)
  • "تأكيد مفتاح قتل الاشتباك" (خطير - يتطلب نص تأكيد صريحًا)

تُظهر محاولات إيقاف التشغيل المحظورة لافتة حمراء تشرح متطلبات التأكيد.


إعدادات

المسؤول فقط. يتم تحرير كافة تكوينات وقت التشغيل هنا وإبقاؤها في ملفsolar-dataمقدار. استخدم حفظ التغييرات بعد التعديلات.

الأقسام الرئيسية:

القسم ما لتكوين
اتصال مساعد المنزل عنوان URL، الرمز المميز، التحقق من طبقة المقابس الآمنة
الموقع المنطقة الزمنية — قائمة IANA القابلة للبحث أو تلقائي (طقس مفتوح في موقع الموقع). خط العرض / خط الطول لواجهات برمجة التطبيقات الخاصة بالطاقة الشمسية والطقس. ينطبق على التنبؤ بالإجماليات اليومية والطوابع الزمنية للسجل/المخطط وتحميل الواجهة الخلفية/درجة الحرارة.
آمن من الفشل كيان نبضات القلب، إيقاف تشغيل الشبكة عند الحد الأقصى
أمان واجهة برمجة التطبيقات الرمز المميز لواجهة برمجة التطبيقات (API) المخزنة في المتصفحAPI_TOKENتم تعيينه على الخادم
عرض التفضيلات اللغة (الإنجليزية والعربية والفرنسية) وتنسيق التاريخ لهذا المتصفح: الإعدادات المحلية الافتراضية، DD/MM/YY، أو YYYY-MM-DD (ISO). العربية تحدد التخطيط من اليمين إلى اليسار. ينطبق على جداول المحفوظات ومحاور/مؤشر الرسم البياني وتواريخ الإصدار. تتبع مبررات القرار وأخطاء واجهة برمجة التطبيقات ورسائل تحديث النظام والتدابير الاحتياطية المساعدة الإرشادية اللغة المحددة عندما ترسل لوحة المعلوماتX-Solar-Localeإلى الخلفية. يؤدي تغيير اللغة إلى إعادة توصيل WebSocket المباشر وإعادة جلب السجل. مطالبات نظام Ollama والردود الإرشادية مدعومة بالكتالوج لكل لغة؛ قد لا يزال إخراج النموذج مختلفًا. قد تعرض صفوف السجل المخزنة قبل ترحيل i18n نص تخطي باللغة الإنجليزية القديمة حتى تتم إعادة جلبه؛ تقوم واجهة برمجة التطبيقات (API) بتطبيع السلاسل القديمة المعروفة عندما يكون ذلك ممكنًا.
البطارية/الاحتياطي/التوقعات/التحكم المعلمات الفيزيائية والخوارزمية
** المصفوفات الكهروضوئية ** الميل، والسمت، وkWp لكل مجموعة
المحرك القواعد مقابل وضع MPC؛ أولوية التحسين الترتيب (المرونة، الادخار، الاكتفاء الذاتي)
درجة الحرارة نموذج حمل التدفئة/التبريد والمستشعر الخارجي
** خريطة الكيان العاكس ** كيانات HA لمستشعرات القراءة وضوابط الكتابة
شحن الشبكة ترتيب المنحدر والعامل لشحن الشبكة

قم بتكوين فصل الأحمال في علامة التبويب المخصصة فصل الأحمال (وليس الإعدادات).

إضافة لغة لوحة القيادة (المساهمين)

  1. انسخfrontend/src/locales/en.jsonلfrontend/src/locales/<id>.jsonوترجمة جميع قيم السلسلة.
  2. أضف أLocaleMetaالدخول فيfrontend/src/locales/manifest.ts (id, nativeName, dir, matchالبادئات).
  3. قم بإضافة محملLOCALE_LOADERSفي نفس الملف.
  4. اركضdocker compose run --rm frontend-test- يفشل اختبار التكافؤ المحلي في حالة فقدان المفاتيح.

تدعم حقول الكيان الإكمال التلقائي عند اتصال Home Assistant. يرىإعداد مساعد المنزل.

أولويات المحرك والتحسين

ضمن المحرك، اختر القواعد أو MPC، ثم أعد ترتيب أولويات التحسين (الأعلى أولاً):

  1. المرونة — احتياطيات احتياطية أكبر واستجابة أقوى لمخاطر انقطاع التيار الكهربائي
  2. التوفير — فرض رسوم على الشبكة بشكل أكثر انتهازية عندما تكون الشبكة موجودة (وليس تحسين التعريفة/شروط الاستخدام)
  3. الاكتفاء الذاتي — تشطيب أقوى بالطاقة الشمسية في منحدر شحن الشبكة؛ يفضل PV على تعبئة الشبكة

يعكس الملخص الموجود أسفل القائمة الترتيب النشط. الترتيب الافتراضي يطابق موقف المنتج: المرونة ← الادخار ← الاكتفاء الذاتي. شحن الشبكة ** ترتيب العامل ** (في قسم رسوم الشبكة) لا يزال ساريًا؛ الأولويات تحدد مدى قوة كل عامل يؤثر الدلو على سلسلة الغطاء.

طبقات التخلص من الأحمال

افتح علامة التبويب فصل الأحمال لتكوين الطبقات. يمكن لكل طبقة التحكم في عدة قوى المفاتيح (على سبيل المثال، مضخة حمام السباحة + السخان، أو مفتاح طاقة التيار المتردد). جميع الكيانات في سقيفة الطبقة والاستعادة معًا باستخدام نفس تباطؤ SOC. يتم إلقاء رقم الأولوية الأدنى أولاً. يتم طي كتل الطبقة بشكل افتراضي **؛ يُظهر سطر الملخص اسم الطبقة، سقيفة SOC، الأولوية وعدد الأجهزة - انقر لتوسيع المحرر الكامل.

عند اختيار كيان طاقة، سيتم توصيل المرافقين على نفس جهاز HA (المناخ، التحديد، المروحة، وما إلى ذلك) يتم اكتشافها تلقائيًا ويتم إدراجها ضمن هذا الكيان (الأقسام المصاحبة أيضًا بداية انهار). قم بإزالة الرفاق غير المرغوب فيهم أو استخدم مسح الكل لفصل التبديل فقط. الأجهزة التي تم إيقاف تشغيلها قبل التخلص منها تظل قيد التشغيل يعيد.

التبديل لكل طبقة:

  • الاستعادة التلقائية على SOC — الاستعادة عندما ترتفع SOC فوق حد الطبقة
  • الاستعادة عند وجود الشبكة — الاستعادة عند اكتشاف الشبكة (إذا كان العلم العام قيد التشغيل)

Load shedding tab

Load-shedding tier editor with multiple entities

تدعم الأقسام المتقدمة الموجودة في الجزء السفلي تحرير JSON الأولي واستيراد/تصدير النموذج وإعادة تدريب تعلم الآلة.

تحديثات البرامج

ضمن تحديثات البرامج (المسؤول)، تسرد لوحة المعلومات إصدارات GitHub الأخيرة مع ملاحظات الإصدار بتنسيق Markdown. على مضيفات التحديث الذاتي لـ Docker، استخدم التثبيت على أي منها نسخة مستقرة. تُظهر التخفيضات تحذيرًا إضافيًا؛ أ/app/dataيتم إنشاء النسخة الاحتياطية من قبل كل تثبيت. إذا لم تعد الخدمة بعد التثبيت، فاستخدم استعادة من ملف قسم النسخ الاحتياطية. استخدم التحقق من وجود تحديثات لتحديث قائمة الإصدارات. الشريط العلوي تظهر شارة تحديث عند توفر إصدار أحدث.

يتم تحديث عمليات تثبيت الوظائف الإضافية لـ Home Assistant عبر المشرف (قائمة الإصدارات إعلامية).

نسخة الصورة

يتطلب التثبيت بنقرة واحدة v0.5.5+ (Docker CLI في الصورة). v0.5.2–0.5.4 بحاجة إلى يدويdocker pullوإعادة إنشائها مرة واحدة - انظرتثبيت.

إخطارات نخب

تعرض إجراءات الحفظ وتسجيل الدخول والتجاوز والتحديث رسائل نخب مختصرة في الجزء السفلي من الشاشة (تحميل الدوار، ثم النجاح أو الخطأ). تظل الأخطاء مرئية لبضع ثوان أطول من رسائل النجاح.


استكشاف الأخطاء وإصلاحها

العَرَض ما يجب التحقق منه
ها غير متصل الإعدادات → عنوان URL/الرمز المميز للمساعد المنزلي؛ الشبكة من الحاوية إلى HA
** تحديد الموقع ** توقعات خطوط الطول والعرض في الإعدادات
** تم تكوين SOLCAST بشكل خاطئ ** SOLCAST_API_KEYوSOLCAST_RESOURCE_IDفي البيئة / خيارات الوظيفة الإضافية
بيانات قديمة كيانات HA في خريطة العاكس؛ha_stale_after_secondsفي السيطرة
شعار أخطاء واجهة برمجة التطبيقات رمز واجهة برمجة التطبيقات (API) في الإعدادات → أمان واجهة برمجة التطبيقات (API)؛ CORS في حالة استخدام أصل منفصل
مخططات فارغة انتظر سجل القياس عن بعد؛ توسيع نافذة التاريخ
العارض ولكن يحتاج إلى إعدادات اسأل مسؤول HA أو استخدم تسجيل دخول المسؤول المحلي للوصول المباشر
إطار iframe فارغ عند الدخول مفتوح قم بالترقية إلى v0.5.7+ لبدء التشغيل؛ يرىاستكشاف أخطاء الدخول وإصلاحها
شريط تمرير مزدوج في تطبيق HA تم إصلاحه في v0.5.7+ (background-attachmentو100vhتعديلات التخطيط)؛ يرىدخول المحمول ضمان الجودة

إعادة إنشاء لقطات الشاشة

DEMO_MODE مخصص للمستندات فقط

لا تركض أبدًاDEMO_MODEعلى نظام متصل بالعاكس الحقيقي.

بعد تغيير واجهة المستخدم، قم بتحديث الصور لهذا الدليل:

docker compose -f docker-compose.yml -f docker-compose.demo.yml up -d --build
docker compose exec solar python -m scripts.seed_demo
docker compose restart solar

ثم التقط لقطات الشاشة (Docker - يعمل بدون Node/npm محلي):

# One-time, or after frontend/package-lock.json changes:
docker compose --profile docs run --rm docs-screenshots npm ci

# Every regen (demo stack must be running on port 8000):
docker compose --profile docs run --rm docs-screenshots

منfrontend/يمكنك أيضًا الجريnpm run docs:screenshots:docker.

أو مع تثبيت العقدة المحلية (مرة واحدةnpm ci + npx playwright install chromium):

cd frontend
npm ci
npx playwright install chromium
npm run docs:screenshots
الرجوع القديم (بطيء — يعيد تثبيت المتصفحات في كل مرة تشغيل)
docker run --rm --add-host=host.docker.internal:host-gateway \
  -v "$(pwd)/frontend:/ui" -v "$(pwd)/docs:/docs" \
  -e SCREENSHOT_BASE_URL=http://host.docker.internal:8000 \
  -w /ui node:26-trixie \
  bash -lc "npm ci && npx playwright install --with-deps chromium && npm run docs:screenshots"
في Windows PowerShell، استخدم`c:/Projects/solar/frontend`مسارات النمط بدلاً من`$(pwd)`. ارتكاب الملفات المحدثة تحت`docs/images/frontend/`مع أي تغييرات نصية يدوية. تتضمن اللقطات سطح المكتب (1280 × 900) والجوال (`mobile-*.png`، 390 × 844) منافذ العرض - على وجه الخصوص`load-shedding.png`, `settings-load-shedding.png`، و`mobile-load-shedding.png`. ينتظر البرنامج النصي للالتقاط تحميل البيانات المباشرة والرسوم البيانية والتكوين قبل كل لقطة (لا توجد تأخيرات ثابتة في النوم).