Beispiel #1
0
 def __init__(self):
     self.DBSession = createSession()
     self.AHDao = ActionHistoryDAO(self.DBSession)
     self.SHDao = StateHistoryDAO(self.DBSession)
     self.actionDao = ActionDAO(self.DBSession)
     self.objectDao = ObjectDAO(self.DBSession)
     self.areaDAO = AreaDAO(self.DBSession)
Beispiel #2
0
    def __init__(self):
        self.DBSession = createSession()
        self.objectDao = ObjectDAO(self.DBSession)
        # self.gpioPinDao = GPIOPinsDAO(self.DBSession)
        # self.agentDao = AgentDAO(self.DBSession)
        self.areaDAO = AreaDAO(self.DBSession)

        setup()
Beispiel #3
0
class TempManager(object):
    DBSession = None
    objectDao = None
    gpioPinDao = None
    agentDao = None
    objectIot = None
    agent = None
    area1 = None
    gpioPin = None

    def __init__(self):
        self.DBSession = createSession()
        self.objectDao = ObjectDAO(self.DBSession)
        # self.gpioPinDao = GPIOPinsDAO(self.DBSession)
        # self.agentDao = AgentDAO(self.DBSession)
        self.areaDAO = AreaDAO(self.DBSession)

        setup()

    def createObject(self):
        self.agent = Agent("192.168.1.109")
        self.agentDao.create(self.agent)
        self.objectIot = Object("Temperature Sensor", 23.25888, 12.567281, "Working", 20.25, "3cm")

        self.area1 = Area("Bedroom", 23.25, "room", 2)

        self.objectIot.addArea(self.area1)
        self.areaDAO.create(self.area1)

        self.objectDao.create(self.objectIot)


    def getTemp(self, id):
        res = run()

        objectNode = self.objectDao.find(id)

        results = self.normalize(objectNode, res)

        return results

    def closeSession(self):
        self.DBSession.close()

    def normalize(self, objectIot, temperature):
        result = Empty()
        result.objectName = objectIot.name
        result.temperature = temperature

        return result
Beispiel #4
0
class StatusManager(object):

    DBSession = None
    objectDao = None
    objectIot = None

    def __init__(self):
        self.DBSession = createSession()
        self.objectDao = ObjectDAO(self.DBSession)
        setup()

    def getStatus(self):

        objects = self.objectDao.findAll()

        results = self.normalize(objects)

        return results

    def closeSession(self):
        self.DBSession.close()

    def normalize(self, objects):

        resultList = []
        json_string = None

        for object in objects:
            result = Empty()
            result.objectName = object.name
            result.longitude = object.longitude
            result.latitude = object.latitude
            result.state = object.state
            result.weight = object.weight
            result.size = object.size
            resultList.append(result)
            json_string = json.dumps(
                [result.__dict__ for result in resultList])

        return json_string
Beispiel #5
0
class FanManager(object):

    DBSession = None
    AHDao = None
    SHDao = None
    actionDao = None
    objectDao = None
    areaDAO = None
    SH = None
    AH = None
    action1 = None
    action2 = None
    area1 = None
    objectIot = None

    def __init__(self):
        self.DBSession = createSession()
        self.AHDao = ActionHistoryDAO(self.DBSession)
        self.SHDao = StateHistoryDAO(self.DBSession)
        self.actionDao = ActionDAO(self.DBSession)
        self.objectDao = ObjectDAO(self.DBSession)
        self.areaDAO = AreaDAO(self.DBSession)
        setup()

    def createObject(self):
        self.objectIot = Object("Fan", 23.25298, 12.565981, "Off", 100.25,
                                "5cm")

        self.action1 = Action("Turning On",
                              "Changing the state of the Fan to On")
        self.action2 = Action("Turning Off",
                              "Changing the state of the Fan to Off")

        self.area1 = Area("Bedroom", 23.25, "room", 2)

        self.objectIot.addAction(self.action1)
        self.objectIot.addAction(self.action2)

        self.objectIot.addArea(self.area1)

        self.actionDao.create(self.action1)
        self.actionDao.create(self.action2)
        self.areaDAO.create(self.area1)
        self.objectDao.create(self.objectIot)

    def fanOn(self, id):

        changeOn()

        objectNode = self.objectDao.find(id)

        self.AH = ActionHistory(datetime.datetime.now())
        self.AH.addAction(objectNode.actions[0])
        self.SH = StateHistory(datetime.datetime.now(), "On")
        objectNode.addStateHistory(self.SH)
        objectNode.state = "On"

        self.SHDao.create(self.SH)
        self.AHDao.create(self.AH)
        self.objectDao.update(objectNode)

        results = self.normalize(self.AH, self.SH, objectNode)

        return results

    def fanOff(self, id):
        changeOff()

        objectNode = self.objectDao.find(id)

        self.AH = ActionHistory(datetime.datetime.now())
        self.AH.addAction(objectNode.actions[1])
        self.SH = StateHistory(datetime.datetime.now(), "Off")
        objectNode.addStateHistory(self.SH)
        objectNode.state = "Off"

        self.SHDao.create(self.SH)
        self.AHDao.create(self.AH)
        self.objectDao.update(objectNode)

        results = self.normalize(self.AH, self.SH, objectNode)

        return results

    def closeSession(self):
        self.DBSession.close()

    def normalize(self, AH, SH, objectIot):

        result = Empty()
        result.objectName = objectIot.name
        result.ActionName = AH.action.name
        result.ActionDescription = AH.action.description
        result.ActionDate = AH.date.strftime('%m/%d/%Y')
        result.stateDate = SH.date.strftime('%m/%d/%Y')
        result.stateChange = SH.state

        return result
