diff --git a/main.py b/main.py index a963f41..7a1218c 100644 --- a/main.py +++ b/main.py @@ -33,8 +33,8 @@ controller = SgReadyController(es) while True: now = datetime.now() if now.second % interval_seconds == 0 and now.microsecond < 100_000: - state = es.get_state_and_store_to_database(db) - controller.perform_action(heat_pump_name='hp_master', meter_name='solaredge_meter', state=state) - + state = es.get_state_and_store_to_database(db) + mode = controller.perform_action(heat_pump_name='hp_master', meter_name='solaredge_meter', state=state) + db.store_data('sg_ready', mode) time.sleep(0.1) diff --git a/sg_ready_controller.py b/sg_ready_controller.py index 78e8e02..09bac0e 100644 --- a/sg_ready_controller.py +++ b/sg_ready_controller.py @@ -9,11 +9,15 @@ class SgReadyController(): meter_values = state[meter_name] power_to_grid = meter_values['40206 - M_AC_Power'] * 10 ** meter_values['40210 - M_AC_Power_SF'] - + mode = None if power_to_grid > 10000: - self.switch_sg_ready_mode(hp.ip, hp.port, 'mode2') + mode = 'mode2' + self.switch_sg_ready_mode(hp.ip, hp.port, mode) elif power_to_grid < 0: - self.switch_sg_ready_mode(hp.ip, hp.port, 'mode1') + mode = 'mode1' + self.switch_sg_ready_mode(hp.ip, hp.port, mode) + + return mode def switch_sg_ready_mode(self, ip, port, mode): """