Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 1.18 KB

history-save-csv.md

File metadata and controls

43 lines (33 loc) · 1.18 KB

Save history data as csv to files

Requirements

Script

// v0.1
const objId = 'yr.0.forecastHourly.0h.air_temperature';

const csvDateFormat = 'DD.MM.YYYY hh:mm:ss';
const fileName = `${objId}.csv`;

// Save every monday @ 00:00
schedule('0 0 * * 1', async () => {
    const end = new Date().getTime();
    const start = end - (60 * 60 * 24 * 7 * 1000); // last 7 days

    getHistory('history.0', {
        id: objId,
        start: start,
        end: end,
        aggregate: 'none',
        timeout: 2000
    }, (err, result) => {
        if (err) {
            console.error(`Unable to get history of ${objId}: ${err}`);
        } else if (result) {
            let csvData = ['timestamp;value'];

            for (var i = 0; i < result.length; i++) {
                csvData.push(`${formatDate(result[i].ts, csvDateFormat)};${result[i].val}`);
            }

            writeFile(null, fileName, csvData.join("\n"));
        }
    });
});

ioBroker Master Kurs