۴۸صنعت
+۵۰۰زیرسیستم
+۱۰۰۰پروژه
۱۸سال
شرکتصنایعسامانه‌ها و APIتماسدانلود
درس ۱۱ از ۱۵۱۴ دقیقه

حدود، هشدار و اعلان

هدف درس

برای یک کمیت پیوسته حد آستانه با هیسترزیس تعریف می‌کنید، می‌دانید هشدار در چه مقداری صادر و در چه مقداری رفع می‌شود، و اعلان را از کانالی می‌فرستید که در عمل کار می‌کند.

کجای نرم‌افزار

«طراحی سیستم» ← «طراحی منطقی» ← «موتور قوانین و اتوماسیون» · دکمهٔ شناور «دستیار هوشمند ARG» · «تنظیمات» ← «تنظیمات پروژه» ← «تنظیمات اعلان»

هشدار یعنی تبدیل یک عدد خام به وضعیتی که کسی باید دربارهٔ آن تصمیم بگیرد. در سامانهٔ همزاد دیجیتال، هشدار کار یک صفحهٔ تکی نیست؛ چند سازوکار مکمل وجود دارد و هرکدام جای خودش را دارد. در این درس یاد می‌گیرید برای یک کمیت پیوسته (دما، رطوبت، فشار) حد آستانه با هیسترزیس تعریف کنید، بدانید هشدار دقیقاً در چه لحظه‌ای صادر و در چه مقداری رفع می‌شود، و اعلان را از کانالی بفرستید که در عمل به دست گیرنده می‌رسد.

سه لایهٔ هشدار

پیش از هر کاری روشن کنید هشدار شما در کدام لایه ساخته می‌شود. سه لایه از نظر محل تعریف، محل اجرا و پایداری با هم فرق دارند:

سازوکارکجا تعریف می‌شودکجا و کِی اجرا می‌شودمناسب برای
حد آستانه با هیسترزیسبا دستیار هوشمند (دکمهٔ شناور ستاره)روی سرور، با هر تغییر مقدار نقطه؛ اعلان فقط هنگام تغییر باندهشدار پایدار روی کمیت‌های پیوسته و پرنوسان
اقدام «اعلان چندکاناله» در یک قانون«موتور قوانین و اتوماسیون» ← «ویرایشگر بصری» (درس B12)روی سرور، هر بار که شرط قانون برقرار شودهشدار ترکیبی: چند نقطه، بازهٔ زمانی، شرط پیچیده
اعلان درون‌مرورگر«تنظیمات» ← «تنظیمات پروژه» ← «تنظیمات اعلان»در مرورگر اپراتور، فقط تا وقتی صفحه باز استآگاهی فوری کاربری که پای کنسول نشسته
نکته: در فرم تعریف نقطه («مدیریت ساختار» ← «مدیریت ACVها») مرحله‌ای به نام محدودیت‌ها و هشدارها دیده می‌شود. در نسخهٔ فعلی مقدارهای این مرحله ذخیره می‌شوند ولی موتور هشدار سمت سرور آن‌ها را ارزیابی نمی‌کند؛ برای هشدار عملیاتی روی حد آستانه با هیسترزیس یا اقدام اعلان در یک قانون حساب کنید و این مرحله را صرفاً به‌عنوان مستندسازی مقادیر طراحی پر کنید.

چرا هیسترزیس

سنسوری که کنار آستانه نوسان می‌کند، بدون هیسترزیس سیل پیام تولید می‌کند: ۶۵٫۱ هشدار، ۶۴٫۹ رفع، ۶۵٫۲ دوباره هشدار. هیسترزیس یک نوار بازگشت می‌سازد: ورود به باند هشدار با رسیدن به آستانه است، ولی خروج فقط وقتی رخ می‌دهد که مقدار به اندازهٔ هیسترزیس از آستانه عبور کند.

تنظیمورود به هشداررفع هشدار
حد بالا ۶۵ ، هیسترزیس ۵رطوبت ≥ ۶۵رطوبت < ۶۰
حد پایین ۱۰ ، هیسترزیس ۲دما ≤ ۱۰دما > ۱۲

هر حد می‌تواند تا چهار سطح داشته باشد: lowLow، low، high و highHigh. لازم نیست هر چهار سطح را پر کنید، ولی هر سطحی که می‌نویسید باید ترتیب صعودی را رعایت کند.

صفحه را بشناسید

حد آستانه با هیسترزیس صفحهٔ اختصاصی ندارد؛ ساخت، فهرست‌گرفتن، ویرایش و حذف آن با دستیار هوشمند انجام می‌شود. کانال‌های نمایش و ارسال در زبانهٔ تنظیمات اعلان تنظیمات پروژه‌اند:

