77 lines
3.1 KiB
JavaScript
Raw Permalink Normal View History

2020-05-08 21:16:25 +01:00
const post = require('../lib/post')
const common = require('../lib/common')
2020-05-09 22:49:01 +01:00
let logger = require('perfect-logger')
2020-05-08 21:16:25 +01:00
module.exports = function (app) {
2020-05-09 21:44:21 +01:00
app.post("/water/switch", async function (req, res, next) {
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/switch - START')
2021-01-10 11:10:47 +00:00
if (req.body.switch === "1") {
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/switch - ON - START')
2020-05-09 21:44:21 +01:00
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)
2020-05-08 21:16:25 +01:00
2020-05-09 21:44:21 +01:00
let waterStatus = {
"waterOn": JSON.stringify(on),
}
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/switch - ON - COMPLETE')
2020-05-09 21:44:21 +01:00
res.json(waterStatus)
} catch (error) {
2020-05-10 10:12:52 +01:00
logger.warn('POST - /water/switch - ON - FAILED')
2020-05-09 21:44:21 +01:00
}
2021-01-10 11:10:47 +00:00
} else if (req.body.switch === "0") {
2020-05-09 22:49:01 +01:00
try {
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/switch - OFF - START')
2020-05-09 22:49:01 +01:00
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)
2020-05-09 21:44:21 +01:00
2020-05-09 22:49:01 +01:00
let waterStatus = {
"waterOn": JSON.stringify(on),
}
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/switch - OFF - COMPLETE')
2020-05-09 22:49:01 +01:00
res.json(waterStatus)
} catch (error) {
2020-05-10 21:13:16 +01:00
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),
}
2020-05-10 10:12:52 +01:00
logger.warn('POST - /water/switch - OFF - FAILED')
2020-05-10 21:13:16 +01:00
res.json(waterStatus)
2020-05-09 21:44:21 +01:00
}
2020-05-08 21:16:25 +01:00
} else {
2020-05-10 21:13:16 +01:00
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)
2020-05-08 21:16:25 +01:00
}
});
2020-05-09 21:44:21 +01:00
app.post("/water/status", async function (req, res, next) {
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/status - START')
2020-05-09 21:44:21 +01:00
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)
}
2020-05-10 21:13:16 +01:00
logger.debug('POST - /water/status - END')
2020-05-09 21:44:21 +01:00
res.json(waterStatus)
});
2020-05-08 21:16:25 +01:00
}