Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.
Moderatoren: seppy , udo1toni
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 23. Nov 2020 19:43
Ich habe folgendes Rule definiert und bekomme nun als ich auf getMinuteOfDay gewechselt bin (vorher Stunden) das Log vollgemüllt
mit org.quartz.core ERROR!
Was habe ich denn da falsch gemacht?
Code: Alles auswählen
// Globale Variablen
var Timer Kueche_Timer = null // Timer für autoamtische Abschaltung Licht Kueche PIR
// Globale Konstanten
val Integer Kueche_TimeOut = 420 // Timeout (hier z.B. 7 Minuten oder 420 Sek Vorgabe) unten verwendet
rule "ZPIR_Kueche_Motion changed"
when
Item zwave_device_6c898019_node5_alarm_motion received update ON //ZPIR5 Kueche
then
if (now.getMinuteOfDay >= 6*60+45 && now.getMinuteOfDay <= 8*60+30) { //zwischen 6.45h und 8.30h
if(zwave_device_6c898019_node5_sensor_luminance.state <= 4) {
if(Lampe_KuecheKamin.state != ON) Lampe_KuecheKamin.sendCommand(ON)
if(Lampe_KuecheVitrine.state != ON) Lampe_KuecheVitrine.sendCommand(ON)
}
}
Kueche_Timer = createTimer(now.plusSeconds(Kueche_TimeOut), [| //Kueche Licht Timer
if(Lampe_KuecheKamin.state != OFF) Lampe_KuecheKamin.sendCommand(OFF)
if(Lampe_KuecheVitrine.state != OFF) Lampe_KuecheVitrine.sendCommand(OFF)
])
end
Zuletzt geändert von
Boris099 am 27. Nov 2020 09:43, insgesamt 1-mal geändert.
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 23. Nov 2020 19:50
Kann es wirklich das Leerzeichen nach dem if gewesen sein?
Ich habe es nun entfernt und nun isser ruhig
if(now.getMinuteOfDay >= 6*60+45 && now.getMinuteOfDay <= 8*60+30)
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 23. Nov 2020 19:53
Nee doch nicht, es ist irgendwas mit diesem if (now.getMinuteOfDay >= 6*60+45 && now.getMinuteOfDay <= 8*60+30)
Jetzt hat er schon wieder das Log mit ein paar Seiten org.quarte.core vollgemüllt und dann nach ein paar Seiten wieder aufgehört...
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 23. Nov 2020 19:55
zum Beispiel, hier nur eine Fehlerkategorie:
Code: Alles auswählen
2020-11-23 19:50:23.322 [ERROR] [org.quartz.core.JobRunShell ] - Job DEFAULT.Timer 102 2020-11-23T19:50:23.320+01:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@f7d774 (conditionalExpression: false)
org.eclipse.xtext.xbase.impl.XIfExpressionImpl@d379bc (conditionalExpression: false)
} ] threw an unhandled Exception:
java.lang.NullPointerException: null
at org.eclipse.smarthome.model.script.engine.ScriptError.<init>(ScriptError.java:65) ~[?:?]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:140) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:991) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:954) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:235) ~[?:?]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:215) ~[?:?]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:857) ~[?:?]
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
harteknut
Beiträge: 235 Registriert: 3. Dez 2019 08:21
Answers: 9
Beitrag
von harteknut » 25. Nov 2020 18:21
Hast Du mal 6*60+45 und 8*60+30 mit 405 und 510 ersetzt?
Ist dann Ruhe?
harteknut
Beiträge: 235 Registriert: 3. Dez 2019 08:21
Answers: 9
Beitrag
von harteknut » 25. Nov 2020 18:28
oder so:
Code: Alles auswählen
now.isAfter(now.withTimeAtStartOfDay.plusHours(6).plusMinutes(45)) && now.isBefore(now.withTimeAtStartOfDay.plusHours(8).plusMinutes(30))
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 25. Nov 2020 19:16
Das probier ich nachher Mal aus, gebe Feedback
Eigenartig ist ja, das es trotzdem funktioniert...
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 26. Nov 2020 20:14
also mit dem now.isAfter.... bekomme ich nicht sauber hin, meckert mir immer die "Klammern" an, also die ( oder ).
habe nun mal 405 und 510 verwendet, das hat er ohne meckern sofort geschluckt! Aber ist das denn eindeutig,
ich mein 405 muß doch nicht unbedingt aus 6*60+45 gebildet sein, oder?
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))
udo1toni
Beiträge: 15265 Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt
Beitrag
von udo1toni » 26. Nov 2020 22:54
Also, solange Du gewöhnliche Mathematik mit Dezimalzahlen nutzt, ist 6*60+45 das gleiche wie 405, denn es gilt Punkt-vor-Strichrechnung, also (6 * 60) + 45, also 360 + 45 , also 405.
Es sollte eigentlich nicht nötig sein, aber eventuell musst Du Klammern setzen, also so:
Code: Alles auswählen
if (now.getMinuteOfDay >= (6 * 60 + 45) && now.getMinuteOfDay <= (8 * 60 + 30)) { //zwischen 6.45h und 8.30h
Ich habe auch schon Meldungen darüber gelesen, dass man die Funktion mit Klammern schreiben muss:
Code: Alles auswählen
if (now.getMinuteOfDay() >= (6 * 60 + 45) && now.getMinuteOfDay() <= (8 * 60 + 30)) { //zwischen 6.45h und 8.30h
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
Boris099
Beiträge: 383 Registriert: 19. Feb 2020 20:51
Answers: 3
Wohnort: Saarbrücken
Beitrag
von Boris099 » 27. Nov 2020 09:42
Also ich habe nun dein erstes Beispiel genommen, und das hat er geschluckt:-)
So zimperlich das Ding...
Raspberry 4, Rev.1.2b, 4GB, Openhab 2.5.12 (OH3 kommt im Winter dran:-))