Files
home-data-collection-tools/include/solar/logger/zeverdata.hpp

34 lines
903 B
C++

#pragma once
#include <cstdio>
#include <ctime>
#include <curl/curl.h> // tested with libcurl4-openSSH
#include <sstream>
#include <string>
/*
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();
};