Mycroft Community Forum

Repeating last response when using Rasa skill

I installed a skill described here (https://mycroft.ai/blog/connecting-rasa-to-mycroft-a-guide/) that connects Mycroft and Rasa. It works quite nicely but I face a usability problem that I cannot locate in the code.

I use the Mycroft client interface to interact with Mycroft which runs in a Docker container on a server. When I type the utterance “connect to diamond”, I receive the expected response “Hi, I am Diamond” and can use the bot.

When I stop interacting with the bot for 5-10 seconds, Mycroft utters the last bot response again once. I could imagine that this is a feature meant to remind the user what was said last. On the other hand, it could also be a bug that breaks the user experience in my case. I could not find out why Mycroft repeats the last utterance in this case. The problem seems to happen only when I use the Rasa-Mycroft skill. The log I extracted during a test conversation are below.
Does anyone have an idea why this happens?

Bus Log

2020-09-07 11:40:36.067 | INFO | 25 | QuestionsAnswersSkill | Timeout occured check responses
2020-09-07 11:41:06.599 | INFO | 25 | mycroft.skills.skill_loader:load:161 | ATTEMPTING TO LOAD SKILL: skill-rasa-chat.wel
2020-09-07 11:41:06.607 | INFO | 25 | mycroft.skills.settings:get_local_settings:78 | /opt/mycroft/skills/skill-rasa-chat.wel/settings.json
2020-09-07 11:41:06.617 | INFO | 25 | mycroft.skills.skill_loader:_check_for_first_run:300 | First run of skill-rasa-chat.wel
2020-09-07 11:41:06.618 | INFO | 25 | mycroft.skills.settings:save_settings:111 | Skill settings successfully saved to /root/.config/mycroft/skills/skill-rasa-chat.wel/settings.json
2020-09-07 11:41:06.620 | INFO | 25 | mycroft.skills.skill_loader:_communicate_load_status:320 | Skill skill-rasa-chat.wel loaded successfully
2020-09-07 11:41:06.620 | INFO | 25 | mycroft.skills.skill_manager:put:80 | Updating settings meta during runtime…
2020-09-07 11:41:06.622 | INFO | 25 | msm.mycroft_skills_manager | invalidating skills cache
2020-09-07 11:41:06.623 | INFO | 25 | msm.mycroft_skills_manager | building SkillEntry objects for all skills
2020-09-07 11:41:09.858 | INFO | 25 | mycroft.skills.skill_manager:send:64 | New Settings meta to upload.
2020-09-07 11:42:00.473 | INFO | 25 | SKILLS | Invalid level provided:
2020-09-07 11:42:00.473 | INFO | 25 | SKILLS | Bus logging: True
2020-09-07 11:42:00.473 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.debug.log”, “data”: {“bus”: true}, “context”: {}}
2020-09-07 11:42:01.207 | INFO | 25 | mycroft.skills.settings:save_settings:111 | Skill settings successfully saved to /root/.config/mycroft/skills/skill-rasa-chat.wel/settings.json
2020-09-07 11:42:01.211 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.skill.handler.complete”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:10.210 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:15.889 | INFO | 25 | SKILLS | BUS: {“type”: “recognizer_loop:utterance”, “data”: {“utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:15.895 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “skill-rasa-chat.wel”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:15.898 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “skill-rasa-chat.wel”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.097 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “fallback-unknown.mycroftai”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.101 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “fallback-unknown.mycroftai”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.298 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “mycroft-hello-world.mycroftai”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.303 | INFO | 25 | SKILLS | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “mycroft-hello-world.mycroftai”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.507 | INFO | 25 | SKILLS | BUS: {“type”: “skill-rasa-chat.wel:StartChat”, “data”: {“intent_type”: “skill-rasa-chat.wel:StartChat”, “skill_rasa_chat_welChatwithrasa”: “diamond”, “target”: null, “confidence”: 0.5, “tags”: [{“match”: “diamond”, “key”: “diamond”, “start_token”: 2, “entities”: [{“key”: “diamond”, “match”: “diamond”, “data”: [[“diamond”, “skill_rasa_chat_welChatwithrasa”]], “confidence”: 1.0}], “end_token”: 2, “from_context”: false}], “utterance”: “connect to diamond”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.511 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.skill.handler.start”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}

2020-09-07 11:42:16.516 | INFO | 25 | SKILLS | BUS: {“type”: “speak”, “data”: {“utterance”: "Hi, I am Diamond ", “expect_response”: true, “meta”: {“dialog”: “Hi, I am Diamond.”, “data”: {}, “skill”: “RasaSkill”}}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.559 | INFO | 25 | SKILLS | BUS: {“type”: “enclosure.eyes.blink”, “data”: {“side”: “b”}, “context”: {“destination”: [“enclosure”]}}
2020-09-07 11:42:16.559 | INFO | 25 | SKILLS | BUS: {“type”: “recognizer_loop:audio_output_start”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.560 | INFO | 25 | SKILLS | BUS: {“type”: “recognizer_loop:audio_output_end”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.561 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.mic.listen”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.564 | INFO | 25 | SKILLS | BUS: {“type”: “enclosure.eyes.blink”, “data”: {“side”: “b”}, “context”: {“destination”: [“enclosure”]}}
2020-09-07 11:42:16.819 | INFO | 25 | SKILLS | BUS: {“type”: “active_skill_request”, “data”: {“skill_id”: “skill-rasa-chat.wel”}, “context”: {}}
2020-09-07 11:42:20.222 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:22.227 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}
2020-09-07 11:42:22.229 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-configuration.mycroftai:ConfigurationSkillupdate_remote”, “data”: “UpdateRemote”, “context”: {}}
2020-09-07 11:42:30.239 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}

2020-09-07 11:42:31.823 | INFO | 25 | SKILLS | BUS: {“type”: “speak”, “data”: {“utterance”: "Hi, I am Diamond ", “expect_response”: true, “meta”: {“skill”: “RasaSkill”}}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:31.825 | INFO | 25 | SKILLS | BUS: {“type”: “active_skill_request”, “data”: {“skill_id”: “skill-rasa-chat.wel”}, “context”: {}}
2020-09-07 11:42:31.830 | INFO | 25 | SKILLS | BUS: {“type”: “recognizer_loop:audio_output_start”, “data”: {}, “context”: {}}
2020-09-07 11:42:31.861 | INFO | 25 | SKILLS | BUS: {“type”: “recognizer_loop:audio_output_end”, “data”: {}, “context”: {}}
2020-09-07 11:42:31.863 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.mic.listen”, “data”: {}, “context”: {}}
2020-09-07 11:42:40.252 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:46.824 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft.skill.handler.complete”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:50.267 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:52.270 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}
2020-09-07 11:43:00.284 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:10.297 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:20.311 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:22.316 | INFO | 25 | SKILLS | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}

Voice log

2020-09-07 11:42:00.472 | INFO | 31 | VOICE | Invalid level provided:
2020-09-07 11:42:00.473 | INFO | 31 | VOICE | Bus logging: True
2020-09-07 11:42:00.473 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.debug.log”, “data”: {“bus”: true}, “context”: {}}
2020-09-07 11:42:01.210 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.skill.handler.complete”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:10.210 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:15.888 | INFO | 31 | VOICE | BUS: {“type”: “recognizer_loop:utterance”, “data”: {“utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:15.895 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “skill-rasa-chat.wel”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:15.898 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “skill-rasa-chat.wel”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.097 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “fallback-unknown.mycroftai”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.101 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “fallback-unknown.mycroftai”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.298 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.request”, “data”: {“skill_id”: “mycroft-hello-world.mycroftai”, “utterances”: [“connect to diamond”], “lang”: “en-us”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.303 | INFO | 31 | VOICE | BUS: {“type”: “skill.converse.response”, “data”: {“skill_id”: “mycroft-hello-world.mycroftai”, “result”: false}, “context”: {“client_name”: “mycroft_cli”, “source”: “debug_cli”, “destination”: [“skills”]}}
2020-09-07 11:42:16.507 | INFO | 31 | VOICE | BUS: {“type”: “skill-rasa-chat.wel:StartChat”, “data”: {“intent_type”: “skill-rasa-chat.wel:StartChat”, “skill_rasa_chat_welChatwithrasa”: “diamond”, “target”: null, “confidence”: 0.5, “tags”: [{“match”: “diamond”, “key”: “diamond”, “start_token”: 2, “entities”: [{“key”: “diamond”, “match”: “diamond”, “data”: [[“diamond”, “skill_rasa_chat_welChatwithrasa”]], “confidence”: 1.0}], “end_token”: 2, “from_context”: false}], “utterance”: “connect to diamond”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.511 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.skill.handler.start”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}

2020-09-07 11:42:16.518 | INFO | 31 | VOICE | BUS: {“type”: “speak”, “data”: {“utterance”: "Hi, I am Diamond ", “expect_response”: true, “meta”: {“dialog”: “Hi, I am Diamond.”, “data”: {}, “skill”: “RasaSkill”}}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:16.526 | INFO | 31 | VOICE | BUS: {“type”: “enclosure.eyes.blink”, “data”: {“side”: “b”}, “context”: {“destination”: [“enclosure”]}}
2020-09-07 11:42:16.526 | INFO | 31 | VOICE | BUS: {“type”: “recognizer_loop:audio_output_start”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.558 | INFO | 31 | VOICE | BUS: {“type”: “recognizer_loop:audio_output_end”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.560 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.mic.listen”, “data”: {}, “context”: {}}
2020-09-07 11:42:16.563 | INFO | 31 | VOICE | BUS: {“type”: “enclosure.eyes.blink”, “data”: {“side”: “b”}, “context”: {“destination”: [“enclosure”]}}
2020-09-07 11:42:16.819 | INFO | 31 | VOICE | BUS: {“type”: “active_skill_request”, “data”: {“skill_id”: “skill-rasa-chat.wel”}, “context”: {}}
2020-09-07 11:42:20.223 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:22.227 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}
2020-09-07 11:42:22.229 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-configuration.mycroftai:ConfigurationSkillupdate_remote”, “data”: “UpdateRemote”, “context”: {}}
2020-09-07 11:42:30.238 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}

2020-09-07 11:42:31.823 | INFO | 31 | VOICE | BUS: {“type”: “speak”, “data”: {“utterance”: "Hi, I am Diamond ", “expect_response”: true, “meta”: {“skill”: “RasaSkill”}}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:31.825 | INFO | 31 | VOICE | BUS: {“type”: “active_skill_request”, “data”: {“skill_id”: “skill-rasa-chat.wel”}, “context”: {}}
2020-09-07 11:42:31.830 | INFO | 31 | VOICE | BUS: {“type”: “recognizer_loop:audio_output_start”, “data”: {}, “context”: {}}
2020-09-07 11:42:31.861 | INFO | 31 | VOICE | BUS: {“type”: “recognizer_loop:audio_output_end”, “data”: {}, “context”: {}}
2020-09-07 11:42:31.863 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.mic.listen”, “data”: {}, “context”: {}}

2020-09-07 11:42:40.252 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:46.823 | INFO | 31 | VOICE | BUS: {“type”: “mycroft.skill.handler.complete”, “data”: {“name”: “RasaSkill.handle_talk_to_rasa_intent”}, “context”: {“client_name”: “mycroft_cli”, “source”: [“skills”], “destination”: “debug_cli”}}
2020-09-07 11:42:50.267 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:42:52.269 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}
2020-09-07 11:43:00.284 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:10.296 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:20.311 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:22.315 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}
2020-09-07 11:43:22.319 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-configuration.mycroftai:ConfigurationSkillupdate_remote”, “data”: “UpdateRemote”, “context”: {}}
2020-09-07 11:43:30.327 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:40.342 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:50.356 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-date-time.mycroftai:TimeSkillupdate_display”, “data”: {}, “context”: {}}
2020-09-07 11:43:52.360 | INFO | 31 | VOICE | BUS: {“type”: “mycroft-reminder.mycroftai:reminder”, “data”: {}, “context”: {}}

I am still looking for a fix to this issue. I realized that the Mycroft client logs two Listen events triggered from outside. They are 5 seconds apart and I think they are related to the issue.

 13:59:35.152 | DEBUG    |    25 | mycroft.skills.intent_service:handle_utterance:346 | Utterances: ['connect me to diamond']
 13:59:35.159 | DEBUG    |    25 | mycroft.skills.intent_service:handle_utterance:366 | Padatious intent: {'name': 'mycroft-date-time.mycroftai:date.future.weekend.intent', 'sent': 'connect me to diamond', 'matches'~~~~
 13:59:35.160 | DEBUG    |    25 | mycroft.skills.intent_service:handle_utterance:367 |     Adapt intent: {'intent_type': 'skill-rasa-chat.wel:StartChat', 'skill_rasa_chat_welChatwithrasa': 'diamond', 'target': None~~~~
 13:59:35.211 | DEBUG    |    31 | mycroft.client.speech.mic:trigger_listen:527 | Listen triggered from external source.
 13:59:50.522 | DEBUG    |    31 | mycroft.client.speech.mic:trigger_listen:527 | Listen triggered from external source.