Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deadlock when an automation/js/….js file is edited too often #3148

Closed
dilyanpalauzov opened this issue Nov 7, 2022 · 5 comments
Closed

Comments

@dilyanpalauzov
Copy link
Contributor

I edit a script /etc/openhab/automation/js/a.js several times, and save now and then the changes. Sometimes the scripts contain syntax errors. Every time the script is saved, openHAB logs:

2022-11-07 12:20:49.295 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/a.js'

Usually this is followed by

2022-11-07 12:20:50.677 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: abc

for each rule. But sometimes, the “Adding rule:” message does not appear, the system is stuck, and openHAB 3.3 needs to be stopped and started again.

On another occasion, sometimes after “Loading script …” the system logs:

2022-11-07 11:40:42.887 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:41:50.861 [WARN ] [ache.cxf.phase.PhaseInterceptorChain] - Interceptor for {http://internal.id.core.openhab.org/}UUIDResource has thrown exception, unwinding now
Caused by: java.io.IOException: Прекъснат канал ⇔ Interrupted channel

The duration of 1 minute above after the Loading script and the exception is unusually long, the “Adding rule” messages appear much earlier.

With this exception trace there is also a deadlock, as far as I remember, and the system needs to be restarted.

The complete log for the latter case since the system booted, is:

2022-11-07 11:01:03.990 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Sofia'.
2022-11-07 11:01:04.075 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'bg_BG'.
2022-11-07 11:01:36.960 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'releta.items'
2022-11-07 11:01:38.209 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r2.items'
2022-11-07 11:01:38.426 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r1.items'
2022-11-07 11:01:38.577 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'kb.items'
2022-11-07 11:01:38.723 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'ka.items'
2022-11-07 11:01:38.868 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r3.items'
2022-11-07 11:01:40.516 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
2022-11-07 11:01:40.735 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2022-11-07 11:01:43.246 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'ab.sitemap'
2022-11-07 11:01:45.617 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'kb.things'
2022-11-07 11:01:45.874 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'ka.things'
2022-11-07 11:01:45.999 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r2.things'
2022-11-07 11:01:46.127 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r3.things'
2022-11-07 11:01:46.269 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'r1.things'
2022-11-07 11:02:09.072 [ERROR] [ity.CommunityMarketplaceAddonService] - Unable to retrieve marketplace add-ons
java.net.UnknownHostException: community.openhab.org
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:229) ~[?:?]
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
	at java.net.Socket.connect(Socket.java:609) ~[?:?]
	at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:305) ~[?:?]
	at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) ~[?:?]
	at sun.net.NetworkClient.doConnect(NetworkClient.java:182) ~[?:?]
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:508) ~[?:?]
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:603) ~[?:?]
	at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266) ~[?:?]
	at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:373) ~[?:?]
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207) ~[?:?]
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187) ~[?:?]
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081) ~[?:?]
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193) ~[?:?]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592) ~[?:?]
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520) ~[?:?]
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.getRemoteAddons(CommunityMarketplaceAddonService.java:172) ~[?:?]
	at org.openhab.core.cache.ExpiringCache.refreshValue(ExpiringCache.java:101) [bundleFile:?]
	at org.openhab.core.cache.ExpiringCache.getValue(ExpiringCache.java:72) [bundleFile:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:110) [bundleFile:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:128) [bundleFile:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:117) [bundleFile:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:490) [?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:316) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1000) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:973) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:918) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) [org.eclipse.osgi-3.17.200.jar:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:533) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:655) [org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) [bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2556) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2075) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2058) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:333) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:301) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) [org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1271) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1222) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) [org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:667) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:305) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:554) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:70) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:421) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-7.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:944) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.17.200.jar:?]
2022-11-07 11:02:15.365 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2022-11-07 11:02:16.456 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'warnings.rules'
2022-11-07 11:02:23.107 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mode.rules'
2022-11-07 11:02:24.659 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'energo.rules'
2022-11-07 11:02:25.888 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'system_started.rules'
2022-11-07 11:02:35.860 [INFO ] [org.openhab.ui.internal.UIService   ] - Started UI on port 8080
2022-11-07 11:02:36.844 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
2022-11-07 11:02:41.238 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/pompi.js'
2022-11-07 11:02:45.103 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '127.0.0.1' with clientid openhab_client
2022-11-07 11:02:56.688 [DEBUG] [org.openhab.core.model.script.rele1 ] - токът спря 0
2022-11-07 11:02:56.768 [DEBUG] [org.openhab.core.model.script.rele1 ] - INV1 Warnings Няма мрежа PV Current 15 A Heatsink 30 °C PV1 Watts 806.9 W 1 Battery 90 Voltage 53.2 V SCC Voltage 53.26 V INV2 Warnings Няма мрежа PV Current 15 A Heatsink NULL PV2 Watts 805.8 W 2 Battery 90 Voltage 53.2 V SCC Voltage 53.19 V
2022-11-07 11:02:56.890 [DEBUG] [org.openhab.core.model.script.rele1 ] - INV1 Warnings Няма мрежа PV Current 15 A Heatsink 30 °C PV1 Watts 806.9 W 1 Battery 90 Voltage 53.2 V SCC Voltage 53.26 V INV2 Warnings Няма мрежа PV Current 15 A Heatsink NULL PV2 Watts 805.8 W 2 Battery 90 Voltage 53.2 V SCC Voltage 53.19 V
2022-11-07 11:02:56.930 [WARN ] [nternal.javasound.JavaSoundAudioSink] - Cannot determine master volume level - assuming 100%
2022-11-07 11:02:56.934 [WARN ] [nternal.javasound.JavaSoundAudioSink] - Cannot determine master volume level - assuming 100%
2022-11-07 11:02:57.465 [DEBUG] [org.openhab.core.model.script.rele1 ] - ANNOUNCE file:mode_akumulator.mp3 mode:🔋Акумулатор inv1_Battery_voltage:53.2 V inv2_Battery_voltage:53.2 V 1🔋 Акумулатори напрежение от SCC:53.26 V 2🔋 Акумулатори напрежение от SCC:53.19 V
2022-11-07 11:03:43.824 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление на помпите
2022-11-07 11:03:44.179 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Изключване при 0 W
2022-11-07 11:03:44.227 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Ръчно Управление на помпите
2022-11-07 11:03:44.433 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Помпи промяна горна/долна граница
2022-11-07 11:03:44.503 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:04:05.629 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:04:05.764 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:04:05.878 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:04:05.948 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:04:53.332 [INFO ] [b.automation.script.file.ka.js] - Зануляване false {
  "oldState": "CLOSED",
  "newState": "OPEN",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "OPEN",
    "oldType": "OpenClosed",
    "oldValue": "CLOSED"
  },
  "module": "bf3f608c-9088-4dec-9ac3-e0b95de29711"
}
2022-11-07 11:04:53.354 [INFO ] [b.automation.script.file.ka.js] - Включено е! OFF NULL
2022-11-07 11:09:08.897 [INFO ] [b.automation.script.file.ka.js] - Зануляване true {
  "oldState": "OPEN",
  "newState": "CLOSED",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "CLOSED",
    "oldType": "OpenClosed",
    "oldValue": "OPEN"
  },
  "module": "bf3f608c-9088-4dec-9ac3-e0b95de29711"
}
2022-11-07 11:09:09.007 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_offline: TypeError: invokeMember (postUpdate) on org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl@1363acb failed due to: Multiple applicable overloads found for method name postUpdate (candidates: [Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,org.openhab.core.types.State)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.String)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.Number)]], arguments: [JavaObject[r3 (Type=SwitchItem, State=ON, Label=Реле 3, Category=null) (org.openhab.core.library.items.SwitchItem)] (HostObject), DynamicObject<undefined>@1f2c34a (Nullish)]): TypeError: invokeMember (postUpdate) on org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl@1363acb failed due to: Multiple applicable overloads found for method name postUpdate (candidates: [Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,org.openhab.core.types.State)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.String)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.Number)]], arguments: [JavaObject[r3 (Type=SwitchItem, State=ON, Label=Реле 3, Category=null) (org.openhab.core.library.items.SwitchItem)] (HostObject), DynamicObject<undefined>@1f2c34a (Nullish)])
	at postUpdate (webpack://openhab/./node_modules/openhab/items/items.js?:269)
	at execute (ka.js:70)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:09:09.076 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_offline': Fail to execute action: 1
2022-11-07 11:13:27.962 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:13:33.262 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:13:33.423 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:13:33.532 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:13:33.630 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:15:34.511 [INFO ] [b.automation.script.file.ka.js] - Зануляване false {
  "oldState": "CLOSED",
  "newState": "OPEN",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "OPEN",
    "oldType": "OpenClosed",
    "oldValue": "CLOSED"
  },
  "module": "e034b503-6e7d-43ec-8eb1-1584c1ded2d5"
}
2022-11-07 11:15:34.520 [INFO ] [b.automation.script.file.ka.js] - Включено е! OFF ON
2022-11-07 11:19:32.893 [INFO ] [b.automation.script.file.ka.js] - Зануляване true {
  "oldState": "OPEN",
  "newState": "CLOSED",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "CLOSED",
    "oldType": "OpenClosed",
    "oldValue": "OPEN"
  },
  "module": "e034b503-6e7d-43ec-8eb1-1584c1ded2d5"
}
2022-11-07 11:19:32.943 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_offline: TypeError: invokeMember (postUpdate) on org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl@1363acb failed due to: Multiple applicable overloads found for method name postUpdate (candidates: [Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,org.openhab.core.types.State)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.String)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.Number)]], arguments: [JavaObject[r3 (Type=SwitchItem, State=ON, Label=Реле 3, Category=null) (org.openhab.core.library.items.SwitchItem)] (HostObject), DynamicObject<null>@1e4d5a2 (Nullish)]): TypeError: invokeMember (postUpdate) on org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl@1363acb failed due to: Multiple applicable overloads found for method name postUpdate (candidates: [Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,org.openhab.core.types.State)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.String)], Method[public java.lang.Object org.openhab.core.automation.module.script.internal.defaultscope.ScriptBusEventImpl.postUpdate(org.openhab.core.items.Item,java.lang.Number)]], arguments: [JavaObject[r3 (Type=SwitchItem, State=ON, Label=Реле 3, Category=null) (org.openhab.core.library.items.SwitchItem)] (HostObject), DynamicObject<null>@1e4d5a2 (Nullish)])
	at postUpdate (webpack://openhab/./node_modules/openhab/items/items.js?:269)
	at execute (ka.js:70)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:19:32.957 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_offline': Fail to execute action: 1
2022-11-07 11:22:13.508 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:22:18.669 [ERROR] [b.automation.script.javascript.stack] - Failed to execute script:
org.graalvm.polyglot.PolyglotException: SyntaxError: ka.js:30:21 Expected ( but found state
           } else if state != 'ON') {
                     ^
ka.js:33:7 Expected eof but found }
       }
       ^

	at org.graalvm.polyglot.Context.eval(Context.java:379) ~[?:?]
	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458) ~[?:?]
	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:400) ~[?:?]
	at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) ~[java.scripting:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.DelegatingScriptEngineWithInvocableAndAutocloseable.eval(DelegatingScriptEngineWithInvocableAndAutocloseable.java:56) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable.eval(InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable.java:79) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.DelegatingScriptEngineWithInvocableAndAutocloseable.eval(DelegatingScriptEngineWithInvocableAndAutocloseable.java:56) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable.eval(InvocationInterceptingScriptEngineWithInvocableAndAutoCloseable.java:79) ~[?:?]
	at org.openhab.core.automation.module.script.internal.ScriptEngineManagerImpl.loadScript(ScriptEngineManagerImpl.java:189) ~[?:?]
	at org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher.createAndLoad(ScriptFileWatcher.java:251) ~[?:?]
	at org.openhab.automation.jsscripting.internal.fs.watch.JSScriptFileWatcher.createAndLoad(JSScriptFileWatcher.java:55) ~[?:?]
	at org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher.importFile(ScriptFileWatcher.java:231) ~[?:?]
	at org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher.lambda$2(ScriptFileWatcher.java:223) ~[?:?]
	at java.util.Optional.ifPresent(Optional.java:183) ~[?:?]
	at org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher.importFileWhenReady(ScriptFileWatcher.java:221) ~[?:?]
	at org.openhab.core.automation.module.script.rulesupport.loader.ScriptFileWatcher.processWatchEvent(ScriptFileWatcher.java:198) ~[?:?]
	at org.openhab.automation.jsscripting.internal.fs.watch.JSScriptFileWatcher.processWatchEvent(JSScriptFileWatcher.java:49) ~[?:?]
	at org.openhab.core.service.WatchQueueReader.lambda$5(WatchQueueReader.java:357) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-11-07 11:22:18.689 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - Error during evaluation of script 'file:/etc/openhab/automation/js/ka.js': org.graalvm.polyglot.PolyglotException: SyntaxError: ka.js:30:21 Expected ( but found state
           } else if state != 'ON') {
                     ^
ka.js:33:7 Expected eof but found }
       }
       ^

