Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit rule - java exception

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Probleme mit rule - java exception

    Ich habe folgende rule mit Openhab 1.2. benutzt, seit meinem update auf 1.3.1 bekome ich eine Java exception. Die rule benutze ich um das Licht im Zimmer meines Sohnes auszuschalten wenn er es vergisst.
    Ich finde keine Fehler in der Rule.

    RULE *********************************
    Code:
    rule "Olivier Dim or switch off when not used"
    	when
    		Item Light_FF_Child_Ceiling received command 
    	then
    	//if(receivedCommand==DECREASE)
    	//	return
    	//when Item Sequencer_FF_Bad changed to ON
    	//if((Light_FF_Child_Ceiling.state instanceof DecimalType && Light_FF_Child_Ceiling.state as DecimalType == 0 && timerLightDim_FF_Child_Ceiling != null)
    	if(receivedCommand instanceof DecimalType && receivedCommand as DecimalType == 0 
    			|| receivedCommand instanceof OnOffType && receivedCommand  == OFF ||
    			Light_FF_Child_Ceiling.state instanceof DecimalType && Light_FF_Child_Ceiling.state as DecimalType == 0){ //do nothing if off or switched off
    				println ("Olivier Dim or switch off when not used - no action needed")
    				if(timerLightDim_FF_Child_Ceiling != null)
    					timerLightDim_FF_Child_Ceiling.cancel()		
    	} else {	
    		current_time = java::util::Calendar::getInstance(TimeZone::getTimeZone("GMT"))	
    		var Number hour = current_time.get(java::util::Calendar::HOUR_OF_DAY)
    		if(dateDimOlivierLastinMillisecs + 1000 < current_time.getTimeInMillis()){
    			println ("Olivier Dim or switch off when not used - adding - updating timer")
    			dateDimOlivierLastinMillisecs = current_time.getTimeInMillis();	
    			var Integer delay;
    			if(hour >= 0 && current_time.before(SunRiseDate)){
    				dimvalue = 1;
    				delay = 900;
    			} else if(current_time.after(SunRiseDate) && current_time.before(SunSetDate) ){
    				dimvalue = 0;
    				delay = 3600;		
    			} else {
    				return;
    		}
    		if(timerLightDim_FF_Child_Ceiling==null) {
    				// first ON command, so create a timer to turn the light off again
    				say("Started timer Olivier")
    				timerLightDim_FF_Child_Ceiling = createTimer(now.plusSeconds(delay)) [|
    					postUpdate(Light_FF_Child_Ceiling, dimvalue)
    			]
    		} else {
    				// subsequent ON command, so reschedule the existing timer
    				timerLightDim_FF_Child_Ceiling.reschedule(now.plusSeconds(delay))
    		}	
    	}
    	
    	}
    	end
    EXCEPTION *********************************
    07:50:40.146 ERROR o.o.c.s.ScriptExecutionThread[:70] - Error during the execution of rule 'Olivier Dim or switch off when not used': Ambiguous methods [protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateAssignment(org.eclipse.xtext.xbas e.XAssignment,org.eclipse.xtext.xbase.interpreter. IEvaluationContext,org.eclipse.xtext.util.CancelIn dicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateBlockExpression(org.eclipse.xtext .xbase.XBlockExpression,org.eclipse.xtext.xbase.in terpreter.IEvaluationContext,org.eclipse.xtext.uti l.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateBooleanLiteral(org.eclipse.xtext. xbase.XBooleanLiteral,org.eclipse.xtext.xbase.inte rpreter.IEvaluationContext,org.eclipse.xtext.util. CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateCastedExpression(org.eclipse.xtex t.xbase.XCastedExpression,org.eclipse.xtext.xbase. interpreter.IEvaluationContext,org.eclipse.xtext.u til.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateClosure(org.eclipse.xtext.xbase.X Closure,org.eclipse.xtext.xbase.interpreter.IEvalu ationContext,org.eclipse.xtext.util.CancelIndicato r), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateConstructorCall(org.eclipse.xtext .xbase.XConstructorCall,org.eclipse.xtext.xbase.in terpreter.IEvaluationContext,org.eclipse.xtext.uti l.CancelIndicator), protected org.eclipse.xtext.xbase.interpreter.IEvaluationRes ult org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateDoWhileExpression(org.eclipse.xte xt.xbase.XDoWhileExpression,org.eclipse.xtext.xbas e.interpreter.IEvaluationContext,org.eclipse.xtext .util.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateForLoopExpression(org.eclipse.xte xt.xbase.XForLoopExpression,org.eclipse.xtext.xbas e.interpreter.IEvaluationContext,org.eclipse.xtext .util.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateIfExpression(org.eclipse.xtext.xb ase.XIfExpression,org.eclipse.xtext.xbase.interpre ter.IEvaluationContext,org.eclipse.xtext.util.Canc elIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateInstanceOf(org.eclipse.xtext.xbas e.XInstanceOfExpression,org.eclipse.xtext.xbase.in terpreter.IEvaluationContext,org.eclipse.xtext.uti l.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateMemberFeatureCall(org.eclipse.xte xt.xbase.XMemberFeatureCall,org.eclipse.xtext.xbas e.interpreter.IEvaluationContext,org.eclipse.xtext .util.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateNullLiteral(org.eclipse.xtext.xba se.XNullLiteral,org.eclipse.xtext.xbase.interprete r.IEvaluationContext,org.eclipse.xtext.util.Cancel Indicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateNumberLiteral(org.eclipse.xtext.x base.XNumberLiteral,org.eclipse.xtext.xbase.interp reter.IEvaluationContext,org.eclipse.xtext.util.Ca ncelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateReturnExpression(org.eclipse.xtex t.xbase.XReturnExpression,org.eclipse.xtext.xbase. interpreter.IEvaluationContext,org.eclipse.xtext.u til.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateStringLiteral(org.eclipse.xtext.x base.XStringLiteral,org.eclipse.xtext.xbase.interp reter.IEvaluationContext,org.eclipse.xtext.util.Ca ncelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateSwitchExpression(org.eclipse.xtex t.xbase.XSwitchExpression,org.eclipse.xtext.xbase. interpreter.IEvaluationContext,org.eclipse.xtext.u til.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateThrowExpression(org.eclipse.xtext .xbase.XThrowExpression,org.eclipse.xtext.xbase.in terpreter.IEvaluationContext,org.eclipse.xtext.uti l.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateTryCatchFinallyExpression(org.ecl ipse.xtext.xbase.XTryCatchFinallyExpression,org.ec lipse.xtext.xbase.interpreter.IEvaluationContext,o rg.eclipse.xtext.util.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateTypeLiteral(org.eclipse.xtext.xba se.XTypeLiteral,org.eclipse.xtext.xbase.interprete r.IEvaluationContext,org.eclipse.xtext.util.Cancel Indicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateVariableDeclaration(org.eclipse.x text.xbase.XVariableDeclaration,org.eclipse.xtext. xbase.interpreter.IEvaluationContext,org.eclipse.x text.util.CancelIndicator), protected java.lang.Object org.eclipse.xtext.xbase.interpreter.impl.XbaseInte rpreter._evaluateWhileExpression(org.eclipse.xtext .xbase.XWhileExpression,org.eclipse.xtext.xbase.in terpreter.IEvaluationContext,org.eclipse.xtext.uti l.CancelIndicator)] for params [null, org.eclipse.xtext.xbase.interpreter.impl.DefaultEv aluationContext@1f561c9, org.eclipse.xtext.util.CancelIndicator$1@e70f9f][/CODE]

    #2
    Hi,

    liegt es wirklich am Update oder möglicherweise an nicht initialisierten Werten?

    Gruß,

    Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar

    Lädt...
    X