udo1toni hat geschrieben:Was passiert aber, wenn man alle 2 Minuten einmal triggert?
udo1toni hat auch hier recht: ich habs gerade probiert, die sirene geht tatsächlich auch dann los wenn man immer 2minuten wartet, schade also aber dann funktioniert das ganze so leider doch nicht!
Schade, aber wir werden eine Lösung finden. Ich muss aber etwas drüber nachdenken.
~Geistesblitz~
Versuch bitte mal, ob ein timers.remove(0) (oder timers.remove(1)) funktioniert. Rein von der Logik sollte der älteste Timer immer der erste in der Liste sein, so dass der ablaufende Timer immer nur das erste Element löschen muss. Die Elemente sollten dann automatisch aufrücken. Ich bin mir nur nicht sicher, ob der Index hier 0-basiert ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
die liste gelöscht. dann kommt ne fehlermeldung wenn die drei timer im lambda am ende der laufzeit removed werden sollen weil die ja dann gar nicht mehr da sind.
da sollte dann also ins lambda noch so was in der art wie
rein um sicherstellen zu können ob der timer überhaupt existiert. leider weiß ich da nicht wie man abfragen kann ob timers(0) existiert bzw undefined ist
Ich bin mir allerdings nicht sicher, ob das so stimmt. Um sicherzugehen, dass das klappt, könntest Du den Code im Timer mit einem logInfo() Befehl ergänzen. Nun sollte bei jedem abgelaufenen Timer eine Meldung in openhab.log erscheinen.
Anschließend probierst Du aus, ob die Timer-Löschroutine von oben funktioniert. Ist das der Fall, schaust Du nach einer Minute nach, ob dennoch eine log-Meldung erscheint. Wenn nicht, hat alles funktioniert, wenn doch, müssen wir noch mal schauen...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Oh das ist keine gute Nachricht, wie hast du das denn getestet?
Habt ihr eine Idee wie ich das denn sonst realisieren kann, unter Berücksichtigung meiner begrenzten Programmierkenntnissen?
Edit:
Oh Sorry sehe gerade das ihr schon viel weiter seid, bin gerade in Spanien (Urlaub) und der refresh hat wohl nicht funktioniert.
Ich bin dann mal ruhig und staune
Zuletzt geändert von Boris099 am 21. Feb 2020 16:20, insgesamt 1-mal geändert.
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
Bitte nicht logError für normale Meldungen verwenden, das verstößt gegen die Regeln. Allgemein:
Ausgaben, die zur Fehlersuche wichtig sein können, werden mit logDebug() geloggt. Normale Informationen werden mit logInfo() geloggt. Wenn irgendwas schief geht, wird das mit logWarn() geloggt, und nur fatale Fehler werden mit logError() geloggt.
Ja, die Meldungen werden so schön farblich hervorgehoben... Nein, so ist das nicht gedacht. In frontail gibt es oben einen Filter, mit dem man gezielt auf Schlüsselworte eingrenzen kann.
Der Loglevel lässt sich für jeden Logger getrennt einstellen, man kann also gezielt die Meldungen nach Wichtigkeit komplett abschalten. Dafür gibt es die Loglevel.
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet