Binding : Mycroft / OVOS

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 has been merged and is available with openHAB 3.3.

UPDATE august, 19, 2026 : thanks to @vanja testing it, the binding seems to also work with OVOS :+1:

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.

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.

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)

Hi,

does this binding support mycroft running on the new OVOS platform? Since the old Mycroft got killed off by a patent troll…

I’m interested in the feature of telling mycroft to say something

on the new platform the command would be /home/ovos/.venv/bin/ovos-speak “say something out loud”

on the old one, the cli command was of course different…

I mean i can install the binding and just test it out, but i doubt it will work…

any way i can modify this binding so it runs this command instead of the old one?

Hello,

The binding works by using the MessageBus web socket interface, not the command line.
Sorry, I don’t know if OVOS still use it, and I don’t know if it is compatible. Giving the global A.I. assistant development pace, I would be surprised if so.

I don’t use Mycroft (or derivative) anymore, so I’m not able to maintain it, nor giving it an update/upgrade to OVOS.

In fact, with the Mycroft demise and my inability to follow successors, I’m wondering if I should ask takedown/EOL for this binding.
(But I never did, in case there is someone still using it out there ?)

Hi, wait dont take it down yet, i managed to connect. Mycroft still uses same port but was listening on 127.0.0.1 only

EDIT: this works beautifully. I use it to send some random statements that he is supposed to speak around the house, like hello goodbye good morning, AC cannot run with opened balcony :slight_smile: and whatnot.

I had some ugly scripts for each of those, but now all is one simple switch rule with case 1,2,3…thanks to your binding.

The thing is I moved to docker so i lost exec binding, and now I’m working my way through “naturalizing” those shell scripts.

So I sure hope your binding exists for OH5 because OH upgrade is the next step :slight_smile:

Great ! I’m very glad it still works.

wait dont take it down yet, i managed to connect.

With your report here, there is absolutely no reason to take it down.
On the contrary, it means we should do something to update its visibility with the new information you just brought. I see several possibilities:

  • at least mentioning OVOS in the documentation (Maybe, even in the title ?)
  • or renaming the binding to OVOS (but for this, we should verify that all advertised channels works. Your help here is welcome !).
  • I also suppose, as a third way, that the binding may remain technically named “Mycroft” and everywhere in the UI it could be named “OVOS”.

I don’t know if there is precedence for this in the openHAB project ?
If some maintainers see this, I would appreciate your insights.

And the cherry on the cake would be to have someone wanting to update documentation, code, etc. I see that OVOS is using mdns, so it’s a good candidate for openHAB autodiscovery.

EDIT : I renamed this topic for visibility.

great stuff.

for future reference, I’m dropping this here. all you have to do to make OVOS mycroft work with this binding is add this in mycroft.conf

(be aware their docs advise against it, for security reasons without this config it defaults to 127.0.0.1 :slight_smile: )

{
  "websocket": {
    "host": "0.0.0.0",
    "port": 8181,
    "route": "/core",
    "ssl": false
  }

Honestly man, I am confused as you are believe me. The way opensource can pivot, fork and change is crazy.

I have no idea how you call him nowadays. As I understand the assistant is still called Mycroft, it still responds to “Hey Mycroft” and OVOS is a platform (Open Voice Operating System) which provides maybe some of the engines, like Dinkum and whatnot.

I moved to it simply because my Picroft (this was mycroft image for RPI) died when they killed of the servers. So at that moment (of mycroft demise) i found raspi-ovos image and just burned it to the sdcard and gave it a spin, and realized its the same old mycroft :slight_smile:

I got used to it because it has OH skill and it can controll all openhab items…

you can have a look at this discussion, I posted the info about it, there is another Mycroft fork called Neon AI, for sure it also works with your binding, as we all know who is inside of it :slight_smile:

Revisiting local LLM-powered Voice Assistants in 2026? - Hardware / DIY - openHAB Community