render energy savings table

This commit is contained in:
Eric Hulburd
2016-02-10 18:57:15 -06:00
parent 9996dfc54e
commit c75ae9030c
10 changed files with 28 additions and 25 deletions

View File

@@ -14,7 +14,9 @@ var EnergyDatum = DB.sequelize.define(NAME, {
primaryKey: true,
autoIncrement: true // Automatically gets converted to SERIAL for postgres
},
day: DB.Sequelize.DATEONLY,
day: {
type: DB.Sequelize.DATEONLY,
},
production: DB.Sequelize.FLOAT,
consumption: DB.Sequelize.FLOAT
}, {
@@ -22,9 +24,9 @@ var EnergyDatum = DB.sequelize.define(NAME, {
underscored: true,
tableName: "energy_data",
instanceMethods: {
exposeToApi: ()=>{
exposeToApi: function(){
var energy_datum = this,
values = this.dataValues;
values = energy_datum.dataValues;
values.energy_datum = energy_datum.day.getTime() / 1000;
return values;
}

View File

@@ -44,11 +44,10 @@ var House = DB.sequelize.define(NAME, {
power_data.forEach((power_datum)=>{
var day = house.timeToDateString(power_datum.time),
energy_datum = energy_data.get(day) || {production: 0, consumption: 0, day: day, house_id: house.id};
energy_datum.production += power_datum.production;
energy_datum.consumption += power_datum.consumption;
energy_datum.production += power_datum.production / 1000; // convert Wh to kWh
energy_datum.consumption += power_datum.consumption / 1000; // convert Wh to kWh
energy_data.set(day, energy_datum);
});
console.log(Array.from(energy_data.values()))
return DB.EnergyDatum.bulkCreate(Array.from(energy_data.values()), {validate: true});
});
}

View File

@@ -14,7 +14,9 @@ var PowerDatum = DB.sequelize.define(NAME, {
primaryKey: true,
autoIncrement: true // Automatically gets converted to SERIAL for postgres
},
time: DB.Sequelize.DATE,
time: {
type: DB.Sequelize.DATE,
},
consumption: DB.Sequelize.FLOAT,
production: DB.Sequelize.FLOAT
}, {