(Get subscription list (embedded database))
(Subscribe to DG1HT talking group)
Line 131: Line 131:
 
   me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater off'
 
   me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater off'
 
#                                                |- Context UUID                  -|
 
#                                                |- Context UUID                  -|
</pre>
 
 
==== Subscribe to DG1HT talking group ====
 
 
<pre>
 
dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
 
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'subscribe 1 262'
 
#                                                |- Context UUID                  -|              Slot-|  |-Group ID
 
 
dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
 
me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'transmit configuration'
 
#                                              |- Context UUID                  -|
 
 
</pre>
 
</pre>
  

Revision as of 23:05, 22 January 2021

  • Interface name: me.burnaway.BrandMeister
  • Service path: /me/burnaway/BrandMeister
  • Service name: me.burnaway.BrandMeister.N<Network ID>


List of methods

  • getContextList
  • getContextData
  • removeContext
  • invokeCommand
  • dropCallRoute
  • setStoredValue
  • getStoredValue
  • getStationData
  • getRepeaterData
  • getTerminalData
  • setSpecificValue
  • getDiagnosticData
  • getLockInformation
  • getSubscriptionList
  • getObjectInformation
  • getSystemInformation
  • publishExternalEvent

Full list and descriptions can be retrieved using D-BUS Introspection

Examples

Keep in mind these examples are for master id 2501 if used please change N2501 to NXXX for you master.

Command line

Connect to C-Bridge

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'CBridge CC-CC Link' string:'connect 87.106.84.53'
#                                                                                    |-C-Bridge Address

Connect to D-STAR D-Extra reflector

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'D-Extra Link' string:'connect 250 D XRF250 D xrf250.dstar.su'
#                                                                      Group ID-|  | |-XRF--| |-XRF Address-|
#                                                                     Local Module-+

Connect to WIRES-X Room

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'WIRES-X Link' string:'connect 250 44.11.22.33'
#                                                                       Talkgoup-| |-room

Connect to YSF Reflector

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'YSF Client' string:'connect 250 44.11.22.33 42000'
#                                                                     Group ID-| |-Address   |-Port

Register RP2C gateway

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'RP2C Link' string:'register 2509 gate.dstar.su'
#                                                                    Network ID-| |-Gateway Address

Get list of contexts

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList

  Optional parameters:
    #1 (optional) string:<name> - specific name
    #1 (optional) uint32:<mask> - specific type, where bit 0 - applications, bit 1 - repeaters, bit 2 - networks
    #2 (optional) uint32:<number> - identifier of link

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList uint32:2
  
dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList uint32:2 uint32:250301

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList string:'XLX Interlink'

Get context information

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextData string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                 |- Context UUID                   -|

Get repeater information

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getRepeaterData string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                  |- Context UUID                   -|

Clear repeater alarms (IP Site Connect)

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'clear alarms'
#                                                |- Context UUID                   -|

Turn repeating on (IP Site Connect)

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater on'
#                                                |- Context UUID                   -|

Turn repeating off (IP Site Connect)

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater off'
#                                                |- Context UUID                   -|

Connect to DG1HT DMR reflector

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.setSpecificValue string:'15bb100a-a08e-11e4-9ef2-52540089c90b' uint32:19 uint32:4016
#                                                   |- Context UUID                   -|                    |- Reflector ID

Subscribe to C-Bridge talking group

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'subscribe 1 1'
#                                                |- Context UUID                   -|            Link ID-| |-Group ID

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'transmit configuration'
#                                                |- Context UUID                   -|

Remove context (disconnect from server / repeater)

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.removeContext string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                |- Context UUID                   -|

Drop call route

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.dropCallRoute string:'15bb100a-a08e-11e4-9ef2-52540089c90b' uint32:1
#                                                |- Context UUID                   -|   Slot -|

Please note: this method can be applied to channels having channel lock such as repeaters, SmartPTT, etc.

Get subscription list (embedded database)

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getSubscriptionList string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                      |- Context UUID                   -|

List contains four numbers per record:

  • slot number
  • call type (e.g. 5 - private voice call, 7 - group voice call)
  • destination ID
  • tag (least significant 32-bits)

Publish (handle) external event

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.publishExternalEvent string:'configuration changed'

PHP

<syntaxhighlight lang="php"> <?php

 $array = array();
 $connection = new DBus(DBus::BUS_SYSTEM, true);
 $proxy = $connection->createProxy("me.burnaway.BrandMeister.N2501", "/me/burnaway/BrandMeister", "me.burnaway.BrandMeister");
 $result = $proxy->getContextList();
 if ((is_object($result)) &&
     (get_class($result) == "DbusArray"))
 {
   $list = $result->getData();
   foreach ($list as $banner)
   {
     $result = $proxy->getContextData($banner);
     if ((is_object($result)) &&
         (get_class($result) == "DbusSet"))
     {
       $set = $result->getData();
       $values = $set[6]->getData();
       $address = $set[4];
       $array[] = array(
         "banner" => $set[0],
         "name" => $set[1],
         "type" => $set[2],
         "number" => $set[3],
         "state" => $set[5],
         "values" => $values);
     }
   }
 }
 $data = json_encode($array);
 if (array_key_exists("callback", $_GET))
 {
   header("Content-Type: application/javascript");
   print($_GET["callback"] . "(" . $data . ")");
 }
 else
 {
   header("Content-Type: application/json");
   print($data);
 }

