Zeítdifferenz

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
kobelka
Beiträge: 6
Registriert: 19. Aug 2019 15:51
Answers: 0

Zeítdifferenz

Beitrag von kobelka »

Moin,
ich scheitere hier komplett an der Differenzberechnung von Zeiten...
Ich habe einen Timer bei meinem Rasenmäher, der in der Zukunft liegt.

Code: Alles auswählen

DateTime  mowerNextTimer       "Nächster Timer [%1$td/%1$tm %1$tH:%1$tM]" <clock>
Nun möchte ich wissen wie weit dieser vom aktuellen Zeitpunkt entfernt ist.

Code: Alles auswählen

rule "Timer setzen"
when
    Item mowerTimeragain received command
then
        if(now.minusMinutes(30).isBefore((mowerNextTimer.state as DateTimeType).calendar.timeInMillis)) {
            logInfo("Paulischaaf","*************** TEST TEST TEST TEST")
        }
end
Das diese Rule nicht das im Ergebnis macht was ich möchte ist klar, allerdings scheitere ich bereits hier an meinen Tests...

Hier hatte ich wohl etwas ganz altes gefunden:

openhab.log

Code: Alles auswählen

The method getCalendar() from the type DateTimeType is deprecated  
Jemand eine Idee oder ein aktuelleres Code Beispiel ?

8-)
Danke schon mal im vorraus!

Jörg

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Zeítdifferenz

Beitrag von udo1toni »

Jepp, getCalendar ist deprecated, was bedeutet, dass es in einer zukünftigen Version von openHAB nicht mehr verfügbar sein wird. Noch funktioniert das, irgendwann aber nicht mehr.

Hier https://community.openhab.org/t/datetim ... sion/54266 hat jemand das im englischen Forum mal komplett aufgedröselt.

die einfache Variante wäre

Code: Alles auswählen

val dMowerNextTime = new DateTime(mowerNextTimer.state.toString)
if(now.minusMinutes(30).isBefore(dMowerNextTime))
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

kobelka
Beiträge: 6
Registriert: 19. Aug 2019 15:51
Answers: 0

Re: Zeítdifferenz

Beitrag von kobelka »

Alles klar, Danke schon mal...
Da werde ich jetzt erst mal mit rumspielen :-)

Antworten