def run(loc, topic, id):

    lis = []
    mess = {}
    mess['UserId'] = sys.argv[1]
    mess['AppName'] = sys.argv[2]
    mess['ServiceName'] = sys.argv[3]

    global count
    count = 0
    print(topic, id)
    for val in communication_module.Sersor_Stream(topic, id):
        if int(val['data']) + 100 > 200:  #For 5 value > 200 F
            count += 1
            # print(len(lis),val)
            if (count >= 5):
                curpath = str(os.path.dirname(os.path.realpath(__file__)))
                cmd = "python3 '" + curpath + "/dashboard.py' &"
                os.system(cmd)
                mess["ActionType"] = "Control"
                mess["Output"] = str('ON_FIRE_ALRAM_' + loc)
                #print("Sending",mess)
                communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                    mess)
        else:
            # count-=1
            if (count < 5):
                mess["ActionType"] = "Control"
                mess["Output"] = str('OFF_FIRE_ALRAM_' + loc)
                #print("Sending",mess)
                communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                    mess)
def run(topic, id, loc):
    # lis=[]

    # for val in communication_module.Sersor_Stream(topic,id):
    # 		lis.append(int(val['data']))
    lis = []
    mess = {}
    mess['UserID'] = sys.argv[1]
    mess['App_Name'] = sys.argv[2]
    mess['Action_type'] = sys.argv[3]
    mess['Output'] = None
    for val in communication_module.Sersor_Stream(topic, id):
        lis.append(int(val['data']))
        print(len(lis), val)
        if (len(lis) % 120 == 0):
            x = statistics.mean(lis)
            if x >= 35:
                mess['algorithm'] = str('algorithm1')
                mess['Action'] = str('OFF_AC_' + loc)
                #print("Sending",mess)
                communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                    mess)
            elif x < 35 and x >= 25:
                mess['algorithm'] = str('algorithm1')
                mess['Action'] = None
                #print("Sending",mess)
                communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                    mess)
            else:
                mess['algorithm'] = str('algorithm1')
                mess['Action'] = str('ON_AC_' + loc)
                #print("Sending",mess)
                communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                    mess)
def run(loc,topic,id):
	print("Water level Algo Started",topic,id)
	curpath=str(os.path.dirname(os.path.realpath(__file__)))
	cmd="python3 '"+curpath+"/dashboard.py' &"
	os.system(cmd)

	mess={}
	mess['UserId']=sys.argv[1]
	mess['AppName']=sys.argv[2]
	mess['ServiceName']=sys.argv[3]

	for val in communication_module.Sersor_Stream(topic,id):
		# print(int(val['data']))
		if(int(val['data'])==1):
			mess["ActionType"]="Notification"
			mess["Action"]=["email"]
			status = "Overflow "
			mess["Output"]=str("Water Level Status at "+loc+" is "+status+" kindly take neccessary action")

			print("Action Initiated : - ",mess)

			f=open(curpath+"/display.txt",'w')
			f.write(mess["Output"])
			f.close()
			
			communication_module.RuntimeServer_to_ActionServer_Producer_interface(mess)

		elif(int(val['data'])==0):
			mess["ActionType"]="Control"
			mess["Action"]=["email"]
			status = "Normal "
			mess["Output"]=str("Water Level Status at "+loc+" is "+status+" kindly take neccessary action")

			print("Action Initiated : - ",mess)
			f=open(curpath+"/display.txt",'w')
			f.write(mess["Output"])
			f.close()
			communication_module.RuntimeServer_to_ActionServer_Producer_interface(mess)

		elif(int(val['data'])==2):
			mess["ActionType"]="Notification"
			mess["Action"]=["email"]
			status = " Quite Low "
			mess["Output"]=str("Water Level Status at "+loc+" is "+status+" kindly take neccessary action")

			print("Action Initiated : - ",mess)
			f=open(curpath+"/display.txt",'w')
			f.write(mess["Output"])
			f.close()
			communication_module.RuntimeServer_to_ActionServer_Producer_interface(mess)
