Coder Social home page Coder Social logo

mozilla / smarthome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eclipse-archived/smarthome

3.0 3.0 8.0 20.13 MB

INACTIVE - Eclipse SmartHome project

License: Eclipse Public License 1.0

HTML 6.26% Java 77.48% Groovy 10.66% CSS 1.02% Xtend 1.17% Batchfile 0.03% Shell 0.10% XSLT 0.01% JavaScript 3.27% Python 0.01%
inactive unmaintained

smarthome's People

Contributors

alex-kostadinov avatar andrenatal avatar aounhaider1 avatar cdjackson avatar chriskn avatar clinique avatar dnobel avatar dominicdesu avatar dvanherbergen avatar gerrieg avatar gradyd avatar hmerk avatar iilievdev avatar kaikreuzer avatar kdavis-mozilla avatar kgoderis avatar maggu2810 avatar marcelrv avatar mariniss avatar marinmitev avatar olibutzki avatar sbussweiler avatar sja avatar sjsf avatar teichsta avatar tilmankamp avatar tomhoefer avatar vlad-ivanov-name avatar watou avatar yordandzhelev avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smarthome's Issues

VaaniOrchestrator.java:152 uses "abstract" and not "concrete" AudioFormat

An AudioFormat can have null values for various properties, for example bigEndian to indicate that any value is acceptable. Such an AudioFormat is abstract. An AudioFormat that has no such nullvalues is concrete.

Now, the method TTSService::getSupportedFormats() can return a set that contains one or more abstract AudioFormat instances. Also, the method TTSService::synthesize() requires a concrete AudioFormat. Thus, VaaniOrchestrator.java:152 is in error as it possibly assigns an abstract AudioFormat to audioFormat which is not able to be passed to TTSService::synthesize().

This problem appears when using the TTSServiceMacOS in the VaaniOrchestrator.

Move MaryTTS implementation to openhab2-addons

Due to legal restrictions MaryTTS will have to live in openhab2-addons and not in smarthome.

In particular we should create a voice folder in openhab/openhab2-addons/tree/master/addons and move it to there.

Server Kaldi STT connection closing is buggy

A Kaldi STT connection to the server can be closed by the client or the server.

The current implementation handles the case in which the client closes the
connection correctly, but not the case in which the server closes it.

The code should be changed to handle both cases.

KSServicePocketsphinx can't be instantiated

Without installing Pocketsphinx by-hand all KSServicePocketsphinx tests fail as KSServicePocketsphinx is unable to be instantiated. The test log is full with errors of the form

!ENTRY org.eclipse.equinox.ds 4 0 2016-04-17 13:41:34.986
!MESSAGE Exception occurred while creating new instance of component Component[
        name = org.eclipse.smarthome.io.voice.ksservice
        activate = activate
        deactivate = deactivate
        modified =
        configuration-policy = optional
        factory = null
        autoenable = true
        immediate = true
        implementation = org.eclipse.smarthome.io.voice.internal.KSServicePocketsphinx
        state = Unsatisfied
        properties = {os=any}
        serviceFactory = false
        serviceInterface = [org.eclipse.smarthome.io.voice.KSService]
        references = null
        located in bundle = org.eclipse.smarthome.io.voice_0.8.0.201604171136 [84]
]
!STACK 0
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.smarthome.io.voice.internal.KSServicePocketsphinx
        at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:270)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:331)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:458)
        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)
        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.eclipse.equinox.internal.app.EclipseAppDescriptor.refreshProperties(EclipseAppDescriptor.java:124)
        at org.eclipse.equinox.internal.app.EclipseAppContainer.refreshAppDescriptors(EclipseAppContainer.java:470)
        at org.eclipse.equinox.internal.app.EclipseAppContainer.unlock(EclipseAppContainer.java:540)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.setAppStatus(EclipseAppHandle.java:162)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.setInternalResult(EclipseAppHandle.java:230)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:202)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

@andrenatal can you take a look at this? My guess is that all the lib paths are incorrect and you didn't notice as you have pocketsphinx installed in the standard location.

VaaniOrchestrator seems to not always be a singleton

VaaniOrchestrator seems to not always be a singleton. Thus it sometimes occurs that multiple TTS acts are occurring simultaneously which would not occur if VaaniOrchestrator were a singleton.

Hence, using OSGI constructs, VaaniOrchestrator must be made a singleton.

xtext code generation does not occur in maven builds

In the bundles

  • org.eclipse.smarthome.model.item
  • org.eclipse.smarthome.model.persistence
  • org.eclipse.smarthome.model.rule
  • org.eclipse.smarthome.model.script
  • org.eclipse.smarthome.model.sitemap
  • org.eclipse.smarthome.model.thing

xtext source code generation does not occur when using maven builds.

This manifests itself as a failure when xtend code generation occurs as the classes that would have been generated during xtext generation are not there and as a result the xtend code generation fails.

OS X TTSService implementation should be moved to an extension

The new OS X TTSService implementation should be moved to

extensions/voice/org.eclipse.smarthome.voice.mactts

where the old implementation currently lives and the bundle

extensions/voice/org.eclipse.smarthome.voice.mactts

should be re-enabled in .travis.yml

Items have incorrect labels or items are used incorrectly.

If one adds a SONOS player and calls it "music player"

Things

with a channel "Control"

Thing
one finds the interpreter does not know about the "music player".

For example here is evidence form the OSGI command line

osgi> smarthome interpret play music player
There is no object named like that.

However, one does find an Item named "Control"

osgi> smarthome interpret play Control
Ok.

which causes the SONOS player to play.

So, it seems as if the interpreter is using a channel as an item.

PS: Peeking a bit at the code I found that the "music player" does appear as an item but the item is a group and this item-group does not accept the play/pause command type.

STT sends multiple SpeechRecognitionEvent's before STTServiceHandle.abort() takes effect

The method VaaniOrchestrator.sttEventReceived() calls STTServiceHandle.abort() to stop the STT server from sending more results.

However, as the STT server is in another thread, the call to STTServiceHandle.abort() and the STT server actually aborting are separated in time. Thus, is may occur that the after the call to the method STTServiceHandle.abort() and before the STT server aborts the STT server sends one or more SpeechRecognitionEvent instances to the client.

Currently if this happens several TTS actions are taken, more-or-less, in parallel and several spotting calls are also made, more-or-less, in parallel. This leads to a bit of chaos. The goal of this bug is to remove the chaos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.