Coloschni
Vielen Dank für die Infos - ohne die hätte ich nie herausgefunden, was hier falsch läuft.
Das Problem ist, dass die epexBZN Variable falsch gesetzt ist. Der korrekte Code für Deutschland ist nicht DE, sondern DE-LU (weil Deutschland innerhalb der EPEX einen gemeinsamen Markt mit Luxemburg betreibt).
Der inkorrekte Code führt dazu, dass das Script keine Preisdaten herunterladen kann und daher überhaupt nicht funkioniert.
Natürlich wirft das die Frage auf, wer oder was jetzt deinen Shelly schaltet, denn das Script ist es offensichtlich nicht. Kommen die Grafiken aus dem Home Assistant und hast du dort vielleicht auch irgendeine Automation konfiguriert? Oder hast du vielleicht gleichzeitig noch eine zweite Version des Scriptes auf diesem Shelly laufen?
Ich werde mir überlegen, ob ich ein solches Setup-Problem irgendwie an den Benutzer kommunizieren kann. In den Versionen vor 3.0 trat dieses Problem übrigens nicht auf, weil ich da noch ein anderes API verwendet habe, für das der Wert DE richtig war.
Nebenbei:
In deinem derzeitigen Setup arbeitet das Script nur im Zeitraum von 0 bis 23 Uhr. Wenn du den ganzen Kalendertag abdecken willst, müsstet du die timeWindowEndHour Variable ebenfalls auf 0 setzen. Damit beginnt das Zeitfenster um 0:00 Uhr des aktuellen Tages und endet um 0:00 des Folgetages.
Zusammengefasst sollte das Script mit dem folgenden Setup tun, was du erwartest:
let epexBZN = "DE-LU"; // EPEX Bidding Zone - see documentation for valid codes
let timeWindowStartHour = 0; // minimum 0, maximum 23
let timeWindowEndHour = 0; // minimum 0, maximum 23
Lass mich bitte wissen, ob damit alles wunschgemäß läuft...