Home Assistant integration for Blackmagic Videohub devices, allowing you to control your video routing matrix directly from Home Assistant.
Blackmagic provides an API to control their video switches over TCP. This integration implements a fully asynchronous interface that automatically updates Home Assistant if any changes are made to the device directly or from other clients.
Each output of your Videohub will be represented as a select entity in Home Assistant, allowing you to choose which input source is displayed on each output.
- Source Selection: Change which input is routed to each output
- Multiple Devices: Support for multiple Videohub devices in a single Home Assistant instance
- Name Customization: Set custom names for inputs and outputs
- Connection Status: Monitor connection state with the device
- Real-time Updates: Changes made on the device are reflected in Home Assistant
- UI Configuration: Easy setup through the UI without YAML editing
- State Recovery: Maintains state during reconnections
- Custom Services: Specialized services for full device control
- Make sure you have HACS installed
- Go to HACS → Integrations → Click the three dots in the top right corner → Custom repositories
- Add this repository URL (
https://github.com/rohanwright/ha-videohub) and select "Integration" as the category - Click "Add" and then search for "Blackmagic Videohub" in the integrations section
- Install the integration
- Copy the
custom_components/videohubdirectory into your Home Assistant/config/custom_componentsdirectory - Restart Home Assistant
- Go to Settings → Devices & Services
- Click "Add Integration" in the bottom right corner
- Search for "Blackmagic Videohub" and select it
- Enter the IP address, port (default: 9990), and name for your Videohub
After setup, you can adjust integration options by clicking on the "Configure" button:
- Initialization Timeout: Adjust if your device takes longer to initialize
The integration provides several services to control your Blackmagic Videohub:
Sets an input for a specific output.
- entity_id: The output entity to configure
- input: The input to select (can be input number or input name)
Sets a custom label for an output.
- entity_id: The output entity to rename
- label: The new name for the output
Sets a custom label for an input.
- device_id: The Videohub device that we want to update the label for
- input: The input number to rename
- label: The new name for the input
Each output on your Videohub will appear as a select entity, allowing you to choose which input is displayed on that output.
- Connection Status: Shows if the device is connected, disconnected, or initializing
- Connection Issues: Ensure the device is powered on and the IP address is correct
- No Outputs Found: Check if the device model is supported and firmware is up to date
- Initialization Timeout: Try increasing the initialization timeout in the configuration options
Tested with:
- Blackmagic Smart Videohub 40x40
Should work with other Blackmagic Design Videohub models that support the Videohub protocol over Ethernet.
This project is licensed under the MIT License - see the LICENSE file for details.