Mycroft Mark II with Home Assistant

Hi,

I am wondering whether the integration of the Mycroft Mark II is straightforward with Home Assistant?

The Home Assistant documentation about this confuses me, because it says that the skills “allows to deliver notifications from Home Assistant to Mycroft AI”. Shouldn’t it be the other way around? I want Mycroft to figure out my voice command and then send the command to Home Assistant. Is this working as intended?

Hey there,

The Home Assistant integration you linked to was a community developed plugin to HomeAssistant. As far as I know it has not been updated in a long time and is not supported at all.

We do what you’ve suggested using the Skill linked above. Mycroft determines the intent behind your utterance and sends a command to do something to Home Assistant.

In the Mark II it comes pre-installed, you just need to add your Home Assistant IP and an access token to your Skill settings.

2 Likes

In all honesty there is no clear way to determine that MyCroft has or is using the settings. I have done several settings updates 1) with ip address, 2) with fully qualified domain name, and 3) the token. Additionally, I made a background change to watch how long it would take for the home screen to change.

Each time I tried the suggested command but it is not clear if the unit was successful (or not). I know my home assistant is working as I have many other devices and integrations.

In my case home assistant is working correctly.
I only picked IP address and long living token (not using SSL).
However I had to give proper entity names (for e.g. Living Room Lights) otherwise Mycroft would just say entity not found.

Are you using the Mark II - that was recently shipped – I have opened a support ticket as I have other solutions working with Home Assistant. There is really no solid way to check if this MyCroft has the settings or downloaded what I added within the skill.

My Mark II arrived about 2 weeks ago and I set it up just last week

Mine arrived similar timeframe. I got it setup about 1 week ago.

I was hoping to have my “Home Assistant Yellow” (from Nabu Casa) to interact with My Mark II. Ideally getting it to accept commands to use the Home Assistant skill.

I am using the default setup – I did not configure TLS yet.

On the mycroft home assistant skill page, I noticed that the checkboxes are not working – I cannot tell if these are checked or uncheck. I have tried the ip address as well as the fully qualified name.

Initially I thought the problem was due to the token not being copy/paste correctly, but I don’t think that is really the case anymore.

For example I cannot even get SSH to work from this central website. I pasted my public key and the unit still does not have ssh working.

I copied/backed up the original usb that shipped with the unit (it is a similar sized sandisk).

What I suspected happened did… the settings are not getting updated or the website for the skill page is broken/bugged.

To help share more detail – I backed up the USB drive as I could not get ssh to work on this unit.
Then I found are two main mount points pvroot and pvboot.
searching thru all the files, I found the following directory/file here (pvroot is the base):
./disks/perm/mycroft/lxc-overlay/upper/home/mycroft/.config/mycroft/skills/homeassistant.mark2/settings.json

In that file was the following:
{“ssl”: true, “host”: “x.x.x.x”, “token”: “eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI0ZTA1ODNmZGMyMTQ0NTc4OWVjNzk5OWEyZWNiMjdiOCIsImlhdCI6MTY2ODA0MDE4NSwiZXhwIjoxOTgzNDAwMTg1fQ.h4bYs025ihPhzzMjHh83hOddDmQG509j6oQ6vakQeBo”, “verify”: false, “portnum”: 8123, “enable_fallback”: false}

I changed the ip address and the token that was used has been removed from Home Assistant.

As the earlier picture demonstrated, the checkmarks were not selected, but the sync settings see SSL is set to true.

update: 2:48 PM (chicago)
I checked with other browsers - Safari (from an iPad Pro/Macbook pro), Firefox on Linux, Firefox on Windows, etc) - the checkboxs are not reflecting the “true” value on the web app. MyCroft json file from the website is showing SSL is set to true.

Your web settings look exactly same as mine (I use in-network IP address)
I’ll try enabling ssh later and see contents and report back.

thank you.

I had to do a few trial and error attempts to get home assistant working. I believe my unit is connecting to Home Assistant.

The documentation portal ssh is running on port 8222 which I confirmed via nmap.

I got ssh working as well. The documentation portal page does have some good detail

ssh -i ~/.ssh/id_rsa-mycroft -p 8222 mycroft@x.x.x.x where x.x.x.x is your ip address

hope this works for you

My HomeAssistant skill worked right out of the box

if I had to guess, you probably never click on the checkboxes within the web UI.

I generally check out the Web UI interfaces (text fields, checkbox, etc) to see if there is any validation. For example the SSH public key has to be in a specific format otherwise the text box will not accept it.

In this sense I think the webpage has some issue that registers an user input value but does not displays it.

I unticked all checkboxes (they were ticked) and entered the info

The Home Assistant skill has been working for me pretty good once I learned how to turn things on and off.

Dumb question: Is there a list somewhere that has all of the available utterances that it can understand and act on regarding Home Assistant?

I’ve a different, also maybe-dumb question: how easy would it be to have the Home Assistant instance also running on the Mark II alongside the Mycroft software? Would it negatively impact performance to a noticeable degree if I’m only using it for, like, two power sockets or light switches?

I rent one room—my “home automation” needs don’t really exceed the scope of what might be provided by the “clap on! clap off!” clapper for the one light I have on a shelf that’s a bit of a pain to reach. I figured dropping $30 on a Zigbee USB antennae and plugging it into the Mark II should be all I need.

If you don’t have a lot going on in the Home Assistant instance then I’m sure it would be fine. The boot might take a little longer for it to get up and running.

1 Like

Does anyone happen to know what should be said to control thermostats from the home assistant skill on the Mark II?

I’ve tried many variations of what once worked through Amazon Alexa devices, but not having much luck.

Hi @n0pe, I do not have access to Mark 2 so cannot tell if there are differences for mark2 and original skill. But You can try to update skill to latest available version from Github. Thermostat then can by set by set.climate.intent:

set (the|) {entity} to {temp} degrees
set (the|) {entity} temperature to {temp} degrees
change (the|) {entity} temperature to {temp} degrees
1 Like

Exactly what I was looking for, thank you!

1 Like