3. Service
The procedure for updating, restarting, or obtaining logs varies depending on the installation method (Docker CLI, Docker Compose, Portainer, etc.). Please choose the option that best suits your needs and with which you have configured your voraus.runtime.
3.1. Software Update
The recommended way to update the voraus.core is via Portainer. However, it is also possible to update via plain Docker CLI commands.
Warning
Before performing a software update, please carefully check the release notes for any compatibility notices. Note that if you skip versions, you have to consider all release notes between your currently installed version and the version you are about to install.
3.1.1. Update via Portainer
Download the voraus.core Docker image and upload it to Portainer (Fig. 49):
Open the Portainer UI.
Open the Images page.
Click on the Import button.
Click on the Select file button and select the Docker image file. You do not need to specify an image name.
Press the Upload button and wait for the confirmation.

Fig. 49 Import Docker images to Portainer
Existing stacks will automatically use the new Docker image on the next restart.
If you pinned the image version of your software stack to a specific tag other than main-latest, update it in your stack configuration.
3.1.2. Update via Docker CLI
Stop the voraus.core via
docker compose -f path/to/your/composefile down
Download the voraus.core Docker image archive and load it via
docker load -i docker-images-X.X.X.tar.gz
If you pinned the image version of your voraus.core to a specific tag other than main-latest in the compose file, update it to the new version.
Start the voraus.core again via
docker compose -f path/to/your/composefile up -d
3.2. Troubleshooting
3.2.1. Restart the voraus.core
If, at any point, a software restart is necessary, the voraus.core can be restarted by stopping and starting the Portainer stack:
Open the stack of the voraus.core.
Stop the stack, wait until it stopped and restart it afterwards (Fig. 50).
Warning
Note that all unsaved data will be lost!

Fig. 50 Restarting a stack
Alternatively a restart can also be performed via Docker compose CLI commands. Stop the voraus.core with:
docker compose -f path/to/your/composefile down
And start again with:
docker compose -f path/to/your/composefile up -d
3.2.2. Python Syntax error
When writing your own commands in Python or using the Run Script command, syntax errors in the Python code might occur. These are usually signaled by the error codes CA37 or CB37.

Fig. 51 HMI error message of a Python syntax error
To see the cause of the error, the System Control log is helpful, which can be accessed as described in the Logging chapter. In many cases the log shows the exact location of the syntax error. If the Python interpreter can not locate the error (e.g. missing brackets), the line number in the executed Python file is displayed. In this case, refer to the Accessing the File System chapter to view the program code and find the error manually.
3.3. License Activation
The voraus.core software requires an activated license to run properly. After the successful installation of the voraus.core, the software will start in error state, because no license key is activated yet. To activate the license, simply complete the following steps.
The licenses can be activated in three different ways, choose:
Online License Activation if your system has internet access,
Offline License Activation if your system has no internet access or
Dongle License Activation if you are using a hardware USB dongle.
Note
If you are using the voraus.ipc, the Linux operating system and the voraus.core are pre-installed, including a license key.
3.3.1. Online License Activation
Requirements
A valid license key with the format
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
A system with internet connection
A laptop or PC
Instructions
In the Settings menu, click the LICENSES button in the left tab to open the license page and click on click on ONLINE ACTIVATION (Fig. 52).
Enter the ticket ID (license key) in the text field and press NEXT.

Fig. 52 Enter Licenses
Select the license you wish to activate on the system (Fig. 53) and press NEXT.

Fig. 53 Licenses selection
Wait until the activation has finished (Fig. 54) and restart the software by confirming the safe state.

Fig. 54 Confirm restart after licenses activation
Wait until the voraus.operator is reloaded. The license is now activated and the system states are valid.
3.3.2. Offline License Activation
Requirements
A valid license key with the format
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
A system without internet connection
A laptop or PC with internet connection
Instructions
In the Settings menu, click the LICENSES button in the left tab to open the license page and click on click on OFFLINE ACTIVATION (Fig. 55).

Fig. 55 Select offline activation
Select the license container from the drop-down on the left if a license container already exists on the system and click NEXT (Fig. 56).
If you want to create a new license container, download the vorausrobotik.WibuCmLif file, click on SELECT FILE and select the downloaded file and click NEXT (Fig. 56).

Fig. 56 Select or create license container
Enter the firmcode (6001996 for vorausrobotik) and click on NEXT (Fig. 57).

Fig. 57 Enter the firmcode
Click DOWNLOAD CONTEXT FILE and click NEXT when the file has been downloaded (Fig. 58).

Fig. 58 Download the context file

Fig. 59 Enter ticket ID (license key)
The licenses in the ticket are shown, click Activate Licenses (Fig. 60).

Fig. 60 Licenses in the ticket
Click CmActLicense (Fig. 61).

Fig. 61 Select license container type
Click File-based license transfer (Fig. 62).

