Feature request for the planned Bitfocus Companion integration.
Preferred architecture:
- Companion module invokes PTZControlConsole as the backend/bridge
- module configuration contains PTZControlConsole path and camera selection
- actions cover list/camera selection, zoom, move, home/default, presets, and friendly-name lookup
- variables/feedbacks expose preset names and useful camera information
Module naming and supported cameras
The module title/description should include Logitech and/or Logi, because the upstream PTZControl project is focused on Logitech/Logi camera families and users may search for either brand spelling. The module name should not include a specific camera model such as PTZ Pro 2, because that would look unnecessarily limiting for users with other compatible Logitech/Logi cameras.
Possible module names:
Logitech PTZ Control
Logitech PTZ Pro Camera Control
Description wording should avoid overpromising. Suggested direction:
Controls supported Logitech/Logi cameras via PTZControlConsole. Validated camera models and feature support are listed in the module documentation.
Upstream PTZControl currently documents automatic detection for these camera families/tokens:
- Logitech PTZ Pro 2
- Logitech PTZ Pro
- Logitech Rally cameras /
Logi Rally
- Logi Group Camera
- ConferenceCam CC3000e
- name tokens used upstream:
PTZ Pro, Logi Rally, ConferenceCam, Logi Group Camera
For this fork/module, separate the public support wording into two categories:
- Validated: models tested with our released PTZControlConsole builds and guided scripts.
- Expected/compatible: models likely to work because upstream PTZControl supports them or because they expose standard UVC/DirectShow/V4L2 camera controls.
Do not claim full support for cheap/simple Logitech webcams until they have passed our guided test flow. If a local Logitech HD Webcam C525 or similar model validates successfully, it can be added as a specifically tested model with a note about which features work, for example zoom only, pan/tilt raw controls, no presets, etc.
Companion camera choices
The Companion module needs camera choice/dropdown data for action and button configuration. A user should be able to bind a button to the intended camera by choosing any supported selection model, depending on what is most practical in their setup.
Required camera metadata for dropdowns / choice lists:
- camera device name, as reported by DirectShow/V4L2 enumeration
- Windows DirectShow camera friendly name where available
- PTZControl camera slot number
- PTZControl camera slot alias / friendly name where configured
- concrete camera device path / moniker path
The module should expose these in a way that allows button actions to use one of the existing PTZControlConsole selectors:
--camera "NamePart"
--device-path "DevicePath"
--slot 1..3
The user decides which selector style to use. The UI should make the tradeoff visible:
- device name / DirectShow friendly name: readable, useful after Windows DirectShow rename
- slot: short and familiar from PTZControl, but dependent on enumeration order
- slot alias: human-readable PTZControl metadata, useful for user-facing labels
- device path: verbose, but usually the most concrete selector available from enumeration
Potential backend support may require either extending list-devices output or adding a dedicated machine-readable command, for example JSON output, so Companion can populate dropdowns without parsing human-oriented text.
Related commits providing the backend foundation:
- 0281719 Implement command-oriented console syntax
- b1d16b3 Remove legacy console arguments
- eb131fe Handle console command errors consistently
- 0819532 Add camera device info command
- 2551bc1 Add explicit value modes for CLI moves
- 24adcc1 Separate home default and preset restore commands
- 453437e Add preset name management commands
- bbdf94a Add preset name lookup command
- d74dc4b Improve camera info and selection syntax
- 6457ad0 Add cross-platform metadata config and camera test scripts
- b2664f4 Add DirectShow camera rename commands
Feature request for the planned Bitfocus Companion integration.
Preferred architecture:
Module naming and supported cameras
The module title/description should include
Logitechand/orLogi, because the upstream PTZControl project is focused on Logitech/Logi camera families and users may search for either brand spelling. The module name should not include a specific camera model such as PTZ Pro 2, because that would look unnecessarily limiting for users with other compatible Logitech/Logi cameras.Possible module names:
Logitech PTZ ControlLogitech PTZ Pro Camera ControlDescription wording should avoid overpromising. Suggested direction:
Upstream PTZControl currently documents automatic detection for these camera families/tokens:
Logi RallyPTZ Pro,Logi Rally,ConferenceCam,Logi Group CameraFor this fork/module, separate the public support wording into two categories:
Do not claim full support for cheap/simple Logitech webcams until they have passed our guided test flow. If a local Logitech HD Webcam C525 or similar model validates successfully, it can be added as a specifically tested model with a note about which features work, for example zoom only, pan/tilt raw controls, no presets, etc.
Companion camera choices
The Companion module needs camera choice/dropdown data for action and button configuration. A user should be able to bind a button to the intended camera by choosing any supported selection model, depending on what is most practical in their setup.
Required camera metadata for dropdowns / choice lists:
The module should expose these in a way that allows button actions to use one of the existing PTZControlConsole selectors:
The user decides which selector style to use. The UI should make the tradeoff visible:
Potential backend support may require either extending
list-devicesoutput or adding a dedicated machine-readable command, for example JSON output, so Companion can populate dropdowns without parsing human-oriented text.Related commits providing the backend foundation: