- Platform information:
- Hardware: Docker Container x84_64/1GB RAM
- OS: Linux openhab-2.4.0-final-deb-12.2018 4.4.59+ #23824 SMP PREEMPT Fri Oct 12 18:31:34 CST 2018 x86_64 GNU/Linux
- Java Runtime Environment: openjdk version “1.8.0_192”
OpenJDK Runtime Environment (Zulu 8.33.0.1-linux64) (build 1.8.0_192-b01)
OpenJDK 64-Bit Server VM (Zulu 8.33.0.1-linux64) (build 25.192-b01, mixed mode) - openHAB version: Upgrade from OH 2.3 Release Build to OH 2.4 Release Build
The funny thing is sometimes it works and sometimes it doesn’t. This means that I see this error only at system startup (but not every time probably 3 of 5 times) and the rule runs fine when triggered while the system is up and running for a while. It seems to me that this behaviour might be related to my other issue and Richs explanation to it:
But maybe I am wrong and some one can help me understand what happens …
Issue of the topic: Getting following error in karaf console at system start:
11:12:02.552 [ERROR] [.xtext.validation.CompositeEValidator] - Error executing EValidator
java.util.ConcurrentModificationException: null
at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:758) ~[?:?]
at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:712) ~[?:?]
at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:692) ~[?:?]
at org.eclipse.emf.common.util.AbstractTreeIterator.next(AbstractTreeIterator.java:133) ~[?:?]
at org.eclipse.xtext.resource.impl.DefaultResourceDescription.computeExportedObjects(DefaultResourceDescription.java:88) ~[?:?]
at org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager$1.getLookUp(DerivedStateAwareResourceDescriptionManager.java:84) ~[?:?]
at org.eclipse.xtext.resource.impl.AbstractResourceDescription.getExportedObjects(AbstractResourceDescription.java:50) ~[?:?]
at org.eclipse.xtext.resource.impl.AbstractCompoundSelectable$4.apply(AbstractCompoundSelectable.java:75) ~[?:?]
at org.eclipse.xtext.resource.impl.AbstractCompoundSelectable$4.apply(AbstractCompoundSelectable.java:71) ~[?:?]
at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:43) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.Iterators.addAll(Iterators.java:361) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.Iterables.addAll(Iterables.java:354) ~[22:com.google.guava:18.0.0]
at com.google.common.collect.Sets.newLinkedHashSet(Sets.java:328) ~[22:com.google.guava:18.0.0]
at org.eclipse.xtext.xbase.lib.IterableExtensions.toSet(IterableExtensions.java:619) ~[160:org.eclipse.xtext.xbase.lib:2.14.0.v20180522-1629]
at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.checkUniqueInIndex(UniqueClassNameValidator.java:102) ~[?:?]
at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.doCheckUniqueName(UniqueClassNameValidator.java:95) ~[?:?]
at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.doCheckUniqueName(UniqueClassNameValidator.java:87) ~[?:?]
at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.lambda$checkUniqueName$0(UniqueClassNameValidator.java:74) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.checkUniqueName(UniqueClassNameValidator.java:76) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118) ~[154:org.eclipse.xtext:2.14.0.v20180522-1821]
at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312) ~[154:org.eclipse.xtext:2.14.0.v20180522-1821]
at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71) ~[154:org.eclipse.xtext:2.14.0.v20180522-1821]
at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151) [154:org.eclipse.xtext:2.14.0.v20180522-1821]
at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171) [66:org.eclipse.emf.ecore:2.12.0.v20160420-0247]
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158) [66:org.eclipse.emf.ecore:2.12.0.v20160420-0247]
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) [66:org.eclipse.emf.ecore:2.12.0.v20160420-0247]
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:108) [66:org.eclipse.emf.ecore:2.12.0.v20160420-0247]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.validateModel(ModelRepositoryImpl.java:280) [128:org.eclipse.smarthome.model.core:0.10.0.oh240]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:93) [128:org.eclipse.smarthome.model.core:0.10.0.oh240]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) [128:org.eclipse.smarthome.model.core:0.10.0.oh240]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processIgnoredFiles(FolderObserver.java:137) [128:org.eclipse.smarthome.model.core:0.10.0.oh240]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.addModelParser(FolderObserver.java:85) [128:org.eclipse.smarthome.model.core:0.10.0.oh240]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.inject.methods.BindMethod.invoke(BindMethod.java:42) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1809) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1784) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:409) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:333) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:302) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) [39:org.apache.felix.scr:2.1.2]
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) [?:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:891) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:877) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:944) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:727) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125) [39:org.apache.felix.scr:2.1.2]
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) [?:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:891) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:877) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:128) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:944) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:727) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:661) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:427) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:381) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:263) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [39:org.apache.felix.scr:2.1.2]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [39:org.apache.felix.scr:2.1.2]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) [?:?]
at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
11:12:04.983 [INFO ] [del.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'SetDefaults.rules', using it anyway:
Error executing EValidator
11:12:04.986 [INFO ] [del.co
This is the corresponding rule
file:
// Setting Default Values at System Start
rule "Heizung Defaults to AUTO"
when Time cron "17 42 0 ? * MON-SUN" or
Time cron "17 52 6 ? * MON-FRI" or
Time cron "17 52 7 ? * SAT-SUN"
// Debug
//when Item modeBudHeiz changed
then
// Heizungsmodus auf << Programm >> gleich << AUTO >> setzen
logInfo("FILE", "***** SET_DEFAULTS: Checking Heizungsmodus: " + modeBudHeiz.state)
if (modeBudHeiz.state != "auto") {
modeBudHeiz.sendCommand("auto")
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** SET_DEFAULTS setzt Heizungsmodus auf: " + modeBudHeiz.state)
}
end
rule "Set Default Values"
when
System started
then
Thread::sleep(5000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** SET_DEFAULTS starting: Setting System Defaults at openHAB2 startup or recycle *****")
// Standard Luftdruckwert für Ginsheim
STDPres.postUpdate(1013.25)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** Standard Luftdruckwert STDPres wird gesetzt auf Default: " + STDPres.state)
// Standard Kalibrierwert für Devolo Sensor setzen
WzTempCalibWert.postUpdate(0.6)
WzHumiCalibWert.postUpdate(-7.0)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** WzTempCalibWert wird gesetzt auf Default: " + WzTempCalibWert.state)
logInfo("FILE", "***** WzHumiCalibWert wird gesetzt auf Default: " + WzHumiCalibWert.state)
// Standard Temperatur für das Wohnzimmer setzen
comfGruppeEGtemp.postUpdate(22.9)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** comfGruppeEGtemp wird gesetzt auf Default: " + comfGruppeEGtemp.state)
// Setting default for Wasserdruck Notification
if (EmailStatusDruck.state != NULL) logInfo("FILE", "***** EmailStatusDruck ist gesetzt mit dem Wert: " + EmailStatusDruck.state)
if (EmailStatusDruck.state == NULL) {
EmailStatusDruck.postUpdate("off")
logInfo("FILE", "***** EmailStatusDruck hatte noch keinen Wert und wird gesetzt auf: " + EmailStatusDruck.state)
}
// Setting default for MamaIstKalt
MamaIstKalt.postUpdate(0)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** MamaIstKalt wird gesetzt auf Default: " + MamaIstKalt.state)
// Setting default for PartyPauseModus
PartyPauseModus.postUpdate(0)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** PartyPauseModus wird gesetzt auf Default: " + PartyPauseModus.state)
// Setting default for ManualOverWrite
ManualOverWrite.postUpdate(0)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** ManualOverWrite wird gesetzt auf Default: " + ManualOverWrite.state)
// Setting Min und Max Werte für Heizungsdruck Chart
minBudHeizDruck.postUpdate(0)
maxBudHeizDruck.postUpdate(2.5)
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** minBudHeizDruck wird gesetzt auf Default: " + minBudHeizDruck.state)
logInfo("FILE", "***** maxBudHeizDruck wird gesetzt auf Default: " + maxBudHeizDruck.state)
// Online Status von Sensor und Thermostaten abfragen und in Variablen setzen
var wz_status = getThingStatusInfo("zwave:device:73a3cf04:node2").getStatus()
ZwaveWzStat.postUpdate(wz_status.toString())
var gh_status = getThingStatusInfo("zwave:device:73a3cf04:node3").getStatus()
ZwaveGhStat.postUpdate(gh_status.toString())
var statavm1 = getThingStatusInfo("avmfritz:FRITZ_DECT_300:fritzbox:SOME_FB_AIN").getStatus()
DevFD3CdgEZstat.postUpdate(statavm1.toString())
var statavm2 = getThingStatusInfo("avmfritz:Comet_DECT:fritzbox:SOME_FB_AIN").getStatus()
DevCD3CogBZstat.postUpdate(statavm2.toString())
var statavm3 = getThingStatusInfo("avmfritz:FRITZ_DECT_300:fritzbox:SOME_FB_AIN").getStatus()
DevFD3CegKstat.postUpdate(statavm3.toString())
var statavm4 = getThingStatusInfo("avmfritz:FRITZ_DECT_300:fritzbox:SOME_FB_AIN").getStatus()
DevFD3CegWZFstat.postUpdate(statavm4.toString())
var statavm5 = getThingStatusInfo("avmfritz:FRITZ_DECT_300:fritzbox:SOME_FB_AIN").getStatus()
DevFD3CegWZTstat.postUpdate(statavm5.toString())
// Kontrolle ob Devolo Sensor (Wohnzimmer) online ist
if (wz_status.toString() == 'OFFLINE')
{
logInfo("FILE", "***** SET_DEFAULTS: The zWave Thing << Devolo Sensor >> is " + wz_status)
val message = "SET_DEFAULTS Rule: Devolo Sensor (Wohnzimmer) is >> " + wz_status + " <<. Please consider rebooting the Docker container !!!"
sendMail("bla@yahoo.kx", "SET_DEFAULTS: Devolo Sensor (WZ) is " + wz_status + " !!!", message)
}
if (wz_status.toString() == 'ONLINE')
{
logInfo("FILE", "***** SET_DEFAULTS: zWave Thing << Devolo Sensor (Wohnzimmer) >> is " + wz_status)
val message = "SET_DEFAULTS Rule: Devolo Sensor (Wohnzimmer) is >> " + wz_status + " <<. Nothing to do !!!"
sendMail("bla@yahoo.kx", "SET_DEFAULTS: Devolo Sensor (WZ) is " + wz_status + " !!!", message)
}
// Kontrolle ob Fibaro Sensor (Gartenhaus) online ist
if (gh_status.toString() == 'OFFLINE')
{
logInfo("FILE", "***** SET_DEFAULTS: The zWave Thing << Fibaro Sensor (Gartenhaus) >> is " + gh_status)
val message = "SET_DEFAULTS Rule: Fibaro Sensor (Gartenhaus) is >> " + gh_status + " <<. Please consider rebooting the Docker container !!!"
sendMail("bla@yahoo.kx", "SET_DEFAULTS: Fibaro Sensor (GH) is " + gh_status + " !", message)
}
if (gh_status.toString() == 'ONLINE')
{
logInfo("FILE", "***** SET_DEFAULTS: zWave Thing << Fibaro Sensor (Gartenhaus) >> is " + gh_status)
val message = "SET_DEFAULTS Rule: Fibaro Sensor (Gartenhaus) is >> " + gh_status + " <<. Nothing to do !!!"
sendMail("bla@yahoo.kx", "SET_DEFAULTS: Fibaro Sensor (GH) is " + gh_status + " !", message)
}
// Korrigieren der Außentemperatur
corrBudAussen.postUpdate((istBudAussen.state as DecimalType) - 1.3)
logInfo("FILE", "***** istBudAussen wird korrigiert auf: " + corrBudAussen.state)
// repeat 'if' for other items
#
Thread::sleep(3000) // let persistence finish restoring a few seconds
logInfo("FILE", "***** SET_DEFAULTS finished: Setting System Defaults at openHAB2 startup or recycle *****")
end
I would be happy to understand why this happens and if it is critical. When the rule is triggered when the system is running for a while (e.g. changing the rule rile) then it runs without errors … That is why I assume that Richs explanation of my other issue might be true here as well …