OpenHAB 2.5 and Google TTS on Raspberry Pi

Hello,

openhab> bundle:diag org.openhab.voice.googletts
openHAB Add-ons :: Bundles :: Google Cloud Text-to-Speech (302)
---------------------------------------------------------------
Status: Waiting
Declarative Services
org.openhab.voice.googletts.internal.GoogleTTSService (495)

In debugging, I now have an error with the missing TTS service, because there are now text fields in the Paper UI instead of selectors with the service and voice. I deleted entries from text fields during reinstallation of TTS. I have yet to test Rpi 3 with an older version of the system, I will check whether it will be possible to recreate the error during the upgrade. I noticed that the REST API also displays an error:

500 : <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
 <title>Error 500 Request failed.</title> </head> <body><h2>HTTP ERROR 500</h2> <p>Problem accessing /rest/swagger.json. 
Reason: <pre> Request failed.</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.12.v20180830</a><hr/> </body> </html> http://192.168.2.25:8080/rest/swagger.json

Best regards
Rafal

1 Like

Hello again,
On RPi 3B+ Google TTS with the same API key works, I upgraded OH snapshot from 1554 to 1576 every thing is Ok.
On Aeon I uninstalled TTS and rest api, I cleaned the cache, then reboot. Upgrade from 1575 to 1576 and installation of TTS and Rest api, unfortunately, without luck.
TSS throws the error in the log after restart.
It looks like an authorization problem, but the same api key works on Rpi

2019-04-25 22:10:40.431 [INFO ] [.googletts.internal.GoogleTTSService] - Using cache folder /var/lib/openhab2/cache/org.openhab.voice.googletts
2019-04-25 22:10:40.437 [ERROR] [org.openhab.voice.googletts         ] - bundle org.openhab.voice.googletts:2.5.0.201904250429 (289)[org.openhab.voice.googletts.internal.GoogleTTSService(332)] : The activate method has thrown an exception
java.lang.NoClassDefFoundError: com/google/api/client/json/webtoken/JsonWebSignature$Header
	at com.google.auth.oauth2.ServiceAccountCredentials.createAssertion(ServiceAccountCredentials.java:523) ~[?:?]
	at com.google.auth.oauth2.ServiceAccountCredentials.refreshAccessToken(ServiceAccountCredentials.java:369) ~[?:?]
	at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:181) ~[?:?]
	at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:167) ~[?:?]
	at com.google.auth.Credentials.getRequestMetadata(Credentials.java:73) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleCloudAPI.getAuthorization(GoogleCloudAPI.java:176) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleCloudAPI.listVoices(GoogleCloudAPI.java:241) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleCloudAPI.initVoices(GoogleCloudAPI.java:222) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleCloudAPI.setConfig(GoogleCloudAPI.java:146) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleTTSService.updateConfig(GoogleTTSService.java:215) ~[?:?]
	at org.openhab.voice.googletts.internal.GoogleTTSService.activate(GoogleTTSService.java:122) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) ~[43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) ~[43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:340) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900) [43:org.apache.felix.scr:2.1.16]
	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 com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) [21:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) [?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) [?:?]
	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.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:168) [?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.updateServiceRegistration(SingleComponentManager.java:622) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:819) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:709) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:673) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:435) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:316) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:118) [43:org.apache.felix.scr:2.1.16]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1704) [9:org.apache.felix.configadmin:1.9.14]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1646) [9:org.apache.felix.configadmin:1.9.14]
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) [9:org.apache.felix.configadmin:1.9.14]
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) [9:org.apache.felix.configadmin:1.9.14]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2019-04-25 22:10:40.470 [WARN ] [org.openhab.voice.googletts         ] - FrameworkEvent WARNING - org.openhab.voice.googletts
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 com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
	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.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:168) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.updateServiceRegistration(SingleComponentManager.java:622) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:819) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:709) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:673) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:435) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:316) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:118) ~[?:?]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1704) ~[?:?]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1646) ~[?:?]
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) ~[?:?]
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) ~[?:?]
	at java.lang.Thread.run(Thread.java:748) ~[?:?]


1 Like

Hello,
I looked through my bundle list and find:

22 │ Active  │  80 │ 18.0.0                │ Guava: Google Core Libraries for Java
23 │ Active  │  80 │ 21.0.0                │ Guava: Google Core Libraries for Java

