Hallo,
Ich habe hier eine Rule mit der ich eine CSV-Datei aufsplitte und die Daten in Items speichere.
Soweit funktioniert die Rule, nur bekomme ich gelegentlich folgenden Fehler:
	
		
Woran kann das liegen?
Hier die CSV-Datei und der Code:
	 
							
						
					Ich habe hier eine Rule mit der ich eine CSV-Datei aufsplitte und die Daten in Items speichere.
Soweit funktioniert die Rule, nur bekomme ich gelegentlich folgenden Fehler:
			
			
				2021-07-18 11:02:02.079 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'Judo': 34
			
		
	Hier die CSV-Datei und der Code:
Code:
	
	rule "Judo"
when
    Time cron "0 2 0/1 1/1 * ? *" //or // wird jede Stunde + 2 Min ausgeführt
  
then
    
    var Integer i
    //var Integer size
    var String[] lines
    var String[] line
    var String csv = sendHttpGetRequest("http://192.xxx.xxx.xxx/judo/judodaten.csv")
    lines = csv.split('\n') // Aufteilen in Zeilen
    //size = 2
    i = 1
        //logInfo("rule","CSV: " + size +  " lines")
        //while (i < size)
        //{
            line = lines.get(i).split(',') // Zeile am ; splitten
            //logInfo("rule","CSV0: " + line.get(2))
            water_current_r.postUpdate(line.get(0))
            water_current_w.postUpdate(line.get(1))
            rawwater.postUpdate(line.get(2))
            decarbonatedwater.postUpdate(line.get(3))
            water_average.postUpdate(line.get(4))
            actual_quantity.postUpdate(line.get(5))
            salt_quantity.postUpdate(line.get(6))
            salt_range.postUpdate(line.get(7))
            residual_hardness.postUpdate(line.get(8))
            natural_hardness.postUpdate(line.get(9))
            valve.postUpdate(line.get(10))
            watermon.postUpdate(line.get(11))
            watertue.postUpdate(line.get(12))
            waterwed.postUpdate(line.get(13))
            waterthu.postUpdate(line.get(14))
            waterfri.postUpdate(line.get(15))
            watersat.postUpdate(line.get(16))
            watersun.postUpdate(line.get(17))
            waterjan.postUpdate(line.get(18))
            waterfeb.postUpdate(line.get(19))
            watermar.postUpdate(line.get(20))
            waterapr.postUpdate(line.get(21))
            watermai.postUpdate(line.get(22))
            waterjun.postUpdate(line.get(23))
            waterjul.postUpdate(line.get(24))
            wateraug.postUpdate(line.get(25))
            watersep.postUpdate(line.get(26))
            waterokt.postUpdate(line.get(27))
            waternov.postUpdate(line.get(28))
            waterdez.postUpdate(line.get(29))
            judoeventdate.postUpdate(line.get(30).replace("\"",""))
            judoevent1.postUpdate(line.get(31).replace("\"","").replace(" ",""))
            judoevent2.postUpdate(line.get(32).replace("\"","").replace(" ",""))
            judoevent3.postUpdate(line.get(33).replace("\"","").replace(" ",""))
            judoevent4.postUpdate(line.get(34).replace("\"","").replace(" ",""))
            var String judoeventStr1 = transform("MAP", "judo.map", judoevent1.state.toString)
            var String judoeventStr2 = transform("MAP", "judo.map", judoevent2.state.toString)
            var String judoeventStr3 = transform("MAP", "judo.map", judoevent3.state.toString)
            var String judoeventStr4 = transform("MAP", "judo.map", judoevent4.state.toString)
            judoevent.postUpdate(judoeventStr1 + " " + judoeventStr2 + " " + judoeventStr3 + " " + judoeventStr4)
            //i = i +1
//}
end


Kommentar