Remote conf overriding all other conf

I am finding that the ‘Remote’ settings at Mycroft.ai are overriding my ‘System’ TTS settings. My understanding was that Mycroft loads the configurations in the following order where latter files precede:

  1. Default - mycroft-core/mycroft/configuration/mycroft.conf
  2. Remote - Home.Mycroft.ai
  3. System - /etc/mycroft/mycroft.conf
  4. User - $HOME/.mycroft/mycroft.conf

I edited the ‘System’ configuration to use gTTS and it works fine at first. However after a minute or two it reverts back to whatever voice setting I have in the ‘Remote’ configuration.

I added a ‘User’ conf to see if that would override everything, and it doesn’t appear to work.

Any ideas to try?

There were some changes (both dev and master) lately. Given the configuration code, what you report makes partially sense. The order in which the list is filled (and then reversed) isn’t respecting the order it used to (stated in the commentary of the default conf and i would think in the documentary).

By now, after the reverse, the dicts are merged in the order

Default
System
Remote
User
Skill

edit: with certain configurations (i suspect py3.9) it could happen that the cached config -retrieved with .get() - isn’t carrying the remote config at all (described in chat ~troubleshooting)

Just to add, the new (xdg compliant) user conf default location would be $HOME/.config/mycroft/mycroft.conf

(it still additionally loads from .mycroft tho)

is this a bug? it was discussed but consensus wasn’t reached

I am just learning Mycroft so I am a bit of a newb. Any recommendations on how I can preserve my TTS settings?

set them in the user config, that one is safe and not affected by this bug

I see this should be resolved in 2 Sprints. Maybe change the “new” load order in the commentary of the default conf to avoid confusion

opened an issue in github to track this

1 Like

Okay, I will try placing the TTS settings in $HOME/.config /mycroft/mycroft.conf since $HOME/.mycroft/Mycroft.conf doesn’t work. I will report back later.

I forgot to check my logs and I think my original ‘User’ conf located in $HOME/.mycroft had an error. Either way I have deleted that file and updated the ‘User’ conf located in $HOME/.config/mycroft. It’s now working at least in terms of overriding the ‘Remote’ conf.