NEWS
falls Uhrzeit "jede Stunde / 03" - "jede Stunde / 28"
-
on({ id: 'heos.0.players.1362216423.current_artist' /* Current artist */, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; timeout2 = setTimeout(async () => { timeout2 = null; if (compareTime('*:03', '*:28', 'between') || compareTime('*:32', '*:58', 'between')) { if ((obj.state ? obj.state.val : "") == 'HITRADIO OHR') { setState('0_userdata.0.entertain.artist' /* artist */, 'Nachrichten', true); } } else { setState('0_userdata.0.entertain.artist' /* artist */, (obj.state ? obj.state.val : ""), true); } }, 29000);
Ich möchte mit dem Blockly checken ob die Uhrzeit zwischen jede stunde in der Minute 03 und Minute 28 ist. Das gleiche dann nochmal mit der Minute 32 und Minute 58 ist.
Ich habe dafür die vorhanden Zeit Blöcke genommen und in der Stunde ein * gesetzt.Mi dem gezeigtem Blockly bekomme ich zwar keinen fehler oder Error beim Start des Scripts, aber es funktioniert so nicht und bekomme folgenden Log eintrag:
javascript.0 2023-11-29 12:04:07.078 warn missing or unrecognized endTime expression: NaN
Wenn ich nun das Script stoppe kommen die Meldungen weiterhin. Erst durch ein Neustarts des Javascripts Instanz stoppen die Meldungen
-
@jensven und warum kein cron job dafür ?
-
@arteck
weil das ganze ja nur dann gemacht werden soll wenn sich der Datenpunkt "current artist" aktualisiert wird.
Wäre da ein cronjob zur angegeben Zeit nicht nen Overkill ? -
@jensven na das wast was anders.... du schreibst
Ich möchte mit dem Blockly checken ob die Uhrzeit zwischen jede stunde in der Minute 03 und Minute 28
wozu dann der 29sek timeout ??
was möchtest du genau machen ? wenn was passiert ?
-
@jensven
Wie wär's mit einer kleinen Hilfsfunktion in JS?const minutes = new Date().getMinutes(); return (minutes >= 3 && minutes <= 28 || minutes >= 32 && minutes <= 58);
(ungetestet)
-
@arteck said in falls Uhrzeit "jede Stunde / 03" - "jede Stunde / 28":
@jensven na das wast was anders.... du schreibst
Ich möchte mit dem Blockly checken ob die Uhrzeit zwischen jede stunde in der Minute 03 und Minute 28
wozu dann der 29sek timeout ??
was möchtest du genau machen ? wenn was passiert ?
Ich höre Internetradio. Hierbei hab ich nen delay von ca. 30 Sekunden.
Die Datenpunkte für aktuellen Artist, Songtitel, Cover werden aber ohne Delay aktualisiert.Ich habe mir eigene Datenpunkte erstellt für diese Datenpunkte die dann über dieses Script aktualisiert werden. Somit habe ich dann auch in meiner VIS den wechsel der Infos wenn auch die Musik sich ändert.
Nun möchte ich aber wenn Nachrichten kommen (in der Zeit zwischen **:58 - **:03 und **:28 - **:32) die Datenpunkte selbst füttern. -
@jensven sagte: Uhrzeit zwischen jede stunde in der Minute 03 und Minute 28 ist. Das gleiche dann nochmal mit der Minute 32 und Minute 58 ist.
Entspricht dem Vorschlag von @Codierknecht.