def power(self):
#json= jsonObj.json()
buildingName='someName'
now= datetime.datetime.now()
end= now.strftime('%Y-%m-%d %H:%M:%S')
start= (now - datetime.timedelta(minutes=30)).strftime('%Y-%m-%d %H:%M:%S')
jsonObj= self.solarEdgeClient("power", startTime= start, endTime= end)
values = jsonObj['power']['values']
tsData= []
for value in values:
ts= str(SolarEdge.timetoUTC(value['date']))
unit = str(jsonObj['power']['unit'])
point_id='{}.SolarEdge.Power'.format(buildingName)
if value['value'] == None:
pass
else:
quantity = float(value['value'])
tsData.append({'point_id':point_id,'ts':ts, 'quantity': quantity, 'unit': unit})
return tsData
Это функция, которую я вызываю для получения данных, список добавляется сюда. Это работает, когда я запускаю код в возвышенном виде. Однако, когда я использую cron, я получаю пустой список. Вот как я вызываю функцию:
def create_history(self, history):
#print(history)
client = Client(url=STAGNIG_URL)
return client.api_request('POST', DEVICE_HOSTORY_ENDPOINT, payload= history)
def semi_hourly(event= None, context= None):
history = SolarEdge.power()
time.sleep(15)
SolarEdge.create_history(history)
return print(history)
Это всего лишь фрагмент. Я знаю, что код работает, но при работе в Cron функция power () пропускается. То же самое для функции AWS lamda.
semi_hourly()