2022-11-07 11:22:53.863 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:22:59.507 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:22:59.623 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:22:59.686 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:22:59.733 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:23:15.606 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:23:15.616 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:23:27.240 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:23:27.247 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:23:34.304 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:23:34.314 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:23:48.438 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:23:48.444 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:24:09.518 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:24:09.550 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:24:40.098 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:24:44.885 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:24:45.048 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:24:45.151 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:24:45.230 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:25:06.146 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:25:06.159 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:25:21.169 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:25:25.869 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:25:25.985 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:25:26.064 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:25:26.127 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:25:34.394 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:25:34.412 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:26:02.505 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:26:02.515 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:26:09.559 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:26:09.566 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:26:23.732 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:26:23.738 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:26:29.012 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:26:39.026 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:26:39.131 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:26:39.201 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:26:39.250 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:26:59.147 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:26:59.160 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:27:22.982 [ERROR] [b.automation.script.file.ka.js] - Failed to execute rule releta_auto: TypeError: Cannot read property "state" from undefined: TypeError: Cannot read property "state" from undefined
	at execute (ka.js:27)
	at doExecute (webpack://openhab/./node_modules/openhab/rules/rules.js?:242)
2022-11-07 11:27:22.988 [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'releta_auto': Fail to execute action: 1
2022-11-07 11:27:25.809 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:27:34.006 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:27:34.202 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:27:34.389 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:27:34.500 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:30:57.546 [INFO ] [b.automation.script.file.ka.js] - Зануляване false {
  "oldState": "CLOSED",
  "newState": "OPEN",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "OPEN",
    "oldType": "OpenClosed",
    "oldValue": "CLOSED"
  },
  "module": "d480d5c0-f31e-4a90-af55-5264a9f0e860"
}
2022-11-07 11:30:57.559 [INFO ] [b.automation.script.file.ka.js] - 1 Включено е! ON ON
2022-11-07 11:30:57.584 [INFO ] [b.automation.script.file.ka.js] - 2 Включено е! ON ON
2022-11-07 11:32:56.518 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:33:10.840 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:33:10.948 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:33:11.017 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:33:11.066 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:33:37.916 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:33:52.194 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:33:52.320 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:33:52.426 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:33:52.497 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:35:38.858 [INFO ] [b.automation.script.file.ka.js] - Зануляване true {
  "oldState": "OPEN",
  "newState": "CLOSED",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "CLOSED",
    "oldType": "OpenClosed",
    "oldValue": "OPEN"
  },
  "module": "223a00b9-e56c-41c2-8dd5-c4a7126285a8"
}
2022-11-07 11:37:20.802 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:37:49.921 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Смяна на режима на разреждане
2022-11-07 11:37:50.125 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Автоматично управление
2022-11-07 11:37:50.299 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Зануляване
2022-11-07 11:37:50.543 [INFO ] [org.openhab.automation.script.rules ] - Adding rule: Минаване на ръчно/автоматично управление
2022-11-07 11:38:15.236 [INFO ] [b.automation.script.file.ka.js] - Зануляване false {
  "oldState": "CLOSED",
  "newState": "OPEN",
  "itemName": "r3_online",
  "eventType": "change",
  "triggerType": "ItemStateChangeTrigger",
  "eventClass": "org.openhab.core.items.events.ItemStateChangedEvent",
  "payload": {
    "type": "OpenClosed",
    "value": "OPEN",
    "oldType": "OpenClosed",
    "oldValue": "CLOSED"
  },
  "module": "abb5e922-02a7-4118-9562-bfbc3fbb3f41"
}
2022-11-07 11:38:15.249 [INFO ] [b.automation.script.file.ka.js] - 1 Включено е! OFF NULL
2022-11-07 11:40:42.887 [INFO ] [rulesupport.loader.ScriptFileWatcher] - Loading script '/etc/openhab/automation/js/ka.js'
2022-11-07 11:41:50.861 [WARN ] [ache.cxf.phase.PhaseInterceptorChain] - Interceptor for {http://internal.id.core.openhab.org/}UUIDResource has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) ~[bundleFile:3.4.5]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[bundleFile:3.1.0]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.5]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:74) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.46.v20220331]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: org.eclipse.jetty.io.EofException
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:279) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:834) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:555) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:1014) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:1086) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpOutput.channelWrite(HttpOutput.java:285) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:638) ~[bundleFile:9.4.46.v20220331]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:791) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit.close(AbstractHTTPDestination.java:722) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) ~[bundleFile:3.4.5]
	... 48 more
