Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
generators [2025/12/12 17:14] nightfly |
generators [2026/03/12 16:18] (поточний) nightfly |
||
|---|---|---|---|
| Рядок 21: | Рядок 21: | ||
| ====== Налаштування ====== | ====== Налаштування ====== | ||
| - | TODO | + | Все максимально мінімалістично та прозоро |
| + | {{: | ||
| + | |||
| + | Додаєте собі свої генератори | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | Моніторите їх роботу | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Дивитесь на них | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Плануєте логістику ПММ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Доливаєте пальне за необхідності | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Не забуваєте про планові ТО | ||
| + | |||
| + | {{: | ||
| ====== Автоматичне визначення запуску ====== | ====== Автоматичне визначення запуску ====== | ||
| Рядок 89: | Рядок 115: | ||
| ubapi " | ubapi " | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ====== Моніторинг рівня пального ====== | ||
| + | |||
| + | Можна за допомогою [[watchdog|Собаки-спостерігаки]] та [[onepunch|One-Punch скрипта]] хоча б якось так: | ||
| + | |||
| + | <code php> | ||
| + | $alertPercent=50; | ||
| + | |||
| + | $watchdogCallbackResult=''; | ||
| + | $generators=new Generators(); | ||
| + | $alertsCount=0; | ||
| + | $allDevices=$generators-> | ||
| + | if (!empty($allDevices)) { | ||
| + | $alertsList=''; | ||
| + | $allDevicesFuelPercent=$generators-> | ||
| + | if (!empty($allDevicesFuelPercent)) { | ||
| + | foreach ($allDevicesFuelPercent as $deviceId => $fuelPercent) { | ||
| + | if ($fuelPercent < $alertPercent) { | ||
| + | $generatorLabel= $allDevices[$deviceId][' | ||
| + | $alertsList.= $generatorLabel.' | ||
| + | $alertsCount++; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if ($alertsCount > 0) { | ||
| + | $watchdogCallbackResult.=' | ||
| + | if ($alertsCount > 1) { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } else { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } | ||
| + | $watchdogCallbackResult.=$alertsList; | ||
| + | if ($alertsCount > 1) { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } else { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } | ||
| + | } else { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } | ||
| + | } else { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } | ||
| + | } else { | ||
| + | $watchdogCallbackResult.=' | ||
| + | } | ||
| + | |||
| + | deb($watchdogCallbackResult); | ||
| + | </ | ||
| + | |||
| + | Як завжди, | ||
| + | |||
| + | **getAllDevices** - Повертає список всіх генераторів та їх базових параметрів | ||
| + | |||
| + | <code php> | ||
| + | Array | ||
| + | ( | ||
| + | [1] => Array | ||
| + | ( | ||
| + | [id] => 1 | ||
| + | [running] => 0 | ||
| + | [model] => GEP 50 | ||
| + | [fuel] => diesel | ||
| + | [tankvolume] => 200 | ||
| + | [consumption] => 3.2 | ||
| + | [address] => Пліткарська 964 | ||
| + | [geo] => 48.606571, 24.420762 | ||
| + | [motohours] => 8754.24 | ||
| + | [serviceinterval] => 250 | ||
| + | [intank] => 105.704 | ||
| + | [opalias] => genchk30 | ||
| + | ) | ||
| + | |||
| + | [2] => Array | ||
| + | ( | ||
| + | .... | ||
| + | </ | ||
| + | |||
| + | **getAllDevicesFuelPercent** - повертає залишок пального в баку в відсотках | ||
| + | |||
| + | <code php> | ||
| + | Array | ||
| + | ( | ||
| + | [1] => 52.85 | ||
| + | [2] => 10.3 | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | **getAllDevicesFuelLevel** - повертає залишок пального в баку в літрах | ||
| + | |||
| + | |||
| + | <code php> | ||
| + | Array | ||
| + | ( | ||
| + | [1] => 105.704 | ||
| + | [2] => 20.5986 | ||
| + | ) | ||
| + | </ | ||
| + | |||
| + | Залишки "в баку" | ||