Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
 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
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
 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