Files
E-Manager/client/engine.py

54 lines
1.3 KiB
Python

import serverrequests as serverrequests
import JsonHandling
import energymeter
import energyproducer
import energyuser
import time
import datetime
import json
import main
# Gehe in eine Dauerschlaufe
ID = "SRING_TO_DEFINE"
producer_values = []
producers =[]
meter_values = []
meter = []
user_values = []
users = []
Collector = JsonHandling.DataCollector()
data = {}
def calcSomeStuff():
return
while True:
# Neue Konfig holen
config = serverrequests.update_config_on_server(ID, data)
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, 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
time.sleep(5)