def test_pvs_energy_hourly(): from pvs.models import Energy pvs_list = Energy.get_distinct_serial() print('distinct pvs serial: %s' % pvs_list) #pvs_serial = '0000000097894c9b' pvs_serial = '00000000f6392e07' pvs_en_by_hour = Energy.get_energy_daily_output_by_hour(pvs_serial) #print(pvs_en_by_hour) #return result_list = [] for entry in pvs_en_by_hour[pvs_serial].values(): result_list.append(entry.values()) result_list.sort(key=lambda x: x[0]) print('== pvs energy today hourly result ==') for entry in result_list: print(entry) pvs_en_hourly = Energy.get_calculated_energy_hourly_output(pvs_serial) result_list = [] for entry in pvs_en_hourly[pvs_serial].values(): result_list.append(entry.values()) result_list.sort(key=lambda x: x[0]) print('== pvs calculated energy hourly result ==') for entry in result_list: print(entry)
def prepare_pvs_energy_hourly_output_data(self, pvs_serial): pvs_en_hourly_data = Energy.get_calculated_energy_hourly_output(pvs_serial)[pvs_serial] p_date_list = [p_date for p_date in pvs_en_hourly_data] p_date_list.sort() p_data = [] for p_date in p_date_list: p_data.append(pvs_en_hourly_data[p_date]) return p_data
def prepare_pvs_energy_yearly_output_data(self, pvs_serial): pvs_en_yearly_data = Energy.get_yearly_output(pvs_serial)[pvs_serial] logger.debug('pvs_en_yearly_data count %d' % len(pvs_en_yearly_data)) p_date_list = pvs_en_yearly_data.keys() p_date_list = sorted(p_date_list) logger.debug('p_date_list count %d' % len(p_date_list)) p_data = [] for p_en_date in p_date_list: p_data.append(pvs_en_yearly_data[p_en_date]) return UserPVStationView.turn_energy_into_kwh_unit(p_data)
def prepare_pvs_energy_hourly_output_data(self, pvs_serial): pvs_en_hourly_data = Energy.get_calculated_energy_hourly_output( pvs_serial)[pvs_serial] p_date_list = [p_date for p_date in pvs_en_hourly_data] p_date_list.sort() p_data = [] for p_date in p_date_list: p_data.append(pvs_en_hourly_data[p_date]) return UserPVStationView.turn_energy_into_kwh_unit(p_data)
def test_pvs_energy_daily(): from pvs.models import Energy #pvs_serial = '0000000097894c9b' pvs_serial = '00000000f6392e07' pvs_en_daily = Energy.get_energy_daily_output(pvs_serial) result_list = [] for entry in pvs_en_daily[pvs_serial].values(): result_list.append(entry.values()) result_list.sort(key=lambda x: x[0]) print('== pvs energy today daily result ==') for entry in result_list: print(entry)
def test_pvs_energy_montly(): from pvs.models import Energy pvs_serial = None pvs_en_list = Energy.get_monthly_output(pvs_serial) print('origin data: %s' % pvs_en_list) for pvs_serial in pvs_en_list: result_list = [] for entry in pvs_en_list[pvs_serial].values(): result_list.append(entry.values()) result_list.sort(key=lambda x: x[0]) print('== pvs %s energy monthly result ==' % pvs_serial) for entry in result_list: print(entry)
def get_context_data(self, **kwargs): context = TemplateView.get_context_data(self, **kwargs) pvs_serial = self.kwargs.get('pvs_serial') if pvs_serial in Energy.get_distinct_serial(): context['pvs_serial'] = self.kwargs.get('pvs_serial') pvs_en_daily = self.prepare_pvs_energy_daily_output_data(pvs_serial,self.ENERGY_DATA_TYPE_STACKED) context['pvs_data_en_daily'] = json.dumps(pvs_en_daily) pvs_en_hourly = self.prepare_pvs_energy_hourly_output_data(pvs_serial) context['pvs_data_en_hourly'] = json.dumps(pvs_en_hourly) context['pvs_address'] = u''.join(Report.get_address(pvs_serial)).encode('utf-8') context['copyright_year'] = date.today().year return context
def test_pvs_energy_daily(): from pvs.models import Energy DEFAULT_MONTH_SINCE = 18 date_since = (datetime.today() + timedelta(days=-DEFAULT_MONTH_SINCE * 30)).date() date_since = date(date_since.year, date_since.month, 1) print('date since %s' % date_since) pvs_en_daily = Energy.get_energy_daily_output(pvs_serial, date_since) result_list = [] for entry in pvs_en_daily[pvs_serial].values(): result_list.append(entry.values()) result_list.sort(key=lambda x: x[0]) print('== pvs energy today daily result ==') for entry in result_list: print(entry)
def prepare_pvs_energy_daily_output_data(self,pvs_serial,en_daily_data_type=ENERGY_DATA_TYPE_TOTAL): pvs_en_daily_data = Energy.get_energy_daily_output(pvs_serial)[pvs_serial] p_date_list = [entry for entry in pvs_en_daily_data] p_date_list.sort() p_data = [] if en_daily_data_type == self.ENERGY_DATA_TYPE_TOTAL: for p_en_date in p_date_list: entry_data = { 'date': p_en_date, 'energy': 0} for key in pvs_en_daily_data[p_en_date]: if key != 'date': entry_data['energy'] += pvs_en_daily_data[p_en_date][key] p_data.append(entry_data) elif en_daily_data_type == self.ENERGY_DATA_TYPE_STACKED: for p_en_date in p_date_list: p_data.append(pvs_en_daily_data[p_en_date]) return p_data