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

Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von drevil75 »

Hallo zusammen,

nachdem ich nun diverse Things, Items und Sitemaps laufen habe, ist es nun Zeit für die erste Rule.
Doch genau hier laufe ich immer in dieselbe Fehlermeldung.

Wenn ich in der Rule etwas im then-Block eintrage, wird das Logging gebursted mit immer derselben Java-Meldung.
Ich hab gegoogelt, das Forum durchsucht, Jugend forscht betrieben, ohne Erfolg.

Bindings nutze ich...
Shelly-Binding 2.5.6
Dresden Elektronik deCONZ Binding 2.5.6

Über die Sitemaps funktionieren alle Items.

Evtl. kann mir hier jemand weiterhelfen.



Wenn nur ein einfacher Logeintrag aktiv ist, funktioniert die Rule. Wenn der Button am Schalter gedrückt wird, erscheint der Logeintrag.

Sobald aber irgend ein Item angesprochen wird, bekomme ich tausende von den Fehlermeldungen unten.
Es reicht aus, dass die entsprechende Zeile eingetragen und die Rule gespeichert wird. Also nicht erst, wenn die Rule verarbeitet wird.

Die Fehlermeldung sieht für mich aus, als wenn die Rule das Item nicht findet, den Namespace nicht adressieren kann oder irgendsowas.
Hab ich evtl. etwas nicht installiert, aktiviert oder konfiguriert?

Folgende Rule habe ich erstellt.

Code: Alles auswählen

rule "Rollo_Schlafzimmer"

when
        //System started        
        Channel 'deconz:switch:homeserver:04cf8cdf3c79793b010006:buttonevent' triggered 1000
then

        logInfo("Test", "das ist ein Test")
        //RolloWZfenster.sendCommand(OFF)
        //logInfo("Test", FensterSZ.state)
end
Die Fehlermeldung ist die Folgende:

Code: Alles auswählen

2020-07-10 23:50:30.799 [ERROR] [xbase.resource.BatchLinkableResource] - resolution of uriFragment '|::0.2.0.2.0.1.6.1.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_222]

	at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_222]

	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.internal.AbstractLinkingCandidate.resolveArgumentType(AbstractLinkingCandidate.java:627) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.resolveArgumentType(FeatureLinkingCandidate.java:963) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeFixedArityArgumentType(AbstractLinkingCandidate.java:579) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentType(AbstractLinkingCandidate.java:443) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.computeArgumentTypes(AbstractLinkingCandidate.java:430) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.preApply(AbstractLinkingCandidate.java:378) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.FeatureLinkingCandidate.preApply(FeatureLinkingCandidate.java:896) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate.applyToComputationState(AbstractLinkingCandidate.java:286) ~[?:?]

	at org.eclipse.xtext.xbase.typesystem.computation.XbaseTypeComputer._computeTypes(XbaseTypeComputer.java:1231) ~[?:?]

	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.validation.XbaseValidator.checkReferInvalidTypes(XbaseValidator.java:1974) ~[?:?]

	at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) ~[?:?]

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222]

	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222]

	at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:127) ~[?:?]

	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:318) ~[?:?]

	at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71) ~[?:?]

	at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:150) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:185) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:185) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:185) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) ~[?:?]

	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:108) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.lambda$2(ModelRepositoryImpl.java:290) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.SafeEMFImpl.call(SafeEMFImpl.java:30) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.validateModel(ModelRepositoryImpl.java:290) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:103) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) ~[?:?]

	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:310) ~[?:?]

	at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Viele Grüße
Mirko

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

Fehlermeldungen sobald in Rule in then etwas eingetragen wird.

Beitrag von udo1toni »

Also, erst mal nutzt Du in der Rule ja gar kein Item, sondern ein Channel Event.
Ich nutze nun kein deconz, so dass ich nicht weiß, ob Du diesen Channel überhaupt als Trigger verwenden darfst :) aber eigentlich sieht die Rule gut aus.

Bist Du sicher, dass der Fehler von der Rule kommt? Die wird nämlich gar nicht im Error erwähnt...

Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

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

Beitrag von Darkwin101 »

Eventuell auch mal die 1000 in Anführungszeichen setzen ist ja ein Text glaube ich

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 »

Hallo Udo, Darkwin,

den Channel nutze ich als Trigger im when-Statement. Das funktioniert ja auch, solang ich im then-Statement nur ein fixes Logging habe - siehe Code-Beispiel.
Drücke ich den Taster, wird die 1000 getriggert und der Logtext ist im Log zu sehen.
Und auch wenn ich den deconz Channel nicht als Trigger nutzen dürfte, der Fehler tritt auch bei 'System started' auf. Das hab ich im Beispiel nur auskommentiert.
Ich bin mir auch sicher, dass der Trigger nicht die Ursache ist.

Im then Statement versuche ich ein sendCommand(OFF) an das Item RolloWzFenster(Shelly-Binding) abzusetzen. Und sobald ich das auch nur in die Rule eintrage, der Trigger wird noch gar nicht ausgelöst, "flippt" das System aus und es kommt tausende Male dieselbe Fehlermeldung.
Die auskommentierten Befehle im when-Statement habe ich auch probiert, immer mit demselben Ergebnis.

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

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

Beitrag von udo1toni »

Hmm...

Wie (bzw. wo) ist denn das Item definiert?
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 »

das oder die Items habe ich in der items/shelly25.items definiert.

Code: Alles auswählen

Group All
Group RRD4J     (All)

