Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
generators [2025/12/08 20:07] nightfly |
generators [2025/12/08 21:03] (поточний) nightfly [Автоматичне визначення запуску] |
||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| ====== Генератори ====== | ====== Генератори ====== | ||
| - | Модуль " | + | Модуль " |
| * Мотогодини автоматично розраховуються та зберігаються, | * Мотогодини автоматично розраховуються та зберігаються, | ||
| - | * Споживання палива розраховується автоматично на основі часу роботи | + | * Споживання палива розраховується автоматично на основі часу роботи |
| * Рівень пального в баку автоматично зменшується, | * Рівень пального в баку автоматично зменшується, | ||
| * Рівень пального збільшується, | * Рівень пального збільшується, | ||
| - | * Графік обслуговування враховує поточний час роботи, якщо | + | * Графік |
| + | * Передбачено можливість автоматичного визначення | ||
| + | ====== Ввімкнення модулю ====== | ||
| + | |||
| + | <file ini alter.ini> | ||
| + | ; | ||
| + | GENERATORS_ENABLED=1 | ||
| + | ; | ||
| + | TB_GENERATORS_NOTIFY=1 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====== Автоматичне визначення запуску ====== | ||
| + | |||
| + | Приклади One-Punch скриптів, | ||
| + | |||
| + | на основі конкретного пристрою: | ||
| + | <code php> | ||
| + | |||
| + | $ipUp=' | ||
| + | $generatorState=0; | ||
| + | if (zb_PingICMP($ipUp)) { | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | на основі пари пристроїв з перевіркою по ICMP: | ||
| + | <code php> | ||
| + | $ipDown=' | ||
| + | $ipUp=' | ||
| + | $generatorState=0; | ||
| + | |||
| + | if (!zb_PingICMP($ipDown)) { | ||
| + | if (zb_PingICMP($ipUp)) { | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | На основі датчика живлення Equicom PING3: | ||
| + | <code php> | ||
| + | $ip = ' | ||
| + | $community = ' | ||
| + | $oid = ' | ||
| + | |||
| + | $snmp = new SNMPHelper(); | ||
| + | $resultRaw = $snmp-> | ||
| + | $generatorState = 0; | ||
| + | if (!empty($resultRaw)) { | ||
| + | $snmpValue = zb_SanitizeSNMPValue($resultRaw); | ||
| + | $generatorState = ($snmpValue == 1) ? 1 : 0; //якщо живлення є - рахуємо, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Загалом, | ||
| + | |||
| + | Для періодичної та автоматичної перевірки стану роботи генераторів, | ||
| + | |||
| + | <code bash> | ||
| + | */5 * * * * /bin/ubapi " | ||
| + | </ | ||
| + | |||
| + | що очевидно має глибинний сенс, тільки для генераторів з автоматичним запуском. | ||