No Answer on Satellite

Hi there,
Meanwhile I have Rhasspy (Debian CT on a NUC) running and today I created my first satellite (RPi 3, Docker and a USB soundcard).
everything seems to work, I call “Jarvis”, I hear the confirmation and he executes the command I give him BUT he doesn’t answer me.
If I ask for the time, for example, he understands it and the following line is also visible in the log:

Blockquote
[DEBUG:2021-01-28 12:38:16,662] rhasspyserver_hermes: Sent 369 char(s) to websocket
[DEBUG:2021-01-28 12:38:16,661] rhasspyserver_hermes: Handling NluIntent (topic=hermes/intent/GetTime, id=33854abc-70d7-4d63-950d-b7ba4c4cf3df)
[DEBUG:2021-01-28 12:38:16,661] rhasspyserver_hermes: <- NluIntent(input=‘wie spät ist es’, intent=Intent(intent_name=‘GetTime’, confidence_score=1.0), site_id=‘master’, id=‘3d7c1eef-879f-4574-a835-24f0ce513945’, slots=[], session_id=‘3d7c1eef-879f-4574-a835-24f0ce513945’, custom_data=None, asr_tokens=[[AsrToken(value=‘wie’, confidence=1.0, range_start=0, range_end=3, time=None), AsrToken(value=‘spät’, confidence=1.0, range_start=4, range_end=8, time=None), AsrToken(value=‘ist’, confidence=1.0, range_start=9, range_end=12, time=None), AsrToken(value=‘es’, confidence=1.0, range_start=13, range_end=15, time=None)]], asr_confidence=None, raw_input=‘wie spät ist es’, wakeword_id=None, lang=None)
[DEBUG:2021-01-28 12:38:16,608] rhasspyserver_hermes: Publishing 203 bytes(s) to hermes/nlu/query
[DEBUG:2021-01-28 12:38:16,607] rhasspyserver_hermes: -> NluQuery(input=‘wie spät ist es’, site_id=‘master’, id=‘3d7c1eef-879f-4574-a835-24f0ce513945’, intent_filter=None, session_id=‘3d7c1eef-879f-4574-a835-24f0ce513945’, wakeword_id=None, lang=None)
[DEBUG:2021-01-28 12:38:15,718] rhasspyserver_hermes: Handling AsrTextCaptured (topic=hermes/asr/textCaptured, id=a6ef5336-9301-4601-b287-68aeb603f32c)
[DEBUG:2021-01-28 12:38:15,598] rhasspyserver_hermes: Publishing 73 bytes(s) to hermes/asr/stopListening
[DEBUG:2021-01-28 12:38:15,598] rhasspyserver_hermes: -> AsrStopListening(site_id=‘master’, session_id=‘e733227b-15a1-4905-8d7a-3616623070c6’)
[DEBUG:2021-01-28 12:38:15,597] rhasspyserver_hermes: Sent 42504 byte(s) of WAV data
[DEBUG:2021-01-28 12:38:15,597] rhasspyserver_hermes: Publishing 180 bytes(s) to hermes/asr/startListening
[DEBUG:2021-01-28 12:38:15,597] rhasspyserver_hermes: -> AsrStartListening(site_id=‘master’, session_id=‘e733227b-15a1-4905-8d7a-3616623070c6’, lang=None, stop_on_silence=False, send_audio_captured=True, wakeword_id=None, intent_filter=None)

Does anyone have any idea what could be the cause?

Dave

Hey Dave,
what’s your settings regarding “Intent Handling” and “Dialogue Management”?

Someone is supposed to process your command and generate the answer that should be spoken by rhasspy. Who is this someone in your configuration?

It could under normal circumstances be a Node-Red instance or a Python program:

BR
Martin

Thank you for your prompt reply,
my settings:
master:
Dialogue management is disabled
Intent handling is disabled

satellite:
Dialogue Management: Rhasspy
Intent handling is disabled

I use FHEM, the command arrives and a response is also generated:

Thank you for your prompt reply,
my settings:
master:
Dialogue management is disabled
Intent handling is disabled

