إنتقل إلى المحتوى الرئيسي

سلاسل القواعد

سلسلة القواعد سير عمل مرئي تمر به كل قراءة واردة. هي التي تقرر ما إذا كانت القراءة تُحفظ، وما إذا كان إنذار يُطلق أو يُنهى، ومن الذي تصله الرسالة. وتصف الصفحة نفسها بأنها "تدفقات عمل مرئية لمعالجة بيانات المستشعر": صناديق تصل بينها خطوط، تُقيَّم مرة واحدة لكل قراءة.

تجدها ضمن الإدارة ← سلاسل القواعد.

كيف تمر القراءة عبر السلسلة

  1. تصل قراءة من جهازك (انظر اتصال الأجهزة).
  2. يطابقها SensoCAN مع مستشعر ويختار سلسلة واحدة لا غير: السلسلة المعيّنة لـجهاز ذلك المستشعر إن كانت نشطة، وإلا فـسلسلة القواعد الافتراضية لمؤسستك.
  3. تدخل القراءة عند عقدة Sensor Input (مدخل المستشعر) وتنتقل عبر الوصلات.
  4. تسلّم كل عقدة القراءة إلى أحد مخرجاتها المسمّاة، ولا تحمل الوصلة إلا القراءات التي يطابقها اسم المخرج.
  5. بلوغ عقدة Save to Database (الحفظ في قاعدة البيانات) يحفظ القراءة، وعدم بلوغ أي منها يعني ألا تُحفظ.

لهذا نتيجتان مهمتان. المخرج الذي يُترك دون وصلة يُهمل كل قراءة تخرج منه، دون أي تحذير أثناء التشغيل. والعقدة التي تُخفق توقف فرعها وحده.

القبول ليس حفظًا

يُبلَّغ جهازك بأن قراءاته قُبلت لحظة وصولها، قبل تشغيل أي سلسلة. فإن لم تكن في السلسلة المطبَّقة عقدة Save to Database على المسار الذي سلكته القراءة، تُقبل البيانات ثم تُهمَل. والجهاز الذي تكون سلسلته غير نشطة، أو الذي لا تنطبق عليه أي سلسلة، لا يحفظ شيئًا.

سلسلة القواعد الافتراضية

تبدأ كل مؤسسة بسلسلة اسمها سلسلة القواعد الافتراضية: عقدة Sensor Input موصولة مباشرة بعقدة Save to Database. وهي موجودة كي يحتفظ الجهاز الذي لا سلسلة له ببياناته.

تُختار سلسلتك الافتراضية من حقل سلسلة القواعد الافتراضية ضمن الإعدادات ← المستأجر (إعدادات المؤسسة). والحقل مطلوب، ولا يمكن اختيار غير سلسلة نشطة. ولا يمكن تعطيلها ("فهي التي تخزن بيانات الأجهزة التي لا تملك سلسلة خاصة بها") ولا حذفها، وكذلك أي سلسلة معيّنة لأجهزة. وإذا صارت غير نشطة أو مفقودة، تعرض صفحات الأجهزة المتأثرة تحذيرًا أحمر بأن البيانات لا تُخزَّن، ويسجل سجل الأعطال القراءات المهمَلة تحت سلسلة غير مفعّلة.

وتعديل السلسلة الافتراضية أمر طبيعي؛ ومعظم المؤسسات تطوّرها إلى سير عمل حقيقي. احرص فقط على إبقاء مسار يصل إلى Save to Database لكل ما تريد الاحتفاظ به.

تعيين السلاسل للأجهزة

افتح جهازًا وابحث عن بطاقة تعيينات سلسلة القواعد. وإن لم يكن معيَّنًا شيء، تذكر البطاقة أن السلسلة الافتراضية للمستأجر "سيتم تطبيقها تلقائيًا لأن هذا الجهاز لا يحتوي على أي سلاسل قواعد معينة". ولتعيين سلسلة، اخترها من اختر سلسلة قواعد واضغط تعيين؛ ولا تُدرج إلا السلاسل النشطة، وتُرفض غير النشطة برسالة "سلسلة القواعد هذه غير مفعّلة ولا يمكن تعيينها للأجهزة. فعّلها أولاً." ويزيل الزر X المجاور للتعيين ذلك التعيين، فيعود الجهاز إلى السلسلة الافتراضية. وتُطبَّق السلاسل على مستوى الجهاز، فتشترك كل مستشعرات الجهاز في سلسلة واحدة.

