Hallo KNX/OpenHAB Gemeinde!
Bastle seit einiger Zeit an meiner OpenHAB Installation - derzeit vor allem mit Zwave. Leider musste ich mich vom Raspberry aufgrund der Probleme mit dem Zwave-Binding verabschieden.
Ich versuche mich derzeit an der Regelerstellung, wobei ich da so meine Schwierigkeiten habe. Folgendes habe ich vor:
Setpoint Item für die gewünschte Stunde der Weckzeit
Setpoint Item für die gewünschte Minute der Weckzeit
(kleiner Schönheitsfehler: die Setpoint Items hören beim eingestellten Max Wert auf und starten nicht wieder bei Min)
Config:
Dazu versuche ich jetzt die Regel zu erstellen und bei Übereinstimmung von unter 5 Minuten, soll die LED Leiste im Schlafzimmer hochdimmen:
Im OpenHAB Designer bekomme ich einige Fehlermeldungen. Im OSGI ist folgende: <XFeatureCallImplCustom>.intValue' connot be resolved to an item or type.
Fehler habe ich glaube ich definitiv bei den Variablen weck_stunde und weck_minute. Außerdem kapiere ich gerade nicht, wo ich auch die Bedingung, dass der Alarm_ON Button auf ON sein muss integriere.
UPDATE: der integer Fehler dürfte Weg sein. Zwei Themen hätte ich dazu noch: wie kann ich den Code umschreiben, damit er nicht jede Minute rennen muss? Wie kann ich die Rule unterbrechbar machen (quasi Cancel oder Snooze)?
Bitte um eure Hilfe!
Vielen Dank,
Herbert
Bastle seit einiger Zeit an meiner OpenHAB Installation - derzeit vor allem mit Zwave. Leider musste ich mich vom Raspberry aufgrund der Probleme mit dem Zwave-Binding verabschieden.
Ich versuche mich derzeit an der Regelerstellung, wobei ich da so meine Schwierigkeiten habe. Folgendes habe ich vor:
Setpoint Item für die gewünschte Stunde der Weckzeit
Setpoint Item für die gewünschte Minute der Weckzeit
(kleiner Schönheitsfehler: die Setpoint Items hören beim eingestellten Max Wert auf und starten nicht wieder bei Min)
Config:
Code:
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]Number[/LEFT] [/COLOR][/SIZE][/COLOR][/SIZE][/B] [LEFT][SIZE=2][COLOR=#000000]Alarm_Hour [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Wecker[/U] [U]Stunde[/U] [%d]"[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff] [/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [LEFT]Number[/LEFT] [/COLOR][/SIZE][/COLOR][/SIZE][/B] [LEFT][SIZE=2][COLOR=#000000]Alarm_Minute [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Wecker[/U] Minute [%d]"[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff] [/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Switch[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#000000] Alarm_ON [/COLOR][/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[U]Wecker[/U] [U]ein[/U]"[/COLOR][/SIZE][/COLOR][/SIZE] [SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Frame[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]label=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Date"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {[/SIZE][/LEFT] [SIZE=2] [/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Text[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]item=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]Date[/SIZE][/LEFT] [SIZE=2] [/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Setpoint[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]item=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]Alarm_Hour [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]minValue=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] maxValue=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]23[/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] step=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]1[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d] [/COLOR][/SIZE][/COLOR][/SIZE] [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Setpoint[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]item=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]Alarm_Minute [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]minValue=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] maxValue=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]55[/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] step=[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]5[/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE][/LEFT] [SIZE=2] } [/SIZE][/COLOR][/SIZE][/COLOR][/SIZE]
Code:
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [/COLOR][/SIZE][/COLOR][/SIZE][/B][FONT=Calibri]rule "Alarm Clock"[/FONT] [FONT=Calibri] [/FONT] [FONT=Calibri]when [/FONT] [FONT=Calibri]Time cron "* * * * * ?"[/FONT] [FONT=Calibri] [/FONT] [FONT=Calibri]then[/FONT] [FONT=Calibri]var int akt_minuten[/FONT] [FONT=Calibri]val int weck_stunde = (Alarm_Minute.state as DecimalType).intValue[/FONT] [FONT=Calibri]val int weck_minute = (Alarm_Hour.state as DecimalType).intValue [/FONT] [FONT=Calibri]var int weck_zeit[/FONT] [FONT=Calibri]var int timer_minuten[/FONT] [FONT=Calibri] [/FONT] [FONT=Calibri]akt_minuten = (now.getHourOfDay() * 60) + now.getMinuteOfHour[/FONT] [FONT=Calibri]weck_zeit = (weck_stunde * 60) + weck_minute [/FONT] [FONT=Calibri]timer_minuten = (weck_zeit - akt_minuten)[/FONT] [FONT=Calibri]if[/FONT] [FONT=Calibri](timer_minuten < 1) {[/FONT] [FONT=Calibri]createTimer(now.plusSeconds(45)) [| sendCommand(RGBWControllerAll, 50)][/FONT] [FONT=Calibri]createTimer(now.plusSeconds(90)) [| sendCommand(RGBWControllerAll, 75)][/FONT] [FONT=Calibri]createTimer(now.plusSeconds(120)) [| sendCommand(RGBWControllerAll, 100)][/FONT] [FONT=Calibri]}[/FONT] [FONT=Calibri] [/FONT] [FONT=Calibri]end[/FONT] [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055] [/COLOR][/SIZE][/COLOR][/SIZE][/B]
Fehler habe ich glaube ich definitiv bei den Variablen weck_stunde und weck_minute. Außerdem kapiere ich gerade nicht, wo ich auch die Bedingung, dass der Alarm_ON Button auf ON sein muss integriere.
UPDATE: der integer Fehler dürfte Weg sein. Zwei Themen hätte ich dazu noch: wie kann ich den Code umschreiben, damit er nicht jede Minute rennen muss? Wie kann ich die Rule unterbrechbar machen (quasi Cancel oder Snooze)?
Bitte um eure Hilfe!
Vielen Dank,
Herbert
Kommentar