Example #4
0
def run(loc, topic, id):
    print("AC control Algorithm running")
    global display

    mess = {}
    mess['UserId'] = sys.argv[1]
    mess['AppName'] = sys.argv[2]
    mess['ServiceName'] = sys.argv[3]

    for val in communication_module.Sersor_Stream(topic, id):

        temp = int(val['data'])

        if temp <= 59 and temp >= 10:
            mess["ActionType"] = "Conrol"
            mess["Action"] = str('LOW_TEMP :' + (str(val['data'])))

        elif temp >= 60 and temp <= 100:
            mess["ActionType"] = "Conrol"
            mess["Action"] = str('NORMAL_TEMP :' + str(val['data']))

        elif temp >= 101 and temp <= 120:
            mess["ActionType"] = "Conrol"
            mess["Action"] = str('HIGH_TEMP :' + str(val['data']))

        display = mess["Action"]
        curpath = str(os.path.dirname(os.path.realpath(__file__)))
        file = open(curpath + "/display.txt", "w+")
        file.write(display)

        # print(mess["Action"])
        communication_module.RuntimeServer_to_ActionServer_Producer_interface(
            mess)
Example #5
0
def run(loc, topic, id):
    global display
    print("Toxic level detection algorithm is running")
    curpath = str(os.path.dirname(os.path.realpath(__file__)))
    cmd = "python3 '" + curpath + "/dashboard.py' &"
    os.system(cmd)

    mess = {}
    mess['UserId'] = sys.argv[1]
    mess['AppName'] = sys.argv[2]
    mess['ServiceName'] = sys.argv[3]
    curpath = str(os.path.dirname(os.path.realpath(__file__)))

    for val in communication_module.Sersor_Stream(topic, id):

        scale = int(val['data'])

        if scale >= 3 and scale <= 6:
            mess["ActionType"] = "Control"
            mess["Output"] = str("Toxic content in air is moderate at " +
                                 str(loc) + " and scale value is" + str(scale))
            f = open(curpath + "/display.txt", 'w')
            f.write(mess["Output"])
            f.close()

        elif scale >= 1 and scale <= 2:
            mess["ActionType"] = "Control"
            mess["Output"] = str("Toxic content in air is very low at " +
                                 str(loc) + " and scale value is" + str(scale))
            f = open(curpath + "/display.txt", 'w')
            f.write(mess["Output"])
            f.close()

        elif scale >= 7 and scale <= 8:
            mess["ActionType"] = "Notification"
            mess["Action"] = ["email"]
            mess["Output"] = str("Toxic content in air is high " + str(loc) +
                                 " and scale value is" + str(scale))
            f = open(curpath + "/display.txt", 'w')
            f.write(mess["Output"])
            f.close()

        elif scale >= 9:
            mess["ActionType"] = "Notification"
            mess["Action"] = ["email"]
            mess["Output"] = str("Toxic content in air is very high " +
                                 str(loc) + " and scale value is" + str(scale))
            f = open(curpath + "/display.txt", 'w')
            f.write(mess["Output"])
            f.close()

        # print(mess["Action"])
        communication_module.RuntimeServer_to_ActionServer_Producer_interface(
            mess)
Example #6
0
def run(loc, topic, id):
    print("Algo Started", topic, id)
    mess = {}
    mess['UserId'] = sys.argv[1]
    mess['AppName'] = sys.argv[2]
    mess['ServiceName'] = sys.argv[3]

    for val in communication_module.Sersor_Stream(topic, id):
        # print(int(val['data']))
        if (int(val['data']) == 1):
            mess["ActionType"] = "Notification"
            mess["Action"] = ["email", "notification"]
            mess["Output"] = str("Illegal Access Detection at " + loc)

            print("Action Initiated : - ", mess)
            communication_module.RuntimeServer_to_ActionServer_Producer_interface(
                mess)
Example #7
0
# topic="run"
# t1 = threading.Thread(target=consumer_t,args=(topic,))
# t1.start()
# producer = KafkaProducer(bootstrap_servers=['localhost:9092'],value_serializer=lambda x: dumps(x).encode('utf-8'))

x = {
    "UserID": "*****@*****.**",
    "AppName": "Tempreture",
    "ServiceName": "findtemp",
    "component": "server",
    "serverID": "ser_01",
    "Action": [{
        "type1": "email",
        "type2": "notification"
    }],
    "Output": "29 degree"
}
reply_to_monitor_by_server = {
    "component": "server",
    "serverID": "ser_01",
    "ram_usage_in_mb": "500",
    "up_time_in_sec": "600",
    "runtime": "runtime",
    "timestamp": "132434989",
    "ip_address": "localhost"
}

