Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

drevil75
Beiträge: 12
Registriert: 2. Apr 2020 02:01
Answers: 0

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

So, diese Woche bin ich auf Dienstreise und komm nur langsam voran.
Deswegen hat es jetzt etwas gedauert.

Ich habe alles Mögliche probiert, ohne Erfolg.
Inzwischen habe ich nun alle items-Files deaktiviert (umbenannt) und ein neues test.items mit 2 ganz einfachen Switchen angelegt.
Meine Konfig sieht nun so aus.

ITEMS: (test.items)

Code: Alles auswählen

Switch test1 "test1 [%s]"
Switch test2 "test2 [%s]"
Sitemap: (test.sitemap)

Code: Alles auswählen

   sitemap test label="test"
{
    Frame label="test" {
        Switch item=test1 label="test1"
        Switch item=test2 label="test2"
        }
}
rules: (test.rules)
rule "test"

when
Item test1 changed from OFF to ON
then
test2.sendCommand("ON")
end

Sobald ich die test.rules speicher, kommen wieder massenhaft Fehlermeldungen (siehe erster Post).

Wenn ich den Switch test1 in der sitemap schalte, kommen wieder die Javameldungen aus dem ersten Post + am Ende, das ist mir bisher nicht aufgefallen, kommt noch folgende Meldung.

Fehlermeldung: (openhab.log)

Code: Alles auswählen

2020-07-16 14:42:28.233 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'test': The name 'test2' cannot be resolved to an item or type; line 6, column 2, length 5
 
Dasselbe steht auch drin, wenn ich ein test2.state via log ausgeben lassen will und auch wenn ich den <shellyitemname>.sendCommand(UP) ausführe.
Sieht für mich irgendwie nach einer defekten rule-Engine oder Installation aus.
Denke nicht, dass ich einen Fehler in den Items oder Rules hab.



Hier nochmal eine vollständige Fehlermeldung.

Code: Alles auswählen

