Rebranded the Matrix Voice to esp32-rhasspy-satellite

If you enter text via the webUI, the siteId will be your server, not the device.

Maybe, but I am not plannig on it.

Hello thanks alot for your answer. Would it be possible to post only one single example to get started … the rest should be finethen :slight_smile:

I just used Pocketsphinx like this and the wotword is recognised really well :slight_smile:

image

Sure, change the settings under Intent Handling using events:

Create sentences with intents, for example this:

[Lights]
turn (on | off){action} the (bedroom | livingroom | porch){name}

When you call Rhasspy and say “turn on the bedroom”, Rhassy will send an event to home assistant.
Create an automation:

- id: '1581372525473'
  alias: EventLights
  trigger:
  - event_data: {}
    event_type: rhasspy_Lights
    platform: event
  condition: []
  action:
  - data_template:
      entity_id: light.{{ trigger.event.data.name }}
    service_template: light.turn_{{ trigger.event.data.action }}
  - service: mqtt.publish
    data:
      topic: hermes/dialogueManager/endSession
      payload_template: '{"sessionId": "{{trigger.event.data._intent.sessionId}}","siteId": "{{trigger.event.data._intent.siteId}}","text": "Ok, {{ trigger.event.data.name }} {{ trigger.event.data.action }}"}'
  mode: single

This will react on Rhasspy to turn on the light.bedroom and push a TTS message with “Ok, bedroom on” to Rhasspy. Which in turn will play it on the device where the wakeword was triggered from.

thanks a lot. I was playing around with at the time 2 satellites. but each time i use one sattelite the other won’t work anymore. i have to unplug the cable from the m5 echo min and restart. I read a lot in the forum here and saw that i must set the sideID on base and satellites the same? can you confirm this? what’s your setup? are u using the m3 echo mini? I have really pain to get it running good wth more than 1 sattelite. i now will change all dise id to default /base and satellites and see if this helps. If you have any hint … I would apprecite. or maybe i join better the discord channel?

Yes, this is solved in the NEXT release.

No, different if you have more than 1 satellite.

I have a Matrix Voice and a M5 Atom Echo. But using 1 now because I am running on 2.5.10

Yes, that is because that does not work yet :slight_smile:

I am not on discord channel :stuck_out_tongue:

I am just testing the lasted 2.5.11 and I cannot get the second satellite working. I odn
t see any difference at the moment in the wakeword recognition. But I will keep testing. Sure I am doing things wrong :frowning:

As I am really new and love this project I will post my config here … maybe u see what i am doing wrong?

{
    "dialogue": {
        "satellite_site_ids": "porch,livingroom",
        "system": "rhasspy"
    },
    "handle": {
        "satellite_site_ids": "porch,livingroom",
        "system": "hass"
    },
    "home_assistant": {
        "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOidIUzh1NiJ9.eyJpc3MiOiJmM2EyMGZlNTY1NjU0NTVlODgzNDA4ZWRiZjRmYTNkMCIsImlhdCI6MTYzMTcwNfdDU5MiwiZXhwIjoxOTQ3MDY0NTkyfQ.SwilZ5905PsgDQW_xiiysl-lKrDqkr7Y-I3wJMoSu74",
        "url": "http://192.168.1.41:8123"
    },
    "intent": {
        "satellite_site_ids": "porch,livingroom",
        "system": "fsticuffs"
    },
    "microphone": {
        "pyaudio": {
            "siteId": "porch,livingroom"
        },
        "system": "pyaudio"
    },
    "mqtt": {
        "enabled": "true",
        "host": "192.168.1.41",
        "password": "hass",
        "username": "hass"
    },
    "speech_to_text": {
        "satellite_site_ids": "porch,livingroom",
        "system": "kaldi"
    },
    "text_to_speech": {
        "satellite_site_ids": "porch,livingroom",
        "system": "espeak"
    },
    "wake": {
        "porcupine": {
            "keyword_path": "bumblebee_linux.ppn"
        },
        "satellite_site_ids": "porch,livingroom",
        "system": "porcupine"
    }

Are you sure you are running 2.5.11?

Yes .)

