Nein.
Das Problem ist, dass Du darauf prüfst, dass die Minute der Stunde gleichzeitig größer als 44 und kleiner als 31 ist.

das ist nie der Fall. Korrekt geht es so:
Code: Alles auswählen
(now.getDayOfWeek < 6 && now.getMinuteOfDay > 44 + 4*60 && now.getMinuteOfDay < 31+5*60)
getMinuteOfDay liefert die Anzahl Minuten seit 0:00 Uhr des Tages.
Alternativ ginge auch soetwas:
Code: Alles auswählen
(now.getDayOfWeek < 6 && now.isAfter(now.withTime(4,45,0,0))&& now.isBefore(now.withTime(5,30,0,0)))
withTime() erwartet vier Integer Werte für Stunde, Minute, Sekunde und Millisekunde.
Eine weitere Variante wäre noch die Definition eines Zeitraums:
Code: Alles auswählen
if(now.getDayOfWeek < 6&& (new Interval(now.withTime(4,45,0,0), now.withTime(5,30,0,0)).contains(now)))
Allerdings scheint mir die erste Variante die "einfachste" zu sein, im Sinne der Verständlichkeit.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet