{"id":2655,"date":"2024-01-28T16:49:55","date_gmt":"2024-01-28T16:49:55","guid":{"rendered":"https:\/\/devicejockey.de\/?page_id=2655"},"modified":"2025-04-15T07:25:42","modified_gmt":"2025-04-15T07:25:42","slug":"obs-studio-events","status":"publish","type":"page","link":"https:\/\/devicejockey.de\/?page_id=2655","title":{"rendered":"OBS Studio Events"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text el_class=&#8221;welcomebox&#8221;]<\/p>\n<h1>OBS Studio Events<\/h1>\n<p>Reflect the status of your OBS Studio on your DeviceJockey panels.<br \/>\nMake buttons light up when scenes are active, let volume controls follow and let labels show the status of your CPU or the length of a clip.[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;far fa-hand-point-up&#8221;]The DeviceJokey receives two different types of events from OBS Studio.<br \/>\n<strong>OBS Events<\/strong> and<strong> OBS Request Responses<\/strong>.[\/vc_message][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h2>OBS Events<\/h2>\n<p>Sent when states change in OBS Studio.<br \/>\nThis can be, for example, changing a scene or changing an audio level.<\/p>\n<h3>Caused by<\/h3>\n<p>The user in OBS Studio.<\/p>\n<h3>Usecase<\/h3>\n<p>DeviceJockey items that control and display the status in OBS Studio can be kept up to date with OBS Events.<\/p>\n<h3>Basic Form<\/h3>\n<p>[\/vc_column_text][vc_column_text el_class=&#8221;codebox&#8221;]<\/p>\n<pre>{\r\n  \"d\": {\r\n    \"eventData\":{\r\n      \"sceneName\" : \"Scene1\"\r\n    },\r\n    \"eventType\" : \"CurrentProgramSceneChanged\",\r\n  },\r\n  \"op\" : 5\r\n}<\/pre>\n<p>[\/vc_column_text][vc_column_text]<\/p>\n<h4>\u201ceventType\u201d<\/h4>\n<p>The event type, such as \u201cCurrentProgramSceneChanged\u201d after changing the scene in OBS Studio.<\/p>\n<h4>\u201ceventData\u201d<\/h4>\n<p>Data that describes the event in more detail.<br \/>\nFor example, \u201cCurrentProgramSceneChanged\u201d uses \u201csceneName\u201d to specify the scene that is now visible in OBS Studio.<\/p>\n<h4>&#8220;op&#8221;<\/h4>\n<p>Identifies the request (used for internal purpose).[\/vc_column_text][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h2>OBS Request Responses<\/h2>\n<p>Are sent after a status request.<br \/>\nThis can be, for example, a request about the current scene or the current level of an audio source.<\/p>\n<h3>Caused by<\/h3>\n<p>The DeviceJockey user sends a command to OBS Studio to request the status.<\/p>\n<h3>Usecase<\/h3>\n<p>After starting the connection to OBS Studio, DeviceJockey items that control and display the status in OBS Studio may not be up to date.<br \/>\nWith status requests to OBS Studio, items are be brought up to date using the coresponding OBS Request Responses.<\/p>\n<h3>Basic Form<\/h3>\n<p>[\/vc_column_text][vc_column_text el_class=&#8221;codebox&#8221;]<\/p>\n<pre>{\r\n  \"d\": {\r\n    \"requestType\": \"GetCurrentProgramScene\",\r\n    \"responseData: { \r\n      \"currentProgramSceneName\": \"Scene1\"\r\n    },\r\n  \"requestId\" : \"F718DA2E-0BA3-4271-B05D-983C0BB5709B\"\r\n  },\r\n  \"op\": 7\r\n}<\/pre>\n<p>[\/vc_column_text][vc_column_text]<\/p>\n<h4>\u201crequestType\u201d<\/h4>\n<p>The status request type.<br \/>\nFor example \u201cGetCurrentProgramScene\u201d to request the current scene in OBS Studio.<\/p>\n<h4>\u201cresponseData\u201d<\/h4>\n<p>Result of the status request, such as \u201ccurrentProgramSceneName\u201d as the name of the current scene in OBS Studio.<\/p>\n<h4>\u201crequestId\u201d<\/h4>\n<p>The value for the \u201crequestId\u201d attribute corresponds to the \u201crequestId\u201d of the command that was sent to OBS Studio for status request.<\/p>\n<h4>&#8220;op&#8221;<\/h4>\n<p>Identifies the request (used for internal purpose).[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h1>Add Events<\/h1>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h2>OBS Value\/Range\/Label<\/h2>\n<p>[\/vc_column_text][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Add OBS Value, Range or Label events to your items in DeviceJockey, to react to OBS Studio events.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2779&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>JSON<\/h3>\n<p>The JSON field has a key role.<br \/>\nIt is used to filter the incoming OBS events so that only the desired event remains and the item is updated.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2684&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Buffer<\/h3>\n<p>You can create your JSON from scratch or press the Buffer button to use the buffer.[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221;]The buffer stores the last 50 received events from OBS Studio.[\/vc_message][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2799&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner content_placement=&#8221;middle&#8221;][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Buffer Navigation<\/h3>\n<p>Use the plus or minus button to navigate through the buffer.<br \/>\nPress the bin to empty the buffer.[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;far fa-hand-point-up&#8221;]Control OBS Studio while viewing the buffer to fill it up with new events.[\/vc_message][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2800&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Format JSON<\/h3>\n<p>Use the brush to reformat your JSON.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2796&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Undo<\/h3>\n<p>Use undo to restore changes you have made.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2803&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>History<\/h3>\n<p>Tap the history to use JSON text you have entered before.<br \/>\nPress the history long to get a list off all entries in the history.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2797&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Textsize<\/h3>\n<p>Adjust the size of the text to your liking.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2891&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h1>Filter Rules<\/h1>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h3>Required Attributes<\/h3>\n<p>Each attribute specified in the JSON must be present in the incoming OBS Event or OBS Request Response and the value must be identical.<br \/>\nIf this is not the case, this OBS Event will not update the item.[\/vc_column_text][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h3>Ignored Attributes<\/h3>\n<p>On the other hand, attributes that only exist in the OBS Event or the OBS Request Response are ignored and do not prevent the item from being updated.[\/vc_column_text][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1703005440459{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221;][vc_column][vc_column_text]<\/p>\n<h3>Dynamic Attributes<\/h3>\n<p>Dynamic attributes are ignored during filtering so that OBS Studio is able to update the items with different values even though the value in the JSON does not match.<\/p>\n<h4>Dynamic value attribute<\/h4>\n<p>Used, for example, in items like slider, rotary or toggle.<br \/>\nSlider uses this attribute to update their slider position.<br \/>\nToggle uses it to set their on or off state.<\/p>\n<h4>Label attribute<\/h4>\n<p>Used in the label of items to update the text.[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h1>Examples<\/h1>\n<p>[\/vc_column_text][vc_row_inner][vc_column_inner width=&#8221;1\/3&#8243;][vc_column_text]<\/p>\n<h2><a href=\"#signalActiveScene\">Signal Active Scene<\/a><\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/3&#8243;][vc_column_text]<\/p>\n<h2><a href=\"#sliderFollowsVolume\">Slider Follows Volume<\/a><\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/3&#8243;][vc_column_text]<\/p>\n<h2><a href=\"#statusRequestOnPanelReady\">Status Request On Panel Ready<\/a><\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;far fa-hand-point-up&#8221;]<img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2660\" src=\"https:\/\/devicejockey.de\/wp-content\/uploads\/2024\/01\/Interfaces-on-off-button-green-150x150.jpeg\" alt=\"\" width=\"200\" height=\"162\" srcset=\"https:\/\/devicejockey.de\/wp-content\/uploads\/2024\/01\/Interfaces-on-off-button-green-300x242.jpeg 300w, https:\/\/devicejockey.de\/wp-content\/uploads\/2024\/01\/Interfaces-on-off-button-green.jpeg 339w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/p>\n<p>Be sure that the DeviceJockey is connected to OBS Studio.<br \/>\nThe on\/off button in the right top corner must light up in green.[\/vc_message][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1706928755774{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221; el_id=&#8221;signalActiveScene&#8221;][vc_column][vc_column_text]<\/p>\n<h2>Signal Active Scene<\/h2>\n<p>[\/vc_column_text][vc_single_image image=&#8221;2471&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Button<\/h3>\n<p>Create a new button on your panel.<\/p>\n<p>Then edit the button and add an &#8220;OBS Range&#8221; event to the light on\/off action.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2663&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Buffer<\/h3>\n<p>Tap the buffer button to show the buffer.<br \/>\nWhen the buffer is visible, the button lights up green and your JSON editing view appears grayed out.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2662&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Clear the buffer with a tap on the bin button.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2661&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Now select a scene in OBS Studio and look at the buffer.<br \/>\nIt has been filled up with events from OBS.<br \/>\nTap the plus and minus buttons to navigate through the buffer.<br \/>\nLook for the event that has an &#8220;eventType&#8221; attribute named &#8220;CurrentProgramSceneChanged&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2666&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Deselect the buffer with a tap on the buffer button.<br \/>\nThe JSON editing view should now be white again with the selected event shown.<br \/>\nThe buffer button appears blue.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2667&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Dynamic Value Attribute<\/h3>\n<p>Fill in the &#8220;Dynamic value attribute&#8221; field with &#8220;sceneName&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2674&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Or select &#8220;sceneName&#8221; in the JSON and select \u201cAttribute\u201d from the menu.<br \/>\nIf you don&#8217;t see the menu give the selected &#8220;sceneName&#8221; a short tap.<br \/>\nAfter you select &#8220;Attribute&#8221; the \u201csceneName\u201d is adopted into the &#8220;Dynamic value attribute&#8221; field.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2669&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Light on\/off<\/h3>\n<p>Fill in the &#8220;Light on&#8221; field with the scene name that should light up the button.<br \/>\nFill in the &#8220;Light off&#8221; field with the same scene name and prefix this name with an exclamation mark.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2670&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Value Type<\/h3>\n<p>Now select &#8220;String&#8221; as value type.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2668&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;fas fa-check&#8221;]Complete the editing using the check mark in the top right.<\/p>\n<p>Your button does now light up when you select the scene in OBS.<br \/>\nIf you select another scene, the light in the button turns off.<\/p>\n<p>[\/vc_message][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1706928781683{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221; el_id=&#8221;sliderFollowsVolume&#8221;][vc_column][vc_column_text]<\/p>\n<h2>Slider Follows Volume<\/h2>\n<p>[\/vc_column_text][vc_single_image image=&#8221;2487&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Slider\/Rotary<\/h3>\n<p>Create a new slider or rotary on your panel.<\/p>\n<p>Then edit the button and add an &#8220;OBS Range&#8221; event to the slider\/rotary action.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2663&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Buffer<\/h3>\n<p>Tap the buffer button to show the buffer.<br \/>\nWhen the buffer is visible, the button lights up green and your JSON editing view appears grayed out.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2662&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Clear the buffer with a tap on the bin button.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2661&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Now use the volume slider in OBS Studio you want to adopt to the slider in the DeviceJockey and look at the buffer.<br \/>\nIt has been filled up with events from OBS.<br \/>\nTap the plus and minus buttons to navigate through the buffer.<br \/>\nLook for the event that has an &#8220;eventType&#8221; attribute named &#8220;InputVolumeChanged&#8221;.<br \/>\nThe attribute &#8220;inputName&#8221; needs to have the name of your audio source.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2682&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Deselect the buffer with a tap on the buffer button.<br \/>\nThe JSON editing view should now be white again with the selected event shown.<br \/>\nThe buffer button appears blue.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2684&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Dynamic Value Attribute<\/h3>\n<p>Fill in the &#8220;Dynamic value attribute&#8221; field with &#8220;inputVolumeDb&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2689&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Or select &#8220;inputVolumeDb&#8221; in the JSON and select \u201cAttribute\u201d from the menu.<br \/>\nIf you don&#8217;t see the menu give the selected &#8220;inputVolumeDb&#8221; a short tap.<br \/>\nAfter you select &#8220;Attribute&#8221; the \u201cinputVolumeDb\u201d is adopted into the &#8220;Dynamic value attribute&#8221; field.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2692&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Slider Top\/Bottom<\/h3>\n<p>Fill in the &#8220;Slider top&#8221; field with 0.<br \/>\nFill in the &#8220;Slider bottom&#8221; field with -100.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2690&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Value Type<\/h3>\n<p>Now select &#8220;Float&#8221; as value type.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2691&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;fas fa-check&#8221;]Complete the editing using the check mark in the top right.<\/p>\n<p>Your slider\/rotary does now follow your volume slider in OBS.[\/vc_message][\/vc_column][\/vc_row][vc_row css=&#8221;.vc_custom_1706928803278{background-color: rgba(15,0,0,0.3) !important;*background-color: rgb(15,0,0) !important;}&#8221; el_class=&#8221;.grayBox&#8221; el_id=&#8221;statusRequestOnPanelReady&#8221;][vc_column][vc_column_text]<\/p>\n<h2>Status Request On Panel Ready<\/h2>\n<p>Make a label light up when the scene \u201cScene1\u201d is active in OBS Studio.<br \/>\nOtherwise the label should not light up.<br \/>\nSend the request for the status of the label after the panel has switched to live mode and the OBS interface has been connected to OBS Studio in DeviceJockey.[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221;]OBS Studio provides the \u201cGetCurrentProgramScene\u201d command to request the current scene.[\/vc_message][vc_column_text]<\/p>\n<h2>Request Status Command<\/h2>\n<p>[\/vc_column_text][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Button<\/h3>\n<p>Create a new button and name it &#8220;Status&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2846&#8243; img_size=&#8221;100&#8243;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Value Command<\/h3>\n<p>Add an \u201cOBS Value\u201d command to the tap action.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2597&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Template<\/h3>\n<p>Select \u201cGet current program scene\u201d from the templates.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2758&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Request Id<\/h3>\n<p>Change the value of the \u201crequestId\u201d attribute to \u201ccurrent.scene.request\u201d to be able to recognize the event later.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2759&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;fas fa-check&#8221;]Complete the creation of the command using the upper right checkmark and return to the panel.<\/p>\n<p>Execute the status request so that the event is generated by OBS Studio and received by the DeviceJockey.<br \/>\nTo do this, activate live mode and tap the \u201cStatus\u201d button once.<\/p>\n<p>Exit the live mode and turn back to edit mode.[\/vc_message][vc_column_text]<\/p>\n<h2>Request Response Event<\/h2>\n<p>[\/vc_column_text][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Label<\/h3>\n<p>Create a label and name it &#8220;Scene1&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2851&#8243; img_size=&#8221;300&#8243;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Range Event<\/h3>\n<p>Create an \u201cOBS Range\u201d event for the light on\/off action.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2765&#8243; img_size=&#8221;300&#8243;][vc_single_image image=&#8221;2855&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Read Buffer<\/h3>\n<p>Activate the buffer for the JSON and use the plus and minus keys to search for the entry that contains the value \u201ccurrent.scene.request\u201d as \u201crequestId\u201d.<\/p>\n<p>When the entry is displayed, you can deactivate the buffer.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2857&#8243; img_size=&#8221;300&#8243;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Dynamic Value Attribute<\/h3>\n<p>Fill in the &#8220;Dynamic value attribute&#8221; field with &#8220;currentProgramSceneName&#8221;.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2859&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]Or select &#8220;currentProgramSceneName&#8221; in the JSON and select \u201cAttribute\u201d from the menu.<br \/>\nIf you don&#8217;t see the menu give the selected &#8220;currentProgramSceneName&#8221; a short tap.<br \/>\nAfter you select &#8220;Attribute&#8221; the \u201ccurrentProgramSceneName\u201d is adopted into the &#8220;Dynamic value attribute&#8221; field.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2860&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Light on\/off<\/h3>\n<p>Fill in the &#8220;Light on&#8221; field with &#8220;Scene1&#8221; which should light up the label.<br \/>\nFill in the &#8220;Light off&#8221; field with &#8220;!Scene1&#8243;. Every other scene name should turn off the label light.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2863&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Value Type<\/h3>\n<p>Now select &#8220;String&#8221; as value type.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2866&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_column_text]<\/p>\n<h2>Testing Light Function<\/h2>\n<p>[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;fas fa-check&#8221;]Now activate live mode and select \u201cScene1\u201d in OBS Studio.<\/p>\n<p>Press the \u201cStatus\u201d button.<br \/>\nThe label should now light up.<\/p>\n<p>Choose a different Scene in OBS Studio.<\/p>\n<p>Press the button again.<br \/>\nThe light in the label should turn off.[\/vc_message][vc_column_text]<\/p>\n<h2>Panel Ready Event<\/h2>\n<p>What is still missing is the \u201cPanel ready\u201d system event in the \u201cStatus\u201d button.<br \/>\nIt is intended to ensure that the request command in the button is executed after you have switched your panel to live mode and the connection to OBS Studio is established.<\/p>\n<p>Go into edit mode and edit the button.[\/vc_column_text][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Panel Ready<\/h3>\n<p>Add the event called \u201cPanel ready\u201d to the Tap Action.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2870&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Remote Options<\/h3>\n<p>Then display the list of tap action commands.<\/p>\n<p>Select the request command to query the current scene and move it to the left.<br \/>\nSelect RemoteOptions.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2873&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>System Trigger<\/h3>\n<p>In the list, tick \u201cSystem trigger\u201d.<\/p>\n<p>Complete your entry using the checkmark at the top right.[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;2874&#8243; img_size=&#8221;&#8221;][vc_single_image image=&#8221;2875&#8243; img_size=&#8221;&#8221;][\/vc_column_inner][\/vc_row_inner][vc_column_text]<\/p>\n<h2>Final check<\/h2>\n<p>[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;fas fa-check&#8221;]In OBS Studio you select \u201cScene1\u201d as the current scene.<\/p>\n<p>Now start live mode.<\/p>\n<p>After live mode is started, your label lights up immediately.<\/p>\n<p>Change the scene in OBS Studio and press the \u201cStatus\u201d button once.<br \/>\nThe light in the label turns off.<\/p>\n<p>In DeviceJockey, switch to edit mode and back to live mode.<\/p>\n<p>This time the light in the label stays off.<br \/>\nEven if you tap the \u201cStatus\u201d button, the label remains off.[\/vc_message][\/vc_column][\/vc_row][vc_row layout=&#8221;layout_5&#8243; show_link=&#8221;n&#8221; link=&#8221;&#8221; apply_link=&#8221;icon&#8221; smooth_scroll=&#8221;n&#8221; dt_title=&#8221;&#8221; dt_text_title=&#8221;Download&#8221; heading_tag=&#8221;h4&#8243; dt_text_title_font_style=&#8221;:bold:&#8221; dt_text_title_font_size=&#8221;&#8221; dt_text_title_line_height=&#8221;&#8221; dt_text_custom_title_color=&#8221;&#8221; dt_text_title_bottom_margin=&#8221;0px&#8221; dt_text_desc=&#8221;&#8221; dt_text_content_font_style=&#8221;&#8221; dt_text_content_font_size=&#8221;&#8221; dt_text_content_line_height=&#8221;&#8221; dt_text_custom_content_color=&#8221;&#8221; dt_text_content_bottom_margin=&#8221;0px&#8221; show_btn=&#8221;y&#8221; button_text=&#8221;DJ Logic X Control&#8221; btn_size=&#8221;small&#8221; btn_width=&#8221;btn_auto_width&#8221; custom_btn_width=&#8221;200&#8243; btn_animation=&#8221;&#8221; icon_type=&#8221;none&#8221; icon=&#8221;&#8221; btn_icon_picker=&#8221;&#8221; icon_gap=&#8221;8px&#8221; icon_align=&#8221;left&#8221; font_size=&#8221;14px&#8221; icon_size=&#8221;11px&#8221; button_padding=&#8221;12px 18px 12px 18px&#8221; border_width=&#8221;0px&#8221; border_radius=&#8221;1px&#8221; btn_decoration=&#8221;none&#8221; text_color=&#8221;&#8221; default_btn_border=&#8221;y&#8221; default_btn_border_color=&#8221;&#8221; default_btn_bg=&#8221;y&#8221; default_btn_bg_color=&#8221;&#8221; default_btn_hover=&#8221;y&#8221; link_font_size=&#8221;14px&#8221; link_font_style=&#8221;:bold:&#8221; link_icon_size=&#8221;12px&#8221; link_padding=&#8221;4px 0px 4px 0px&#8221; link_text_color=&#8221;&#8221; link_hover=&#8221;n&#8221; link_text_hover_color=&#8221;&#8221; link_decoration=&#8221;upwards&#8221; link_border_width=&#8221;2px&#8221; link_border_color=&#8221;&#8221; text_hover_color=&#8221;&#8221; default_btn_border_hover=&#8221;y&#8221; default_btn_border_hover_color=&#8221;&#8221; default_btn_bg_hover=&#8221;y&#8221; bg_hover_color=&#8221;&#8221; show_icon=&#8221;y&#8221; icon_picker=&#8221;icomoon-the7-font-the7-more-00&#8243; dt_text_icon_size=&#8221;32px&#8221; dt_text_icon_bg_size=&#8221;60px&#8221; dt_text_icon_border_radius=&#8221;200px&#8221; dt_text_icon_border_width=&#8221;2px&#8221; icon_border_style=&#8221;solid&#8221; dt_text_icon_paddings=&#8221;0px 0px 0px 0px&#8221; dt_text_icon_color=&#8221;#ffffff&#8221; dt_icon_border=&#8221;n&#8221; dt_text_icon_border_color=&#8221;&#8221; dt_icon_bg=&#8221;y&#8221; dt_text_icon_bg_color=&#8221;&#8221; dt_icon_hover=&#8221;n&#8221; dt_icon_color_hover=&#8221;rgba(255,255,255,1)&#8221; dt_icon_border_hover=&#8221;n&#8221; dt_icon_border_color_hover=&#8221;&#8221; dt_icon_bg_hover=&#8221;y&#8221; dt_icon_bg_color_hover=&#8221;&#8221; icon_animation=&#8221;none&#8221; dt_text_icon_title=&#8221;&#8221; dt_title_btn=&#8221;&#8221; link_general_settings=&#8221;&#8221; link_normal_settings=&#8221;&#8221; link_hover_settings=&#8221;&#8221; link_underline_settings=&#8221;&#8221; dt_title_icon=&#8221;&#8221; css_dt_carousel=&#8221;&#8221;][vc_column width=&#8221;1\/3&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon {\n  width: 60px;\n  height: 60px;\n  line-height: 60px;\n  font-size: 32px;\n  border-radius: 200px;\n  margin: 0px 0px 0px 0px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon .icon-inner {\n  min-width: 60px;\n  min-height: 60px;\n  border-radius: 200px;\n}\n@media all and (-ms-high-contrast: none) {\n  .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon .icon-inner {\n    height: 60px;\n  }\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon .dt-hover-icon {\n  line-height: 60px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon:before,\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon:after,\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon .icon-inner:before,\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon .icon-inner:after {\n  min-width: 100%;\n  min-height: 100%;\n  padding: inherit;\n  border-radius: inherit;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-on:before {\n  border-width: 2px;\n  border-style: solid;\n}\n.dt-icon-border-dashed.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.dt-icon-border-dotted.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.dt-icon-border-double.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-dashed.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-dotted.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-double.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-border-on:after {\n  border-width: 2px;\n  border-style: solid;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-dashed.dt-icon-hover-border-on:after {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-dotted.dt-icon-hover-border-on:after {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-border-double.dt-icon-hover-border-on:after {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:hover {\n  font-size: 32px;\n}\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:hover .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:hover .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-bg-on .icon-inner:after,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-bg-on .icon-inner:after {\n  background: #81d742;\n}\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-off .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-off .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-off .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .text-icon.dt-icon-hover-off .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2.layout-1 {\n  grid-template-columns: 60px minmax(0,1fr);\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2.layout-2 {\n  grid-template-columns: minmax(0,1fr) 60px;\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2.layout-2 .text-icon {\n  margin-left: 0;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2.layout-3 {\n  grid-template-columns: 60px minmax(0,1fr);\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2.layout-3 .dt-text-title {\n  margin-left: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .dt-text-title,\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .dt-text-title a {\n  font-weight: bold;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .dt-text-title {\n  margin-bottom: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-0281d1006bad437315bca804294bb7d2 .dt-text-desc {\n  margin-bottom: 0px;\n}<\/style><div class=\"icon-with-text-shortcode  icon-text-id-0281d1006bad437315bca804294bb7d2 layout-5  \" ><a class=\"block-link anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2581\" title=\"OBS Studio Commands\"><\/a><a href=\"https:\/\/devicejockey.de\/?page_id=2581\" title=\"OBS Studio Commands\" class=\"anchor-link text-icon dt-icon-bg-on dt-icon-hover-on dt-icon-hover-bg-on\"><span class=\"icon-inner\"><i class=\"dt-regular-icon soc-icon Defaults-info\"><\/i><i class=\"dt-hover-icon soc-icon Defaults-info\"><\/i><\/span><\/a><h4 class=\"dt-text-title anchor-link\"><a class=\"anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2581\" title=\"OBS Studio Commands\">Commands<\/a><\/h4><div class=\"dt-text-desc\">Learn more about OBS Commands<\/div><\/div>[\/vc_column][vc_column width=&#8221;1\/3&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon {\n  width: 60px;\n  height: 60px;\n  line-height: 60px;\n  font-size: 32px;\n  border-radius: 200px;\n  margin: 0px 0px 0px 0px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon .icon-inner {\n  min-width: 60px;\n  min-height: 60px;\n  border-radius: 200px;\n}\n@media all and (-ms-high-contrast: none) {\n  .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon .icon-inner {\n    height: 60px;\n  }\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon .dt-hover-icon {\n  line-height: 60px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon:before,\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon:after,\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon .icon-inner:before,\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon .icon-inner:after {\n  min-width: 100%;\n  min-height: 100%;\n  padding: inherit;\n  border-radius: inherit;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-on:before {\n  border-width: 2px;\n  border-style: solid;\n}\n.dt-icon-border-dashed.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.dt-icon-border-dotted.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.dt-icon-border-double.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-dashed.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-dotted.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-double.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-border-on:after {\n  border-width: 2px;\n  border-style: solid;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-dashed.dt-icon-hover-border-on:after {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-dotted.dt-icon-hover-border-on:after {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-border-double.dt-icon-hover-border-on:after {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:hover {\n  font-size: 32px;\n}\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:hover .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:hover .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-bg-on .icon-inner:after,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-bg-on .icon-inner:after {\n  background: #81d742;\n}\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-off .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-off .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-off .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .text-icon.dt-icon-hover-off .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f.layout-1 {\n  grid-template-columns: 60px minmax(0,1fr);\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f.layout-2 {\n  grid-template-columns: minmax(0,1fr) 60px;\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f.layout-2 .text-icon {\n  margin-left: 0;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f.layout-3 {\n  grid-template-columns: 60px minmax(0,1fr);\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f.layout-3 .dt-text-title {\n  margin-left: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .dt-text-title,\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .dt-text-title a {\n  font-weight: bold;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .dt-text-title {\n  margin-bottom: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-e4827bd53135994ee72acf21fa6bd53f .dt-text-desc {\n  margin-bottom: 0px;\n}<\/style><div class=\"icon-with-text-shortcode  icon-text-id-e4827bd53135994ee72acf21fa6bd53f layout-5  \" ><a class=\"block-link anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2648\" title=\"OBS Studio Commands\"><\/a><a href=\"https:\/\/devicejockey.de\/?page_id=2648\" title=\"OBS Studio Commands\" class=\"anchor-link text-icon dt-icon-bg-on dt-icon-hover-on dt-icon-hover-bg-on\"><span class=\"icon-inner\"><i class=\"dt-regular-icon soc-icon Defaults-info\"><\/i><i class=\"dt-hover-icon soc-icon Defaults-info\"><\/i><\/span><\/a><h4 class=\"dt-text-title anchor-link\"><a class=\"anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2648\" title=\"OBS Studio Commands\">Downloads<\/a><\/h4><div class=\"dt-text-desc\">Download example scenes<\/div><\/div>[\/vc_column][vc_column width=&#8221;1\/3&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon {\n  width: 60px;\n  height: 60px;\n  line-height: 60px;\n  font-size: 32px;\n  border-radius: 200px;\n  margin: 0px 0px 0px 0px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon .icon-inner {\n  min-width: 60px;\n  min-height: 60px;\n  border-radius: 200px;\n}\n@media all and (-ms-high-contrast: none) {\n  .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon .icon-inner {\n    height: 60px;\n  }\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon .dt-hover-icon {\n  line-height: 60px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon:before,\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon:after,\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon .icon-inner:before,\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon .icon-inner:after {\n  min-width: 100%;\n  min-height: 100%;\n  padding: inherit;\n  border-radius: inherit;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-on:before {\n  border-width: 2px;\n  border-style: solid;\n}\n.dt-icon-border-dashed.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.dt-icon-border-dotted.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.dt-icon-border-double.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-dashed.dt-icon-border-on:before {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-dotted.dt-icon-border-on:before {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-double.dt-icon-border-on:before {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-border-on:after {\n  border-width: 2px;\n  border-style: solid;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-dashed.dt-icon-hover-border-on:after {\n  border-style: dashed;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-dotted.dt-icon-hover-border-on:after {\n  border-style: dotted;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-border-double.dt-icon-hover-border-on:after {\n  border-style: double;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:hover {\n  font-size: 32px;\n}\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:hover .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:hover .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:hover .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-bg-on .icon-inner:after,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-bg-on .icon-inner:after {\n  background: #81d742;\n}\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:not(:hover) .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-on:not(:hover) .soc-icon,\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-off .soc-font-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-off .soc-font-icon,\n#page .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-off .soc-icon,\n#phantom .icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .text-icon.dt-icon-hover-off .soc-icon {\n  color: #ffffff;\n  background: none;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7.layout-1 {\n  grid-template-columns: 60px minmax(0,1fr);\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7.layout-2 {\n  grid-template-columns: minmax(0,1fr) 60px;\n  grid-column-gap: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7.layout-2 .text-icon {\n  margin-left: 0;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7.layout-3 {\n  grid-template-columns: 60px minmax(0,1fr);\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7.layout-3 .dt-text-title {\n  margin-left: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .dt-text-title,\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .dt-text-title a {\n  font-weight: bold;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .dt-text-title {\n  margin-bottom: 0px;\n}\n.icon-with-text-shortcode.icon-text-id-bc586e5a997c0d4232d546630ba73df7 .dt-text-desc {\n  margin-bottom: 0px;\n}<\/style><div class=\"icon-with-text-shortcode  icon-text-id-bc586e5a997c0d4232d546630ba73df7 layout-5  \" ><a class=\"block-link anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2298\" title=\"OBS Studio Commands\"><\/a><a href=\"https:\/\/devicejockey.de\/?page_id=2298\" title=\"OBS Studio Commands\" class=\"anchor-link text-icon dt-icon-bg-on dt-icon-hover-on dt-icon-hover-bg-on\"><span class=\"icon-inner\"><i class=\"dt-regular-icon soc-icon Defaults-info\"><\/i><i class=\"dt-hover-icon soc-icon Defaults-info\"><\/i><\/span><\/a><h4 class=\"dt-text-title anchor-link\"><a class=\"anchor-link\"  href=\"https:\/\/devicejockey.de\/?page_id=2298\" title=\"OBS Studio Commands\">Overview<\/a><\/h4><\/div>[\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text el_class=&#8221;welcomebox&#8221;] OBS Studio Events Reflect the status of your OBS Studio on your DeviceJockey panels. Make buttons light up when scenes are active, let volume controls follow and let labels show the status of your CPU or the length of a clip.[\/vc_column_text][vc_message message_box_color=&#8221;success&#8221; icon_fontawesome=&#8221;far fa-hand-point-up&#8221;]The DeviceJokey receives two different types of events from OBS&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2208,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2655","page","type-page","status-publish","hentry","description-off"],"_links":{"self":[{"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/pages\/2655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devicejockey.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2655"}],"version-history":[{"count":97,"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/pages\/2655\/revisions"}],"predecessor-version":[{"id":3237,"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/pages\/2655\/revisions\/3237"}],"up":[{"embeddable":true,"href":"https:\/\/devicejockey.de\/index.php?rest_route=\/wp\/v2\/pages\/2208"}],"wp:attachment":[{"href":"https:\/\/devicejockey.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}