Please see detailed instructions on how to setup one touch via the companion app below:
-
add HTTP Generic Connection on the Connections page
-
add http as “Label”
-
Click Buttons
-
Create a button and name it appropriately
-
Click variables, then custom variables and then add the variables as listed:
OneTouchState
OneTouchProcessed
True (True variable should be set with the value of “true”)
-
Navigate back to your Edit Button tab, then add a press action - click the folder to the right of this field

-
Click http and then choose POST
-
Enter the following into the fields for the POST action:
URL: http://your_Pearl_IP_address/api/system/onetouch/0/push
Body: {}
Header input: {“Authorization”: “Basic Base64_conversion_of_password”}
Content Type: application/json
here is a base64 conversion site you can use: https://www.base64encode.org/
If you password is blank, use "Basic YWRtaW46"
as the image attached decodes to:
admin:
If your password is “password” so your user credentials for the admin login are:
admin:password
This would convert to base64 of:
YWRtaW46cGFzc3dvcmQ=
and would be entered into the header input field as:
{"Authorization": "Basic YWRtaW46cGFzc3dvcmQ="}
-
Click the feedbacks tab, click the folder beside +add feedbacks, select Internal and then Variable: compare two variables
-
Choose the following:
Compare Variable: OneTouchProcessed

Operation: =
Against Variable: True

-
Choose the desired colour for the “active” state of the button when recording/streaming is active
-
While still on the Feedback tab, click Add Event and choose time internal

-
set time interval between 1-10 seconds
**This is how often the state of Pearl recorders/publishers (streams) is checked. This does lead to more system log entries on Pearl side, which isn’t a concern, but could make log investigations a little more “busy”
-
Click the triggers tab, click add new trigger, and name your trigger (OneTouchFeedback)
-
Click the new trigger, click the folder icon beside +add action

-
Select http and then GET
-
In the GET fields enter the following:
URL: http://your_Pearl_IP_address/api/system/onetouch/0/state
Header input: {“Authorization”: “Basic Base64_conversion_of_password”}
JSON Response: OneTouchState
JSON Stringify: CHECKED

- Click action folder, Internal and choose: Custom Variable: Set from a stored JSONresult via a JSONpath expression
Enter the following:
Delay: 1
JSON Result: OneTouchState
Path: $.result.pressed
Target: OneTouchProcessed

- Navigate back to Button, Move your button to the desired pad and test!
Because of the “Feedback” step that is part of this setup, when the state of recorders/publishers (streams) on Pearl is true; running after pressing the one touch button, the button will be red. After the One touch button on your stream deck is pressed and the state of recorders/publishers (streams) on Pearl is false, the button will return to the default button colour.
**Pro tip: Make sure your actions, feedbacks, and triggers are turned on