y = json.dumps(x)
communication_module.RuntimeServer_to_ActionServer_Producer_interface(y)
# producer.send("RuntimeServer_to_ActionServer_Producer_interface", value=y)
def create_schedule(msg):
    #msg ={"senid1:[120,200]","senid2:[150,250]","senid3:[180,200]"}
    message = msg
    if (isinstance(message, dict)):
        res = message
    else:
        res = ast.literal_eval(message)

    global class_details, map_subj_all, map_room_sub, map_sid_room, map_room_sid
    global capacity_room, map_sid_subj_prof, acadoffile_email, tststr
    lisoflis = []
    for i in res:
        # l1=[]
        l1 = res[i]
        l1.append(i)
        lisoflis.append(l1)

    ##lisoflis[[120,200,senid1],[150,250,senid2],[180,200,senid3]]

    # sortedlisoflis=Sort(lisoflis)
    sortedlisoflis = lisoflis
    sortedlisoflis.sort(key=lambda x: x[0])

    ###sortedlisoflis[[120,200,senid1],[150,250,senid2],[180,200,senid3]]

    ### lislis =[capacity,room] sorted list capacity_room

    subj_prof_newroom = []  #######to be printed
    # print("cap!!!!",capacity_room )

    flgset = []
    for i in sortedlisoflis:
        newlis = []

        sid = i[2]
        # print("\n\nerror!!!!!!",map_sid_subj_prof)
        # printfun(map_sid_subj_prof)
        prof = map_sid_subj_prof[sid][1]
        subj = map_sid_subj_prof[sid][0]

        curattend = i[0]
        newlis.append(subj)
        newlis.append(prof)

        for j in capacity_room:
            # print(j[0],":::::::::::",curattend)
            if (int(j[0]) >= int(curattend)) and j not in flgset:
                newlis.append(j[1])
                flgset.append(j)
                break

        subj_prof_newroom.append(newlis)

    # print("updated schedule",subj_prof_newroom)

    # tststr=""
    # print("@@@@@@@@@@@",subj_prof_newroom)
    tststr = "Subject  Old Room  New Room \n\n"
    for i in map_room_sub:
        val = ""
        for j in subj_prof_newroom:
            if j[0] == map_room_sub[i]:
                val = j[2]
                break
        tststr = tststr + str(
            map_room_sub[i]) + " " + str(i) + " : " + str(val) + "\n"

    print(tststr)
    #######subject old room and new room

    ########
    #output to file
    curpath = str(os.path.dirname(os.path.realpath(__file__)))
    f = open(curpath + '/printdata.html', 'w')
    tststr_html = "<pre>" + tststr + "</pre>"
    f.write(tststr_html)
    f.close()
    tempmap = {}
    for i in subj_prof_newroom:
        # tempmap[i[0]]=[i[1],i[2]]
        l1 = []
        nsid = map_room_sid[str(i[2])]
        tempmap[nsid] = [i[0], i[1]]

    map_sid_subj_prof.clear()

    map_sid_subj_prof = copy.deepcopy(tempmap)
    ##1 prf email->roomno
    ##2 acadoffile : (roomno->subj)for all

    lis1tosend = []
    lis2tosend = []
    # lis2tosend.append(acadoffile_email)

    # for i in newsid_subj_prof:
    # print("##############",map_sid_subj_prof)
    for i in map_sid_subj_prof:
        listemp = []
        listemp2 = []
        listemp.append(map_sid_subj_prof[i][1])
        listemp.append(map_sid_room[i])
        lis1tosend.append(listemp)

        listemp2.append(map_sid_room[i])
        listemp2.append(map_sid_subj_prof[i][0])
        lis2tosend.append(listemp2)

    # print("lis1!!!!!!!!",lis1tosend)
    # print("lis2!!!!!!!!",lis2tosend)
    mess1 = {}
    mess1['UserId'] = acadoffile_email
    mess1['AppName'] = sys.argv[2]
    mess1['ServiceName'] = sys.argv[3]
    mess1['Action'] = ['email']
    mess1['ActionType'] = "Notification"
    # mess1['Output']=lis2tosend
    msg1 = ""
    for i in lis2tosend:
        msg1 = msg1 + i[1] + " - " + i[0] + "\n"
    mess1['Output'] = msg1

    # print("mess1::::",mess1)

    communication_module.RuntimeServer_to_ActionServer_Producer_interface(
        mess1)

    # mess12={}
    for i in lis1tosend:
        email = i[0]
        roomno = i[1]
        mess1 = {}
        mess1['UserId'] = email
        mess1['AppName'] = sys.argv[2]
        mess1['ServiceName'] = sys.argv[3]
        mess1['ActionType'] = "Notification"
        mess1['Action'] = ['email']
        mess1['Output'] = "\n\nNew RoomNo for tomorrow is as follows :-" + str(
            roomno) + "\n"

        # print("mess1::::",mess1)
        communication_module.RuntimeServer_to_ActionServer_Producer_interface(
            mess1)