150 │ Active  │  80 │ 2.5.0.201905010317    │ openHAB Core :: Bundles :: REST Interface
151 │ Active  │  80 │ 2.5.0.201905010321    │ openHAB Core :: Bundles :: REST Interface

213 │ Active  │  80 │ 2.4.5                 │ Jackson-annotations
214 │ Active  │  80 │ 2.9.8                 │ Jackson-annotations
215 │ Active  │  80 │ 2.4.5                 │ Jackson-core
216 │ Active  │  80 │ 2.9.8                 │ Jackson-core
217 │ Active  │  80 │ 2.4.5                 │ jackson-databind
218 │ Active  │  80 │ 2.9.8                 │ jackson-databind

I think that’s the reason why Google TTS does not work.
First, I tried bundle:uninstall old bundle, clear cache, reboot but after this old versions still persist. Found in /usr/share/openhab2/runtime/system/com/google/guava/guava/18.0 and deleted it, all old versions of bundles what i find also. After restart Karaf throws errors so I install openHAB Snapshot manualy via openhabian-config. Finaly end with this error where openHAB try to install Guava 18.0 instead of loading existing version 21.0 :

2019-05-02 12:05:57.139 [ERROR] [ternal.service.BootFeaturesInstaller] - Error installing boot features

org.apache.karaf.features.internal.util.MultiException: Error:

	Error downloading mvn:com.google.guava/guava/18.0

	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91) ~[?:?]

	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72) ~[?:?]

	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:457) ~[?:?]

	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:452) ~[?:?]

	at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:224) ~[?:?]

	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388) ~[?:?]

	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1058) ~[?:?]

	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:994) ~[?:?]

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

	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) [?:?]

	Suppressed: java.io.IOException: Error downloading mvn:com.google.guava/guava/18.0

		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77) ~[?:?]

		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) [?:?]

	Caused by: java.io.IOException: Error resolving artifact com.google.guava:guava:jar:18.0: [Could not find artifact com.google.guava:guava:jar:18.0 in openhab (https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/)]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.configureIOException(AetherBasedResolver.java:803) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:774) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565) ~[?:?]

		at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52) ~[?:?]

		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60) ~[?:?]

		... 7 more

		Suppressed: shaded.org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.google.guava:guava:jar:18.0 in openhab (https://openhab.jfrog.io/openhab/online-repo-snapshot/2.5/)

			at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[?:?]

			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:368) ~[?:?]

			at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75) ~[?:?]

			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:642) ~[?:?]

			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262) ~[?:?]

			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:489) ~[?:?]

			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:390) ~[?:?]

			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:215) ~[?:?]

			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:192) ~[?:?]

			at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:247) ~[?:?]

			at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767) ~[?:?]

			at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657) ~[?:?]

			at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598) ~[?:?]

			at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565) ~[?:?]

			at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52) ~[?:?]

			at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60) ~[?:?]

			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) [?:?]

	Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact com.google.guava:guava:jar:18.0

		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:413) ~[?:?]

		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:215) ~[?:?]

		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:192) ~[?:?]

		at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:247) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598) ~[?:?]

		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565) ~[?:?]

		at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52) ~[?:?]

		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60) ~[?:?]

		... 7 more

el00ruobuob can You check please boundle:list for duplicated bundles?
Another question is, how to uninstall duplicated bundles :slight_smile:.

1 Like

I had no duplicate.
Unfortunately i had some stability issues on the snapshot build and reverted to M1, so i can’t test it anymore. 2.5.0.M1 is working like a charm.

1 Like

I’m seeing the same errors with the Google TTS plugin.

FrameworkEvent WARNING - org.openhab.voice.googletts
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object

And I’m also seeing duplicate addons in my bundle:list