Caused by: java.io.IOException: Прекъснат канал
	at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) ~[?:?]
	at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) ~[?:?]
	at sun.nio.ch.IOUtil.write(IOUtil.java:182) ~[?:?]
	at sun.nio.ch.IOUtil.write(IOUtil.java:130) ~[?:?]
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:493) ~[?:?]
	at java.nio.channels.SocketChannel.write(SocketChannel.java:507) ~[?:?]
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:273) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:277) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:834) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:555) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:1014) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:1086) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpOutput.channelWrite(HttpOutput.java:285) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:638) ~[bundleFile:9.4.46.v20220331]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:791) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit.close(AbstractHTTPDestination.java:722) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) ~[bundleFile:3.4.5]
	... 48 more
2022-11-07 11:41:57.626 [WARN ] [ache.cxf.phase.PhaseInterceptorChain] - Interceptor for {http://internal.id.core.openhab.org/}UUIDResource has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: XML_WRITE_EXC
	at org.apache.cxf.jaxrs.interceptor.JAXRSDefaultFaultOutInterceptor.handleMessage(JAXRSDefaultFaultOutInterceptor.java:106) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.wrapExceptionAsFault(PhaseInterceptorChain.java:374) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:332) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) ~[bundleFile:3.4.5]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[bundleFile:3.1.0]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.5]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:74) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.46.v20220331]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.46.v20220331]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: com.ctc.wstx.exc.WstxIOException: Closed
	at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:262) ~[?:?]
	at org.apache.cxf.jaxrs.interceptor.JAXRSDefaultFaultOutInterceptor.handleMessage(JAXRSDefaultFaultOutInterceptor.java:104) ~[bundleFile:3.4.5]
	... 51 more
