Very new to the Rhasspy scene. Starting to get the hang of it. Currently I have 2 Rhasspy devices setup, 1 base and 1 satellite. They are using Home Assistant for intent handling. Both Rhasspy devices and Home Assistant are using the Home Assistant MQTT broker. That’s all working well. I have created a couple of custom intent scripts, etc.
Now I’m diving into more custom intents. Trying to determine should I be building all my intent handling in Home Assistant or should Rhasspy handle some of it directly. For example weather or time (including timers). I have seen a decent amount of people publishing hermes apps to handle some intents. I’m just not sure I understand the interaction between the 2. Do the apps get installed into Rhasspy? Do they run on their own server somewhere and just talk to the MQTT bus? I feel like I am missing a basic piece of the setup here. Hoping someone can give me a run down of the hermes apps and how they get setup/installed.
i hope i can help you a little bit. Hermes-app is a little helper you can include into your python project. It connects over MQTT with Rhasspy. In my case i had no success with the settings in Rhasspy when i set MQTT to internal, even if it runs on the same device so i set it to external. You can configure your hermes-app instance by adding some parameters. Just start your app like python3 YOURAPP.py --help to see all the settings you have. The default settings are working fine for me, i just needed to set the port and the host on my satellite Rhasspy device under MQTT (external) default Port should be 1883.
That kind of helps. Points me in a direction. But what about all these people that have published hermes apps on their github? Do I need to merge their app into my own or can theirs be run on it’s own?
For example, this one: rhasspy-skills-test/skills/calculator at master · gidocarper/rhasspy-skills-test · GitHub
The are obvious install instructions there but where does this get installed? Anywhere? On the Rhasspy device? That’s what is confusing me the most.
They are standalone scripts. You can install them on any device. You just need to point rhasspy to the right host/ip. Some of them have setup scripts to install an autostart-service to run them in background on start/reboot of a raspberry pi i.e… you expect a kind of skill-server or a app to collect them. I think thats whats a little confusing.
You also need to setup your sentences/intents in rhasspy to match your apps intents.
Thank you. These last 2 posts really helped me understand this architecture better. Now I see what I meed to do. Yeah some sort of intent server that can run all these python scripts and listen to the MQTT bus and handle them, that is exactly what this is missing. Then the load could be shared between an automation system like home assistant, and the skills server (for more basic tasks). It felt odd to make an automation script in Home Assistant to get it to tell me the time… I think I got it now. Thank you very much. Here goes another few days of my life… lol
Maybe this fits your needs: GitHub - patrickjane/hss-server: Hermes Skill Server for MQTT based voice assistants
I also wrote a skill-system a long time ago, but i came up with single services running on one machine, but i cant remeber the reason, maybe i just killed my pi… who knows.
I’ve been looking at that. Probably going to be something I try. Interested to find out if there are any skills in the repo they mention in the read me. I’ve tried accessing the URL via a browser and it errors, but I know that doesn’t always mean much.
I had also seen someone that had a docker variation of this. It ran each skill in a container. Looked interesting too.
Half of my problem has been trying to figure out which one had more steam, if any. Or if I should just be going the template app route and wrapping my own.
FYI… I am going to attempt to write a Jellyfin music playing skill.