ChristopherRogers1991 / mycroft_routine_skill

Create, run, and schedule routines with Mycroft
GNU General Public License v3.0
30 stars 13 forks source link

Can't name a routine #3

Closed OldLodgeSkins closed 5 years ago

OldLodgeSkins commented 5 years ago

Hi I have just installed this skill on a Picroft (I find the idea amazing honestly), however I can't name my routines, as it seems that instead of listening for the name, Mycroft is listening for a new command... Example:

[code] create a new routine

What would you like to name it? morning Good Morning [/code]

The same goes with any word I may use... If the word does not match any of Mycroft's skills he'll just say he doesn't understand.

Any ideas?

Thanks :)

ChristopherRogers1991 commented 5 years ago

Hey @OldLodgeSkins,

Can you tell me what version of Mycroft you're running? (If you're not sure, you can ask him "what version are you running?") I've been traveling for work, and have yet to test with the latest version, so it's possible something's not working quite right in the latest release of Mycroft (upgrading now, so I should be able to test soon).

Also, are you speaking to Mycroft, or are you typing (e.g. using the debug console)? I'm making use of the get_response method here, and if Mycroft does not receive a response in time, name will not be set, and the routine creation process will terminate. When I've tried typing in the past, I've had to type pretty fast to get it to work.

OldLodgeSkins commented 5 years ago

Hi Christopher I am using version 18.0.8-5 which is the latest version. I have done most of my tests by speaking, and only once by typing into the console. I do hear the beep after "what do you want to name it?" in case that helps. Let me know if there is anything else I can do to help you track the problem.

ChristopherRogers1991 commented 5 years ago

Ok, I just tested this on my Mark 1 running 18.08-5 and it worked fine for me, so that doesn't appear to be the issue.

I've got some ideas for how to troubleshoot, but it may involve writing some code and/or running some console commands (if you're not a programmer, I can make the code changes, if you can run the commands). Is that something you're up for?

-Chris

OldLodgeSkins commented 5 years ago

Sure, if you can just tell me what to do I'm in :)

ChristopherRogers1991 commented 5 years ago

Ok, I've created a branch called debug/3 (3 is the issue number), which adds some logging to the routine creation function.

You should be able to run this modified version by running the following:

cd /opt/mycroft/skills/mycroft_routine_skill  # this path may not be correct on your setup, so please double check it
git fetch
git checkout debug/3

Mycroft should reload the skill when the files change, but to be safe, you may want to restart Mycroft at this point. Then you can try creating a routine again, and we should see some info in the logs (e.g. 'No name supplied.'). That should hopefully tell us where it's failing out of that function.

If you can give that a shot, and then paste the logs here after trying to create a routine, I think that should give us some more info to go on.

-Chris

OldLodgeSkins commented 5 years ago

Ok. I had to run git with sudo otherwise I didn't have the permissions. Here is what I have, just after trying to create a new routine.

skills.log:

