Skip to content

Instantly share code, notes, and snippets.

@plopp
Created November 7, 2017 09:04
Show Gist options
  • Save plopp/f3d87af3a2f2fc1a6485f52decdba9a6 to your computer and use it in GitHub Desktop.
Save plopp/f3d87af3a2f2fc1a6485f52decdba9a6 to your computer and use it in GitHub Desktop.

Revisions

  1. plopp created this gist Nov 7, 2017.
    370 changes: 370 additions & 0 deletions _design-timelist-csv.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,370 @@
    function(head, req) {
    var tags = [
    'GVL.abbExportedReactive',
    'GVL.abbImportedReactive',
    'GVL.abbPhaseAngleTotal',
    'GVL.abbPowerFactorL1',
    'GVL.abbPowerFactorL2',
    'GVL.abbPowerFactorL3',
    'GVL.abbPowerFactorTotal',
    'GVL.avluftfasad281',
    'GVL.avluftteknikrum279',
    'GVL.bathroom_fl2_co2',
    'GVL.bathroom_fl2_rh',
    'GVL.bathroom_fl2_temp',
    'GVL.bathroom_fl2_voc',
    'GVL.bedroom1_fl2_co2',
    'GVL.bedroom1_fl2_rh',
    'GVL.bedroom1_fl2_temp',
    'GVL.bedroom1_fl2_voc',
    'GVL.bedroom2_fl2_co2',
    'GVL.bedroom2_fl2_rh',
    'GVL.bedroom2_fl2_temp',
    'GVL.bedroom2_fl2_voc',
    'GVL.bedroom3_fl2_co2',
    'GVL.bedroom3_fl2_rh',
    'GVL.bedroom3_fl2_temp',
    'GVL.bedroom3_fl2_voc',
    'GVL.circulation_pump_speed',
    'GVL.exhaust_air_rh',
    'GVL.exhaust_air_temp',
    'GVL.exhaust_fan_speed',
    'GVL.exhaust_voc',
    'GVL.extract_air_rh',
    'GVL.extract_air_temp',
    'GVL.extract_co2',
    'GVL.extract_voc',
    'GVL.flow37',
    'GVL.flow38',
    'GVL.flow39',
    'GVL.flow40',
    'GVL.franluft283',
    'GVL.hwc_fl1_co2',
    'GVL.hwc_fl1_rh',
    'GVL.hwc_fl1_temp',
    'GVL.hwc_fl1_voc',
    'GVL.k1',
    'GVL.k2',
    'GVL.k3',
    'GVL.k4',
    'GVL.living_room_fl1_co2',
    'GVL.living_room_fl1_rh',
    'GVL.living_room_fl1_temp',
    'GVL.living_room_fl1_voc',
    'GVL.living_room_fl2_co2',
    'GVL.living_room_fl2_rh',
    'GVL.living_room_fl2_temp',
    'GVL.living_room_fl2_voc',
    'GVL.outdoor_air_rh',
    'GVL.outdoor_air_temp',
    'GVL.outdoor_co2',
    'GVL.outdoor_voc',
    'GVL.p1_energy',
    'GVL.p1_power',
    'GVL.p20_energy',
    'GVL.p20_power',
    'GVL.p21_energy',
    'GVL.p21_power',
    'GVL.p22_energy',
    'GVL.p22_power',
    'GVL.p23_energy',
    'GVL.p23_power',
    'GVL.p24_energy',
    'GVL.p24_power',
    'GVL.p25_energy',
    'GVL.p25_power',
    'GVL.p26_energy',
    'GVL.p26_power',
    'GVL.p27_energy',
    'GVL.p27_power',
    'GVL.p28_energy',
    'GVL.p28_power',
    'GVL.p29_energy',
    'GVL.p29_power',
    'GVL.p2_energy',
    'GVL.p2_power',
    'GVL.p30_energy',
    'GVL.p30_power',
    'GVL.p31_energy',
    'GVL.p31_power',
    'GVL.p32_energy',
    'GVL.p32_power',
    'GVL.p33_energy',
    'GVL.p33_power',
    'GVL.p34_energy',
    'GVL.p34_power',
    'GVL.p35_energy',
    'GVL.p35_power',
    'GVL.p36_energy',
    'GVL.p36_power',
    'GVL.p37_energy',
    'GVL.p37_power',
    'GVL.p38_energy',
    'GVL.p38_power',
    'GVL.p39_energy',
    'GVL.p39_power',
    'GVL.p3_energy',
    'GVL.p3_power',
    'GVL.p40_energy',
    'GVL.p40_power',
    'GVL.p41_energy',
    'GVL.p41_power',
    'GVL.p42_energy',
    'GVL.p42_power',
    'GVL.p43_energy',
    'GVL.p43_power',
    'GVL.p44_energy',
    'GVL.p44_power',
    'GVL.p45_energy',
    'GVL.p45_power',
    'GVL.p46_energy',
    'GVL.p46_power',
    'GVL.p47_energy',
    'GVL.p47_power',
    'GVL.p48_energy',
    'GVL.p48_power',
    'GVL.p49_energy',
    'GVL.p49_power',
    'GVL.p4_energy',
    'GVL.p4_power',
    'GVL.p50_energy',
    'GVL.p50_power',
    'GVL.p51_energy',
    'GVL.p51_power',
    'GVL.p52_energy',
    'GVL.p52_power',
    'GVL.p53_energy',
    'GVL.p53_power',
    'GVL.p54_energy',
    'GVL.p54_power',
    'GVL.p55_energy',
    'GVL.p55_power',
    'GVL.p56_energy',
    'GVL.p56_power',
    'GVL.p57_energy',
    'GVL.p57_power',
    'GVL.p58_energy',
    'GVL.p58_power',
    'GVL.p5_energy',
    'GVL.p5_power',
    'GVL.p6_energy',
    'GVL.p6_power',
    'GVL.p70_energy_exp',
    'GVL.p70_energy_imp',
    'GVL.p70_power_exp',
    'GVL.p70_power_imp',
    'GVL.p7_energy',
    'GVL.p7_power',
    'GVL.p8_energy',
    'GVL.p8_power',
    'GVL.p9_energy',
    'GVL.p9_power',
    'GVL.pentry_co2',
    'GVL.pentry_rh',
    'GVL.pentry_temp',
    'GVL.pentry_voc',
    'GVL.pid_exhaust_output',
    'GVL.pid_supply_output',
    'GVL.press37',
    'GVL.press38',
    'GVL.press39',
    'GVL.press40',
    'GVL.pvEnergy',
    'GVL.pvPower',
    'GVL.r20',
    'GVL.r21',
    'GVL.r22',
    'GVL.r23',
    'GVL.r24',
    'GVL.r25',
    'GVL.r26',
    'GVL.r27',
    'GVL.r28',
    'GVL.r29',
    'GVL.r30',
    'GVL.r31',
    'GVL.r32',
    'GVL.r33',
    'GVL.r34',
    'GVL.r35',
    'GVL.r36',
    'GVL.r37',
    'GVL.r38',
    'GVL.r39',
    'GVL.r40',
    'GVL.r41',
    'GVL.r42',
    'GVL.r43',
    'GVL.r44',
    'GVL.r45',
    'GVL.r46',
    'GVL.r47',
    'GVL.r48',
    'GVL.r49',
    'GVL.r50',
    'GVL.r51',
    'GVL.r52',
    'GVL.sum_air_exhaust_flow',
    'GVL.sum_air_supply_flow',
    'GVL.supply_air_rh',
    'GVL.supply_air_temp',
    'GVL.supply_fan_speed',
    'GVL.supply_voc',
    'GVL.tKbRetPt100',
    'GVL.tKbTillPt100',
    'GVL.tKvVvProd',
    'GVL.tVv',
    'GVL.tapp20_flow',
    'GVL.tapp20_vol',
    'GVL.tapp21_flow',
    'GVL.tapp21_vol',
    'GVL.tapp22_flow',
    'GVL.tapp22_vol',
    'GVL.tapp23_flow',
    'GVL.tapp23_vol',
    'GVL.tapp24_flow',
    'GVL.tapp24_vol',
    'GVL.tapp25_flow',
    'GVL.tapp25_vol',
    'GVL.tapp26_flow',
    'GVL.tapp26_vol',
    'GVL.tapp27_flow',
    'GVL.tapp27_vol',
    'GVL.tapp28_flow',
    'GVL.tapp28_vol',
    'GVL.tapp29_flow',
    'GVL.tapp29_vol',
    'GVL.tapp30_flow',
    'GVL.tapp30_vol',
    'GVL.tapp31_flow',
    'GVL.tapp31_vol',
    'GVL.tapp32_flow',
    'GVL.tapp32_vol',
    'GVL.tilluft282',
    'GVL.totalEnergyExpFromAbbMeter',
    'GVL.totalEnergyFromAbbMeter',
    'GVL.totalEnergyFromPulseMeters',
    'GVL.totalPowerAbbL1',
    'GVL.totalPowerAbbL2',
    'GVL.totalPowerAbbL3',
    'GVL.totalPowerFromAbbMeter',
    'GVL.totalPowerFromPulseMeters',
    'GVL.totalPowerNotMeasured',
    'GVL.totalReactivePower',
    'GVL.totalReactivePowerAbbL1',
    'GVL.totalReactivePowerAbbL2',
    'GVL.totalReactivePowerAbbL3',
    'GVL.uteluft280',
    'GVL.vav_eh1_flow',
    'GVL.vav_eh1_pos',
    'GVL.vav_eh2_flow',
    'GVL.vav_eh2_pos',
    'GVL.vav_eh3_flow',
    'GVL.vav_eh3_pos',
    'GVL.vav_su1_flow',
    'GVL.vav_su1_pos',
    'GVL.vav_su2_flow',
    'GVL.vav_su2_pos',
    'GVL.vav_su3_flow',
    'GVL.vav_su3_pos',
    'GVL.vav_su4_flow',
    'GVL.vav_su4_pos',
    'GVL.vav_su5_flow',
    'GVL.vav_su5_pos',
    'GVL.vmkv_flow',
    'GVL.vmkv_vol',
    'GVL.vmmGolvUterum_energy',
    'GVL.vmmGolvUterum_flow',
    'GVL.vmmGolvUterum_fwdtemp',
    'GVL.vmmGolvUterum_power',
    'GVL.vmmGolvUterum_rettemp',
    'GVL.vmmGolvUterum_vol',
    'GVL.vmmGolvVindfang_energy',
    'GVL.vmmGolvVindfang_flow',
    'GVL.vmmGolvVindfang_fwdtemp',
    'GVL.vmmGolvVindfang_power',
    'GVL.vmmGolvVindfang_rettemp',
    'GVL.vmmGolvVindfang_vol',
    'GVL.vmmKylbatt_energy',
    'GVL.vmmKylbatt_flow',
    'GVL.vmmKylbatt_fwdtemp',
    'GVL.vmmKylbatt_power',
    'GVL.vmmKylbatt_rettemp',
    'GVL.vmmKylbatt_vol',
    'GVL.vmmgolvpl1_energy',
    'GVL.vmmgolvpl1_flow',
    'GVL.vmmgolvpl1_fwdtemp',
    'GVL.vmmgolvpl1_power',
    'GVL.vmmgolvpl1_rettemp',
    'GVL.vmmgolvpl1_vol',
    'GVL.vmmgolvpl2_energy',
    'GVL.vmmgolvpl2_flow',
    'GVL.vmmgolvpl2_fwdtemp',
    'GVL.vmmgolvpl2_power',
    'GVL.vmmgolvpl2_rettemp',
    'GVL.vmmgolvpl2_vol',
    'GVL.vmmkb_difftemp',
    'GVL.vmmkb_energy',
    'GVL.vmmkb_flow',
    'GVL.vmmkb_fwdtemp',
    'GVL.vmmkb_power',
    'GVL.vmmkb_rettemp',
    'GVL.vmmkb_vol',
    'GVL.vmmradpl1_energy',
    'GVL.vmmradpl1_flow',
    'GVL.vmmradpl1_fwdtemp',
    'GVL.vmmradpl1_power',
    'GVL.vmmradpl1_rettemp',
    'GVL.vmmradpl1_vol',
    'GVL.vmmradpl2_energy',
    'GVL.vmmradpl2_flow',
    'GVL.vmmradpl2_fwdtemp',
    'GVL.vmmradpl2_power',
    'GVL.vmmradpl2_rettemp',
    'GVL.vmmradpl2_vol',
    'GVL.vmmvent_energy',
    'GVL.vmmvent_flow',
    'GVL.vmmvent_fwdtemp',
    'GVL.vmmvent_power',
    'GVL.vmmvent_rettemp',
    'GVL.vmmvent_vol',
    'GVL.vmmvs_energy',
    'GVL.vmmvs_flow',
    'GVL.vmmvs_fwdtemp',
    'GVL.vmmvs_power',
    'GVL.vmmvs_rettemp',
    'GVL.vmmvs_vol',
    'GVL.vmmvsvp_energy',
    'GVL.vmmvsvp_flow',
    'GVL.vmmvsvp_fwdtemp',
    'GVL.vmmvsvp_power',
    'GVL.vmmvsvp_rettemp',
    'GVL.vmmvsvp_vol'];

    start({
    'headers': {
    'Content-Type': 'text/csv',
    'Content-disposition': 'attachment;filename=data.csv'
    }
    });
    var first = true;
    while (row = getRow()) {
    if (first) {
    send('timestamp;');
    send(tags.join(';'));
    send('\\n');
    first = false;
    }
    var datestr = new Date(row.value['timestamp']).toISOString();
    send(datestr + ';');
    var vals = tags.map(function (a) {
    if (row.value.hasOwnProperty(a)) {
    return row.value[a].toString().replace('.', ',');
    }
    else {
    return '';
    }
    }).join(';') + '\\n';
    send(vals);
    }
    }