Hallo alle miteinander,
Ich bin zwar schon langer Oh User, aber eher "Anfänger" . Habe jetzt nach langem gezwungenermaßen von 2.4 auf 4.1 gewechselt, und das kompletten Neuaufbau betrachtet - und in dem Zuge einige Sahcne optimiert. Eines was ich möchte, ist in der GUI die Möglichkeit zu haben, eine Uhruezit für die "Weckerrule" am nächsten Tag zu setzen, da die Aufstehzeiten jetzt mit Homoffice ja doch ziemlich variieren. Da stoße ich aber an mein Limit, und trotz googlen, Videos etc. bekomme ich es einfach nicht hin.
Habe es mit dem "time picker" Plugin aus der Openhab Community veruscht, da bekomme ich aber keine Werte rein. Dann ahbe ich ein anderes Widget - damit bekomme ich zwar die Möglichkeit, eine Uhrzeit einzustellen, ich weiß aber nicht wo der die hinspeichert.
Also ganz offen, ich bin ratlos. Habe aich schon in verschiedenen anderen Plattformen versucht Hilfe zu finden, aber irgendwie scheint das nicht so trivial zu sein.
Also, ich nehme gerne jeden Support und Hinweis!
Danke, lg
Uhrzeit für Regeln einstellen
- udo1toni
- Beiträge: 14604
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Uhrzeit für Regeln einstellen
Herzlich willkommen im openHAB-Forum!
Was meinst Du mit Time Picker? Es gäbe für die komfortable Eingabe von Datum und Zeit das DateTime Standalone Widget (direkt im Store verfügbar). Du suchst dieses Widget über den Store und fügst es über Add (bzw. Install) hinzu.
Weiterhin brauchst Du ein DateTime Item, welches Du über dieses Widget steuerst.
Das Widget steht in der Liste der Cells zur Verfügung, das heißt, Du wählst in Deiner Main UI Page, in der Du das Widget einfügen willst "Add Cell" aus und bekommst bei einem Klick auf die leere Cell das Widget unter Personal Widgets in der Liste angeboten.
Das Widget kennt nur Zwei Parameter, das Label und das Item. Sieht als Code so aus:
Eine Rule, die auf dieses Item triggern soll, ist natürlich auch noch vonnöten:
Die Rule kannst Du genauso auch über die UI erstellen, ob als Code oder mit Blockly, ganz nach Belieben.
Das Schlüsselwort timeOnly sorgt wahlweise dafür, dass die Rule das Datum (welches immer im Item Status mitgeliefert wird) nicht berücksichtigt.
In dem Moment, in dem die eingestellte Zeit erreicht wird, wird die Rule ausgeführt.
Vielleicht gibt es auch noch ein anderes Widget, welches aber nicht über den Marketplace zur Verfügung steht, da bräuchte ic hdann einen Link, wo dieses herunterzuladen ist
Was meinst Du mit Time Picker? Es gäbe für die komfortable Eingabe von Datum und Zeit das DateTime Standalone Widget (direkt im Store verfügbar). Du suchst dieses Widget über den Store und fügst es über Add (bzw. Install) hinzu.
Weiterhin brauchst Du ein DateTime Item, welches Du über dieses Widget steuerst.
Das Widget steht in der Liste der Cells zur Verfügung, das heißt, Du wählst in Deiner Main UI Page, in der Du das Widget einfügen willst "Add Cell" aus und bekommst bei einem Klick auf die leere Cell das Widget unter Personal Widgets in der Liste angeboten.
Das Widget kennt nur Zwei Parameter, das Label und das Item. Sieht als Code so aus:
Code: Alles auswählen
config:
label: Overview
blocks:
- component: oh-block
config: {}
slots:
default:
- component: oh-grid-cells
config: {}
slots:
default:
- component: widget:rlk_datetime_standalone
config:
item: myDate
label: Weckzeit
Code: Alles auswählen
rule "Mein Wecker"
when
Time is MeinItem //timeOnly
then
Alarm.sendCommand(ON)
end
Das Schlüsselwort timeOnly sorgt wahlweise dafür, dass die Rule das Datum (welches immer im Item Status mitgeliefert wird) nicht berücksichtigt.
In dem Moment, in dem die eingestellte Zeit erreicht wird, wird die Rule ausgeführt.
Vielleicht gibt es auch noch ein anderes Widget, welches aber nicht über den Marketplace zur Verfügung steht, da bräuchte ic hdann einen Link, wo dieses herunterzuladen ist
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet
-
- Beiträge: 397
- Registriert: 30. Apr 2021 13:13
Re: Uhrzeit für Regeln einstellen
Moin,
der "Trick" beim time picker ist, dass das verknüpfte Item vom Typ DateTime nicht leer sein darf. Sobald Du einen Wert rein schreibst erweckt Du es zum Leben. Das geht sehr schnell über Scenes (Wert 10000) senden und ohne die Scene zu speichern wieder raus.
Um dieses Item als Auslöser für die Rule zu nutzen gibt es den timer.DateTimeTrigger (in der UI Add_Trigger/Show_all anklicken)
der "Trick" beim time picker ist, dass das verknüpfte Item vom Typ DateTime nicht leer sein darf. Sobald Du einen Wert rein schreibst erweckt Du es zum Leben. Das geht sehr schnell über Scenes (Wert 10000) senden und ohne die Scene zu speichern wieder raus.
Um dieses Item als Auslöser für die Rule zu nutzen gibt es den timer.DateTimeTrigger (in der UI Add_Trigger/Show_all anklicken)
- peter-pan
- Beiträge: 2611
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Uhrzeit für Regeln einstellen
...ich mach's wie Udo, benutze aber die Standard-Wigets.
a) oh-input-card Yaml-Code:
b) oh-input-item (innerhalb einer oh-list-card)
Yaml-Code
DateTime-Item:
Regel:
Das Datum kann hier bei der Eingabe vernachlässigt werden, da der Trigger nur auf die Zeit reagiert.
a) oh-input-card Yaml-Code:
Code: Alles auswählen
component: oh-input-card
config:
clearButton: true
inputmode: text
item: testTime1
name: Eingabe
sendButton: true
showTime: true
title: Zeiteingabe für den Wecker
type: datetime-local
useDisplayState: false
validate: true
validate-on-blur: true
Code: Alles auswählen
component: oh-input-item
config:
after: =items.testTime1.displayState
clearButton: true
icon: f7:alarm
iconColor: blue
inputmode: numeric
item: testTime1
name: Eingabe
outline: false
placeholder: =items.testTime1.displayState
required: true
sendButton: true
showTime: true
title: Zeiteingabe für Trigger
type: datetime-local
useDisplayState: false
validate: true
validate-on-blur: true
Code: Alles auswählen
DateTime testTime1 "Zeit-Item für Tests, mit pattern" { stateDescription="pattern" [pattern="%1$tH:%1$tM"] } // Text-Rule
Code: Alles auswählen
// Start über OH-Widget (z.B.: oh-input-item oder oh-input-card)
rule "ItemTrigger-Rule"
when
Time is testTime1 timeOnly
then
// dein Code
logInfo("testTime1","testTime1 DSL-Text ist {}",testTime1)
end
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.2.2 openhabian