Bonjour,
J’ai cette erreur que je n’arrive pas à comprendre:
[ERROR:2020-06-06 11:28:49,607] rhasspyserver_hermes: MethodNotAllowed(405)
Traceback (most recent call last):
File “/home/pi/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1942, in full_dispatch_websocket
result = await self.dispatch_websocket(websocket_context)
File “/home/pi/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1984, in dispatch_websocket
raise websocket_.routing_exception
quart.exceptions.MethodNotAllowed: MethodNotAllowed(405)
Pouvez-vous m’aider ?
Salut,
J’ai jamais vu cette erreur.
Vous l’avez installé sur quel système?
Moi, j’ai installé sur docker, et aussi avec homeassistant, alors je n’ai pas beaucoup d’experience autrement.
Hello,
Ma réponse vient un peu tard peut-être mais je suis tombé sur ton post car il m’est arrivé la même chose.
Je propose de répondre car j’ai pu débloquer le problème et donc ca peut aider d’autres personnes.
Ma config est:
RPI 2B+
Respeaker 4 mics Hat
Rhasspy 2.5.11 sur Docker
Node Red 2.1.2
Le message intervient uniquement quand le serveur Node-red est actif.
Ce n’était pas le cas au début de mon install et s’est arrivé d’un seul coup.
D’après mes recherches ici et ailleurs, c’est un problème lié à l’install sur Docker et non autrement de Rhasspy.
opened 01:28AM - 21 Oct 20 UTC
closed 07:16PM - 01 Feb 21 UTC
Environment: running `rhasspy:latest` (`be3bbfdf4e23`) on docker.
Symptom: wh… enever the browser is open to the Rhasspy web server, websocket connections are made to:
```
/api/events/log
/api/events/audiosummary
```
These websocket requests appear to fail with `Unexpected response code 500`, but that's beside the point. Nothing appears the matter in the browser for the most part.
The thing that's really problematic is the logspam in the container output, which makes it very difficult to track what's going on:
```
quart.exceptions.NotFound: NotFound(404)
[ERROR:2020-10-20 20:55:41,136] rhasspyserver_hermes: NotFound(404)
Traceback (most recent call last):
File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/static.py", line 129, in safe_join
full_path = file_path_to_path(directory, *paths).resolve(strict=True)
File "/usr/lib/python3.7/pathlib.py", line 1151, in resolve
s = self._flavour.resolve(self, strict=strict)
File "/usr/lib/python3.7/pathlib.py", line 355, in resolve
return _resolve(base, str(path)) or sep
File "/usr/lib/python3.7/pathlib.py", line 339, in _resolve
target = accessor.readlink(newpath)
File "/usr/lib/python3.7/pathlib.py", line 437, in readlink
return os.readlink(path)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/swagger_ui/static/events'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/rhasspy/.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/.venv/lib/python3.7/site-packages/quart/app.py", line 1869, in dispatch_request
return await handler(**request_.view_args)
File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/static.py", line 88, in send_static_file
return await send_from_directory(self.static_folder, filename)
File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/static.py", line 161, in send_from_directory
file_path = safe_join(directory, file_name)
File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/static.py", line 131, in safe_join
raise NotFound()
```
I was able to narrow down the websocket requests as the problem by attaching to the running container and creating the directories that the `FileNotFoundError` was complaining about (static directories inside the virtual environment), which resulted in these newer errors:
```
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/swagger_ui/static/events/audiosummary'
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/swagger_ui/static/events/log'
```
and then creating those subsequent directories resolved the second level of exceptions. But I'm still seeing a ton of `NotFound(404)` error messages in container output, presumably for each of those websocket calls.
Vu que c’était lié à un problème de WS, j’ai donc commencé par stopper Node-red via le SSH: node-red-stop
Dans le log de Rhasspy, plus de message.
En le redémarrant: node-red-start, les messages réapparaissaient même en désactivant les Flows.
Du coup, j’ai creusé dans les settings de Node-red et surtout dans les paramètres de mon Flow.
Dans Info > Flow > Global Configuration Nodes > Websocket listeners.
J’ai effacé ceux que j’avais testé mais qui n’avaient pas fonctionné ou que je n’utilisais plus et j’ai redémarré Node. Puis plus rien.
Attention, les désactiver n’a pas suffit. Il faut les effacer complètement.
Voilà pour mon expérience. Si ca peut aider d’autres personnes, tant mieux