NUTDRV_QX(8) NUT Manual NUTDRV_QX(8)

nutdrv_qx - درایور دستگاه‌های یوپی‌اس مبتنی بر پروتکل QX در مجموعه NUT

nutdrv_qx -h

nutdrv_qx -a UPS_NAME [OPTIONS]


یادداشت

این صفحه راهنما صرفاً ویژگی‌های وابسته به سخت‌افزار درایور nutdrv_qx را مستند می‌کند. برای اطلاعات پیرامون درایور هسته، nutupsdrv(8) را ببینید.

این پروتکل اصالتاً توسط Mega System Technologies, Inc. در تایوان ایجاد شد و توسط سازندگان پرشماری مورد استفاده قرار گرفت و در گذر زمان با افزوده‌شدن قابلیت‌ها و ناسازگاری‌های جزئی توسعه یافت. مستندات NUT معمولاً این خانواده بزرگ از گویش‌های مشابه را خانواده پروتکل‌های Megatec Q* یا Megatec Qx می‌نامد.

مشخص شده است که درایور nutdrv_qx با یوپی‌اس‌های مختلفی از برندهای Armac، Blazer، Energy Sistem، Fenton Technologies، General Electric، Gtec، Hunnox، Masterguard، Mustek، Powercool، Voltronic Power، SKE (که توسط بسیاری دیگر بازنشر یا ری‌برند شده‌اند) و موارد بسیار دیگر کار می‌کند.

به طور خلاصه: اگر یوپی‌اس شما با نرم‌افزاری به نام Viewpower عرضه شده است، احتمال زیادی وجود دارد که با این درایور با استفاده از یکی از پروتکل‌های voltronic* یا پروتکل mecer و بسیاری موارد دیگر کار کند.


یادداشت

به دلایل تاریخی، دو گزینه تنظیم‌پذیر مهم این درایور تا حدی با نام‌گذاری نامناسب protocol (برای گویش Qx) و subdriver (برای تبدیل ارتباط USB به سریال) نامیده شده‌اند. سایر درایورهای چندگویشی، ماژول‌های گویشی خود را به عنوان subdrivers معرفی می‌کنند و در واقع کد منبع ماژولار nutdrv_qx نیز همین کار را انجام می‌دهد.


یادداشت

به دلیل تعداد بالای گویش‌های Qx پشتیبانی‌شده و مدت زمانی که برای ارسال ترکیب‌های مرتبط دستورات و انتظار برای دریافت پاسخ یا عدم دریافت آن نیاز است تا پشتیبانی سخت‌افزار/سفت‌افزار از یک شیوه خاص ارتباطی بررسی شود، راه‌اندازی اولیه خودکار درایور nutdrv_qx ممکن است حدود یک دقیقه طول بکشد. توصیه می‌شود مقادیر پروتکل یا زیردرایور تشخیص داده شده و گزارش‌شده را در فایل ups.conf(5) خود ذخیره کنید تا راه‌اندازی‌های بعدی درایور سریع‌تر انجام شود و از مهلت زمانی احتمالی سرویس جلوگیری به عمل آید.

جدول سازگاری NUT همه مدل‌های پشتیبانی‌شده شناخته‌شده را فهرست می‌کند. به یاد داشته باشید که ممکن است مدل‌های دیگری که در آنجا ذکر نشده‌اند نیز پشتیبانی شوند، اما هنوز آزمایش نشده یا گزارش داده نشده‌اند.

همه دستگاه‌های دارای رابط سریال و بسیاری از دستگاه‌های دارای رابط USB پشتیبانی می‌شوند.

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

موارد زیر محتمل‌ترین گزینه‌هایی هستند که نیاز به تغییر خواهند داشت (ups.conf(5) را ببینید):

ondelay = مقدار

مدت زمان انتظار پیش از روشن کردن یوپی‌اس (به ثانیه). این مقدار به مضارب ۶۰ ثانیه گرد می‌شود.

توجه داشته باشید که مقداری کمتر از ۳ دقیقه ممکن است باعث شود نسخه‌های اولیه سفت‌افزار به طور خودکار روشن نشوند، بنابراین پیش‌فرض آن ۳ دقیقه (یعنی ۱۸۰ ثانیه) است.

این گزینه یک مقدار پیش‌فرض برای ups.delay.start فراهم می‌کند که در ادامه توسط درایور در توالی خاموش شدن خودکار استفاده خواهد شد (یعنی فراخوانی درایور با گزینه -k، فراخوانی upsdrvctl(8) با گزینه shutdown یا زمانی که پرچم FSD تنظیم شده و upsmon(8) وارد توالی خاموش شدن خود می‌شود): با این حال می‌توانید این مقدار را در طول نشست جاری و صرفاً برای استفاده در دستورات فوری با تنظیم ups.delay.start توسط upsrw(8) به صورت زنده تغییر دهید.

offdelay = مقدار

مدت زمان انتظار پیش از خاموش کردن یوپی‌اس (به ثانیه). این مقدار به مضارب ۶ ثانیه (برای کمتر از ۶۰ ثانیه) یا مضارب ۶۰ ثانیه (برای بیشتر از ۶۰ ثانیه) گرد می‌شود. مقدار پیش‌فرض ۳۰ ثانیه است.

این گزینه یک مقدار پیش‌فرض برای ups.delay.shutdown فراهم می‌کند که در ادامه توسط درایور در توالی خاموش شدن خودکار استفاده خواهد شد (یعنی فراخوانی درایور با گزینه -k، فراخوانی upsdrvctl(8) با گزینه shutdown یا زمانی که پرچم FSD تنظیم شده و upsmon(8) وارد توالی خاموش شدن خود می‌شود): با این حال می‌توانید این مقدار را در طول نشست جاری و صرفاً برای استفاده در دستورات فوری با تنظیم ups.delay.shutdown توسط upsrw(8) به صورت زنده تغییر دهید.

stayoff

اگر stayoff را در ups.conf(5) تنظیم کنید، هنگام بروز وضعیت FSD، یوپی‌اس دستور shutdown.stayoff را اجرا کرده و پس از ups.delay.shutdown ثانیه خاموش می‌شود و دیگر روشن نخواهد شد (بخش مشکلات شناخته‌شده را ببینید)، در غیر این صورت (رفتار استاندارد) یوپی‌اس دستور shutdown.return را فراخوانی کرده و پس از ups.delay.shutdown ثانیه خاموش شده و سپس پس از ups.delay.start ثانیه روشن می‌شود (در صورتی که برق شهر در این میان وصل شده باشد).

protocol = رشته

رد کردن تشخیص خودکار پروتکل و استفاده انحصاری از پروتکل مشخص‌شده. مقادیر پشتیبانی‌شده: bestups, gtec, hunnox, innovart31, innovart33, innovatae, masterguard, mecer, megatec, megatec/old, mustek, q1, q2, q6, voltronic, voltronic-axpert, voltronic-qs, voltronic-qs-hex و zinto.

برنامه درایور را با گزینه --help اجرا کنید تا فهرست دقیق مقادیر protocol که در حال حاضر شناسایی می‌کند را مشاهده فرمایید.

توجه داشته باشید که اگر در نهایت از پروتکل q1 استفاده کردید، ممکن است بخواهید پروتکل‌های mecer, megatec و zinto را با تنظیم پرچم‌های novendor/norating (یکی از آن‌ها یا هر دو) نیز امتحان کنید.

pollfreq = عدد

تنظیم بازه زمانی نظرسنجی برای به‌روزرسانی‌های کامل (به ثانیه) جهت کاهش ترافیک پیام‌ها. بین دو درخواست نظرسنجی، درایور با بازه زمانی تعیین‌شده در گزینه pollinterval نظرسنجی‌های سریعی انجام می‌دهد که صرفاً به ups.status رسیدگی می‌کنند (جزئیات در ups.conf(5)). مقدار پیش‌فرض ۳۰ (به ثانیه) است.

