Skip to content

Commit

Permalink
Merge pull request #4 from videojedi/add-battery-charge
Browse files Browse the repository at this point in the history
Add battery charge
  • Loading branch information
videojedi authored Sep 17, 2023
2 parents 918341a + 71d8969 commit eb77ec1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
11 changes: 8 additions & 3 deletions pymyenergi/base_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ async def fetch_history_data(
"ct5": 0,
"ct6": 0,
"ive1": 0,
"ivi1": 0,
"bdp1": 0,
"bcp1": 0,
"pvp1": 0
Expand Down Expand Up @@ -166,13 +167,17 @@ async def fetch_history_data(
"generated": round(energy_wh["gep"] / 1000, 2),
"grid_import": round(energy_wh["imp"] / 1000, 2),
"grid_export": round(energy_wh["exp"] / 1000, 2),
"battery_in": round(energy_wh["bcp1"] / 1000, 2),
"battery_out": round(energy_wh["bdp1"] / 1000, 2),
"pv_total": round(energy_wh["pvp1"] / 1000, 2),
"battery_charge": round(energy_wh["bcp1"] / 1000, 2),
"battery_discharge": round(energy_wh["bdp1"] / 1000, 2),
"inverter_export": round(energy_wh["ive1"] /1000, 2),
"inverter_import": round(energy_wh["ivi1"] /1000, 2),
"device_boosted": device_boosted,
"device_green": device_green,
"device_total": device_boosted + device_green
}
if resolution == MINUTE:
return_data["pv_total"] = round(energy_wh["pvp1"] / 1000, 2)

for i in range(6):
key = f"ct{i+1}"
if hasattr(self, key):
Expand Down
16 changes: 12 additions & 4 deletions pymyenergi/libbi.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
5:'Charging',
6:'Discharging',
7:'Duration Charging',
102:'102',
104:'104',
101:'Idle?',
234:'Calibration Charge' }

LIBBI_MODES = ["Stopped","Normal"]
Expand Down Expand Up @@ -119,6 +118,16 @@ def energy_green(self):
"""Device green energy from history data"""
return self.history_data.get("device_green", 0)

@property
def energy_charge(self):
"""Device Battery in from history data"""
return self.history_data.get("battery_charge",0)

@property
def energy_discharge(self):
"""Device Battery out from history data"""
return self.history_data.get("battery_discharge",0)

@property
def state_of_charge(self):
"""State of Charge in %"""
Expand Down Expand Up @@ -177,7 +186,7 @@ def show(self, short_format=False):
ret = ret + f"Battery size: {self.battery_size}kWh\n"
ret = ret + f"Inverter size: {self.inverter_size}kWh\n"
ret = ret + f"State of Charge: {self.state_of_charge}%\n"
ret = ret + f"Generated: {self.power_generated}W\n"
ret = ret + f"Generating: {self.power_generated}W\n"
ret = ret + f"Grid: {self.power_grid}W\n"
ret = ret + f"Status : {self.status}\n"
ret = ret + f"Local Mode : {self.localMode}\n"
Expand All @@ -189,5 +198,4 @@ def show(self, short_format=False):
ret = ret + f"CT 6 {self.ct6.name} {self.ct6.power}W phase {self.ct6.phase}\n"
for key in self.ct_keys:
ret = ret + f"Energy {key} {self.history_data.get(key, 0)}Wh\n"

return ret

0 comments on commit eb77ec1

Please sign in to comment.