def _saveJob(piDeviceId): savedDataList = [] piDevice = eqDao.getPiDeviceById(piDeviceId) deviceId = piDevice.deviceID device = eqDao.getDeviceById(deviceId) jobName = device.deviceType if (jobName == 'DHT22'): data = DevicesView._getDHT22Data(piDeviceId) # data = { # 'temperature': 10, # 'humidity': 40 # } d1 = eqDao.saveDeviceData(piDeviceId, 'temperature', data['temperature']) d2 = eqDao.saveDeviceData(piDeviceId, 'humidity', data['humidity']) savedDataList.append(d1._convertToDict()) savedDataList.append(d2._convertToDict()) elif (jobName == 'BMP180'): data = DevicesView._getBMP180Data(piDeviceId) d1 = eqDao.saveDeviceData(piDeviceId, 'temperature', data['temperature']) d2 = eqDao.saveDeviceData(piDeviceId, 'pressure', data['pressure']) d3 = eqDao.saveDeviceData(piDeviceId, 'altitude', data['altitude']) savedDataList.append(d1._convertToDict()) savedDataList.append(d2._convertToDict()) savedDataList.append(d3._convertToDict()) elif (jobName == 'GY30'): data = DevicesView._getGY30Data(piDeviceId) d1 = eqDao.saveDeviceData(piDeviceId, 'lx', data['lx']) savedDataList.append(d1._convertToDict()) elif (jobName == 'RAINDROP'): data = DevicesView._getRainDropData(piDeviceId) lastDataList = eqDao.getDeviceDataByPiDeviceIdAndDeviceDataName( piDeviceId, 'rain') if (len(lastDataList) == 0): d1 = eqDao.saveDeviceData(piDeviceId, 'rain', data['rain']) savedDataList.append(d1._convertToDict()) else: lastData = lastDataList[len(lastDataList) - 1] lastDataObj = lastData._convertToDict() rainData = lastDataObj['deviceDataValue'] if (rainData != data['rain']): d1 = eqDao.saveDeviceData(piDeviceId, 'rain', data['rain']) savedDataList.append(d1._convertToDict()) elif (jobName == 'HRotation'): data = DevicesView._getRotationCountData(piDeviceId) d1 = eqDao.saveDeviceData(piDeviceId, 'rpm', data['rpm']) savedDataList.append(d1._convertToDict()) elif (jobName == 'HallV2'): data = DevicesView._getRotationCountDataV2(piDeviceId) d1 = eqDao.saveDeviceData(piDeviceId, 'rpm', data) savedDataList.append(d1._convertToDict()) return savedDataList
def getPiDeviceById(request, piDeviceId): piDevice = dao.getPiDeviceById(piDeviceId) return ResponseProcessor.processSuccessResponse(piDevice._convertToDict())