اگر یوپی‌اس شما هیچ‌یک از مقادیر battery.charge یا battery.runtime را گزارش نمی‌کند، ممکن است بخواهید گزینه‌های زیر را اضافه کنید تا مقادیر تخمینی محاسبه شوند:

default.battery.voltage.high = مقدار

حداکثر ولتاژ باتری که پس از حدود ۱۲ تا ۲۴ ساعت شارژ حاصل می‌شود. اگر می‌خواهید درایور مقدار تخمینی battery.charge را گزارش کند، باید این گزینه را مشخص فرمایید (بخش تخمین شارژ باتری را ببینید).

default.battery.voltage.low = مقدار

حداقل ولتاژ باتری درست پیش از آنکه یوپی‌اس به طور خودکار خاموش شود. اگر می‌خواهید درایور مقدار تخمینی battery.charge را گزارش کند، باید این گزینه را مشخص فرمایید (بخش تخمین شارژ باتری را ببینید).

default.battery.voltage.nominal = مقدار, override.battery.voltage.nominal = مقدار

برخی دستگاه‌ها ولتاژ نامی باتری را نادرست نشان می‌دهند (یا اصلاً نشان نمی‌دهند)، بنابراین ممکن است لازم باشد مقداری را بازنویسی کرده یا یک مقدار پیش‌فرض تعیین کنید.

override.battery.packs = مقدار

برخی دستگاه‌ها به صورت «محلی» فقط بخشی از ولتاژ کل باتری را گزارش می‌کنند (همچنین battery_voltage_reports_one_pack در زیر را ببینید).

به عنوان مثال، اگر battery.voltage.nominal برابر با 24 ولت باشد، اما مقدار battery.voltage حدود 2 ولت گزارش شود، تعداد battery.packs برای تصحیح این قرائت باید 12 باشد.

درایور تلاش می‌کند این عدد را به طور خودکار شناسایی کند، اما اگر به هر دلیلی با شکست مواجه شد، می‌توانید این مقدار را به صورت دستی بازنویسی کنید.

توجه داشته باشید که این ویژگی در وهله اول برای «تخمین» battery.charge یا battery.runtime (با تنظیم runtimecal) مفید است، در صورتی که این قرائت‌ها مستقیماً توسط دستگاه ارائه نشوند.

battery_voltage_reports_one_pack

برخی دستگاه‌ها به طور پیش‌فرض و محلی فقط بخشی از کل ولتاژ باتری را گزارش می‌کنند (در صورتی که مقدار توسط دستگاه گزارش نشود یا درایور به درستی تخمین نزند، override.battery.packs در بالا را نیز ببینید).

اگر این پرچم تنظیم شود، اکثر زیردرایورها (به جز آن‌هایی که از ظرافت‌های پیچیده‌تر و خاص هر دستگاه آگاهند، در حال حاضر: ablerex, masterguard و voltronic-qs-hex) مقدار نهایی گزارش‌شده battery.voltage را به عنوان مضربی از battery.packs و مقدار محلی battery.voltage تنظیم می‌کنند.

توجه داشته باشید که این گزینه اصولاً برای سازگاری در عیب‌یابی و رسم نمودار داده‌ها کاربرد دارد و نباید بر تخمین battery.charge یا battery.runtime تأثیر بگذارد — بنابراین بیش از آنکه حیاتی باشد، یک اصلاح ظاهری است.

runtimecal = مقدار,مقدار,مقدار,مقدار

پارامتر مورداستفاده در برآورد زمان کارکرد (اختیاری). این گزینه دو زمان کارکرد را در بارگذاری‌های مختلف دریافت می‌کند. به طور معمول، این تنظیم زمان کارکرد در بار کامل و زمان کارکرد در نصف بار را به کار می‌گیرد. به عنوان مثال، اگر یوپی‌اس شما زمان کارکرد اسمی ۲۴۰ ثانیه در بار کامل و ۷۲۰ ثانیه در نصف بار دارد، این‌گونه وارد می‌کنید:
runtimecal = 240,100,720,50

بار اول همیشه باید بیشتر از بار دوم باشد. اگر مقادیری برای بارهایی غیر از ۱۰۰٪ و ۵۰٪ دارید، می‌توانید از آن‌ها نیز استفاده کنید، اما فاصله آن‌ها را تا جای ممکن دور از هم نگه دارید. فقط خیلی به حالت بدون بار نزدیک نشوید (پیش‌بینی زمان کارکرد در آن حالت بیشتر به بار بی‌باری باتری وابسته می‌شود).

chargetime = مقدار

زمان مورد نیاز برای شارژ کامل باتری پس از تخلیه کامل. در صورت عدم تعیین، درایور پیش‌فرض ۴۳۲۰۰ ثانیه (۱۲ ساعت) را در نظر می‌گیرد. تنها در صورتی استفاده می‌شود که runtimecal نیز مشخص شده باشد.

idleload = مقدار

حداقل بار باتری مورد استفاده درایور برای تخمین زمان کارکرد. در صورت عدم تعیین، درایور پیش‌فرض ۱۰٪ را در نظر می‌گیرد. تنها در صورتی استفاده می‌شود که runtimecal نیز مشخص شده باشد.

ignoresab

برخی از یوپی‌اس‌ها بیت «خاموشی فعال» (Shutdown Active) را به اشتباه همیشه روشن گزارش می‌کنند و در نتیجه باعث می‌شوند درایور تصور کند یوپی‌اس در آستانه خاموش شدن است (و در نتیجه، ups.status همیشه حاوی FSD است... و شما می‌دانید این به چه معناست). تنظیم این پرچم باعث می‌شود که درایور بیت «خاموشی فعال» را نادیده بگیرد.

ondelay

محدوده قابل قبول 0..599940 ثانیه است.

offdelay

محدوده قابل قبول 12..600 ثانیه است.

norating

برخی یوپی‌اس‌ها در صورت تلاش برای خواندن اطلاعات درجه‌بندی (Rating) قفل می‌شوند. تنظیم این پرچم باعث می‌شود درایور از این مرحله صرف‌نظر کند.

novendor

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

ondelay

محدوده قابل قبول 60..599940 ثانیه است.

offdelay

محدوده قابل قبول 12..5940 ثانیه است.

pins_shutdown_mode = مقدار

تنظیم عملکرد حالت خاموشی پایه ۱ و پایه ۷ در درگاه ارتباطی DB9 یوپی‌اس (مطابق با مشخصه EPS-0059 شرکت Best Power) روی مقدار [0..6].

slave_addr = مقدار

وادار کردن تابع تصاحب (claim) به بررسی اینکه آیا با نشانی پیرو (slave address) مشخص‌شده (ups.id) ارتباط برقرار می‌کند یا خیر. این یک اقدام حفاظتی در برابر ارتباط با یوپی‌اس اشتباهی از میان چند یوپی‌اس یکسان روی یک گذرگاه USB است. توجه داشته باشید که هنگام تغییر ups.id (از طریق upsrw(8)) درایور به برقراری ارتباط با یوپی‌اس با نشانی پیرو جدید ادامه می‌دهد، اما پس از راه‌اندازی مجدد تا زمانی که پارامتر slave_addr تنظیم نشود، مجدداً آن را تصاحب نخواهد کرد.

ondelay

محدوده قابل قبول 0..599940 ثانیه است.

offdelay

محدوده قابل قبول 12..600 ثانیه است.

nooutstats

برخی یوپی‌اس‌ها از دستور WA که آمار بار خروجی را برمی‌گرداند پشتیبانی نمی‌کنند. استفاده از این پرچم باعث می‌شود که درایور این درخواست‌ها را نادیده بگیرد.

ondelay

محدوده قابل قبول 60..599940 ثانیه است.

offdelay

محدوده قابل قبول 12..540 ثانیه است.


یادداشت