openhab> bundle:list -l | grep ackson
210 │ Active │ 80 │ 2.9.8 │ mvn:com.fasterxml.jackson.core/jackson-annotations/2.9.8
212 │ Active │ 80 │ 2.9.8 │ mvn:com.fasterxml.jackson.core/jackson-core/2.9.8
214 │ Active │ 80 │ 2.9.8 │ mvn:com.fasterxml.jackson.core/jackson-databind/2.9.8
233 │ Active │ 80 │ 1.9.2 │ mvn:org.codehaus.jackson/jackson-core-asl/1.9.2
234 │ Active │ 80 │ 1.9.2 │ mvn:org.codehaus.jackson/jackson-mapper-asl/1.9.2
304 │ Active │ 80 │ 2.4.5 │ mvn:com.fasterxml.jackson.core/jackson-annotations/2.4.5
305 │ Active │ 80 │ 2.4.5 │ mvn:com.fasterxml.jackson.core/jackson-core/2.4.5
306 │ Active │ 80 │ 2.4.5 │ mvn:com.fasterxml.jackson.core/jackson-databind/2.4.5
307 │ Active │ 80 │ 2.4.5 │ mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.4.5
openhab> bundle:list -l | grep oogle
20 │ Active │ 80 │ 2.8.2.v20180104-1110 │ mvn:org.eclipse.orbit.bundles/com.google.gson/2.8.2.v20180104-1110
21 │ Active │ 80 │ 18.0.0 │ mvn:com.google.guava/guava/18.0
22 │ Active │ 80 │ 21.0.0 │ mvn:com.google.guava/guava/21.0
23 │ Active │ 80 │ 3.0.0.v201312141243 │ mvn:de.maggu2810.p2redist/com.google.inject/3.0.0.v201312141243
222 │ Active │ 80 │ 2.6.0 │ mvn:com.google.protobuf/protobuf-java/2.6.0
294 │ Active │ 80 │ 1.7.0 │ mvn:org.openhab.osgiify/com.google.api.api-common/1.7.0
295 │ Active │ 80 │ 1.42.0 │ mvn:org.openhab.osgiify/com.google.api.gax/1.42.0
296 │ Active │ 80 │ 0.13.0 │ mvn:org.openhab.osgiify/com.google.auth.google-auth-library-credentials/0.13.0
297 │ Active │ 80 │ 0.13.0 │ mvn:org.openhab.osgiify/com.google.auth.google-auth-library-oauth2-http/0.13.0
298 │ Active │ 80 │ 20.0.0 │ mvn:com.google.guava/guava/20.0
299 │ Active │ 80 │ 1.27.0 │ mvn:com.google.http-client/google-http-client/1.27.0
300 │ Waiting │ 80 │ 2.5.0.201907031856 │ mvn:org.openhab.addons.bundles/org.openhab.voice.googletts/2.5.0-SNAPSHOT

I use the latest OpenHAB versions from the apt repo and upgrade using apt as well.

It looks liks @Alien didn’t have much luck removing the duplicates so I was just wondering if others were seeing this behavior as well.

Greg

1 Like

Hi!
Like @el00ruobuob I switched back from snapshot to OH 2.5.0.M1.

1 Like

Back on Snapshot for some reasons, and the problem raised again.
I confirm i don’t have duplicates, but i can’t choose the Text-To-Speech engine on PapaerUI Config > System > Voice.
this is not critical to me, but if anyone wants me to post some logs & debugs, feels free to ask.

1 Like

did somebody solved this issue? I’m using Openhab 2.5 M3 with googletts and am having the same issue as mentioned above.

1 Like

I also have started having this issue lately and traced it down to be a conflict between the Google TTS and the Google Calendar Scheduler service (misc-gcal1), presumably in the google oauth library. As soon as I uninstall the calendar one the TTS one starts working fine.

1 Like

Same here. I had Google TTS working but as soon as I install misc-gcal1 it stops working. Removing Gcal makes TTS start working again. It is also impossible for me to get Gcal installation to work properly. Maybe that is because i have TTS installed, what do I know? I made another thread about that:

https://community.openhab.org/t/google-calendar-scheduler-no-instructions-in-log-file/81934

1 Like

After reading Erik’s message above, I removed the “openHAB Google Calendar 1.14.0.M4” addon and the Google TTS started working immediately.

I then reinstalled the Google Calendar addon, rebooted, and Google TTS stopped working again.

Since I use the TTS more than the Calendar addon, I will be running without the calendar addon for now.

1 Like

Hi,

Did somebody found a solution to this conflit with TTS and GCAL ?

It’s still existing in the “stable release”

kr,

Frederic

1 Like

I can confirm the issue with Gcal and GoogleTTS in OH 2.5 stable release.

Did any of you file an issue on Github? If not, there isn´t much of a chance this will get fixed.

