New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat/device_db #22
Merged
Merged
feat/device_db #22
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
track devices per uuid, allow device settings, preparation for skill settings per device
Codecov Report
@@ Coverage Diff @@
## dev #22 +/- ##
=====================================
Coverage ? 0.00%
=====================================
Files ? 20
Lines ? 883
Branches ? 0
=====================================
Hits ? 0
Misses ? 883
Partials ? 0 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
All looks fine to me, but also not sure what all to ask or have introspection on. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes #21
Databases
Since the local backend is not meant to provision hundreds of devices or manage user accounts it works only with json databases
~/.local/share/json_database/ovos_wakewords.jsondb
~/.local/share/json_database/ovos_utterances.jsondb
~/.local/share/json_database/ovos_metrics.jsondb
~/.local/share/json_database/ovos_devices.json
<- NEW~/.local/share/json_database/ovos_skill_settings.json
<- NEW~/.local/share/json_database/ovos_shared_skill_settings.json
<- NEWmetrics, wake words and utterances respect the individual devices
opt_in
flag, nothing will be saved unless devices opt_in (default True) <- NEWAdmin api <- NEW
Since there is no UI some endpoints are provided to manage your devices
By default admin api is disabled, to enable it add
"admin_key": "unique_super_secret_key"
to the backend configurationyou need to provide that key in the request headers for admin endpoints
TODO - selene_api support
Device Settings <- NEW
Each paired device has a few settings that control behaviour backend side
name
- default"Device-{uuid}"
, friendly device name for displayopt_in
- defaultTrue
, flag to control if metrics and speech from this device will be saveddevice_location
- default"unknown"
, friendly name for indoor locationemail
- default from backend config, email to send notifications toisolated_skills
- defaultFalse
, flag to control if skill settings are shared across devices (ovos only)In selene this info would be populated during pairing process, in local backend it needs to be updated manually
Location
Device location can be updated via the backend, mycroft-core will request this info on it's own from time to time
default values comes from the local backend config file
Device Preferences <- NEW
Some settings can be updated via the backend, mycroft-core will request this info on it's own from time to time
default values comes from the local backend config file
Skill settings <- NEW
in selene all device share skill settings, with local backend you can control this per device via
isolated_skills
flag"old selene" supported a single endpoint for both skill settings and settings meta, this allowed devices both to download and upload settings
"new selene" split this into two endpoints, settingsMeta (upload only) and settings (download only), this disabled two way sync across devices
isolated_skills
per device via the admin apiisolated_skills
per device by manually editing paired devices databaseEmail
Mycroft skills can request the backend to send an email to the account used for pairing the device
with the local backend you need to configure your own SMTP server and recipient email, add the following section to your .conf