Script works well. The only problem I have found is the JVC PZ200N presets start at 1 and in the script you must specify the JVC preset number -1. This is the same problem that Randle had. It appears that some vendors start with 0 while others start with 1.
Tested it with a Birddog PF120, works very well (that thing by default only supports zoom as it is not a full ptz camera), but this script for OBS is the first thing i encountered which I was actually able to get running under Debian 11, others failed to build and non-crossplattform vendor solutions failed to run under wine. This script not only does the job, it also does it pretty neat and lightweight, I really like it. Thank you for coding this!