Beispiel #6
0
class GasManager(object):
    DBSession = None
    AHDao = None
    SHDao = None
    actionDao = None
    objectDao = None
    SH = None
    AH = None
    action1 = None
    action2 = None
    area1 = None
    objectIot = None

    def __init__(self):
        self.DBSession = createSession()
        self.AHDao = ActionHistoryDAO(self.DBSession)
        self.SHDao = StateHistoryDAO(self.DBSession)
        self.actionDao = ActionDAO(self.DBSession)
        self.objectDao = ObjectDAO(self.DBSession)
        self.areaDAO = AreaDAO(self.DBSession)

    def createObject(self):
        # self.objectIot = Object("Lamp", 23.25298, 12.565981, "Off", 100.25, "5cm")
        # self.objectIot = Object("Fan", 23.25298, 12.565981, "Off", 100.25, "5cm")
        #
        # self.action1 = Action("Turning On", "Changing the state of the Fan to On")
        # self.action2 = Action("Turning Off", "Changing the state of the Fan to Off")
        #
        # self.objectIot.addAction(self.action1)
        # self.objectIot.addAction(self.action2)
        #
        # self.actionDao.create(self.action1)
        # self.actionDao.create(self.action2)
        # self.objectDao.create(self.objectIot)

        self.objectIot = Object("LED", 23.25298, 12.565981, "Off", 100.25,
                                "5cm")

        self.action1 = Action("Turning On",
                              "Changing the state of the LED to On")
        self.action2 = Action("Turning Off",
                              "Changing the state of the LED to Off")

        self.area1 = Area("Bedroom", 23.25, "room", 2)

        self.objectIot.addAction(self.action1)
        self.objectIot.addAction(self.action2)

        self.objectIot.addArea(self.area1)

        self.actionDao.create(self.action1)
        self.actionDao.create(self.action2)
        self.areaDAO.create(self.area1)
        self.objectDao.create(self.objectIot)

    def detection(self):
        GasDetection.setup()
        result = ""
        try:
            result = GasDetection.detect()
        except KeyboardInterrupt:
            GasDetection.destroy()
        return result

    def prevention(self):
        GasPrevention.setup()
        result = GasPrevention.prevention()

        name = ["LED", "Fan"]
        led = self.objectDao.findName(name[0])
        fan = self.objectDao.findName(name[1])

        self.SH = StateHistory(datetime.datetime.now(), "Off")
        led.addStateHistory(self.SH)
        led.state = "Off"

        self.SHDao.create(self.SH)
        self.objectDao.update(led)

        self.SH = StateHistory(datetime.datetime.now(), "On")
        fan.addStateHistory(self.SH)
        fan.state = "On"

        self.SHDao.create(self.SH)
        self.objectDao.update(fan)

        # results = self.normalize(self.AH,self.SH,objectNode)

        return result

    def closeSession(self):
        self.DBSession.close()

    def normalize(self, AH, SH, objectIot):

        result = Empty()
        result.objectName = objectIot.name
        result.ActionName = AH.action.name
        result.ActionDescription = AH.action.description
        result.ActionDate = AH.date.strftime('%m/%d/%Y')
        result.stateDate = SH.date.strftime('%m/%d/%Y')
        result.stateChange = SH.state

        return result
Beispiel #7
0
 def __init__(self):
     self.DBSession = createSession()
     self.objectDao = ObjectDAO(self.DBSession)
     setup()