Files
E-Manager/client/engine.py

57 lines
1.4 KiB
Python

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
config = json.dumps(serverrequests.get_config(ID))
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)
Collector.collect_and_store_data(producer_values, meter_values, user_values)
data = Collector.data
serverrequests.set_data(ID, data)
time.sleep(5)