Note
What is Bitfocus Companion
Companion by Bitfocus is an open-source tool that provides a library of free modules to control and automate a number of devices with devices such as the Elgato StreamDeck. With this tool we have been able to provide a module to help control AVM products through the AVM API.
How do I install Companion?
Companion works as a local server on the device it is installed. It can be installed on Linux, Windows, or Mac. To download, you must create a Bitfocus account, where you can then download and install the software. Bitfocus Companion
Further installation guidance can be found on the Companion Github Wiki
Windows:
- Download the MSI file from Bitfocus.
- Run the installation.
- Run Companion.
Linux (Desktop):
- Download the tar file from Bitfocus.
- Extract the tar file, ensuring to place the extracted folder in a location you have rights to.
- To run the server, run the companion-launcher file
- If you want to run Companion on startup and for other settings, refer to the README file in the extracted folder.
Linux (Headless):
- Download the tar file from Bitfocus.
- Extract the tar file, ensuring to place the extracted folder in a location you have rights to.
- Refer to the README file located within the folder for instructions on configuring for a Headless Server.
Adding Adder modules to Companion
Companion allows you to add custom modules via a development folder. Some Adder Modules are already included, however, a few are still waiting for the next Companion release. In order to use these now, you can add them via the development settings.
- Download the Module
- Extract the module to the folder you want to point to.
- Best practice, the top folder should be "companion-module-dev" with your custom modules located within:
companion-module-dev/
├── companion-module-adder-avm/
├── companion-module-adder-infinity-aim/
└── companio-module-adder-infinity-alif/
- Best practice, the top folder should be "companion-module-dev" with your custom modules located within:
- When starting companion, select the settings cog on the top right. This will allow for selecting a development folder for custom modules.
- Select your folder, companion will restart and have access to the module.
- Connect to the GUI and explore the connections to see the current modules.
Using the AVM Module
The AVM Companion Module allows for two primary functions, connecting a Receiver to a Preset, and Disconnecting a Receiver. However, with companion gives a user flexibility to create multiple presets into one button, receive feedback, and more. Below are a few examples of what can be accomplished using Companion and the AVM Module.
Adding a Module Connection
- Under the "Connections" Tab, you will see a list of Modules that can be added to Companion
- Select the Adder: AVM module
- This will open a Configuration Panel
- You can label the connection to keep track of which receiver you are connecting to.
- Use the IP address of the Receiver to connect to.
- It is recommended to configure a static IP or use DHCP when using the companion Module with multiple AVM devices. There is a chance that the Link Local address may change if the unit is rebooted when AVM devices are on the same network.
- If a password has been configured for the AVM, enter that here, otherwise leave it blank.
- If you would like to receive feedback, enable the "Listen for Events"
- This creates a Websocket connection the Receiver and will listen for Video Loss events for Feedback
- Save the configuration
Adding Preset Actions to a Button
- Under the "Buttons" Tab, select the button you would like to configure and select "Create Button"
- Here you can configure the text, background color or image and add actions and feedback.
- To add an Action, click the Folder icon under the "Add Press Action".
- This will open a Dialogue box, Select AVM and choose the "Change Preset" Action
- In order to select the preset, the button will need to learn which presets the Receiver has. Press the "Button" to pull the current configured presets.
- If the receiver's presets have changed, you will need to re-learn the presets.
- Once the presets have been learned, the list will be stored, even if companion is restarted.
- In the drop-down, select the Preset you want to connect.
- The button configuration is saved automatically.
Adding Feedback to a Button
Note
- To add Feedback to a button, select the "Feedback" Tab of the button and select the folder next to "Add Feedback"
- Select "AVM" and then the "Preset Status" Feedback.
- This feedback 3 preconfigured states, each of which can be configured to have different colors:
- Connected
- Video Loss
- Video loss also allows you to change the text of the button on a Video Loss Event. If you do not want to change the text, you can disable this.
- Disconnected
- Once added, the button will update based on connection status, for example the below shows a connected state (Green Background)
Multiple Actions example
Note
Note
- On the button configuration, you can add more actions by pressing the folder or drop down menu at "Add Press Action"
- When using multiple AVM Modules, you will get another option on the Action to Select which Module you are using in that action.
- Each module will have their own Preset List, make sure you press "Learn" to get that module's presets.
Combining Actions using Steps or Delay
Note
Stepped Actions
- You can add a Step to a button. This allows you to have a different action for each press of the button.
- With two steps, the button will act as a toggle. With more steps, the button will loop through different defined actions.
- Each time the button is pressed, it will move to the next step and wait for another press action. At the end of the steps, it will loop back to the first step.
- A good example is to create a Toggle Button. On step 1, you can connect to a defined preset. On step 2, you can disconnect the receiver.
Delayed Press Actions
- Delayed actions are used to define an action when a button is Short Pressed or Long Pressed.
- You can configure the button to act differently depending on the length of the button press.
- A good example is to use a regular press to connect a preset and a long press to disconnect.