Fig. 62 Select license container type
Select the licenses for activation, click Choose File and select the context file (WibuCmRac) which has been downloaded previously, click Start Activation Now (Fig. 63).

Fig. 63 Select licenses and start activation
Click Download License Update File Now (Fig. 64).

Fig. 64 Download license update file
In the voraus.operator click SELECT FILE and select the license update file (WibuCmRaU) and click NEXT when the update has been loaded successfully (Fig. 65).

Fig. 65 Upload the license update file
Click DOWNLOAD RECEIPT FILE (Fig. 66).

Fig. 66 Download the receipt file
In the Web Depot click Next (Fig. 67).

Fig. 67 Next step in Web Depot
Click Choose File and select the receipt file (WibuCmRaC), click Upload Receipt Now (Fig. 68).

Fig. 68 Upload the receipt file
The license transfer has been completed successfully, click OK (Fig. 69).

Fig. 69 License activation success
In the voraus.operator click DONE (Fig. 70).

Fig. 70 Finish the license activation
Click on LICENSES to verify the license activation (Fig. 71).

Fig. 71 Newly actived licenses
Restart the system by restarting the container or the system. The license is now activated and the system states are valid.
3.3.3. Dongle License Activation
Requirements
A valid license key with the format
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
A CodeMeter USB license dongle
A laptop or PC with internet connection
Note
If the USB license dongle has already been delivered with activated licenses, it only needs to be connected to the system. Restart the system after plugging in the USB dongle.
If you have received an empty USB license dongle or would like to activate additional licenses on an already used dongle, follow the steps below.
Instructions
Stop the system and bring it into a safe state.
Remove the USB license dongle from the system and connect it to a laptop or PC with an internet connection.
Open the Web Depot and enter the ticket ID (license key), click Next (Fig. 72).

Fig. 72 Enter ticket ID (license key)
The licenses in the ticket are shown, click Activate Licenses (Fig. 73).

Fig. 73 Licenses in the ticket
Click CmDongle (Fig. 74).

Fig. 74 Select license container type
Select the USB Dongle serial number and click Activate Selected Licenses Now (Fig. 75).

Fig. 75 Select license container type
Wait until the license transfer has been completed (Fig. 76).

Fig. 76 Select license container type
License transfer has been completed successfully, click OK (Fig. 77).

Fig. 77 Select license container type
Reconnect the USB license dongle to the system.
Restart the vorausrobotik software or the system.
Note
If dongle activation is required but no CodeMeter dongle is part of the setup, please contact the support.
3.4. License Overview
To view the active licenses complete the following steps:
Navigate to the Settings menu and click the LICENSES button in the left tab to open the license page.
Click on LICENSES to the an overview of the active licenses (Fig. 78).

Fig. 78 license overview
3.5. Logging
3.5.1. Download Log Files via voraus.operator
To obtain the current log files, open the Service tab in the settings (Fig. 79/➊) and click on the Request Logfile button (Fig. 79/➋).
The log file (ZIP format) will be downloaded.

Fig. 79 Download log file
3.5.2. Live Log View
If you have access to the advanced settings you can see the live logs of some components directly inside the voraus.operator. Use the URL parameter ?advanced to enable the ADVANCED tab in the settings page and enter the password to get to the advanced settings page. The logs can be found in the LOG tab and the component can be selected via the dropdown menu (Fig. 80). If you do not have the password for this option, please contact us on our website www.vorausrobotik.com.
Note
Not all components might be available for all robot types.

Fig. 80 Live logs of System Control to see the cause of a Python syntax error
3.5.3. View Logs from Portainer
To see the logs of the current Portainer stack, open the stack page and click on the logs icon next to the voraus.core container (Fig. 81).

Fig. 81 View container logs
On the logs page you can view the latest logs of all voraus components and download them as a txt-file by clicking the Download logs button. In order to see the full logs, it is recommended to increase the line count in the Lines input field.

Fig. 82 Logs of the current container
3.5.4. Accessing the File System
To view the content of single files on the system (e.g. programs) you have to connect to the console by clicking the console icon next to the voraus.core container (Fig. 83).

Fig. 83 Open the container console
Afterwards you need to connect to the console by clicking the Connect button (Fig. 84) and you are logged in as the root user. Change the directory to /root/data/voraus/userapp to view all programs and use the cat command to show their content.

Fig. 84 Click the connect button to open the console
Docker volumes are stored on the file system of the Docker host machine, so they can be directly accessed
by the host (assuming you have root rights on the Docker host).
On Linux, the content of Docker volumes is stored under /var/lib/docker/volumes/
.
You should not modify anything here, as it can lead to unexpected behavior.
However, it can be useful for monitoring log messages, for example, this command will print all logs of the
component voraus-robot-control-py:
sudo tail -f /var/lib/docker/volumes/docker_voraus_log_volume/_data/voraus-robot-control.log