2020-07-16 14:42:28.207 [ERROR] [xbase.resource.BatchLinkableResource] - resolution of uriFragment '|::0.2.0.2.0.0.6::0::/1' failed.
java.lang.NullPointerException: null
	at org.eclipse.smarthome.model.script.ScriptServiceUtil.getActionServices(ScriptServiceUtil.java:111) ~[?:?]
	at org.eclipse.smarthome.model.script.scoping.ActionClassLoader.loadClass(ActionClassLoader.java:37) ~[?:?]
	at java.lang.Class.forName0(Native Method) ~[?:1.8.0_252]
	at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_252]
	at org.eclipse.xtext.common.types.access.impl.ClassFinder.forName(ClassFinder.java:41) ~[?:?]
	at org.eclipse.xtext.common.types.access.impl.ClassFinder.forName(ClassFinder.java:15) ~[?:?]
	at org.eclipse.xtext.common.types.access.impl.AbstractClassFinder.forName(AbstractClassFinder.java:43) ~[?:?]
	at org.eclipse.xtext.common.types.access.reflect.ReflectionTypeProvider.findClassByName(ReflectionTypeProvider.java:155) ~[?:?]
	at org.eclipse.xtext.common.types.access.reflect.ReflectionTypeProvider.doFindTypeByName(ReflectionTypeProvider.java:116) ~[?:?]
	at org.eclipse.xtext.common.types.access.reflect.ReflectionTypeProvider.findTypeByName(ReflectionTypeProvider.java:109) ~[?:?]
	at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getSingleElement(AbstractTypeScope.java:59) ~[?:?]
	at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getSingleElement(AbstractTypeScope.java:54) ~[?:?]
	at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getElements(AbstractTypeScope.java:73) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope.getElements(AbstractScope.java:137) ~[?:?]
	at org.eclipse.xtext.scoping.impl.ScopeBasedSelectable.getExportedObjects(ScopeBasedSelectable.java:40) ~[?:?]
	at org.eclipse.xtext.scoping.impl.ImportScope.getLocalElementsByName(ImportScope.java:154) ~[?:?]
	at org.eclipse.xtext.scoping.impl.ImportScope.getSingleLocalElementByName(ImportScope.java:142) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:105) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:108) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:108) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:108) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.TypeLiteralScope.getLocalElementsByName(TypeLiteralScope.java:48) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.AbstractSessionBasedScope.getElements(AbstractSessionBasedScope.java:174) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.AbstractSessionBasedScope$1.get(AbstractSessionBasedScope.java:180) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.AbstractSessionBasedScope$1.get(AbstractSessionBasedScope.java:177) ~[?:?]
	at org.eclipse.xtext.scoping.impl.AbstractScope$ParentIterable.iterator(AbstractScope.java:60) ~[?:?]
	at com.google.common.collect.FluentIterable$3$1.get(FluentIterable.java:296) ~[?:?]
	at com.google.common.collect.FluentIterable$3$1.get(FluentIterable.java:293) ~[?:?]
	at com.google.common.collect.AbstractIndexedListIterator.next(AbstractIndexedListIterator.java:77) ~[?:?]
	at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1330) ~[?:?]
	at com.google.common.collect.Iterators$5.computeNext(Iterators.java:635) ~[?:?]
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141) ~[?:?]
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136) ~[?:?]
	at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1321) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.getLinkingCandidates(AbstractTypeComputationState.java:412) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1226) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:112) ~[?:?]
	at org.eclipse.smarthome.model.script.jvmmodel.ScriptTypeComputer.computeTypes(ScriptTypeComputer.java:38) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState$1.getActualType(AbstractTypeComputationState.java:403) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.FeatureScopes.createFeatureCallScopeForReceiver(FeatureScopes.java:215) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.FeatureScopes.createFeatureCallScope(FeatureScopes.java:92) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.AbstractFeatureScopeSession.createFeatureCallScope(AbstractFeatureScopeSession.java:177) ~[?:?]
	at org.eclipse.xtext.xbase.scoping.batch.AbstractFeatureScopeSession.getScope(AbstractFeatureScopeSession.java:48) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.ScopeProviderAccess.getCandidateDescriptions(ScopeProviderAccess.java:142) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.getLinkingCandidates(AbstractTypeComputationState.java:409) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1226) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:112) ~[?:?]
	at org.eclipse.smarthome.model.script.jvmmodel.ScriptTypeComputer.computeTypes(ScriptTypeComputer.java:38) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:491) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer.computeTypes(XbaseTypeComputer.java:118) ~[?:?]
	at org.eclipse.smarthome.model.script.jvmmodel.ScriptTypeComputer.computeTypes(ScriptTypeComputer.java:38) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.doComputeTypes(AbstractTypeComputationState.java:121) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractTypeComputationState.computeTypes(AbstractTypeComputationState.java:109) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractRootTypeComputationState.computeTypes(AbstractRootTypeComputationState.java:32) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._computeTypes(LogicalContainerAwareReentrantTypeResolver.java:827) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:711) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeMemberTypes(LogicalContainerAwareReentrantTypeResolver.java:897) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver._computeTypes(LogicalContainerAwareReentrantTypeResolver.java:886) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:705) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.LogicalContainerAwareReentrantTypeResolver.computeTypes(LogicalContainerAwareReentrantTypeResolver.java:697) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver.resolve(DefaultReentrantTypeResolver.java:164) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver.reentrantResolve(DefaultReentrantTypeResolver.java:139) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$LazyResolvedTypes.resolveTypes(CachingBatchTypeResolver.java:80) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$2.process(CachingBatchTypeResolver.java:57) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver$2.process(CachingBatchTypeResolver.java:53) ~[?:?]
	at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:37) ~[?:?]
	at org.eclipse.xtext.util.OnChangeEvictingCache.execWithoutCacheClear(OnChangeEvictingCache.java:128) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.CachingBatchTypeResolver.doResolveTypes(CachingBatchTypeResolver.java:53) ~[?:?]
	at org.eclipse.xtext.xbase.typesystem.internal.AbstractBatchTypeResolver.resolveTypes(AbstractBatchTypeResolver.java:69) ~[?:?]
	at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:60) ~[?:?]
	at org.eclipse.xtext.xbase.resource.BatchLinkingService.resolveBatched(BatchLinkingService.java:41) ~[?:?]
	at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject(BatchLinkableResource.java:117) ~[?:?]
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:223) ~[?:?]
	at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:203) ~[?:?]
	at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:259) ~[?:?]
	at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1477) ~[?:?]
	at org.eclipse.xtext.xbase.impl.XAbstractFeatureCallImplCustom.getFeature(XAbstractFeatureCallImplCustom.java:48) ~[?:?]
	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) ~[?:?]
	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:231) ~[?:?]
	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:458) ~[?:?]
	at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:239) ~[?:?]
	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.evaluate(XbaseInterpreter.java:201) ~[?:?]
	at org.eclipse.smarthome.model.script.runtime.internal.engine.ScriptImpl.execute(ScriptImpl.java:81) ~[?:?]
	at org.eclipse.smarthome.model.rule.runtime.internal.engine.RuleEngineImpl.lambda$2(RuleEngineImpl.java:313) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_252]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_252]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_252]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
