Exemplo n.º 1
0
def export_wattplug_time_series_data_spreadsheet(request):
    if request.method == 'POST':
        print 'inside export to spreadsheet for lighting with just status based on given from and to datetime'
        _data = request.body
        print _data
        _data = json.loads(_data)
        mac = _data['mac']
        from_date = _data['from_dt']
        to_date = _data['to_dt']
        print from_date

        device_id = get_device_id_from_mac(mac)

        if not from_date and not to_date:
            data_points, rs = retrieve_for_export(device_id, ['time', 'status', 'power'])
        elif not to_date and from_date:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, ['time', 'status', 'power'], from_date)
        else:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            to_date = datetime.datetime.strptime(to_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, ['time', 'status', 'power'], from_date, to_date)

        _data = list()
        for lst in rs:
            single_entry = {"1.time": lst[data_points.index('time')],
                   "2.status": lst[data_points.index('status')],
                   "3.power": lst[data_points.index('power')]}
            new_single = OrderedDict(sorted(single_entry.items(), key=lambda t:t[0]))
            _data.append(new_single)

        if request.is_ajax():
                return HttpResponse(json.dumps(_data), mimetype='application/json')
Exemplo n.º 2
0
def export_vav_time_series_data_spreadsheet(request):
    if request.method == 'POST':
        print 'inside export to spreadsheet for vav based on given from and to datetime'
        _data = request.body
        print _data
        _data = json.loads(_data)
        mac = _data['mac']
        from_date = _data['from_dt']
        to_date = _data['to_dt']
        print from_date

        device_id = get_device_id_from_mac(mac)

        if not from_date and not to_date:
            data_points, rs = retrieve_for_export(device_id, [
                'time', 'temperature', 'supply_temperature', 'heat_setpoint',
                'cool_setpoint', 'flap_position'
            ])
        elif not to_date and from_date:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, [
                'time', 'temperature', 'supply_temperature', 'heat_setpoint',
                'cool_setpoint', 'flap_position'
            ], from_date)
        else:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            to_date = datetime.datetime.strptime(to_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, [
                'time', 'temperature', 'supply_temperature', 'heat_setpoint',
                'cool_setpoint', 'flap_position'
            ], from_date, to_date)

        _data = list()
        for lst in rs:
            single_entry = {
                "1.time":
                lst[data_points.index('time')],
                "2.temperature":
                lst[data_points.index('temperature')],
                "3.supply_temperature":
                lst[data_points.index('supply_temperature')],
                "4.heat_setpoint":
                lst[data_points.index('heat_setpoint')],
                "5.cool_setpoint":
                lst[data_points.index('cool_setpoint')],
                "6.flap_position":
                lst[data_points.index('flap_position')]
            }
            new_single = OrderedDict(
                sorted(single_entry.items(), key=lambda t: t[0]))
            _data.append(new_single)

        if request.is_ajax():
            return HttpResponse(json.dumps(_data), mimetype='application/json')
Exemplo n.º 3
0
def export_rtu_time_series_data_spreadsheet(request):
    if request.method == 'POST':
        print 'inside export to spreadsheet for rtu based on given from and to datetime'
        _data = request.body
        print _data
        _data = json.loads(_data)
        mac = _data['mac']
        from_date = _data['from_dt']
        to_date = _data['to_dt']
        print from_date

        device_id = get_device_id_from_mac(mac)

        if not from_date and not to_date:
            data_points, rs = retrieve_for_export(device_id, ['time', 'outside_temperature', 'supply_temperature',
                                                              'return_temperature', 'heating', 'heat_setpoint',
                                                              'cool_setpoint', 'outside_damper_position',
                                                              'bypass_damper_position'])
        elif not to_date and from_date:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, ['time', 'outside_temperature', 'supply_temperature',
                                                              'return_temperature', 'heating', 'heat_setpoint',
                                                              'cool_setpoint', 'outside_damper_position',
                                                              'bypass_damper_position'], from_date)
        else:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            to_date = datetime.datetime.strptime(to_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id, ['time', 'outside_temperature', 'supply_temperature',
                                                              'return_temperature', 'heating', 'heat_setpoint',
                                                              'cool_setpoint', 'outside_damper_position',
                                                              'bypass_damper_position'], from_date, to_date)


        _data = list()
        for lst in rs:
            single_entry = {"1.time": lst[data_points.index('time')],
                  "2.outside_temperature": lst[data_points.index('outside_temperature')],
                  "3.supply_temperature": lst[data_points.index('supply_temperature')],
                  "4.return_temperature": lst[data_points.index('return_temperature')],
                  "5.heating": lst[data_points.index('heating')],
                  "6.heat_setpoint": lst[data_points.index('heat_setpoint')],
                  "7.cool_setpoint": lst[data_points.index('cool_setpoint')],
                  "8.outside_damper_position": lst[data_points.index('outside_damper_position')],
                  "9.bypass_damper_position": lst[data_points.index('bypass_damper_position')]}
            new_single = OrderedDict(sorted(single_entry.items(), key=lambda t:t[0]))
            _data.append(new_single)

        if request.is_ajax():
                return HttpResponse(json.dumps(_data), mimetype='application/json')
Exemplo n.º 4
0
def export_wattplug_time_series_data_spreadsheet(request):
    if request.method == 'POST':
        print 'inside export to spreadsheet for lighting with just status based on given from and to datetime'
        _data = request.body
        print _data
        _data = json.loads(_data)
        mac = _data['mac']
        from_date = _data['from_dt']
        to_date = _data['to_dt']
        print from_date

        device_id = get_device_id_from_mac(mac)

        if not from_date and not to_date:
            data_points, rs = retrieve_for_export(device_id,
                                                  ['time', 'status', 'power'])
        elif not to_date and from_date:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id,
                                                  ['time', 'status', 'power'],
                                                  from_date)
        else:
            from_date = datetime.datetime.strptime(from_date, '%Y/%m/%d %H:%M')
            to_date = datetime.datetime.strptime(to_date, '%Y/%m/%d %H:%M')
            data_points, rs = retrieve_for_export(device_id,
                                                  ['time', 'status', 'power'],
                                                  from_date, to_date)

        _data = list()
        for lst in rs:
            single_entry = {
                "1.time": lst[data_points.index('time')],
                "2.status": lst[data_points.index('status')],
                "3.power": lst[data_points.index('power')]
            }
            new_single = OrderedDict(
                sorted(single_entry.items(), key=lambda t: t[0]))
            _data.append(new_single)

        if request.is_ajax():
            return HttpResponse(json.dumps(_data), mimetype='application/json')