import serverrequests as serverrequests import JsonHandling import energymeter import energyproducer import energyuser import time import datetime import json import main import serverrequests # Gehe in eine Dauerschlaufe ID = "BasToken" producer_values = [] producers =[] meter_values = [] meter = [] user_values = [] users = [] Collector = JsonHandling.DataCollector() data = {} def calcSomeStuff(): return while True: # Neue Konfig holen try: config = json.dumps(serverrequests.get_config(ID)) # Versuche, das JSON zu laden except: # Falls ein Fehler auftritt oder kein JSON zurückkommt, lade config.json with open('config.json', 'r') as file: config = json.dumps(json.load(file)) if JsonHandling.JsonHandling.check_config_has_changed(config): producers = energyproducer.EnergyProducer.create_producerlist_from_json(config) meter = energymeter.EnergyMeter.create_meterlist_from_json(config) users = energyuser.EnergyUser.create_userlist_from_json(config) producer_values = energyproducer.EnergyProducer.get_all_current_values(producers) meter_values = energymeter.EnergyMeter.get_all_current_values(meter) calcSomeStuff() for user in users: user.calc_used_power() main.EnergyUserFactory.distribute_energy(users, 1*(meter_values["Meter_Sum"]["PowerReal_P_Sum"])) user_values = energyuser.EnergyUser.get_all_current_values(users) try: a = json.loads(config)['last_timestamp'] except: a = "1970-01-01 00:00" Collector.collect_and_store_data(producer_values, meter_values, user_values, a) data = Collector.data try: if next(iter(data)) != a: serverrequests.set_data(ID, data) except: pass time.sleep(5)