#pragma once #include #include #include // tested with libcurl4-openSSH #include #include /* This class holds all the data retrieved from the Zeverlution combox / Zeverlution Sxxxx smart inverters / ZeverSolar box. For output formatting it uses a timestamp to log the datetime alongside the watts and kilowatts. */ struct ZeverData { int number0, number1; std::string registeryID, registeryKey, hardwareVersion, appVersion, wifiVersion; std::string timeValue, dateValue, zeverCloudStatus; int number3; std::string inverterSN; int watt; double kilowattPerHour; std::string OKmsg, ERRORmsg; // Parses the data string coming from the zeverlution home.cgi webpage bool ParseString(const std::string & str); bool FetchDataFromURL(const std::string & url, const unsigned int timeout); ZeverData(); };