diff --git a/inc/hoymiles/dtu.h b/inc/hoymiles/dtu.h index 46ef002..f8dcd1c 100644 --- a/inc/hoymiles/dtu.h +++ b/inc/hoymiles/dtu.h @@ -14,6 +14,10 @@ class Dtu { std::vector microinverters; + Port dtuPort; + + int rtuId; + bool connected; void populateMicroinverters(); @@ -21,6 +25,8 @@ class Dtu { public: Dtu(const char *address, int id, bool rtu, bool tcp); + Dtu(modbus_t *modbus, int id); + std::pair getMicroinverterBySerialNumber(long long serialNumber); bool isConnected(); @@ -35,6 +41,15 @@ class Dtu { void listOfMicroinverters(); + float getCurrentPower(); + + int getCurrentOnOff(); + + void turnOffMicroinverters(); + void turnOnMicroinverters(); + + void limitMicroinverters(uint16_t limit); + ~Dtu(); }; diff --git a/inc/hoymiles/microinverter.h b/inc/hoymiles/microinverter.h index 0eaf563..ad04f2f 100644 --- a/inc/hoymiles/microinverter.h +++ b/inc/hoymiles/microinverter.h @@ -13,7 +13,7 @@ class Microinverter { private: modbus_t *modbus; - Sunspec sunspec; + // Sunspec sunspec; int startAddress; @@ -43,6 +43,10 @@ class Microinverter { void setStatus(std::vector> portsToSet, std::string statusName); void setStatusWholeMicroinverter(uint16_t value, std::string statusName); + + float getCurrentPower(); + + int getCurrentOnOff(); }; #endif \ No newline at end of file