O problema aqui é que o que você está fazendo inicialmente é sobre configurar shells interativos e trabalhar dentro deles. A linha source ...
não é executada até que a linha sudo
seja concluída, elas não são executadas no mesmo contexto no script.
Para fazer isso, o que você provavelmente deve fazer é colocar apenas as linhas source
e hass
em um script e em rc.local
run su -c /path/to/restart.sh homeassistant
Como rc.local
é executado como root, você não precisa da sudo
part