بطاقة تعيينات سلسلة القواعد في صفحة جهاز، وفيها تنبيه السلسلة الافتراضية للمستأجر، وسلسلة معيّنة واحدة مع زر X الخاص بها، والقائمة المنسدلة اختر سلسلة قواعد بجوار زر تعيين.
بطاقة تعيينات سلسلة القواعد في صفحة جهاز، وفيها تنبيه السلسلة الافتراضية للمستأجر، وسلسلة معيّنة واحدة مع زر X الخاص بها، والقائمة المنسدلة اختر سلسلة قواعد بجوار زر تعيين.

صفحة سلاسل القواعد

تعرض القائمة الاسم والوصف والعقد والأعطال والحالة وتم التحديث. ويعرض عمود الأعطال عددًا بالأحمر يرتبط بسجل أعطال تلك السلسلة، أو شرطة. وتقرأ شارة الحالة إما نشط أو غير نشط، ويمكن النقر عليها للتبديل. وتضم قائمة الصف تعديل التفاصيل وتعديل سلسلة القواعد وتفعيل / تعطيل وحذف؛ ويُعطَّل كل ما من شأنه أن يعطب سلسلة محمية، مع بيان السبب تحته: "سلسلة القواعد الافتراضية للمستأجر" أو "معينة لـ 3 أجهزة".

ويطلب إنشاء سلسلة قواعد كلًا من المعلومات الأساسية (الاسم، والوصف اختياري) والقالب (اختياري): مساحة فارغة أو High Temperature Alert أو Humidity Range Monitor أو After Hours Door Alert أو Rapid Change Detection أو Temperature Alarm with Recovery. وتأتي كل سلسلة جديدة، سواء من قالب أو فارغة، وفيها عقدة Sensor Input وعقدة Save to Database جاهزتان.

قالب Rapid Change Detection ليس ما يوحي به اسمه

هذا القالب مجرد فحص "قيمة أعلى من 30" يغذّي رسالة بريد إلكتروني. وللعمل الحقيقي على معدل التغيّر، ابنِ باستخدام عقدة Value Change (تغيّر القيمة) بدلًا منه.

المحرر المرئي

يمتد شريط أدوات في الأعلى، وNode Palette (لوحة العُقد) في أحد الجانبين، ومساحة العمل في الوسط، ولوحة التكوين في الجانب المقابل.

اللوحة عنوانها "Node Palette — Click to add nodes"، وفيها مربع Search nodes... وأربع فئات قابلة للتوسيع تعرض كل منها عدد عُقدها: Filters (عوامل التصفية) وEnrichment (الإثراء) وTransform (التحويل) وActions (الإجراءات). انقر عقدة لإسقاطها في مساحة العمل. ولا تظهر Sensor Input ولا Save to Database في اللوحة، لأن كل سلسلة تحتوي أصلًا على واحدة من كل منهما لا أكثر.

وصل العُقد. اسحب من مقبض مخرج عقدة إلى عقدة أخرى. وتُسمّى الوصلة تلقائيًا بأول مخرج للمصدر، أو Success (نجاح) للعقدة ذات المخرج الواحد. وحيث يكون للعقدة عدة مخرجات، تعرض الوصلة شارة اسم وقلمًا، ويفتح القلم Edit Connection (تعديل الوصلة) مع قائمة منسدلة Route Based On (التوجيه بناءً على) تسرد كل المخرجات. ويحذف الزر X الوصلة. ويزيل مفتاح Delete أو Backspace العقدة المحددة، باستثناء Sensor Input وSave to Database: "This node cannot be deleted. It is required for the rule chain to function." أي أن هذه العقدة لا يمكن حذفها لأنها لازمة لعمل سلسلة القواعد.

