BFC Console selects its operating mode from the command-line arguments and file extension.
Interactive mode
Starting the Console without a script opens its interactive environment:
docker run --rm -it -v /path/to/workspace:/mnt/fog balluff/bfc-console
This mode loads available plugins and lets an operator try supported commands. Successful interactive commands can be recorded into generated JSON scripts under:
_volumes/__json_scripts/generated/
Interactive mode requires a terminal and is not created by the Setup Tool's Upload script action.
JSON scripts
JSON scripts are command sequences divided into lifecycle phases:
SETUPruns once.LOOPrepeats until a stop request.TEARDOWNruns during shutdown.
Run an included JSON script manually:
docker run --rm -it \
-v /path/to/workspace:/mnt/fog \
balluff/bfc-console \
__json_scripts/o01_init.json
Use the JSON examples as release-specific templates. Command names depend on the loaded plugins and drivers.
Python scripts
Files ending in .py select the Python controller. The release includes _volumes/__python_scripts examples and type stubs, but the Setup Tool file picker and naming workflow are currently Lua-oriented. Treat Python execution as an advanced preview feature and test it manually before relying on it.
Multiple scripts
The Console command scheduler accepts more than one script argument and can run tasks asynchronously. The Setup Tool instead creates one container per selected Lua script. One container per automation is easier to stop, inspect, and replace independently and is the recommended first-release operating model.
Shutdown signals
In a terminal:
- Ctrl+C requests a graceful stop.
- Repeated stop signals escalate cancellation and eventually force exit.
- Ctrl+Break toggles suspension where supported.
In Docker, use docker stop or the Setup Tool Stop button so the configured SIGINT stop signal reaches the runtime.