import time from datetime import datetime from data_base_csv import DataBaseCsv from data_base_influx import DataBaseInflux from heat_pump import HeatPump from shelly_pro_3m import ShellyPro3m interval_seconds = 10 db = DataBaseInflux( url="http://localhost:8086", token="Cw_naEZyvJ3isiAh1P4Eq3TsjcHmzzDFS7SlbKDsS6ZWL04fMEYixWqtNxGThDdG27S9aW5g7FP9eiq5z1rsGA==", org="allmende", bucket="allmende_db" ) hp = HeatPump(device_name='hp_master', ip_address='10.0.0.10') shelly = ShellyPro3m(device_name='wohnung_2_6', ip_address='192.168.1.121') wr = SolarEdgeWechselrichter(device_name='wr_master', ip_address='192.168.1.112') controller = SgReadyController(hp, wr) while True: now = datetime.now() if now.second % interval_seconds == 0 and now.microsecond < 100_000: db.store_data(hp.device_name, hp.get_state()) db.store_data(shelly.device_name, shelly.get_state()) db.store_data(wr.device_name, wr.get_state()) controller.perform_action() time.sleep(0.1)