#ifndef MICROINVERTER_H #define MICROINVERTER_H #include #include #include #include "modbus.h" #include "port.h" #include "sunspec.h" class Microinverter { private: std::shared_ptr modbus; Sunspec sunspec; int startAddress; int statusStartAddress; public: Microinverter(std::shared_ptr modbus, int startAddress, long long serialNumber); long long serialNumber; int age; std::vector ports; // void updatePorts(std::vector ¶metersToGet, bool allParameters); void updateParameters(std::vector ¶metersToGet, bool allParameters); void updateStatusParameters(); void printPorts(std::vector ¶metersToGet, bool allParameters, bool shortNames); long long getTodayProduction(); long long getTotalProduction(); void setStatus(std::vector> portsToSet, std::string statusName); void setStatusWholeMicroinverter(uint16_t value, std::string statusName); }; #endif