diff --git a/inc/hoymiles/dtu.h b/inc/hoymiles/dtu.h index b5f98bc..bf11234 100644 --- a/inc/hoymiles/dtu.h +++ b/inc/hoymiles/dtu.h @@ -33,6 +33,8 @@ class Dtu { void setStatusMicroinverters(uint16_t value, std::string statusName, std::vector& microinvertersToSet); + bool empty(); + ~Dtu(); }; diff --git a/src/hoymiles/dtu.cpp b/src/hoymiles/dtu.cpp index 0f7ce54..85859fa 100644 --- a/src/hoymiles/dtu.cpp +++ b/src/hoymiles/dtu.cpp @@ -141,4 +141,8 @@ void Dtu::setStatusMicroinverters(uint16_t value, std::string statusName, std::v } microinvertersToSetIterator++; } +} + +bool Dtu::empty() { + return this->microinverters.empty(); } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index c8c3aa1..3c461e3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -88,7 +88,7 @@ int main(int argc, char **argv) { std::cout << "DTU construction time: " << std::chrono::duration_cast(endTime - startTime).count() << "ms" << std::endl; std::cout << std::endl << std::endl; - while (!writeMode && ((dtu.isConnected() || ignoreNotConnected) && (!parametersToGet.empty() || allParameters))) { + while (!writeMode && (!dtu.empty() && ((dtu.isConnected() || ignoreNotConnected) && (!parametersToGet.empty() || allParameters)))) { time_t now = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); startTime = std::chrono::high_resolution_clock::now();