لوحة التكوين تعرض "Select a node to configure" حتى تنقر عقدة، ويكون زر حفظ فيها معطَّلًا ما دامت اللوحة تسرد أخطاء. وشريط الأدوات يعرض اسم السلسلة، وتلميح تغييرات غير محفوظة، وشارة تقرأ Valid (صالحة) أو عدد الأخطاء بالأحمر أو التحذيرات بالأصفر: الأخطاء تمنع الحفظ، والتحذيرات لا تمنعه. ويضم أيضًا سجل الأعطال مع شارة عدد، وتصدير وحذف وحفظ التغييرات.

محرر سلسلة القواعد: شريط الأدوات مع تغييرات غير محفوظة وشارة Valid، ولوحة Node Palette موسّعة على Filters وActions، وأربع عُقد موصولة في مساحة العمل، ولوحة تكوين عقدة مفتوحة إلى جانبها.
محرر سلسلة القواعد: شريط الأدوات مع تغييرات غير محفوظة وشارة Valid، ولوحة Node Palette موسّعة على Filters وActions، وأربع عُقد موصولة في مساحة العمل، ولوحة تكوين عقدة مفتوحة إلى جانبها.

ماذا تخبرك لوحة Sensor Input

تدخل كل قراءة السلسلة من هنا وتُمرَّر إلى العُقد الموصولة. ولا شيء هنا للتكوين. لا تُحفظ القراءات إلا بعقدة Save to Database: كل مسار تريد الاحتفاظ ببياناته يجب أن ينتهي بواحدة.

أين تضيع القراءات: مخرج عامل تصفية يُترك دون وصلة يُهمل كل قراءة تخرج منه. ويرسل عامل تصفية التنبيه كل قراءة عبر مخرج واحد لا غير؛ وأثناء تجاوز مستمر تخرج معظم القراءات عبر Still Violating، وهو مخرج يسهل تركه دون وصل. والجهاز الذي لا سلسلة قواعد له، أو الذي سلسلته غير نشطة، لا يحفظ شيئًا على الإطلاق.

و"عامل تصفية التنبيه" المقصود هنا هو العقدة المسماة Consecutive Threshold Filter (عامل تصفية التجاوزات المتتالية) في اللوحة.

مرجع العُقد

كل أنواع العُقد مذكورة هنا. وتوجّه العُقد القراءة عبر True (صحيح) أو False (خطأ) ما لم تُذكر مخرجات أخرى.

Sensor Input (مدخل المستشعر)

الإدخال. نقطة الدخول: كل قراءة تصل هنا وتمر إلى العُقد الموصولة. لا إعدادات لها. تُضاف إلى كل سلسلة تلقائيًا، ولا يمكن حذفها، وليست في اللوحة. وهي نفسها لا تحفظ شيئًا.

Value Filter (عامل تصفية القيمة)

عوامل التصفية. تقارن القراءة بقيمة ثابتة. الإعدادات: Field Type (نوع الحقل): Numeric أو String أو Boolean؛ وOperator (المُعامِل): للنوع الرقمي Greater than وGreater than or equal وLess than وLess than or equal وEqual وNot equal، وللنص Equals وNot Equals وContains وStarts With وEnds With، وللقيمة المنطقية Is True وIs False؛ وValue (القيمة) وهي مطلوبة لكل الأنواع عدا المنطقية. والقيمة المفقودة، أو غير الرقمية في وضع Numeric، تُوجَّه إلى False.

Time Filter (عامل تصفية الوقت)

عوامل التصفية. تعطي True عندما يقع الطابع الزمني للقراءة داخل نافذة يومية. الإعدادات: Filter Type (نوع التصفية)، ويُستحسن تركه على Business Hours (ساعات العمل)؛ وUse Sensor Profile Hours (استخدام ساعات الملف التعريفي للمستشعر) الذي يأخذ النافذة من الملف التعريفي للمستشعر ويعود إلى الوقتين أدناه عند غيابها؛ وStart Time (وقت البداية) وEnd Time (وقت النهاية) بقيمتَي 09:00 و17:00. وتُحسب النافذة داخل اليوم الواحد، فلا تتطابق 22:00 إلى 06:00 أبدًا، ولا يوجد إعداد لأيام الأسبوع.

