Ich bin Anhänger der Sitemaps, m. E. die schlankeste und übersichtlichste Darstellung auf dem Handy.
Zwar gibt es für die Eingabe inzwischen Input Items, dies aber (immer noch) nicht für iOS.
Und ich sträube mich, jeweils Stunden und Minuten separat anzugeben.
Die folgende Lösung nimmt ein Number-Item. Dieses stellt die Minuten ab Mitternacht dar und lässt sich per Setpoint im Viertelstundentakt anapssen.
Zur Darstellung in der Sitemap wird ein Skript eingesetzt.
Anschließend wird daraus ein DateTime-Item gefüttert (mit aktellem Datum, aber das interessiert nicht, weil die Uhrzeit mittels timeOnly freigeschnitten wird).
.items
Code: Alles auswählen
Group giLightClock
Group gLightClock
Number iLightClock_1 (giLightClock)
Number iLightClock_2 (giLightClock)
Number iLightClock_3 (giLightClock)
...
DateTime LightClock_1 (gLightClock)
DateTime LightClock_2 (gLightClock)
DateTime LightClock_3 (gLightClock)
...
Code: Alles auswählen
(function(i) {
var hours = Math.floor(i / 60);
var minutes = i % 60;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
return hours + ":" + minutes;
})(input)
Code: Alles auswählen
Setpoint item=iLightClock_1 label="Außenleuchten an [JS(numberToClock.js):%s]" icon="clock_dark" minValue=0 maxValue=1425 step=15
Code: Alles auswählen
rule "Beleuchtung: Uhrzeit geändert"
when
Member of giLightClock changed
then
val i = triggeringItemName.split("_").get(1)
val minutes = (triggeringItem.state as DecimalType).intValue
val clock = new DateTimeType(ZonedDateTime.now().with(LocalTime.MIDNIGHT).plusMinutes(minutes))
gLightClock.members.filter[x|x.name.endsWith(i)].head.postUpdate(clock)
end
rule "Beleuchtung: Außenleuchten morgens an"
when
Time is LightClock_1 timeOnly
then
...
end
PS: Persistieren nicht vergessen.