این پروتکل در حال حاضر عمدتاً آزمایشی است و بسیاری از ویژگی‌های آن ممکن است تنها در ساخت‌های ویژه‌ای از برنامه درایور NUT ارائه شوند.

reset_to_default

بازنشانی گزینه‌های قابلیت‌ها و محدودیت‌های آن‌ها به مقادیر پیش‌فرض امن

bypass_alarm

هشدار صوتی (بوق!) در حالت گذرگاه فرعی (Bypass) [فعال/غیرفعال]

battery_alarm

هشدار صوتی (بوق!) در حالت باتری [فعال/غیرفعال]

گزینه‌های زیر تنها توسط پروتکل voltronic پشتیبانی می‌شوند. همه آن‌ها در تمامی یوپی‌اس‌های پشتیبانی‌شده توسط این پروتکل در دسترس نیستند.

ondelay

محدوده قابل قبول 0..599940 ثانیه است.

offdelay

محدوده قابل قبول 12..5940 ثانیه است.

battery_number = مقدار

تنظیم تعداد باتری‌هایی که یک بسته را تشکیل می‌دهند روی مقدار [1..9]. این تنظیم برآورد شارژ و زمان کارکرد گزارش‌شده توسط یوپی‌اس را تغییر خواهد داد.

output_phase_angle = مقدار

تغییر زاویه فاز خروجی به مقدار ارائه‌شده [000, 120, 180, 240]°.

تنظیمات قابلیت‌های یوپی‌اس

reset_to_default

بازنشانی گزینه‌های قابلیت‌ها و محدودیت‌های ولتاژ و بسامد آن‌ها به مقادیر پیش‌فرض امن. (تنها زمانی امکان‌پذیر است که یوپی‌اس در حالت آماده‌به‌کار (Standby) باشد)

توجه داشته باشید که تنظیم این گزینه موارد زیر را نیز بازنشانی خواهد کرد: ups.start.auto، battery.protection، battery.energysave، ups.start.battery، outlet.0.switchable، input.transfer.high، input.transfer.low، input.frequency.high و input.frequency.low.

این یوپی‌اس‌ها را می‌توان با فعال یا غیرفعال کردن گزینه‌های زیر برای برآوردن نیازهای خود تنظیم دقیق کرد (درایور در هنگام راه‌اندازی باید به شما بگوید یوپی‌اس توانایی کدام موارد را دارد: گزینه‌های قابل تنظیم در لاگ‌ها به صورت enabled یا disabled گزارش می‌شوند):

alarm_control = رشته

فعال یا غیرفعال کردن هشدار صوتی (بوق!) [enabled/disabled]. همچنین با دستورات فوری beeper.enable و beeper.disable به صورت زنده قابل تنظیم است.

bypass_alarm = رشته

فعال یا غیرفعال کردن هشدار صوتی (بوق!) در حالت گذرگاه فرعی (Bypass) [enabled/disabled].

battery_alarm = رشته

فعال یا غیرفعال کردن هشدار صوتی (بوق!) در حالت باتری [enabled/disabled].

bypass_when_off = رشته

فعال یا غیرفعال کردن بای‌پس در هنگام خاموش بودن یوپی‌اس [enabled/disabled]. در صورت فعال بودن، هنگام خاموش بودن یوپی‌اس برق متناوب (AC) مستقیماً برق دستگاه‌های متصل را تأمین می‌کند.

bypass_forbidding = رشته

فعال یا غیرفعال کردن ممنوعیت بای‌پس [enabled/disabled]. در صورت فعال بودن، یوپی‌اس تحت هیچ شرایطی به حالت بای‌پس منتقل نخواهد شد.

converter_mode = رشته

فعال یا غیرفعال کردن حالت مبدل [enabled/disabled]. هنگامی که بسامد ورودی بین ۴۰ تا ۷۰ هرتز باشد، می‌توان یوپی‌اس را روی بسامد خروجی ثابت ۵۰ هرتز یا ۶۰ هرتز تنظیم کرد. یوپی‌اس در این حالت همچنان باتری را شارژ می‌کند.

eco_mode = رشته

فعال یا غیرفعال کردن حالت اکو (ECO) [enabled/disabled]. هنگامی که ولتاژ/بسامد ورودی در محدوده قابل قبول باشد، یوپی‌اس ولتاژ را برای صرفه‌جویی در مصرف انرژی مستقیماً به خروجی هدایت می‌کند. مدارهای PFC و اینورتر در این حالت همچنان فعال هستند. همچنین با دستورات فوری bypass.start و bypass.stop به صورت زنده قابل تنظیم است.

advanced_eco_mode = رشته

فعال یا غیرفعال کردن حالت اکوی پیشرفته [enabled/disabled]. هنگامی که ولتاژ/بسامد ورودی در محدوده قابل قبول باشد، یوپی‌اس ولتاژ را برای صرفه‌جویی در انرژی به خروجی هدایت می‌کند. در این حالت PFC و اینورتر خاموش هستند.

battery_open_status_check = رشته

فعال یا غیرفعال کردن بررسی وضعیت اتصال باتری [enabled/disabled]. در صورت فعال بودن، هنگامی که یوپی‌اس روشن می‌شود، متصل بودن یا نبودن باتری را بررسی می‌کند.

site_fault_detection = رشته

فعال یا غیرفعال کردن تشخیص خطای سیم‌کشی محل [enabled/disabled]. در صورت فعال بودن، در صورت معکوس بودن سیم‌های فاز و نول ورودی، یوپی‌اس بوق می‌زند.

constant_phase_angle = رشته

فعال یا غیرفعال کردن تابع زاویه فاز ثابت (برابر نبودن زاویه‌های فاز خروجی و ورودی) [enabled/disabled].

limited_runtime_on_battery = رشته

فعال یا غیرفعال کردن زمان کارکرد محدود در حالت باتری [enabled/disabled].

محدودیت‌های ولتاژ/بسامد حالت بای‌پس

متغیرهایی برای تنظیم دقیق محدودیت‌های ولتاژ و بسامد برای حالت بای‌پس. این محدودیت‌ها با گزینه reset_to_default به مقادیر پیش‌فرض امن بازنشانی می‌شوند.

اگر ولتاژ و بسامد برق AC در محدوده قابل قبول باشد، حالت بای‌پس استفاده خواهد شد (در صورتی که یوپی‌اس توانایی آن را داشته باشد و فعال شده باشد).

از آنجا که این مقادیر وابسته به دستگاه هستند، اگر یوپی‌اس شما از آن‌ها پشتیبانی کند، محدودیت‌های قابل تنظیم آن‌ها در هنگام راه‌اندازی در لاگ‌ها چاپ می‌شود.

max_bypass_volt = مقدار

حداکثر ولتاژ برای حالت بای‌پس (ولت).

min_bypass_volt = مقدار

حداقل ولتاژ برای حالت بای‌پس (ولت).

max_bypass_freq = مقدار

حداکثر بسامد برای حالت بای‌پس (هرتز).

min_bypass_freq = مقدار

حداقل بسامد برای حالت بای‌پس (هرتز).

گزینه‌های ویژه برای یوپی‌اس‌های P31

گزینه‌های زیر تنها در یوپی‌اس‌های P31 در دسترس هستند.

work_range_type = رشته

محدوده کاری شبکه دستگاه برای یوپی‌اس‌های P31 [Appliance/UPS].

آزمایش (TESTING)

این پروتکل همراه با دو تابع ارائه می‌شود که به دلیل عدم آگاهی توسعه‌دهندگان از بخشی از پروتکل ارتباطی مورد استفاده این یوپی‌اس‌ها، به طور پیش‌فرض فعال نیستند. از آنجا که این توابع صرفاً درخواست‌هایی برای دریافت اطلاعات از یوپی‌اس هستند، نباید آسیبی به یوپی‌اس شما وارد کنند. بنابراین اگر شجاعت کافی دارید تا برای کمک به توسعه‌دهندگان، سلامت یوپی‌اس و دستگاه‌های متصل را به خطر بیندازید، از شما بسیار قدردانی خواهد شد. این کار را با مسئولیت خودتان انجام دهید.

testing

در صورت فراخوانی، درایور دستوراتی را که هنوز نیاز به آزمایش دارند نیز اجرا می‌کند.

cablepower = رشته

به طور پیش‌فرض درایور خط DTR را تنظیم و RTS را پاک می‌کند (normal). اگر متوجه شدید که یوپی‌اس شما شناسایی نمی‌شود یا ارتباط با آن نامطمئن است، می‌توانید امتحان کنید که آیا پاک کردن DTR و تنظیم RTS (reverse)، تنظیم هر دو DTR و RTS (both) یا پاک کردن هر دو DTR و RTS (none) این وضعیت را بهبود می‌بخشد یا خیر.

port = رشته

گزینه الزامی برای همه درایورهای NUT. باید یک مقدار تعیین شود، معمولاً auto برای درایورهایی که اتصالات USB را مدیریت می‌کنند.

یادداشت
این مقدار می‌تواند یک مسیر سیستم‌فایلی دستگاه مانند /dev/usb/hiddev0 باشد، اما استفاده کنونی از API کتابخانه libusb مانع از شناخت و تطبیق با چنین شناسه‌هایی می‌شود. همچنین ممکن است این شناسه‌ها ذاتاً ناپایدار باشند (وابسته به اتصال مجدد کابل و ترتیب شمارش دستگاه‌ها). در حال حاضر مقدار واقعی مقدار نادیده گرفته می‌شود، اما از نظر ساختاری وجود مقداری برای پیکربندی port همچنان الزامی است.

امکان کنترل هم‌زمان چندین دستگاه یوپی‌اس با اجرای چند نمونه از این درایور وجود دارد، به شرطی که بتوان آن‌ها را با تنظیم ترکیبی از گزینه‌های vendor، product، vendorid، productid، serial، bus یا device که در زیر شرح داده شده‌اند به طور یکتا متمایز کرد. برای دستگاه‌ها یا سیستم‌عامل‌هایی که اطلاعات کافی ارائه نمی‌دهند، گزینه allow_duplicates می‌تواند کاربردی باشد (محدود و پرخطر!)

vendorid = regex, productid = regex, vendor = regex, product = regex, serial = regex

انتخاب یک یوپی‌اس خاص، در صورتی که بیش از یک دستگاه از طریق USB متصل باشد. هر گزینه یک عبارت باقاعده گسترده (برای اطلاعات بیشتر پیرامون عبارت‌های باقاعده regex(7) را ببینید) را مشخص می‌کند که باید با کل رشته مربوطه vendor/product/serial یوپی‌اس (بدون فاصله‌های خالی ابتدا و انتها) یا کل کد هگزادسیمال ۴ رقمی برای vendorid و productid مطابقت داشته باشد.

دستور lsusb(8) یا اجرای این درایور NUT با آرگومان خط فرمان -DD را برای پیدا کردن رشته‌های مورد تطبیق امتحان کنید.

مثال‌ها:

•-x vendor="Foo.Corporation.*"
•-x vendorid="051d*" (APC)
•-x product=";.*(Smart|Back)-?UPS.*"

bus = regex

اختیاری، توصیه نمی‌شود.

انتخاب یک یوپی‌اس روی یک گذرگاه USB یا گروهی از گذرگاه‌های خاص. آرگومان یک عبارت باقاعده است که باید با نام گذرگاهی که یوپی‌اس به آن متصل است مطابقت داشته باشد (به عنوان مثال bus="002" یا bus="00[2-3]") همان‌طور که در لینوکس در /sys/bus/usb/devices یا lsusb(8) مشاهده می‌شود؛ شامل صفرهای ابتدایی.


یادداشت
سیستم‌عامل تضمین نمی‌کند که شماره‌های گذرگاه پس از راه‌اندازی مجدد سیستم، بارگذاری مجدد درایور هسته یا اتصال مجدد دستگاه (مانند تغییر وضعیت دستگاه‌های متصل به هاب‌های USB) پایدار بمانند.

device = regex

اختیاری، توصیه نمی‌شود.

انتخاب یک یوپی‌اس روی یک دستگاه USB خاص یا گروهی از دستگاه‌ها. آرگومان یک عبارت باقاعده است که باید با نام دستگاهی که یوپی‌اس به آن متصل است مطابقت داشته باشد (به عنوان مثال device="001" یا device="00[1-2]") همان‌طور که در لینوکس در /sys/bus/usb/devices یا lsusb(8) مشاهده می‌شود؛ شامل صفرهای ابتدایی.


یادداشت
سیستم‌عامل تضمین نمی‌کند که شماره‌های دستگاه در طول راه‌اندازی‌های مجدد سیستم یا اتصال مجدد دستگاه پایدار بمانند.

busport = regex

اختیاری، توصیه نمی‌شود.

در صورتی که توسط سخت‌افزار، سیستم‌عامل و libusb در استقرار خاص پشتیبانی شود، این گزینه باید اجازه دهد تا به جای مقادیر منطقی شماره‌گذاری device ، شماره درگاه‌های فیزیکی روی یک هاب USB مشخص شود که در نتیجه — باید در طول راه‌اندازی‌های مجدد یا اتصال مجدد نوسان کمتری داشته باشد. این مقدار را می‌توان در خروجی ساختار درختی USB ابزار lsusb -tv روی سیستم‌هایی که این ابزار را دارند، مشاهده کرد.


یادداشت
این گزینه در عمل توسط برخی ساخت‌های NUT پشتیبانی نمی‌شود (در این صورت باید با یک هشدار نادیده گرفته شود)، و همچنین در همه سیستم‌هایی که NUT می‌تواند روی آن‌ها اجرا شود نیز پشتیبانی نمی‌شود.

allow_duplicates

اختیاری، توصیه نمی‌شود.

اگر چندین دستگاه یوپی‌اس دارید که ممکن است توسط گزینه‌های بالا به طور یکتا شناسایی نشوند (مثلاً فقط VID:PID در آنجا قابل شناسایی باشد)، این پرچم به هر نمونه از درایور که این گزینه در آن تنظیم شده اجازه می‌دهد اولین تطابق موجود را در دست بگیرد یا به تلاش برای مورد دیگر ادامه دهد.

به طور معمول راه‌اندازی درایور در این مرحله با اعلام خطای "Resource busy" یا خطای مشابه متوقف می‌شود، با این فرض که دستگاهی که به درستی تطبیق یافته یکتا است — و فرآیند دیگری در حال حاضر آن را مدیریت می‌کند.


هشدار
این قابلیت ذاتاً غیرقطعی است! انتساب نام نمونه درایور به دستگاه واقعی ممکن است بین دفعات اجرا متفاوت باشد!

اگر فقط برایتان مهم است که بدانید حداقل یکی از یوپی‌اس‌های بدون‌نام شما برخط است، این گزینه می‌تواند کمک کند.

اما اگر واقعاً باید بدانید کدام‌یک از آن‌ها است، کمکی نخواهد کرد!

usb_set_altinterface = bAlternateSetting

اجبار به فراخوانی افزونه usb_set_altinterface() ، به ویژه در صورت نیاز برای دستگاه‌هایی که چندین نقش USB دارند و یوپی‌اس با شماره رابط 0 (پیش‌فرض) نمایش داده نمی‌شود.

usb_config_index, usb_hid_rep_index, usb_hid_desc_index, usb_hid_ep_in, usb_hid_ep_out

اجبار به استفاده از شماره‌های خاص رابط، نقطه پایانی (Endpoint)، شاخص توصیف‌گر و غیره، به جای مقدار پیش‌فرض 0 (به ندرت مقادیر دیگر در برخی درایورها برای دستگاه‌هایی که مشخصاً از اعداد غیر صفر استفاده می‌کنند). به صورت یک عدد هگزادسیمال مشخص می‌شود.