?> </syntaxhighlight>


List of methods[edit]

Full list and descriptions can be retrieved using D-BUS Introspection

Examples[edit]

Keep in mind these examples are for master id 2501 if used please change N2501 to NXXX for you master.

Command line[edit]

Connect to C-Bridge[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'CBridge CC-CC Link' string:'connect 87.106.84.53'
#                                                                                    |-C-Bridge Address

Connect to D-STAR D-Extra reflector[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'D-Extra Link' string:'connect 250 D XRF250 D xrf250.dstar.su'
#                                                                      Group ID-|  | |-XRF--| |-XRF Address-|
#                                                                     Local Module-+

Connect to WIRES-X Room[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'WIRES-X Link' string:'connect 250 44.11.22.33'
#                                                                       Talkgoup-| |-room

Connect to YSF Reflector[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'YSF Client' string:'connect 250 44.11.22.33 42000'
#                                                                     Group ID-| |-Address   |-Port

Register RP2C gateway[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'RP2C Link' string:'register 2509 gate.dstar.su'
#                                                                    Network ID-| |-Gateway Address

Get list of contexts[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList

  Optional parameters:
    #1 (optional) string:<name> - specific name
    #1 (optional) uint32:<mask> - specific type, where bit 0 - applications, bit 1 - repeaters, bit 2 - networks
    #2 (optional) uint32:<number> - identifier of link

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList uint32:2
  
dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList uint32:2 uint32:250301

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextList string:'XLX Interlink'

Get context information[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getContextData string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                 |- Context UUID                   -|

Get repeater information[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getRepeaterData string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                  |- Context UUID                   -|

Clear repeater alarms (IP Site Connect)[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'clear alarms'
#                                                |- Context UUID                   -|

Turn repeating on (IP Site Connect)[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater on'
#                                                |- Context UUID                   -|

Turn repeating off (IP Site Connect)[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'turn repeater off'
#                                                |- Context UUID                   -|

Subscribe to DG1HT talking group[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'subscribe 1 262'
#                                                |- Context UUID                   -|               Slot-|  |-Group ID

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'transmit configuration'
#                                              |- Context UUID                   -|

Connect to DG1HT DMR reflector[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.setSpecificValue string:'15bb100a-a08e-11e4-9ef2-52540089c90b' uint32:19 uint32:4016
#                                                   |- Context UUID                   -|                    |- Reflector ID

Subscribe to C-Bridge talking group[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'subscribe 1 1'
#                                                |- Context UUID                   -|            Link ID-| |-Group ID

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.invokeCommand string:'15bb100a-a08e-11e4-9ef2-52540089c90b' string:'transmit configuration'
#                                                |- Context UUID                   -|

Remove context (disconnect from server / repeater)[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.removeContext string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                |- Context UUID                   -|

Drop call route[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.dropCallRoute string:'15bb100a-a08e-11e4-9ef2-52540089c90b' uint32:1
#                                                |- Context UUID                   -|   Slot -|

Please note: this method can be applied to channels having channel lock such as repeaters, SmartPTT, etc.

Get subscription list (embedded database)[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.getSubscriptionList string:'15bb100a-a08e-11e4-9ef2-52540089c90b'
#                                                      |- Context UUID                   -|

List contains four numbers per record:

Publish (handle) external event[edit]

dbus-send --system --dest=me.burnaway.BrandMeister.N2501 --type=method_call --print-reply /me/burnaway/BrandMeister \
  me.burnaway.BrandMeister.publishExternalEvent string:'configuration changed'

PHP[edit]

<syntaxhighlight lang="php"> <?php

 $array = array();
 $connection = new DBus(DBus::BUS_SYSTEM, true);
 $proxy = $connection->createProxy("me.burnaway.BrandMeister.N2501", "/me/burnaway/BrandMeister", "me.burnaway.BrandMeister");
 $result = $proxy->getContextList();
 if ((is_object($result)) &&
     (get_class($result) == "DbusArray"))
 {
   $list = $result->getData();
   foreach ($list as $banner)
   {
     $result = $proxy->getContextData($banner);
     if ((is_object($result)) &&
         (get_class($result) == "DbusSet"))
     {
       $set = $result->getData();
       $values = $set[6]->getData();
       $address = $set[4];
       $array[] = array(
         "banner" => $set[0],
         "name" => $set[1],
         "type" => $set[2],
         "number" => $set[3],
         "state" => $set[5],
         "values" => $values);
     }
   }
 }
 $data = json_encode($array);
 if (array_key_exists("callback", $_GET))
 {
   header("Content-Type: application/javascript");
   print($_GET["callback"] . "(" . $data . ")");
 }
 else
 {
   header("Content-Type: application/json");
   print($data);
 }

?> </syntaxhighlight>