import time from datetime import datetime from data_base_influx import DataBaseInflux from heat_pump import HeatPump from pv_inverter import PvInverter from solaredge_meter import SolaredgeMeter from shelly_pro_3m import ShellyPro3m # For dev-System run in terminal: ssh -N -L 127.0.0.1:8111:10.0.0.10:502 pi@192.168.1.146 # For productive-System change IP-adress in heatpump to '10.0.0.10' and port to 502 interval_seconds = 10 db = DataBaseInflux( url="http://192.168.1.146:8086", token="Cw_naEZyvJ3isiAh1P4Eq3TsjcHmzzDFS7SlbKDsS6ZWL04fMEYixWqtNxGThDdG27S9aW5g7FP9eiq5z1rsGA==", org="allmende", bucket="allmende_db" ) hp = HeatPump(device_name='hp_master', ip_address='10.0.0.10', port=502) shelly = ShellyPro3m(device_name='wohnung_2_6', ip_address='192.168.1.121') wr = PvInverter(device_name='solaredge_master', ip_address='192.168.1.112') meter = SolaredgeMeter(device_name='solaredge_meter', 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()) db.store_data(meter.device_name, meter.get_state()) #controller.perform_action() time.sleep(0.1)