به عنوان یک قاعده سرانگشتی برای کشف usb_hid_desc_index می‌توانید مقادیر بزرگ‌تر wDescriptorLength (تقریباً بیش از ۶۰۰ بایت) را در گزارش‌های lsusb یا ابزارهای مشابه مشاهده کنید.

LIBUSB_DEBUG = عدد_صحیح

عیب‌یابی زمان اجرای درایورهای NUT با قابلیت USB نه تنها شامل افزایش سطح گزارش‌دهی اشکال‌زدایی عمومی NUT (مثلاً با استفاده از تنظیم DEBUG_MIN در ups.conf(5) یا دستورات پروتکل برای تغییر مقدار driver.debug) است، بلکه ممکن است از اشکال‌زدایی اختصاصی LibUSB نیز بهره‌مند شود.

برای مورد اخیر، می‌توانید گزینه درایور LIBUSB_DEBUG را تنظیم کنید؛ روش دیگر این است که به صورت سنتی متغیر محیطی LIBUSB_DEBUG را پیش از شروع برنامه درایور NUT (می‌تواند در اسکریپت راه‌اندازی درایور یا متد سرویس، شاید از طریق nut.conf(5) تنظیم و صادر شود) روی یک مقدار عددی مانند 4 ("تمام پیام‌ها منتشر شوند") تنظیم کنید.

برای جزئیات بیشتر، از جمله مقادیر پشتیبانی‌شده کنونی برای نسخه کتابخانه شما، به عنوان مثال ببینید:

subdriver = رشته

انتخاب یک زیردرایور سریال روی USB برای استفاده. گزینه‌های انتخابی شما عبارتند از: ablerex, armac, cypress, fabula, fuji, gtec, hunnox, ippon, krauler, phoenix, phoenixtec, sgs و snr.

برنامه درایور را با گزینه --help اجرا کنید تا فهرست دقیق مقادیر subdriver که در حال حاضر شناسایی می‌کند را مشاهده کنید.


یادداشت
هنگام استفاده از این گزینه، تعیین پارامترهای تطبیق vendorid و productid نیز الزامی است.

langid_fix = مقدار

اعمال راهکار رفع اشکال شناسه زبان (language ID) روی زیردرایور krauler. این کار برای کارکرد برخی دستگاه‌ها (LDLC، Dynamix و موارد دیگر) الزامی است. شما باید مقدار (0x409 یا 0x4095) را مطابق با مدخل دستگاه خود در فهرست سازگاری سخت‌افزار NUT (HCL) ارائه دهید.

noscanlangid

در صورت تنظیم این پرچم، محدوده معتبر برای langid به صورت خودکار پویش نمی‌شود.

نکات پیاده‌سازی (IMPLEMENTATION NOTES)

زیردرایور armac

زیردرایور ارتباطی Armac پروتکل ارتباطی مورد استفاده در نسخه قدیمی نرم‌افزار "PowerManagerII" را بازتولید می‌کند که به نظر نمی‌رسد اختصاصی Armac باشد: بنر آن "2004 Richcomm Technologies, Inc. Dec 27 2005 ver 1.1." است. شاید سایر یوپی‌اس‌های Richcomm نیز با این زیردرایور کار کنند — شاید حتی بهتر از درایور مستقل و قدیمی‌تر richcomm_usb.

زیردرایور fabula

این زیردرایور که برای استفاده با پروتکل megatec طراحی شده است، از دستورات مختلف test.battery پشتیبانی نمی‌کند. به علاوه، دستور shutdown.return مقادیر تنظیم‌شده در ups.delay.start/ondelay را نادیده می‌گیرد و باعث می‌شود یوپی‌اس به محض بازگشت برق، بار را روشن کند.

زیردرایور gtec

در حال حاضر، پشتیبانی اختصاصی Gtec تنها برای دستگاه‌های USB شناخته شده است (آزمایش‌شده با Gtec ZP120N) و با درگاه سریال مشاهده نشده است.

این حالت به صورت خودکار شناسایی نمی‌شود و باید به صورت دستی در ups.conf شما فعال گردد، مانند:

[gtec-ups]
    driver = "nutdrv_qx"
    port = "auto"
    subdriver = "gtec"
    protocol = "gtec"

پیاده‌سازی‌های دیگر زیردرایورها و پروتکل‌ها (از جمله blazer_usb(8)) تا حدی کار می‌کنند، اما هر دو دو مشکل دارند:

•آن‌ها از پرس‌وجوی ساده "Q1" استفاده می‌کنند که نتیجه آخرین آزمایش باتری را گزارش نمی‌دهد.
•به دلایلی یوپی‌اس حتی زمانی که باتری کاملاً قطع است ولتاژ باتری را عادی گزارش می‌دهد. بنابراین تا زمان قطع برق متوجه خراب بودن باتری نخواهید شد.
•این درایور به جای آن، درخواست پیشرفته‌تر "Q4" را ارسال می‌کند. در اینجا پاسخ شامل حروف وضعیتی با اطلاعات بیشتری نسبت به پرچم‌های دودویی Q1، از جمله وضعیت باتری است.
•پاسخ USB در قطعات ۸ بایتی خوانده می‌شود که باعث می‌شود یوپی‌اس از USB قطع شود. یوپی‌اس در عرض یک ثانیه دوباره متصل می‌شود، اما همچنان راه‌اندازی اولیه nutdrv_qx را با خطا مواجه می‌کند، جایی که پرس‌وجو بر خلاف blazer_usb دو بار در مدت کوتاهی ارسال می‌شود.
•راه‌حل ساده است: کل پاسخ به یکباره خوانده شود.

زیردرایور hunnox

این زیردرایور پروتکل ارتباط نزدیکی با زیردرایور fabula دارد و با چند تغییر جزئی برای دستگاه‌هایی تنظیم شده که مستقیماً توسط آن درایور پشتیبانی نمی‌شوند.

زیردرایور fuji

این زیردرایور که برای استفاده با پروتکل megatec طراحی شده است، از دستورات shutdown.stayoff و load.off پشتیبانی نمی‌کند. به علاوه، دستور shutdown.return مقادیر تعیین‌شده در ups.delay.start/ondelay را نادیده می‌گیرد و باعث می‌شود یوپی‌اس به محض بازگشت برق، بار را روشن کند.

زیردرایور krauler

این زیردرایور که برای استفاده با پروتکل megatec طراحی شده است، از دستورات خاموش کردن پشتیبانی نمی‌کند، یعنی: shutdown.return، shutdown.stayoff و load.off.

زیردرایور snr

این زیردرایور که برای استفاده با پروتکل megatec طراحی شده است، از دستورات خاموش کردن پشتیبانی نمی‌کند، یعنی: shutdown.return، shutdown.stayoff و load.off.

این درایور از برخی دستورات فوری پشتیبانی می‌کند (upscmd(8) را ببینید):

beeper.toggle

تغییر وضعیت بوق یوپی‌اس (در برخی سخت‌افزارها موجود نیست).

load.on

روشن کردن فوری بار (در برخی سخت‌افزارها موجود نیست).

load.off

خاموش کردن فوری بار (بخش مشکلات شناخته‌شده را ببینید).

shutdown.return

خاموش کردن بار و بازگشت با وصل مجدد برق. از تایمرهای تعریف‌شده توسط ups.delay.start و ups.delay.shutdown استفاده می‌کند.

shutdown.stayoff

خاموش کردن بار و خاموش ماندن (بخش مشکلات شناخته‌شده را ببینید). از تایمر تعریف‌شده توسط ups.delay.shutdown استفاده می‌کند.

shutdown.stop

توقف فرایند خاموش شدن در حال انجام.

test.battery.start.deep

