Skip to content

Instantly share code, notes, and snippets.

@vowill
Created November 9, 2025 20:06
Show Gist options
  • Select an option

  • Save vowill/bb3155979d0237429a66afdfdc13e66c to your computer and use it in GitHub Desktop.

Select an option

Save vowill/bb3155979d0237429a66afdfdc13e66c to your computer and use it in GitHub Desktop.
var schedule1, Pos_um_0_Uhr, Pos_um_24_Uhr, Werte_pro_Stunde, Nummer_des_Datenwerts;
function textCount(haystack, needle) {
if (needle.length === 0) {
return haystack.length + 1;
} else {
return haystack.split(needle).length - 1;
}
}
function textReplace(haystack, needle, replacement) {
needle = needle.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, '\\$1')
.replace(/\x08/g, '\\x08');
return haystack.replace(new RegExp(needle, 'g'), replacement);
}
// Nov. 2025: Umbau auf 15-min-Takt
schedule1 = schedule('*/5 * * * *', async () => {
// anpassen auf das eigene Display:
// Offset = Pos. bei 0:00 Uhr = 115px von links;
// Pos. um 24 Uhr bei Offest+862px von links
Pos_um_0_Uhr = 115;
Pos_um_24_Uhr = 862;
// Formel: Pos. = (Pos_um_0_Uhr) + (x/1440)*(Pos_um_24_Uhr) mit Wert x = lfd. Minute des heutigen Tages
// der folgende Block aktiviert die Linie um 0 Uhr:
// setState('0_userdata.0.Stromversorgung.Tibber_Tageszeiger_ECharts' /* Tibber Tageszeiger ECharts */, Pos_um_0_Uhr, true);
// der folgende Block aktiviert die Linie um 24 Uhr:
// setState('0_userdata.0.Stromversorgung.Tibber_Tageszeiger_ECharts' /* Tibber Tageszeiger ECharts */, (Pos_um_0_Uhr + Pos_um_24_Uhr), true);
// der folgende Block berechnet tagesaktuell:
setState('0_userdata.0.Stromversorgung.Tibber_Tageszeiger_ECharts' /* Tibber Tageszeiger ECharts */, (Math.round(Pos_um_0_Uhr + (((new Date().getTime()) - /* start of day */ (() => { const d = new Date(); d.setHours(0, 0, 0, 0); return d.getTime(); })()) / 60000) * (Pos_um_24_Uhr / 1440))), true);
Werte_pro_Stunde = Math.round(textCount(getState('0_userdata.0.Stromversorgung.Tibber-Preise').val, 'val') / 2) / 24;
Nummer_des_Datenwerts = formatDate(new Date(), 'SS') * Werte_pro_Stunde + Math.floor(formatDate(new Date(), 'mm') / (60 / Werte_pro_Stunde));
setState('0_userdata.0.Stromversorgung.Tibber_Tageswerte_ECharts' /* Tibber Tageswerte ECharts */, ([formatDate(new Date(), 'hh:mm'),' Uhr: ',textReplace(('' + Math.round((getAttr((() => { try { return JSON.parse(getState('0_userdata.0.Stromversorgung.Tibber-Preise').val); } catch (e) { return {}; }})(), (String(('' + Nummer_des_Datenwerts)) + '.val')) * 100) * 10) / 10), '.', ','),' cent'].join('')), true);
console.info(getState('0_userdata.0.Stromversorgung.Tibber_Tageswerte_ECharts').val);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment