Padatious doesn't pass on home assistant commands

Description of the problem:
When asking Mycroft Mark II to turn off my living room light (set up in Home Assistant), Padatious sends the command to the wrong services.

Steps to reproduce the problem:
I told Mycroft variations of the same command and got interesting results:

Nov 20 01:17:04 localhost.localdomain python[384]: INFO:mycroft.util.log:Padatious match: {'name': 'play-radio.mark2:StopRadio.intent', 'sent': 'turn off living room light', 'matches': {'utterance': 'turn off living room light'}, 'conf': 0.19559353050474496}
Nov 20 01:17:27 localhost.localdomain python[384]: INFO:mycroft.util.log:Padatious match: {'name': 'play-radio.mark2:StopRadio.intent', 'sent': 'tell home assistant to turn off living room light', 'matches': {'utterance': 'tell home assistant to turn off living room light'}, 'conf': 0.23348344691436715}
Nov 20 01:17:46 localhost.localdomain python[384]: INFO:mycroft.util.log:Padatious match: {'name': 'volume.mark2:MaxVolume.intent', 'sent': 'toggle living room light', 'matches': {'utterance': 'toggle living room light'}, 'conf': 0.13321670890365261}
Nov 20 01:17:56 localhost.localdomain python[384]: INFO:mycroft.util.log:Padatious match: {'name': 'volume.mark2:MaxVolume.intent', 'sent': 'home assistant living room light', 'matches': {'utterance': 'home assistant living room light'}, 'conf': 0.12253514577669856}

Any changes you have made to the device?
No, this particular device is fresh out of the box.

Anything else you can think of that might be helpful?
Initially Mark II didn’t pick up my Home Assistant skill settings at all, until I made a change to them via the website, when it pulled the remote settings.

mycroft-core/dinkum(?) should filter confidences below a certain threshold, all those examples should have been handled as unknown intent since confidence is below 0.25 imho

1 Like

Alrighty, with a bunch of troubleshooting, it looks like it’s not Padatious’ fault - I had the Home Assistant skill set to my private DNS, which isn’t resolving, likely due to this issue DNS option not being used with DHCP (Mycroft II) - #5 by j1nx

When I hardcoded to the Home Assistant IP address, Mycroft works with it perfectly. I suppose that means that there should be some sort of voice or video warning when the Home Assistant configuration is failing? :slight_smile:

Can you tell me how you hardcoded to the HA IP address? I’m not very technical so I’m not certain where to do this.

Thanks!

Sure! I checked my home router to get the IP address of the Mark II, then used that instead of the DNS address. DNS wasn’t resolving because of the other bug I linked above so I had to use the IP address.

Took me a while to get to this. I have mycroft running on a linux machine right next to my Mark 2. The Linux mycroft immediately communicates with Home Assistant. The Mark 2 99.9999% of the time says “you might have to say that a different way”. Twice, the Mark 2 has been able to tell me “such and such lights are already off” after my linux Mycroft has already completed the task.

I have had the Mark 2 for one month now and working with Home Assistant was one of my primary use cases.

Following the DNS bug leads me down a rabbit hole beyond what I know what to do. If the HA skill is supposed to be one of the included skills, is there a walk-through to get this skill working properly? My HA is running in a Docker container on a home server, I have a public domain that points to it through Cloudflare, reverse proxy through Traefik; I can access it locally or through the web.

My Linux Mycroft works perfectly, the Mark 2 just won’t work. Thanks for any help.

Hey, I realize now after your response that I didn’t fully answer the question. Once I got the IP address for my Home Assistant server (I have mine running on an independent Raspberry Pi), I added that to my home.mycroft.ai Skills setup. That will propagate it to your Linux Mycroft and your Mark 2.

If you don’t mind going out to the internet first (I typically try to avoid that if I can), you should be able to set your public domain instead. It sounds like you already have that in place and it’s not working, though.

In short, the Mark 2 isn’t respecting local DNS settings, so I have mine hardcoded to the local IP address instead. Hope this is helpful!

I’m going to be trying out Neon OS and OVOS on the Mark 2 soon so that I can have a more consistent experience between it and my Picrofts. I held out hope that Dinkum would get some love with regards to skills and addressing some of these fairly big bugs. However, it seems like the Mycroft team is currently underwater delivering the hardware units, and there’s no public ETA on when we’ll see bugfixes and skills coming to Dinkum.

1 Like

Thanks, I have the local IP and port, and the long lived token all setup on the Linux mycroft. I’ve edited the Linux mycroft config to change the voice, so I’m comfortable editing files. For the mark 2 I can SSH in, I’m just lost on where to put in the local IP address in the mark 2. Not sure if it is a specific file/location that I need to edit because I don’t follow the details in the DNS bug.

I’ll probably try a different OS soon but it would be nice to get the stock one running.

Hey Knox,

I added the IP address to the skill configuration at Account, which then propagated it to all my Mycroft devices. Using the IP address works around the DNS bug entirely.

Hope this helps!

For anyone else that runs into this issue. It ended up being “user error”. For my Linux mycroft, the word order did not matter; I could say “Turn the bedroom lights off” and mycroft would communicate with my Home Assistant container and everything worked. On the Mark II, the word order matters more, so now I need to get used to saying “Turn off the bedroom lights”.

Simple, the words are the same but the word order matters more on the Mark II.