diff --git a/src/data.py b/src/data.py index cc8f31e..979dde4 100644 --- a/src/data.py +++ b/src/data.py @@ -20,6 +20,9 @@ class ReadRegister: rn.PV_02_VOLTAGE, rn.PV_01_CURRENT, rn.PV_02_CURRENT, + rn.PHASE_A_CURRENT, + rn.PHASE_B_CURRENT, + rn.PHASE_C_CURRENT, rn.INPUT_POWER, rn.ACTIVE_POWER, rn.GRID_CURRENT, diff --git a/src/main.py b/src/main.py index 89a5cce..7c68ddd 100644 --- a/src/main.py +++ b/src/main.py @@ -22,7 +22,7 @@ port = os.getenv("INVERTER_PORT", 502) host = os.getenv("INVERTER_HOST", "192.168.200.100") LOGGER = logging.getLogger(__name__) -REQUEST_INTERVAL = 60 +REQUEST_INTERVAL = 10 async def get_inverter_client() -> AsyncHuaweiSolar: @@ -44,7 +44,7 @@ async def main(): except ReadException as error: LOGGER.error(f"Can't read register, {ReadRegister.inverter_reg_status}. " f"Error code: {error}. Sleep for 10 min") - await asyncio.sleep(10*60) + await asyncio.sleep(10*60) # Sleep 5 min LOGGER.info(f"-- INVERTER -- Status: {status}") @@ -60,17 +60,17 @@ async def main(): format_data_to_serialized_json(result), f"measure/{result.name}", ) + if count == 6: # Every 1 min + LOGGER.info("-- INVERTER -- Send calculated values") + for register in ReadRegister.reg_to_read_calculated: + result = await get_inverter_data(inverter_client, register) + send_data( + mqtt_client, + format_data_to_serialized_json(result), + f"calculated/{result.name}", + ) - LOGGER.info("-- INVERTER -- Send calculated values") - for register in ReadRegister.reg_to_read_calculated: - result = await get_inverter_data(inverter_client, register) - send_data( - mqtt_client, - format_data_to_serialized_json(result), - f"calculated/{result.name}", - ) - - if count == 5: + if count == 30: # Every 5 min LOGGER.info("-- INVERTER -- Send status/alarm") for register in ReadRegister.reg_to_read_status: result = await get_inverter_data(inverter_client, register)