Caused by: org.eclipse.jetty.io.EofException: Closed
	at org.eclipse.jetty.server.HttpOutput.checkWritable(HttpOutput.java:771) ~[bundleFile:9.4.46.v20220331]
	at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:795) ~[bundleFile:9.4.46.v20220331]
	at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:51) ~[bundleFile:3.4.5]
	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:100) ~[?:?]
	at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:242) ~[?:?]
	at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:260) ~[?:?]
	at org.apache.cxf.jaxrs.interceptor.JAXRSDefaultFaultOutInterceptor.handleMessage(JAXRSDefaultFaultOutInterceptor.java:104) ~[bundleFile:3.4.5]
	... 51 more
@J-N-K
Copy link
Member

J-N-K commented Nov 13, 2022

Without the full content of your rules file it is hard to say what is going on. In general the stack trace from CXF is unrelated to rule loading.

@dilyanpalauzov
Copy link
Contributor Author

I agree that the problem is not reproducible. Also the stack trace appears seldom, not every time the system stops working, so it might unrelated. OpenHAB 3.3. The deadlock happens, after I do minor edits in the file below and save it, edit, save, edit, save… and at some point there is a deadlock.

// /etc/openhab/automation/js/zzz.js

class Rele {
    constructor(z) {
	this.item = items.getItem(z)
	this.name = z
	this.manual = items.getItem(z + "_manual")
        this.maxItem = items.getItem(z + "_on")
        this.minItem = items.getItem(z + "_off")
	this.onWatts = items.getItem(z + "_on_watts")
    }
    get isManual() {
	return this.manual.state == "ON"
    }
    //get isOn() { // NULL is for unknown
    //	return this.item.state != "OFF"
    //  }
    turn(state) {
	this.item.sendCommand(state)
    }
}
const releta = ["r1", "r2", "r3", "rk"].map(x => new Rele(x)), load_mode = items.getItem('inv1_Inverter_mode'), volts = items.getItem('inv1_Battery_voltage'), inv1_input_watts = items.getItem('inv1_PV_in_watts'), inv2_input_watts = items.getItem('inv2_PV_in_watts'), unload_mode = items.getItem('inv1_Out_source_priority'), mqtt_broker = actions.get("mqtt", "mqtt:broker:5cc410aefc"), on_watts = {}
let umode = unload_mode.state != "първо 🌞 после 🔋 и накрая ⚛"
releta.forEach(y => on_watts[y.name] = y.onWatts.rawState.intValue())