کارتکنترل‌های اصلیکار آن
تنظیمات نمایش نوتیفیکیشنفعال بودن نوتیفیکیشن‌ها، پخش صدای آلارم، مدت زمان نمایش، حداکثر تعداد نوتیفیکیشن، میزان صدا، موقعیت نمایشرفتار پیام‌های داخل مرورگر
تنظیمات تلگرامفعال بودن ارسال به تلگرام، رمز ربات، شناسه های چت، ارسال نام دستگاه، ارسال لینک داشبورد، تست ارسالکانال تلگرام و محتوای پیام
تنظیمات SMSفعال بودن ارسال SMS، سرویس‌دهنده SMS، کلید API، شماره‌های مقصدکانال پیامک از طریق سرویس‌دهنده
تنظیمات SMPPفعال بودن SMPP، نام حساب، رمز عبور حساب، نوع سیستم، آدرس منبع، تست اتصالپیامک از راه اتصال مستقیم اپراتوری
انواع نوتیفیکیشن برای ارسالفهرست انتخاب نوع آلارمتعیین می‌کند کدام آلارم‌ها به کانال‌های بیرونی بروند

بالای همین صفحه برچسب فقط محلی و جملهٔ «پیکربندی سیستم در مرورگر ذخیره شده» دیده می‌شود: این زبانه ترجیح‌های همین مرورگر را نگه می‌دارد. حساب و کلید کانال‌های سمت سرور را مدیر سامانه پیکربندی می‌کند؛ اگر پیام آزمایشی نرفت، پیش از هر چیز این موضوع را با او بررسی کنید.

گام‌به‌گام

  1. دستیار را باز کنید. در هر صفحه‌ای از سامانه، دکمهٔ شناور ستاره‌ای پایین صفحه پنل دستیار هوشمند ARG را باز می‌کند. همین پنل تنها مسیر رابط کاربری برای ساختن، دیدن و حذف حد آستانه با هیسترزیس است.
    پنل دستیار هوشمند با متن درخواست تعریف حد
    دستیار هوشمند · دکمهٔ شناور ستاره پنل را باز می‌کند؛ درخواست را به فارسی بنویسید
  2. درخواست را با پنج عنصر بنویسید. نام نقطه، سطح (بالا/پایین)، مقدار آستانه، هیسترزیس، کانال و گیرنده. نمونه: «برای رطوبت اتاق سرور حد بالا ۶۵ و هیسترزیس ۵ بگذار و با پیامک به شمارهٔ … خبر بده». اگر متن پیام نخواهید، دستیار متن پیش‌فرضی مثل ««رطوبت اتاق سرور» بالا است: {self} (حد 65)» می‌سازد و برای برگشت هم پیام ««رطوبت اتاق سرور» به محدوده‌ی عادی برگشت: {self}» می‌فرستد.
  3. کارت تأیید را بخوانید و تأیید کنید. پیش از هر نوشتنی، دستیار کارت تأییدی با خلاصهٔ حد (نقطه، سطوح، هیسترزیس، کانال و گیرنده) نشان می‌دهد. تا وقتی تأیید نکنید چیزی ذخیره نمی‌شود. خلاصه را با چیزی که در ذهن داشتید مقایسه کنید؛ مخصوصاً واحد و جای اعشار.
  4. حدها را فهرست بگیرید. از دستیار بخواهید حدود تعریف‌شدهٔ پروژه را فهرست کند. این تنها راه مرور کامل حدهای سرور است و پیش از تعریف حد تازه، از دوباره‌کاری و حدهای متناقض جلوگیری می‌کند. حذف هم از همین مسیر انجام می‌شود.
  5. کانال نمایش را تنظیم کنید. به «تنظیمات» ← «تنظیمات پروژه» ← «تنظیمات اعلان» بروید و در کارت تنظیمات نمایش نوتیفیکیشن فعال بودن، صدا، مدت نمایش و موقعیت نمایش را مشخص کنید.
    زبانهٔ تنظیمات اعلان در تنظیمات پروژه
    تنظیمات اعلان · کارت «تنظیمات نمایش نوتیفیکیشن» و برچسب «فقط محلی» بالای صفحه
  6. کانال بیرونی را آزمایش کنید. در کارت تلگرام یا SMS یا SMPP کلید فعال‌بودن را روشن کنید، فیلدها را پر کنید و تست ارسال (تلگرام) یا تست اتصال (SMPP) را بزنید. پیام موفقیت («تست تلگرام با موفقیت انجام شد!»، «اتصال SMPP با موفقیت برقرار شد!») یا خطا بلافاصله دیده می‌شود. در پایان ذخیره تغییرات را بزنید.
    کارت‌های تلگرام و SMS در زبانهٔ تنظیمات اعلان
    کانال‌های بیرونی · کلید فعال‌بودن، فیلدهای حساب و دکمه‌های تست
