def next_action(): hourly_start = request.args.get('hourly_start', None) hourly_end = request.args.get('hourly_end', None) realtime_start = request.args.get('realtime_start', None) realtime_end = request.args.get('realtime_end', None) body = digest(hourly_start, hourly_end, realtime_start, realtime_end) url_query = url_gnu_rl + '/mpc/' resp = query(url_query, url_gnu_rl, 'POST', body) accumulator = Accumulator(app.logger) mpc_dict = resp.json().copy() for k in list(mpc_dict.keys()): mpc_dict['mpc_' + k] = mpc_dict.pop(k) current_dict = body['current'].copy() current_dict['dt'] = parse_date(current_dict['dt'], toronto=True) n = current_dict['dt'] current_dict['dt'] = current_dict['dt'].astimezone(get_utc_tz()) current_dict['dt'] = current_dict['dt'].timestamp() current_dict['dt_utc'] = current_dict['dt'] del current_dict['dt'] for k in list(current_dict.keys()): current_dict[ 'current_' + k.replace(" ", "_").replace(".", "").lower()] = current_dict.pop(k) try: accumulator.add_temperature2(n, value_dict=current_dict) accumulator.add_temperature2(n, value_dict=mpc_dict) except ValueError as ex: app.logger.warn( "Accumulator - no value to add - content: {} --- {}".format( mpc_dict, ex)) app.logger.info("Next Action Result : {}".format(resp.json())) app.logger.info("NextAction_Setpoint:{}".format(resp.json()['sat_stpt'])) next_action_result = { "mpc": resp.json(), "heating_decision": heating_decision(resp.json()) } return next_action_result
def acc(j): accumulator = Accumulator(app.logger) n = utcnow() if j.get('temperature') is not None: j['temperature'] = float(j.get('temperature')) if j.get('humidity') is not None: j['humidity'] = float(j.get('humidity')) if j.get('stove_exhaust_temp') is not None: j['stove_exhaust_temp'] = float(j.get('stove_exhaust_temp')) try: accumulator.add_temperature2(n, value_dict=j) except ValueError as ex: app.logger.warn( "Accumulator - no value to add - content: {} --- {}".format( payload, ex)) return accumulator