Rollershutter   RolloWZfenster                     "RolloWZfenster" ["Blinds"]       {alexa="Blind", channel="shelly:shelly25-roller:68c63afb220b:roller#control"}
Dimmer          RolloWZfenster_Rollerpos           "RolloWZfenster Roller"           {channel="shelly:shelly25-roller:68c63afb220b:roller#rollerpos"}
String          RolloWZfenster_LastDirection       "RolloWZfenster letzte Richtung"  {channel="shelly:shelly25-roller:68c63afb220b:roller#lastDirection"}
String          RolloWZfenster_StopReason          "RolloWZfenster Stoppmeldung"     {channel="shelly:shelly25-roller:68c63afb220b:roller#stopReason"}
Switch          RolloWZfenster_Input1              "RolloWZfenster Eingang 1"        {channel="shelly:shelly25-roller:68c63afb220b:roller#input1"}
Switch          RolloWZfenster_Input2              "RolloWZfenster Eingang 2"        {channel="shelly:shelly25-roller:68c63afb220b:roller#input2"}
Number:Power    RolloWZfenster_MeterCurrentWatts   "RolloWZfenster Watt"             {channel="shelly:shelly25-roller:68c63afb220b:meter#currentWatts"}
Number:Energy   RolloWZfenster_MeterLastPower1     "RolloWZfenster Last power 1"     {channel="shelly:shelly25-roller:68c63afb220b:meter#lastPower1"}
Number:Energy   RolloWZfenster_MeterLastPower2     "RolloWZfenster Last power 2"     {channel="shelly:shelly25-roller:68c63afb220b:meter#lastPower2"}
Number:Energy   RolloWZfenster_MeterLastPower3     "RolloWZfenster Last power 3"     {channel="shelly:shelly25-roller:68c63afb220b:meter#lastPower3"}
Number:Energy   RolloWZfenster_MeterTotalKWH       "RolloWZfenster Total energy"     {channel="shelly:shelly25-roller:68c63afb220b:meter#totalKWH"}
DateTime        RolloWZfenster_MeterLastUpdate     "RolloWZfenster Last update"      {channel="shelly:shelly25-roller:68c63afb220b:meter#lastUpdate"}
Number          RolloWZfenster_DeviceWifiSignal    "RolloWZfenster Signal"           {channel="shelly:shelly25-roller:68c63afb220b:device#wifiSignal"}

Die entsprechende Rule (/rules/schalter.rule) mit aktiviertem Code sieht folgendermaßen aus.

Code: Alles auswählen

rule "Rollo_Wohnzimmerzimmer"

when
        //System started        
        Channel 'deconz:switch:homeserver:04cf8cdf3c79793b010006:buttonevent' triggered 1000
then

        //logInfo("Test", "das ist ein Test")
        RolloWZfenster.sendCommand(OFF)
        //logInfo("Test", FensterSZ.state)
end



Sobald ich diesen Code speichere, kommen die Fehlermeldungen.

thomas_w

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

Beitrag von thomas_w »

drevil75 hat geschrieben: 12. Jul 2020 18:34 das oder die Items habe ich in der items/shelly25.items definiert.

Code: Alles auswählen

Rollershutter   RolloWZfenster                     "RolloWZfenster" ["Blinds"]       {alexa="Blind", channel="shelly:shelly25-roller:68c63afb220b:roller#control"}

Code: Alles auswählen

        RolloWZfenster.sendCommand(OFF)


Sobald ich diesen Code speichere, kommen die Fehlermeldungen.
Nur mal eine Frage:
Was macht denn das "Blinds" im Item RolloWZfenster hier? Liegt es an Alexa?

Code: Alles auswählen

 ["Blinds"]       {alexa="Blind", 
Grüße
Thomas

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

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

Beitrag von Darkwin101 »

Dein Item ist als Rollershutter angelegt ein Rollershutter kann die Befehle Up Down, Stop Move, Percent

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

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

Beitrag von peter-pan »

Du schreibst, dass die Fehlermeldung, direkt beim Abspeichern der Rule kommt. Kann es sein, dass du ein falsches File-Format hast ? Wie editierst du das Rule-File ?

Ich habe die Regel mal bei mir abgespeichert, aber keine Fehler im Log bekommen.

Code: Alles auswählen

2020-07-14 13:52:43.357 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test_rollo.rules'
Nur der VSC-Editor meckert, dass das Item "RolloWZfenster" nicht definiert ist.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
KellerK1nd
Beiträge: 432
Registriert: 17. Jun 2019 16:45
Answers: 1
Wohnort: Griesheim

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

Beitrag von KellerK1nd »

Ich hab das so gelöst:

Code: Alles auswählen

rule "Tradfri Taster 1 Zuweisung"
when
    Channel "deconz:switch:homeserver:Tradfri_Taster_01:buttonevent" triggered
then
    switch (receivedEvent.getEvent()) {
        case "2002"        : if(gLichtEssbereichFenster.state != OFF) gLichtEssbereichFenster.sendCommand(OFF)
        case "1002"        : if(gLichtEssbereichFenster.state != ON) gLichtDimmerEssbereichFenster.sendCommand(1)
        case "1003"        : if(gLichtEssbereichFenster.state != OFF) gLichtDimmerEssbereichFenster.sendCommand((gLichtDimmerEssbereichFenster.state as Number)+49)
        case "2003"        : if(gLichtEssbereichFenster.state != OFF) gLichtDimmerEssbereichFenster.sendCommand((gLichtDimmerEssbereichFenster.state as Number)-49)
    }
end
Du hast ja mehrere Triggermöglichkeiten bei den Tastern, weiß jetzt nicht welchen Taster du im speziellen nutzt, aber in der Regel hat man die Option, kurzer Tastendruck und langer Tastendruck. Die rule ist schön übersichtlich.
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box

Antworten