Seite 1 von 2

[SOLVED] Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 23. Nov 2020 19:43
von Boris099
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

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 23. Nov 2020 19:50
von Boris099
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)

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 23. Nov 2020 19:53
von Boris099
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...

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 23. Nov 2020 19:55
von Boris099
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) ~[?:?]

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 25. Nov 2020 18:21
von harteknut
Hast Du mal 6*60+45 und 8*60+30 mit 405 und 510 ersetzt?
Ist dann Ruhe?

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 25. Nov 2020 18:28
von harteknut
oder so:

Code: Alles auswählen

now.isAfter(now.withTimeAtStartOfDay.plusHours(6).plusMinutes(45)) && now.isBefore(now.withTimeAtStartOfDay.plusHours(8).plusMinutes(30))

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 25. Nov 2020 19:16
von Boris099
Das probier ich nachher Mal aus, gebe Feedback
Eigenartig ist ja, das es trotzdem funktioniert...

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 26. Nov 2020 20:14
von Boris099
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?

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 26. Nov 2020 22:54
von udo1toni
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

Re: Log vollgemüllt mit org.quartz.core ERROR

Verfasst: 27. Nov 2020 09:42
von Boris099
Also ich habe nun dein erstes Beispiel genommen, und das hat er geschluckt:-)
So zimperlich das Ding...