function execute(data) {
    const acc = load_mode.state == "🔋Акумулатор", watts = inv1_input_watts.rawState.intValue() + inv2_input_watts.rawState.intValue()
    // if ((data.itemName == "inv1_PV_in_watts" || data.itemName == "inv2_PV_in_watts") && data.newState == "0 W") console.log(data)
    for (const x of releta) {
       if (!x.isManual) {
           const state = x.item.state
           if (state == 'ON') {
               if (!acc || umode || volts.rawState.floatValue() <= x.minItem.rawState) x.turn('OFF')
           } else if (state == 'OFF') {
               if (acc && !umode && volts.rawState.floatValue() >= x.maxItem.rawState && watts >= on_watts[x.name]) x.turn('ON')
	   } else { // state == 'NULL'
	       x.turn(acc && !umode && volts.rawState.floatValue() > x.minItem.rawState && watts >= on_watts[x.name] ? 'ON' : 'OFF')
	   }
       }
    }
}

rules.JSRule({
    name: 'Смяна на режима на разреждане',
    id: 'change_unload_mode',
    triggers: triggers.ItemStateChangeTrigger('inv1_Out_source_priority'),
    execute: (data) => {
	umode = unload_mode.state != "първо 🌞 после 🔋 и накрая ⚛"
	execute(data)
    }
})

