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) }); }