synesthesiam / rhasspy

Rhasspy voice assistant for offline home automation
https://rhasspy.readthedocs.io
MIT License
941 stars 101 forks source link

Entities permission error #254

Closed devjklein closed 3 years ago

devjklein commented 3 years ago

I'm running rhasspy on docker on Ubuntu 20.04. I tried to set up the program with home assistant per the directions here: https://rhasspy.readthedocs.io/en/latest/usage/#home-assistant. I used the home assistant example files here to setup my sentences. Now, when I click Save Sentences, the following error appears at the bottom of the screen: PermissionError: [Errno 13] Permission denied: '/profiles/en/slot_programs/hass/entities' I have confirmed that the Ubuntu user account has access to the file and they are not protected by root.

EDIT: Error log:

[ERROR:2020-08-12 00:58:16,355] rhasspyserver_hermes: [Errno 13] Permission denied: '/profiles/en/slot_programs/hass/entities'
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/rhasspy-server-hermes/rhasspyserver_hermes/__main__.py", line 1235, in api_train
    result = await core.train()
  File "/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/__init__.py", line 359, in train
    word_transform=word_transform,
  File "/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/train.py", line 87, in sentences_to_graph
    slot_visitor=word_visitor,
  File "/usr/lib/rhasspy/rhasspy-nlu/rhasspynlu/slots.py", line 87, in get_slot_replacements
    slot_command, universal_newlines=True
  File "/usr/lib/python3.7/subprocess.py", line 411, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.7/subprocess.py", line 488, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: '/profiles/en/slot_programs/hass/entities'
[DEBUG:2020-08-12 00:58:16,346] rhasspynlu.slots: Running program for slot hass/entities,light: ['/profiles/en/slot_programs/hass/entities', 'light']
[DEBUG:2020-08-12 00:58:16,343] rhasspynlu.ini_jsgf: Loaded ini file
[DEBUG:2020-08-12 00:58:16,341] rhasspyserver_hermes: Generating intent graph
[DEBUG:2020-08-12 00:58:16,340] rhasspyserver_hermes: Loading sentences from [PosixPath('/profiles/en/sentences.ini')]
[INFO:2020-08-12 00:58:16,339] rhasspyserver_hermes: Starting training
[DEBUG:2020-08-12 00:58:15,336] rhasspyserver_hermes: Writing /profiles/en/sentences.ini
devjklein commented 3 years ago

For anyone else experiencing this issue, it occurs when there are no execute privileges on the file in question. I corrected this issue by running chmod -R 777 ~/.config/rhasspy