2020-07-16 14:42:28.233 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'test': [b]The name 'test2' cannot be resolved to an item or type[/b]; line 6, column 2, length 5
Die Trigger im "when"-Statement funktionieren, auch die shelly-Trigger.
Egal was im "then"-Statement steht, schlägt fehl.

drevil75
Beiträge: 12
Registriert: 2. Apr 2020 02:01
Answers: 0

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

ein Nachtrag:

irgendwie hab ich was falsches bei der Rule im letzten Post kopiert.
Meine aktuelle test.rules sieht so aus.

Code: Alles auswählen

rule "test"

when
        Item test1 changed from OFF to ON
then
        test2.sendCommand(ON)
end

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von udo1toni »

Wie bearbeitest Du die Dateien?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

drevil75
Beiträge: 12
Registriert: 2. Apr 2020 02:01
Answers: 0

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

meistens direkt in der Konsole.
Die aus dem letzten Post habe ich aber mit Visual Studio Code bearbeitet, in der Konsole aber immer wieder verändert.
Korrupte Dateien oder eher das Linefeed hatte ich auch schon im Verdacht. Muss bei den Dateien eine bestimmte Formatierung vorliegen?

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von udo1toni »

Die Dateien müssen mit UTF-8 codiert sein (NICHT! UTF-8 BOM).

Als Zeilenumbruch sollte LF verwendet werden, aber CR-LF sollte auch funktionieren.

Für Einrückungen sollte man Leerzeichen verwenden (VSCode kann statt <Tab> automatisch 4 Leerzeichen einfügen und die führenden Tabs (zum Zeilenbeginn) auch automatisch umwandeln.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

drevil75
Beiträge: 12
Registriert: 2. Apr 2020 02:01
Answers: 0

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

Ok. Probiere ich heute Abend gleich aus und geb Bescheid.

drevil75
Beiträge: 12
Registriert: 2. Apr 2020 02:01
Answers: 0

Re: Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

Mahlzeit,

ich hab nun alles Mögliche probiert.
Die Dateien komplett neu erstellt, in utf-8, LF, genauestens darauf geachtet, dass die Einrückungen korrekt sind, ohne Erfolg bzw. keiner Änderung.

Da ich ein Docker-Fan bin, hab ich mir fix eine neue Instanz in Docker zum Testen erstellt, funktioniert.
Dieselben Dateien funktionieren dort, ohne Fehlermeldungen zu erzeugen.

Die Ursache für das Ganze weiß ich zwar nun immer noch nicht. Ich sitze nun aber schon Tage an dem Problem und werd jetzt den einfachen Weg mit einer neuen Instanz gehen. Keine Ahnung was an der Installation kaputt ist. Aus der Fehlermeldung werd ich auch nicht wirklich schlau.
Da ich neu in dem Thema war/bin, hab ich am Anfang sehr viel mit den Bindings experimentiert. Evtl. habe ich dabei etwas geschrottet.

Den Thread können wir gerne als 'Solved' schließen.

Vielen Dank für die schnellen Antworten! So geht Forum!
Grüße und einen schönen Sonntag
Mirko

Antworten