So you want the available bandwidth to be monitored in “real time”, but you don’t want constant speed tests to happen. Then you mention a script doing a speed test.
You’re gonna have to choose: Either you run some kind of Speedtest on a regular basis, which will give you somewhat “real-time” results, or you don’t do it, and you don’t have real-time data as a result.
A very quick google search brought up this power shell script, that even formats the results for PRTG: