I can’t get LogAction
to work.
I’m currently running a recent snapshot: openHAB 2.5.0 Build #1624.
Here’s the manual.
Minimal example:
"""
This is a test rule.
"""
from core.rules import rule
from core.triggers import when
# Logging:
from core.actions import LogAction
@rule("myRuleTest - System started", description="Initialize globals when the rule is reloaded")
@when("System started")
def myRuleTest_SystemStarted(event):
LogAction.logInfo("EXAMPLE", "myRuleTest_SystemStarted() - START")
Log output:
2019-06-27 19:29:25.171 [DEBUG] [rt.internal.loader.ScriptFileWatcher] - in queue: {groovy=[file:/etc/openhab2/automation/jsr223/groovy/core/000_startup_delay.groovy], md=[file:/etc/openhab2/automation/jsr223/python/personal/README.md, file:/etc/openhab2/automation/jsr223/groovy/community/README.md, file:/etc/openhab2/automation/jsr223/javascript/personal/README.md, file:/etc/openhab2/automation/jsr223/python/community/README.md, file:/etc/openhab2/automation/jsr223/javascript/community/README.md, file:/etc/openhab2/automation/jsr223/groovy/personal/README.md]}
2019-06-27 19:29:25.181 [INFO ] [rt.internal.loader.ScriptFileWatcher] - Loading script 'python/personal/test.py'
2019-06-27 19:29:25.187 [DEBUG] [ipt.internal.ScriptEngineManagerImpl] - Added ScriptEngine for language 'py' with identifier: file:/etc/openhab2/automation/jsr223/python/personal/test.py
2019-06-27 19:29:25.331 [ERROR] [org.openhab.core.ephemeris ] - bundle org.openhab.core.ephemeris:2.5.0.201906270306 (147)[org.openhab.ephemeris(76)] : The activate method has thrown an exception
java.lang.IllegalArgumentException: No enum constant java.time.DayOfWeek."MONDAY
at java.lang.Enum.valueOf(Enum.java:238) ~[?:?]
at java.time.DayOfWeek.valueOf(DayOfWeek.java:109) ~[?:?]
at org.eclipse.smarthome.core.ephemeris.internal.EphemerisManagerImpl.lambda$2(EphemerisManagerImpl.java:104) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) ~[?:?]
at org.eclipse.smarthome.core.ephemeris.internal.EphemerisManagerImpl.lambda$1(EphemerisManagerImpl.java:103) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:?]
at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:?]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:?]
at org.eclipse.smarthome.core.ephemeris.internal.EphemerisManagerImpl.modified(EphemerisManagerImpl.java:98) ~[?:?]
at org.eclipse.smarthome.core.ephemeris.internal.EphemerisManagerImpl.activate(EphemerisManagerImpl.java:93) ~[?:?]
at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source) ~[?:?]
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) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:340) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:86) ~[?:?]
at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1154) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1568) ~[?:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:935) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:478) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:482) ~[?:?]
at org.python.core.PyMethod.__call__(PyMethod.java:141) ~[?:?]
at core.osgi$py.find_services$2(/etc/openhab2/automation/lib/python/core/osgi/__init__.py:24) ~[?:?]
at core.osgi$py.call_function(/etc/openhab2/automation/lib/python/core/osgi/__init__.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyBaseCode.call(PyBaseCode.java:153) ~[?:?]
at org.python.core.PyFunction.__call__(PyFunction.java:423) ~[?:?]
at core.actions$py.f$0(/etc/openhab2/automation/lib/python/core/actions.py:40) ~[?:?]
at core.actions$py.call_function(/etc/openhab2/automation/lib/python/core/actions.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.imp.createFromCode(imp.java:436) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:236) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:205) ~[?:?]
at org.python.core.imp.loadFromSource(imp.java:651) ~[?:?]
at org.python.core.imp.find_module(imp.java:543) ~[?:?]
at org.python.core.PyModule.impAttr(PyModule.java:106) ~[?:?]
at org.python.core.imp.import_next(imp.java:842) ~[?:?]
at org.python.core.imp.import_logic(imp.java:904) ~[?:?]
at org.python.core.imp.import_module_level(imp.java:978) ~[?:?]
at org.python.core.imp.importName(imp.java:1062) ~[?:?]
at org.python.core.ImportFunction.__call__(__builtin__.java:1280) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:431) ~[?:?]
at org.python.core.__builtin__.__import__(__builtin__.java:1232) ~[?:?]
at org.python.core.imp.importFromAs(imp.java:1156) ~[?:?]
at org.python.core.imp.importFrom(imp.java:1132) ~[?:?]
at org.python.pycode._pyx186.f$0(<script>:11) ~[?:?]
at org.python.pycode._pyx186.call_function(<script>) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.Py.runCode(Py.java:1386) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:497) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:501) ~[?:?]
at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:259) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:40) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:47) ~[?:?]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) ~[?:?]
at org.openhab.core.automation.module.script.internal.ScriptEngineManagerImpl.loadScript(ScriptEngineManagerImpl.java:147) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.importFile(ScriptFileWatcher.java:177) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.processWatchEvent(ScriptFileWatcher.java:144) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
2019-06-27 19:29:25.498 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - Error during evaluation of script 'file:/etc/openhab2/automation/jsr223/python/personal/test.py': AttributeError: 'NoneType' object has no attribute 'actionClass' in <script> at line number 9
2019-06-27 19:29:25.480 [WARN ] [org.openhab.core.ephemeris ] - FrameworkEvent WARNING - org.openhab.core.ephemeris
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:86) ~[?:?]
at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1154) ~[?:?]
at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1568) ~[?:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:935) ~[?:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:478) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:482) ~[?:?]
at org.python.core.PyMethod.__call__(PyMethod.java:141) ~[?:?]
at core.osgi$py.find_services$2(/etc/openhab2/automation/lib/python/core/osgi/__init__.py:24) ~[?:?]
at core.osgi$py.call_function(/etc/openhab2/automation/lib/python/core/osgi/__init__.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyBaseCode.call(PyBaseCode.java:153) ~[?:?]
at org.python.core.PyFunction.__call__(PyFunction.java:423) ~[?:?]
at core.actions$py.f$0(/etc/openhab2/automation/lib/python/core/actions.py:40) ~[?:?]
at core.actions$py.call_function(/etc/openhab2/automation/lib/python/core/actions.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.imp.createFromCode(imp.java:436) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:236) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:205) ~[?:?]
at org.python.core.imp.loadFromSource(imp.java:651) ~[?:?]
at org.python.core.imp.find_module(imp.java:543) ~[?:?]
at org.python.core.PyModule.impAttr(PyModule.java:106) ~[?:?]
at org.python.core.imp.import_next(imp.java:842) ~[?:?]
at org.python.core.imp.import_logic(imp.java:904) ~[?:?]
at org.python.core.imp.import_module_level(imp.java:978) ~[?:?]
at org.python.core.imp.importName(imp.java:1062) ~[?:?]
at org.python.core.ImportFunction.__call__(__builtin__.java:1280) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:431) ~[?:?]
at org.python.core.__builtin__.__import__(__builtin__.java:1232) ~[?:?]
at org.python.core.imp.importFromAs(imp.java:1156) ~[?:?]
at org.python.core.imp.importFrom(imp.java:1132) ~[?:?]
at org.python.pycode._pyx186.f$0(<script>:11) ~[?:?]
at org.python.pycode._pyx186.call_function(<script>) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.Py.runCode(Py.java:1386) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:497) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:501) ~[?:?]
at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:259) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:40) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:47) ~[?:?]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) ~[?:?]
at org.openhab.core.automation.module.script.internal.ScriptEngineManagerImpl.loadScript(ScriptEngineManagerImpl.java:147) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.importFile(ScriptFileWatcher.java:177) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.processWatchEvent(ScriptFileWatcher.java:144) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:?]
at java.lang.Thread.run(Thread.java:748) ~[?:?]
2019-06-27 19:29:25.542 [DEBUG] [rt.internal.loader.ScriptFileWatcher] - Script loaded: python/personal/test.py
2019-06-27 19:29:25.544 [WARN ] [org.openhab.core.model.script ] - FrameworkEvent WARNING - org.openhab.core.model.script
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[?:?]
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:478) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:482) ~[?:?]
at org.python.core.PyMethod.__call__(PyMethod.java:141) ~[?:?]
at core.osgi$py.find_services$2(/etc/openhab2/automation/lib/python/core/osgi/__init__.py:24) ~[?:?]
at core.osgi$py.call_function(/etc/openhab2/automation/lib/python/core/osgi/__init__.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyBaseCode.call(PyBaseCode.java:153) ~[?:?]
at org.python.core.PyFunction.__call__(PyFunction.java:423) ~[?:?]
at core.actions$py.f$0(/etc/openhab2/automation/lib/python/core/actions.py:40) ~[?:?]
at core.actions$py.call_function(/etc/openhab2/automation/lib/python/core/actions.py) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.imp.createFromCode(imp.java:436) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:236) ~[?:?]
at org.python.core.imp.createFromPyClass(imp.java:205) ~[?:?]
at org.python.core.imp.loadFromSource(imp.java:651) ~[?:?]
at org.python.core.imp.find_module(imp.java:543) ~[?:?]
at org.python.core.PyModule.impAttr(PyModule.java:106) ~[?:?]
at org.python.core.imp.import_next(imp.java:842) ~[?:?]
at org.python.core.imp.import_logic(imp.java:904) ~[?:?]
at org.python.core.imp.import_module_level(imp.java:978) ~[?:?]
at org.python.core.imp.importName(imp.java:1062) ~[?:?]
at org.python.core.ImportFunction.__call__(__builtin__.java:1280) ~[?:?]
at org.python.core.PyObject.__call__(PyObject.java:431) ~[?:?]
at org.python.core.__builtin__.__import__(__builtin__.java:1232) ~[?:?]
at org.python.core.imp.importFromAs(imp.java:1156) ~[?:?]
at org.python.core.imp.importFrom(imp.java:1132) ~[?:?]
at org.python.pycode._pyx186.f$0(<script>:11) ~[?:?]
at org.python.pycode._pyx186.call_function(<script>) ~[?:?]
at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
at org.python.core.Py.runCode(Py.java:1386) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:497) ~[?:?]
at org.python.core.__builtin__.eval(__builtin__.java:501) ~[?:?]
at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:259) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:40) ~[?:?]
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:47) ~[?:?]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) ~[?:?]
at org.openhab.core.automation.module.script.internal.ScriptEngineManagerImpl.loadScript(ScriptEngineManagerImpl.java:147) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.importFile(ScriptFileWatcher.java:177) ~[?:?]
at org.openhab.core.automation.module.script.rulesupport.internal.loader.ScriptFileWatcher.processWatchEvent(ScriptFileWatcher.java:144) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:?]
at java.lang.Thread.run(Thread.java:748) ~[?:?]
What am I doing wrong?