and no wirries. The token of Home-Assistant is modiefied :stuck_out_tongue:

Hmm, that is strange indeed. Because that was already confirmed working.
So 1 device works ok? I assume you have two different Id’s, correct?

Profile json looks fine

Hi. As soon as I plug in the second m3 echop mini with another side ID it lags like hell or stops working completely. As this project is soo complex Is there anything I can debug? My devices are even on a seperate wifi and network dedicated for them. It it not about the connecttion… that for sure as i have Unifi AP placed all around my house.

There is something to observe as LED show different colors for different MQTT message if i am not wrong. Sometimes it stays red… sometimes it even tunr off.

I just tested. When I change to talk to another satellite it works BUT it takes me maybe 4 times to say the wakeword. Is there an issue or can (how) train this? Sorry for this awful questiopns but i try to understand and help with the project as much as I can. I confirm it works with two satellites. I will first test out with two before adding the third :slight_smile:

Do you have an “ultimate” rhasspy config? Maybe we can make a database with settings for different devices? I would start with M2 Echo Mini If you are ok with that?

I thought this was about an M5 Atom Echo, am I mistaken?

By default, red is not connected to wifi. blue is idle and green is hotword detected

That’s cool. What hardware is the server?

Are those M3 and M2 both esp32 devices? I do not know them.
I do not have an ultimate config, that kind of configuration is almost always too complicated.
Not sure what you mean by settings for different devices.

sorry it is a M5 Atrom Mini, I have green light when idle red light random and almost never blue on one of the M5. My server is a Intel NUC. Normally enough power. it is not a new one but with 8 GR RAM and all dockers and stuff run really good. Sometimes I have to tell the wakework 5 6 7 8 times before it reacts. Is there a way I can debug and see where the issue comes from ? Well when your config is too complaicated I maybe do not wanna se it :stuck_out_tongue: but it would be interesting anyway.

just a note … i switched back to Hassio addon and it seem text to speech is broken? I get the beeps for the wakeword but no text spoken.I set it to NanoTTS

You can attach the M5 to your pc and there will be stuff printed to the Serial output.
Personally I do not have a M5 Atom Mini, but a M5 Atrom Echo.
So I can not tell you what is wrong, but since it is a different device a can imagine incompatiblity

When you do what? Entering text in the webUI will not work for satellites.

@romkabouter again…awesome work on the satellite. Some questions:
I followed this part

  1. In the settings.ini file there is a hostname, what do I put there?
  2. My Wifi password has a $ in it. Am I screwed in getting this to work… :frowning:

1: whatever you want, the device should then be reachable via that hostname. I do not really know if that works, I always use the ip adress
2: I think uploading via the matrix method should work (connected to a pi), but I am not sure. You could try and change the password, flash it, change wifi password back and try OTA.
Or just change the wifi password?

Thx for the help.

I get this error: KeyError: ‘network_type’: Could this be that darn password with the $

 File "C:\Users\xxxxxx\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 178:
    env.SConscript(item, exports="env")
  File "C:\Users\xxxxxx\.platformio\packages\tool-scons\scons-local-4.2.0\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\xxxxxx\.platformio\packages\tool-scons\scons-local-4.2.0\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "E:\xxxxxx\GitHub\RHASSPY\ESP32-Rhasspy-Satellite\PlatformIO\load_settings.py", line 32:
    ("NETWORK_TYPE", config[sectionGeneral]["network_type"])
  File "C:\Users\xxxxxx\AppData\Local\Programs\Python\Python310\lib\configparser.py", line 1258:
    raise KeyError(key)

I have Python 3.10 newly installed on windows 10and then Platformio latest via script and then the app on VSCode v1.61.2. Matrix ESP32 hat on Raspberry with latest OS. Shell setup in system environmental and python vars there to.

No, I do not think so. Do you have the latest code?