Користувальницькькі налаштування

Налаштування сайту


generators

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
generators [2025/12/08 21:03]
nightfly [Автоматичне визначення запуску]
generators [2026/03/12 16:18] (поточний)
nightfly
Рядок 1: Рядок 1:
 ====== Генератори ====== ====== Генератори ======
 +{{:generators0.png |}}
 Модуль "Генератори" надає комплексну систему управління для відстеження генераторів електроенергії, їх часу роботи, споживання пального, графіків планового обслуговування та історії заправок. Система автоматично розраховує витрату пального, відстежує час роботи та планує обслуговування на основі мотогодин кожного з пристроїв. Модуль "Генератори" надає комплексну систему управління для відстеження генераторів електроенергії, їх часу роботи, споживання пального, графіків планового обслуговування та історії заправок. Система автоматично розраховує витрату пального, відстежує час роботи та планує обслуговування на основі мотогодин кожного з пристроїв.
  
Рядок 19: Рядок 19:
 </file> </file>
  
 +====== Налаштування ======
 +
 +Все максимально мінімалістично та прозоро
 +
 +{{:generators1.png|}}
 +
 +Додаєте собі свої генератори
 +
 +{{:generators2.png|}}
 +
 +
 +Моніторите їх роботу
 +
 +{{:generatorsdv.png|}}
 +
 +Дивитесь на них
 +
 +{{:generators3.png|}}
 +
 +Плануєте логістику ПММ
 +
 +{{:generators4.png|}}
 +
 +Доливаєте пальне за необхідності
 +
 +{{:generators5.png|}}
 +
 +Не забуваєте про планові ТО
 +
 +{{:generators6.png|}}
  
 ====== Автоматичне визначення запуску ====== ====== Автоматичне визначення запуску ======
Рядок 62: Рядок 92:
 </code> </code>
  
-Загалом, як не складно помітити, все обмежено тільки вашою фантазією. Хоч по звуку запуск визначайте.+Загалом, як не складно помітити, все обмежено тільки вашою фантазією. Хоч по звуку запуск визначайте хоч використовуйте [[wroptrecogmeters|оптичне розпізнавання амперметрів на камерах]].
  
 Для періодичної та автоматичної перевірки стану роботи генераторів, використовується періодичний, відповідний виклик з [[remoteapi|remoteAPI]]: Для періодичної та автоматичної перевірки стану роботи генераторів, використовується періодичний, відповідний виклик з [[remoteapi|remoteAPI]]:
Рядок 71: Рядок 101:
  
 що очевидно має глибинний сенс, тільки для генераторів з автоматичним запуском. що очевидно має глибинний сенс, тільки для генераторів з автоматичним запуском.
 +
 +====== Запуск та зупинка з зовнішнього ПЗ ======
 +
 +Також, ви можете захотіти примусово "запускати" та "зупиняти" ваші генератори, з якогось зовнішнього програмного забезпечення. Для цього теж є відповідинй виклики RemoteAPI: **gencontrol**, що вимагає обов'язкового вказання дії, яку варто вчинити з генератором: **start** чи **stop**. Власне параметром для дії повинен виступати ID існуючого генератора. На практиці працює це якось так:
 +
 +<code bash>
 +ubapi "gencontrol&start=1"
 +</code>
 +
 +ну і відповідно 
 +
 +<code bash>
 +ubapi "gencontrol&stop=1"
 +</code>
 +
 +
 +====== Моніторинг рівня пального ======
 +
 +Можна за допомогою [[watchdog|Собаки-спостерігаки]] та [[onepunch|One-Punch скрипта]] хоча б якось так:
 +
 +<code php>
 +  $alertPercent=50;
 +
 +    $watchdogCallbackResult='';
 +    $generators=new Generators();
 +    $alertsCount=0;
 +    $allDevices=$generators->getAllDevices();
 +    if (!empty($allDevices)) {
 +        $alertsList='';
 +        $allDevicesFuelPercent=$generators->getAllDevicesFuelPercent();
 +        if (!empty($allDevicesFuelPercent)) {
 +            foreach ($allDevicesFuelPercent as $deviceId => $fuelPercent) {
 +                if ($fuelPercent < $alertPercent) {
 +                    $generatorLabel= $allDevices[$deviceId]['address'];
 +                    $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);
 +</code>
 +
 +Як завжди, все обмежується тільки вашими потребами та креативністю. Базово можете використовувати собі наступні публічні методи класу [[https://ubilling.net.ua/api_doc/classes/Generators.xhtml|Generators]]:
 +
 +**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
 +        (
 +        ....
 +</code>
 +
 +**getAllDevicesFuelPercent** - повертає залишок пального в баку в відсотках
 +
 +<code php>
 +Array
 +(
 +    [1] => 52.85
 +    [2] => 10.3
 +)
 +</code>
 +
 +**getAllDevicesFuelLevel** - повертає залишок пального в баку в літрах
 +
 +
 +<code php>
 +Array
 +(
 +    [1] => 105.704
 +    [2] => 20.5986
 +)
 +</code>
 +
 +Залишки "в баку" можуть не відповідати вказаним в полі intank у випадку, якщо генератор в даний момент запущено. В цьому випадку "залишки" розраховуються автоматично відносно часу від його запуску.
generators.1765220583.txt.gz · Востаннє змінено: 2025/12/08 21:03 повз nightfly