Consecutive Threshold Filter (عامل تصفية التجاوزات المتتالية)

عوامل التصفية. تعدّ التجاوزات المتتالية وتصعّدها عبر ثلاثة مستويات، فلا تُطلق قراءة شاردة واحدة شيئًا. المخرجات: Severity 1 Alert وSeverity 2 Alert وSeverity 3 Alert وNo Alert وRecovered وStill Violating. الإعدادات: Use Node Thresholds (استخدام حدود العقدة): عند تفعيله تُطبَّق قيم هذه العقدة، وعند تعطيله تُطبَّق قيم الملف التعريفي للمستشعر. ثم Min Threshold (الحد الأدنى) وMax Threshold (الحد الأقصى)، ويُترك الحقل فارغًا إن لم يكن هناك حد، مع Min Sensitivity وMax Sensitivity بوصفهما هامشَي تسامح خارج الحدين؛ ودائمًا أعداد التكرارات المتتالية Level 1 وLevel 2 وLevel 3 (3 و5 و8 افتراضيًا، كل واحد أعلى من سابقه). ويُطلق كل مستوى مرة واحدة عند بلوغه أول مرة، وتخرج التجاوزات التالية عبر Still Violating، وتخرج القراءة العائدة إلى النطاق بعد تنبيه عبر Recovered. والخطورة التي تحسبها هذه العقدة هي ما تقرؤه Raise Alarm بوصفه "From threshold".

Sensor Type Filter (عامل تصفية نوع المستشعر)

عوامل التصفية. تعطي True عندما تأتي القراءة من مستشعر من نوع تختاره. الإعداد: Sensor Type (نوع المستشعر). وإن لم يُحدَّد أي نوع، يمر كل شيء بوصفه True.

Notification Type Filter (عامل تصفية نوع الإشعار)

عوامل التصفية. تتحقق مما إذا كانت إشعارات البريد الإلكتروني أو الرسائل النصية القصيرة (SMS) مفعّلة في الملف التعريفي للمستشعر قبل أن تكمل القراءة طريقها. الإعداد: Notification Type (نوع الإشعار)، وقيمته Email أو SMS. والمستشعر بلا ملف تعريفي يمر بوصفه True؛ والملف التعريفي الذي يكون الخيار فيه معطَّلًا يُوجَّه إلى False.

Rate Limit (حد المعدل)

عوامل التصفية. تمرر قراءة واحدة في كل نافذة تهدئة، فلا تستطيع السلسلة إغراق أحد بالرسائل. المخرجات: Passed ("Outside the cooldown — the message continues"، أي خارج فترة التهدئة فتستمر الرسالة) وSuppressed ("Inside the cooldown — wire storage here"، أي داخل فترة التهدئة، فاربط التخزين هنا). الإعداد: Cooldown (seconds) (فترة التهدئة بالثواني)، وقيمته الافتراضية 300، ويتراوح من ثانية واحدة إلى 24 ساعة. وتُحفظ النافذة لكل مستشعر في كل عقدة على حدة، فسلسلتان تراقبان مستشعرًا واحدًا لكل منهما رصيدها المستقل. والقراءات المكبوتة تُوجَّه ولا تُهمَل: اربط Suppressed بالتخزين حتى لا تكلفك التهدئة أي بيانات.

Value Change (تغيّر القيمة)

عوامل التصفية. لا تمرر القراءة إلا إذا تحركت عن آخر قراءة مرت. المخرجات: Changed (تغيّرت) وUnchanged (لم تتغيّر). الإعداد: Deadband (النطاق الميت): "the largest move to ignore, in the sensor's own units"، أي أكبر تغيّر يمكن تجاهله بوحدات المستشعر نفسها؛ اتركه عند 0 لباب أو لأي قراءة تشغيل وإيقاف. وتمر القراءة الأولى دائمًا. وخلافًا لـ Rate Limit، المستشعر الساكن لا يمرر شيئًا مهما طال سكونه، فاربط Unchanged بالتخزين للاحتفاظ بالسجل الكامل.

Script Filter (عامل التصفية البرمجي)

