Rules error on Controller start.

Hi folks :slight_smile:

Controller: 2.5.0

WebDesigner: 2.5.0

I need your help for this problem, why the error “No rule definitions found” ?

BOOT:

ERROR 2016-06-29 16:55:36,388 : Error in rule definition ‘modeler_rules.drl’ : null

java.lang.ExceptionInInitializerError

at org.mvel2.optimizers.OptimizerFactory.(OptimizerFactory.java:41)

at org.drools.rule.builder.dialect.java.AbstractJavaRuleBuilder.(AbstractJavaRuleBuilder.java:27)

at org.drools.rule.builder.dialect.java.JavaDialect.(JavaDialect.java:98)

at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.newDialect(JavaDialectConfiguration.java:65)

at org.drools.compiler.PackageBuilderConfiguration.buildDialectRegistry(PackageBuilderConfiguration.java:300)

at org.drools.compiler.PackageRegistry.(PackageRegistry.java:24)

at org.drools.compiler.PackageBuilder.newPackage(PackageBuilder.java:864)

at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:577)

at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:266)

at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:458)
at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)

at org.openremote.controller.statuscache.rules.RuleEngine.getValidKnowledgePackages(Unknown Source)

at org.openremote.controller.statuscache.rules.RuleEngine.start(Unknown Source)

at org.openremote.controller.statuscache.EventProcessorChain.start(Unknown Source)

at org.openremote.controller.statuscache.StatusCache.start(Unknown Source)

at org.openremote.controller.deployer.Version20ModelBuilder.buildSensorModel(Unknown Source)

at org.openremote.controller.deployer.Version20ModelBuilder.build(Unknown Source)

at org.openremote.controller.deployer.AbstractModelBuilder.buildModel(Unknown Source)

at org.openremote.controller.service.Deployer.startup(Unknown Source)

at org.openremote.controller.service.Deployer.startController(Unknown Source)

at org.openremote.controller.spring.SpringContext.initializeController(Unknown Source)

at org.openremote.controller.service.ServiceContext.init(Unknown Source)

at org.openremote.controller.bootstrap.Startup.loadServiceContext(Unknown Source)

at org.openremote.controller.bootstrap.servlet.ServletStartup.initializeServiceContext(Unknown Source)

at org.openremote.controller.bootstrap.servlet.ServletStartup.contextInitialized(Unknown Source)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)

at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:578)

at sun.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:531)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NumberFormatException: For input string: “9-i”

at jdk.internal.math.FloatingDecimal.readJavaFormatString(java.base@9-internal/FloatingDecimal.java:2054)

at jdk.internal.math.FloatingDecimal.parseDouble(java.base@9-internal/FloatingDecimal.java:110)

at java.lang.Double.parseDouble(java.base@9-internal/Double.java:539)

at org.mvel2.compiler.AbstractParser.setupParser(AbstractParser.java:167)

at org.mvel2.compiler.AbstractParser.(AbstractParser.java:104)

… 49 more

INFO 2016-06-29 16:55:36,453 : Initialized event processor : Drools Rule Engine

INFO 2016-06-29 16:55:36,570 : Initialized event processor : RRD4J Data Logger

INFO 2016-06-29 16:55:37,705 : Registered sensor : Switch Sensor (Name = ‘SN UFFICIO’, ID = ‘296068’)

``

in my folder /OR250/webapps/controller/rules$ I have this file:

-rw-rw-r-- 1 mbso mbso 1392 Jun 29 16:00 modeler_rules.drl

modeler_rules.drl

package org.openremote.controller.protocol

global org.openremote.controller.statuscache.CommandFacade execute;
global org.openremote.controller.statuscache.SwitchFacade switches;

rule “GIORNO CASA”

timer (cron: 0 50 6 ? * 2-6)

when
Event(source == “VacationSN”, value == “off” )
then

execute.command(“2/1/2 SALA TAPPARELLA UP OFF”);
execute.command(“2/1/0 UP Porta Cucina”);
execute.command(“2/1/1 UP FINESTRA CUCINA”);
execute.command(“2/1/5 BAGNO CAMERA TAPP UP OFF”);
execute.command(“2/1/6 OFF UP TAPP BAGN CORR”);

end

``

Thanks for any suggestions.

Maurizio

Hi

I'm certainly no expect in Drools, but I would say that there is a problem with your code.

Mainly because the very first line in your post states :-

[Quote]

ERROR 2016-06-29 16:55:36,388 : Error in rule definition 'modeler_rules.drl' : null

[/Quote]

You have