Skip to content

Commit

Permalink
Pacific Power meter download fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
s-egge committed Feb 17, 2024
1 parent 41fc45c commit 885958b
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 38 deletions.
11 changes: 2 additions & 9 deletions backend/app/meter.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,8 @@ exports.upload = async (event, context) => {

if (meter_type === 'solar') {
query_string = `INSERT INTO Solar_Meters (\`time\`, \`time_seconds\`, \`energy_change\`, \`MeterID\`, \`MeterName\`) VALUES ('${meter_data.time}', '${meter_data.time_seconds}', '${meter_data.totalYieldYesterday}', '${meter_data.meterID}', '${meter_data.meterName}');`
}

else if (meter_type === 'pacific_power') {
if (meter_data.db_meter_id === null) {
query_string = `INSERT INTO pacific_power_data (\`time\`, \`time_seconds\`, \`accumulated_real\`, \`pacific_power_meter_id\`) VALUES ('${meter_data.time}', '${meter_data.time_seconds}', '${meter_data.usage_kwh}', '${meter_data.pp_meter_id}');`
}
else {
query_string = `INSERT INTO pacific_power_data (\`time\`, \`time_seconds\`, \`accumulated_real\`, \`meter_id\`, \`pacific_power_meter_id\`) VALUES ('${meter_data.time}', '${meter_data.time_seconds}', '${meter_data.usage_kwh}', '${meter_data.db_meter_id}', '${meter_data.pp_meter_id}');`
}
} else if (meter_type === 'pacific_power') {
query_string = `INSERT INTO pacific_power_data (\`time\`, \`time_seconds\`, \`accumulated_real\`, \`pacific_power_meter_id\`) VALUES ('${meter_data.time}', '${meter_data.time_seconds}', '${meter_data.usage_kwh}', '${meter_data.pp_meter_id}');`
}

try {
Expand Down
2 changes: 1 addition & 1 deletion backend/dependencies/nodejs/meter_classes.js
Original file line number Diff line number Diff line change
Expand Up @@ -164,5 +164,5 @@ module.exports = {
9990002: {
// Pacific Power Meters
4: 'accumulated_real'
},
}
}
34 changes: 10 additions & 24 deletions backend/dependencies/nodejs/models/meter.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,6 @@ class Meter {
}

async download(point, startTime, endTime, meterClass) {
console.log("\n\n***\nDownloading: \n")
console.log("\n\npoint: ", point)
console.log("\n\nstartTime: ", startTime)
console.log("\n\nendTime: ", endTime)
console.log("\n\nmeterClass: ", meterClass)

await DB.connect()
if (Object.values(meterClasses[meterClass]).includes(point)) {
// Generalized Meter Types
Expand All @@ -161,9 +155,7 @@ class Meter {
' WHERE time_seconds >= ? AND time_seconds <= ?',
[startTime, endTime]
)
}

else if (meter_table_name === 'Solar_Meters') {
} else if (meter_table_name === 'Solar_Meters') {
return DB.query(
'SELECT ' +
point +
Expand All @@ -178,21 +170,15 @@ class Meter {

// pacific power meters, may need to change to else-if if there are going to be more custom classes starting with 999
else {
console.log("\n\nPacific power meter: " + this.id + "\n\n")

try {
let [{ pacific_power_id: pp_id }] = await DB.query('SELECT pacific_power_id FROM meters WHERE id = ?', [this.id])
return DB.query(
'SELECT ' +
point +
", time_seconds AS time FROM pacific_power_data WHERE time_seconds >= ? AND time_seconds <= ? AND pacific_power_meter_id = ?",
[startTime, endTime, pp_id]
)

} catch (error) {
console.error("Error executing Pacific power meter query:", error);
throw error; // Rethrow the error to handle it at the higher level or log it appropriately.
}
let [{ pacific_power_id: pp_id }] = await DB.query('SELECT pacific_power_id FROM meters WHERE id = ?', [
this.id
])
return DB.query(
'SELECT ' +
point +
', time_seconds AS time FROM pacific_power_data WHERE time_seconds >= ? AND time_seconds <= ? AND pacific_power_meter_id = ?',
[startTime, endTime, pp_id]
)
}
}
// Aquisuites
Expand Down
18 changes: 14 additions & 4 deletions src/store/chart.module.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,20 @@ const actions = {
...store.getters.modifierData
}

const chartModifier = ChartModifiers(payload.graphType, reqPayload.point)
let point = reqPayload.point

const isPacificPowerMeter = this.getters[store.getters.meterGroupPath + '/meters'][0].classInt === 9990002

// PacificPower meters only collect data daily and need to use the same chart modifier as solar arrays
if (isPacificPowerMeter) {
point = 'energy_change'
}

const chartModifier = ChartModifiers(payload.graphType, point)
await chartModifier.preGetData(reqPayload, this, store)

let data = await this.dispatch(store.getters.meterGroupPath + '/getData', reqPayload)

console.log("Data is: ", data)

let colorPayload = store.getters.color

if (reqPayload.color) {
Expand All @@ -68,7 +75,10 @@ const actions = {

await chartModifier.postGetData(chartData, reqPayload, this, store)

console.log("Chart Data is: ", chartData)
// fix PacificPower meters chart being filled by the energy_change chart modifier
if (isPacificPowerMeter) {
chartData.fill = false
}

return chartData
},
Expand Down

0 comments on commit 885958b

Please sign in to comment.