عوامل التصفية. تُقيّم تعبيرًا تكتبه بنفسك وتوجّه القراءة حسب نتيجته. الإعداد: Expression (التعبير): "أعِد true للتمرير وfalse للاستبعاد. المتغيرات المتاحة: msg وmetadata وvalue وtype." ويتحقق زر Validate (تحقق) من صحة الصياغة. مثال: value > 30 and msg["status"] == "active". والتعبير الفارغ يمرر كل شيء بوصفه True؛ والتعبير الذي يُخفق أثناء التشغيل يُوجَّه إلى False. وما زالت لوحة العُقد تسمّي هذا الإعداد JavaScript، والوصف الأدق هو ما تعرضه لوحة التكوين. فهو تعبير لا نص برمجي: بلا return وبلا جُمل برمجية.

Add Metadata (إضافة بيانات وصفية)

الإثراء. تُلحق بالقراءة أزواجًا ثابتة من المفتاح والقيمة. الإعدادات: Metadata Fields (حقول البيانات الوصفية)، وهي صفوف مفتاح وقيمة، مع Add Field (إضافة حقل) لمزيد منها. ويصبح كل مفتاح صالحًا للاستخدام عنصرًا نائبًا {key} في الرسائل اللاحقة في السلسلة.

Fetch Attributes (جلب السمات)

الإثراء. تبحث عن السمات المخزَّنة وتُلحقها بالقراءة. الإعدادات: Data Source (مصدر البيانات): Sensor أو Device أو Sensor Profile؛ وAttributes (السمات)، أي أسماء السمات المطلوب جلبها. وتصل القيم بالصيغة {enrichment_<source>_<attribute>}، مثل {enrichment_device_location}. وأسماء السمات هي أسماء الحقول الأصلية، لا التسميات المعروضة على الشاشة.

Transform Value (تحويل القيمة)

التحويل. تعيد كتابة قيمة القراءة لكل ما يليها في السلسلة، بما في ذلك Save to Database. الإعدادات: Field Type: Numeric أو String أو Boolean؛ وOperation (العملية): للنوع الرقمي Multiply وDivide وAdd وSubtract وRound وAbsolute value، وللنص Append وPrepend وReplace وUppercase وLowercase وTrim، وللقيمة المنطقية Negate؛ وOperand (المُعامَل) حيث تحتاج العملية إليه. وتعرض معاينة Result (النتيجة) أثر العملية، وتُرفض القسمة على صفر. ولا تضع هذه العقدة قبل التخزين إلا إذا أردت حفظ القيمة المحوَّلة.

Send Email (إرسال بريد إلكتروني)

الإجراءات. ترسل بريدًا إلكترونيًا إلى مستلمي القراءة. الإعدادات: Use Device Recipients (استخدام مستلمي الجهاز): "Send to recipients configured on the device"، أي الإرسال إلى المستلمين المهيَّئين على الجهاز؛ وSelect Labels (اختيار التسميات): Default وSeverity L1 وSeverity L2 وSeverity L3، وواحدة منها على الأقل عند استخدام مستلمي الجهاز؛ وAdditional Recipients (مستلمون إضافيون) لعناوين إضافية؛ وSubject (الموضوع) وMessage (الرسالة) وكلاهما اختياري. وإذا تُركا فارغين، يكون الموضوع "Rule Chain Alert" والنص "Rule chain notification triggered". وإذا لم يكن هناك أي مستلم، لا تفعل العقدة شيئًا وتكمل القراءة طريقها. وتظهر كل محاولة في صفحة عمليات التسليم.

Send SMS (إرسال رسالة نصية)

الإجراءات. نفس إعدادات Send Email، لكن بأرقام هواتف وبلا موضوع: Use Device Recipients وSelect Labels وAdditional Recipients بالصيغة الدولية مثل +1234567890، وMessage اختيارية. ومستلمو الجهاز هم مستلمو الهاتف الذين عُلِّمت لهم قناة الرسائل النصية.

Send WhatsApp (إرسال عبر واتساب)

