Solved: Rhasspy 2.5: master + satellite error

Hello,
I’m trying rhasspy master-satellite with the following configuration:

Master
Raspbbery Pi 3 running:

  • mqtt mosquitto broker
  • home assistant docker container
  • rhasspy docker container (siteId: rpi3)

Configuration screenshot:

Full rpi3 configuration json:

{
    "dialogue": {
        "satellite_site_ids": "rpi2",
        "system": "rhasspy"
    },
    "handle": {
        "system": "hass"
    },
    "home_assistant": {
        "access_token": "token",
        "handle_type": "intent",
        "url": "http://192.168.0.100:8123/"
    },
    "intent": {
        "satellite_site_ids": "rpi2",
        "system": "fsticuffs"
    },
    "mqtt": {
        "enabled": "true",
        "host": "192.168.0.100",
        "site_id": "rpi3"
    },
    "speech_to_text": {
        "satellite_site_ids": "rpi2",
        "system": "pocketsphinx"
    },
    "text_to_speech": {
        "satellite_site_ids": "rpi2"
    }
}

Satellite
Raspberry Pi 2 running

  • Respeaker Usb Mic Array
  • Rhasspy running into docker container (siteId: rpi2)

Configuration screenshot;

Full rpi2 configuration json:

{
    "intent": {
        "system": "hermes"
    },
    "microphone": {
        "pyaudio": {
            "device": "2"
        },
        "system": "pyaudio"
    },
    "mqtt": {
        "enabled": "true",
        "host": "192.168.0.100",
        "site_id": "rpi2"
    },
    "sounds": {
        "system": "aplay"
    },
    "speech_to_text": {
        "system": "hermes"
    },
    "wake": {
        "snowboy": {
            "apply_frontend": true,
            "model": "jarvis.umdl",
            "sensitivity": "0.80,0.80"
        },
        "system": "snowboy"
    }
}

THE ISSUE
I try to use the “recognize” test from rpi2 (satellite) but It doesn’t work with this errors:

[ERROR:2020-04-11 21:59:31,005] rhasspyserver_hermes:
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1821, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 1329, in api_text_to_intent
user_entities=user_entities,
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 2425, in text_to_intent_dict
result = await core.recognize_intent(text, intent_filter=intent_filter)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 426, in recognize_intent
handle_intent(), messages, message_types
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 872, in publish_wait
result_awaitable, timeout=timeout_seconds
File “/usr/lib/python3.7/asyncio/tasks.py”, line 449, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
[DEBUG:2020-04-11 21:59:31,000] rhasspyserver_hermes: Publishing 18 bytes(s) to rhasspy/handle/toggleOn
[DEBUG:2020-04-11 21:59:30,998] rhasspyserver_hermes: -> HandleToggleOn(site_id=‘rpi2’)
[ERROR:2020-04-11 21:59:01,095] root: parse_mqtt_message (topic=hermes/intent/LightOn)
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 254, in _decode_generic
res = get_type_cons(type)(xs)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 298, in
for x in xs)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 194, in _decode_dataclass
infer_missing)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 245, in _decode_generic
ks = _decode_dict_keys(k_type, value.keys(), infer_missing)
AttributeError: ‘str’ object has no attribute ‘keys’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/rhasspy-hermes/rhasspyhermes/client.py”, line 284, in parse_mqtt_message
message = message_type.from_dict(json_payload)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/api.py”, line 85, in from_dict
return _decode_dataclass(cls, kvs, infer_missing)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 194, in _decode_dataclass
infer_missing)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 266, in _decode_generic
res = _decode_generic(type_arg, value, infer_missing)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/dataclasses_json/core.py”, line 256, in decode_generic
res = type
(xs)
File “/usr/lib/python3.7/typing.py”, line 671, in call
raise TypeError(f"Type {self._name} cannot be instantiated; "
TypeError: Type List cannot be instantiated; use list() instead
[DEBUG:2020-04-11 21:59:00,988] rhasspyserver_hermes: Publishing 197 bytes(s) to hermes/nlu/query
[DEBUG:2020-04-11 21:59:00,986] rhasspyserver_hermes: -> NluQuery(input=‘accendi la luce in salone’, site_id=‘rpi2’, id=‘3bba490f-f0a3-49e1-8f0f-d7e1a92af2c1’, intent_filter=None, session_id=‘3bba490f-f0a3-49e1-8f0f-d7e1a92af2c1’, wakeword_id=None)
[DEBUG:2020-04-11 21:59:00,977] rhasspyserver_hermes: Subscribed to hermes/error/nlu
[DEBUG:2020-04-11 21:59:00,971] rhasspyserver_hermes: Publishing 18 bytes(s) to rhasspy/handle/toggleOff
[DEBUG:2020-04-11 21:59:00,968] rhasspyserver_hermes: -> HandleToggleOff(site_id=‘rpi2’)

The same test works from rpi3 (master).
Can you help me? Thanks you

Solved.
I pulled latest rhasspy docker image on master and satellite and flush totally the previous configuration (delete /profile directory).