ok, lets go
here is the bundle, rename it to .jar, prepare as described above (create the .things file and insert your apikey) and copy the jar to your addons folder.
org.openhab.binding.rachio-2.3.0-SNAPSHOT.jar.pdf (251.1 KB)
ok, lets go
here is the bundle, rename it to .jar, prepare as described above (create the .things file and insert your apikey) and copy the jar to your addons folder.
org.openhab.binding.rachio-2.3.0-SNAPSHOT.jar.pdf (251.1 KB)
mybe make a backup of your jsondb folder - it will create a lot of stuffâŠ
Will try it out this evening when I get homeâŠis there a list of channels available somewhere so I know how to code my sitemap?
Squid
just use PaperUI to discover the things and then link them to items - pretty easy
okâŠwill do, Iâll also set up a separate logger so details should be easy to find
in this case make sure to enable DEBUG for the binding
https://docs.openhab.org/administration/logging.html
This should work (creating rachio.log with DEBUG info):
# rachio logger
log4j.logger.org.openhab.binding.rachio = DEBUG, rachio, osgi:*
log4j.additivity.org.openhab.binding.rachio = false
# File appender - rachio.log
log4j.appender.rachio=org.apache.log4j.RollingFileAppender
log4j.appender.rachio.layout=org.apache.log4j.PatternLayout
log4j.appender.rachio.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-26.26c{1}] - %m%n
log4j.appender.rachio.file=${openhab.logdir}/rachio.log
log4j.appender.rachio.append=true
log4j.appender.rachio.maxFileSize=10MB
log4j.appender.rachio.maxBackupIndex=10
The config file for logging is org.ops4j.pax.logging.cfg located in the userdata/etc folder (manual setup) or in /var/lib/openhab2/etc (apt/deb-based setup).
very similar to mineâŠ
_# LOGGER_
# RACHIO
log4j2.logger.rachio.name = org.openhab.binding.rachio
log4j2.logger.rachio.level = DEBUG
log4j2.logger.rachio.additivity = false
log4j2.logger.rachio.appenderRefs = rachio
log4j2.logger.rachio.appenderRef.rachio.ref = rachio
_# Appender_
# RACHIO
log4j2.appender.rachio.name = rachio
log4j2.appender.rachio.type = RollingRandomAccessFile
log4j2.appender.rachio.fileName = D:\\OpenHab\\userdata\\logs/rachio.log
log4j2.appender.rachio.filePattern = D:\\OpenHab\\userdata\\logs/rachio.log.%i
log4j2.appender.rachio.immediateFlush = true
log4j2.appender.rachio.append = true
log4j2.appender.rachio.layout.type = PatternLayout
log4j2.appender.rachio.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.rachio.policies.type = Policies
log4j2.appender.rachio.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.rachio.policies.size.size = 10MB
log4j2.appender.rachio.strategy.type = DefaultRolloverStrategy
log4j2.appender.rachio.strategy.max = 10
Well I couldnât wait to get home, so I remoted in and set things up.
Iâm stuck on initializingâŠ
Hereâs whatâs in my log:
07-Feb-2018 14:50:21.684 [DEBUG] [org.openhab.binding.rachio ] - BundleEvent INSTALLED - org.openhab.binding.rachio
07-Feb-2018 14:50:21.887 [DEBUG] [org.openhab.binding.rachio ] - BundleEvent RESOLVED - org.openhab.binding.rachio
07-Feb-2018 14:50:21.899 [DEBUG] [org.openhab.binding.rachio ] - BundleEvent [unknown:512] - org.openhab.binding.rachio
07-Feb-2018 14:50:21.947 [DEBUG] [org.openhab.binding.rachio ] - BundleEvent STARTING - org.openhab.binding.rachio
07-Feb-2018 14:50:21.949 [DEBUG] [org.openhab.binding.rachio ] - BundleEvent STARTED - org.openhab.binding.rachio
07-Feb-2018 14:50:21.998 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {javax.servlet.ServletContext}={osgi.web.symbolicname=org.openhab.binding.rachio, osgi.web.version=2.3.0.201802071915, osgi.web.contextname=default, osgi.web.contextpath=/, service.id=420, service.bundleid=247, service.scope=singleton} - org.openhab.binding.rachio
07-Feb-2018 14:50:22.001 [INFO ] [b.binding.rachio.internal.api.RachioWebHookServlet] - Started RachioWebhook servlet at /rachio/webhook
07-Feb-2018 14:50:22.002 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {javax.servlet.http.HttpServlet}={component.name=org.openhab.binding.rachio.internal.api.RachioWebHookServlet, component.id=256, service.id=419, service.bundleid=247, service.scope=bundle} - org.openhab.binding.rachio
07-Feb-2018 14:50:22.009 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - Rachio: thing types: [rachio:device, rachio:zone, rachio:cloud] registered.
07-Feb-2018 14:50:22.012 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - Starting background discovery for new Rachio controllers
07-Feb-2018 14:50:22.013 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioScan: API not yet initialized
07-Feb-2018 14:50:22.014 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={component.name=org.openhab.binding.rachio.internal.discovery.RachioDiscoveryService, component.id=257, service.id=421, service.bundleid=247, service.scope=bundle} - org.openhab.binding.rachio
07-Feb-2018 14:50:22.017 [DEBUG] [enhab.binding.rachio.internal.RachioHandlerFactory] - Initialized Rachio Thing handler.
07-Feb-2018 14:50:22.019 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=org.openhab.binding.rachio.internal.RachioHandlerFactory, component.id=258, service.id=422, service.bundleid=247, service.scope=bundle} - org.openhab.binding.rachio
07-Feb-2018 14:50:22.031 [DEBUG] [enhab.binding.rachio.internal.RachioHandlerFactory] - Creating Rachio cloud thing handler
07-Feb-2018 14:50:22.038 [DEBUG] [enhab.binding.rachio.internal.RachioHandlerFactory] - Registering bed discovery service
07-Feb-2018 14:50:22.039 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - Rachio: thing types: [rachio:device, rachio:zone, rachio:cloud] registered.
07-Feb-2018 14:50:22.041 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=423, service.bundleid=247, service.scope=singleton} - org.openhab.binding.rachio
07-Feb-2018 14:50:22.045 [DEBUG] [org.openhab.binding.rachio ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.core.status.ConfigStatusProvider}={service.id=424, service.bundleid=247, service.scope=singleton} - org.openhab.binding.rachio
Let me know what you would like me to do.
Squid
go to the inbox and run a scan on Rachio
did you created the rachio.things incl the apikey?
was the file loaded by OH? (check oprnhab.log)
Thing file was created and is visible in PaperUI
The .jar file was loaded as itâs provided logging information in itâs dedicated log file.
please create a .things file:
Bridge rachio:cloud:1 [ apikey=âxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxâ, pollingInterval=60]
{
}
do you see the bridge thing under configure->things?
The bundle is loaded, I see the auto-discovery (which is not yet implemented), but I donât see the manual scan
Yes, look at the post a couple of items up and youâll see my screen grab from Configure â Things
Again if you look up a couple of posts you will see the results of my manual scan where it did not return any results.
Also see this in the logâŠ
07-Feb-2018 15:13:02.588 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioDiscervery: discovery done.
07-Feb-2018 15:13:02.590 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioScan: API not yet initialized
07-Feb-2018 15:13:02.590 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioDiscervery: discovery done.
07-Feb-2018 15:13:02.591 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - Starting scan for new Rachio controllers
07-Feb-2018 15:13:02.593 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioDiscervery: discovery done.
07-Feb-2018 15:14:02.592 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioDiscervery: discovery done.
07-Feb-2018 15:14:02.592 [DEBUG] [g.rachio.internal.discovery.RachioDiscoveryService] - RachioDiscervery: discovery done.
anything in openhab.log?
Yes, I see this at startup which I have not encountered until nowâŠ
2018-02-07 14:50:22.050 [ERROR] [org.eclipse.smarthome.core.thing ] - [org.eclipse.smarthome.core.thing.internal.ThingManager(84)] The addThingHandlerFactory method has thrown an exception
java.lang.IllegalArgumentException: interface org.eclipse.smarthome.config.core.status.ConfigStatusProvider is not visible from class loader
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:581) ~[?:?]
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557) ~[?:?]
at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230) ~[?:?]
at java.lang.reflect.WeakCache.get(WeakCache.java:127) ~[?:?]
at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419) ~[?:?]
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:719) ~[?:?]
at org.eclipse.smarthome.core.internal.common.SafeCallerBuilderImpl.build(SafeCallerBuilderImpl.java:65) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManager.doInitializeHandler(ThingManager.java:635) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManager.initializeHandler(ThingManager.java:562) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManager.registerAndInitializeHandler(ThingManager.java:919) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManager.lambda$7(ThingManager.java:901) ~[?:?]
at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:891) ~[?:?]
at java.util.concurrent.CopyOnWriteArraySet.forEach(CopyOnWriteArraySet.java:404) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManager.lambda$6(ThingManager.java:898) ~[?:?]
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.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) [?:?]
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.thing.internal.ThingManager.handleThingHandlerFactoryAddition(ThingManager.java:897) [116:org.eclipse.smarthome.core.thing:0.10.0.201801231340]
at org.eclipse.smarthome.core.thing.internal.ThingManager.addThingHandlerFactory(ThingManager.java:869) [116:org.eclipse.smarthome.core.thing:0.10.0.201801231340]
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.BaseMethod.invokeMethod(BaseMethod.java:229) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:650) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:506) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.inject.BindMethod.invoke(BindMethod.java:658) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1722) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [42:org.apache.felix.scr:2.0.12]
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) [?:?]
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:464) [?:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]
at org.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187) [42:org.apache.felix.scr:2.0.12]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) [?:?]
at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) [?:?]
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) [?:?]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) [?:?]
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]
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:156) [?:?]
at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470) [?:?]
at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:736) [?:?]
at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:727) [?:?]
at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:497) [?:?]
at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:443) [?:?]
at org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:987) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1368) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.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) [?:?]
ok, need to check