الإجراءات. الإعدادات: Use Device Recipients ("Send to WhatsApp-enabled phone numbers configured on the device"، أي الإرسال إلى أرقام الهواتف المهيَّئة على الجهاز والمفعَّل عليها واتساب)، وSelect Labels، وAdditional Recipients، وMessage Type (نوع الرسالة): إما Sensor Alert Template (Official) وهو قالب تنبيه المستشعر الرسمي الذي يملأ عنك Sensor Name وSensor Value وDevice Name، أو Custom Free-form Text أي نص حر مخصص لا يعمل إلا داخل نافذة المحادثة البالغة 24 ساعة. ومستلمو الجهاز هم مستلمو الهاتف الذين عُلِّمت لهم قناة واتساب.

Push Notification (إشعار فوري)

الإجراءات. ترسل إشعارًا فوريًا إلى الأجهزة المحمولة المسجَّلة لمؤسستك. الإعدادات: عنوان Subject اختياري وMessage، وكلاهما يقبل العناصر النائبة. ولا يصل الإشعار إلا حيث تكون الإشعارات الفورية مفعّلة للمؤسسة ويكون مفتاح الإشعارات الفورية في الجهاز مشغَّلًا. والنقر عليه يفتح الإنذار إن كانت السلسلة قد أطلقت إنذارًا، وإلا فيفتح المستشعر أو الجهاز. ولا تُدرج الإشعارات الفورية في صفحة عمليات التسليم.

Raise Alarm (إطلاق إنذار)

الإجراءات. تفتح حالة يجب أن يقرّ بها شخص ما. المخرجات: Raised or escalated ("New alarm, or an existing one got worse"، أي إنذار جديد أو إنذار قائم ازداد سوءًا) وAlready open ("An open alarm absorbed this message"، أي أن إنذارًا مفتوحًا استوعب هذه الرسالة). الإعدادات: Alarm Type (نوع الإنذار)، وهو هوية الحالة مثل high_temperature؛ وSeverity (الخطورة): From threshold أو Warning (تحذير) أو Major (رئيسي) أو Critical (حرج)؛ وMessage، وتظهر في صفحة الإنذارات، وقيمتها الافتراضية Alarm on {sensor_name}. وإطلاق النوع نفسه للمصدر نفسه بينما هناك إنذار مفتوح يزيد عدّاد إطلاقه بدل إنشاء إنذار ثانٍ، والخطورة لا تتجه إلا صعودًا. و"From threshold" يعيد استخدام المستوى الذي حسبه Consecutive Threshold Filter، ويعود إلى Warning عند غيابه. اربط المراسلة بـ Raised or escalated لتُبلَّغ مرة واحدة لا عند كل قراءة. انظر الإنذارات.

Clear Alarm (إنهاء الإنذار)

الإجراءات. تعلّم الحالة على أنها انتهت. المخرجات: Cleared (منتهٍ) وNothing open ("Normal on every reading after the first recovery"، أي أن هذا هو الوضع الطبيعي عند كل قراءة بعد أول تعافٍ). الإعداد: Alarm Type، ويجب أن يطابق عقدة Raise Alarm التي فتحت الحالة. والإنهاء ليس إغلاقًا: الإنذار الذي لم يقرّ به أحد يبقى مفتوحًا بعد انتهائه.

Acknowledge Alarm (الإقرار بالإنذار)

الإجراءات. تتيح للسلسلة أن تتحمل مسؤولية حالة تعالجها الأتمتة فعلًا بنفسها. المخرجات: Acknowledged (مُقَرّ به) وNothing open. الإعداد: Alarm Type، مطابقًا لعقدة Raise Alarm. وعندها تعرض صفحة الإنذارات "بواسطة سلسلة القواعد الاسم" بدلًا من اسم شخص.

Save to Database (الحفظ في قاعدة البيانات)

الإجراءات. تحفظ القراءة. الإعدادات: مربّعا اختيار تحت Data Stores (مخازن البيانات): Time Series Database (قاعدة بيانات السلاسل الزمنية)، وهي السجل التاريخي الذي تقرأ منه المخططات والتصديرات والتحليلات؛ وLatest Sensor Value (آخر قيمة للمستشعر)، وهي القراءة الحالية في لوحات المعلومات والتحديثات المباشرة التي تراها دون إعادة تحميل الصفحة. تُضاف إلى كل سلسلة تلقائيًا، ولا يمكن حذفها، وليست في اللوحة. وإلغاء تعليم Latest Sensor Value يوقف تحرك لوحات المعلومات بينما يستمر تسجيل السجل التاريخي.