انجام آزمایش عمیق باتری (در برخی سخت‌افزارها موجود نیست).

test.battery.start.quick

انجام آزمایش سریع باتری (۱۰ ثانیه).

test.battery.stop

توقف آزمایش باتری در حال اجرا (در برخی سخت‌افزارها موجود نیست).

test.battery.start مقدار

انجام آزمایش باتری به مدت مقدار ثانیه (گردشده به ۶۰ ثانیه) [60..5940].

clear.fault.record

پاک کردن سابقه خطاها/ایرادها

beeper.enable

فعال کردن بوق یوپی‌اس.

beeper.disable

غیرفعال کردن بوق یوپی‌اس.

test.battery.start.low

انجام آزمایش باتری تا زمان کم شدن شارژ باتری.

تفاوت بین «آزمایش باتری تا زمان کاهش شارژ باتری» و «آزمایش عمیق باتری» در این است که مورد دوم در واقع یک آزمایش کالیبراسیون باتری است و نیاز به برآورده شدن برخی پیش‌شرط‌ها دارد، یعنی بار باید بین ۳۰٪ تا ۱۰۰٪ بوده و ظرفیت اولیه باتری بیش از ۹۹٪ باشد.

«آزمایش باتری تا زمان کاهش شارژ» در هر زمانی قابل شروع است.

این قابلیت روی دستگاه‌های Masterguard A1000 و A2000 آزمایش شده است.

test.battery.start مقدار

انجام آزمایش باتری به مدت مقدار ثانیه (گردشده به ۶۰ ثانیه) [0..5940]. این مقدار به واحدهای ۶ ثانیه‌ای (برای کمتر از ۶۰ ثانیه) یا ۶۰ ثانیه‌ای (برای بیشتر از ۶۰ ثانیه) گرد می‌شود.

bypass.start

قرار دادن یوپی‌اس در حالت بای‌پس

bypass.stop

انتقال یوپی‌اس به حالت عادی

دستگاه‌های VOLTRONIC POWER P98 (با پروتکل MECER)

test.battery.start مقدار

انجام آزمایش باتری به مدت مقدار ثانیه (گردشده به ۶۰ ثانیه) [12..5940]. این مقدار به واحدهای ۶ ثانیه‌ای (برای کمتر از ۶۰ ثانیه) یا ۶۰ ثانیه‌ای (برای بیشتر از ۶۰ ثانیه) گرد می‌شود.

دستورات فوری زیر برای پروتکل voltronic در دسترس هستند. همه آن‌ها روی تمامی یوپی‌اس‌های پشتیبانی‌شده توسط این پروتکل موجود نیستند.

beeper.enable

فعال کردن بوق یوپی‌اس.

beeper.disable

غیرفعال کردن بوق یوپی‌اس.

test.battery.start مقدار

انجام آزمایش باتری به مدت مقدار ثانیه [12..5940]. این مقدار به واحدهای ۶ ثانیه‌ای (برای کمتر از ۶۰ ثانیه) یا ۶۰ ثانیه‌ای (برای بیشتر از ۶۰ ثانیه) گرد می‌شود.

outlet.1.load.off

خاموش کردن فوری بار خروجی ۱.

outlet.1.load.on

روشن کردن فوری بار خروجی ۱.

outlet.2.load.off

خاموش کردن فوری بار خروجی ۲.

outlet.2.load.on

روشن کردن فوری بار خروجی ۲.

outlet.3.load.off

خاموش کردن فوری بار خروجی ۳.

outlet.3.load.on

روشن کردن فوری بار خروجی ۳.

outlet.4.load.off

خاموش کردن فوری بار خروجی ۴.

outlet.4.load.on

روشن کردن فوری بار خروجی ۴.

bypass.start

قرار دادن یوپی‌اس در حالت اکو (ECO Mode).

bypass.stop

خارج کردن یوپی‌اس از حالت اکو (ECO Mode).

با توجه به تقاضای مکرر کاربران، این درایور در صورتی که تعدادی از آرگومان‌های اضافی فهرست‌شده در بالا را مشخص کرده باشید، مقدار تخمینی battery.charge و به صورت اختیاری battery.runtime را گزارش می‌دهد.

اگر هر دو گزینه battery.voltage.high و battery.voltage.low را در ups.conf(5) مشخص کنید اما runtimecal را وارد نکنید، درایور وضعیت شارژ را صرفاً با بررسی ولتاژ باتری تخمین می‌زند. این مقدار تحت بار قابل اعتماد نیست، زیرا چنین روشی تنها در صورتی مقادیر نسبتاً دقیقی می‌دهد که بار را قطع کنید، اجازه دهید باتری چند دقیقه استراحت کند و سپس ولتاژ مدار باز سلول را اندازه‌گیری نمایید. این کار در زمانی که برق قطع شده و یوپی‌اس در حال تأمین برق سیستم‌های شماست، اصلاً عملی نیست.

                     battery.voltage - battery.voltage.low
battery.charge =  ------------------------------------------ x 100 %
                  battery.voltage.high - battery.voltage.low

روشی برای به دست آوردن خوانش‌های بهتر بدون قطع بار وجود دارد، اما این کار مستلزم آن است که میزان (و سرعت) ورود و خروج جریان به باتری ثبت شود. اگر runtimecal را مشخص کرده باشید، درایور تلاش خواهد کرد این کار را انجام دهد. با این حال توجه داشته باشید که این روش به شدت به مقادیر واردشده توسط شما متکی است و یوپی‌اس نیز باید بتواند میزان بار را گزارش کند. دستگاه‌های متعددی وجود دارند که در تمام اوقات مقدار 0% (یا هر مقدار ثابت دیگر) را گزارش می‌کنند، که در این صورت بدیهی است این روش کار نخواهد کرد.

همچنین درایور هیچ راهی برای تعیین میزان افت ظرفیت باتری در طول زمان ندارد، بنابراین باید خودتان این موضوع را مدیریت کنید (با تنظیم مقادیر در runtimecal). همچنین توجه داشته باشید که درایور وضعیت اولیه شارژ را بر اساس ولتاژ باتری حدس می‌زند، بنابراین این مقدار ممکن است حتی زمانی که مطمئنید باتری‌ها پر هستند کمتر از ۱۰۰٪ باشد. هیچ راهی برای اندازه‌گیری مطمئن این مقدار بین ۰ تا ۱۰۰٪ شارژ کامل وجود ندارد.

این وضعیت بهتر از هیچ است (اما نه خیلی بهتر). اگر هر یک از محاسبات بالا قرائت‌های نادرستی به شما می‌دهد، خود شما مقادیر را در ups.conf(5) وارد کرده‌اید، بنابراین از نویسنده گله نکنید. اگر چیز بهتری می‌خواهید، یوپی‌آسی بخرید که خودش به تنهایی و بدون کمک درایور NUT مقادیر battery.charge و battery.runtime را گزارش کند.

با جایگزینی درایورهای megatec توسط درایور nutdrv_qx، ممکن است کاربرانی که به nutdrv_qx مهاجرت می‌کنند نیاز به تغییراتی در پیکربندی داشته باشند.

به عنوان بخشی از این امر، گزینه‌های زیر از megatec در ups.conf(5) باید تغییر یابند:

battvolts

باید از default.battery.voltage.high و default.battery.voltage.low استفاده کنید.

dtr و rts

باید از cablepower استفاده کنید.

ignoreoff

این پارامتر را می‌توان به سادگی کنار گذاشت، زیرا ناشی از درک نادرست مشخصات فنی بوده است.

با جایگزینی درایورهای blazer توسط درایور nutdrv_qx، ممکن است کاربرانی که به nutdrv_qx مهاجرت می‌کنند نیاز به تغییراتی در پیکربندی داشته باشند.

به عنوان بخشی از این امر، گزینه زیر از blazer در ups.conf(5) باید تغییر کند:

