Commit Graph

1864 Commits (bfa26e69166911886dd0e7e6884ba3dc017db443)

Author SHA1 Message Date
Åke Forslund 6af06d4433 add missing get_arch() 2017-10-26 18:42:19 -04:00
Åke Forslund 3deb65b0c2 Update download method
====  Tech Notes ====
- Fix cleanup
- Add support for custom header
- create directory as needed
2017-10-26 18:42:19 -04:00
Åke Forslund 7990e168c8 Properly get link for premium voice
====  Tech Notes ====
Add the implemented endpoint for getting the download link for premium
voices.
2017-10-26 18:42:19 -04:00
Åke Forslund 285b4b6c14 Use wget to download, so resume/retry can be used
====  Tech Notes ====
Since the voice is a quite large download stalling download is a real
possibility. Using wget allows for resume and retry of download in a
simple way.
2017-10-26 18:42:19 -04:00
Åke Forslund 46c1b575fd Add methods for downloading premium voice
====  Tech Notes ====
- Using download utility to download voice binary
- reverts to default voice if not premium
- uses default voice during download and switches over when done
2017-10-26 18:42:19 -04:00
Steve Penrod fef914f771 Read default MSM skills from mycroft-skills repo
Remove the hardcoded DEFAULT_SKILLS list from MSM, instead read it
from the https://github.com/MycroftAI/mycroft-skills/DEFAULT-SKILLS
list.

Additionally, a platform-specific list will also be loaded, allowing
platforms like KDE, etc. to have different defaults.  These are also
loaded from the mycroft-skills repo from a file named like:
DEFAULT-SKILLS.platform

Also began the work to support a custom local skill folder location,
specified in the /etc/mycroft/mycroft.conf.

==== Fixed Issues ====
A failed requirements.sh run would not send an install failure
notification on the messagebus.

====  Documentation Notes ====
NONE - description of a new feature or notes on behavior changes

==== Localization Notes ====
NONE - point to new strings, language specific functions, etc.

==== Environment Notes ====
MSM now uses the 'jq' utility.  This should already be installed on
a Picroft/Mark 1, but I added it to the dev_setup.sh also.
2017-10-26 15:20:42 -07:00
devs-mycroft 2b72ea9366 Version bump from 0.9.1 to 0.9.2 2017-10-24 17:12:20 +00:00
mycroft-developers ee565482fd Revert version number 2017-10-24 11:14:55 -05:00
devs-mycroft d7c08d6e5f Version bump from 0.9.1 to 0.9.2 2017-10-24 16:13:15 +00:00
Arron Atchison be936a4003 Manual version revert 2017-10-23 16:54:16 -05:00
devs-mycroft 60d71408a4 Version bump from 0.9.1 to 0.9.2 2017-10-23 16:51:15 -05:00
Åke d660702b5f Merge pull request #1170 from MycroftAI/feature/robust-listener
Fall back to default wake word on invalid config
2017-10-21 15:43:39 +02:00
Michael Nguyen 50551a3e41 Merge pull request #1067 from MycroftAI/feature/msm-native-script
Run requirements.sh when installing skills if exists
2017-10-20 13:09:27 -05:00
Matthew D. Scholefield 5a77174ca6 Run requirements.sh when installing skills if exists 2017-10-20 12:57:27 -05:00
Matthew D. Scholefield a7c9e2d525 Fall back to default wake word on invalid config
Also format to lowercase to prevent decoder error if wake word has capitals
2017-10-20 12:18:56 -05:00
Åke 5d1f67c40e Merge pull request #1169 from roadriverrail/https_audio
Add https support to audio service and fix searching through available backends.
2017-10-19 09:38:20 +02:00
Arron Atchison ecb93d0627 version bump to 0.9.1 2017-10-18 13:58:22 -05:00
Rhett Aultman ad0b637856 Add https support to audio service
The audio service could not handle https URLs.  VLC can support them,
so https was added to its supported_uris.  Additionally, the play( )
function in the audio service could not actually correctly search the
backends for a supported uri, so the code there has been fixed
2017-10-18 11:39:18 -04:00
Michael Nguyen 0f00b8e7ce Merge pull request #1166 from forslund/bugfix/listener-queue-timeout
Fix timeout of self.queue.get() in consumer
2017-10-17 15:04:54 -05:00
Åke Forslund e2666b46ed Fix timeout of self.queue.get() in consumer 2017-10-17 21:54:33 +02:00
Michael Nguyen af5f3a8537 Merge pull request #1165 from MycroftAI/bugfix/listener-reload
Return if audio is None in listener
2017-10-17 14:52:12 -05:00
Matthew D. Scholefield 2177270d57 Return if audio is None in listener 2017-10-17 14:42:16 -05:00
penrods e1b4ad0400 Fixed silly typo... 2017-10-16 19:20:22 -05:00
penrods 47e2df1722 Prevent the "rolling eye" syndrome
When (re)booting a Mark 1 unit will show rolling eyes until it reaches
a "ready" state.  This happens by sending a command to the Arduino.
There is also code that prevents sending commands our the serial port
if not running on a Mark 1.  In certain situations, the message
indicating that the Mark 1 Arduino was found was posted to the
messagebus before it was fully open.  When this was missed, the system
didn't think it was on a Mark 1 and the command to stop the eyes from
rolling (and for further interactions with the Mark 1 hardware) were
not sent.

