@@ -9082,24 +9082,31 @@ class FastSearchCard extends HTMLElement {
90829082 // NEU: Timer by ID laden
90839083 async getTimerById(timerId) {
90849084 try {
9085- // Korrekte WebSocket-Anfrage für Home Assistant Scheduler
9086- const schedules = await this._hass.callWS({
9087- type: 'call_service',
9088- domain: 'scheduler',
9089- service: 'list',
9090- service_data: {}
9085+ // Verwende die Timer aus der bereits geladenen Liste
9086+ if (this.lastLoadedTimers) {
9087+ const timer = this.lastLoadedTimers.find(t => t.schedule_id === timerId);
9088+ if (timer) {
9089+ console.log('✅ Timer aus Cache gefunden:', timer);
9090+ return timer;
9091+ }
9092+ }
9093+
9094+ // Fallback: Nochmal alle Timer laden
9095+ const allSchedules = await this._hass.callWS({
9096+ type: 'scheduler'
90919097 });
90929098
9093- // Alternative: Falls das nicht funktioniert, versuchen Sie:
9094- // const schedules = this._hass.states;
9095- // return Object.values(schedules).find(s => s.entity_id.includes(timerId));
9099+ return allSchedules.find(s => s.schedule_id === timerId);
90969100
9097- return schedules.find(s => s.schedule_id === timerId);
90989101 } catch (error) {
90999102 console.error('Fehler beim Laden des Timers:', error);
91009103
9101- // Fallback: Timer-Daten aus der aktuellen Liste holen
9102- return this.getCurrentTimerFromList(timerId);
9104+ // Minimal-Timer-Objekt für Edit-Zwecke
9105+ return {
9106+ schedule_id: timerId,
9107+ action: 'turn_off', // Default-Aktion
9108+ name: 'Timer'
9109+ };
91039110 }
91049111 }
91059112
@@ -9711,7 +9718,6 @@ class FastSearchCard extends HTMLElement {
97119718 console.log(`🔧 Timer bearbeiten: ${timerId}`);
97129719
97139720 try {
9714- // Timer-Daten laden (Sie müssen diese Funktion ggf. implementieren)
97159721 const timer = await this.getTimerById(timerId);
97169722 if (!timer) {
97179723 console.error('Timer nicht gefunden');
@@ -9725,16 +9731,22 @@ class FastSearchCard extends HTMLElement {
97259731 entityId: entityId
97269732 };
97279733
9728- // Container finden
9734+ // KORRIGIERT: Container als OBJEKT übergeben, nicht als entityId
97299735 const parentContainer = this.shadowRoot.querySelector(`#timer-section-${entityId}`);
97309736
9737+ // KORRIGIERT: Verwende ITEM-Objekt statt Container
9738+ const itemObj = {
9739+ id: entityId,
9740+ name: 'Timer Edit' // Dummy-Objekt für Time Picker
9741+ };
9742+
97319743 // Bestehenden Minimal Time Picker anzeigen
9732- this.showMinimalTimePicker(parentContainer , timer.action || 'turn_off', entityId , false);
9744+ this.showMinimalTimePicker(itemObj , timer.action || 'turn_off', parentContainer , false);
97339745
97349746 } catch (error) {
97359747 console.error('❌ Fehler beim Bearbeiten:', error);
97369748 }
9737- }
9749+ }
97389750
97399751 getNextExecution(timer) {
97409752 // Zuerst prüfen ob next_execution Attribut vorhanden ist
0 commit comments