Habe das Problem nun doch selber lösen können. War letztlich weniger kompliziert als zuvor angenommen:
var i, result, j, json, s;
sendTo("imap.0", "getIMAPRequest", {
name: "xxxxxxx_gmx.de",
max: 20,
search: '["ALL", ["HEADER", "FROM", "no-reply@ecotrend.ista.com"]]',
fetch: JSON.parse('{"fetch": false, "seqno": [21954]}'),
bodie: '{bodies: "", markSeen: false}',
parse: true,
}, async function (result) {
if (!result) {
console.log("No result found!");
return;
}
for (var i_index in result) {
i = result[i_index];
s = getAttr(i, 'body.html');
//Auswertung starten
Heizung(s);
Warmwasser(s);
}
});
function Warmwasser(sValue) {
//hier nun die einzlnen Werte auslesen und dann in DP schreiben für VIS
const w = 'Warmwasser';
console.log(w);
console.log(Zeitraum(sValue,w));
console.log(Einheiten(sValue,w));
}
function Heizung(sValue) {
//hier nun die einzlnen Werte auslesen und dann in DP schreiben für VIS
const h = 'Heizung';
console.log(h);
console.log(Zeitraum(sValue,h));
console.log(Einheiten(sValue,h));
}
function Zeitraum(sValue,sType) {
var Wert1 = sValue.substr(sValue.indexOf(sType));
var Position = Wert1.indexOf("<strong>");
var Wert2 = Wert1.substr(Position+8,25);
return Wert1.substr(Position+8,Wert2.indexOf("<"));
}
function Einheiten(sValue,sType) {
var Wert1 = sValue.substr(sValue.indexOf(sType));
Wert1 = Wert1.substr(Wert1.indexOf("<strong>")+50,600);
var Wert2 = Wert1.substr(Wert1.indexOf("<strong>")+8);
Wert1 = Wert1.substr(Wert1.indexOf("<strong>")+8,Wert2.indexOf("&"));
return String(Wert1).replace('Einheiten','').replace(' m³','');
}
Ro75.