razzo04 / rhasspy-mobile-app

A simple mobile app for rhasspy.
MIT License
120 stars 13 forks source link

TtsSay only to base station #19

Closed ChrizZz90 closed 2 years ago

ChrizZz90 commented 2 years ago

I am trying to get Rhasspy on a Pi4 with Docker as the base station running. As the only satellite right now I want to use this mobile app, but I can't get it running. I think I tried a lot of different configurations, but I still don't get a response back, it only goes to the base station.

I use an external mosquitto docker container on the same Pi4 as the base station. It is connected with ioBoker/Node-Red.

My Rhasspy config:

{
    "dialogue": {
        "satellite_site_ids": "rhasspy-mobile-chris",
        "system": "rhasspy"
    },
    "handle": {
        "remote": {
            "url": "http://EXT_IP_BASE:8081/intent"
        },
        "satellite_site_ids": "rhasspy-mobile-chris"
    },
    "intent": {
        "satellite_site_ids": "rhasspy-mobile-chris",
        "system": "fsticuffs"
    },
    "mqtt": {
        "enabled": true,
        "host": "EXT_IP_BASE",
        "password": "pass",
        "site_id": "rhasspy-mobile-chris",
        "username": "user"
    },
    "sounds": {
        "system": "hermes"
    },
    "speech_to_text": {
        "satellite_site_ids": "rhasspy-mobile-chris",
        "system": "hermes"
    },
    "text_to_speech": {
        "satellite_site_ids": "rhasspy-mobile-chris",
        "system": "nanotts"
    },
    "wake": {
        "porcupine": {
            "keyword_path": "jarvis_raspberry-pi.ppn",
            "udp_audio": "INT_IP_BASE_DOCKER_CONTAINER:20000"
        },
        "satellite_site_ids": "rhasspy-mobile-chris",
        "system": "porcupine"
    }
}

The Log if I send a text with the "GetTime" intent:

[DEBUG:2021-11-05 13:30:55,830] rhasspyserver_hermes: Handling TtsSayFinished (topic=hermes/tts/sayFinished, id=0a6856fc-581f-46d6-b92c-6b486eab7d57)
[DEBUG:2021-11-05 13:30:52,126] rhasspyserver_hermes: Handling AudioPlayBytes (topic=hermes/audioServer/rhasspy-mobile-chris/playBytes/1dc1f7a0-4495-435f-9bee-7e4d4968e052, id=0a6856fc-581f-46d6-b92c-6b486eab7d57)
[DEBUG:2021-11-05 13:30:51,981] rhasspyserver_hermes: Publishing 159 bytes(s) to hermes/tts/say
[DEBUG:2021-11-05 13:30:51,980] rhasspyserver_hermes: -> TtsSay(text='It is 13:30 ├F10: PM┤', site_id='rhasspy-mobile-chris', lang=None, id='1dc1f7a0-4495-435f-9bee-7e4d4968e052', session_id='', volume=1.0)
[DEBUG:2021-11-05 13:30:51,979] rhasspyserver_hermes: Subscribed to hermes/error/audioServer/play
[DEBUG:2021-11-05 13:30:51,978] rhasspyserver_hermes: Subscribed to hermes/audioServer/rhasspy-mobile-chris/playBytes/#
[DEBUG:2021-11-05 13:30:51,978] rhasspyserver_hermes: Subscribed to hermes/error/tts
[DEBUG:2021-11-05 13:30:51,977] rhasspyserver_hermes: Subscribed to hermes/tts/sayFinished
[DEBUG:2021-11-05 13:30:51,976] rhasspyserver_hermes: TTS timeout will be 30 second(s)
[DEBUG:2021-11-05 13:30:51,962] rhasspyserver_hermes: Sent 383 char(s) to websocket
[DEBUG:2021-11-05 13:30:51,961] rhasspyserver_hermes: Sent 383 char(s) to websocket
[DEBUG:2021-11-05 13:30:51,960] rhasspyserver_hermes: Sent 383 char(s) to websocket
[DEBUG:2021-11-05 13:30:51,956] rhasspyserver_hermes: <- NluIntent(input='wie spät ist es', intent=Intent(intent_name='GetTime', confidence_score=1.0), site_id='rhasspy-mobile-chris', id=None, slots=[], session_id='ec6a4fce-8da9-c832-f411-f1aa0954f5bf', 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)

My mobile app configuration:

Rhasspy IP: EXT_IP_BASE:12101
Enable SSL: false
Enable MQTT: true
Host: EXT_IP_BASE
Port: 1883
user:  ...
pass: ...
Siteid: rhasspy-mobile-chris
Silent Detection: false
Enable SSL: false
Enable notification: false
Use external Dialogue Manager: false

Maybe it is just my mistake based on lack of experience, but I really tried lots of different connections. Maybe my understanding is wrong that MQTT sends the answer back to the source?

ChrizZz90 commented 2 years ago

could make it work...had issues with node-red and my Rhasspy Base configuration