diff --git a/pymyenergi/base_device.py b/pymyenergi/base_device.py index 05af8fc..0113846 100644 --- a/pymyenergi/base_device.py +++ b/pymyenergi/base_device.py @@ -131,6 +131,7 @@ async def fetch_history_data( "ct5": 0, "ct6": 0, "ive1": 0, + "ivi1": 0, "bdp1": 0, "bcp1": 0, "pvp1": 0 @@ -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): diff --git a/pymyenergi/libbi.py b/pymyenergi/libbi.py index 13f8093..2215b81 100644 --- a/pymyenergi/libbi.py +++ b/pymyenergi/libbi.py @@ -17,8 +17,7 @@ 5:'Charging', 6:'Discharging', 7:'Duration Charging', - 102:'102', - 104:'104', + 101:'Idle?', 234:'Calibration Charge' } LIBBI_MODES = ["Stopped","Normal"] @@ -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 %""" @@ -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" @@ -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