ondelay

در حالی که درایورهای قبلی blazer دقیقه را انتظار داشتند، درایور جدید nutdrv_qx ثانیه را می‌خواهد.

دستور فوری زیر نیز تغییر کرده است:

test.battery.start مقدار

در حالی که درایورهای قدیمی blazer یک مقدار به دقیقه را انتظار داشتند، درایور nutdrv_qx یک مقدار به ثانیه را می‌خواهد.

با جایگزینی درایور bestups توسط درایور nutdrv_qx، ممکن است کاربرانی که به nutdrv_qx مهاجرت می‌کنند نیاز به تغییراتی در پیکربندی داشته باشند.

به عنوان بخشی از این امر، گزینه‌های زیر از bestups در ups.conf(5) دیگر توسط این درایور پشتیبانی نمی‌شوند:

nombattvolt, battvoltmult

بخش تخمین شارژ باتری را ببینید.

ID

کنار گذاشته شد.

با جایگزینی درایورهای voltronic توسط درایور nutdrv_qx، ممکن است کاربرانی که به nutdrv_qx مهاجرت می‌کنند نیاز به تغییراتی در پیکربندی داشته باشند.

به عنوان بخشی از این امر، گزینه‌های زیر از voltronic در ups.conf(5) باید تغییر یابند:

ondelay

در حالی که درایورهای قبلی voltronic دقیقه را انتظار داشتند، درایور جدید nutdrv_qx ثانیه را می‌خواهد. این مقدار برای سازگاری با کاربرانی که از درایورهای قدیمی blazer مهاجرت می‌کنند، دیگر به صورت پیش‌فرض ۰ دقیقه نیست بلکه ۳ دقیقه (یعنی ۱۸۰ ثانیه) است.

battnumb

نام این گزینه به battery_number تغییر یافته است.

گزینه‌های زیر دیگر توسط این درایور پشتیبانی نمی‌شوند، اکنون می‌توانید آن‌ها را بسیار راحت‌تر به صورت زنده با فراخوانی upsrw(8) همراه با متغیر مناسب NUT تغییر دهید — به شرطی که یوپی‌اس شما از آن‌ها پشتیبانی کند.

battpacks → battery.packs تنظیم تعداد بسته‌های باتری موازی [1..99]. این تنظیم تخمین شارژ و زمان کارکرد گزارش‌شده توسط یوپی‌اس را تغییر خواهد داد.
battlow → battery.voltage.low تنظیم حداقل ولتاژ باتری درست پیش از آنکه یوپی‌اس به طور خودکار خاموش شود. این تنظیم تخمین شارژ و زمان کارکرد گزارش‌شده توسط یوپی‌اس را تغییر خواهد داد.
auto_reboot → ups.start.auto فعال یا غیرفعال کردن راه‌اندازی مجدد خودکار [enabled/disabled]. در صورت فعال بودن، با بازگشت برق AC یوپی‌اس به طور خودکار بازیابی می‌شود.
battery_protection → battery.protection فعال یا غیرفعال کردن حفاظت در برابر تخلیه عمیق باتری [enabled/disabled].
energy_saving → battery.energysave فعال یا غیرفعال کردن قابلیت انرژی سبز [enabled/disabled]. در صورت فعال بودن، برای صرفه‌جویی در مصرف انرژی، یوپی‌اس در صورت عدم وجود بار به طور خودکار خاموش می‌شود.
cold_start → ups.start.battery فعال یا غیرفعال کردن راه‌اندازی سرد [enabled/disabled]. در صورت فعال بودن، یوپی‌اس می‌تواند حتی در صورت عدم اتصال برق AC نیز روشن شود.
outlet_control → outlet.0.switchable فعال یا غیرفعال کردن کنترل پریزهای برنامه‌پذیر در حالت باتری [enabled/disabled]. در صورت فعال بودن، یوپی‌اس پس از فرا رسیدن زمان پشتیبان‌گیری (تنظیم‌شده از طریق outlet.{1,2,3,4}.delay.shutdown) پریزهای برنامه‌پذیر را قطع می‌کند. در صورت غیرفعال بودن، یوپی‌اس برق مداوم پریزهای برنامه‌پذیر را تا زمان اتمام شارژ باتری تأمین می‌کند.
max_eco_volt → input.transfer.high حداکثر ولتاژ برای حالت اکو (ولت). اگر ولتاژ AC در محدوده قابل قبول باشد، حالت اکو استفاده خواهد شد (در صورتی که یوپی‌اس توانایی آن را داشته باشد و فعال شده باشد).
min_eco_volt → input.transfer.low حداقل ولتاژ برای حالت اکو (ولت). اگر ولتاژ AC در محدوده قابل قبول باشد، حالت اکو استفاده خواهد شد (در صورتی که یوپی‌اس توانایی آن را داشته باشد و فعال شده باشد).
max_eco_freq → input.frequency.high حداکثر بسامد برای حالت اکو (هرتز). اگر بسامد AC در محدوده قابل قبول باشد، حالت اکو استفاده خواهد شد (در صورتی که یوپی‌اس توانایی آن را داشته باشد و فعال شده باشد).
min_eco_freq → input.frequency.low حداقل بسامد برای حالت اکو (هرتز). اگر بسامد AC در محدوده قابل قبول باشد، حالت اکو استفاده خواهد شد (در صورتی که یوپی‌اس توانایی آن را داشته باشد و فعال شده باشد).
outlet1_delay → outlet.1.delay.shutdown مدت زمان تأخیر پیش از آنکه پریز برنامه‌پذیر ۱ بار را در حالت باتری قطع کند [0..59940] (ثانیه).
outlet2_delay → outlet.2.delay.shutdown مدت زمان تأخیر پیش از آنکه پریز برنامه‌پذیر ۲ بار را در حالت باتری قطع کند [0..59940] (ثانیه).
outlet3_delay → outlet.3.delay.shutdown مدت زمان تأخیر پیش از آنکه پریز برنامه‌پذیر ۳ بار را در حالت باتری قطع کند [0..59940] (ثانیه).
outlet4_delay → outlet.4.delay.shutdown مدت زمان تأخیر پیش از آنکه پریز برنامه‌پذیر ۴ بار را در حالت باتری قطع کند [0..59940] (ثانیه).
batt_type → battery.type نوع باتری (صرفاً برای یوپی‌اس‌های P31) [Li/Flooded/AGM].

برخی دستورات یوپی‌اس توسط همه مدل‌ها پشتیبانی نمی‌شوند. در اغلب موارد، زمانی که کاربر تلاش کند یک دستور پشتیبانی‌نشده را اجرا نماید، درایور پیامی به لاگ سیستم ارسال می‌کند. متأسفانه برخی مدل‌ها حتی راهی برای درایور فراهم نمی‌کنند تا این موضوع را بررسی کند، بنابراین دستورات پشتیبانی‌نشده بدون هیچ پیامی شکست می‌خورند.

هر دو دستور فوری load.off و shutdown.stayoff به منظور خاموش کردن نامحدود بار در نظر گرفته شده‌اند. با این حال برخی مدل‌های یوپی‌اس این اجازه را نمی‌دهند.

برخی مدل‌ها مقدار نادرستی برای وضعیت بیپر گزارش می‌کنند (همیشه enabled یا disabled خواهد بود). بنابراین، دستور beeper.toggle ممکن است در وضعیتی که درایور گزارش می‌دهد بی‌اثر به نظر برسد در حالی که در واقعیت به درستی کار می‌کند.

مشخص شده است که مقدار دما و بار در برخی مدل‌ها ساختگی و نادرست است.

قرار است درایور از هر دو سری «جدید» A (شامل A700/1000/2000/3000 و مدل‌های ۱۹- متناظر آن‌ها) و سری E (شامل E60/100/200) پشتیبانی کند، اما به دلیل عدم دسترسی به سخت‌افزار سری E، تنها روی سری A آزمایش شده است.

