Mycroft skills not working in other language

Hi!

I managed tu run mycroft with a german deepspeech instance and german espeak. Unfortunately, our conversations are very one-sided, because mycroft cannot execute any skill, but instead tells me that he did not understand me.

Example Conversation:

suche nikon
> Ich bin nicht sicher, ob ich dich verstanden habe.

skills.log:

16:20:29.905 - mycroft.skills.core:load_skill:117 - INFO - ATTEMPTING TO LOAD SKILL: mycroft-wiki.mycroftai with ID mycroft-wiki.mycroftai
LISTENING FOR mycroft-wiki.mycroftai.set
[…]
16:20:29.982 - SKILLS - DEBUG - {“type”: “register_vocab”, “data”: {“start”: “suche”, “end”: “mycroft_wiki_mycroftaiWikipedia”}, “context”: null}
[…]
16:26:57.936 - SKILLS - DEBUG - {“type”: “recognizer_loop:utterance”, “data”: {“utterances”: [“suche nikon”], “lang”: “de-de”}, “context”: null}
16:26:57.941 - SKILLS - DEBUG - {“type”: “intent_failure”, “data”: {“utterance”: “suche nikon”, “lang”: “de-de”}, “context”: {}}
16:26:57.943 - mycroft.skills.padatious_service:handle_fallback:133 - DEBUG - Padatious fallback attempt: suche nikon
16:26:57.945 - SKILLS - DEBUG - {“type”: “mycroft.skill.handler.start”, “data”: {“handler”: “fallback”}, “context”: {}}
16:26:57.945 - SKILLS - DEBUG - {“type”: “enclosure.mouth.think”, “data”: {}, “context”: null}
16:26:57.946 - QuestionsAnswersSkill - INFO - Searching for suche nikon
16:26:57.948 - SKILLS - DEBUG - {“type”: “question:query”, “data”: {“phrase”: “suche nikon”}, “context”: null}
16:26:57.949 - SKILLS - DEBUG - {“type”: “mycroft.scheduler.schedule_event”, “data”: {“time”: 1549294018.0, “event”: “fallback-query.mycroftai:QuestionQueryTimeout”, “repeat”: null, “data”: {“phrase”: “suche nikon”}}, “context”: null}
16:26:58.160 - SKILLS - DEBUG - {“type”: “fallback-query.mycroftai:QuestionQueryTimeout”, “data”: {“phrase”: “suche nikon”}, “context”: null}
16:26:58.160 - QuestionsAnswersSkill - INFO - Timeout occured check responses
16:26:58.162 - SKILLS - DEBUG - {“type”: “enclosure.mouth.reset”, “data”: {}, “context”: null}
16:26:58.950 - WolframAlphaSkill - DEBUG - WolframAlpha fallback attempt: suche nikon
16:26:58.950 - WolframAlphaSkill - DEBUG - Non-question, ignoring: suche nikon
16:26:58.953 - SKILLS - DEBUG - {“type”: “speak”, “data”: {“utterance”: “Ich bin nicht sicher, ob ich dich verstanden habe.”, “expect_response”: false}, “context”: {}}

from my understanding “suche nikon” should be handled by the wikipedia skill. But i can not get any skill to work.

Any advice on this?

Thanks,
Marc

Try “wikipedia nikon” instead - works for me with lang=“de”

that does work for the wikipedia skill but other commands don’t work either:

Homeassistant skill (some parts are working):

schalte licht ein
>> Bitte formuliere deinen Befehl um.
knippse licht an
>> Es tut mir leid, ich verstehe nicht.
knippse an licht
>> Ich weiĂź nicht, was das bedeutet.
was ist der Wert vom Thermostat Wohnzimmer
>> Temperatur_wohnzimmer ist 21,76 °C.

What are you:

was bist du
>> Es tut mir leid, ich verstehe nicht.

my language setting is “de-de”, because I get a lot of missing intent files with “de”

I stand corrected - my configuration for lang is “de-de” as well.

Looking at the vocab folder of the homeassistant skill I see two subfolders “de” and “de-de” which is already confusing. But looking into the .voc files for “de-de” confuses me even more - some vocab-files were updated some days ago and the translations are not good in my opinion.

If I understand the switch intent and vocab/regex files correctly following should turn on a light:
“drehe licht an” or “drehe an” - which isn’t common german (maybe my grandparents would have said that as at that time the light switches were actionally knobs that had to be turned…)

@MSN: feel free to join channel language-de on Mycroft Chat to have a discussion in German…

@gez-mycroft - this is an example where translations without deeper understanding of the intent and context can go wrong.

1 Like

Yeah, it is a big limitation of the current translation platform, and I know it’s hard for people translating to visit each skill and try to understand how the vocab is being used.

Unfortunately it’s a significant piece of work for us to build in that contextual ability. It’s definitely on our radar but we have some other projects that need to be prioritised at the moment.

If you do have an alternative translation that you think would work better in this context it would be great to add it into the translate platform. If we can keep making these small iterative improvements, then all the languages will slowly get better over time, particularly as more users are actually using the skill and run into small issues like this.

yeah I saw the “drehe an” thing as well but even that is not working, which is very confusing. I tried creating an automation in homeassistant which can succesfully run with the phrase in regex/de-de/automation.rx so the Homeassistant problem seems to be something else.

turning the lights on worked while mycroft was set to english btw

I am typing the commands to eleminate STT errors.

Can you recommend other skills, that work in german @Dominik? Currently the only things I can do are: Read sensor values from homeassistant, run automations in homeassistant and query wikipedia…

Weather skill works for me (actually one of my most frequent used skills): “Wie ist das Wetter?”

Hi everybody, I am too trying to use Mycroft with Home Assistant in german and was stumbling over this thread. Is there any progress, last post was almost 1 year ago… I still cannot switch on any of my lamps or switches, any hints?

What’s with other skills in german, any progress there?

Thanks!

Hi @iceman1000,
can you provide some more details, please?

What is your mycroft.conf configuration?
Which skill are you using for switching lights and which phrases are you using?

Hi Dominik,

thanks for your quick reply. My setup: Raspberry Pi 4 with PiCroft, Home Assistant on a seperate Raspberry Pi 3 (Hassio).
With PiCroft as a standard setup (english) and the Skill “Home Assistant” from the Marketplace the voice commands for Home Assistant were fine so I had no problem turning on my lights (phrase: “turn on the couch light”).
But as I changed the language to german with “tts: google… language: de” in the etc/mycroft/mycroft.conf and “lang: de-de” in ~/.mycroft/mycroft.conf I could not control Home Assistant anymore. The weather still works. Even setting a timer and telling a joke doesn’t work.

German commands I tried: “schalte couch an”, “schalte couch licht an” and some more, answer is “Ich verstehe nicht” or something similar.

“Couch” is a philips hue bulb - the friendly name in home assistant - I also tried the the other name and other commands like “mache … an” and “drehe … an”.

Oddly checking my temperature sensor with “Wie ist der Wert von Aqara Temp” works even with a not 100% correct entity name: “Aqara 2 Sensor Temp hat den Status 22,89 °C”.

Asking for a joke the answer is “Bei der Verarbeitung der Anfrage ist ein Fehler im Skill Joking Skill aufgetreten”.

Phrase: “Wer ist Boris Becker”, answer “Ich weiß nicht wer das ist” - in english Mycroft would remember the wimbledon champion…

Any help is so appreciated!

Thanks in advance!

1 Like

Hi everybody, I am trying to use Mycroft in german but I am struggeling a bit.
I have problems with the timer skill.

When I aks Mycroft to set a timer for 10s

Hey Mycroft, stelle einen Timer fĂĽr 10s

I get the answer: It will be zero o´clock

Es wird null Uhr sein

Can someone help me?

Currently there is an issue in the functionality that parses german numbers (lingua-franca) that leads to this problem.

Hi @iceman1000,

could you somehow solve the problem - same issue here: english language works for switches and thermostats, german language only works for thermostats and ignores every “switch”-command (funnily enough the sensors are recognised).

I’m thankfull for every hint/support