14:04:59.953 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-playback-control.mycroftai, universal_newlines=False, shell=None) 14:04:59.973 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-personal.mycroftai, universal_newlines=False, shell=None) 14:04:59.995 - msm.mycroft_skills_manager - WARNING - No such default skill: krunner-search-skill 14:04:59.996 - msm.mycroft_skills_manager - WARNING - No such default skill: plasma-user-control-skill 14:04:59.998 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url', 'https://github.com/MycroftAI/mycroft-skills'], cwd=/opt/mycroft/.skills-repo, universal_newlines=False, shell=None) 14:05:00.028 - git.cmd - DEBUG - Popen(['git', 'fetch'], cwd=/opt/mycroft/.skills-repo, universal_newlines=False, shell=None) 14:05:01.062 - git.cmd - DEBUG - Popen(['git', 'checkout', '18.08'], cwd=/opt/mycroft/.skills-repo, universal_newlines=False, shell=None) 14:05:01.094 - git.cmd - DEBUG - Popen(['git', 'reset', '--hard', 'origin/18.08'], cwd=/opt/mycroft/.skills-repo, universal_newlines=False, shell=None) 14:05:01.120 - git.cmd - DEBUG - Popen(['git', 'ls-tree', 'origin/18.08'], cwd=/opt/mycroft/.skills-repo, universal_newlines=False, shell=None) 14:05:01.164 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-skill-today-in-history.geeked-out-solutions, universal_newlines=False, shell=None) 14:05:01.184 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/pianobar-skill.ethanaward, universal_newlines=False, shell=None) 14:05:01.205 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-spelling.mycroftai, universal_newlines=False, shell=None) 14:05:01.225 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/what-can-you-do-skill.luke5sky, universal_newlines=False, shell=None) 14:05:01.245 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-audio-record.mycroftai, universal_newlines=False, shell=None) 14:05:01.269 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-joke.mycroftai, universal_newlines=False, shell=None) 14:05:01.288 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/knock-knock-jokes-skill.aussiew, universal_newlines=False, shell=None) 14:05:01.308 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-timer.mycroftai, universal_newlines=False, shell=None) 14:05:01.330 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-installer.mycroftai, universal_newlines=False, shell=None) 14:05:01.353 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/fallback-wolfram-alpha.mycroftai, universal_newlines=False, shell=None) 14:05:01.372 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-singing.mycroftai, universal_newlines=False, shell=None) 14:05:01.395 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-naptime.mycroftai, universal_newlines=False, shell=None) 14:05:01.416 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/fallback-aiml, universal_newlines=False, shell=None) 14:05:01.435 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/skill-fallback-persona.mycroftai, universal_newlines=False, shell=None) 14:05:01.457 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-weather.mycroftai, universal_newlines=False, shell=None) 14:05:01.479 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-hello-world.mycroftai, universal_newlines=False, shell=None) 14:05:01.500 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-configuration.mycroftai, universal_newlines=False, shell=None) 14:05:01.533 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/cocktails.forslund, universal_newlines=False, shell=None) 14:05:01.552 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-speak.mycroftai, universal_newlines=False, shell=None) 14:05:01.572 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-volume.mycroftai, universal_newlines=False, shell=None) 14:05:01.594 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-date-time.mycroftai, universal_newlines=False, shell=None) 14:05:01.613 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-alarm.mycroftai, universal_newlines=False, shell=None) 14:05:01.634 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/skill-location-tracker.jarbasal, universal_newlines=False, shell=None) 14:05:01.655 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-npr-news.mycroftai, universal_newlines=False, shell=None) 14:05:01.681 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-fallback-duck-duck-go.mycroftai, universal_newlines=False, shell=None) 14:05:01.704 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-version-checker.mycroftai, universal_newlines=False, shell=None) 14:05:01.729 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-stop.mycroftai, universal_newlines=False, shell=None) 14:05:01.758 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-stock.mycroftai, universal_newlines=False, shell=None) 14:05:01.779 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-support-helper.mycroftai, universal_newlines=False, shell=None) 14:05:01.798 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-pairing.mycroftai, universal_newlines=False, shell=None) 14:05:01.816 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft_routine_skill.christopherrogers1991, universal_newlines=False, shell=None) 14:05:01.840 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-reminder.mycroftai, universal_newlines=False, shell=None) 14:05:01.860 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/avmusic.reginaneon, universal_newlines=False, shell=None) 14:05:01.881 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/fallback-unknown.mycroftai, universal_newlines=False, shell=None) 14:05:01.902 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-wiki.mycroftai, universal_newlines=False, shell=None) 14:05:01.926 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-yelp.btotharye, universal_newlines=False, shell=None) 14:05:01.949 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-homeassistant, universal_newlines=False, shell=None) 14:05:01.972 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-ip.mycroftai, universal_newlines=False, shell=None) 14:05:01.992 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-playback-control.mycroftai, universal_newlines=False, shell=None) 14:05:02.011 - git.cmd - DEBUG - Popen(['git', 'config', 'remote.origin.url'], cwd=/opt/mycroft/skills/mycroft-personal.mycroftai, universal_newlines=False, shell=None) 14:06:15.415 - mycroft_routine_skill_christopherrogers1991 - INFO - No name supplied.

I couldn't find the CLI log so I am attaching a screenshot of another attempt. mycroft-routine-log

ChristopherRogers1991 commented 5 years ago

From the log, it looks like the wake word is being detected multiple times during the routine creation process. I think what's happening is mycroft asks you to name the routine, and then while listening, things it hears the wake word, and then what ever you say next is hijacked by the main intent handler, rather than passed through to the routine skill.

Can you try muting your mic, and using the cli again?

OldLodgeSkins commented 5 years ago

Ok, that's interesting... I unplugged the microphone and created a routine from the CLI: it worked perfectly. I then called that routine, it worked as expected... After re-plugging the mic and rebooting (as the mic apparently wasn't detected) I can call that routine also with no problem. How do I delete or edit a routine by the way? :)

ChristopherRogers1991 commented 5 years ago

You can delete it by just saying "Hey Mycroft, delete {routine name}". If you want to edit it, you should be able to just create a routine with the same name. You can also manually edit the JSON file on disk - see https://github.com/ChristopherRogers1991/mycroft_routine_skill#configuration. Also worth noting is that you can have one routine trigger other routines, so you could make small building blocks, and mix and match them into larger routines - this may save you doing a lot of editing.

You may want to check out the sample phrases here: https://github.com/ChristopherRogers1991/mycroft_routine_skill#simple-commands

I'm going to go ahead and close this out, since it looks like the issue is not related to this skill. You can feel free to continue asking questions here on the closed issue though, or you can ping me on https://chat.mycroft.ai/ if you have any more questions.

OldLodgeSkins commented 5 years ago

Awesome, thank you :)