1 Like

Try this out:

1 Like

This worked for me. Thank you!

1 Like

This works. Thanks a lot.

1 Like

Hi,

Doesn’t work anymore. Is it just me, or Google change something ?
JAVA errors…

1 Like

No errors here. Working fine.

1 Like

I have openhab 2.5.7 and errors:

2020-07-26 22:02:08.882 [INFO ] [.googletts.internal.GoogleTTSService] - Using cache folder /var/lib/openhab2/cache/org.openhab.voice.googletts

2020-07-26 22:02:08.890 [ERROR] [org.openhab.voice.googletts ] - bundle org.openhab.voice.googletts:2.5.7 (331)[org.openhab.voice.googletts.internal.GoogleTTSService(376)] : The activate method has thrown an exception

java.lang.VerifyError: Bad type on operand stack

Exception Details:

Location:

com/google/auth/oauth2/OAuth2Utils.<clinit>()V @31: putstatic

Reason:

Type 'com/google/api/client/http/javanet/NetHttpTransport' (current frame, stack[0]) is not assignable to 'com/google/api/client/http/HttpTransport'

Current Frame:

bci: @31

flags: { }

locals: { }

stack: { 'com/google/api/client/http/javanet/NetHttpTransport' }

Bytecode:

0x0000000: 1229 b800 2ab3 002b 122c b800 2ab3 002d

0x0000010: 122e b800 2ab3 002f bb00 3059 b700 31b3

0x0000020: 0032 bb00 3359 b700 34b3 0035 b800 36b3

0x0000030: 0006 1237 b800 38b3 0039 123a b300 1012

0x0000040: 3bb3 0015 b1
2 Likes

I’m also having this issue. I’m running Openhab 2.5.7 on a Raspberry Pi 4B and followed the official instructions to set up Google Cloud TTS. The following error shows up in openhab.log whenever I change the Google Cloud TTS config in Paper UI:

2020-08-23 14:59:31.071 [ERROR] [org.openhab.voice.googletts         ] - bundle 
org.openhab.voice.googletts:2.5.4 
(343)[org.openhab.voice.googletts.internal.GoogleTTSService(332)] : The updateConfig method has 
thrown an exception

java.lang.VerifyError: Bad type on operand stack

Exception Details:

  Location:

    com/google/auth/oauth2/OAuth2Utils.<clinit>()V @31: putstatic

  Reason:

    Type 'com/google/api/client/http/javanet/NetHttpTransport' (current frame, stack[0]) is not assignable to 'com/google/api/client/http/HttpTransport'

  Current Frame:
   bci: @31
   flags: { }
   locals: { }
   stack: { 'com/google/api/client/http/javanet/NetHttpTransport' }
 Bytecode:
   0x0000000: 1229 b800 2ab3 002b 122c b800 2ab3 002d
   0x0000010: 122e b800 2ab3 002f bb00 3059 b700 31b3
   0x0000020: 0032 bb00 3359 b700 34b3 0035 b800 36b3
   0x0000030: 0006 1237 b800 38b3 0039 123a b300 1012
   0x0000040: 3bb3 0015 b1                           

       at com.google.auth.oauth2.GoogleCredentials.fromStream(GoogleCredentials.java:141) ~[?:?]
       at org.openhab.voice.googletts.internal.GoogleCloudAPI.createCredentials(GoogleCloudAPI.java:169) ~[?:?]
       at org.openhab.voice.googletts.internal.GoogleCloudAPI.setConfig(GoogleCloudAPI.java:144) ~[?:?]
       at org.openhab.voice.googletts.internal.GoogleTTSService.updateConfig(GoogleTTSService.java:215) ~[?:?]
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_262]
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_262]
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_262]
       at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_262]
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) ~[bundleFile:?]
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
       at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) ~[bundleFile:?]
       at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [bundleFile:?]
       at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [bundleFile:?]
       at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeModifiedMethod(SingleComponentManager.java:836) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:791) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:709) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:673) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:435) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:316) [bundleFile:?]
       at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:118) [bundleFile:?]
       at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1709) [bundleFile:?]
       at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1651) [bundleFile:?]
       at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) [bundleFile:?]
       at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) [bundleFile:?]
       at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262]

Trying to use the service doesn’t work as well obviously.

1 Like