Execution of rule and return point

Are you accessing/saving your rules file over a Samba share? That could cause this error.

I have a similar rule that parses data, but I use grep for it. This approach should work even if the data format is inconsistent. Hopefully this doesn’t muddy things up worse for you!

rule "SBFspot"
when
	Time cron "0/15 * * * * ?"
then
	val String raw_output = executeCommandLine("/usr/local/bin/sbfspot.3/SBFspot -v -finq -nocsv -nosql",10000)
	//logInfo("SBFspot", "raw_output=[{}]", raw_output)
	val String V_EToday = executeCommandLine("/bin/sh@@-c@@grep \"EToday\" <<< \"" + raw_output + "\" | grep -oP '(\\d+\\.\\d+)(?!.*(?1))'",1000)
    logInfo("SBFspot", "V_EToday=[{}]", V_EToday)
    val String V_ETotal = executeCommandLine("/bin/sh@@-c@@grep \"ETotal\" <<< \"" + raw_output + "\" | grep -oP '(\\d+\\.\\d+)(?!.*(?1))'",1000)
    logInfo("SBFspot", "V_ETotal=[{}]", V_ETotal)
    val String V_EAct = executeCommandLine("/bin/sh@@-c@@grep \"Total Pac\" <<< \"" + raw_output + "\" | grep -oP '(\\d+\\.\\d+)(?!.*(?1))'",1000)
    logInfo("SBFspot", "V_EAct=[{}]", V_EAct)
    
	PV_EAct.postUpdate(V_EAct)
	PV_ETotal.postUpdate(V_ETotal)
	PV_EToday.postUpdate(V_EToday)
end