2023-11-17 12:20:23 +00:00
|
|
|
import argparse
|
2023-11-17 11:45:17 +00:00
|
|
|
from hoymiles_wifi.inverter import Inverter
|
2023-11-17 11:10:33 +00:00
|
|
|
import time
|
|
|
|
|
|
|
|
def main():
|
2023-11-17 12:20:23 +00:00
|
|
|
parser = argparse.ArgumentParser(description="Hoymiles HMS Monitoring")
|
|
|
|
parser.add_argument("ip_address", type=str, help="IP address or hostname of the inverter")
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
|
|
inverter = Inverter(args.ip_address)
|
2023-11-17 11:10:33 +00:00
|
|
|
|
|
|
|
try:
|
|
|
|
while True:
|
|
|
|
response = inverter.update_state()
|
|
|
|
if response:
|
|
|
|
print(f"Inverter State: {response}")
|
|
|
|
else:
|
|
|
|
print("Unable to retrieve inverter state")
|
|
|
|
|
|
|
|
# Sleep for a while before the next update
|
|
|
|
time.sleep(60)
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
print("Exiting.")
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2023-11-17 11:45:17 +00:00
|
|
|
main()
|