Zeitplanung und nautische Einzeltermine erweitern

This commit is contained in:
2026-09-28 14:09:31 +02:00
parent 7418941cd5
commit 236b8db0d5
8 changed files with 67 additions and 1584 deletions
File diff suppressed because it is too large Load Diff
+8 -2
View File
@@ -813,8 +813,10 @@ class SternwarteCard extends HTMLElement {
if (!state?.state || state.state === "unknown" || state.state === "unavailable") return null;
const value = this._parseEntityDate(state.state);
if (!value) return null;
const localHour = value.getHours() + value.getMinutes() / 60 + value.getSeconds() / 3600;
return (localHour - 12 + 24) % 24;
const windowEnd = new Date(windowStart);
windowEnd.setDate(windowEnd.getDate() + 1);
if (value < windowStart || value >= windowEnd) return null;
return (value.getTime() - windowStart.getTime()) / 3600000;
};
return {
@@ -1550,11 +1552,13 @@ class SternwarteCard extends HTMLElement {
<input id="open-schedule-input" type="datetime-local" value="${openInputValue}">
<button type="button" class="secondary" id="open-schedule-btn">\u00d6ffnen setzen</button>
<button type="button" class="secondary" id="open-schedule-clear-btn">\u00d6ffnen l\u00f6schen</button>
<button type="button" class="secondary" id="open-nautical-btn">Nautisch \u00f6ffnen</button>
</div>
<div class="schedule-grid">
<input id="close-schedule-input" type="datetime-local" value="${closeInputValue}">
<button type="button" class="secondary" id="close-schedule-btn">Schlie\u00dfen setzen</button>
<button type="button" class="secondary" id="close-schedule-clear-btn">Schlie\u00dfen l\u00f6schen</button>
<button type="button" class="secondary" id="close-nautical-btn">Nautisch schlie\u00dfen</button>
</div>
<div class="inline-actions">
<button type="button" class="secondary" id="nautical-btn">Nautisch setzen</button>
@@ -1586,6 +1590,8 @@ class SternwarteCard extends HTMLElement {
this._bindClick("power-on-btn", () => this._callEntity("switch", "turn_on", powerEntityId));
this._bindClick("power-off-btn", () => this._callEntity("switch", "turn_off", powerEntityId));
this._bindClick("nautical-btn", () => this._call("sternwarte", "set_nautical_schedule"));
this._bindClick("open-nautical-btn", () => this._call("sternwarte", "set_nautical_open_schedule"));
this._bindClick("close-nautical-btn", () => this._call("sternwarte", "set_nautical_close_schedule"));
this._bindClick("clear-schedule-btn", () => {
this._resetScheduleDrafts();
this._call("sternwarte", "clear_schedule");