satellite:
Dialogue Management: Rhasspy
Intent handling is disabled

I use FHEM, the command arrives and a response is also generated:
lastIntentPayload:
{“Room”:“dach”,“Type”:“Temperatur”,“input”:“Temperatur im dach”,“intent”:“GetNumeric”,“probability”:1,“rawInput”:“wie warm ist es im dach”,“requestType”:“voice”,“sessionId”:“288ff6a9-b064-4b36-9b60-817372ee6d05”,“siteId”:“master”}

lastIntentTopic:
hermes/intent/de.fhem:GetNumeric

voiceResponse:
Die Temperatur von dach beträgt 19,1 Grad

But nothing arrives at the loudspeaker.
P.S. the beeps after the hotword are output.
When I ask for the time, NOTHING comes to the speaker even though it is generated by Rhasspy, right?

Dave

I’m a bit confused because you’re first talking about asking for the time and now you give an example of the temperature. So which script is subscribed to the GetTime intent and responding with a reply to end the session? I don’t see this in your post.

Hi,

I’m sorry I messed up something myself.
At first I thought that Rhasspy could tell me the time by default. But then I tested it with the temperature above FHEM, change apparently is given back to Rhasspy.
The fact is that there is no speech output.

What’s your TTS configuration? Are you using MQTT?

Here is my Config:


Have you entered the site ID of the satellite in the settings of the TTS on the master?

Yes I did
TTS

And if you test the “Speak” button on the satellite with an example sentence, does it work? Or do you see an error in the logs then?

That works, I hear what I enter to say.

I have never used the remote HTTP way (I’m an MQTT aficionado), but I noticed the site ID of the master in the logs you showed. I would expect this to be the site ID of the satellite if you’re speaking to your satellite.

Had the same question amd got it working after great help from romkabouter on here, with MQTT though. Messed arond with the HTTP posting method as well but didn’t get it to work. Probably was my own fault, though I can’t reproduce it, so not idea what went wrong.

In my (working) set-up he server is running Home Assistant (hass.io) in a VM with the mosquitto add-in. The sat is a RPi4. Rhasspy sends events to HA, which are processed there and a response is sent back to the sat. The server doesn’t have a mic.

Here are the configs:

Here’s the automation.yaml part:

- id: '1581372525473'
  alias: OnOffLight
  trigger:
  - event_data: {}
    event_type: rhasspy_Lights
    platform: event
  condition: []
  action:
  - data_template:
      siteid: '{{trigger.event.data._intent.siteId}}'
      payload: OK, {{ trigger.event.data.ttsname }} switched {{trigger.event.data.action}}
    service: rest_command.rhasspy_speak
  - data_template:
      entity_id: light.{{  trigger.event.data.location  }}
    service_template: light.turn_{{  trigger.event.data.action  }}
  mode: single

Not sure if that helps you at all, but it did the trick for me.
Original thread here: Issues with HA built-in intents [HassTurnOff]

2 Likes

Thank you, I´ve tried the same settings but i doesn´t work.

Here is my complete summary including screenshots:

The master (192.168.66.51) runs on a NUC without audio output or input.
The satellite-dach (192.168.66.240) runs on a RPi 3 with a respeak2 and should be responsible for the audio output and input.

FHEM is connected to the master and also executes commands that I enter via text or voice input on the satellite-dach or via text on the master.
What I absolutely cannot get to work is that I can get voice output on the satellite-dach.

The audio itself works, I get the “beeps” after entering the hotword and even if I enter a text in TTS, I get it over the speakers on the satellite-dach.

Ah I missed that you’re using FHEM, I have no idea how FHEM works,
But I think you want to point to the same external MQTT server in both Rhasspy instances and enter the user/pwd. Is there a MQTT server running @.51?
I HA, the MQTT Broker has to be set in up with an add-in, as OC2019OC explaines here thankfully.

Thank you all,

I have the Solution
On sattelite-dach:
Audio Recording - host: 127.0.0.1 port: 12202
Dialog Management - Satellite siteIds: satellite-dach