Hallo zusammen,
ich lösche jeden Tag meine RandomTimer tagsüber per at:
define Zufall1SchlafLoeschen at *09:00:00 {\
fhem ("delete Zufall1SchlafTimer");;\
}
attr Zufall1SchlafLoeschen room Zufallslicht
Abends werden diese per at neu erstellt.
define Zufall1SchlafperTimer at *{sunset_abs(-3000,"16:41","21:30")} {\
Zufallslicht ("Zufall1Schlaf", "PollinZufall1Schlaf", "17:00:00", "23:59:59", "1800", "400/400", $we);;\
}
attr Zufall1SchlafperTimer group Aktivitaeten
attr Zufall1SchlafperTimer room Zufallslicht
Problem:
Das Löschen per at klappt nicht. Der Timer bleibt stehen. Im Log steht dann:
2014.09.30 15:00:00 3: delete Zufall1SchlafTimer : Please define Zufall1SchlafTimer first
2014.09.30 15:00:00 3: Zufall1SchlafLoeschen2: Please define Zufall1SchlafTimer first
Und das, obwohl der Timer noch als Objekt auftaucht.
Manuelles löschen über das WebIf per "delete Zufall1SchlafTimer" funktioniert problemlos.
Ich hatte einige Monate kein Update mehr gemacht, aber seit dem Einspielen der aktuellen Updates funktioniert das delete aber nicht mehr.
Ausführliche Erläuterungen - hängen nicht direkt mit dem Problem zusammen:
Der RandomTimer wird mittels der Funktion "Zufallslicht" erstellt.
Hierhin führe ich Zeit-Berechnungen durch, die in Abhängigkeit des Sunset usw. den frühesten Einschaltpunkt berechnen.
Außerdem habe ich realisiert, dass auch Abends - wenn man spontan das Haus verlässt - die RandomTimers sofort starten kann - in Abhängigkeit der Startzeit bis zum angegebenen Endzeitpunkt.
Als Ergebnis wird folgender Timer erstellt:
define Zufall1SchlafTimer RandomTimer 20:57:05 PollinZufall1Schlaf +03:02:54 1800
attr Zufall1SchlafTimer room Zufallslicht
attr Zufall1SchlafTimer stateFormat { ReadingsVal('PollinZufall1Schlaf', 'state', 'off') }
attr Zufall1SchlafTimer switchmode 400/400
Viele Grüße,
Heiko
Hallo,
es ist doch eindeutig - du versucht einen Timer zu löschen der nicht existiert.
Glaube mir, FHEM weiß schon wann es eine Meldung ausspucken muss und wann nicht - und auch was in der Meldung stehen muss ;)
Und wenn FHEM sagt das das Device nicht existiert das du löschen willst dann ist das auch so.
Das hervorheben von Wörtern in Notepad++ sollte dir dabei helfen können den "Fehler" zu finden.
Aber ich bin mal nicht so 8)
Du willst löschen:
Zitatdelete Zufall1SchlafTimer
Erzeugt wird aber:
Zitatdefine Zufall1SchlafperTimer
Fällt dir das
per vor Timer auf?
Wenn du schon soetwas programmierst dann sollte dir das auch auffallen - zumal dich FHEM ja auch drauf stösst.
Grüße
Hallo puschel,
danke für deine Antwort,
auch wenn ich manchmal eine solche Feinheiet durchaus schon übersehen habe, ist es diesmal leider nicht die Erklärung.
Ich hatte versucht, es verständlich zu erklären, aber das ganze ist kompliziert.
define Zufall1SchlafperTimer at
ruft lediglich die Funktion auf, die dann jeden Abend einen Randomtimer erzeugt.
Dies hatte ich auch ganz unten in meinem Post in der ausführlichen Erläuterung geschrieben.
Der RandomTimer wird dann in dieser Form erstellt:
define Zufall1SchlafTimer RandomTimer 20:57:05
Das Problem ist, dass das Löschen nur manchmal nicht klappt.
Heute morgen z.B. wurden alle RandomTimer gelöscht.
Ich habe den Eindruck, dass seit dem Einspielen aller Updates dieses Problem auftritt.
Am RandomTimer wurde ja auch etwas geändert.
Davor hat alles wunderbar funktioniert.
Viele Grüße,
Heiko