Satellite Intent infinite loop

Hi,

i’m currently testing Rhasspy so i have not to many knowledge about it yet.
Currently my Problem is, that the satellite loops on it’s own intent until i restart rhasspy.

Initially i get this log when the intent starts:

[DEBUG:2021-10-22 00:07:30,765] rhasspyserver_hermes: Publishing 24 bytes(s) to rhasspy/handle/toggleOn
[DEBUG:2021-10-22 00:07:30,722] rhasspyserver_hermes: -> HandleToggleOn(site_id='wohnzimmer')
[DEBUG:2021-10-22 00:07:30,557] rhasspyserver_hermes: Sent 752 char(s) to websocket
[DEBUG:2021-10-22 00:07:30,446] rhasspyserver_hermes: Handling NluIntent (topic=hermes/intent/ChangeLightState, id=318f6ea2-2b1d-4cc4-887f-ee13e01c38a5)
[WARNING:2021-10-22 00:07:30,426] rhasspyserver_hermes: Message queue missing (topic=hermes/intent/ChangeLightState, id=694957cf-12d8-4a57-abb7-447422ee37e9)
[DEBUG:2021-10-22 00:07:30,416] rhasspyserver_hermes: Handling NluIntent (topic=hermes/intent/ChangeLightState, id=694957cf-12d8-4a57-abb7-447422ee37e9)
[DEBUG:2021-10-22 00:07:30,318] rhasspyserver_hermes: <- NluIntent(input='mach das licht an', intent=Intent(intent_name='ChangeLightState', confidence_score=1.0), site_id='wohnzimmer', id='d61c707f-1301-4658-8b9a-1cb2a963fc16', slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'licht'}, slot_name='name', raw_value='licht', confidence=1.0, range=SlotRange(start=9, end=14, raw_start=9, raw_end=14)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'an'}, slot_name='state', raw_value='an', confidence=1.0, range=SlotRange(start=15, end=17, raw_start=15, raw_end=17))], session_id='d61c707f-1301-4658-8b9a-1cb2a963fc16', custom_data=None, asr_tokens=[[AsrToken(value='mach', confidence=1.0, range_start=0, range_end=4, time=None), AsrToken(value='das', confidence=1.0, range_start=5, range_end=8, time=None), AsrToken(value='licht', confidence=1.0, range_start=9, range_end=14, time=None), AsrToken(value='an', confidence=1.0, range_start=15, range_end=17, time=None)]], asr_confidence=None, raw_input='mach das licht an', wakeword_id=None, lang=None)
[DEBUG:2021-10-22 00:07:29,518] rhasspyserver_hermes: Publishing 276 bytes(s) to hermes/nlu/query
[DEBUG:2021-10-22 00:07:29,511] rhasspyserver_hermes: -> NluQuery(input='mach das licht an', site_id='wohnzimmer', id='d61c707f-1301-4658-8b9a-1cb2a963fc16', intent_filter=None, session_id='d61c707f-1301-4658-8b9a-1cb2a963fc16', wakeword_id=None, lang=None, custom_data=None, asr_confidence=None, custom_entities=None)

And then this will loop all the time:

[DEBUG:2021-10-22 00:07:31,678] rhasspyserver_hermes: Sent 752 char(s) to websocket
[DEBUG:2021-10-22 00:07:31,441] rhasspyserver_hermes: <- NluIntent(input='mach das licht an', intent=Intent(intent_name='ChangeLightState', confidence_score=1.0), site_id='wohnzimmer', id='6777e5b7-befb-4f90-bad2-e70e6e777a32', slots=[Slot(entity='name', value={'kind': 'Unknown', 'value': 'licht'}, slot_name='name', raw_value='licht', confidence=1.0, range=SlotRange(start=9, end=14, raw_start=9, raw_end=14)), Slot(entity='state', value={'kind': 'Unknown', 'value': 'an'}, slot_name='state', raw_value='an', confidence=1.0, range=SlotRange(start=15, end=17, raw_start=15, raw_end=17))], session_id='6777e5b7-befb-4f90-bad2-e70e6e777a32', custom_data=None, asr_tokens=[[AsrToken(value='mach', confidence=1.0, range_start=0, range_end=4, time=None), AsrToken(value='das', confidence=1.0, range_start=5, range_end=8, time=None), AsrToken(value='licht', confidence=1.0, range_start=9, range_end=14, time=None), AsrToken(value='an', confidence=1.0, range_start=15, range_end=17, time=None)]], asr_confidence=None, raw_input='mach das licht an', wakeword_id=None, lang=None)

