New Binding : Mycroft

Hello,

I made a Mycroft binding. It’s the opposite of the Mycroft skill that some of you may know : this binding allows OpenHAB to control Mycroft and react to event from it.

UPDATE january, 11th, 2022 The binding as been merged and will be available with openHAB 3.3.

You can find a snapshot bundle to install, with the latest code, by clicking here.

Latest documentation is here.

Key features :

  • Wake Mycroft from OpenHAB without using a wake word.
  • Simulate a voice command to launch a skill, as if you just spoke it
  • Send some text that Mycroft will say (Using its Text To Speach service)
  • Control the music player
  • Control the sound volume of Mycroft (work in progress, as I run into some issue on Mycroft side)
  • React to all the aforementioned events in OpenHAB (because channels are bidirectionnal)

I already made in this binding all the functionality I would like to have, but I’m open to feature request if it of interest to other.

Feel free to ask for support in this thread.

9 Likes

Did you keep maintaining this binding? I’ve just dropped Mycroft onto a RP3 and would be keen to see more Openhab / Mycroft integration.

Yes.
The pull request is done and waiting for approval (the wait list is consequent though).
If you have feature request or remark, feel free to post it here. :blush:

Pull request approved. The binding will be onboard the next version (3.3).
Snapshot release available with link in the open post.

3 Likes

I guess we can expect this around June then…

If you want release then yes, 3.3 in about June.
But in snapshots it’s available now.

Thank you. I have had the Mark1 since the beginning and have no desire to purchase a Mark 3. But I love my Mark 1. Its cute! If Openhab can’t connect on port 8181 to Mycroft, is there another configuration I don’t see?

Thanks
Oakguy

Hello,

Disclaimer : I don’t have a Mark I, when developping the binding I used the “Mycroft for Linux” installation method. I think you are the first one to use it with a Mark I. So, thanks for your test :wink:

My guess is that Mycroft has a built-in firewall. A quick search on internet seems to support that. I found a home-assitant thread that discuss this. Apparently from Mycroft version 18.8.1 the firewall prevents other computer from connecting to the Mycroft Bus.
But you can disable the firewall on the message bus port by issuing this command on the Mark I :
sudo ufw allow 8181/tcp
Be aware that it opens the message bus to all computers on your network. It should not be a big securiy issue, but still. You could also customize this command to only allow the computer running openHAB to mitigate the risk (see ufw man page)

Hope this helps. Let me know if it works, and I will add this information in the documentation.
Thanks !

Thanks! The config change worked. And yes, your binding works just fine with the Mark 1.

oakguy

Hi all,

one short question;-)

Is it possible to use mycroft as an voice assistant? So that I can send a comand to an item?
I have tried to evaluate the utterance, but I can’t get it to work.
if is it not possible @dalgwen maybe you can add this feature
thanks in advance

Hi,

The Mycroft binding discussed in this thread, is for openHAB to control Mycroft.
For the reverse (Mycroft as a voice assistant to control openHAB) you have the openHAB skill that you install on Mycroft.

(For the sake of completeness, it is possible to control openHAB with Mycroft and the binding discussed here, because with the binding you can react to (nearly) everything happening on the Mycroft side (including any utterance, etc). But it is complicated and should be reserved for advanced scenario)