stiebel
Version:
Control your Stiebel Eltron heatpump via ServiceWelt
23 lines (20 loc) • 802 B
JavaScript
const runUsingCredentials = require('../run-using-credentials');
const { keyToMode } = require('../mode-map');
const { parse } = require('../temperature');
module.exports = (url, username, password) => runUsingCredentials(url, username, password, async (page) => {
await page.goto(url + '?s=1,0');
await page.waitForSelector('table.info');
const {keys, values} = await page.evaluate(() => ({
keys: Array.from(document.querySelectorAll('td.key')).map(n => n.innerText.trim()),
values: Array.from(document.querySelectorAll('td.value')).map(n => n.innerText.trim())
}));
const info = keys.reduce((info, key, i) => {
const [value, unit] = values[i].split(' ');
info[key] = {
unit: unit.trim(),
value: parse(value)
};
return info;
}, {});
return info;
})