پشت صحنه: حد آستانه روی سرور و با هر تغییر مقدار نقطه ارزیابی می‌شود. سامانه برای هر نقطه «باند فعلی» را نگه می‌دارد و باندها را به ترتیب پایین‌پایین، بالابالا، پایین و بالا بررسی می‌کند. ورود به باند با رسیدن مقدار به آستانه است و خروج تنها وقتی رخ می‌دهد که مقدار از «آستانه ± هیسترزیس» عبور کند. اعلان و خروجی‌ها فقط در لحظهٔ تغییر باند اجرا می‌شوند — نه با هر نمونه — و برگشت به محدودهٔ عادی هم پیام خودش را دارد. به همین دلیل یک حد درست‌تنظیم‌شده در طول یک شیفت پرنوسان چند پیام می‌فرستد، نه چند صد پیام.

نکته‌ها و اشتباه‌های رایج

  • ترتیب سطوح باید صعودی باشد؛ در غیر این صورت ذخیره نمی‌شود و پیام «حدها باید صعودی باشند: lowLow < low < high < highHigh.» را می‌بینید.
  • هیسترزیس عدد منفی نمی‌پذیرد («hysteresis منفی نمی‌شود.»)، و هیسترزیس صفر یعنی همان رفتار پرنوسان قبلی.
  • هر کانال گیرندهٔ خودش را می‌خواهد: پیامک بدون شماره، ایمیل بدون نشانی و تلگرام بدون شناسهٔ چت ذخیره نمی‌شود.
  • قالب شمارهٔ مجاز: با + و ۸ تا ۱۵ رقم، یا با 0 و ۱۰ رقم پس از آن. در غیر این صورت پیام «شماره‌ی … معتبر نیست.» می‌آید.
  • در متن پیام حد، جای‌گزین مقدار لحظه‌ای {self} (با آکولاد) است.
  • گروه گیرندگان، قالب پیام و سیاست تشدید در نسخهٔ فعلی صفحهٔ رابط کاربری ندارند؛ گیرنده را در خود تعریف حد یا در اقدام اعلان قانون بنویسید.
  • چک‌باکس‌های تلگرام و پیامک در کارت «اعلان‌های وب» فرم تعریف نقطه پیام بیرونی نمی‌فرستند؛ ارسال بیرونی کار حد آستانه و اقدام اعلان قانون است.
  • زبانهٔ «تنظیمات اعلان» با برچسب «فقط محلی» در مرورگر ذخیره می‌شود؛ روی مرورگر یا دستگاه دیگر دوباره باید تنظیم شود.

خلاصه

  • هشدار پایدار روی کمیت پیوسته = حد آستانه با هیسترزیس، که با دستیار ساخته می‌شود و روی سرور اجرا می‌شود.
  • ورود به باند با آستانه، خروج با «آستانه ± هیسترزیس»؛ اعلان فقط در لحظهٔ تغییر باند.
  • سطوح باید صعودی باشند و هر کانال گیرندهٔ معتبر بخواهد.
  • مرحلهٔ «محدودیت‌ها و هشدارها»ی فرم نقطه در نسخهٔ فعلی ارزیابی نمی‌شود؛ به آن به‌عنوان سازوکار هشدار تکیه نکنید.
  • زبانهٔ «تنظیمات اعلان» رفتار نمایش در همین مرورگر را تنظیم می‌کند؛ کانال‌های سمت سرور را مدیر سامانه پیکربندی می‌کند.

تمرین عملی روی دموی زنده

روی دموی عمومی (هولدینگ ارگ) کار کنید و هیچ دادهٔ موجودی را تغییر ندهید یا حذف نکنید.

  1. دستیار را باز کنید و بخواهید حدود آستانهٔ تعریف‌شدهٔ این پروژه را فهرست کند. یکی از آن‌ها را انتخاب کنید و روی کاغذ بنویسید هشدارش در چه مقداری صادر و در چه مقداری رفع می‌شود.
  2. به تنظیمات اعلان بروید و بدون زدن ذخیره تغییرات بخوانید کدام کانال‌ها فعال‌اند و کدام فیلدهایشان خالی است. حدس بزنید با این پیکربندی کدام کانال پیام واقعی می‌فرستد.
  3. اگر حساب دمو اجازهٔ نوشتن داد، از دستیار بخواهید برای یک نقطهٔ رطوبت حد بالای ۶۵ با هیسترزیس ۵ و بدون اعلان تعریف کند؛ کارت تأیید را با دقت بخوانید و تأیید نکنید. اگر حساب دمو اجازهٔ ذخیره نداد، تا مرحلهٔ پیش‌نمایش پیش بروید.
باز کردن دموی زنده

آزمون درس

برای گذراندن درس دست‌کم به ۳ پرسش از ۴ پرسش پاسخ درست بدهید.

  1. ۱. در حدی با «حد بالا ۶۵» و «هیسترزیس ۵»، نقطه در باند بالا است. با کدام مقدار به وضعیت عادی برمی‌گردد؟
  2. ۲. اعلان یک حد آستانه در چه لحظه‌ای فرستاده می‌شود؟
  3. ۳. کدام گزاره دربارهٔ مرحلهٔ «محدودیت‌ها و هشدارها» در فرم تعریف نقطه درست است؟
  4. ۴. حد آستانه با هیسترزیس از کجا ساخته و حذف می‌شود؟