Skip to content

Commit

Permalink
Storage API
Browse files Browse the repository at this point in the history
Related to #12
  • Loading branch information
Sjord committed Apr 25, 2020
1 parent 4f988f1 commit 34a1b09
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions growatt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,53 @@ def get_all_device_list(self, plant_id):
)
return response.json()

def get_energy_prod_and_cons_data(self, plant_id, storage_sn, date, type=0):
response = self.session.post(
self.get_url("newStorageAPI.do"),
params={"op": "getEnergyProdAndConsData"},
data={
"plantId": plant_id,
"storageSn": storage_sn,
"date": date,
"type": type,
}
)
return self._obj_success_response(response)

def get_storage_energy_data(self, plant_id, storage_sn, date):
response = self.session.post(
self.get_url("newStorageAPI.do"),
params={"op": "getStorageEnergyData"},
data={
"plantId": plant_id,
"storageSn": storage_sn,
"date": date,
}
)
return self._obj_success_response(response)

def get_system_status_data(self, plant_id, storage_sn):
response = self.session.post(
self.get_url("newStorageAPI.do"),
params={"op": "getSystemStatusData"},
data={
"plantId": plant_id,
"storageSn": storage_sn,
}
)
return self._obj_success_response(response)

def get_energy_overview_data(self, plant_id, storage_sn):
response = self.session.post(
self.get_url("newStorageAPI.do"),
params={"op": "getEnergyOverviewData"},
data={
"plantId": plant_id,
"storageSn": storage_sn,
}
)
return self._obj_success_response(response)

def logout(self):
self.session.get(self.get_url("logout.do"))
self.logged_in = False
Expand All @@ -159,3 +206,11 @@ def _back_success_response(self, response):
if not "success" in result or not result["success"]:
raise GrowattApiError(result)
return result

def _obj_success_response(self, response):
if response.status_code != 200:
raise GrowattApiError("Request failed: %s" % response)
data = response.json()
if data["result"] != 1 or "obj" not in data:
raise GrowattApiError(data)
return data["obj"]

0 comments on commit 34a1b09

Please sign in to comment.