I’ve been trying to figure out how to do exactly what this skill seems to do; somebody on Facebook pointed me to it. I installed it, but it shows up red in the skills list and doesn’t seem to be working. It looks like there have been some changes in the Mycroft structure since it was released; I don’t know if that’s the problem or if I’m doing something wrong. I’m also curious why this skill or an updated version of it isn’t in the marketplace.
I’m the author of the routine skill. I haven’t used Mycroft in a while, because I moved and don’t currently have internet. It’s definitely possible they have made changes recently that broke it. I can take a look and see if there are issues with the current version - possibly this weekend (feel free to nudge me if you don’t hear back). If you can provide logs/errors, that might help me debug faster.
As for not being in the marketplace - It used to be, but Mycroft (the company) changed the process/started requiring it to be resubmitted for each version bump. I didn’t feel like taking the effort to keep resubmitting it, especially as my time is limited. If anyone would like to submit it, I’m supportive of the idea/will review and merge any changes necessary. But I don’t intend to tackle that myself, any time soon.
Also, if anyone comes across this in the future - feel free to open issues on the repo in GitHub, if there are problems getting the skill to run. I’ll see those faster, as I get notified immediately (vs just periodically getting digest emails from the forum).
@Culturedropout, I just pulled down the latest version of Mycroft (running from git) and the routine skill still works for me.
If you’re still having issues, can you provide the logs? If you search the skills log (should be /var/log/mycroft/skills.log), for mycroft_routine_skill, there should be messages there if it’s failing to load - you can just send that section.
2021-08-13 00:39:49.294 | INFO | 712 | msm.mycroft_skills_manager | Best match (0.33): mycroft-reminder by mycroftai
2021-08-13 00:42:06.973 | INFO | 712 | mycroft.skills.skill_loader:load:185 | ATTEMPTING TO LOAD SKILL: mycroft_routine_skill
2021-08-13 00:42:06.988 | ERROR | 712 | mycroft.skills.skill_loader:_load_skill_source:279 | Failed to load skill: mycroft_routine_sk$
Traceback (most recent call last):
File “/home/pi/mycroft-core/mycroft/skills/skill_loader.py”, line 276, in _load_skill_source
skill_module = load_skill_module(main_file_path, self.skill_id)
File “/home/pi/mycroft-core/mycroft/skills/skill_loader.py”, line 72, in load_skill_module
spec.loader.exec_module(mod)
File “”, line 728, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/opt/mycroft/skills/mycroft_routine_skill/init.py”, line 2, in
from apscheduler.schedulers.background import BackgroundScheduler
ModuleNotFoundError: No module named ‘apscheduler’
2021-08-13 00:42:06.992 | ERROR | 712 | mycroft.skills.skill_loader:_communicate_load_status:351 | Skill mycroft_routine_skill failed$
2021-08-13 00:49:01.231 | INFO | 712 | QuestionsAnswersSkill | Searching for describe routine morning
…its been just days and days of this, which doesn’t look like anything is wrong:
2021-08-27 01:48:32.028 | INFO | 709 | msm.skill_entry | Nothing new for mycroft-pairing
2021-08-27 01:48:32.985 | INFO | 709 | msm.skill_entry | Nothing new for mycroft_routine_skill
2021-08-27 01:48:33.292 | INFO | 709 | msm.skill_entry | Nothing new for mycroft-configuration
2021-08-27 01:48:34.077 | INFO | 709 | msm.skill_entry | Nothing new for learning
But the routine skill is displayed in red on the cli log, meaning, I think, that it didn’t load or wasn’t recognized? Any ideas? Thanks for looking at this, by the way. Above and beyond, in my opinion!
Regardless of how you attempted to install it in the first place, what you’ll need to do is run pip install -r requirements.txt from within the skill’s directory, using the installation of python that mycroft runs with. So, something like:
cd /opt/mycroft/skills/mycroft_routine_skill # The skill directory might be prefixed with my github username
source <mycroft-core-root>/.venv/bin/activate # This is only necessary if running from git - if you're on a mark 1, picroft, or similar, you shouldn't need this
pip install -r requirements.txt
(.venv) pi@picroft:/opt/mycroft/skills/mycroft_routine_skill $ pip install -r requirements.txt
Requirement already satisfied: apscheduler in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (3.7.0)
Requirement already satisfied: pytz in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (2017.2)
Requirement already satisfied: six>=1.4.0 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (1.13.0)
Requirement already satisfied: setuptools>=0.7 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (41.4.0)
Requirement already satisfied: tzlocal~=2.0 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (2.1)
WARNING: You are using pip version 20.0.2; however, version 21.2.4 is available.
You should consider upgrading via the '/home/pi/mycroft-core/.venv/bin/python -m pip install --upgrade pip' command.
(.venv) pi@picroft:/opt/mycroft/skills/mycroft_routine_skill $
I honestly don’t remember how I got it, but it seems to think apscheduler is already there. That was a couple of weeks ago in the log, so maybe something else corrected it…?
You might try stopping Mycroft (ensure the process stopped, via ps -ef | grep mycroft ), then remove the skills log, and restart Mycroft. That would give you a clean log, so any error you find would be relevant only to the latest run.
to do it manually under pretty much all the skill files, I deleted the ones copies not under /opt
Ive since lost the output but it was successful, although i did so under user not .venv
Is that a standalone pi installation? I was hoping to perfect my install on my ubuntu desktop and transfer the set up to other devices.
This is what shows for debug on every skill
Establishing Mycroft Messagebus connection...
20:24:32.708 | WARNING | 23789 | ConfigurationSkill | Failed to update settings, will retry later
20:24:49.576 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-pairing|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill mycroft-pairing|21.02']}
20:24:50.833 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-joke|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill mycroft-joke|21.02']}
20:24:50.998 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for fallback-query|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill fallback-query|21.02']}
20:24:51.011 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-reminder|21.02