UNPKG

stiebel

Version:

Control your Stiebel Eltron heatpump via ServiceWelt

23 lines (20 loc) 802 B
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; })