Does this get you at least partway there?:
The plugin adds PTZ camera control to OBS Studio that can control multiple cameras, and can automatically change selected camera based on the currently active preview or program scene. The plugin supports the VISCA serial, VISCA-over-IP, Pelco...
obsproject.com
Or:
I ended up writing my own custom app for a Raspberry Pi, using what documentation I could find for the raw network data, and it happened to work. I now have a completely separate camera control app on a completely separate and dedicated machine, that works the way I want it to for that specific rig. And then I copied it and pared it down to just the network part so I could use it with the Run action in the Advanced Scene Switcher plugin:
This plugin will allow you to automate various tasks using "Macros". Macros consist of a list of conditions under which a list of actions will be performed. Examples and guides can be found in the wiki. Feel free to contribute! If you run...
obsproject.com
I've asked for a generic network action, so it can all be done directly in Adv. SS, but that hasn't happened yet. If you go that route anyway, and find someone that can write a little utility to send network packets, then Adv. SS can detect the scene change (or anything else for that matter), and use that utility to send commands to your camera (or anything else for that matter).
Maybe something like this:
Keep in mind, that the camera takes some time to move. If it's okay to be seen moving live, then the above should work by itself (plus the utility). If not, then you'll have to be a little bit smarter in how you do it. Probably trigger the macro, NOT the scene change, and then the *macro* does the scene change after a time delay. Or control the camera manually, with the knowledge that it'll need to be <there> next, and so you put it <there> ahead of time.