متغيرات القوالب في الرسائل

تقبل الموضوعات والرسائل عناصر نائبة بأقواس معقوفة مفردة، {like_this}. وكل ما يتعذر تحويله إلى قيمة يُحذف من الرسالة النهائية بدل طباعته كما هو.

ويسرد المحرر ستة منها بجوار كل حقل رسالة: {value} (قيمة المستشعر) و{sensor.name} و{sensor.type} و{device.name} و{device.location} و{timestamp}. وهذه الستة تعمل فعلًا، ويتاح غيرها كلما تقدمت القراءة في السلسلة:

  • المكافئات المسطّحة: {sensor_name} و{sensor_type} و{sensor_id} و{device_name} و{device_location} و{device_status} و{device_id} و{ts}.
  • أي مفتاح أضفته بعقدة Add Metadata، باسمه نفسه.
  • أي شيء من عقدة Fetch Attributes: {enrichment_sensor_…} و{enrichment_device_…} و{enrichment_profile_…}.
  • بعد عقدة Consecutive Threshold Filter: {thresholdSeverityLevel} و{thresholdAlertType} و{thresholdConsecutiveCount}.
  • بعد عقدة Raise Alarm: {alarm_id} و{alarm_type} و{alarm_severity}.
  • أي مفتاح إضافي أرسله جهازك مع القراءة، مثل {battery_pct}.

صفحة سجل الأعطال

تصل إليها من زر سجل الأعطال في المحرر أو من العدد الأحمر في عمود الأعطال. والعطل هو قراءة لم تستطع السلسلة إكمال معالجتها. والأعمدة هي النوع والعنصر ومرات التكرار وأول ظهور وآخر ظهور.

مرات التكرار هو جوهر الصفحة. فالأعطال المتطابقة لا تُدرج مرتين: الصف الواحد يمثل تركيبة واحدة من السلسلة والعقدة ونوع العطل، وكل تكرار يرفع العدد ويقدّم آخر ظهور. والعدد بالآلاف مقابل أول ظهور يوم الثلاثاء الماضي يعني أن المشكلة مستمرة لا تاريخية.

النوعماذا يعني
عطل في العقدةأوقفت عقدة فرعها، وغالبًا بسبب إعداد خاطئ
بنية غير صالحةلم تعد السلسلة المحفوظة رسمًا صالحًا
عقدة الإدخال مفقودةلا تحتوي السلسلة على عقدة Sensor Input
عقدة إدخال غير صالحةتبدأ السلسلة بشيء غير عقدة إدخال
تم اكتشاف حلقةعاد فرع إلى عقدة سبق أن مرّ بها
سلسلة غير مفعّلةكانت السلسلة المطبَّقة غير نشطة، فأُهملت القراءة
نوع عقدة غير معروفعقدة لم تعد المنصة تتعرف عليها

وتُعرض الأنواع الأربعة الأولى بالأحمر، لأنها تعني أن بيانات ضاعت.

وبالصلاحية المناسبة يمكنك تجاهل صف واحد ("سيظهر مجدداً إذا تكرر العطل.") أو مسح الكل. والتجاهل لا يصلح شيئًا: أصلح السلسلة أولًا. وعندما يكون كل شيء على ما يرام تعرض الصفحة لا توجد أعطال.

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

الصلاحيات

لسلاسل القواعد صلاحياتها الخاصة، وتُمنح عبر الأدوار.

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

يحتاج فتح المحرر إلى صلاحية تعديل سلاسل القواعد، لا العرض وحده. وبصلاحية العرض فقط، يظهر اسم السلسلة نصًا عاديًا لا رابطًا، ولا تظهر قائمة الصف، فتحصل على قائمة للعرض فقط.

وافتراضيًا يملك دور Admin المجموعة كاملة، بينما لا يملك Manager ولا User أيًا منها، ولذلك لا يرون سلاسل القواعد في الشريط الجانبي.