The Mark 1 Arduino detection is now triggered when the messagebus
'open' notification is generated rather than when the object is
constructed.

==== Fixed Issues ====
#967 - Eyes never stop spinning on startup (Mark 1)
2017-10-16 19:20:22 -05:00
Michael Nguyen b82d11e5a4 Merge pull request #1159 from MycroftAI/bugfix/listener-reload
Add timeout to consumer queue get
2017-10-16 18:04:16 -05:00
Åke Forslund 84e47fb25f Fix reloading skills system
==== Fixed Issues ====
One exemple is reloading pairing skill after skill update (30-60 seconds)
results in a new pairing code being generated.

====  Tech Notes ====
Now compare individual skill modification dates and not a global last
modified skill.
2017-10-16 17:54:03 -05:00
Åke 46fb6c4279 Merge pull request #1161 from MycroftAI/feature/fix-msm-defaults
Fix for install of MSM defaults
2017-10-17 00:10:23 +02:00
penrods 9fe017b341 Fix for install of MSM defaults
Indentation added in a recent PR (#1152) introduced a shell script
syntax error on a long line with continuations.  Spaces are not
allowed before the subsequent line's double-quotes.

==== Fixed Issues ====
Indentation added in a recent PR (#1152) introduced a shell script
syntax error on a long line with continuations.  Spaces are not
allowed before the subsequent line's double-quotes.
2017-10-16 16:57:59 -05:00
Matthew D. Scholefield b53e0bb202 Add timeout to consumer queue get
Prevents hanging on config reload
2017-10-16 16:05:01 -05:00
penrods 8c696b0586 Issue #967 - eyes keep spinning on boot
This fixes at least a potential issue with the Mark 1 boot sequence.
The system posts a "system.version" message then registers a
listener for the response.  There is a chance that the response
sneaks in before the handler is registered.  This just reorders the
sequence of that code.

==== Fixed Issues ====
ISSUE #967 - Eyes never stop spinning on startup (Mark 1)
2017-10-15 12:27:55 -05:00
Åke Forslund 131b10e0fc wait for msm lock to be free before loading skills
====  Tech Notes ====
The msm lock wasn't checked before reloading skills allowing skills to be loaded before msm wasn't finished installing requirements.

A check was added to ensure this along with a separate lock enforcing the handling of block_msm and release_msm in the correct order. If not the update procedure could cause a deadlock.
2017-10-15 11:30:57 -05:00
Åke Forslund f70588cab7 Add message parameter to methods connected to ws 2017-10-15 11:30:57 -05:00
Michael Nguyen f6ee33a90e formatting fixes 2017-10-13 18:09:20 -05:00
Michael Nguyen f68be2a72c added safety net for null values in get settings 2017-10-13 18:09:20 -05:00
Åke 3e8b366642 Merge pull request #1151 from MycroftAI/feature/skill-settings
improved skill settings
2017-10-13 23:16:00 +02:00
Michael Nguyen 2623cb8cca added is_alive 2017-10-13 16:06:07 -05:00
Michael Nguyen 157c113678 fixed timer bug 2017-10-13 13:43:55 -05:00
Åke ca878d76d3 Merge pull request #1152 from MycroftAI/feature/SkillManager
SkillManager, msm messagebus notifications
2017-10-13 16:02:42 +02:00
Åke Forslund b40e03d859 Fix update interval after success
The interval was previously not updated after success (unless speak was set to
true). This caused the skills to continuously update.

Also set speak = false as default since that's the most commonly used
case right now.
2017-10-13 15:53:10 +02:00
Åke Forslund 7c0a3b2fe5 Fix codacy warnings. 2017-10-13 11:22:01 +02:00
penrods 3d64509b25 SkillManager, msm messagebus notifications
Significantly reworked the loading/updating of Skills.  Unified
all management under a single SkillManager class.  This class
runs as a thread that initially loads, upgrades (via MSM)
and reloads skills.

Removed the independent threads that were being run.  The skill
updating still happens once an hour, but works in conjunction
with the scan to reload modified skills.  Also added messagebus
notifications from MSM so mycroft-core can pause reloading
skills until the installation is complete.

Added a new mycroft.messagebus.send module to allow command
line interaction with the messagebus, e.g.:
   python -m mycroft.messagebus.send mycroft.wifi.start
   python -m mycroft.messagebus.send speak '{"utterance":"hello"}'

==== Fixed Issues ====
MSM installs that have PIP dependencies were failing, as the
load would occur after code was retrieved but before PIP install
completed.  Restart was required to load new skills.

====  Tech Notes ====
TODO: Change the way we manage modules.  The auto-load of the
remote configuration for the module is silly, slow and wasteful.

I made the WebsocketClient.build_url() method static in
anticipation of being able to do this more efficiently when the
submodule load doesn't hit the remove API automatically.

==== Localization Notes ====
Modified 'sorry I couldn't install default skills' message.

==== Protocol Notes ====
MSM now generates:
  msm.updating
  msm.installing
  msm.install.succeeded     { "skill" : name }
  msm.install.failed        { "skill" : name, "error" : code }
  msm.installed
  msm.updated
  msm.removing
  msm.remove.succeeded      { "skill" : name }
  msm.remove.failed { "skill" : name, "error" : code }
  msm.removed

An update can now be forced by posting 'skillmanager.update' to the
messagebus.
2017-10-13 02:21:58 -05:00
Michael Nguyen 614cc57d01 made some changes 2017-10-12 14:36:23 -05:00
Michael Nguyen cec098c442 update docstring 2017-10-12 13:32:50 -05:00
Michael Nguyen f3dacfb204 ==== Tech Notes ====
added capability to auto upload changes from settingsmeta.json to home.mycroft.ai

====  Documentation Notes ====
If a developer make changes to the settingsmeta.json, then this will be auto uploaded to home.mycroft.ai

==== Protocol Notes ====
hash and uuid are now stored as variables in files located in ~/.mycroft/skills/{skill-name}
2017-10-12 12:35:50 -05:00
Harald Sitter 00e5f74222 typo fix
installation is spelled with two l
2017-10-11 22:59:51 -05:00
Augusto Monteiro 'Sparky beaea7557b Fixing random extra space 2017-10-11 14:36:12 -05:00
Augusto Monteiro 'Sparky e39c38ff3c Updating version when device is update 2017-10-11 14:36:12 -05:00
Augusto Monteiro 3be3e1320e Merge pull request #1129 from MycroftAI/feature/duckduckgo
Add DuckDuckGo as default skill
2017-10-11 14:25:04 -04:00
Åke Forslund a5b96ba285 Correct stop_speaking() to handle threaded tts OK
====  Tech Notes ====
Now the stop_speaking() method sends a signal to the speech module to
stop speech instead of killing all aplay/paplay instances
2017-10-10 14:02:18 -05:00
Åke Forslund 0daee0eb53 Fix bug in stop_speaking()
====  Tech Notes ====
stop_speaking would not run properly due to two missing imports
2017-10-10 14:02:18 -05:00