Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
generators [2025/12/08 19:56] 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 " | ||
| + | </ | ||
| + | |||
| + | що очевидно має глибинний сенс, тільки для генераторів з автоматичним запуском. | ||