My setup is a server inside home assistant with this config:

{
    "home_assistant": {
        "handle_type": "event",
        "url": "https://192.168.178.87/"
    },
    "intent": {
        "satellite_site_ids": "wohnzimmer",
        "system": "fsticuffs"
    },
    "mqtt": {
        "enabled": "true",
        "host": "192.168.178.87",
        "password": "password",
        "username": "user"
    },
    "sounds": {
        "aplay": {
            "device": "pulse"
        },
        "remote": {
            "url": "http://192.168.178.35/api/play-wav"
        }
    },
    "speech_to_text": {
        "kaldi": {
            "allow_unknown_words": true
        },
        "satellite_site_ids": "wohnzimmer",
        "system": "kaldi"
    },
    "text_to_speech": {
        "satellite_site_ids": "wohnzimmer",
        "system": "nanotts"
    },
    "wake": {
        "porcupine": {
            "keyword_path": "jarvis_linux.ppn",
            "sensitivity": "0.5",
            "udp_audio": "0.0.0.0:20000"
        },
        "satellite_site_ids": "wohnzimmer",
        "system": "porcupine"
    }
}

and the sattelites config: (it’s a pi zero with the respeaker 2 mic hat)

{
    "dialogue": {
        "system": "rhasspy",
        "volume": "0.3"
    },
    "home_assistant": {
        "handle_type": "event",
        "url": "https://192.168.178.87/"
    },
    "intent": {
        "remote": {
            "url": "http://192.168.178.87:12101/api/text-to-intent"
        },
        "system": "remote"
    },
    "microphone": {
        "arecord": {
            "device": "plughw:CARD=seeed2micvoicec,DEV=0"
        },
        "pyaudio": {
            "device": "sysdefault:CARD=seeed2micvoicec"
        },
        "system": "arecord"
    },
    "mqtt": {
        "enabled": "true",
        "host": "192.168.178.87",
        "password": "password",
        "site_id": "wohnzimmer",
        "username": "username"
    },
    "sounds": {
        "aplay": {
            "device": "sysdefault:CARD=seeed2micvoicec",
            "volume": "0.5"
        },
        "system": "aplay"
    },
    "speech_to_text": {
        "remote": {
            "url": "http://192.168.178.87:12101/api/speech-to-text"
        },
        "system": "remote"
    },
    "text_to_speech": {
        "remote": {
            "url": "http://192.168.178.87:12101/api/text-to-speech"
        },
        "satellite_site_ids": "default"
    },
    "wake": {
        "pocketsphinx": {
            "threshold": 9.999999999999999e-33
        },
        "porcupine": {
            "keyword_path": "jarvis_linux.ppn",
            "sensitivity": "0.5"
        },
        "snowboy": {
            "model": "jarvis_linux.ppn"
        },
        "system": "porcupine"
    }
}

Hope really someone can help me, as i cannot find any equal problems about a “looping” problem.

I found the issue myself by reading better …

The Problem is in the satellite settings, there it says
“Example: http://localhost:12101//api/text-to-intent

I always thought the // is an unintentionally doubleslash but when i use

http://192.168.178.87:12101//api/text-to-intent

instead of
http://192.168.178.87:12101/api/text-to-intent

i get no more loop

Only seemed like it would fix it, but it started looping again

@Nailik I realise it’s been two years, but I’ve just recently found your post while experiencing the same problem. Maybe I can help people visiting this thread down the line.
In my case, the problem with the loop was caused by installing an mqtt broker on the satellite, and referring it from the base. There were two brokers, one working on a standard mqtt port (8883), and another, rhasspy internal broker on 12183.
After uninstalling the redundant broker and setting “satellite:12183” as an external mqtt broker on the base, the loop was gone.
Maybe it’s because the documentation (rhasspy tutorial) isn’t clear enough.

Edit: sorry, now I see you aren’t using mqtt, never mind.