2021-01-10 11:10:47 +00:00

77 lines
3.1 KiB
JavaScript

const post = require('../lib/post')
const common = require('../lib/common')
let logger = require('perfect-logger')
module.exports = function (app) {
app.post("/water/switch", async function (req, res, next) {
logger.debug('POST - /water/switch - START')
if (req.body.switch === "1") {
logger.debug('POST - /water/switch - ON - START')
try {
await post.postRequest('{"zoneId":[1],"setPoint": 255,"durationMinutes": 90}', 'apply_timer')
const response = await post.postRequest('{}', 'poll')
const water = response.updateData.zones[1].status
const on = await common.heatingOn(water)
let waterStatus = {
"waterOn": JSON.stringify(on),
}
logger.debug('POST - /water/switch - ON - COMPLETE')
res.json(waterStatus)
} catch (error) {
logger.warn('POST - /water/switch - ON - FAILED')
}
} else if (req.body.switch === "0") {
try {
logger.debug('POST - /water/switch - OFF - START')
await post.postRequest('{"zoneId":[1]}', 'cancel_timer')
const response = await post.postRequest('{}', 'poll')
const water = response.updateData.zones[1].status
const on = await common.heatingOn(water)
let waterStatus = {
"waterOn": JSON.stringify(on),
}
logger.debug('POST - /water/switch - OFF - COMPLETE')
res.json(waterStatus)
} catch (error) {
const response = await post.postRequest('{}', 'poll')
const water = response.updateData.zones[1].status
const on = await common.heatingOn(water)
let waterStatus = {
"waterOn": JSON.stringify(on),
}
logger.warn('POST - /water/switch - OFF - FAILED')
res.json(waterStatus)
}
} else {
const response = await post.postRequest('{}', 'poll')
const water = response.updateData.zones[1].status
const on = await common.heatingOn(water)
let waterStatus = {
"waterOn": JSON.stringify(on),
}
logger.warn('POST - /water/switch - OFF - FAILED')
res.json(waterStatus)
}
});
app.post("/water/status", async function (req, res, next) {
logger.debug('POST - /water/status - START')
const response = await post.postRequest('{}', 'poll')
const water = response.updateData.zones[1].status
const on = await common.heatingOn(water)
let waterStatus = {
"waterOn": JSON.stringify(on),
"currentSetpoint": JSON.stringify(water.currentSetpoint),
"lastTimerSetPoint": JSON.stringify(water.lastTimerSetPoint),
"lastTimerDurationMinutes": JSON.stringify(water.lastTimerDurationMinutes)
}
logger.debug('POST - /water/status - END')
res.json(waterStatus)
});
}