from unify_api.modules.shidianu.service.aircondAnalysis import aircondAnalysis from unify_api.modules.shidianu.service.electroAnalysis import electroAnalysis from unify_api.modules.shidianu.service.heaterAnalysis import heaterAnalysis from unify_api.modules.shidianu.service.pieceClassify import piececlassfy from unify_api.modules.shidianu.service.refrigAnalysis import refrigAnalysis import pandas as pd import os def pieceWise(eachdata, params="params"): # dataPath = "/home/ubuntu/data/code/unify_api/unify_api/modules/shidianu/service/params" from unify_api.modules.shidianu.service.IntergratePipe import SDU_DIR # dataPath = os.path.join(SDU_DIR, "service/params") # paramsData = pd.read_csv(os.path.join(dataPath,sid,node+".csv")) timer = eachdata["time"].values eachdata_cur = eachdata["i"].values eachdata_pow = eachdata["p"].values # params = paramsData[paramsData["node"] == node].values[0][1:] # time, operations, startime, endtime refrigRunStages = [] aircondRunStages = [] electroRunStages = [] heaterRunStages = [] statesaircond, statesrefrig, stateselectro, statesricecook, statesheater, timeaircond, timerefrig, timericecook, timeelectro, timeheater, statesaircond_off, statesrefrig_off, stateselectro_off, statesricecook_off, statesheater_off, timeaircond_off, timerefrig_off, timericecook_off, timeelectro_off, timeheater_off = piececlassfy( current=eachdata_cur, power=eachdata_pow, timer=timer, params=params) if len(statesaircond_off) > 0: aircondRunStages = aircondAnalysis(statesaircond=statesaircond, statesaircond_off=statesaircond_off, timeaircond=timeaircond, timeaircond_off=timeaircond_off, eachdata_pow=eachdata_pow, eachdata_cur=eachdata_cur, timer=timer) # if len(stateselectro) > 0: electroRunStages = electroAnalysis(stateselectro=stateselectro, stateselectro_off=stateselectro_off, timeelectro=timeelectro, timeelectro_off=timeelectro_off, eachdata_pow=eachdata_pow, eachdata_cur=eachdata_cur, timer=timer) if len(statesheater) > 0: heaterRunStages = heaterAnalysis(statesheater=statesheater, statesheater_off=statesheater_off, timeheater=timeheater, timeheater_off=timeheater_off, eachdata_pow=eachdata_pow, eachdata_cur=eachdata_cur, timer=timer) if len(statesrefrig) > 0: refrigRunStages = refrigAnalysis(statesrefrig=statesrefrig, statesrefrig_off=statesrefrig_off, timerefrig=timerefrig, timerefrig_off=timerefrig_off, eachdata_pow=eachdata_pow, eachdata_cur=eachdata_cur, timer=timer) return aircondRunStages, electroRunStages, heaterRunStages, refrigRunStages