rules.JSRule({
    name: 'Промяна на ватовете за включване',
    id: 'on_watt_change',
    triggers: releta.map(y => triggers.ItemStateChangeTrigger(y.name + '_on_watts')),
    execute: (data) => {
        releta.forEach(y => on_watts[y.name] = y.onWatts.rawState.intValue())
	execute(data)
    }
})

rules.JSRule({
    name: 'Автоматично управление',
    description: 'Автоматично управление',
    id: 'releta_auto',
    triggers: [
	...releta.map(y => [triggers.ItemStateChangeTrigger(y.name + '_on'),
                            triggers.ItemStateChangeTrigger(y.name + '_off')]).flat(),
	triggers.ItemStateChangeTrigger('inv1_PV_in_watts', null, "0 W"),
	triggers.ItemStateChangeTrigger('inv2_PV_in_watts', null, "0 W"),
	triggers.ItemStateChangeTrigger('inv1_Battery_voltage'),
	triggers.ItemStateChangeTrigger('inv1_Inverter_mode')],
    execute: (data) => {
	if (data.itemName.endsWith("_on")) {
            const y = data.itemName.substring(0, 2), r = releta.find(x =>  x.name == y)
            if (r.maxItem.rawState.floatValue() - r.minItem.rawState.floatValue() < 0.1)
		r.minItem.sendCommand(r.maxItem.rawState.floatValue() - 0.1)
	} else if (data.itemName.endsWith("_off")) {
            const y = data.itemName.substring(0, 2), r = releta.find(x =>  x.name == y)
            if (r.maxItem.rawState.floatValue() - r.minItem.rawState.floatValue() < 0.1)
		r.maxItem.sendCommand(r.minItem.rawState.floatValue() + 0.1)
        }
	execute(data)
    }
})

rules.JSRule({
    name: 'Зануляване',
    id: 'releta_offline',
    triggers: releta.map(y => triggers.ItemStateChangeTrigger(y.name + '_online')),
    execute: (data) => {
        if (data.newState == 'CLOSED') {
            const y = data.itemName.substr(0, 3)
            for (const x of ["power", "current", "voltage", "temperature"])
                items.getItem(y + x).postUpdate('NULL')
            const r = data.itemName.substr(0, 2)
	    items.getItem(r).postUpdate('NULL')
	} else {
	    const r = new Rele(data.itemName.substr(0, 2))
            if (!r.isManual)
                execute(data)
	}
    }
})

rules.JSRule({
    name: 'Минаване на ръчно/автоматично управление',
    id: 'releta_manual',
    triggers: releta.map(y => triggers.ItemStateChangeTrigger(y.name + '_manual')),
    execute: (data) => {
        const t = data.itemName.substr(0, 2) + '/rpc'
	if (data.newState == 'ON') {
            mqtt_broker.publishMQTT(t, '{"id":10,"src":"S","method":"Script.Stop","params":{"id":1}}')
            mqtt_broker.publishMQTT(t, '{"id":11,"src":"T","method":"Script.SetConfig","params":{"id":1,"config":{"enable":false}}}')
	} else {
	    execute(data)
            mqtt_broker.publishMQTT(t, '{"id":12,"src":"S","method":"Script.Start","params":{"id":1}}')
            mqtt_broker.publishMQTT(t, '{"id":13,"src":"T","method":"Script.SetConfig","params":{"id":1,"config":{"enable":true}}}')
	}
    }
})

@dilyanpalauzov
Copy link
Contributor Author

I run openHAB on armv7l using openjdk 11.0.16 2022-07-19. According to openhab/openhab-addons#13714 this is incompatible with openHAB 3.4M4, but I am using openHAB 3.3.

@florian-h05
Copy link
Contributor

Duplicate of openhab/openhab-addons#12577?

@dilyanpalauzov
Copy link
Contributor Author

Yes. So this is not a deadlock, but a memory leak.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants