add('voltage', $voltage); /** Получение данных с Dessmonitor */ $anenjiData = unserialize(file_get_contents(__DIR__ . '/data/anenj.txt')); $prometheusObject->add('anenj_bat_voltage', $anenjiData['anenjBatVoltage'] ?? 0) ->add('anenj_pv_voltage', $anenjiData['anenjPvVoltage'] ?? 0) ->add('anenj_pv_current', $anenjiData['anenjPvCurrent'] ?? 0) ->add('anenj_temp_dc', $anenjiData['anenjTempDC'] ?? 0) ->add('anenj_temp_inv', $anenjiData['anenjTempINV'] ?? 0); /** Получение данных с Yandex IoT */ $yandexObject = (new YandexIoT(YANDEX_CLIENT_ID, YANDEX_CLIENT_SECRET))->initFromFile(STORAGE_YANDEX_FILE); $yandexData = $yandexObject->getProps('c42a0011-71cc-4d6c-bef9-93833b2ae67f'); $prometheusObject->add('yandex_home_voltage', $yandexData['voltage'] ?? 0); /** Отправка данных в народный мониторинг */ $flagNarodFile = STORAGE_RUN_DIR . '/narodmon.run'; if (!file_exists($flagNarodFile)) { file_put_contents($flagNarodFile, time()); } $sendToNarodMon = false; if ($voltage !== 0 && (time() - filectime($flagNarodFile) > 60)) { file_put_contents($flagNarodFile, time()); $sendToNarodMon = true; (new Narodmon(NARODMON_DEVICE_ID))->add('V1', $voltage) ->add('U2', $anenjData['anenjBatVoltage'] ?? 0) ->add('U3', $anenjData['anenjPvVoltage'] ?? 0) ->add('T2', $anenjData['anenjTempDC'] ?? 0) ->add('T3', $anenjData['anenjTempINV'] ?? 0) ->add('I1', $anenjData['anenjPvCurrent'] ?? 0) ->send(); } $prometheusObject->add('narodmon', $sendToNarodMon ? 1 : 0); $prometheusObject->showData();