این پروتکل از اینورترهای Voltronic Power Axpert مبتنی بر پروتکل P30 (مورد استفاده مثلاً در تجهیزات فتوولتائیک، اغلب همراه با یک یوپی‌اس شارژشونده توسط پنل‌های خورشیدی) پشتیبانی می‌کند.

کد در حال حاضر تا حد زیادی آزمایشی است و نقاط داده و نام دستورات با مفاهیمی که بخشی از واژگان استاندارد NUT هستند همسو نشده‌اند (بسیاری از آن‌ها با پیشوند فضای نام experimental. مشخص شده‌اند). در حقیقت بسیاری از ویژگی‌ها ممکن است تنها در نسخه‌هایی با پیکربندی ویژه از برنامه درایور NUT ارائه شوند.

مشخص شده است که هر دو دستور فوری load.off و shutdown.stayoff تنها در صورت وجود برق شهر همان‌طور که انتظار می‌رود کار می‌کنند (یعنی بار را به طور نامحدود خاموش می‌کنند)، در غیر این صورت به محض بازگشت برق شهر به بار برق‌رسانی خواهد شد.

پس از صدور دستور فوری shutdown.return، در صورتی که شرایط زیر برقرار باشد، یوپی‌اس پیش از برق‌رسانی به بار منتظر ondelay نخواهد ماند:

•اگر بار قبلاً (مهم نیست چه مدت قبل) از طریق load.off/shutdown.stayoff خاموش شده باشد و از طریق load.on/shutdown.stop روشن شده باشد و
•اگر پس از صدور load.off/shutdown.stayoff برق AC قطع نشده باشد (یعنی یوپی‌اس خودش خاموش نشده باشد) و
•اگر پس از صدور دستور shutdown.return قطعی برق رخ دهد

در این حالت، به محض بازگشت برق شهر، به بار برق‌رسانی خواهد شد.

مشخص شده است که دستورات فوری shutdown.return، load.off و shutdown.stayoff تنها در صورت وجود برق شهر همان‌طور که انتظار می‌رود کار می‌کنند، در غیر این صورت به محض بازگشت برق شهر، بار برق‌دار خواهد شد.

یوپی‌اس‌های پشتیبانی‌شده توسط پروتکل voltronic هشدارها را از طریق یک پرچم ۶۴ بیتی (bit1bit2...bit63bit64) گزارش می‌دهند که در آن ۱ به معنای بروز هشدار و ۰ به معنای عدم وجود هشدار است. از آنجا که بیش از یک هشدار می‌تواند در یک زمان اعلام شود و به دلیل فضای محدود در متغیر ups.alarm، در صورتی که طول هشدارها از متغیر ups.alarms فراتر رود، آن‌ها به صورت بیت گزارش خواهند شد. اگر می‌خواهید شرح آن بیت را بدانید، می‌توانید لاگ را بررسی کرده یا جدول زیر را ببینید (بیت‌های فهرست‌نشده معادل هشدارهای ناشناخته هستند).

جدول ۱. هشدارهای یوپی‌اس برای یوپی‌اس‌های voltronic

# هشدار متناظر
1 باتری قطع است
2 سیم نول متصل نیست
3 خطای سیم‌کشی محل
4 توالی فازها نادرست است
5 توالی فازها در بای‌پس نادرست است
6 بسامد ورودی در بای‌پس ناپایدار است
7 شارژ بیش از حد باتری
8 باتری ضعیف است
9 هشدار اضافه‌بار
10 هشدار فن
11 وضعیت EPO فعال است
12 ناتوانی در روشن کردن یوپی‌اس
13 هشدار دمای بیش از حد
14 هشدار شارژر
15 خاموش شدن خودکار از راه دور
16 فیوز ورودی L1 کار نمی‌کند
17 فیوز ورودی L2 کار نمی‌کند
18 فیوز ورودی L3 کار نمی‌کند
19 وضعیت غیرعادی PFC مثبت در L1
20 وضعیت غیرعادی PFC منفی در L1
21 وضعیت غیرعادی PFC مثبت در L2
22 وضعیت غیرعادی PFC منفی در L2
23 وضعیت غیرعادی PFC مثبت در L3
24 وضعیت غیرعادی PFC منفی در L3
25 وضعیت غیرعادی در ارتباط گذرگاه CAN
26 وضعیت غیرعادی در مدار سیگنال هم‌زمان
27 وضعیت غیرعادی در مدار سیگنال پالس هم‌زمان
28 وضعیت غیرعادی در مدار سیگنال میزبان
29 کانکتور نری کابل موازی به خوبی متصل نشده است
30 کانکتور مادگی کابل موازی به خوبی متصل نشده است
31 کابل موازی به خوبی متصل نشده است
32 اتصال باتری در سیستم‌های موازی هم‌خوانی ندارد
33 اتصال AC در سیستم‌های موازی هم‌خوانی ندارد
34 اتصال بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
35 انواع مدل یوپی‌اس در سیستم‌های موازی هم‌خوانی ندارند
36 ظرفیت یوپی‌اس‌ها در سیستم‌های موازی هم‌خوانی ندارد
37 تنظیم راه‌اندازی مجدد خودکار در سیستم‌های موازی هم‌خوانی ندارد
38 شارژ بیش از حد سلول باتری
39 تنظیم حفاظت باتری در سیستم‌های موازی هم‌خوانی ندارد
40 تنظیم تشخیص باتری در سیستم‌های موازی هم‌خوانی ندارد
41 تنظیم مجاز نبودن بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
42 تنظیم مبدل در سیستم‌های موازی هم‌خوانی ندارد
43 نقطه افت بالای بسامد در حالت بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
44 نقطه افت پایین بسامد در حالت بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
45 نقطه افت بالای ولتاژ در حالت بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
46 نقطه افت پایین ولتاژ در حالت بای‌پس در سیستم‌های موازی هم‌خوانی ندارد
47 نقطه افت بالای بسامد در حالت AC در سیستم‌های موازی هم‌خوانی ندارد
48 نقطه افت پایین بسامد در حالت AC در سیستم‌های موازی هم‌خوانی ندارد
49 نقطه افت بالای ولتاژ در حالت AC در سیستم‌های موازی هم‌خوانی ندارد
50 نقطه افت پایین ولتاژ در حالت AC در سیستم‌های موازی هم‌خوانی ندارد
51 هشدار قفل شدن در حالت بای‌پس پس از ۳ بار اضافه‌بار متوالی ظرف ۳۰ دقیقه
52 هشدار عدم تعادل جریان ورودی سه‌فاز AC
53 هشدار عدم تعادل جریان ورودی سه‌فاز شناسایی‌شده در حالت باتری
54 هشدار عدم تعادل جریان داخلی اینورتر
55 پیش‌هشدار قطع پریزهای برنامه‌پذیر
56 هشدار تعویض باتری
57 هشدار غیرعادی بودن زاویه فاز ورودی
58 هشدار!! درپوش کلید تعمیر و نگهداری باز است
62 خطای عملیات EEPROM

•
Daniele Pezzini <hyouko@gmail.com>
•Arnaud Quette <arnaud.quette@gmail.com>
•John Stamp <kinsayder@hotmail.com>
•Peter Selinger <selinger@users.sourceforge.net>
•Arjen de Korte <adkorte-guest@alioth.debian.org>
•Alexander Gordeev <lasaine@lvk.cs.msu.su>
•Edgar Fuß <ef@math.uni-bonn.de>

blazer_ser(8), blazer_usb(8), nutupsdrv(8), ups.conf(5), upsc(8), upscmd(8), upsdrvctl(8), upsmon(8), upsrw(8)

•صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5
•فهرست سازگاری سخت‌افزار (HCL) در NUT: https://www.networkupstools.org/stable-hcl.html
06/21/2026 Network UPS Tools 2.8.5